[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#927887: Race condition on boot between cups and sssd



Package: cups
Version: 2.2.10-6

Problem description:

When cups has set the "SystemGroup" directive to an external group
provided through sss and cups starts before sssd has finished booting,
cups will crash because the group does not exist. For instance, with a
group named lpadmins@tests.local served from Active Directory through
sssd, if the sssd service hasn't booted before cups:

Mar 27 10:10:33 cups-sssd systemd[1]: Started CUPS Scheduler.
Mar 27 10:10:33 cups-sssd systemd[1]: Started CUPS Scheduler.
Mar 27 10:10:33 cups-sssd systemd[1]: Started Make remote CUPS printers
available locally.
Mar 27 10:10:33 cups-sssd cupsd[21463]: Unknown SystemGroup
"lpadmins@tests.local" on line 19 of /etc/cups/cups-files.conf.
Mar 27 10:10:33 cups-sssd cupsd[21463]: Unable to read
"/etc/cups/cups-files.conf" due to errors.
Mar 27 10:10:33 cups-sssd systemd[1]: cups.service: Main process exited,
code=exited, status=1/FAILURE
Mar 27 10:10:33 cups-sssd systemd[1]: cups.service: Failed with result
'exit-code'.
Mar 27 10:10:33 cups-sssd systemd[1]: cups.service: Service hold-off
time over, scheduling restart.
Mar 27 10:10:33 cups-sssd systemd[1]: cups.service: Scheduled restart
job, restart counter is at 2.
Mar 27 10:10:33 cups-sssd systemd[1]: Stopping Make remote CUPS printers
available locally...
Mar 27 10:10:33 cups-sssd systemd[1]: Stopped Make remote CUPS printers
available locally.
Mar 27 10:10:33 cups-sssd systemd[1]: Stopped CUPS Scheduler.

If sssd is running before cups starts, everything works as expected.

Test Case:

 * Configure an external authentication service (LDAP, AD...) and create
a group, for instance "lpadmins@tests.local"

 * Set SystemGroup to match that group in /etc/cups/cups-files.conf:
SystemGroup lpadmins@tests.local

 * Reboot

 * If cups has started before sssd has finished booting, cups will crash:
Mar 27 10:10:33 cups-sssd cupsd[21463]: Unknown SystemGroup
"lpadmins@tests.local" on line 19 of /etc/cups/cups-files.conf.

 * If cups starts after sssd, it will work fine.

---

This bug has been fixed upstream in 2.2.12 with this commit:

https://github.com/apple/cups/commit/aaebca5660fdd7f7b6f30461f0788d91ef6e2fee


Kind regards,

Victor


Reply to: