History log of /freebsd-10.0-release/usr.sbin/lpr/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
259065 07-Dec-2013 gjb

- Copy stable/10 (r259064) to releng/10.0 as part of the
10.0-RELEASE cycle.
- Update __FreeBSD_version [1]
- Set branch name to -RC1

[1] 10.0-CURRENT __FreeBSD_version value ended at '55', so
start releng/10.0 at '100' so the branch is started with
a value ending in zero.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


251044 27-May-2013 gad

Change the closeallfds() routine to use closefrom() when it is
available (closefrom() was added to FreeBSD in 8.0-release).
The selection is made at compile-time, as I still compile a
FreeBSD-based version of lpr&friends on other platforms.

While testing I out that (at least on my system) lpd has been
closing 11095 fd's, when there are only 6 fd's open. The old
code took 120 times more clocktime than calling closefrom().
(although that was still less than 2/1000-ths of a second!)

Reviewed by: jilles
MFC after: 2 weeks


242091 25-Oct-2012 ed

Let lpr build with -Wmissing-variable-declarations.

Mark variables static where possible and place the uid/euid variables in
lp.h, so that we can compile-time enforce that these variables have the
same type.


242005 24-Oct-2012 eadler

PRIV_START and PRIV_END were reversed.

Submitted by: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
Approved by: secteam (simon)
MFC after: 3 days


241852 22-Oct-2012 eadler

Check the return error of set[ug]id. While this can never fail in the
current version of FreeBSD, this isn't guarenteed by the API. Custom
security modules, or future implementations of the setuid and setgid
may fail.

PR: bin/172289
PR: bin/172290
PR: bin/172291
Submittud by: Erik Cederstrand <erik@cederstrand.dk>
Discussed by: freebsd-security
Approved by: cperciva
MFC after: 1 week


241015 27-Sep-2012 mdf

Fix usr.bin/ and usr.sbin/ build with a 64-bit ino_t.

Original code by: Gleb Kurtsou


240351 11-Sep-2012 kevlo

Remove unused values


239233 13-Aug-2012 wblock

Correct description of minfree to kilobytes rather than blocks.

PR: 125921
Submitted by: Andre Albsmeier <Andre.Albsmeier@siemens.com>
MFC after: 3 days


238547 17-Jul-2012 jh

Make sure that arraysz is initialized to a value larger than zero.
arraysz could get initialized to zero on ZFS because ZFS reports
directory sizes differently compared to UFS.

PR: bin/169493
Tested by: swills
MFC after: 2 weeks


238546 17-Jul-2012 jh

Remove trailing whitespace.

MFC after: 2 weeks


236289 30-May-2012 eadler

Relax security permissions on '.seq' file creation - the strict,
but odd permissions resulted in a security alert from 110.neggrpperm

PR: kern/165533
Submitted by: Anton Shterenlikht <mexas@bristol.ac.uk>
Submitted by: J B <jb.1234abcd@gmail.com>
Approved by: cperciva
MFC after: 1 week


235647 19-May-2012 gleb

Hide DIR definition by making it an opaque struct typedef.

Introduce dirfd() libc exported symbol replacing macro with same name,
preserve _dirfd() macro for internal use.

Replace dirp->dd_fd with dirfd() call. Avoid using dirfd as variable
name to prevent shadowing global symbol.

Sponsored by: Google Summer Of Code 2011


234826 30-Apr-2012 gad

Print out a warning message if a `lpc setstatus' is done when
the queue is not 'lpc stop'-ed. In that situation `lpq' will
not display the status message to the user, and the operator
may think the queue is already stopped when it is not.

MFC after: 3 weeks


234824 30-Apr-2012 gad

Catch the user-error when no queue name was specified on an
lpc-command which supports '-msg' (e.g.: setstatus). Print
out a helpful error message instead hitting a seg-fault.

MFC after: 3 weeks


234244 13-Apr-2012 delphij

The scandir(3) function expects fourth parameter, compar, be in type of:

int (*compar)(const struct dirent **, const struct dirent **)

The current code defines sortq() to accept two void *, then cast them
to const struct dirent **. Because the code does not really need this
cast, we can eliminate the casts by changing the function prototype
to match scandir(3) expectation.

MFC after: 1 month


233510 26-Mar-2012 joel

mdoc: terminate quoted strings.

Reviewed by: brueffer


231723 15-Feb-2012 kevlo

- Remove some unnecessary cast when assigning NULL to a handle.
- Silent a warning


230044 13-Jan-2012 kevlo

fgets(3) returns a pointer, so compare against NULL, not integer 0.


228990 30-Dec-2011 uqs

Spelling fixes for usr.sbin/


228664 17-Dec-2011 dim

In usr.sbin/lpr/lpd/printjob.c, use the correct printf length modifiers
for off_t (aka int64_t).

MFC after: 1 week


228663 17-Dec-2011 dim

In usr.sbin/lpr/filters/lpf.c, use a less obtuse way of clearing the
buffer, that also avoids warnings.

MFC after: 1 week


220586 13-Apr-2011 gad

- Fix the code that matches userids in match_jobspec(). It needs to check
the username-for-accounting field (P), not the username-for-headerpage (L).
These are usually the same value, except that control files do not have
the username-for-headerpage field if the user has requested no header page.
- Also rename the cji_username field to cji_headruser, to make it clear that
the value should only be used for the header page. (aka banner page)

MFC after: 3 weeks


216372 11-Dec-2010 joel

Remove the advertising clause from UCB copyrighted files in usr.sbin. This
is in accordance with the information provided at
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change


216178 04-Dec-2010 uqs

Move most of the remaining USD/PSD/SMM papers into share/doc


214124 21-Oct-2010 edwin

Fix printing of files located on ZFS filesystem with an st_dev or
st_ino larger than 2**31.

From the PR:

Printing from a ZFS filesystem using 'lp' fails and returns an
email reporting "Your printer job was not printed because it was
not linked to the original file".

In order to protect against files being switched when files
are printed using 'lp' or 'lpr -s', the st_dev and st_ino
values for the original file are saved by lpr and verified
by lpd before the file is printed. Unfortunately, lpr prints
both values using '%d' (although both fields are unsigned)
and lpd(8) assumes a string of decimal digits.

ZFS (at least) generates st_dev values greater than 2^31-1,
resulting in negative values being printed - which lpd cannot
parse, leading it to report that the file has been switched.

A similar problem would occur with large inode numbers.

How-To-Repeat:

Find a file with either st_dev or st_ino greater than 2^31-1
(stat(1) will report both numbers) and print it with 'lpq -s'.
This should generate an email reporting that the file could
not be printed because it was not linked to the original file

PR: bin/151567
Submitted by: Peter Jeremy <Peter.Jeremy@alcatel-lucent.com>
MFC after: 1 week


213573 08-Oct-2010 uqs

mdoc: drop redundant .Pp and .LP calls

They have no effect when coming in pairs, or before .Bl/.Bd


211190 11-Aug-2010 gad

- Improve the wait4data() routine so it behaves better when checking
print-jobs which have last-modification times that are in the future.
This shouldn't happen, of course, but it can. And when it did happen,
the previous check could cause completely-spooled jobs to sit in the
queue for 20 minutes per job. The new code waits until the last-modify
time is not changing, instead of making decisions based on the specific
value of last-modify.

MFC after: 2 weeks


210933 06-Aug-2010 joel

Fix typos and spelling mistakes.


201512 04-Jan-2010 kib

Modernize scandir(3) and alphasort(3) interfaces according to the IEEE
Std 1003.1-2008. Both Linux and Solaris conforms to the new definitions,
so we better follow too (older glibc used old BSDish alphasort prototype
and corresponding type of the comparision function for scandir). While
there, change the definitions of the functions to ANSI C and fix several
style issues nearby.

