Skip to content

Only recommend validated driverless PPDs - #474

Merged
alexpevzner merged 6 commits into
masterfrom
fix-validated-driverless-ppd-catalog
Oct 3, 2026
Merged

alexpevzner merged 6 commits into
masterfrom
fix-validated-driverless-ppd-catalog

Conversation

@SinghCod3r

Copy link
Copy Markdown
Collaborator

Summary

CUPS can return driverless: PPDs for printers that advertise driverless support through DNS-SD, even when generating the driverless PPD for that printer actually fails.

This change prevents those unvalidated driverless PPDs from being offered as drivers.

What changed

  • Exclude driverless and driverless-fax PPDs from the CUPS PPD catalog.
  • Validate the driverless PPD before using it.
  • Add the validated driverless PPD back to the catalog with the printer's actual identity.
  • If validation fails, keep the driverless PPD out of driver selection and use the normal driver-selection flow.
  • Keep the validated driverless PPD available when the user chooses a different driver.

Testing

Tested with the Xerox B235 simulator:

  • Working driverless printer: driverless PPD is validated and recommended.
  • Broken driverless printer: driverless PPD validation fails and a normal legacy driver is offered instead.
  • Manual driver selection continues to work after the fallback.

Automated tests:

  • pytest -q test_newprinter.py — 65 passed
  • python3 -m py_compile newprinter.py — passed
  • git diff --check — passed

@SinghCod3r
SinghCod3r force-pushed the fix-validated-driverless-ppd-catalog branch from c07a760 to 273ef25 Compare September 29, 2026 05:38
@SinghCod3r
SinghCod3r marked this pull request as ready for review October 1, 2026 10:18
@alexpevzner
alexpevzner merged commit 64795d5 into master Oct 3, 2026
5 checks passed
@alexpevzner
alexpevzner deleted the fix-validated-driverless-ppd-catalog branch October 7, 2026 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants