Printing multiple copies on remote printers

Michael Sweet mike at easysw.com
Wed Dec 8 20:10:26 PST 2004


russell-cups at stuart.id.au wrote:
> This bug has been observed in cups-1.1.20final+rc1 that
> comes with Debian, and cups-1.1.22 compiled from source.
> 
> Remote printers are occassionally printing multiple
> copies of jobs.  None of the jobs had the "copies"
> option set.
> 
> The multiple copies was caused by two things:
> 
> 1.  Made http_wait() did not handle EINTR.

This is an issue, but your fix is not the correct implementation
since it only handles a single interruption.

> 2.  The wait in ipp_http_read was too short for connections
>     that run over the internet.

Setting a 2 minute wait here is not appropriate; http_wait() is
only used when reading fragments in non-blocking mode, and only
the scheduler uses this mode.  Putting a 2-minute wait in the
scheduler opens CUPS up to additional DoS attacks but will not
resolve the problems you are seeing.

> Note:
>     While both these bugs need to be fixed, neither completely
>     solves the original multiple copies problem.  To solve
>     that no data should be printed if there was a read or
>     other error.

The usual response to HTTP or IPP errors in the initial query
phase of the backend's job submission is to retry the request or
connection.

As we have never seen this particular problem before, I would
appreciate tcpdump/ethereal packet dumps of the traffic between
client and server so that we can determine at what point the
transaction is failing.

Thanks!

PS - you can post this problem and the dump files using the STR
form at:

     http://www.cups.org/str.php

-- 
______________________________________________________________________
Michael Sweet, Easy Software Products           mike at easysw dot com
Internet `Printing and Publishing Software       http://www.easysw.com




More information about the cups mailing list