Commit Graph

245 Commits

Author SHA1 Message Date
gad
97fb9983b4 Fix potential problem processing jobs from hosts with >32 character hostnames.
This may fix a problem reported by Juha Ylitalo <juha.o.ylitalo@nokia.com>
2000-11-05 03:24:26 +00:00
gad
7debc4c274 Fix 'lprm' processing so is more likely to work correctly when dealing
with long (>32 character) hostnames.

PR:		14978
Submitted by:	Tatsuya Kudoh <cdr@cosmonet.org>
2000-11-05 03:21:57 +00:00
gad
1b125af7f8 In the error-message routine for receiving a job, move the "cleanup" to be
after the error message is printed, because the error message may refer to
variables the "cleanup" routine will zero out.

PR:		21007
2000-11-05 02:24:20 +00:00
gad
0d4950603e This update gets it so 'lpr -r' ("remove the file after printing") will
try to move the file from the source to the destination (spool) directory.
If that succeeds, much time and disk-space will be saved by doing that
instead of copying the entire file only to remove the original.  This
could be a big win on machines doing samba-service or CAP-based printing.

Note that this is about the fourth or fifth iteration of the patch, after
trying to address all possible security implications of the change.

PR:		16124
Reviewed by:	freebsd-current or freebsd-hackers (some time ago)
2000-11-03 03:29:01 +00:00
gad
cc698a11ac Implement new printcap options of sr= (aka stat.recv) and sr= (aka stat.send)
in lpd.  Stat.recv is useful on a printserver, as something of a network
performance-monitoring tool.  Stat.send is a minimal accounting record of
sorts for jobs going to tcp/ip based printers.

Reviewed by:	freebsd-print@bostonradio.org
2000-11-02 19:22:06 +00:00
gad
8439699cca Change 'lpr' so -C (class) information is included in the control file
even for jobs or queues which will not print header (separator) pages.

Submitted by:	"Steve O'Hara-Smith" <steveo@eircom.net>
2000-11-01 01:48:06 +00:00
gad
39de4067ae Make the standard 'lpq' output a little more informative when listing jobs
which have long names.  Instead of just listing '...', try to list some
reasonable subset of the name (with a "..." to indicate something missing).

Reviewed by:	freebsd-print@bostonradio.org (only a little review)
2000-10-31 20:11:30 +00:00
gad
da976a02d2 Fix 'lpq' so it can correctly display jobs which come from hosts using
'lprNG' (which writes control-lines in a different order than our lpr).

Reviewed by:	freebsd-print@bostonradio.org
2000-10-31 19:57:07 +00:00
gad
bd3cb54e6c Change my email on MAINTAINER from an RPI address to my FreeBSD address. 2000-10-30 01:09:32 +00:00
wollman
3ebe63e327 Fix cosmetic error in rmjob message.
PR:		21006
2000-09-27 19:23:15 +00:00
wollman
b8ec81dfe3 Set SO_REUSEADDR so that lpd can start while old lpd connections are still
winding down (or timing out).  Also, be slightly more informative in
mcleanup() about why lpd is exiting.

PR:		21595
2000-09-27 19:03:05 +00:00
alfred
702a9ba819 the code assumes that getgroups() always returns NGROUPS groups, however
that is not true.  Instead of looping NGROUPS times, get the return value
from getgroups() and loop over the return that many times.

Noticed by: David A. Holland <dholland@eecs.harvard.edu>
2000-08-23 23:36:32 +00:00
wollman
fd23748f37 Admin some amount of responsibility for the current state of lpr/lpd.
Also add Garance Drosihn who has been doing a great deal of work on
print systems.
2000-07-15 02:43:02 +00:00
mph
13b4933d9e Quit on EOF from terminal instead of redisplaying the prompt. 2000-06-30 20:05:21 +00:00
wollman
485e9cac6a Fix description of -i' and -w' options.
Fix spelling of `TeX'.
Move historical formats into a separate list, to make thier cruftiness
clear.
2000-06-27 20:21:56 +00:00
sheldonh
0e384f31f6 Allow Nm to expand gracefully instead of hard-coding an argument. 2000-06-22 10:00:19 +00:00
wollman
dc44bff816 Allow those of us who have to print through LPRng spoolers to send
spooler options using `Z' control-file lines and the `-Z' flag.
2000-06-21 20:20:26 +00:00
jake
961b97d434 Back out the previous change to the queue(3) interface.
It was not discussed and should probably not happen.

Requested by:		msmith and others
2000-05-26 02:09:24 +00:00
mpp
2541e16d9e Remove the lpr/runqueue directory and associated files.
These are not used anymore and are outdated and only cause
confusion (I just committed a fix to one of these files within
the last hour, thinking it was still valid).
2000-05-24 13:05:50 +00:00
mpp
58f40f38fd Re-implement my fix from rev 1.6 (same rev for both files being committed)
that was lost during the lite-2 merge.  From the original commit message:

Initialize the group list so that any filter programs that are
run by lpd are not run with root's groups.
2000-05-24 11:38:50 +00:00
jake
d93fbc9916 Change the way that the queue(3) structures are declared; don't assume that
the type argument to *_HEAD and *_ENTRY is a struct.

Suggested by:	phk
Reviewed by:	phk
Approved by:	mdodd
2000-05-23 20:41:01 +00:00
imp
bd4cadff71 This appears to have been repo-copied to lpd a while ago and never
deleted here.  Diff shows there is only one change to this file, which
matches the repo histories.
2000-05-09 19:41:18 +00:00
wollman
d504a441ec Print files submitted at the same instant in deterministic order.
PR:		18361
Submitted by:	Garance A Drosehn <gad@freefour.acs.rpi.edu>
2000-05-03 14:56:20 +00:00
sheldonh
409bbf8060 Add -p option to prevent lpd(8) from opening a listening socket.
PR:		17384
Submitted by:	Niels Endres <niels@b5.nu>
2000-03-29 11:15:54 +00:00
sheldonh
0710390844 Remove blanks lines, replacing them with Pp macros where appropriate. 2000-03-08 10:13:50 +00:00
sheldonh
339a4fa1b7 Add missing description for the dummy -o option. 2000-03-08 10:06:27 +00:00
sheldonh
cf878fa1e0 Add a dummy -s option for SUSv2 compatibility.
PR:		17256
Reported by:	Brooks Davis <brooks@one-eyed-alien.net>
Approved by:	jkh (release engineer)
2000-03-08 10:02:11 +00:00
sheldonh
b2240fc1c0 Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 14:09:25 +00:00
dillon
fa7831db8f Type-o, change from[...] = 0 to fromb[...] = 0. The incorrect buffer
was having its last element zero'd.  It turns out not to be a security
    hole or to have any real effect on the code because 'from' was previously
    pointing to a buffer of the same size as 'fromb', and the last
    element in fromb is already 0 anyway due to the use of sizeof(fromb)-1
    in the strncpy() call.  But I'm not pressing my luck so only the type-o
    is being fixed.
2000-01-25 01:51:21 +00:00
dillon
1a88679ae1 'start' command was not reenabling printing.
PR: bin/15728
2000-01-24 23:30:38 +00:00
joe
34f25d6907 It's not been possible to configure a print server running lpd,
with remote hosts feeding it, so that some hosts have their header
pages supressed and some don't.  This is because lpd doesn't know
how to rewrite a print job before forwarding it to a remote lpd.
In particular this causes problems with p rinters that contain
their own lpd, eg. HP jet direct cards, because they can't suppress
headers.  It's not possible to have headers supressed by putting
'sh' in any printcap in the lpd chain, it is up to the originating
lpr to have a '-h' option specified at run time.

Lpr has been modified to allow _it_ to honour the 'sh' flag in the
local print cap.  This allows the administrator to switch off
headers for a particular printer (on a particular host) irrespective
of whether that printer is local to the machine or remote.

This doesn't break anything, because in the case of a remote printer
the 'sh' flag would have had no meaning, in the case of the local
printer it would have been on anyway.

Submitted by:	Scott James Remnant <scott@pavilion.net>
2000-01-19 14:25:08 +00:00
ache
7fecd49945 Add support for pr's locale 1999-11-30 16:15:22 +00:00
ache
f06ea789bb moved to koi2alt 1999-09-23 02:54:44 +00:00
ache
992505f055 Add koi2855 filter
Repository move koi2alt.c -> koi2alt/koi2alt.c required
1999-09-21 20:42:10 +00:00
phantom
353c1a6746 Correct spelling : ascii -> ASCII
PR:		docs/13702
Submitted by:	Stephen J. Roznowski <sjr@home.com>
Reviewed by:	mpp
1999-09-20 09:15:23 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
mdodd
650bfbaefb Fix some cut and paste damage.
Noticed by: Norman C. Rice <nrice@emu.sourcee.com>
1999-08-20 07:14:46 +00:00
mdodd
add3f6325f What the heck was I thinking? Nobody else saw this? Sheesh.
(num > MAX) ? MAX : num

rather than

(MAX > num) ? MAX : num

Also, make things a little easier to read while I'm here.
1999-08-20 01:24:35 +00:00
mdodd
1e31ba6301 Use el_source() so we pick up .editrc 1999-08-19 04:10:33 +00:00
mdodd
fb1440bad5 Add support for command line editing and history.
Remove src/contrib/bind/bin/nslookup/commands.c as it is generated by lex
from commands.l.

Submitted by: lpc/cdcontrol patches originally by msmith.
Reviewed by: msmith (in theory)
1999-08-19 03:29:15 +00:00
nik
559bbb333e Add $Id$, to make it simpler for members of the translation teams to
track.

The Id line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

     .\"    $Id$
     .\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by:            bde
1999-07-12 20:12:29 +00:00
jkh
aba5e776bb lpd tries to be clever and checks if RM == my_hostname.
However, it doesn't check if the remote printer name it
is sending it to is the same as the local printer name,
and so chokes 'cos "laser" is not a real printer.

PR:		7081
Submitted by:	David Malone <dwmalone@maths.tcd.ie>
1999-04-27 07:09:18 +00:00
wollman
fabccb3cbd Sigh. Fix capitalization bogon. Who had the pointy hat? 1999-02-02 01:04:51 +00:00
wollman
dbe2de7c7a Observe -U flag again, and use it in preference to getlogin(), if
the user is privileged.

I believe this should address both concerns in PR 9729, and may also
provide the desired behavior from PR 9485.
1999-02-01 19:53:08 +00:00
imp
0d8d1147d6 Change my mind on using base '0' for strtol for -i and -# operations
as this would change the meaning of -#050 in preexisting scripts.
1999-01-06 08:33:38 +00:00
imp
64f85516ac Add sanity checking to argument for -# and -i. Require these
arguments to be numbers.  Also use '0' base to allow hex, octal or
decimal numbers.

This was done by me based on ideas in pr 3556, submitted by Uwe
Laubenstein and commented upon by j@uriah.heep.sax.de (J Wunsch).

PR: 3556
1999-01-06 08:25:56 +00:00
obrien
0337d32241 Remove useless `BINOWN=root' now that it is the default. 1998-09-19 22:42:14 +00:00
wollman
aac5469d30 Fix additional warnings. Remove -Werror, since some people have complained
about it.

PR:		7886
Submitted by:	Stefan Eggers <seggers@semyam.dinoco.de> (partially)
1998-09-11 18:49:33 +00:00
brian
a86d1d56c1 Fix ``lp=port@machine'' syntax and mention it in printcap(5). 1998-08-21 18:08:46 +00:00
jb
27f4579e07 Remove -Werror from CFLAGS on i386 because with -nostdinc gcc spits
warnings from unused static inline functions in headers if you happen
to set CFLAGS without -O.
1998-06-11 03:53:23 +00:00
phk
7a64d46ca3 Spelling fixes.
PR:		6903
Reviewed by:	phk
Submitted by:	Josh Gilliam <josh@quick.net>
1998-06-10 12:34:27 +00:00
jb
d6619f7b2b The printf type checking in gcc wants %qd to be a long long, so add
a cast in case off_t is not a long long (as on alpha).
1998-05-13 06:52:08 +00:00
jb
12412f8127 Make -Werror i386 specific because -nostinc on alpha spits warnings
for unused static inline functions in header files.
1998-05-13 06:50:09 +00:00
obrien
af5311ec6f Make ``-h'' follow the manpage, and suppress the burst page reguardless of
the number of ``-h'' given.
1998-04-17 17:25:49 +00:00
charnier
6e321f37d4 .Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq. 1998-03-23 08:31:20 +00:00
jb
57958943e6 Cast an argument to int for a printf field width the way that gcc
prefers it. This source is compiled with -Werror so the slightest
warning is enough to ruin my day.
1998-03-22 20:19:27 +00:00
bde
2f15ee6724 Use foo/bar.a' instead of -Lfoo -lbar' for linking to static internal
libraries so that `ld -f' in can create correct dependencies for
yet-to-be-built libraries.

Get the default BINDIR correctly (by including ../Makefile.inc recursively.
Override the default it it is wrong.

Don't override defaults when the defaults are correct.
1998-03-07 09:48:14 +00:00
ache
7631a418b9 Add DESTDIR to afterinstall
Submitted by: jhay
1998-02-24 10:24:22 +00:00
ache
4062b72b6c Oops, back out DESTDIR addition, handled automatically by bsd.prog.mk 1998-02-24 10:15:33 +00:00
ache
d7649e6694 Add missing DESTDIR 1998-02-23 09:15:01 +00:00
wollman
5d47725872 Install printcap.5 from here. 1998-02-04 15:59:10 +00:00
ache
db44e17ea5 Add comment describing settings
Use 66 lines on the page
1998-02-04 13:03:57 +00:00
ache
9f7f3c2529 Add Russian printer filters, mandatory because hardware code page 866
is different with KOI8-R
1998-02-04 12:00:46 +00:00
wollman
28b1a9b739 Properly initialize the printer struct.
PR: bin/5519
1998-01-20 14:43:05 +00:00
wollman
1d8e4e768a Fix top-of-form bogon. 1997-12-27 20:49:39 +00:00
wollman
7c7c2d2637 Add -Wno-unused so that ``make world'' can complete successfully.
GCC suppresses the warning for ``standard'' header files, but since the
headers do not come from the ``standard'' place in a ``make world'', GCC
doesn't get it.
1997-12-17 19:38:33 +00:00
bde
95d8dee8a0 Fixed DPADD. 1997-12-16 17:53:39 +00:00
jdp
5ec301cdc6 Fix incorrect format string in call to errx(). 1997-12-06 17:55:07 +00:00
jdp
a6916dfaa9 Add missing argument to warn() call. 1997-12-06 05:37:18 +00:00
wollman
22ba0d8b90 Document the new long names for printcap capabilities. 1997-12-02 21:41:40 +00:00
wollman
bf21e6b4e0 Mega lpd/lpd upgrade, part I:
- Get rid of a lot of the static variables which were shared by
  many routines and programs in the suite.
- Create an abstract interface to the printcap database, so that
  other retrieval and iteration mechanisms could be developed
  (e.g., YP, Hesiod, or automatic retrieval from a trusted server).
- Give each capability a human-readable name in addition to the historic
  two-character one.
- Otherwise generally clean up a lot of dark corners.  Many still remain.
- When submitting jobs, use the official login name record (from getlogin())
  if there is one, rather than reverse-mapping the uid.

More to come...
1997-12-02 20:46:22 +00:00
joerg
557fc1ddef Argl! Who's got the pointy hat these days? Hand it over to me, ASAP!
When setting an alarm that didn't trigger, i gotta clear it again
before going on.  Hmpf!
1997-11-07 13:18:50 +00:00
joerg
213e132f58 One could be surprised how much bugs can still be found here...
Properlay clean the global RM variable if cgetstr() failed for it.
Otherwise, a connection attempt to a remote machine was made (and a
bogus result code printed) if a local printer followed a remote one in
printcap, and you did a `lpq -a', since checkremote() falsely assumed
the printer to be a remote one.

While i was at it, removed a gratuituous newline printed in front of
the remote machine's name, thus making the output more consistent (and
better machine-parseable) now.
1997-10-15 12:16:37 +00:00
joerg
fef7c77457 Improve my hack from rev 1.6 of displayq.c, and make the TCP
connection timeout controllable by a new printcap(5) capability named
`ct' (connectiom timeout), defaulting to 120 seconds (which is the
default TCP connection timeout).

Would anybody see a problem with merging all this into RELENG_2_2?
1997-10-14 16:01:02 +00:00
imp
580b436a25 Be more paranoid about unlinking files. From mhpower@MIT.EDU by way of
Theo de Raadt.

Likely 2.2.5R candidate.
Obtained from: OpenBSD
1997-10-06 03:58:48 +00:00
charnier
49a43f1c40 Use err(3). Add usage(). Various fixes in man pages. 1997-09-24 06:48:24 +00:00
charnier
1754071cd4 environmental -> environment. 1997-09-18 06:55:21 +00:00
joerg
92b95fa771 common_source: staticize private version of warn() so to not conflict
with libc's version.

lpd: use getopt(3), err(3), add usage(), allow specification of a port #
on the command line as the documentation suggested for more than 10 years.

PR:		docs/3290
1997-08-23 15:53:00 +00:00
imp
2f9d4f2411 Two minor, pedantic fixes from bde for my last pedantic fixes, plus
the following from recent OpenBSD changes.  These changes (and all
I've made) should be merged back into 2.2 when they are vetted in
-current.

common.c:
OpenBSD 1.7: mickey: #if __STDC__ --> #ifdef __STDC__

displayq.c:
OpenBSD 1.8: deraadt: 1 byte oflows; millert

rmjob.c:
OpenBSD 1.8: deraadt: 1 byte oflows; millert

cmds.c:
OpenBSD 1.9: grr: restore traditional "all" keyword option - see lpc(8)
[[ This makes lpc status all work again -- imp ]]

printjob.c:
OpenBSD 1.17: deraadt: use sendmail -t
OpenBSD 1.16: mickey: #if __STDC__ --> #ifdef __STDC__
OpenBSD 1.15: deraadt: 1 byte oflow; Don.Lewis@tsc.tdk.com

recvjob.c:
OpenBSD 1.11: mickey: #if __STDC__ --> #ifdef __STDC__

lpr.c:
OpenBSD 1.19: mickey: #if __STDC__ --> #ifdef __STDC__

Obtained from: OpenBSD
1997-07-29 13:24:01 +00:00
imp
b1debf973d Fix boatloads of buffer overflows from the OpenBSD tree.
Be pedantic about always using sizeof(blah) vs sizeof (blah) or sizeof blah.
Obtained from:OpenBSD
1997-07-29 04:17:19 +00:00
imp
181a3aef05 index -> strchr and rindex -> strrchr to reduce the number of gratuitous
diffes with NetBSD/OpenBSD.  These changes seem to predate the NetBSD/OpenBSD
split, so it is hard to give proper credit for them.
Obtained from: OpenBSD.
1997-07-23 20:53:41 +00:00
imp
f080009db5 Use setuid/seteuid around dangerous operations. Also a few buffer
overflow patches that were "near" to where these operations are taking
place.  The buffer overflows are from OpenBSD.  The setuid/seteuid patches
are from NetBSD by way of OpenBSD (they changed them a little), at least from
my read of the tree.

This is the first of a series of OpenBSD lpr/et al merges.  It (and them)
should be merged back into 2.2 and/or 2.1 (if requested) branches when they
have been shaken out in -current.
Obtained from: OpenBSD
1997-07-23 00:49:46 +00:00
brian
547bc537a0 Output name of duplicate spool dir.
Submitted by:	Wayne Scott <wscott@ichips.intel.com>
1997-07-21 22:40:04 +00:00
imp
dd1f7b6438 Add code to make sure that we don't overflow the buffer that we copy
the hostname into.  In theory the bind library should do this, but
in practice the limites between system defines and bind defines make
an attack using this vector possible.  These patches have been in
use on my systems for three months now, so I am fairly confident about
them.  I plan on commiting this to 2.2 and 2.1 in the near future,
as well as many other patches of this nature.
1997-07-18 18:52:53 +00:00
imp
78429cea51 Fix a problem where remote files could be removed by exploiting race
conditions similar to those reported in CERT's CA-91:10a advisory.
Obtained from: Hiroshi NAKANO <nakano@rins.ryukoku.ac.jp> by way of CERT.
1997-07-18 18:33:15 +00:00
phk
31e6d3aa83 Increase size of tmp hostname buffer.
PR:		3889
Reviewed by:	phk
Submitted by:	Yujiro MIYATA <miyata@bioele.nuee.nagoya-u.ac.jp>
1997-07-16 11:22:57 +00:00
dima
8efa570208 Fixed buffer overflow.
Reviewed by:	Warner
1997-07-08 21:03:16 +00:00
joerg
9289d9c498 Imply a 10-second connection timeout when querying remote queues, to
prevent lpq from hanging indefinately (well, 10 minutes are for sure
counting as `indefinately' in this case).
1997-06-23 10:00:01 +00:00
joerg
90a0066a3f Fix a typo, so the -a option will by documented in the synopsis. 1997-06-21 09:17:45 +00:00
brian
3a163bace7 Check for duplicate spool dirs.
Submitted by:	eivind
1997-05-17 03:04:43 +00:00
brian
dc36a1d5ad Don't output extraneous tab
Submitted by:	Garance A Drosehn <gad@eclipse.its.rpi.edu>
1997-05-13 20:52:31 +00:00
brian
e3f3db531c Don't drop into the troff args after parsing -#.
Submitted by:	 Garance A Drosehn <gad@eclipse.its.rpi.edu>
1997-05-13 20:46:45 +00:00
joerg
f8b5f0d7e6 Kill a stale .pq line. 1997-05-08 15:31:39 +00:00
brian
9f048c7bd9 Support input and output filters with remote printing.
Output filters are executed on a per-file basis as it's
necessary to supply the file size to the "other side".
1997-04-12 04:23:13 +00:00
imp
691010efad compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-31 05:11:47 +00:00
mpp
1cccbbea72 Fix an off by one error when determing the default job name for
the banner page.

Closes PR# 1986.

Submitted by:	Mark Valentine <mark@linus.demon.co.uk>
1997-02-26 02:22:45 +00:00
peter
b782f4df30 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00
peter
d69a45675f Revert $FreeBSD$ back to $Id$ 1997-02-22 13:26:29 +00:00
imp
43dee6a14e Buffer overflow from OpenBSD:
Rev 1.4 deraadt: (partial from full commit, other files not done yet)
	proactive bounds checking; help from millert
Rev 1.5 millert:
	Possible buf oflow.

Plus minor style nits to keep the style police happy (I hope)
Obtained from: OpenBSD
1997-02-09 05:19:03 +00:00
imp
0bd4c187ac Buffer overflow from OpenBSD:
Rev 1.7 millert:
	possible oflow
Obtained from: OpenBSD
1997-02-09 05:04:17 +00:00
wosch
3c5e4a3bbe Sort cross references. 1997-01-20 00:03:00 +00:00
jkh
808a36ef65 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
wosch
aba55faa0d Sort cross references. 1996-12-26 02:02:31 +00:00
phk
177b1ceb35 doc/1987, table heading in error.
Submitted by:	Mark Valentine Mark Valentine <mark@linus.demon.co.uk>
1996-11-12 13:37:51 +00:00
imp
354a4db3b5 lpc/cmds.c:
From NetBSD via OpenBSD to fix NetBSD PR #506
	More descriptive message for printer status
	(OpenBSD: 1.2)

	Various warnings cleaned up (OpenBSD: 1.4)

lpc/lpc.c:
	Various warnings cleaned up (OpenBSD: 1.3)

lpd/lpd.c:
	Remove trailing blank lines (OpenBSD: 1.2)

	Potential umask problem with creating /dev/printer
	(OpenBSD: 1.4 and 1.5)

	Ftp bounce attack (untested on FreeBSD)
	(OpenBSD: 1.6, 1.8, 1.9)
	Fencepost in strncpy
	(OpenBSD: 1.6)

lpd/printjob.c:
	Fix from freebsd for waiting for an exiting filter, that
	appears not in the FreeBSD CVS tree.
	(OpenBSD: 1.6)

lpd/recvjob.c:
	Buffer overflow protection: use strncpy rather than strcpy.
	(OpenBSD: 1.3)

lpr/lpr.c:
	NetBSD change of return type for main()
	(OpenBSD: 1.2)

	Restrict time running as root
	(OpenBSD: 1.7)

	Use getcwd rather than getwd (from NetBSD)

	Use snprintf rather than sprintf
	(OpenBSD: 1.8)

	Minor tweak to end of loop and buffer overflow sanity.  card()
	overflow already in FreeBSD
	(OpenBSD: 1.9)

lptest/lptest.c:
	void -> int return type of main, from NetBSD via OpenBSD
	(OpenBSD: 1.2)

pac/pac.c:
	void -> int return type of main, from NetBSD via OpenBSD
	(OpenBSD: 1.3)

Obtained from: OpenBSD
1996-10-27 03:06:52 +00:00
imp
a5f434cb1c Fix transcription error I introduced in last patch. This created a
fencepost error that would run one off the end of the buffer.

Noticed by: Bruce Evans
1996-10-26 00:46:34 +00:00
imp
96b7b01c64 Fix a problem where the command line could be used to overflow a stack
buffer which could be made to lead to a root shell.  This patch is
OpenBSD's solution to the problem, and will silently truncate the
output rather than overflow the buffer.

Obtained from: OpenBSD
1996-10-25 18:14:48 +00:00
bde
b8b5ca9390 Close files up to getdtablesize(), instead of up to NOFILE.
lpd was one of 3 programs in /usr/src that (mis)used NOFILE.
1996-09-29 19:12:55 +00:00
alex
5306d9c9d6 "appeared in 4.2BSD.." changed to "appeared in 4.2BSD." 1996-07-27 01:20:00 +00:00
joerg
252afb2d7b Correct the Unix programmer's error #1: "char c = getc();".
Closes PR # bin/1386: lpf Text Filter does not w...

Submitted by:	andreas@marvin.RoBIN.de
1996-07-17 20:14:42 +00:00
wosch
7957d43260 People ask in Usenet, how to configure remoteprinting successfully
having a hosts.lpd(5) manpage and some references to it from
within lpd(8) might help here. Close PR docs/1277

Submitted by: andreas@knobel.gun.de (Andreas Klemm)
1996-06-01 23:22:36 +00:00
joerg
dc312961c4 Convert the option parser to use getopt(3). This makes it more
orthogonal with the rest of the system (you can now use either -PPS or
-P PS), and makes the parser more intelligible.  The only drawback is
that the old semantics for the -i flag in case a non-numeric argument
is following are no longer fully supported (only if -i is the very
last arg at all), since getopt(3) doesn't support the discticnction
between numeric and non-numeric arguments.

Make lpr also understand dashes as input pseudo filenames.  This
finally makes lp(1) fully comply with Posix.2.
1996-05-11 19:00:55 +00:00
joerg
68cc4ca2e1 Clean out the BUGS section/comments now that our lpr has a better
option parsing.
1996-05-11 18:56:11 +00:00
joerg
23a9b3568d Cleanup.
The removed files are no longer needed, they are actually labelled as
``Use only if you are not 4.4BSD''.  (Yeah, the ol' crufty printcap.c
is really gone!)

Properly declare all external objects in files ending in .h, as
opposed to embed them into files ending in .c.
1996-05-09 22:44:28 +00:00
joerg
914cbcef2c Pull a bunch of fixes from the 4.4BSD-Lite2 branch. It's really
surprising how many trivial errors there have been... :-)

Some more cleanup is needed, but i'd like to separate the Lite2 changes
from other work, that's why this goes into a different commit.

People with serial printers should see whether i have broken the stty-
style printcap options (i hope not).

Inspired by: Sergey Shkonda <serg@bcs1.bcs.zaporizhzhe.ua>
1996-05-05 22:40:51 +00:00
joerg
f53c8a2ec7 Fix my botched 4.4Lite2 import, and revert these files to their HEAD
versions.
1996-05-05 19:28:34 +00:00
joerg
bfed4e31e9 This commit was generated by cvs2svn to compensate for changes in r15637,
which included commits to RCS files with non-trunk default branches.
1996-05-05 14:04:33 +00:00
joerg
0291e848bc Vendor-branch import of the 4.4BSD-Lite2 code for lpr. There are
several bugfixes in it that are worth considering.

Don't be alarmed about the import conflicts...

Obtained from: 4.4BSD-Lite2
1996-05-05 14:04:33 +00:00
mpp
3c57dc7753 Correct some man page xrefs, and some other minor changes to bring some
man pages up to mdoc guidelines and fix some minor formatting glitches.
Also fixed a number of man pages to not abuse the .Xr macro to
display functions and path names and a lot of other junk.
1996-04-08 04:18:31 +00:00
mpp
9fcf3504c2 Correct some cross references and some path names. 1996-04-06 09:47:30 +00:00
sef
504f00946f Makefile: Add new modes.c file to list of objects.
printjob.c:  Use termios instead of sgtty structs and ioctls; remove
support for fs/fc/xs/xc capabilities, and replace them with the ms
capability (stty-like words, instead of octal bit patterns).
modes.c:  Modified from stty's file, parses comma-seperated list of
tty modes (e.g., "cs8,-paren,-opost").

Reviewed by:	rgrimes, joerg
1996-04-03 22:49:15 +00:00
sef
ad452f9a80 Remove definitions and declarations for FS, FC, XS, XC variables, and
replace them with MS char* variable.

Reviewed by:	rgrimes, joerg
1996-04-03 22:46:59 +00:00
sef
98628b2561 printcap.5: Remove fs,fc,xs,xc capability, and replace them with the ms
capability

Reviewed by:	rgrimes, joerg
1996-04-03 22:46:17 +00:00
mpp
3aeb7f1d49 Correct a bunch of man page cross references and generally
try and silence "manck".

ncurses, rpc, and some of the gnu stuff are still a big mess, however.
1996-02-11 22:38:05 +00:00
joerg
955a49a837 Mention a bug in lpd that causes a core dump if a request is made for
a file format where no filter is assigned.

Pointed out by: Richard_Pontefract@vos.stratus.com
1996-01-07 15:49:15 +00:00
jkh
721965d1d6 Fix a longstanding bug in `lpr -r'. I used alloca() instead of
malloc(), but the change is fundamentally Chris's.
Submitted by:	Chris Stenton <jacs@gnome.co.uk>
1995-10-05 22:41:02 +00:00
mpp
2f44cdc7e1 Initialize the group list so that any filter programs that are
run by lpd are not run with root's groups.
1995-09-02 17:53:14 +00:00
joerg
c3ad48e529 Remove the comment about the broken getopts(1) in our /bin/sh. 1995-08-06 19:39:38 +00:00
wpaul
8169a9d300 The other day someone brought me an old Apple Laserwriter II with a serial
interface set at 57600 baud, and I found out the hard way that lpd doesn't
know about speeds greater than 38400, even though <sys/ttydev.h> also
permits 57600 and 115200 baud. Fix this by adding B57600 and B115200 to the
'bauds' table. (The Apple printer worked properly once I did this, BTW. :)
1995-07-31 13:59:45 +00:00
bde
f5284ed86d Change install' to ${INSTALL}' so that default install flags can be
specified in the top level Makefiles.
1995-07-25 00:37:58 +00:00
torstenb
175ddbc728 lpr uses access(2) to determine if the parent directory of the file
is writeable (by the real uid). if it is, lpr assumes that the file
can be unlinked. lpr does not check for directories with S_ISVTX set

Reviewed by:	dima
1995-07-17 21:19:09 +00:00
peter
8ae5004138 pac had a grudge against usernames starting with 't', because of a typo.
Reviewed by:
Submitted by:	Kenji Tomita
Obtained from:
1995-07-17 13:14:01 +00:00
rgrimes
4f960dd75f Remove trailing whitespace. 1995-05-30 03:57:47 +00:00
jkh
dcf608f1a5 Close PR:
>Number:         368
>Category:       bin
>Synopsis:       Lpd doesn't log errors after failed exec
>Description:

If an exec done by lpd fails, nothing is sent to the system log
indicating what went wrong.  This is because lpd closes all of
the file descriptors before doing the exec, thus closing the syslog
file descriptor in the process.
[Fix applied]
Submitted by:	pritc003@maroon.tc.umn.edu
1995-04-27 04:56:10 +00:00
ache
236229be67 Add missing ${.CURDIR} 1995-01-24 08:30:13 +00:00
joerg
5eddfb68a1 Implementing the "lp" command.
This command is required to exist in terms of compatibility with the
Posix 1003.2 specification.  It actually invokes the lpr service with
the proper options.
1995-01-23 19:22:43 +00:00
joerg
574153b9bc Add "lp" to list of subdirs. 1995-01-23 19:17:22 +00:00
joerg
3fcd556a98 Use the "-F" option to /bin/pr now that we have it (thanks to Posix).
This helps for printers that tend to get out of sync.  (For the
cautious folks: we used to have it in 1.1.5, too.  But GNU pr used
"-f" for it.)
1995-01-08 18:01:11 +00:00
ats
eef17cc760 Submitted by: Ollivier ROBERT
Wrong description where the printer socket lives. Changed from /dev/printer
to /var/run/printer. Bug report submitted by Ollivier ROBERT.
1995-01-04 22:55:00 +00:00
ats
6051697fc2 Fixed a typo: /usr/sbin/lpd* to /usr/sbin/lpd as the name of the daemon. 1994-12-11 00:02:22 +00:00
wollman
d7fca5c189 Get rid of update. Make man page installation work with our scheme
(and rename a few in the process).
1994-08-05 16:31:05 +00:00
rgrimes
bf96214f30 BSD 4.4 Lite Share Sources 1994-05-30 19:09:18 +00:00
rgrimes
862fdf11a2 BSD 4.4 Lite usr.sbin Sources 1994-05-26 05:23:31 +00:00
rgrimes
0882205071 This commit was generated by cvs2svn to compensate for changes in r1553,
which included commits to RCS files with non-trunk default branches.
1994-05-26 05:23:31 +00:00
rgrimes
5d98a33b2f BSD 4.4 Lite usr.sbin Sources 1994-05-26 05:23:31 +00:00