OpenPrinting / OpenPrinting/ghostscript-printer-app
Server seemingly randomly chooses between multiple certificates for IPPS
Nobody has claimed this yet.
- Dominant language
- PostScript
- Stars
- 44
- Forks
- 16
- PR merge metrics
- No merged PRs in 30d
Description
When printing to a ghostscript-printer-app server via IPPS from CUPS, the server seems to use one of three common names for the certificate:
- The mDNS hostname (
print.local) - The DNS hostname (
print.intra.my.domain) - The IPv6 ULA (
fd11:367d:c329:80:****:**ff:fe**:****)
It seems to choose randomly between the three, even for jobs sent from the same client shortly after each other./var/snap/ghostscript-printer-app/common/cups/sslcontains different certificates and keys for all three; even after deleting these, it still seems to choose one of the three hostnames at random and generates new certificates as they are used.
This means that only the first print job from each client will reliably work - on subsequent jobs, if a different certificate is sent, the client won't trust the certificate as it is different from the one sent with the first job.
I have worked around this by manually issuing a single certificate that is valid for all three hostnames and symlinking it to all three hostnames in /var/snap/ghostscript-printer-app/common/cups/ssl, but this surely isn't intended behaviour.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue by sending successive IPPS jobs from CUPS and inspect /var/snap/ghostscript-printer-app/common/cups/ssl, including the certificates and keys for the three reported names. Compare which certificate the server presents on each connection and determine the intended certificate-selection behavior. Done means the certificate choice is no longer unexpectedly inconsistent across successive jobs.
Written by the indexing model from the issue text.
Assessment
- Domain
- networking, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100