Remove requirement for "sys/types.h" include for functions from manpage.

POSIX also requires that alphasort(3) sorts as if strcoll(3) was used,
but leave the strcmp(3) call in the function for now.

Adapt in-tree callers of scandir(3) to new declaration. The fact that
select_sections() from catman(1) could modify supplied struct dirent is
a bug.

PR: standards/142255
MFC after: 2 weeks


201390 02-Jan-2010 ed

The last big commit: let usr.sbin/ use WARNS=6 by default.


197625 29-Sep-2009 jilles

Fix using lp(1) without the new -t option after r194171.

PR: standards/129554
Tested by: Steve Kargl
MFC after: 1 week


194859 24-Jun-2009 gad

Fix end-of-line issues that can come up when `lpq' reads information
about a queue from a remote host. That remote host may use \r, \r\n,
or \n\r as the line-ending character. In some cases the remote host
will write a single line of information without *any* EOL sequence.

Translate all the non-unix EOL's to the standard newline, and make
sure the final line includes a terminating newline. Logic is also
added to translate all unprintable characters to '?', but that is
#if-ed out for now.

PR: bin/104731
MFC after: 3 weeks


194494 19-Jun-2009 brooks

In preparation for raising NGROUPS and NGROUPS_MAX, change base
system callers of getgroups(), getgrouplist(), and setgroups() to
allocate buffers dynamically. Specifically, allocate a buffer of size
sysconf(_SC_NGROUPS_MAX)+1 (+2 in a few cases to allow for overflow).

This (or similar gymnastics) is required for the code to actually follow
the POSIX.1-2008 specification where {NGROUPS_MAX} may differ at runtime
and where getgroups may return {NGROUPS_MAX}+1 results on systems like
FreeBSD which include the primary group.

In id(1), don't pointlessly add the primary group to the list of all
groups, it is always the first result from getgroups(). In principle
the old code was more portable, but this was only done in one of the two
places where getgroups() was called to the overall effect was pointless.

Document the actual POSIX requirements in the getgroups(2) and
setgroups(2) manpages. We do not yet support a dynamic NGROUPS, but we
may in the future.

MFC after: 2 weeks


194171 14-Jun-2009 brian

Add -m and -t options.

PR: 129554
Submitted by: gavin
MFC after: 3 weeks


182599 01-Sep-2008 ticso

use bigger local variable to calculate free space
int overflows at 1T free space


173412 07-Nov-2007 kevlo

Cleanup of userland __P use


167260 06-Mar-2007 kevlo

Use sizeof() for calculating the buffer size instead of hard-coded values.


160753 27-Jul-2006 yar

Obey MK_INET6_SUPPORT.


160147 07-Jul-2006 gad

Fix checking of the "lock" file in the spool directory for a queue,
so that the checking will wind up with the correct mode-bits in
the case where the initial open() of that lock file will create it.
Due to this bug, the first job ever sent to a queue could leave
that queue in a "printing is disabled" state.

PR: 93469
Submitted by: Michael Szklarski of kco.com.pl
MFC after: 1 week


156512 09-Mar-2006 gad

Rever the previous changes. It turns out that it perfectly correct
for a makefile to set 'NO_MAN=' when the makefile is for a program
that will not create a man page.

Based on reaction from: ru bde


156443 08-Mar-2006 gad

Switch these makefiles to use 'MAN=' to indicate they will not generate
a man page, instead of 'NO_MAN='. 'NO_MAN=' is something users would
set, not something a makefile should be using.

Based on comments by: des


151476 19-Oct-2005 stefanf

Use the new name H_SETSIZE instead of the old H_EVENT to set the history
size.

PR: 86355
Approved by: gad


147225 10-Jun-2005 des

Remove kludges intended to support src trees with partial obj trees.

Discussed with: ru


146188 13-May-2005 ume

NI_WITHSCOPEID cleanup

Reviewed by: gad


142199 22-Feb-2005 delphij

MFS5: Minor style(9) tweak.


141947 15-Feb-2005 delphij

Be more careful when doing el_parse() - only do it when el is
properly initialized, that happens when lpc is called from a tty.
Without this change, it's possible to get SIGSEGV simply doing:
echo "..:" | lpc

Reported by: Wojciech A. Koszek <dunstan at freebsd czest pl>
PR: 77462 (patch rewritten by myself)
MFC After: 1 week


141846 13-Feb-2005 ru

Expand *n't contractions.


140562 21-Jan-2005 ru

Fixed .Xr call.


140442 18-Jan-2005 ru

Sort sections.


139464 31-Dec-2004 gad

Fix so all parts of lpd, lpc, lpq, and lprm will use the same algorithm
for calculating the job number for a job based on the control-file name.
We might receive cf-files named by other implementations of lpr, where
the job number shown by lpq would not match the job number that other
commands expected for the same name.

This also uses a newer algorithm for determining a job number, to avoid
problems caused when a control-file is named using an IP address, instead
of the hostname.

This also moved the declaration if isowner() from lp.h to rmjob.c. When I
went to change the parameters, I noticed that rmjob.c was the only source
file which uses it.

MFC after: 2 weeks


139462 31-Dec-2004 gad

Do more extensive checking of the userid field which is read in from the
control-file for each print job. This is partially because the previous
checks still let through some characters which would cause trouble for
other applications which try to process the resulting userid -- such as
accounting programs.

But the main reason is to handle the case where some remote host sends a
print job where the given userid is an uppercase-version of the real userid.
For that case, lpd will now check for uppercase letters in the userid. If
there are any, it will check to see if the given userid (with the uppercase
letters) is a valid one. If it is *not* valid, then lpd will change the
userid to all-lowercase right when the job is received.

MFC after: 2 weeks


139103 21-Dec-2004 ru

Start the dreaded NOFOO -> NO_FOO conversion.

OK'ed by: core


139035 19-Dec-2004 gad

Call umask() before opening the lock-file for a queue, to make sure
the file will be created with the right access, if the call to open()
does create it. Also fix the other call to umask() to turn off
"write others", just as a matter of general safety.

PR: 74418
MFC after: 4 days


138939 17-Dec-2004 gad

When printing a data file received from some other host, check to make
sure the data file has been completely transfered before starting to
print it. This is needed because some implementations of lpr will send
the control-file for a print job before sending the matching data-files,
and that can cause problems if the receiving host is a busy print-server.

MFC after: 2 weeks


136910 24-Oct-2004 ru

For variables that are only checked with defined(), don't provide
any fake value.


135852 27-Sep-2004 phk

Stop on write error.


131531 03-Jul-2004 ru

Eliminated double whitespace.


131500 02-Jul-2004 ru

Mechanically kill hard sentence breaks.


131468 02-Jul-2004 ru

Fixed spelling of the document date.


130132 05-Jun-2004 ru

Removed redundant mdoc(7) macro calls.


126018 19-Feb-2004 kientzle

Clarify the "lp" description to mention port@host syntax.

Suggested by: NetBSD man page


121525 26-Oct-2003 peter

Fix a warning about mismatched pointers. A pointer to "void *" is not the
same as a pointer to "char *". Tell the compiler this is ok.


121065 13-Oct-2003 tjr

Fix two buffer overflows caused by off-by-one errors: avoid writing a null
character 1 byte past the end of cmdline[] when libedit is being used for
input, and avoid writing a null pointer 1 element past the end of margv[].

Reviewed by: gad


119192 21-Aug-2003 gad

Minimal update to make it easier to increase the buffer-size lpd uses
when reading/writing spool files. I intend to do a more elaborate
version, but I want to get this much in before 4.9-release. As written,
this results in no change to the object code.

Submitted by: John-Mark Gurney
Reviewed by: /sbin/md5
MFC after: 4 days


118881 13-Aug-2003 gad

Use STDIN_FILENO, STDOUT_FILENO, and STDERR_FILENO in a few more
places (replacing constants 0, 1 & 2).

Noticed by:
Reviewed by: md5
MFC after: 4 days


118288 01-Aug-2003 gad

Remove a 'From:' that snuck into an sccsid comment line as part of -v1.3


117681 17-Jul-2003 brueffer

Fix a grammar bogon and a typo

Submitted by: Warren Block <wblock@wonkity.com>
MFC after: 3 days


117623 15-Jul-2003 gad

(Hopefully) Last set of changes so all of lpr uses __FBSDID() for
setting rcsids, and uses a consistent format for 'sccsid' lines.

Reviewed by: discussed with bde and obrien
MFC after: 15 days


117622 15-Jul-2003 gad

More changes to use __FBSDID() for setting rcsids, and fix the
format of 'sccsid' lines so they consistently match style(9).
A minor Makefile change is needed so lptest.c can find lp.cdefs.h.

Reviewed by: discussed with bde and obrien
MFC after: 15 days


117621 15-Jul-2003 gad

More changes to use __FBSDID() for setting rcsids, and fix the
format of 'sccsid' lines so they consistently match style(9)
Also the 'sccsid' line is formatted to match style(9), and
a 'From:' is removed so the sccsid returns to what it was back
in the days of '-r CSRG' (1996).

Reviewed by: discussed with bde and obrien
MFC after: 15 days


117609 15-Jul-2003 gad

More changes to use __FBSDID() for setting rcsids. For the filter
programs, minor Makefile changes are needed to find lp.cdefs.h.
For lpf.c, the 'sccsid' line is formatted to match style(9), and
a 'From:' is removed so the sccsid returns to what it was back
in the days of '-r CSRG' (1994).

Reviewed by: discussed with bde and obrien
MFC after: 15 days


117599 14-Jul-2003 gad

More changes to use __FBSDID() for setting rcsids, and fix the
format of 'sccsid' lines so they consistently match style(9)
guidelines. Note that this means you will have to add '-a' to
the 'strings' command when searching for rcs ids, eg:
strings -a /usr/sbin/lpc | grep '$FreeBSD'

Reviewed by: discussed on cvs-src & with bde and obrien
MFC after: 15 days


117592 14-Jul-2003 gad

Get the 'sccsid' lines even closer to correct style(9) form. The
'#ifdef lint/#endif' around the lines should not have been removed.
Also add blank lines where one (per file) was missing.

Reviewed by: First part noticed by bde, blank lines noticed by me
MFC after: 15 days


117590 14-Jul-2003 gad

Get the 'sccsid' for this to match the original lines you would
get from '-r CSRG', instead of having that sccsid as a comment.
(this is the sccsid from 1996 -- there have been many changes to
printcap.c since then!)

MFC after: 15 days


117587 14-Jul-2003 gad

Get the 'sccsid' lines even closer to correct style(9) form. The
'#ifdef lint/#endif' around the lines should not have been removed.

Reviewed by: noticed by bde
MFC after: 15 days


117554 14-Jul-2003 gad

More changes to use __FBSDID() for setting rcsids, and fix the
format of 'sccsid' lines so they consistently match style(9)
guidelines. Inspired by recent update to lpd.c by charnier.

Reviewed by: discussed on cvs-src & with bde and obrien
MFC after: 15 days


117541 14-Jul-2003 gad

Take advantage of the common_source/lp.cdefs.h file to change lpr
source to use __FBSDID() for setting rcsids. Also fix the format
of 'sccsid' lines to consistently match style(9) guidelines.

Reviewed by: discussed with bde and obrien
MFC after: 15 days


117540 14-Jul-2003 gad

Introduce a new lp.cdefs.h file, which will be used to make it
somewhat easier to build this lpr on other operating systems.
This simply includes <sys/cdefs.h> when that is appropriate,
and then checks for any cdefs-ish macros that lpr uses, and
defines them if they don't already exist. This is only a start
at making freebsd's lpr less of a hassle to port. It is mainly
added so all of lpr can be changed to use the __FBSDID() macro,
without making it *more* of a hassle to build on other OS's.

Reviewed by: discussed with bde and obrien
MFC after: 15 days


117280 06-Jul-2003 charnier

add FBSDID


116646 21-Jun-2003 gad

We don't need two $FreeBSD$'s. Remove the older one.


116234 12-Jun-2003 gad

Minor improvement to some debugging code that is probably used by no one
but me (it's usually #ifdef-ed out).

MFC after: 1 week


116231 12-Jun-2003 gad

Remove MAINTAINER= lines. That info is now in /usr/src/MAINTAINERS


116230 12-Jun-2003 gad

When sanity-checking a variable, it's good to check the correct variable...

MFC after: 1 week


116214 11-Jun-2003 gad

There is no need for this makefile to reference BDECFLAGS, particularly
since that is no longer defined in the default system install.

MFC after: 1 week


116076 09-Jun-2003 imp

Include stdlib.h for atoi declaration.
Add $FreeBSD$ while I'm here.


116075 09-Jun-2003 imp

Include stdlib.h for atoi declaration
Add $FreeBSD$ while I'm here.


116049 08-Jun-2003 charnier

Add section number to .Xr


112701 27-Mar-2003 eivind

Change DEFMX to 0. This removes the size limit for print jobs by default.

Discussed with: gad (now), arch (a year ago)


108317 27-Dec-2002 schweikh

english(4) police.


107312 27-Nov-2002 ru

mdoc(7) police: markup fixes.

Approved by: re


106194 30-Oct-2002 sheldonh

Use "deprecated" instead of "depreciated" where appropriate.


101677 11-Aug-2002 schweikh

Fix typos; each file has at least one s/seperat/separat/
(I skipped those in contrib/, gnu/ and crypto/)
While I was at it, fixed a lot more found by ispell that I
could identify with certainty to be errors. All of these
were in comments or text, not in actual code.

Suggested by: bde
MFC after: 3 days


100522 22-Jul-2002 ume

use IPV6_V6ONLY instead of non standard IPV6_BINDV6ONLY.

Approved by: gad


100203 17-Jul-2002 gad

Changes which rewrite 'lpc topq', and which add 'lpc bottomq'. These
reflect much valuable feedback from wollman. More details on the new
'lpc topq' are in the log message for revision 1.2 of lpc/movejobs.c.

The previous implementation of 'lpc topq' is available as 'lpc xtopq',
in case there are any problems noticed in the new implementation. If
there are no problems with this version, a later update will remove the
'lpc xtopq' command.

Reviewed by: freebsd-print@bostonradio.org
MFC after: 6 days


99968 14-Jul-2002 charnier

The .Nm utility


99846 12-Jul-2002 gad

Call routine to free everything obtained when filling in 'struct printer'.

MFC after: 3 days


99845 12-Jul-2002 gad

Fix set_qstate() so it correctly checks for any error from chmod().
Note that set_qstate() is only called from several 'lpc' commands.

MFC after: 3 days


99844 12-Jul-2002 gad

Add a SQS_QCHANGED option to set_qstate(). This will soon be used by 'lpc'.

Reviewed by: freebsd-print@bostonradio.org
MFC after: 3 days


99842 12-Jul-2002 gad

Add two variables to struct jobqueue, and change the way that getq()
calculates how much space to get for that struct, so it will get the
right amount when new variables are added.

MFC after: 3 days


99840 12-Jul-2002 gad

Move prototypes for ctl_readcf and ctl_freeinf from ctlinfo.c to ctlinfo.h,
so the routines can be called by an upcoming change for 'lpc topq/bottomq'.

MFC after: 3 days


99242 02-Jul-2002 gad

Remove the backup-versions ("x*") of various lpc commands that were
recently rewritten. No one in -current has reported any problems with
the newer versions.

MFC after: 3 weeks


98776 24-Jun-2002 gad

Redo the way that fatal-error messages are done in the chkhost() routine,
mainly so the compiler can correctly do printf-style parameter checking.
Some minor improvements to a few of the error messages, but the main
goal here is to get rid of a few more compile-time warning messages.

MFC after: 5 days


98702 23-Jun-2002 gad

Stop adding ${CWARNFLAGS} to CFLAGS. The standard makefile processing will
add them automatically, and there is no point in adding them twice.

MFC after: 5 days


98279 16-Jun-2002 gad

Just rename two generic-queue init routines from 'init_*' to '*_gi'
("gi" short for 'generic init'...).

MFC after: 10 days


98278 16-Jun-2002 gad

Add a nearly complete rewrite of the lpc command 'down'. The only user-
visible change should be that more than one queue can now be specified,
if one uses the '-msg' parameter to separate the list of queues from the
status message to set.

The previous implementation of 'down' remains available as the command
'xdown', available for instant fallback if there seems to be anything
wrong with the new one. If no one reports a problem after a few weeks,
then a later update will remove 'xdown'.

Reviewed by: freebsd-print@bostonradio.org
MFC after: 10 days


98274 15-Jun-2002 gad

Make the description of the 'down' command a little more readable.

MFC after: 10 days


98268 15-Jun-2002 gad

Reorganize the way that arguments are processed in lpc's generic-queue
commands, to make things a little cleaner (mainly for a later update).

Reviewed by: freebsd-print@bostonradio.org
MFC after: 10 days


98267 15-Jun-2002 gad

Add a new command to 'lpc' called 'setstatus', which would be used to
change the status message of a print queue. This includes some minor
changes to the upstat() routine, so that error messages are not printed
while seteuid(priv-user).

Reviewed by: freebsd-audit and freebsd-print@bostonradio.org
MFC after: 10 days


98154 13-Jun-2002 gad

Bah humbug. Fix another typo on the same comment line. It also had
an option-space instead of a space...

MFC after: 10 days


98153 13-Jun-2002 gad

Fix a typo in a comment from the previous commit. I had a bullet-character
instead of an asterisk.

Noticed by: keramida
MFC after: 10 days


98152 13-Jun-2002 gad

Almost complete rewrite of the lpc commands 'abort', 'enable', 'disable',
'restart', 'start', 'stop' and 'up'. These are commands which mainly
just alter the access bits on the lock-file of a queue, and they all
now use a central routine to do that. This reduces the amount of code
that is run as the priv userid, and eliminates a number of cases where
error messages were written while that priv uid was in effect.

As far as users are concerned, there should be no noticable difference
in the new versions. In case there *is*, the previous implementations
are still there as 'xabort', 'xenable', etc, so they are available for
instant fallback. If no one reports a problem after a few weeks, then
a later update will remove those x-commands.

Reviewed by: freebsd-audit and freebsd-print@bostonradio.org
MFC after: 10 days


97793 04-Jun-2002 gad

Change some "process id" variables from 'int' to 'pid_t', renaming some
of them to keep better track of which-is-which (multiple variables were
named 'pid'). Moved a global pid-variable into the only routine that
used it. Net result: fixes two compile-time warnings...

MFC after: 2 weeks


97792 04-Jun-2002 gad

Cosmetic improvements to some of the syslog() calls in here (in some cases
simply getting the indentation right when the statement wraps).

MFC after: 2 weeks


97791 04-Jun-2002 gad

Fix all the 'return' statements in here to follow style(9).

MFC after: 2 weeks


97789 04-Jun-2002 gad

Avoid checking WIFEXITED and WTERMSIG in some error situations where the
value in wstatus is not related to the process that we care about.

MFC after: 2 weeks


97781 03-Jun-2002 gad

Stop using the depreciated 'union wait' definitions, moving to a more
standard handling of wait()-related routines.

Submitted by: mike
MFC after: 2 weeks


97561 30-May-2002 ru

mdoc(7) police: markup nits.


97424 28-May-2002 gad

Have this use 'static const char rcsid' instead of __RCSID()

Discussed with: bde, obrien
MFC after: 10 days


97421 28-May-2002 alfred

Assume __STDC__, remove non-__STDC__ code.


96514 13-May-2002 ru

Mark all internal libraries with INTERNALLIB.


95434 25-Apr-2002 gad

Include <netinet/in.h> to squash one more compile-time warning.

MFC after: 3 days


95429 25-Apr-2002 gad

When using %p to print out pointers to struct's, first cast the values
to (void *) to satisfy some stricter warning-level checks in the new
gcc (on sparc64).

Reviewed by: obrien
MFC after: 4 days


95299 23-Apr-2002 gad

Improve the error message the user sees if the startdaemon routine cannot
connect() to the socket for lpd. Tell them this error probably means that
the master 'lpd' process is not running.

MFC after: 4 days


95293 23-Apr-2002 gad

Implement new printcap option of "rc" aka "remote.resend_copies".
This is a boolean option, and if it is specified in a print queue
for a remote host, it causes lpd to resend the data file for each
copy the user requested on 'lpr -#n'. This is useful for network
printers which accept lpd-style jobs, but which ignore the control
file (and thus they ignore any request for multiple copies).

PR: 25635
Reviewed by: short review on freebsd-audit
MFC after: 6 days


95291 22-Apr-2002 gad

Add 'const' to some casts to fix two warnings that are printed by the
new gcc (on sparc64).

MFC after: 4 days


95290 22-Apr-2002 gad

Add 'const' to some casts to fix two warnings that are printed by the
new gcc (on sparc64).

MFC after: 4 days


95258 22-Apr-2002 des

Usage style sweep: spell "usage" with a small 'u'.
Also change one case of blatant __progname abuse (several more remain)
This commit does not touch anything in src/{contrib,crypto,gnu}/.


95256 22-Apr-2002 ru

Don't needlessly redefine the afterinstall target.


95236 22-Apr-2002 gad

Underline the default value for rp=, the same way all the other string-type
default values are underlined (instead of using fake double-quotes).

MFC after: 4 days


95235 22-Apr-2002 gad

Add description of `mc' (max copies), add short-form to long-form mapping
for `tf' (troff filter), and add a cross-reference to chkprintcap in some
lpr-related man pages.

Submitted by: dwmalone
MFC after: 4 days


95127 20-Apr-2002 charnier

Use `The .Nm utility'


