Samba does not notice added or removed CUPS printers

Bug #787755 reported by Chris Siebenmann on 2011-05-24
This bug affects 2 people
Affects Status Importance Assigned to Milestone
samba (Ubuntu)

Bug Description

Binary package hint: samba

Our environment uses a CUPS server that is separate from the machine
running Samba; the Samba machine has an /etc/cups/client.conf with
the ServerName of the CUPS server. In this setting, Samba does not
notice when you add or remove a CUPS printer, although 'lpstat -v'
and so on on the machine running Samba will show the changed printer
list. Reloading Samba (smbd) does not change this situation; only
restarting smbd makes Samba update the printer list.

It is possible that this bug also happens if the CUPS server is
running on the same machine as the Samba server, but I have not
tested that.

Ubuntu release: Ubuntu 10.04 LTS 32-bit x86, with all current updates.
Samba version: 2:3.4.7~dfsg-1ubuntu3.6
CUPS version: 1.4.3-1ubuntu1.3

(This probably reproduces on all architectures, but I haven't tested.)

How to reproduce:
- configure a CUPS server machine and set up a printer.
- install a stock Ubuntu 10.04 machine. Create an /etc/cups/client.conf
  on it that has 'ServerName <IP-of-CUPS-server>'. Verify that Unix
  printing works.
- Install Samba: 'apt-get install samba smbclient'
- edit /etc/samba/smb.conf to add 'printcap cache time = 10' to the
  '[ global ]' section. Restart Samba.
- Use 'smbclient -L localhost' to verify that you see the printer from
  your CUPS server.
- add a printer to your CUPS server. Wait 30 seconds and run
  'smbclient -L localhost' again, and see that it does not show the new
  printer. 'lpstat -v' and printing to it from Unix will work, though.
- optionally, 'reload smbd' and repeat the 'smbclient -L localhost' to
  demonstrate that the reload did not change the situation.
- 'service smbd restart', repeat 'smbclient -L localhost', and the new
  printer is now present.
- delete the printer on the CUPS server, and rerun 'smbclient -L localhost';
  Samba still lists the printer.

(The convenient way to add a new printer is just to add a new name for
your existing printer, duplicating destination settings and so on.)

What I expected to happen: 'smbclient -L localhost' lists the new
printer when it is added and does not list it when it is removed.

This behavior is a regression from Ubuntu 8.04 (samba version
3.0.28a-1ubuntu4.14). I have not tested intermediate non-LTS
releases to determine where the problem first appears.

Since your Samba bug reporting page specifically asks for this

$ dpkg-query -W -f='${Package} ${Version} ${Source} ${Status}\n' | grep samba
libsmbclient 2:3.4.7~dfsg-1ubuntu3.5 samba install ok installed
libwbclient0 2:3.4.7~dfsg-1ubuntu3.5 samba install ok installed
samba 2:3.4.7~dfsg-1ubuntu3.5 install ok installed
samba-common 2:3.4.7~dfsg-1ubuntu3.5 samba install ok installed
samba-common-bin 2:3.4.7~dfsg-1ubuntu3.5 samba install ok installed
smbclient 2:3.4.7~dfsg-1ubuntu3.5 samba install ok installed

The Samba log files in /var/log/samba contain no information; log.smbd
and log.nmbd have only startup notices, and the log.<client> file is
empty (0 length). I can include them if you really need them.

I'm attaching 'smbclient -L' output, and also /etc/samba/smb.conf
and 'testparm -s' output, although the latter two will probably be
mostly pointless (since I've given instructions on how to construct
the smb.conf above).

Chris Siebenmann (cks) wrote :
Chris Siebenmann (cks) wrote :

(this is the smb.conf constructed as described in the reproduction section)

Chris Siebenmann (cks) wrote :
Dave Walker (davewalker) on 2011-07-15
Changed in samba (Ubuntu):
importance: Undecided → Medium
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in samba (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers