summaryrefslogtreecommitdiffstats
path: root/usr.sbin/lpr
Commit message (Collapse)AuthorAgeFilesLines
* - Fix the code that matches userids in match_jobspec(). It needs to checkgad2011-04-133-11/+11
| | | | | | | | | | 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
* Remove the advertising clause from UCB copyrighted files in usr.sbin. Thisjoel2010-12-1130-120/+2
| | | | | is in accordance with the information provided at ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
* Move most of the remaining USD/PSD/SMM papers into share/docuqs2010-12-0411-1084/+1
|
* Fix printing of files located on ZFS filesystem with an st_dev oredwin2010-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* mdoc: drop redundant .Pp and .LP callsuqs2010-10-082-2/+0
| | | | They have no effect when coming in pairs, or before .Bl/.Bd
* - Improve the wait4data() routine so it behaves better when checkinggad2010-08-111-7/+23
| | | | | | | | | | | 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
* Fix typos and spelling mistakes.joel2010-08-061-1/+1
|
* Modernize scandir(3) and alphasort(3) interfaces according to the IEEEkib2010-01-042-2/+2
| | | | | | | | | | | | | | | | | | | | 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
* The last big commit: let usr.sbin/ use WARNS=6 by default.ed2010-01-025-0/+10
|
* Fix using lp(1) without the new -t option after r194171.jilles2009-09-291-2/+2
| | | | | | PR: standards/129554 Tested by: Steve Kargl MFC after: 1 week
* Fix end-of-line issues that can come up when `lpq' reads informationgad2009-06-241-1/+102
| | | | | | | | | | | | | | 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
* In preparation for raising NGROUPS and NGROUPS_MAX, change basebrooks2009-06-191-2/+6
| | | | | | | | | | | | | | | | | | | | | | 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
* Add -m and -t options.brian2009-06-142-2/+13
| | | | | | PR: 129554 Submitted by: gavin MFC after: 3 weeks
* use bigger local variable to calculate free spaceticso2008-09-011-1/+1
| | | | int overflows at 1T free space
* Cleanup of userland __P usekevlo2007-11-071-2/+2
|
* Use sizeof() for calculating the buffer size instead of hard-coded values.kevlo2007-03-061-1/+1
|
* Obey MK_INET6_SUPPORT.yar2006-07-271-0/+4
|
* Fix checking of the "lock" file in the spool directory for a queue,gad2006-07-071-2/+9
| | | | | | | | | | | 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
* Rever the previous changes. It turns out that it perfectly correctgad2006-03-093-3/+3
| | | | | | | 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
* Switch these makefiles to use 'MAN=' to indicate they will not generategad2006-03-083-3/+3
| | | | | | | 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
* Use the new name H_SETSIZE instead of the old H_EVENT to set the historystefanf2005-10-191-1/+1
| | | | | | | size. PR: 86355 Approved by: gad
* Remove kludges intended to support src trees with partial obj trees.des2005-06-101-4/+0
| | | | Discussed with: ru
* NI_WITHSCOPEID cleanupume2005-05-132-5/+5
| | | | Reviewed by: gad
* MFS5: Minor style(9) tweak.delphij2005-02-221-1/+1
|
* Be more careful when doing el_parse() - only do it when el isdelphij2005-02-151-1/+1
| | | | | | | | | | 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
* Expand *n't contractions.ru2005-02-132-2/+2
|
* Fixed .Xr call.ru2005-01-211-1/+2
|
* Sort sections.ru2005-01-185-34/+34
|
* Fix so all parts of lpd, lpc, lpq, and lprm will use the same algorithmgad2004-12-315-37/+79
| | | | | | | | | | | | | | | | | 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
* Do more extensive checking of the userid field which is read in from thegad2004-12-311-7/+46
| | | | | | | | | | | | | | | | 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
* Start the dreaded NOFOO -> NO_FOO conversion.ru2004-12-213-3/+3
| | | | OK'ed by: core
* Call umask() before opening the lock-file for a queue, to make suregad2004-12-191-1/+2
| | | | | | | | | 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
* When printing a data file received from some other host, check to makegad2004-12-171-0/+100
| | | | | | | | | 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
* For variables that are only checked with defined(), don't provideru2004-10-245-5/+5
| | | | any fake value.
* Stop on write error.phk2004-09-271-2/+5
|
* Eliminated double whitespace.ru2004-07-033-12/+13
|
* Mechanically kill hard sentence breaks.ru2004-07-028-56/+110
|
* Fixed spelling of the document date.ru2004-07-021-1/+1
|
* Removed redundant mdoc(7) macro calls.ru2004-06-051-2/+2
|
* Clarify the "lp" description to mention port@host syntax.kientzle2004-02-191-1/+1
| | | | Suggested by: NetBSD man page
* Fix a warning about mismatched pointers. A pointer to "void *" is not thepeter2003-10-261-1/+1
| | | | same as a pointer to "char *". Tell the compiler this is ok.
* Fix two buffer overflows caused by off-by-one errors: avoid writing a nulltjr2003-10-131-2/+2
| | | | | | | 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
* Minimal update to make it easier to increase the buffer-size lpd usesgad2003-08-212-10/+20
| | | | | | | | | | 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
* Use STDIN_FILENO, STDOUT_FILENO, and STDERR_FILENO in a few moregad2003-08-133-17/+17
| | | | | | | | places (replacing constants 0, 1 & 2). Noticed by: Reviewed by: md5 MFC after: 4 days
* Remove a 'From:' that snuck into an sccsid comment line as part of -v1.3gad2003-08-011-1/+1
|
* Fix a grammar bogon and a typobrueffer2003-07-171-1/+1
| | | | | Submitted by: Warren Block <wblock@wonkity.com> MFC after: 3 days
* (Hopefully) Last set of changes so all of lpr uses __FBSDID() forgad2003-07-155-18/+20
| | | | | | | setting rcsids, and uses a consistent format for 'sccsid' lines. Reviewed by: discussed with bde and obrien MFC after: 15 days
* More changes to use __FBSDID() for setting rcsids, and fix thegad2003-07-152-4/+7
| | | | | | | | 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
* More changes to use __FBSDID() for setting rcsids, and fix thegad2003-07-151-5/+6
| | | | | | | | | | 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
* More changes to use __FBSDID() for setting rcsids. For the filtergad2003-07-156-9/+18
| | | | | | | | | | 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
OpenPOWER on IntegriCloud