Bug 16986

Summary: print filers not working with remote winnt system
Product: [Retired] Red Hat Linux Reporter: Gene Czarcinski <gczarcinski>
Component: rhs-printfiltersAssignee: Crutcher Dunnavant <crutcher>
Status: CLOSED RAWHIDE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 7.1   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-08-29 03:45:12 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Gene Czarcinski 2000-08-26 15:04:45 UTC
I have rc2 installed and configured as a print server with an HP4000 on a
network connection (HP JetDirect).  Using printtool, I have it configured
as a Postscript printer.  However, when I try to print from a winnt system
configured to print using the LPR "port" interface, it does not work
properly -- the only thing that prints is a single page with "No spool file
found."  (lp in printcap)

I have a program which also produces this (I can send it if necessary but
it is not small).  However, with this program I can get output if I remove
the filter (lp0 in printcap).

All of this works under rhl 6.2.

Here is my /etc/printcap:

# /etc/printcap
#
# Please don't edit this file directly unless you know what you are doing!
# Be warned that the control-panel printtool requires a very strict format!
# Look at the printcap(5) man page for more info.
#
# This file can be edited with the printtool in the control-panel.

##PRINTTOOL3## REMOTE 
lp0:\
	:sd=/var/spool/lpd/lp0:\
	:mx#0:\
	:sh:\
	:rm=192.168.17.100:\
	:rp=raw:\
	:lpd_bounce=true:
##PRINTTOOL3## REMOTE POSTSCRIPT 1200x1200 letter {} PostScript Default {}
lp:\
	:sd=/var/spool/lpd/lp1:\
	:mx#0:\
	:sh:\
	:rm=192.168.17.100:\
	:rp=raw:\
	:lpd_bounce=true:\
	:if=/var/spool/lpd/lp1/filter:

Comment 1 Gene Czarcinski 2000-08-26 15:40:15 UTC
I ripped out all the stuff in /var/spool/lpd/* and /et/printcap.  Rebooted and
rebuilt with printtool.  Now it works!?

Who knows?  The program still does not work (sometimes) but I don't believe it
is a RH problem.

Gene

Comment 2 Gene Czarcinski 2000-08-28 01:25:48 UTC
I thought I had this resolved but I do not.

Win/nt when using a linux system as a print server  and using the tcp lpr
interface will generate a control file whose pointer to the data file uses the
"l" (literal) flag rather the the "f" flag. 

While LPRng can handle this fine (and so can its filter package ifhp),
rhs-printfilters cannot.

This is easily reproducable.

The "fix" looks fairly simple.  In line 165 of
/usr/lib/rhs/rhs-printfilters/master-filter the test is for an "f" as the first
character to get the name of the related data file.  If this "fails", another
test needs to look for a "l" first character.

This should be high priority since it will effect users with a multi-os
situation which is using a linux print spooler and win/nt.

For some reason, this did NOT occur with the old lpr package.  It must be
something that LPRng does.

Comment 3 Crutcher Dunnavant 2000-08-29 03:45:10 UTC
Yeah, well, the old lpd actually spooled files, so it directed streams into the
printfilters. You are very right, rhs-printfilters needs to do this.

I will fix this. I will also do a complete comparison to RFC 1179, to see if
there are more fun borkenness in the printfilters. I'll just bet there is... :(

#rant
Man, I am getting mad at bugzilla, this should have been mine from the start.
I wonder how many other bugs of mine its droping...
#endrant

Comment 4 Crutcher Dunnavant 2000-08-30 19:35:18 UTC
This is *fixed*, though we continue to ignore format specifications, and rely on
magic.
This system needs to go.