BUG: STR #2756

Roger Niva rogerniva at gmail.com
Fri Mar 14 01:09:33 PDT 2008


Hi.

Could you please reopen bug 2756. It is NOT a duplicate of 1254.
The bugreport is about connections the cups daemon creates when it tries to print, ie outwards connections.
Binding to an interface works fine, but cupsd is not using this IP-adress when connecting to the printers.

Example:

Server 1 has the following interfaces:

eth0 IP 192.168.1.1
eth0:0 IP 192.168.1.2
eth0:1 IP 192.168.1.3
eth0:2 IP 192.168.1.4

cupsd is bound to IP 192.168.1.3. This works fine.
Now, if you try to print to a network printer through this daemon, the tcp connections will originate from 192.168.1.1.

As far as I can tell, this is how cupsd does it today:

socket() : create socket
bind(port): bind to a privileged port
connect(): connect to network printer

This is how it should work, imo:

socket(): create socket
bind(listenadress,port): bind to privileged port on bound IP-adress
connect(): connect to network printer

I may be missing something as I'm not familiar with the cups sourcebase, so feel free to enlighten me.

Roger





More information about the cups-devel mailing list