From: todd@draco.macsch.com (Todd C. Williams)
Subject: Re: Printing Problem
Organization: MacNeal-Schwendler Corp.
Date: Mon, 12 Oct 92 20:07:31 GMT

In article <1992Oct7.091142.15775@alcatel.ch> thomas.vannes@alcatel.ch writes:
>Printing from Interleaf was not a major Problem. But
>now it is because a new output filter was installed
>on our printserver. This filter is definitely better
>than the old one, but it is also too clever.
>
>Interleaf creates 2 files which are placed in
>the spool directory of the printserver. Example:
>   cfA026rlab
>   dfA026rlab

Yes, cf* is the Control File, and df* is the Data File.
The df* is the actual file to be printed.
The cf* tells the lpd how to do it, who it's from, what to put
on the header page, etc.

>The control file contains a line which was ignored
>by the old filter, while the new filter says it is
>an offending command. The line:
>   S1823 70839l
>
>The control file:
>   Hrlab
>   Pvannes
>   JFAX_2_ITC_ps#1
>   Crlab
>   Lvannes
>   S1823 70839l
>   fdfA026rlab
>   UdfA026rlab
>   U/home/vannes/desktop/.deskprint/FAX_2_ITC_ps#1
>   N/home/vannes/desktop/.deskprint/FAX_2_ITC_ps#1

The SunOS man page for lpd tells us what each of these lines mean:
  Control Files
     After the daemon has successfully set the lock, it scans the
     directory  for  files  beginning  with cf.  Lines in each cf
     file specify files to be printed or non-printing actions  to
     be  performed.   Each  such line begins with a key character
     that indicates what to do with the remainder of the line.
          H    Hostname of the machine where lpr(1) was invoked.
          P    Person.  Login name  of  the  person  who  invoked
               lpr(1).   This  is  used  to  verify  ownership by
               lprm(1).
          J    Job name to print on the burst page.
          C    Classification line on the burst page.
          L    Literal.  This line contains identification infor-
               mation  from the password file, and causes a burst
               page to be printed.
          f    Formatted File, the name of a file to  print  that
               is already formatted.
          U    Unlink.  The name of file to remove  upon  comple-
               tion of printing.
          N    Filename.  The name of the file being printed,  or
               a  blank  for  the  standard input (when lpr(1) is
               invoked in a pipeline).

Note that "S" is missing from this list.  Note also that the "S" line
in the above example is the only line that has embedded whitespace.
I'll bet your filter doesn't like the unrecognized "S" or the whitespace.


>If I remove the line and place the 2 files in the
>spool directory, the document gets printed! Or if
>
>How can I get rid of the line? or
>How do I filter the line? or
>What do I do?

Just as Interleaf creates non-standard printcap files (which contain
fields like "printerleaf=..."), Interleaf also creates non-standard
lpd spooler files.

Does anybody know what
   S1823 70839l
means?

I just printed the same document twice from ileaf, and my cf files contain:
	S1818 76923l
	S1818 76924l
These numbers make no sense to me.  The seem unrelated to PIDs, UIDs, etc.

I think you have two choices:
 1. Fix your new filter so that it allows unrecognized control lines
 2. Tell Interleaf to fix their printing software.

Hopefully, somebody will respond to #2 above, and at LEAST tell us
what the "S" means.

Unless there's a Spec/standard for the BSD spooler system, we may not be
able to say who is *wrong*.

-- 
Todd Williams    UNIX Systems Coordinator     todd@macsch.com    (213) 259-4973
MacNeal-Schwendler Corp. ("MSC"),  815 Colorado Blvd.,  Los Angeles, CA   90041
"The Democrats stand for nothing except 'I wish I was a Republican' and the
Republicans stand for raw, unbridled evil and greed and ignorance smothered
in balloons and ribbons."  -Frank Zappa, 1991  (Zappa for president!)
Newsgroups: comp.text.interleaf