Browsing issues with CUPS 1.2

Roger Leigh ${rleigh} at invalid.whinlatter.ukfsn.org.invalid
Fri Jul 7 03:48:02 PDT 2006


Hi folks,

I've seen some odd problems with CUPS 1.2 and browsing.

I have two hosts on a network.  Both have

Browsing On
BrowseOrder allow,deny
BrowseAllow from @LOCAL
BrowseAddress @LOCAL

in cupsd.conf.

Both are also listening on the local network:

Listen /var/run/cups/cups.sock
Listen localhost:631
Listen hardknott.home.whinlatter.ukfsn.org:631

The other machine is the same, but with a different hostname on the
last line.

I don't see any remote printers on either system.  Both are listening
on UDP and TCP:

rleigh at liet:~$ netstat --tcp --udp -l | grep ipp
tcp        0      0 liet.home.whinlatte:ipp *:*                     LISTEN
tcp        0      0 localhost.localdoma:ipp *:*                     LISTEN
udp        0      0 *:ipp                   *:*

rleigh at hardknott:/etc/cups$ netstat --tcp --udp -l | grep ipp
tcp        0      0 hardknott.home.whin:ipp *:*                     LISTEN
tcp        0      0 localhost:ipp           *:*                     LISTEN
udp        0      0 *:ipp                   *:*

I can't see any reason why there are no broadcasts, or no broadcasts
are recieved.

(When I first set up the second server, it saw all the first server's
printers, and briefly the first server saw the second server's
printer, but now there's nothing.  It was presumably some tiny
configuration tweak that caused this, but everything is, AFAICT,
enabled and set up correctly.)

This is what the cupsd.conf looked like:

LogLevel debug

SystemGroup lpadmin

Listen /var/run/cups/cups.sock
Listen localhost:631
Listen hardknott.home.whinlatter.ukfsn.org:631
# On the other machine:
# Listen liet.home.whinlatter.ukfsn.org:631

Browsing On
BrowseOrder allow,deny
BrowseAllow from @LOCAL
BrowseAddress @LOCAL

DefaultAuthType Basic

<Location />
  Order allow,deny
  Allow localhost
  Allow @LOCAL
</Location>

<Location /admin>
  Encryption Required
  Order allow,deny
  Allow localhost
</Location>

<Location /admin/conf>
  AuthType Basic
  Require user @SYSTEM
  Order allow,deny
  Allow localhost
</Location>

<Policy default>
  # Job-related operations must be done by the owner or an adminstrator...
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>

  <Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default>
    AuthType Basic
    Require user @SYSTEM
    Order deny,allow
  </Limit>

  <Limit Cancel-Job CUPS-Authenticate-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>

  <Limit All>
    Order deny,allow
  </Limit>
</Policy>


I eventually found the issue:

In /etc/cups/cups.d/ports.conf:

  Port 631

works, but

  Listen /var/run/cups/cups.sock
  Listen localhost:631
  Listen liet.home.whinlatter.ukfsn.org:631

does not.  Even though the documentation says that Port is equivalent
to Listen, Listen does not permit browsing.

When using Port:

$ sudo lsof |grep UDP
dhclient  3319        root    5u     IPv4       8869                UDP *:bootpc
cupsd     3920        root    3u     IPv4      10479                UDP *:ipp

$ netstat --udp --all
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp        0      0 *:bootpc                *:*
udp        0      0 *:ipp                   *:*

When using Listen:

$ sudo lsof |grep UDP
dhclient  3319        root    5u     IPv4       8869                UDP *:bootpc
cupsd     4056        root    4u     IPv4      11482                UDP *:ipp

$ netstat --udp --all
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
udp        0      0 *:bootpc                *:*
udp        0      0 *:ipp                   *:*

The former is sending browsing information, but the latter is not.  I
can't see any difference between the two here, so is this a CUPS bug
(or documentation problem)?


Many thanks,
Roger

-- 
Roger Leigh
                Printing on GNU/Linux?  http://gutenprint.sourceforge.net/
                Debian GNU/Linux        http://www.debian.org/
                GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <https://lists.cups.org/pipermail/cups/attachments/20060707/eaf0df05/attachment.bin>


More information about the cups mailing list