Install root backends world-readable

This is needed:
 - to comply with Debian Policy
 - because it is both nonsensical to not do so
 - it also breaks system checkers, bug reporting, etc

Bug: https://github.com/apple/cups/issues/2935
Bug-Debian: https://bugs.debian.org/410171
Patch-Name install-root-backends-world-readable.patch

Gbp-Pq: Name 0002-Install-root-backends-world-readable.patch
This commit is contained in:
Martin Pitt 2016-08-09 18:11:06 +02:00 committed by openKylinBot
parent a537e97818
commit 8dcd36bdbe
3 changed files with 4 additions and 4 deletions

View File

@ -13,7 +13,7 @@ include ../Makedefs
# Object files...
#
# RBACKENDS are installed mode 0700 so cupsd will run them as root...
# RBACKENDS are installed mode 0744 so cupsd will run them as root...
#
# UBACKENDS and ULBACKENDS are installed mode 0755 so cupsd will run them as
# an unprivileged user...
@ -118,7 +118,7 @@ install-exec: $(INSTALLXPC)
echo Installing backends in $(SERVERBIN)/backend
$(INSTALL_DIR) -m 755 $(SERVERBIN)/backend
for file in $(RBACKENDS); do \
$(LIBTOOL) $(INSTALL_BIN) -m 700 $$file $(SERVERBIN)/backend; \
$(LIBTOOL) $(INSTALL_BIN) -m 744 $$file $(SERVERBIN)/backend; \
done
for file in $(UBACKENDS); do \
$(INSTALL_BIN) $$file $(SERVERBIN)/backend; \

View File

@ -265,7 +265,7 @@ main(int argc, /* I - Number of command-line args */
* all others run as the unprivileged user...
*/
start_backend(dent->filename, !(dent->fileinfo.st_mode & (S_IWGRP | S_IRWXO)));
start_backend(dent->filename, !(dent->fileinfo.st_mode & (S_IWGRP | S_IWOTH | S_IXOTH)));
}
cupsDirClose(dir);

View File

@ -1247,7 +1247,7 @@ cupsdContinueJob(cupsd_job_t *job) /* I - Job */
else if (stat(command, &backinfo))
backroot = 0;
else
backroot = !(backinfo.st_mode & (S_IWGRP | S_IRWXO));
backroot = !(backinfo.st_mode & (S_IWGRP | S_IWOTH | S_IXOTH));
argv[0] = job->printer->sanitized_device_uri;