Can not print on an SMB shared printer after password change
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| cups (Ubuntu) |
Undecided
|
Unassigned | ||
| system-config-printer (Ubuntu) |
Undecided
|
Tim Waugh |
Bug Description
Binary package hint: cups
I print to a number of SMB shared printers in a 2003 Active Directory domain. My password is changed from time to time as a policy in our organisation. When this happens I get prompted to enter the new password but I can no longer connect to the using the new password. The previous password was saved using the "Saved forever" option
The only workaround I found is to delete the printer and recreate it. I had this problem several times in the past and so are the rest of my ubuntu users. Is there a workaround for that. Can someone confirm this bug?
I tried to sniff the packets from my PC to the Print Server but wireshark showed nothing! This means that the problem is actually on my side. I can connect to other domain services like file shares using the same credentials. I am using the DOMAIN\username format to connect.
The relevant cups error logs are here in case you want to have a look:
http://
ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: cups 1.4.4-6ubuntu2.3
ProcVersionSign
Uname: Linux 2.6.35-
NonfreeKernelMo
Architecture: i386
Date: Tue Mar 15 08:25:04 2011
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Release i386 (20101007)
Lpstat:
device for Deskjet-
device for FOLLOWME: smb://prs03ist0
device for hp-LaserJet-
device for PDF: cups-pdf:/
device for SRB02MF001: smb://prs03ist0
MachineType: LENOVO 2767WB7
Papersize: letter
PccardctlIdent:
Socket 0:
no product info available
PccardctlStatus:
Socket 0:
no card
PpdFiles:
SRB02MF001: NRG MP C2500 PXL
Deskjet-
PDF: Generic CUPS-PDF Printer
hp-LaserJet-
FOLLOWME: KONICA MINOLTA C252 PS(P)
ProcCmdLine: BOOT_IMAGE=
ProcEnviron:
PATH=(custom, user)
LANG=el_GR.utf8
SHELL=/bin/bash
SourcePackage: cups
dmi.bios.date: 10/17/2008
dmi.bios.vendor: LENOVO
dmi.bios.version: 7UET49WW (1.19 )
dmi.board.name: 2767WB7
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.
dmi.modalias: dmi:bvnLENOVO:
dmi.product.name: 2767WB7
dmi.product.
dmi.sys.vendor: LENOVO
Theodotos Andreou (theodotos) wrote : | #1 |
Till Kamppeter (till-kamppeter) wrote : | #2 |
Changed in cups (Ubuntu): | |
status: | New → Incomplete |
Changed in system-config-printer (Ubuntu): | |
status: | New → Incomplete |
Till Kamppeter (till-kamppeter) wrote : | #3 |
Tim, Jiri, is there any password caching in the system-
Theodotos Andreou (theodotos) wrote : | #4 |
Here it is:
http://
The real password is removed but the one displayed previously was the correct one. The SMB printers of interest are "FOLLOWME" and "SRB02MF001"
Thanks for looking into this!
Theodotos Andreou (theodotos) wrote : | #5 |
Actually the SRB02MF001 was deleted and recreated and works fine. I kept the problematic FOLLOWME configuration so we get the chance to test it.
Till Kamppeter (till-kamppeter) wrote : | #6 |
I have checked your printers.conf and the non-working FollowMe has the line
AuthInfoRequired username,password\
which the working SRB02MF001 does not have. Stop the CUPS daemon, then edit your /etc/cups/
Theodotos Andreou (theodotos) wrote : | #7 |
OK I now see what is happening. I commented out the "AuthInfoRequired" line but I still get the problem. The issue is that the follow me line still has the old password and it will not update it automatically after prompted even when I click the "Remember Password" option.
That explains why it works when deleted. All entries are erased and recreated when the new printer is created. But for whatever reason it cannot update the password to an existing printer.
I think this is a serious bug that could affect the use of Ubuntu in enterprise environments.
Till Kamppeter (till-kamppeter) wrote : | #8 |
Tim, Jiri, can there be something wrong with the password prompting facility of the system-
Tim Waugh (twaugh) wrote : | #9 |
So, here's what happened:
CUPS receives job to print, fires up smb backend to print it
smb backend communicates with server, server requires password
We don't have one, so smb backend stops, telling cupsd why
cupsd marks the job as requiring authentication
At this point, CUPS knows that "username,password" is required for jobs to this queue so it adds that attribute to the printer configuration.
s-c-printer-applet sees the job has stopped and requires auth, so displays an authentication dialog
Once received from user, the applet uses IPP-Authenticat
Now, for future jobs, CUPS will actually refuse to queue the job unless it is accompanies by "username,
So now it is up to the application that talks to CUPS to provide the username and password.
Conveniently, s-c-printer-applet stored the user's credentials (if they chose to) in the GNOME keyring, so you can look it up there. Alternatively, the application has to make its own arrangements e.g. presenting another auth dialog at that point.
Till Kamppeter (till-kamppeter) wrote : | #10 |
Tim, would it not be much more user-frendly, if one does the following:
If a print job fails because it needs a password, the applet askes for user/password and gives the possibility to save the credentials. If the user opts for saving, it sends the job and if the credentials are correct it adds "<user>
As many print dialogs of applications do not support asking for passwords, it should be assured that the applet also asks for any future jobs which fail due to a missing or wrong user/password in the URI. The applet should perhaps even remove the "username,password" from the printer configuration, so that CUPS gets the job and it can ask for credentials again for the case that the user did not save the credentials.
WDYT?
Tim Waugh (twaugh) wrote : | #11 |
No -- this would permanently break the queue when the password is changed.
Print dialogs that want to talk to CUPS must support authentication.
Till Kamppeter (till-kamppeter) wrote : | #12 |
Tim, so this means that all is working as designed? Should the bug be closed?
Tim Waugh (twaugh) wrote : | #13 |
"When this happens I get prompted to enter the new password but I can no longer connect to the using the new password."
This is the crux of the problem from what I can see. Need to find out which prompt that is, and why it isn't correctly supplying the right credentials (or why they fail).
Changed in system-config-printer (Ubuntu): | |
assignee: | nobody → Tim Waugh (twaugh) |
Launchpad Janitor (janitor) wrote : | #14 |
[Expired for cups (Ubuntu) because there has been no activity for 60 days.]
Changed in cups (Ubuntu): | |
status: | Incomplete → Expired |
Ronan Mooney (roomey) wrote : | #15 |
This is the dialogue box which causes the error (see attachment "Print dialog bug.pdf" .
FYI workaround is:
* Open the printer configuration and right click on the already added printer and select "Properties":
* Go to the Device URI section and click “Change…”
On the top menu item (what your printer is called) select the radio button to “set authentication details now” and type in your username/password
Ronan Mooney (roomey) wrote : | #16 |
[12:08] ######:~# xprop
_NET_WM_
_NET_FRAME_
_NET_WM_
WM_STATE(WM_STATE):
_NET_WM_
_NET_WM_STATE(ATOM) = _NET_WM_
WM_HINTS(WM_HINTS):
_GTK_THEME_
XdndAware(ATOM) = BITMAP
_NET_WM_
_NET_WM_
_NET_WM_
_NET_WM_
WM_CLIENT_
_NET_WM_
WM_LOCALE_
WM_CLIENT_
WM_NORMAL_
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_
WM_CLASS(STRING) = "system-
WM_ICON_
_NET_WM_
WM_NAME(STRING) = "Authentication"
_NET_WM_
Changed in system-config-printer (Ubuntu): | |
status: | Incomplete → Confirmed |
teramind (soeren-w) wrote : | #17 |
@ronan Where can I find this printer configuration?
Can you attach the file /etc/cups/ printers. conf? If you do not want to post a file containing your password, then edit the file at first. If you find your old password somewhere in your file, replace it by "OLDPASSWORD", if you find your new password, replace it by "NEWPASSWORD". Thanks.