Commit Graph

214 Commits

Author SHA1 Message Date
Poul-Henning Kamp
2673ed4725 Use macro API to <sys/queue.h>
Submitted by:	"Jason" <jsmethers@pdq.net>
Reviewed by:	/sbin/md5
2000-12-30 20:56:04 +00:00
Ruslan Ermilov
8b5c4af3ff Prepare for mdoc(7)NG. 2000-12-27 15:30:30 +00:00
Hajimu UMEMOTO
08829865f6 IPv6 support for lpr.
Reviewed by:	freebsd-current (no objection)
Obtained from:	KAME
2000-12-16 18:06:09 +00:00
Ruslan Ermilov
e97407b4f2 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 20:10:44 +00:00
Garance A Drosehn
d41a93b658 Eliminate two compile-time warnings. 2000-11-15 06:17:52 +00:00
Garance A Drosehn
f6a3be3940 Fix the '-d' option (turns on socket-debugging). Improve startup msgs.
PR:		17178
Submitted by:	Richard <satherrl@dssrg.curtin.edu.au>
2000-11-15 06:00:42 +00:00
Garance A Drosehn
59a09735ef 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>
2000-11-15 04:57:22 +00:00
Garance A Drosehn
a4f87098ce Reset the seteuid in a few obscure error situations. 2000-11-15 04:10:59 +00:00
Garance A Drosehn
b770f3547d Just some style-related improvements. 2000-11-15 03:35:09 +00:00
Garance A Drosehn
d96ca75758 Minor style improvements. 2000-11-14 22:08:52 +00:00
Garance A Drosehn
aa538512da Fix (style) some variable initializations. 2000-11-14 22:03:59 +00:00
Garance A Drosehn
a480d5f20e Change 'count' to a more descriptive 'jobcount', and fix the stupid
comments which claim this counter is counting "files", which it is not.
2000-11-14 21:44:47 +00:00
Garance A Drosehn
a4803ea103 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
2000-11-14 21:32:52 +00:00
Garance A Drosehn
c61c5210be My previous commit removed a line it wasn't supposed to. Add it back. 2000-11-13 16:21:24 +00:00
Garance A Drosehn
ca52ea3cc8 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
2000-11-13 05:44:50 +00:00
Ruslan Ermilov
726b61ab5f Avoid use of direct troff requests in mdoc(7) manual pages. 2000-11-10 17:46:15 +00:00
Garance A Drosehn
cdd8df463b 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.
2000-11-08 00:52:11 +00:00
Garance A Drosehn
30b4b758aa 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
2000-11-06 19:36:38 +00:00
Garance A Drosehn
34dae154d0 Get rid of a minor compile-time warning. 2000-11-06 19:19:49 +00:00
Garance A Drosehn
3aeddf3c1b Cosmetic improvements to a few recvjob-related error messages. 2000-11-06 04:37:56 +00:00
Garance A Drosehn
7c17eaa6a8 Fix a format-code, thus getting rid of a compile-time warning msg. 2000-11-06 04:11:56 +00:00
Garance A Drosehn
19d0f858b4 Fix potential problem processing jobs from hosts with >32 character hostnames.
This may fix a problem reported by Juha Ylitalo <juha.o.ylitalo@nokia.com>
2000-11-05 03:24:26 +00:00
Garance A Drosehn
b9bde6517a Fix 'lprm' processing so is more likely to work correctly when dealing
with long (>32 character) hostnames.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Submitted by:	Scott James Remnant <scott@pavilion.net>
2000-01-19 14:25:08 +00:00
Andrey A. Chernov
d3d56c3d4c Add support for pr's locale 1999-11-30 16:15:22 +00:00
Andrey A. Chernov
13c7185319 moved to koi2alt 1999-09-23 02:54:44 +00:00
Andrey A. Chernov
168a34b780 Add koi2855 filter
Repository move koi2alt.c -> koi2alt/koi2alt.c required
1999-09-21 20:42:10 +00:00
Alexey Zelkin
c6d6e7726f Correct spelling : ascii -> ASCII
PR:		docs/13702
Submitted by:	Stephen J. Roznowski <sjr@home.com>
Reviewed by:	mpp
1999-09-20 09:15:23 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Matthew N. Dodd
061bab1a78 Fix some cut and paste damage.
Noticed by: Norman C. Rice <nrice@emu.sourcee.com>
1999-08-20 07:14:46 +00:00
Matthew N. Dodd
0b2d7c2ffc What the heck was I thinking? Nobody else saw this? Sheesh.
(num > MAX) ? MAX : num

rather than

(MAX > num) ? MAX : num

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

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

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

     .\"    $Id$
     .\"

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

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

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

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

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

PR: 3556
1999-01-06 08:25:56 +00:00
David E. O'Brien
2887f586f0 Remove useless `BINOWN=root' now that it is the default. 1998-09-19 22:42:14 +00:00
Garrett Wollman
90cf373d9b Fix additional warnings. Remove -Werror, since some people have complained
about it.

PR:		7886
Submitted by:	Stefan Eggers <seggers@semyam.dinoco.de> (partially)
1998-09-11 18:49:33 +00:00
Brian Somers
b538df1666 Fix ``lp=port@machine'' syntax and mention it in printcap(5). 1998-08-21 18:08:46 +00:00
John Birrell
0793ce314a Remove -Werror from CFLAGS on i386 because with -nostdinc gcc spits
warnings from unused static inline functions in headers if you happen
to set CFLAGS without -O.
1998-06-11 03:53:23 +00:00
Poul-Henning Kamp
1499abeef4 Spelling fixes.
PR:		6903
Reviewed by:	phk
Submitted by:	Josh Gilliam <josh@quick.net>
1998-06-10 12:34:27 +00:00
John Birrell
ef1c4c53f4 The printf type checking in gcc wants %qd to be a long long, so add
a cast in case off_t is not a long long (as on alpha).
1998-05-13 06:52:08 +00:00
John Birrell
84cc0c31af Make -Werror i386 specific because -nostinc on alpha spits warnings
for unused static inline functions in header files.
1998-05-13 06:50:09 +00:00
David E. O'Brien
69d23ff062 Make ``-h'' follow the manpage, and suppress the burst page reguardless of
the number of ``-h'' given.
1998-04-17 17:25:49 +00:00
Philippe Charnier
f12a14713b .Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq. 1998-03-23 08:31:20 +00:00
John Birrell
d1ecde2bbb Cast an argument to int for a printf field width the way that gcc
prefers it. This source is compiled with -Werror so the slightest
warning is enough to ruin my day.
1998-03-22 20:19:27 +00:00
Bruce Evans
06c779979a Use foo/bar.a' instead of -Lfoo -lbar' for linking to static internal
libraries so that `ld -f' in can create correct dependencies for
yet-to-be-built libraries.

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

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

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

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

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

Likely 2.2.5R candidate.
Obtained from: OpenBSD
1997-10-06 03:58:48 +00:00
Philippe Charnier
9b3fe531b5 Use err(3). Add usage(). Various fixes in man pages. 1997-09-24 06:48:24 +00:00
Philippe Charnier
34384756cd environmental -> environment. 1997-09-18 06:55:21 +00:00
Joerg Wunsch
36d0e2a3e2 common_source: staticize private version of warn() so to not conflict
with libc's version.

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

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

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

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

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

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

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

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

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

Obtained from: OpenBSD
1997-07-29 13:24:01 +00:00