lpoptions: printer has no PPD file unless root

George gk at t-t-l.co.uk
Sat Nov 13 08:57:14 PST 2004


Trying to use lopotions -l as a normal user returns
lpoptions: Destination samsung has no PPD file!
although root returns sensible results.

The only possibilities I spotted with searching the lists regarded SeverName but this has made no difference.  Here is my cupsd.conf

DocumentRoot /usr/share/cups/docs
LogLevel debug2
User lp
Group lp
SystemGroup lp
<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>
<Location /admin>
AuthType Basic
AuthClass System
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>

I am using 1.1.22 and the following extracts look to be the relevant part from the error_log.  All other lines in the log are the same whichever user tries the command.

I've tried to keep this post shortish so if I've snipped anything that matters then just ask for more detail...

For both users:

AcceptClient(lis=0x807e4c0) 0 NumClients = 0
AcceptClient: 5 from localhost:631.
AcceptClient: Adding fd 5 to InputSet...
ReadClient: 5, used=0, file=-1
ReadClient: 5 POST / HTTP/1.1
decode_auth(0x402aa008): Authorization string = ""
decode_auth: 5 username=""
IsAuthorized: con->uri = "/"
FindBest: uri = "/"...
FindBest: Location / Limit 7f
FindBest: Location /admin Limit 7f
FindBest: best = "/"
IsAuthorized: auth = 0, satisfy=0...
POST /
CONTENT_TYPE = application/ipp
ReadClient: 5 con->data_encoding = length, con->data_remaining = 137, con->file = -1
<snip>
LoadAllPrinters: Loading printer samsung...
AddPrinter("samsung")
Adding filter application/vnd.cups-raw printer/samsung 0 -
FindBest: uri = "/printers/samsung"...
<snip>
ProcessIPPRequest(0x402aa008[5]): operation_id = 4005
get_printers(0x402aa008[5], 1)
ProcessIPPRequest: 5 status_code=1
ProcessIPPRequest: Adding fd 5 to OutputSet...
WriteClient: Removing fd 5 from OutputSet...
ReadClient: 5, used=0, file=-1
ReadClient: 5 POST / HTTP/1.1
<snip>
ReadClient: 5 con->data_encoding = length, con->data_remaining = 77, con->file = -1
ProcessIPPRequest(0x402aa008[5]): operation_id = 4001
get_default(0x402aa008[5])
copy_attrs(0x808e280, 0x8087590, (nil), 0)
<snip>
ProcessIPPRequest: 5 status_code=0
ProcessIPPRequest: Adding fd 5 to OutputSet...
WriteClient: Removing fd 5 from OutputSet...

Now this is where thigs differ, firstly root:

AcceptClient(lis=0x807e4c0) 0 NumClients = 1
AcceptClient: 7 from localhost:631.
AcceptClient: Adding fd 7 to InputSet...
ReadClient: 5, used=0, file=-1
ReadClient: httpGets returned EOF...
CloseClient: 5
CloseClient: Removing fd 5 from InputSet and OutputSet...
ReadClient: 7, used=0, file=-1
ReadClient: 7 POST / HTTP/1.1

now user george:

ReadClient: 5, used=0, file=-1
ReadClient: httpGets returned EOF...
CloseClient: 5
CloseClient: Removing fd 5 from InputSet and OutputSet...
AcceptClient(lis=0x807e4c0) 0 NumClients = 0
AcceptClient: 5 from localhost:631.
AcceptClient: Adding fd 5 to InputSet...
ReadClient: 5, used=0, file=-1
ReadClient: 5 POST / HTTP/1.1

Then we get the same again but with root using "7" and george using "5"

<snip>
ReadClient: 7 con->data_encoding = length, con->data_remaining = 204, con->file = -1
ProcessIPPRequest(0x402aa008[7]): operation_id = 000b
ProcessIPPRequest: URI="ipp://localhost/printers/samsung"
get_printer_attrs(0x402aa008[7], ipp://localhost/printers/samsung)
add_printer_state_reasons(0x402aa008[7], 0x8086fb0[samsung])
add_queued_job_count(0x402aa008[7], 0x8086fb0[samsung])
copy_attrs(0x808fd20, 0x8087590, (nil), 0)
copy_attribute(0x808fd20, 0x80875b8[printer-uri-supported,4,45])
<snip>
ProcessIPPRequest: 7 status_code=0
ProcessIPPRequest: Adding fd 7 to OutputSet...
WriteClient: Removing fd 7 from OutputSet...

This is where root receives the ppd file info but george gets nothing

ReadClient: 7, used=0, file=-1
ReadClient: 7 GET /printers/samsung.ppd HTTP/1.1
<snip>

then back to the same with "7" or "5" according to user

ReadClient: 7, used=0, file=-1
ReadClient: httpGets returned EOF...
CloseClient: 7
CloseClient: Removing fd 7 from InputSet and OutputSet...

I have no idea where to go next in working this out so any and all help will be much appreciated, as this is part of wider printing problems. This is at least command line only and easy to describe so it looks like a good place to start.

Thanks,
George.




More information about the cups-devel mailing list