Bug#747073: [cups-daemon] Doesn't work with systemd
Didier 'OdyX' Raboud
odyx at debian.org
Sun Aug 3 13:06:10 BST 2014
Hi Marco, hi all,
Le dimanche, 3 août 2014, 12.11:58 Marco d'Itri a écrit :
> > systemd maintainers: I think Listen*=[::1]:$port stanzas shouldn't
> > make the .socket-file loading fail if the ipv6 module is not
> > loaded. It should certainly spit out a warning though.
>
> There is no magic "we do not care if it does not work" address family:
> if a unit is configured to open a socket but this fails then the unit
> must fail.
Fair enough.
Assuming there's no good way to make this work within systemd, I see
three ways forward to fix this in cups:
a) declare that ipv6 is mandatory these days, document this in
README.Debian, let users cope with it.
Pros: it works for most, ipv6 is coming anyway
Cons: changes done through cups would break the user override every
time.
b) Detect whether there's a local ipv6 address both in the
cups-daemon.preinst and in the cups code through
cupsd-write-systemd-Port.patch.
Pros: would work for everyone
Cons: wouldn't make cups work over ipv6 if the latter is enabled
after cups is installed; more fault-potential os-specific
code.
c) Replace address-based ListenStream stanzas with a combination of
BindIPv6Only and FreeBind to configure systemd to bind only local or
all available interfaces. The problem with that is that CUPS does
address-based checking to verify that its bound addresses are really
local. That could be patched out or corrected though.
Pros: Probably the cleanest solution
Cons: Needs good C-fu which I'm not sure to have
Will imply extensive testing to fix a setup that currently
works for most cases.
No idea if this works as I think it should.
The current setup took quite some intensive iterations to work as it
currently does; it's only drawback is that it fails to give proper
feedback to users who have disabled ipv6 for some reason.
I'm currently leaning towards either leaving this bug as a documentation
trace (+wontfix) or tackling the c)-idea above but would welcome
feedback from systemd maintainers on whether this has a chance to
actually work.
Cheers,
OdyX
More information about the Pkg-systemd-maintainers
mailing list