Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 455742 - Print dialog: should try UDS when fetching PPD for localhost
Summary: Print dialog: should try UDS when fetching PPD for localhost
Alias: None
Product: Fedora
Classification: Fedora
Component: gtk2
Version: 9
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Marek Kašík
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2008-07-17 14:48 UTC by Tim Waugh
Modified: 2008-12-12 09:18 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2008-12-12 09:18:07 UTC

Attachments (Terms of Use)

Description Tim Waugh 2008-07-17 14:48:04 UTC
Description of problem:
The GTK+ print dialog does not allow the 'Print' button to be clicked when a
printer on the local machine has been selected but CUPS is configured only to
listen on the UNIX domain socket.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.Fresh install.
2.Edit /etc/cups/cupsd.conf and comment out the line 'Port 631'.
3.'service cups reload'
4.Start the text editor and try to print
Actual results:
'Print' button disabled for local printers.

Expected results:
'Print' button enabled for all printers.

Comment 1 Marek Kašík 2008-09-04 13:48:12 UTC
I commited patch to gtk2 CVS. The version is gtk2-2.12.11-2.


Comment 2 Matthias Clasen 2008-09-05 02:31:06 UTC
Marek, does the patch work ? If it does, it should be committed upstream too.
It would be good to add a comment explaining whats going on there, though.
Is cupsServer() returning the path to the socket in this case ?

Comment 3 Marek Kašík 2008-09-08 12:36:49 UTC
Hi Matthias. The patch works. I'll add a comment to patch soon.
the problem was that the cups_request_ppd() function was connecting directly to printer->hostname, which was parsed from "printer-uri-supported" attribute. But the format of the attribute is "ipp://localhost/printers/*". Therefore it was connecting to localhost not to the socket (/var/run/cups/cups.sock).
Only information I have about the server is its address. So I used similar approach to the one in httpSeparateURI() (for checking whether the uri is file path) and checked presence of '/' in the first character of the string returned by the cupsServer() function.



Comment 4 Marek Kašík 2008-09-08 12:59:21 UTC
I committed gtk2-2.12.11-3. This is a little change of cups-unix-domain-socket.patch and add a short comment to the source code.


Comment 5 Marek Kašík 2008-09-10 07:50:38 UTC
Hi Matthias,
the cupsServer() returns the path to the socket.


Note You need to log in before you can comment on or make changes to this bug.