95070 19-Apr-2002 gad

Change lpd to recognize the '-s' parameter as a preferred synonym
for what is currently the '-p' parameter. '-s' is what NetBSD
used (and they implemented it before I added -p in FreeBSD), and
it also matches the '-s' option in syslogd. Someone in OpenBSD
land had also talked about adding a '-s' option, but it hasn't
happened yet.

MFC after: 5 days


95069 19-Apr-2002 gad

Remove a safety-setting line which is unnecessary now that the previous
line is using strlcpy instead of strncpy.

MFC after: 4 days


95068 19-Apr-2002 gad

Fix 'deamon' -> 'daemon' in a comment.

Obtained from: NetBSD, OpenBSD
MFC after: 4 days


95067 19-Apr-2002 gad

Add a little detail to the syslog-msg that comes up when lpd can not
execute a given filter.

MFC after: 4 days


94040 07-Apr-2002 gad

A variable had been unnecessarily assigned a bogus value because gcc was
"confused" about it being unassigned. In fact, gcc was right. Fix the
real problem by setting that variable before break-ing out of a select
statement so gcc is happy, and then remove the unnecessary assignment.

Reported by: a user wondering why lpd syslog-ed about "compiler confusion"
MFC after: 12 days


94038 07-Apr-2002 gad

Rename a variable from 'user' to 'userid' to avoid some compiler warnings.

MFC after: 12 days


94036 07-Apr-2002 gad

Rearrange all the error returns from sendfile() to make sure the original
input file and any temporary (filter) file are closed upon return, and
that is generally done at the end of the routine. This should make it
easier for a later update (not yet written) to implement a "resend_copies"
option.

MFC after: 12 days


94032 07-Apr-2002 gad

Re-arrange how output filters (of=) are handled for queues going to
remote machines. Now they really are handled *exactly* the same as
input filters (if=) for remote queues, except that they are started
with a different set of parameters. This should fix a few subtle
bugs in output-filter processing on such queues. It is a pretty
significant re-arranging of sendfile(), moving some of it to a new
execfilter() routine.

PR: 36552
Reviewed by: no screams from freebsd-audit
MFC after: 12 days


88004 15-Dec-2001 gad

Add another level of checking to 'chkprintcap', which is done by
"skimming thru" the printcap file looking for some common mistakes that
people make. These are the kinds of mistakes where the printcap file
probably looks correct to human eyes, but is wrong in some subtle way
which causes a problem in some queue definitions. The program treats
these as "warnings" not "errors".
Note that I'm flexible on the m.f.c. schedule, if people would rather
this waited until after 4.5-release.

Reviewed by: no screams from freebsd-audit freebsd-print@bostonradio.org
MFC after: 4 days


