summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authorgad <gad@FreeBSD.org>2004-12-19 05:14:29 +0000
committergad <gad@FreeBSD.org>2004-12-19 05:14:29 +0000
commit4572e84e4fd67c3554fd3a18fac78a43793168dc (patch)
tree36954484fa126d14b78de7e9c809204b1b9ddbcb /usr.sbin
parent8d0a2a10ef24a14fc274cea6ca31d758e9e3d5bb (diff)
downloadFreeBSD-src-4572e84e4fd67c3554fd3a18fac78a43793168dc.zip
FreeBSD-src-4572e84e4fd67c3554fd3a18fac78a43793168dc.tar.gz
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
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/lpr/lpd/printjob.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.sbin/lpr/lpd/printjob.c b/usr.sbin/lpr/lpd/printjob.c
index da99e1f..ae5ffc5 100644
--- a/usr.sbin/lpr/lpd/printjob.c
+++ b/usr.sbin/lpr/lpd/printjob.c
@@ -202,6 +202,7 @@ printjob(struct printer *pp)
}
if (stat(pp->lock_file, &stb) == 0 && (stb.st_mode & LFM_PRINT_DIS))
exit(0); /* printing disabled */
+ umask(S_IWOTH);
lfd = open(pp->lock_file, O_WRONLY|O_CREAT|O_EXLOCK|O_NONBLOCK,
LOCK_FILE_MODE);
if (lfd < 0) {
@@ -1974,7 +1975,7 @@ pstatus(const struct printer *pp, const char *msg, ...)
va_list ap;
va_start(ap, msg);
- umask(0);
+ umask(S_IWOTH);
fd = open(pp->status_file, O_WRONLY|O_CREAT|O_EXLOCK, STAT_FILE_MODE);
if (fd < 0) {
syslog(LOG_ERR, "%s: open(%s): %m", pp->printer,
OpenPOWER on IntegriCloud