Description: Make log files readable to group "adm", if present. Author: Martin Pitt Bug-Ubuntu: https://launchpad.net/bugs/345953 --- a/scheduler/log.c +++ b/scheduler/log.c @@ -32,6 +32,7 @@ #include "cupsd.h" #include #include +#include /* @@ -77,6 +78,7 @@ filename[1024], /* Formatted log filename */ *ptr; /* Pointer into filename */ const char *logptr; /* Pointer into log filename */ + struct group *loggrp; /* Group entry of log filename */ /* @@ -87,6 +89,11 @@ return (1); /* + * Use adm group if possible, fall back to Group + */ + loggrp = getgrnam("adm"); + + /* * Format the filename as needed... */ @@ -196,7 +203,7 @@ * 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); } } @@ -235,7 +242,7 @@ * 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); }