87375 05-Dec-2001 gad

Move the checks for '/' a little sooner in the code which receives files
for a remote print job. This change comes from OpenBSD (who got it from
Sebastian Krahmer of SuSE). In OpenBSD this avoids a tiny theoretical
security issue, but that security issue does not exist in FreeBSD's lpr
due to the changes which added 'ctl_renametf()' just before 4.4-release.
This change is still worth doing in our version, but it isn't fixing a
security issue.

MFC after: 4 days


87034 28-Nov-2001 gad

My recent changes to add the ctl_renametf routine assumed that print job
control-files will always start with 'cfA*'. It turns out that some
implementations of lpd (such as solaris) may send a control file which
starts with 'cfB*', or really 'cf<anyLetter>*'. Although such filenames
are very odd, we did used to accept them. This changes ctl_renametf to
work correctly with them, and fixes up 'lpc clean' to match.

PR: bin/32183
MFC after: 10 days


86935 27-Nov-2001 gad

Change the recently-added 'o'-processing so it maps to 'l' instead of 'f'.
'l' ("plain text which includes control characters") is somewhat more
appropriate for 'o' ("postscript files"), and in fact some printers treat
'l' as a request to print a postscript file.

MFC after: 1 week


84697 09-Oct-2001 gad

Fix one more compile-time warning by renaming a local variable.

MFC after: 4 days


84696 09-Oct-2001 gad

Fix a compile-time warning by declaring 'len' as size_t instead of int.

MFC after: 4 days


84695 09-Oct-2001 gad

Rename the local variable 'person' to 'lpr_username', to avoid compile-time
warnings about conflict with a global variable used by 'lprm'.

MFC after: 4 days


84693 09-Oct-2001 gad

Get rid of some minor compile-time errors by changing copyright/rcsid
definitions to the same format used in other lpr source files, and by
adding parenthesis to the right spot in one 'if' statement.

MFC after: 4 days


84692 09-Oct-2001 gad

Fix minor compile-time error in definition of 'copyright'.

MFC after: 4 days


84691 09-Oct-2001 gad

Fix minor compile-time warning that snunk in with changes to sortq() rtn.

MFC after: 4 days


84261 01-Oct-2001 obrien

*** empty log message ***


84034 27-Sep-2001 gad

Basically rewrite the sortq() routine which is used by 'lpc clean' and
'lpc tclean'. In some obscure cases, the previous version could cause a
valid user job to be removed (by 'clean'), due to invalid assumptions in
the sort routine. This was a rare problem, unless ctlinfo.c is compiled
with 'LEAVE_TMPCF_FILES' turned on (to check what that rtn was doing).

Reviewed by: Lack of outcry on -audit and freebsd-print@bostonradio.org
MFC after: 10 days


83684 20-Sep-2001 gad

Add minimal support for "o"-type print-file actions in lpd control files.
This was described in the original RFC wrt lpr, but most lpr's do not
actually implement it. There is some indication that MacOS 10.1 will
be using this when sending postscript files to print servers (that is
what "o"-type was supposed to signify -- postscript files).

MFC after: 1 week


83563 17-Sep-2001 gad

Fix so that lpc's interactive-mode will not be confused by EditLine processing
into thinking that there is a print-queue called 'xterm'...

Reviewed by: short discussion on freebsd-stable
MFC after: 1 week


83391 13-Sep-2001 ru

Set BINOWN=root explicitly for setuid root binaries.

This is not "useless", as one may have non-default
setting for BINOWN in make.conf, and we still want
these to be installed setuid root in this case.


82557 30-Aug-2001 kris

Fix buffer overflow in queue file handling.

Submitted by: millert@openbsd.org, gad
Reported by: X-Force <xforce@iss.net>


81449 10-Aug-2001 ru

mdoc(7) police: protect trailing full stops of abbreviations
with a trailing zero-width space: `e.g.\&'.


81251 07-Aug-2001 ru

mdoc(7) police:

Avoid using parenthesis enclosure macros (.Pq and .Po/.Pc) with plain text.
Not only this slows down the mdoc(7) processing significantly, but it also
has an undesired (in this case) effect of disabling hyphenation within the
entire enclosed block.


80230 23-Jul-2001 gad

Basically rewrite the dofork() routine, to add more error-checking and
correct the error-checking that was there. With the old code, an error
return from getpwuid(daemon_user) could turn the lpd process into a very
effective fork-bomb...

Reviewed by: freebsd-audit freebsd-print (a little...)
MFC after: 6 days


80174 23-Jul-2001 gad

Get rid of a compile-time warning by casting to (size_t).

MFC after: 1 week


80173 23-Jul-2001 gad

Get rid of a compile-time warning by casting to (size_t).

MFC after: 1 week


80172 23-Jul-2001 gad

Fix a few more minor compile-time warnings, mainly by using size_t where
appropriate, and using '("%lu", (unsigned long)asizeval)' when printing
something of type size_t.

MFC after: 1 week


80171 23-Jul-2001 gad

Get rid of some compile-time warnings by defining (or casting) variables
as size_t where appropriate.

MFC after: 1 week


80170 23-Jul-2001 gad

Fix two compile-time warnings by defining fromlen as socklen_t.

MFC after: 1 week


80133 22-Jul-2001 gad

Replace calls to strncpy with calls to strlcpy, and remove the extra step
needed to ensure that the result is null-terminated when using strncpy().

MFC after: 8 days


80122 22-Jul-2001 gad

Rename the -w option to be -W. The recently-added -w option is different
than the long-standing -w option in NetBSD, so change it before anyone in
FreeBSD gets used to it. For now, -w is still accepted, but prints out
some warnings via syslog.

MFC after: 1 week


80113 22-Jul-2001 gad

Change a few read & write calls to use 'STDOUT_FILENO' instead of '1'.

Submitted by: David Hill <david@phobia.ms>
Reviewed by: freebsd-audit (a little)
MFC after: 1 week


80029 20-Jul-2001 obrien

Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.


80022 20-Jul-2001 obrien

Remove GCC'isms in CFLAGS.


79755 15-Jul-2001 dd

Remove whitespace at EOL.


79746 15-Jul-2001 gad

Change lpd to perform sanity and safety checks on control files as it
receives them from other hosts. This is meant to protect from both
nefarious users (which maybe broke into some remote host that we accept
print jobs from), and broken implementations of lpr on other platforms.
This is done by changing recvjob.c to call the new ctl_renametf()
routine in the new common_source/ctlinfo.[ch] files. This will not
affect jobs coming via lpr on the local machine.

Reviewed by: freebsd-print@bostonradio.org & freebsd-audit
MFC after: 16 days


79743 15-Jul-2001 gad

Replace a call to 'alloca', thus avoiding an error when compiling on
freebsd/alpha with -ansi (and on some non-fbsd platforms). This change
can only affect the access checking of 'lpr -r'.

MFC after: 1 week


79742 15-Jul-2001 gad

Get rid of one compile-time warning by changing an 'int' to a 'size_t'.

MFC after: 1 week


79741 15-Jul-2001 gad

Get lpr/pac.c to compile without warnings with BDECFLAGS

MFC after: 1 week


79740 15-Jul-2001 gad

Replace three subtly-wrong calls to strncpy with calls to strlcpy, and
use (size_t) in a few places to avoid compile-time warnings on alpha.

MFC after: 1 week


79739 15-Jul-2001 gad

Fix most of the warnings generated by compiling lpr with -Wnon-const-format,
often by just telling gcc that some internal routine is "__printflike"
(work done by Kris Kennaway <kris@FreeBSD.org>). Also fix the new warnings
which show up once gcc starts checking the "printf-like parameters" passed
to those routines.

MFC after: 1 week


79735 14-Jul-2001 gad

Change signal-handling to reset SIGCHLD to SIGDFLT instead of SIG_IGN.
This fixes a problem with using print filters (if=, of=, etc) that showed
up in -current around June 20th. That problem initially reported by
Georg-W Koltermann <gwk@sgi.com>, while most of the investigation that
led to this fix was done by Anton Berezin <tobez@FreeBSD.org>.

Reviewed by: freebsd-print@bostonradio.org
MFC after: 1 week


79537 10-Jul-2001 ru

mdoc(7) police: removed HISTORY info from the .Os call.


79452 09-Jul-2001 brian

Fix the type of the NULL arg to execl()

Idea from: Theo de Raadt <deraadt@openbsd.org>


79296 05-Jul-2001 ru

mdoc(7) police: removed hard sentence breaks, use new .Brq macro.


78750 25-Jun-2001 gad

Make 'lpc clean' somewhat safer. Add an 'lpc tclean' command, which allows
one to see what files would be removed *if* an 'lpc clean' is done. 'tclean'
will remove no files, and is therefore not a privileged command. Also, both
'lpc clean' and 'lpc tclean' will now look for 'core' files in spool directories
(but not remove them). They also print out an extra line of info when a
datafile to be removed is a symlink (from 'lpr -s'), saying what file it is
a symlink to.

The 'lpc clean' commands also now print out a summary line saying how many
queues were checked, how many files were removed (or "would be" removed, for
tclean), and how much disk space is involved. For the benefit of those who
have many print queues, 'lpc clean all' will only print out the names of print
queues where some "interesting" files were found, instead of printing out a
header-line for every queue in your printcap file.

Reviewed by: freebsd-print@bostonradio.org freebsd-audit@FreeBSD.org
MFC after: 2 weeks


78749 25-Jun-2001 gad

Add two new options for lpd: -c will log all connection-errors to syslog,
while -w allows connection from non-reserved ports. Also improves the
helpfulness of various connection-error messages.

The changes for IPv6 added back in the reserved-port check which was mistakenly
dropped from lpd in 1997 (copying a change from openbsd). It is best to have
that check in place, but the check breaks lpr's from some implementations of
lpr/lpd for Windows. The -w option is for those admins who need to accept
jobs from non-reserved ports, the -c option is for admins who would like a
print-server machine to log all failed connection-attempts to syslog.

Reviewed by: freebsd-audit@FreeBSD.org freebsd-print@bostonradio.org
MFC after: 2 weeks


78317 16-Jun-2001 gad

Get rid of a trigraph ("??>") mistakenly put in an error message.
One less warning to annoy me...

MFC after: 1 week


78302 15-Jun-2001 gad

*** empty log message ***


78300 15-Jun-2001 gad

Rename a few global variables which hold hostname-related values to be
more sensible/understandable. 'from'->'from_host' 'host'->'local_host'
'fromb'->'frombuf' 'fromhost'->'origin_host' and a local-variable
named 'host'->'hostbuf'. This fixes some compile-time warnings about
local variables shadowing global variables.

Other than renaming variables, the only actual code changes are to call
strlcpy() instead of strncpy() when setting those (renamed) variables,
and that 'from_ip' is now a strdup()-created buffer instead of being a
static buffer compiled in as 1025 bytes.

Reviewed by: freebsd-print@bostonradio.org (an earlier version)
MFC after: 1 week


78280 15-Jun-2001 gad

Rename global variable 'name' to 'progname', thus fixing a number of
warnings which come up for various routines that have a parameter which
is also called 'name'.

Reviewed by: freebsd-print@bostonradio.org
MFC after: 1 week


78146 12-Jun-2001 gad

Fix about 90-100 warnings one gets when trying to compile lpr&friends
with BDECFLAGS on, mainly by adding 'const' to parameters in a number
of routine declarations. While I'm at it, ANSI-fy all of the routine
declarations. The resulting object code is exactly the same after
this update as before it, with the exception of one unavoidable
change to lpd.o on freebsd/alpha.

Also added $FreeBSD$ line to lpc/extern.h lpc/lpc.h lptest/lptest.c

Reviewed by: /sbin/md5, and no feedback from freebsd-audit


77761 05-Jun-2001 sobomax

Correct cross-references:
setsockopt.3 --> setsockopt.2
syslog.8 --> syslogd.8
tcpdump.8 --> tcpdump.1

MFC after: 1 week


75495 13-Apr-2001 dd

mdoc(7) police: properly use a -diag list in the DIAGNOSTICS section.

Reviewed by: ru


75286 07-Apr-2001 ru

beforeinstall -> SCRIPTS.


75253 06-Apr-2001 gad

Make sure the euid is restored in an obscure error situation.

Submitted by: J Wunsch <j@ida.interface-business.de> in freebsd-audit


74816 26-Mar-2001 ru

- Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.


74532 20-Mar-2001 ru

Set the default manual section for usr.sbin/ to 8.


74367 16-Mar-2001 gad

Fix a number of warnings that come up when compiling with BDECFLAGS.


74128 12-Mar-2001 gad

Add a comment pointing to the freebsd-print@bostonradio.org mailing list.


74127 12-Mar-2001 gad

Change the usage() message to include the recently-added -4 and -6 options.


74126 12-Mar-2001 gad

Fix "lprm -" (remove all jobs) processing for remote printer queues.

PR: bin/25544


74124 12-Mar-2001 gad

Improve a few error messages wrt if= filters on remote print queues.


73028 25-Feb-2001 dwmalone

Stop pac dereferencing a null pointer if accounting is not enabeled.

PR: 24798 18191
Submitted by: Nick Hilliard <nick@netability.ie>
Reviewed by: gad


72126 07-Feb-2001 ru

mdoc(7) police: Change -filled displays (which just happen
to be the same as -ragged in the current implementation) to
-ragged. With mdocNG, -filled displays produce the correct
output, formatted and justified to both margins.


71898 01-Feb-2001 ru

mdoc(7) police: split punctuation characters + misc fixes.


71102 16-Jan-2001 ru

Prepare for mdoc(7)NG.


70520 30-Dec-2000 phk

Use macro API to <sys/queue.h>

Submitted by: "Jason" <jsmethers@pdq.net>
Reviewed by: /sbin/md5


70403 27-Dec-2000 ru

Prepare for mdoc(7)NG.


70098 16-Dec-2000 ume

IPv6 support for lpr.

Reviewed by: freebsd-current (no objection)
Obtained from: KAME


68965 20-Nov-2000 ru

mdoc(7) police: use the new features of the Nm macro.


68743 15-Nov-2000 gad

Eliminate two compile-time warnings.


68742 15-Nov-2000 gad

Fix the '-d' option (turns on socket-debugging). Improve startup msgs.

PR: 17178
Submitted by: Richard <satherrl@dssrg.curtin.edu.au>


68741 15-Nov-2000 gad

Make sure a few strings will have terminating null characters.
(most of the PR 16186 was already applied, except for these 2 lines)

PR: 16186
Submitted by: Przemyslaw Frasunek <venglin@lubi.FreeBSD.lublin.pl>


68740 15-Nov-2000 gad

Reset the seteuid in a few obscure error situations.


68739 15-Nov-2000 gad

Just some style-related improvements.


68735 14-Nov-2000 gad

Minor style improvements.


68734 14-Nov-2000 gad

Fix (style) some variable initializations.


68733 14-Nov-2000 gad

Change 'count' to a more descriptive 'jobcount', and fix the stupid
comments which claim this counter is counting "files", which it is not.


68732 14-Nov-2000 gad

Get rid of 'exit(-1)' calls. Exit codes are limited to 8 bits under most
Unixes, so -1 becomes 0xFF for 2's complement and 0xFE (?) for 1's
complement.

Reviewed by: bde@FreeBSD.org


68682 13-Nov-2000 gad

My previous commit removed a line it wasn't supposed to. Add it back.


68664 13-Nov-2000 gad

Replace call to mktemp() with mkstemp. Also move where that call is
done, so the correct directory is being checked. The mkstemp() call
is meant to create a temp file for stderrs when running filters. This
update also fixes log-file processing for remote (rm=) queues which
specify an input filter (if=). Before, filter-errs were thrown away.
Now they'll be copied to the queue's logfile (lf=).

Reviewed by: (a little) audit@FreeBSD.ORG & freebsd-print@bostonradio.org


68575 10-Nov-2000 ru

Avoid use of direct troff requests in mdoc(7) manual pages.


68467 08-Nov-2000 gad

Fix 'printit()' to ignore some lines it doesn't recognize (most likely
coming from lprNG hosts), and print a more helpful error msg for others.


68401 06-Nov-2000 gad

Cosmetic change of a structure name.
Turn 'struct queue { q_time, q_name }' (loosely-speaking)
into 'struct jobqueue { job_time, job_cfname }'

Reviewed by: GAWollman


68400 06-Nov-2000 gad

Get rid of a minor compile-time warning.


68380 06-Nov-2000 gad

Cosmetic improvements to a few recvjob-related error messages.


68379 06-Nov-2000 gad

Fix a format-code, thus getting rid of a compile-time warning msg.


68343 05-Nov-2000 gad

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>


68342 05-Nov-2000 gad

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>


68340 05-Nov-2000 gad

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


68275 03-Nov-2000 gad

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)


68253 02-Nov-2000 gad

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


68149 01-Nov-2000 gad

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>


68101 31-Oct-2000 gad

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)


68100 31-Oct-2000 gad

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


67918 30-Oct-2000 gad

Change my email on MAINTAINER from an RPI address to my FreeBSD address.


66415 27-Sep-2000 wollman

Fix cosmetic error in rmjob message.

PR: 21006


66414 27-Sep-2000 wollman

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


65035 23-Aug-2000 alfred

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>


63197 15-Jul-2000 wollman

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.


62294 30-Jun-2000 mph

Quit on EOF from terminal instead of redisplaying the prompt.


62177 27-Jun-2000 wollman

Fix description of `-i' and `-w' options.
Fix spelling of `TeX'.
Move historical formats into a separate list, to make thier cruftiness
clear.


61948 22-Jun-2000 sheldonh

Allow Nm to expand gracefully instead of hard-coding an argument.


61913 21-Jun-2000 wollman

Allow those of us who have to print through LPRng spoolers to send
spooler options using `Z' control-file lines and the `-Z' flag.


