Unable to get PPD file for ...: Moved Permanently
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cups (Ubuntu) |
New
|
High
|
Till Kamppeter |
Bug Description
1) lsb_release -rd
Description: Ubuntu 14.04.3 LTS
Release: 14.04
2) apt-cache policy cups-client
cups-client:
Installed: 1.7.2-0ubuntu1.7
Candidate: 1.7.2-0ubuntu1.7
Version table:
*** 1.7.2-0ubuntu1.7 0
500 http://
500 http://
100 /var/lib/
1.7.2-0ubuntu1 0
500 http://
My problem:
*What I expected to happen:
In our environment we have a cups print server delivering different print queues, e.g. elbe_transparency. For all queues I get the same faulty result running lpoptions, e.g. for
lpoptions -l -d elbe_transparency
I get
lpoptions: Unable to get PPD file for elbe_transparency: Moved Permanently.
And also GUI apps like Evince have problems due to this bug.
* What I did so far:
(a) I used wireshark to capture the ipp protocol and found that lpoptions tries to retrieve the PPD
for the printer elbe with device-uri "ipp://
instead of the cups server with printer-
This makes sense when the device URI is actually another CUPS server, but not when, as in our case, it is a
network-attached printer that "talks" IPP natively. It will not have the PPD at the CUPS-specific URL.
(b) I used "strace -s1000 lpoptions -p elbe_transparency -l 2>lpoptions.txt" to get
...
sendto(9, "GET /.ppd HTTP/1.1\r\nHost: elbe.tnt.
poll([{fd=9, events=POLLIN}], 1, 60000) = 1 ([{fd=9, revents=POLLIN}])
recvfrom(9, "HTTP/1.1 301 Moved Permanently\
...
which shows the same problem as described above.
* Where does the problem come from
The actual problem can be found in cups/util.c (1.7.2) within function cups_get_
if (device_uri &&
else if ((attr = ippFindAttribut
else if ((attr = ippFindAttribut
The problem is that always the statement of the first if block is executed as our printer has device-uri "ipp://
https:/
In later versions of cups this was fixed by
if (device_uri &&
(strstr(
to ensure the device URI is actually another CUPS server. Please, could you fix this asap. We have many Ubuntu machines in our environment and this bug is really annoying. Many thanks for your help in advance.
Changed in cups (Ubuntu): | |
assignee: | nobody → Till Kamppeter (till-kamppeter) |
importance: | Undecided → High |