Bug 860940 - cups remote browsing and systemd cups.socket
Summary: cups remote browsing and systemd cups.socket
Status: RESOLVED DUPLICATE of bug 857372
Alias: None
Product: openSUSE 13.1
Classification: openSUSE
Component: Printing (show other bugs)
Version: Final
Hardware: All openSUSE 13.1
: P5 - None : Major (vote)
Target Milestone: ---
Assignee: Johannes Meixner
QA Contact: Johannes Meixner
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-28 23:02 UTC by Diego Ercolani
Modified: 2014-01-29 08:16 UTC (History)
0 users

See Also:
Found By: Community User
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Ercolani 2014-01-28 23:02:55 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:26.0) Gecko/20100101 Firefox/26.0

my versions: cups-1.5.4-12.4.1.x86_64
I have a setup where there is a opensuse printer server that share printers via cups.
In OpenSuSE 13.1 is systemd that listen to cups socket and in some manner give control to cups service... (where can I find some documentation of this architecture ?)
I have many problems with this approach:
SERVER SIDE (I obviously configured cupsd.conf to accept external connections and remote announcing of printing spool and configured SuSEfirewall2 not to block requests from the outside)
============

cups socket listen only to localhost infact original /usr/lib/systemd/system/cups.socket is:
[Unit]
Description=CUPS Printing Service Sockets

[Socket]
ListenStream=/var/run/cups/cups.sock
ListenStream=127.0.0.1:631
ListenStream=[::1]:631
ListenDatagram=127.0.0.1:631
ListenDatagram=[::1]:631
BindIPv6Only=ipv6-only

[Install]
WantedBy=sockets.target

so it is impossible to print from outside this server because all the configurations managed by utilities are for /etc/cups/cupsd.conf

I solved this commenting out all the ListenDatagram and ListenStream and adding:

ListenDatagram=631
ListenStream=631

so:
systemctl daemon-reload
systemctl stop cups.service
systemctl stop cups.socket
systemctl start cups.socket
systemctl start cups.service

did the job.

CLIENT SIDE (I obviously configured cupsd.conf to browse the network for printers)
===========

Here there is the Evil, as if I configure the cups.socket like server side, relaunch daemons, I can see a process: cups-polld that seem to scan the network (but I cannot see any packet exit from the box) so I solved removing the dependency for cups.socket and starting only the systemd units:
cups.path e cups.service

without cups.socket printer is correctly imported and I can print.




Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Comment 1 Johannes Meixner 2014-01-29 08:16:08 UTC
See
https://bugzilla.novell.com/show_bug.cgi?id=857372
for the full sad story.

*** This bug has been marked as a duplicate of bug 857372 ***