Commit Graph

366 Commits

Author SHA1 Message Date
ru
cec60429bb Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by:	core
2004-12-21 08:47:35 +00:00
gad
4572e84e4f 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
2004-12-19 05:14:29 +00:00
gad
60517f2012 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
2004-12-17 01:54:50 +00:00
ru
5db2b9d5b3 For variables that are only checked with defined(), don't provide
any fake value.
2004-10-24 15:33:08 +00:00
phk
c96236a596 Stop on write error. 2004-09-27 08:24:05 +00:00
ru
ac606e7e88 Eliminated double whitespace. 2004-07-03 18:35:53 +00:00
ru
6294018a20 Mechanically kill hard sentence breaks. 2004-07-02 23:13:00 +00:00
ru
4498f82b4e Fixed spelling of the document date. 2004-07-02 18:00:03 +00:00
ru
7bb316650e Removed redundant mdoc(7) macro calls. 2004-06-05 20:21:43 +00:00
kientzle
bfa75b6977 Clarify the "lp" description to mention port@host syntax.
Suggested by: NetBSD man page
2004-02-19 18:55:55 +00:00
peter
3957af6745 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.
2003-10-26 03:01:24 +00:00
tjr
9da9583b7f 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
2003-10-13 07:24:22 +00:00
gad
bd595fed60 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
2003-08-21 03:43:48 +00:00
gad
fb44318364 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
2003-08-13 20:31:33 +00:00
gad
aecc2d68ea Remove a 'From:' that snuck into an sccsid comment line as part of -v1.3 2003-08-01 00:06:41 +00:00
brueffer
4f663a141a Fix a grammar bogon and a typo
Submitted by:	Warren Block <wblock@wonkity.com>
MFC after:	3 days
2003-07-17 07:29:20 +00:00
gad
77121414dd (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
2003-07-15 08:48:30 +00:00
gad
33bafddbc5 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
2003-07-15 08:45:06 +00:00
gad
5bd49295ca 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
2003-07-15 08:40:31 +00:00
gad
2a4873e853 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
2003-07-15 07:01:01 +00:00
gad
5ecf206bde 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
2003-07-14 22:24:28 +00:00
gad
d806166ff8 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
2003-07-14 20:20:58 +00:00
gad
40628b2c0b 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
2003-07-14 20:17:55 +00:00
gad
6c501ba529 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
2003-07-14 19:59:33 +00:00
gad
317e204ef0 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
2003-07-14 15:54:41 +00:00
gad
505db8074c 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
2003-07-14 05:15:21 +00:00
gad
ee2a4c7370 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
2003-07-14 05:13:55 +00:00
charnier
01f9734fe0 add FBSDID 2003-07-06 12:44:11 +00:00
gad
0303355ccc We don't need two $FreeBSD$'s. Remove the older one. 2003-06-21 05:59:59 +00:00
gad
fec999e0c4 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
2003-06-12 03:49:40 +00:00
gad
78dbcf9c67 Remove MAINTAINER= lines. That info is now in /usr/src/MAINTAINERS 2003-06-12 03:32:21 +00:00
gad
ae83ba896a When sanity-checking a variable, it's good to check the correct variable...
MFC after:	1 week
2003-06-12 03:30:10 +00:00
gad
00ec076b3f 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
2003-06-11 20:32:52 +00:00
imp
dde0cbde95 Include stdlib.h for atoi declaration.
Add $FreeBSD$ while I'm here.
2003-06-09 06:23:10 +00:00
imp
55bc626966 Include stdlib.h for atoi declaration
Add $FreeBSD$ while I'm here.
2003-06-09 06:22:01 +00:00
charnier
7260381488 Add section number to .Xr 2003-06-08 14:04:49 +00:00
eivind
a90fb3254b Change DEFMX to 0. This removes the size limit for print jobs by default.
Discussed with: gad (now), arch (a year ago)
2003-03-27 08:33:01 +00:00
schweikh
fec6546e12 english(4) police. 2002-12-27 12:15:40 +00:00
ru
fef14a0ffe mdoc(7) police: markup fixes.
Approved by:	re
2002-11-27 15:31:08 +00:00
sheldonh
9dcd1c6c1d Use "deprecated" instead of "depreciated" where appropriate. 2002-10-30 07:49:11 +00:00
schweikh
b2bb39b1eb 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
2002-08-11 13:05:30 +00:00
ume
cc156f1308 use IPV6_V6ONLY instead of non standard IPV6_BINDV6ONLY.
Approved by:	gad
2002-07-22 18:16:05 +00:00
gad
4b659b5a65 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
2002-07-17 00:51:19 +00:00
charnier
d2168fe021 The .Nm utility 2002-07-14 14:47:15 +00:00
gad
f9c62a94d6 Call routine to free everything obtained when filling in 'struct printer'.
MFC after:	3 days
2002-07-12 01:53:36 +00:00
gad
e2696cc497 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
2002-07-12 01:37:06 +00:00
gad
793db011bb 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
2002-07-12 01:31:46 +00:00
gad
43e8f81241 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
2002-07-12 01:22:57 +00:00
gad
f95138e697 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
2002-07-12 00:33:07 +00:00
gad
ee962e9598 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
2002-07-02 02:48:21 +00:00
gad
e9953bb6a3 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
2002-06-24 20:57:14 +00:00
gad
4f36141373 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
2002-06-23 20:57:18 +00:00
gad
8da8ab73f4 Just rename two generic-queue init routines from 'init_*' to '*_gi'
("gi" short for 'generic init'...).

MFC after:	10 days
2002-06-16 01:51:37 +00:00
gad
075d7239bd 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
2002-06-16 01:43:29 +00:00
gad
3037932163 Make the description of the 'down' command a little more readable.
MFC after:	10 days
2002-06-15 23:47:40 +00:00
gad
d26b6e946e 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
2002-06-15 23:31:27 +00:00
gad
6bfe568248 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
2002-06-15 22:51:58 +00:00
gad
1a13fee88e Bah humbug. Fix another typo on the same comment line. It also had
an option-space instead of a space...

MFC after:	10 days
2002-06-13 02:37:50 +00:00
gad
bac883a7e5 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
2002-06-13 02:32:42 +00:00
gad
1c055fbea9 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
2002-06-13 01:55:48 +00:00
gad
6f8d079aae 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
2002-06-04 03:40:24 +00:00
gad
dbf31d2115 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
2002-06-04 02:48:12 +00:00
gad
3833b4de4a Fix all the 'return' statements in here to follow style(9).
MFC after:	2 weeks
2002-06-04 01:28:15 +00:00
gad
48a6ff1d63 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
2002-06-04 01:16:13 +00:00
gad
329e6eb3ba Stop using the depreciated 'union wait' definitions, moving to a more
standard handling of wait()-related routines.

Submitted by:	mike
MFC after:	2 weeks
2002-06-03 20:47:01 +00:00
ru
891f14d453 mdoc(7) police: markup nits. 2002-05-30 08:10:32 +00:00
gad
7c61addfdd Have this use 'static const char rcsid' instead of __RCSID()
Discussed with:	bde, obrien
MFC after:	10 days
2002-05-28 20:37:00 +00:00
alfred
197cf7d2ba Assume __STDC__, remove non-__STDC__ code. 2002-05-28 19:23:47 +00:00
ru
46bb8fed43 Mark all internal libraries with INTERNALLIB. 2002-05-13 11:24:03 +00:00
gad
65f1d89e91 Include <netinet/in.h> to squash one more compile-time warning.
MFC after:	3 days
2002-04-25 07:41:49 +00:00
gad
aebcb64adb 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
2002-04-25 05:46:44 +00:00
gad
ccf61115c4 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
2002-04-23 02:42:04 +00:00
gad
45f3bdde74 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
2002-04-23 00:06:10 +00:00
gad
3221843018 Add 'const' to some casts to fix two warnings that are printed by the
new gcc (on sparc64).

MFC after:	4 days
2002-04-22 23:28:42 +00:00
gad
231257ddcf Add 'const' to some casts to fix two warnings that are printed by the
new gcc (on sparc64).

MFC after:	4 days
2002-04-22 23:08:07 +00:00
des
4d6b787d2d 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}/.
2002-04-22 13:44:47 +00:00
ru
5cd51ad03a Don't needlessly redefine the afterinstall target. 2002-04-22 10:46:12 +00:00
gad
85bc4df45b 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
2002-04-22 01:09:24 +00:00
gad
1102a8abb8 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
2002-04-22 01:04:02 +00:00
charnier
fdbc3fd42a Use `The .Nm utility' 2002-04-20 12:27:18 +00:00
gad
ef6b62c3fa 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
2002-04-19 19:33:24 +00:00
gad
cf3b8b8c8b Remove a safety-setting line which is unnecessary now that the previous
line is using strlcpy instead of strncpy.

MFC after:	4 days
2002-04-19 18:46:10 +00:00
gad
e9f3129e87 Fix 'deamon' -> 'daemon' in a comment.
Obtained from:	NetBSD, OpenBSD
MFC after:	4 days
2002-04-19 18:36:56 +00:00
gad
3602badd9a Add a little detail to the syslog-msg that comes up when lpd can not
execute a given filter.

MFC after:	4 days
2002-04-19 18:28:35 +00:00
gad
09a50a4aae 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
2002-04-07 08:12:39 +00:00
gad
1a0c92cc05 Rename a variable from 'user' to 'userid' to avoid some compiler warnings.
MFC after:	12 days
2002-04-07 08:01:42 +00:00
gad
bd2ab5b7ea 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
2002-04-07 07:48:32 +00:00
gad
e0f2899581 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
2002-04-07 05:37:27 +00:00
gad
6737fb8eb7 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
2001-12-15 23:35:55 +00:00
gad
bae50f587d 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
2001-12-05 02:07:20 +00:00
gad
f06e6295c8 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
2001-11-28 04:30:47 +00:00
gad
158a111b03 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
2001-11-27 01:32:25 +00:00
gad
87e28df717 Fix one more compile-time warning by renaming a local variable.
MFC after:	4 days
2001-10-09 00:38:40 +00:00
gad
cfae1b56b8 Fix a compile-time warning by declaring 'len' as size_t instead of int.
MFC after:	4 days
2001-10-09 00:34:20 +00:00
gad
0513139645 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
2001-10-09 00:27:14 +00:00
gad
2343dd5f76 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
2001-10-09 00:09:46 +00:00
gad
5b09ccdd39 Fix minor compile-time error in definition of 'copyright'.
MFC after:	4 days
2001-10-09 00:06:52 +00:00
gad
28ccdf6505 Fix minor compile-time warning that snunk in with changes to sortq() rtn.
MFC after:	4 days
2001-10-09 00:04:59 +00:00
obrien
d9494059c0 *** empty log message *** 2001-10-01 08:43:58 +00:00
gad
1053a31527 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
2001-09-27 17:16:53 +00:00