OpenPrinting / OpenPrinting/ghostscript-printer-app

Server seemingly randomly chooses between multiple certificates for IPPS

Open
#27 0 comments 0 reactions 0 assignees View on GitHub

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/ssl contains 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

  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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.