Commit Graph

95 Commits

Author SHA1 Message Date
Warner Losh
d583a7c3cb 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
Warner Losh
87751a8467 Buffer overflow from OpenBSD:
Rev 1.7 millert:
	possible oflow
Obtained from: OpenBSD
1997-02-09 05:04:17 +00:00
Wolfram Schneider
bfd34a4a60 Sort cross references. 1997-01-20 00:03:00 +00:00
Jordan K. Hubbard
1130b656e5 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
Wolfram Schneider
c69a537c8f Sort cross references. 1996-12-26 02:02:31 +00:00
Poul-Henning Kamp
7132822bb1 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
Warner Losh
bc407914f9 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
Warner Losh
d1f8ff8c2e 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
Warner Losh
4f6653b930 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
Bruce Evans
3b72a1cdd4 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
Alexander Langer
59a727f3c5 "appeared in 4.2BSD.." changed to "appeared in 4.2BSD." 1996-07-27 01:20:00 +00:00
Joerg Wunsch
35ab66af3b 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
Wolfram Schneider
35da4f43ae 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 Wunsch
afc417e07b 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 Wunsch
7e703be7cd Clean out the BUGS section/comments now that our lpr has a better
option parsing.
1996-05-11 18:56:11 +00:00
Joerg Wunsch
7f72cbbae9 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 Wunsch
5458e2f421 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 Wunsch
4ebd2ee491 Fix my botched 4.4Lite2 import, and revert these files to their HEAD
versions.
1996-05-05 19:28:34 +00:00
Joerg Wunsch
f519e3067e 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 Wunsch
0b561052df 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
Mike Pritchard
edf0e5b3f8 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
Mike Pritchard
e229ffb7e9 Correct some cross references and some path names. 1996-04-06 09:47:30 +00:00
Sean Eric Fagan
e0048e9658 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
Sean Eric Fagan
a1e5d6f458 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
Sean Eric Fagan
21b2a25cfb 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
Mike Pritchard
78b0b234eb 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 Wunsch
ac4b78d280 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
Jordan K. Hubbard
edab52dda7 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
Mike Pritchard
b406e662aa 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 Wunsch
b21c8dbe0e Remove the comment about the broken getopts(1) in our /bin/sh. 1995-08-06 19:39:38 +00:00
Bill Paul
cca80d1fd8 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
Bruce Evans
9c0dc173cc 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
Torsten Blum
e162d528d0 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 Wemm
6689ae4b04 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
Rodney W. Grimes
709e8f9ae1 Remove trailing whitespace. 1995-05-30 03:57:47 +00:00
Jordan K. Hubbard
9d69574dbc 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
Andrey A. Chernov
0a1c0d9ae8 Add missing ${.CURDIR} 1995-01-24 08:30:13 +00:00
Joerg Wunsch
e3fa32b485 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 Wunsch
bba63893e5 Add "lp" to list of subdirs. 1995-01-23 19:17:22 +00:00
Joerg Wunsch
931e501097 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
Andreas Schulz
86c7d89044 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
Andreas Schulz
ea7f90817d Fixed a typo: /usr/sbin/lpd* to /usr/sbin/lpd as the name of the daemon. 1994-12-11 00:02:22 +00:00
Garrett Wollman
84e59eb50d 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
Rodney W. Grimes
afe61c1516 BSD 4.4 Lite Share Sources 1994-05-30 19:09:18 +00:00
Rodney W. Grimes
dea673e932 BSD 4.4 Lite usr.sbin Sources 1994-05-26 05:23:31 +00:00