Bug 10475 - printing fails, missing rights on usb device (cups misses dependency to acl)
Summary: printing fails, missing rights on usb device (cups misses dependency to acl)
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: x86_64 Linux
Priority: Normal minor
Target Milestone: ---
Assignee: Colin Guthrie
QA Contact:
URL:
Whiteboard: MGA3TOO
Keywords: Triaged
Depends on:
Blocks:
 
Reported: 2013-06-10 16:49 CEST by Helge Hielscher
Modified: 2013-07-29 13:00 CEST (History)
5 users (show)

See Also:
Source RPM: cups-1.5.4-9.mga3.src.rpm
CVE:
Status comment:


Attachments

Description Helge Hielscher 2013-06-10 16:49:41 CEST
Description of problem: when I try to print, the status is processing and does not change until I change the rights of /dev/bus/usb/010/002 (or whereever the printer is)

Version-Release number of selected component (if applicable):
$ rpm -qa|grep cups
cups-drivers-lxx74-0.8.4.2-11.mga3
cups-1.6.2-4.mga4
cups-drivers-m2300w-0.51-11.mga3
cups-filters-1.0.34-4.mga4
cups-drivers-ptouch-1.3-5.mga3
cups-drivers-capt-0.1-11.mga3
lib64cups-filters1-1.0.34-4.mga4
cups-drivers-foo2zjs-0.0-0.20121012.2.mga3
cups-drivers-splix-2.0.0-5.mga3
cups-common-1.6.2-4.mga4
cups-drivers-magicolor5430dl-1.8.1-14.mga3
cups-pk-helper-0.2.4-3.mga4
cups-drivers-lbp660-0.3.1-6.mga3
cups-drivers-lz11-1.2-10.mga3
cups-drivers-2008-5.mga3
cups-drivers-foo2kyo-0.1.0a-11.mga3
python-cups-1.9.62-2.mga3
libcups2-1.6.2-4.mga4
cups-drivers-magicolor5440dl-1.2.1-14.mga3
gutenprint-cups-5.2.9-2.mga3
lib64cups2-devel-1.6.2-4.mga4
cups-drivers-pegg-0.23-10.mga3
cups-drivers-magicolor2430dl-1.6.1-14.mga3
lib64cups2-1.6.2-4.mga4

rpm -qa|grep usb
libusb-compat0.1_4-0.1.4-3.mga3
libusbx-devel-doc-1.0.15-1.mga4
lib64usb-compat0.1_4-0.1.4-3.mga3
usb_modeswitch-1.2.5-3.mga3
lib64usb1.0-devel-1.0.15-1.mga4
usbutils-006-3.mga3
lib64usbredirhost1-0.4.3-2.mga3
usb_modeswitch-data-20121109-3.mga3
lib64gusb2-0.1.6-1.mga3
usbmuxd-1.0.8-3.mga3
libgusb2-0.1.6-1.mga3
libusb1.0_0-1.0.15-1.mga4
lib64usbmuxd1-1.0.7-4.mga3
lib64usb1.0_0-1.0.15-1.mga4
x11-driver-video-sisusb-0.9.6-4.mga4
lib64usbmuxd2-1.0.8-3.mga3
lib64usbredirparser0-0.4.3-2.mga3
liveusb-creator-3.11.7-3.mga3

# rpm -qa|grep udev
lib64gudev1.0_0-204-1.mga4
lib64udev0-181-8.mga2
libudev0-181-8.mga2
lib64udev-devel-204-1.mga4
lib64udev1-204-1.mga4
system-config-printer-udev-1.3.12-6.mga3
python-gudev-147-3.mga3
libudev1-204-1.mga4
libgudev1.0_0-204-1.mga4
lib64gudev-gir1.0-204-1.mga4

with systemd-204-1.mga4 and dbus-1.6.10-1.mga4
                                                   
How reproducible: always, it does not matter if the printer is on at boot

Steps to Reproduce:
1. try to print something

Result: status is processing and /var/log/cups/error_log says
D [10/Jun/2013:16:12:02 +0200] [Job 197] libusb_get_device_list=14
D [10/Jun/2013:16:12:02 +0200] [Job 197] Failed to open device, code: -3
I [10/Jun/2013:16:12:03 +0200] [Job 197] Waiting for printer to become available.

$ lsusb|grep Epson
Bus 010 Device 002: ID 04b8:0854 Seiko Epson Corp. ME OFFICE 650FN Series/Stylus Office BX310FN/TX520FN Series

# ls -lh /dev/bus/usb/010/002
crw-rw-r--+ 1 root scanner 189, 1153 Jun 10 16:19 /dev/bus/usb/010/002

Printing works if I add rights with 
#chmod a+rw /dev/bus/usb/010/002


Reproducible: 

Steps to Reproduce:
Manuel Hiebel 2013-06-11 21:06:53 CEST

Keywords: (none) => Triaged
Assignee: bugsquad => mageia

Comment 1 Christian Lohmaier 2013-06-13 20:29:55 CEST
the bug is in cups package, changing flags accordingly.

Cups installs 

/lib/udev/rules.d/69-printers_lp_user_fix.rules

that in turn tries to run /usr/bin/setfacl to set permissions, but cups doesn't depend on acl, so it doesn't get installed when installing cups.

Easy fix: Add 

"Requires: acl" 

to cups.spec

workaround: install package acl manually.

I consider this a rather bad bug in Mageia 3, so please don't just fix for Cauldron, but also for Mga3

CC: (none) => lohmaier+mageia
Summary: printing fails, missing rights on usb device => printing fails, missing rights on usb device (cups misses dependency to acl)
Source RPM: libudev1-204-1.mga4 => cups-1.5.4-9.mga3.src.rpm

Johnny A. Solbu 2013-07-27 17:08:46 CEST

CC: (none) => cooker
Whiteboard: (none) => MGA3TOO

Comment 2 Colin Guthrie 2013-07-27 17:22:59 CEST
I fail to see how the setfacl commands allow users to access the devices. Only the lp user is added to the ACL.

That said, the acl package is clearly needed by this rule anyway and thus that's certainly something that needs fixed - I'm just a little confused by how it helps... 

Does some cups component run as the lp user?
Comment 3 Colin Guthrie 2013-07-27 18:24:42 CEST
I should really look first.. the template service cups-lpd@.service runs as the lp user :)
Comment 4 Olivier Blin 2013-07-29 13:00:09 CEST
Fixed in cups-1.7-0.rc1.6.mga4
Thanks for the report and investigation!

Status: NEW => RESOLVED
CC: (none) => mageia, mageia, thierry.vignaud
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.