60938 26-May-2000 jake

Back out the previous change to the queue(3) interface.
It was not discussed and should probably not happen.

Requested by: msmith and others


60873 24-May-2000 mpp

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).


60871 24-May-2000 mpp

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.


60833 23-May-2000 jake

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


60282 09-May-2000 imp

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.


59920 03-May-2000 wollman

Print files submitted at the same instant in deterministic order.

PR: 18361
Submitted by: Garance A Drosehn <gad@freefour.acs.rpi.edu>


58777 29-Mar-2000 sheldonh

Add -p option to prevent lpd(8) from opening a listening socket.

PR: 17384
Submitted by: Niels Endres <niels@b5.nu>


57818 08-Mar-2000 sheldonh

Remove blanks lines, replacing them with Pp macros where appropriate.


57817 08-Mar-2000 sheldonh

Add missing description for the dummy -o option.


57816 08-Mar-2000 sheldonh

Add a dummy -s option for SUSv2 compatibility.

PR: 17256
Reported by: Brooks Davis <brooks@one-eyed-alien.net>
Approved by: jkh (release engineer)


57673 01-Mar-2000 sheldonh

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.


56568 25-Jan-2000 dillon

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.


56562 24-Jan-2000 dillon

'start' command was not reenabling printing.

PR: bin/15728


56287 19-Jan-2000 joe

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>


53956 30-Nov-1999 ache

Add support for pr's locale


51581 23-Sep-1999 ache

moved to koi2alt


51522 21-Sep-1999 ache

Add koi2855 filter

Repository move koi2alt.c -> koi2alt/koi2alt.c required


51457 20-Sep-1999 phantom

Correct spelling : ascii -> ASCII

PR: docs/13702
Submitted by: Stephen J. Roznowski <sjr@home.com>
Reviewed by: mpp


50479 28-Aug-1999 peter

$Id$ -> $FreeBSD$


50077 20-Aug-1999 mdodd

Fix some cut and paste damage.

Noticed by: Norman C. Rice <nrice@emu.sourcee.com>


50071 20-Aug-1999 mdodd

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.


50042 19-Aug-1999 mdodd

Use el_source() so we pick up .editrc


50039 19-Aug-1999 mdodd

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)


48791 12-Jul-1999 nik

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


46110 27-Apr-1999 jkh

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>


43519 02-Feb-1999 wollman

Sigh. Fix capitalization bogon. Who had the pointy hat?


43507 01-Feb-1999 wollman

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.


42340 06-Jan-1999 imp

Change my mind on using base '0' for strtol for -i and -# operations
as this would change the meaning of -#050 in preexisting scripts.


42339 06-Jan-1999 imp

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


39496 19-Sep-1998 obrien

