History log of /freebsd-current/usr.sbin/lpr/lpd/lpd.c
Revision Date Author Comments
# 0b8224d1 24-Nov-2023 Warner Losh <imp@FreeBSD.org>

Remove copyright strings ifdef'd out

We've ifdef'd out the copyright strings for some time now. Go ahead and
remove the ifdefs. Plus whatever other detritis was left over from other
recent removals. These copyright strings are present in the comments and
are largely from CSRG's attempt at adding their copyright to every
binary file (which modern interpretations of the license doesn't
require).

Sponsored by: Netflix


# 8a7b6120 23-Nov-2023 Warner Losh <imp@FreeBSD.org>

usr.sbin: Remove ancient SCCS tags.

Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by: Netflix


# 1d386b48 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 3c636606 03-Apr-2021 Chris Rees <crees@FreeBSD.org>

lpd: Add -F flag to prevent daemonizing

This is necessary for use with supervision, e.g. runit.

I chose -F simply because that is what the folks at LPRng use.

Approved by: pfg, gad, ngie
Differential Revision: https://reviews.freebsd.org/D29566


# 8a16b7a1 20-Nov-2017 Pedro F. Giffuni <pfg@FreeBSD.org>

General further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 3-Clause license.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.


# fbbd9655 28-Feb-2017 Warner Losh <imp@FreeBSD.org>

Renumber copyright clause 4

Renumber cluase 4 to 3, per what everybody else did when BSD granted
them permission to remove clause 3. My insistance on keeping the same
numbering for legal reasons is too pedantic, so give up on that point.

Submitted by: Jan Schaumann <jschauma@stevens.edu>
Pull Request: https://github.com/freebsd/freebsd/pull/96


# 820a9567 25-Apr-2016 Garance A Drosehn <gad@FreeBSD.org>

Remove a variable and three lines of code which I should have removed as
part of revision 98776 back on June 24/2002. Noticed by pfg@ trying
coccinelle for checking code.

MFC after: 3 weeks


# 914e11a7 11-Dec-2010 Joel Dahl <joel@FreeBSD.org>

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


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 784bddbc 07-Nov-2007 Kevin Lo <kevlo@FreeBSD.org>

Cleanup of userland __P use


# 9ccf2f38 13-May-2005 Hajimu UMEMOTO <ume@FreeBSD.org>

NI_WITHSCOPEID cleanup

Reviewed by: gad


# 53953407 13-Aug-2003 Garance A Drosehn <gad@FreeBSD.org>

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


# a6381ce1 14-Jul-2003 Garance A Drosehn <gad@FreeBSD.org>

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


# 055c9045 14-Jul-2003 Garance A Drosehn <gad@FreeBSD.org>

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


# 54ede02d 05-Jul-2003 Philippe Charnier <charnier@FreeBSD.org>

add FBSDID


# 4a78ccd7 22-Jul-2002 Hajimu UMEMOTO <ume@FreeBSD.org>

use IPV6_V6ONLY instead of non standard IPV6_BINDV6ONLY.

Approved by: gad


# bd1d08a1 24-Jun-2002 Garance A Drosehn <gad@FreeBSD.org>

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


# 07602870 03-Jun-2002 Garance A Drosehn <gad@FreeBSD.org>

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

Submitted by: mike
MFC after: 2 weeks


# c7e56d32 19-Apr-2002 Garance A Drosehn <gad@FreeBSD.org>

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


# f6d56683 19-Apr-2002 Garance A Drosehn <gad@FreeBSD.org>

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

Obtained from: NetBSD, OpenBSD
MFC after: 4 days


# e95b3b9b 22-Jul-2001 Garance A Drosehn <gad@FreeBSD.org>

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

MFC after: 1 week


# 605d466b 21-Jul-2001 Garance A Drosehn <gad@FreeBSD.org>

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


# 6897f282 21-Jul-2001 Garance A Drosehn <gad@FreeBSD.org>

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


# 6d39e1b7 14-Jul-2001 Garance A Drosehn <gad@FreeBSD.org>

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


# bfb9fa63 14-Jul-2001 Garance A Drosehn <gad@FreeBSD.org>

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


# 6ddb63ca 24-Jun-2001 Garance A Drosehn <gad@FreeBSD.org>

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


# 685f7a38 15-Jun-2001 Garance A Drosehn <gad@FreeBSD.org>

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

MFC after: 1 week


# aa4ad562 15-Jun-2001 Garance A Drosehn <gad@FreeBSD.org>

*** empty log message ***


# cc3fd56f 15-Jun-2001 Garance A Drosehn <gad@FreeBSD.org>

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


# 31058a75 15-Jun-2001 Garance A Drosehn <gad@FreeBSD.org>

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


# ba7a1ad7 12-Jun-2001 Garance A Drosehn <gad@FreeBSD.org>

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


# affa0039 11-Mar-2001 Garance A Drosehn <gad@FreeBSD.org>

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


# 08829865 16-Dec-2000 Hajimu UMEMOTO <ume@FreeBSD.org>

IPv6 support for lpr.

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


# d41a93b6 14-Nov-2000 Garance A Drosehn <gad@FreeBSD.org>

Eliminate two compile-time warnings.


# f6a3be39 14-Nov-2000 Garance A Drosehn <gad@FreeBSD.org>

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

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


# 6522ebec 02-Nov-2000 Garance A Drosehn <gad@FreeBSD.org>

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


# 545ed065 27-Sep-2000 Garrett Wollman <wollman@FreeBSD.org>

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


# ba901a11 29-Mar-2000 Sheldon Hearn <sheldonh@FreeBSD.org>

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

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


# b2dc65a8 24-Jan-2000 Matthew Dillon <dillon@FreeBSD.org>

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.


# 97d92980 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# 90cf373d 11-Sep-1998 Garrett Wollman <wollman@FreeBSD.org>

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

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


# 4a1a0dbe 02-Dec-1997 Garrett Wollman <wollman@FreeBSD.org>

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


# 9b3fe531 24-Sep-1997 Philippe Charnier <charnier@FreeBSD.org>

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


# 36d0e2a3 23-Aug-1997 Joerg Wunsch <joerg@FreeBSD.org>

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


# 360d4ad5 22-Jul-1997 Warner Losh <imp@FreeBSD.org>

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


# afd70290 21-Jul-1997 Brian Somers <brian@FreeBSD.org>

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


# 6b7e3ca3 16-May-1997 Brian Somers <brian@FreeBSD.org>

Check for duplicate spool dirs.

Submitted by: eivind


# bc407914 26-Oct-1996 Warner Losh <imp@FreeBSD.org>

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


# 7f72cbba 09-May-1996 Joerg Wunsch <joerg@FreeBSD.org>

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.


# 0b561052 05-May-1996 Joerg Wunsch <joerg@FreeBSD.org>

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


# dea673e9 25-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

BSD 4.4 Lite usr.sbin Sources