You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CUPS generates PPD files for driverless IPP printing at 3 places and at each place it uses a different get-printer-attributes IPP request for obtaining the printer capability info which could lead to different PPD files. The IPP requests differ only by their "requested-attributes" attribute. These are the 3 places:
The lpadmin utility (with "-m everywhere", file systemv/lpadmin.c) supplies the list {"job-template", "printer-defaults", "printer-description", "media-col-database"} as "requested-attributes" attribute.
The scheduler (function create_local_bg_thread() in scheduler/ipp.c) simply uses {"all"}.
The CUPS web interface (get_printer_ppd() function in cgi-bin/admin.c) does not add a "requested-attributes" attribute at all.
In addition, ipptool does not supply a "requested-attributes" attribute (like the web interface) with the old get-printer-attributes.test and uses {"all", "media-col-database"} with the new get-printer-attributes-2.0.test.
I have found out this when trying to find a fix for cups-filters issue #22 for which I got the this pull request. It made the impression that the way I do it in cups-filters (it is the method of lpadmin) is wrong and checked how CUPS actually does it.
What is the "correct" standard-conforming method? CUPS should use this method at every place.
CUPS generates PPD files for driverless IPP printing at 3 places and at each place it uses a different get-printer-attributes IPP request for obtaining the printer capability info which could lead to different PPD files. The IPP requests differ only by their "requested-attributes" attribute. These are the 3 places:
lpadminutility (with "-m everywhere", filesystemv/lpadmin.c) supplies the list{"job-template", "printer-defaults", "printer-description", "media-col-database"}as "requested-attributes" attribute.create_local_bg_thread()inscheduler/ipp.c) simply uses{"all"}.get_printer_ppd()function incgi-bin/admin.c) does not add a "requested-attributes" attribute at all.In addition,
ipptooldoes not supply a "requested-attributes" attribute (like the web interface) with the oldget-printer-attributes.testand uses{"all", "media-col-database"}with the newget-printer-attributes-2.0.test.I have found out this when trying to find a fix for cups-filters issue #22 for which I got the this pull request. It made the impression that the way I do it in cups-filters (it is the method of
lpadmin) is wrong and checked how CUPS actually does it.What is the "correct" standard-conforming method? CUPS should use this method at every place.