Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 660518 - textonly filter won't work as a pipe with copies=1
textonly filter won't work as a pipe with copies=1
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: cups (Show other bugs)
5.5
All Linux
medium Severity medium
: rc
: ---
Assigned To: Tim Waugh
qe-baseos-daemons
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-12-06 18:42 EST by Bryan Mason
Modified: 2012-02-20 22:09 EST (History)
7 users (show)

See Also:
Fixed In Version: cups-1.3.7-28.el5
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 738410 738412 (view as bug list)
Environment:
Last Closed: 2012-02-20 22:09:47 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2012:0302 normal SHIPPED_LIVE Low: cups security and bug fix update 2012-02-21 02:24:35 EST

  None (edit)
Description Bryan Mason 2010-12-06 18:42:29 EST
Description of problem:

    If the textonly filter is used as a pipe (i.e. no filename is specified
    on the command line, and the number of copies is "1", then it fails.

Version-Release number of selected component (if applicable):

    cups-1.3.7-11.el5_4.3

How reproducible:

    100%  

Steps to Reproduce:

    $ export PPD=/usr/share/cups/model/textonly.ppd
    $ cat /etc/fstab | /usr/lib/cups/filter/textonly 1 me hi 1 "" 

    (the "export PPD..." command isn't strictly necessary, but it
    eliminates an unrelated error message from grep)
  
Actual results:

    /usr/lib/cups/filter/textonly: line 109: : No such file or directory

Expected results:

    The contents of /etc/fstab.

Additional info:

    This is a real-world problem.  To enable printing of C-language
    source files on a text-only printer, I needed to add the line:

        application/x-csource text/plain    10  textonly

    to /etc/cups/local.convs, but then the textonly filter failed as
    described above.

    Line 31 in /usr/lib/cups/filter/textonly:

        if [ "$COPIES" -gt 1 ] && [ $# -lt 6 ]; then

    doesn't make sense to me.  The purpose of that code block (lines
    31-38) is to copy the input file to a temporary file so that the
    next code block (lines 40-50) can perform some LF->CRLF
    translation on the file.  BUT ... the temporary file doesn't get
    created if the number of copies is 1.  As a result,
    the sed command fails and no data is sent to the printer.

    It would seem to me that line 31 should read:

        if [ $# -lt 6 ]; then

    which would create the temp file regardless of the number of copies.

    Making the change above resolved the issue in my testing.

    This is also a problem in Fedora and RHEL 6.
Comment 1 RHEL Product and Program Management 2011-05-31 10:40:21 EDT
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated in the
current release, Red Hat is unfortunately unable to address this
request at this time. Red Hat invites you to ask your support
representative to propose this request, if appropriate and relevant,
in the next release of Red Hat Enterprise Linux.
Comment 3 Jiri Popelka 2011-09-14 13:10:34 EDT
(In reply to comment #0)
> Actual results:
>     /usr/lib/cups/filter/textonly: line 109: : No such file or directory
> ...
>     This is also a problem in Fedora and RHEL 6.

I can confirm that I see this warning with cups-1.5.0 (F-16) and cups-1.4.2 (RHEL-6) but in RHEL-5 I see:

sed: can't read : No such file or directory

Maybe you posted the warning from RHEL-6 ?
However your suggested solution fixes the problem.

Have you ever reported this upstream ? Are you going to do that ? Do you want me to do that ?
Comment 4 Bryan Mason 2011-09-14 13:58:06 EDT
Hmmm . . . yes, it appears I might have copied the wrong error message. In RHEL 5, I get:

    sed: can't read : No such file or directory

and in RHEL 6 I get:

    /usr/lib/cups/filter/textonly: line 109: : No such file or directory

I haven't yet reported this upstream (or cloned this for RHEL 6 and Fedora), but will do so now.
Comment 5 Bryan Mason 2011-09-14 14:01:10 EDT
Actually, it looks like the textonly filter doesn't exist upstream.  It was added by Red Hat.
Comment 9 errata-xmlrpc 2012-02-20 22:09:47 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2012-0302.html

Note You need to log in before you can comment on or make changes to this bug.