Remove useless `BINOWN=root' now that it is the default.


39084 11-Sep-1998 wollman

Fix additional warnings. Remove -Werror, since some people have complained
about it.

PR: 7886
Submitted by: Stefan Eggers <seggers@semyam.dinoco.de> (partially)


38470 21-Aug-1998 brian

Fix ``lp=port@machine'' syntax and mention it in printcap(5).


36881 11-Jun-1998 jb

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.


36853 10-Jun-1998 phk

Spelling fixes.

PR: 6903
Reviewed by: phk
Submitted by: Josh Gilliam <josh@quick.net>


35998 13-May-1998 jb

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).


35997 13-May-1998 jb

Make -Werror i386 specific because -nostinc on alpha spits warnings
for unused static inline functions in header files.


35251 17-Apr-1998 obrien

Make ``-h'' follow the manpage, and suppress the burst page reguardless of
the number of ``-h'' given.


34809 23-Mar-1998 charnier

.Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq.


34784 22-Mar-1998 jb

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.


34160 07-Mar-1998 bde

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.


33785 24-Feb-1998 ache

Add DESTDIR to afterinstall
Submitted by: jhay


33783 24-Feb-1998 ache

Oops, back out DESTDIR addition, handled automatically by bsd.prog.mk


33759 23-Feb-1998 ache

Add missing DESTDIR


33098 04-Feb-1998 wollman

Install printcap.5 from here.


33090 04-Feb-1998 ache

Add comment describing settings
Use 66 lines on the page


33088 04-Feb-1998 ache

Add Russian printer filters, mandatory because hardware code page 866
is different with KOI8-R


32654 20-Jan-1998 wollman

Properly initialize the printer struct.

PR: bin/5519


32031 27-Dec-1997 wollman

Fix top-of-form bogon.


31818 17-Dec-1997 wollman

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.


31780 16-Dec-1997 bde

Fixed DPADD.


31583 06-Dec-1997 jdp

Fix incorrect format string in call to errx().


31569 06-Dec-1997 jdp

Add missing argument to warn() call.


31500 02-Dec-1997 wollman

Document the new long names for printcap capabilities.


31492 02-Dec-1997 wollman

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...


31020 07-Nov-1997 joerg

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!


30437 15-Oct-1997 joerg

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.


30407 14-Oct-1997 joerg

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?


30143 06-Oct-1997 imp

Be more paranoid about unlinking files. From mhpower@MIT.EDU by way of
Theo de Raadt.

Likely 2.2.5R candidate.
Obtained from: OpenBSD


29780 24-Sep-1997 charnier

Use err(3). Add usage(). Various fixes in man pages.


29563 18-Sep-1997 charnier

environmental -> environment.


28621 23-Aug-1997 joerg

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


27757 29-Jul-1997 imp

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


27748 29-Jul-1997 imp

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


27635 23-Jul-1997 imp

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.


27618 23-Jul-1997 imp

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


27593 21-Jul-1997 brian

Output name of duplicate spool dir.
Submitted by: Wayne Scott <wscott@ichips.intel.com>


27511 18-Jul-1997 imp

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.


27509 18-Jul-1997 imp

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.


27448 16-Jul-1997 phk

Increase size of tmp hostname buffer.
PR: 3889
Reviewed by: phk
Submitted by: Yujiro MIYATA <miyata@bioele.nuee.nagoya-u.ac.jp>


27282 08-Jul-1997 dima

Fixed buffer overflow.

Reviewed by: Warner


26844 23-Jun-1997 joerg

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).


26757 21-Jun-1997 joerg

Fix a typo, so the -a option will by documented in the synopsis.


25856 17-May-1997 brian

Check for duplicate spool dirs.

Submitted by: eivind


25789 13-May-1997 brian

Don't output extraneous tab

Submitted by: Garance A Drosehn <gad@eclipse.its.rpi.edu>


25787 13-May-1997 brian

Don't drop into the troff args after parsing -#.

Submitted by: Garance A Drosehn <gad@eclipse.its.rpi.edu>


25589 08-May-1997 joerg

Kill a stale .pq line.


24831 12-Apr-1997 brian

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".


24428 31-Mar-1997 imp

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


23122 26-Feb-1997 mpp

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>


22997 22-Feb-1997 peter

Revert $FreeBSD$ to $Id$


22986 22-Feb-1997 peter

Revert $FreeBSD$ back to $Id$


22466 09-Feb-1997 imp

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


22462 09-Feb-1997 imp

Buffer overflow from OpenBSD:
Rev 1.7 millert:
possible oflow
Obtained from: OpenBSD


21880 20-Jan-1997 wosch

Sort cross references.


21673 14-Jan-1997 jkh

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.


20914 26-Dec-1996 wosch

Sort cross references.


19675 12-Nov-1996 phk

doc/1987, table heading in error.
Submitted by: Mark Valentine Mark Valentine <mark@linus.demon.co.uk>


19202 27-Oct-1996 imp

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


19187 26-Oct-1996 imp

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


19184 25-Oct-1996 imp

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


18569 29-Sep-1996 bde

Close files up to getdtablesize(), instead of up to NOFILE.

lpd was one of 3 programs in /usr/src that (mis)used NOFILE.


17293 27-Jul-1996 alex

"appeared in 4.2BSD.." changed to "appeared in 4.2BSD."


17202 17-Jul-1996 joerg

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


16062 01-Jun-1996 wosch

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)


15733 11-May-1996 joerg

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.


15732 11-May-1996 joerg

Clean out the BUGS section/comments now that our lpr has a better
option parsing.


15703 09-May-1996 joerg

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.


15648 05-May-1996 joerg

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>


15646 05-May-1996 joerg

Fix my botched 4.4Lite2 import, and revert these files to their HEAD
versions.


15638 05-May-1996 joerg

This commit was generated by cvs2svn to compensate for changes in r15637,
which included commits to RCS files with non-trunk default branches.


15135 08-Apr-1996 mpp

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.


15073 06-Apr-1996 mpp

Correct some cross references and some path names.


15032 03-Apr-1996 sef

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


15031 03-Apr-1996 sef

Remove definitions and declarations for FS, FC, XS, XC variables, and
replace them with MS char* variable.

Reviewed by: rgrimes, joerg


15030 03-Apr-1996 sef

printcap.5: Remove fs,fc,xs,xc capability, and replace them with the ms
capability

Reviewed by: rgrimes, joerg


14038 11-Feb-1996 mpp

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.


13311 07-Jan-1996 joerg

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


11235 05-Oct-1995 jkh

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>


10530 02-Sep-1995 mpp

Initialize the group list so that any filter programs that are
run by lpd are not run with root's groups.


9975 06-Aug-1995 joerg

Remove the comment about the broken getopts(1) in our /bin/sh.


9821 31-Jul-1995 wpaul

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. :)


9701 25-Jul-1995 bde

Change `install' to `${INSTALL}' so that default install flags can be
specified in the top level Makefiles.


9568 17-Jul-1995 torstenb

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


9560 17-Jul-1995 peter

pac had a grudge against usernames starting with 't', because of a typo.
Reviewed by:
Submitted by: Kenji Tomita
Obtained from:


8857 30-May-1995 rgrimes

Remove trailing whitespace.


8094 27-Apr-1995 jkh

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


5836 24-Jan-1995 ache

Add missing ${.CURDIR}


5810 23-Jan-1995 joerg

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.


5808 23-Jan-1995 joerg

Add "lp" to list of subdirs.


5445 08-Jan-1995 joerg

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.)


5389 04-Jan-1995 ats

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.


5031 11-Dec-1994 ats

Fixed a typo: /usr/sbin/lpd* to /usr/sbin/lpd as the name of the daemon.


1863 05-Aug-1994 wollman

Get rid of update. Make man page installation work with our scheme
(and rename a few in the process).


1638 30-May-1994 rgrimes

BSD 4.4 Lite Share Sources


1554 26-May-1994 rgrimes

This commit was generated by cvs2svn to compensate for changes in r1553,
which included commits to RCS files with non-trunk default branches.


1553 26-May-1994 rgrimes

BSD 4.4 Lite usr.sbin Sources