Bug#1033616: cups prepends job number to job-name so job names near 255 characters may be too long
On Tue 28 Mar 2023 at 18:45:02 +0200, John Hughes wrote:
> Package: cups
> Version: 2.3.3op2-3+deb11u2
> Severity: normal
>
> Dear Maintainer,
>
> * What led up to the situation?
>
> I printed a page from firefox with a very, very long URL. Firefox used the first 255 bytes of the URL as the job name.
>
> * What was the outcome of this action?
>
> The job mysteriously didn't print. Lookin in the cups log (with debug on) I found the lines:
>
> D [28/Mar/2023:18:14:44 +0200] [Job 365] job-name nameWithoutLanguage 365 - https://xxxxxxxxxxx/xxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>
> D [28/Mar/2023:18:27:36 +0200] [Job 369] Validate-Job: client-error-request-value-too-long (client-error-request-value-too-long)
>
> notice how the job name passed to cups ("https://xxx...") is shorter than 255 characters, but when the job number "365 - " is prepended it is longer tnan 255 characters and so overflows.
>
> * What outcome did you expect instead?
>
> That my print job be printed rather than just geting stuck in the print queue forever.
>
> How to reproduce:
>
> lp -o 'job-name=https://xxxxxxxxxxx/xxxxxxxx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
Thank you for your report, John.
I think it would be better if you took this upstream:
https://github.com/OpenPrinting/cups/issues
Regards,
Brian.
Reply to: