summaryrefslogtreecommitdiff
path: root/debian/patches/logfiles_adm_readable.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/logfiles_adm_readable.patch')
-rw-r--r--debian/patches/logfiles_adm_readable.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/debian/patches/logfiles_adm_readable.patch b/debian/patches/logfiles_adm_readable.patch
new file mode 100644
index 000000000..e72ba5836
--- /dev/null
+++ b/debian/patches/logfiles_adm_readable.patch
@@ -0,0 +1,62 @@
+From: Martin Pitt <mpitt@debian.org>
+Date: Tue, 9 Aug 2016 18:11:38 +0200
+Subject: Make log files readable to group "adm", if present.
+
+Bug-Ubuntu: https://launchpad.net/bugs/345953
+
+Last-Update: 2015-02-10
+Patch-Name: logfiles_adm_readable.patch
+---
+ scheduler/log.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/scheduler/log.c b/scheduler/log.c
+index cdb5437..d53d140 100644
+--- a/scheduler/log.c
++++ b/scheduler/log.c
+@@ -21,6 +21,7 @@
+ # include <systemd/sd-journal.h>
+ #endif /* HAVE_ASL_H */
+ #include <syslog.h>
++#include <grp.h>
+
+
+ /*
+@@ -110,6 +111,7 @@ cupsdCheckLogFile(cups_file_t **lf, /* IO - Log file */
+ filename[1024], /* Formatted log filename */
+ *ptr; /* Pointer into filename */
+ const char *logptr; /* Pointer into log filename */
++ struct group *loggrp; /* Group entry of log filename */
+
+
+ /*
+@@ -129,6 +131,11 @@ cupsdCheckLogFile(cups_file_t **lf, /* IO - Log file */
+ return (1);
+ }
+
++ /*
++ * Use adm group if possible, fall back to Group
++ */
++ loggrp = getgrnam("adm");
++
+ /*
+ * Format the filename as needed...
+ */
+@@ -241,7 +248,7 @@ cupsdCheckLogFile(cups_file_t **lf, /* IO - Log file */
+ * Change ownership and permissions of non-device logs...
+ */
+
+- fchown(cupsFileNumber(*lf), RunUser, Group);
++ fchown(cupsFileNumber(*lf), RunUser, loggrp ? loggrp->gr_gid : Group);
+ fchmod(cupsFileNumber(*lf), LogFilePerm);
+ }
+ }
+@@ -284,7 +291,7 @@ cupsdCheckLogFile(cups_file_t **lf, /* IO - Log file */
+ * Change ownership and permissions of non-device logs...
+ */
+
+- fchown(cupsFileNumber(*lf), RunUser, Group);
++ fchown(cupsFileNumber(*lf), RunUser, loggrp ? loggrp->gr_gid : Group);
+ fchmod(cupsFileNumber(*lf), LogFilePerm);
+ }
+