[cups-devel] [LOW] STR #4327: cupsUser() changed from getuid() to getenv("USER"), breaks in su shell

twaugh at redhat.com twaugh at redhat.com
Fri Jan 3 02:15:34 PST 2014


DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Since 1.6b1, the implementation of cupsUser() has changed so that, unless
overridden, getenv("USER") determines the current user. Previously,
getuid() had been used to deterine the current user.

This was part of revision 10305, "Add User directive to client.conf and
CUPS_USER environment variable."

Was there a particular reason to change the no-override behaviour? It
causes jobs submitted in an "su" shell to be marked as owned by the
non-root user:

$ whoami
guest
$ su
Password:
# whoami
root
# echo . | lp
[...]
# lpstat -o
printer-1      guest    [...]

Link: https://www.cups.org/str.php?L4327
Version: 1.6-current




More information about the cups-devel mailing list