OpenPrinting / OpenPrinting/cups

CUPS doesn't hold jobs using a password, preventing iOS clients from displaying the PIN needed to release them.

Open
#1,456 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement platform issue
Dominant language
C
Stars
1.8k
Forks
331
Avg merge
9h 42m
Merged PRs (30d)
6

Description

Need to implement a short (10-30 second) hold for jobs using the job-password attribute for PIN/passcode/password printing, otherwise iOS clients won't show the PIN they generated.

Discussed in https://github.com/OpenPrinting/cups/discussions/1453

Originally posted by mdk6c December 10, 2025
We are trying to implement PIN release printing in CUPS for iOS devices.

We have added the following to the bottom of our PPD file, as per the documentation.

*cupsMandatory: "job-password job-password-encryption"
*cupsJobPassword: "1111"

Our printer is visible from iOS devices and the print options sheet shows "This printer requires a PIN to print" as expected.

However, when we tap "Print" to submit the print job, no PIN is ever presented to the user via the expected iOS PIN dialog (screenshot below).

Image

I can see from the error_log that a job password is being generated and passed along to the filters.

error_log.txt

Maybe this issue is on the iOS side, not CUPS. I'm sorry to report it as a bug. But we have found scant guidance or implementation examples for PIN printing in our research thus far.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing Discussion 1453 and the attached error_log.txt, then trace CUPS handling of the job-password attribute. Confirm the behavior for password-protected jobs and verify that a short hold allows iOS clients to display the generated PIN before release.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, ios
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.