Answering myself:
As usual, Microsoft has decided to break the standards. After analyzing the
trafic of a print request I found that M$ is not following RFC1179. The LPR
port configuration dialog box has a checkmark button for "LPR Byte
Counting". By default this option is NOT enabled. The help on this option
tells you that you should use it only if the LPD on the other side is
printing half documents because "byte counting is a CPU intensive
operation". Anyway, looking at the traffic I noticed the following receive
job subcommand:
PRINTER: "\003125899906843000 dfA038MATANYA-IT\n"
As seen above, the count after the command code (\003) is a huge 12 digit
number (looks like a non-initialized pointer value). LPRng correctly answers
with "insufficient file space". This behaviour of the Microsoft port goes
against RFC1179 which clearly states:
6.3 ...
The total number of bytes in the stream may be sent as the first
operand, otherwise the field should be cleared to 0.
They don't clear it to 0. The workaround is to enable "LPR Byte counting"
when creating the LPR port in Windows 2000. This will put the correct count
in the 03 message, as can be seen from the same job submitted with this
option on:
PRINTER: "\00364541 dfA039MATANYA-IT\n"
>From: "Matanya Elchanani" <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: [EMAIL PROTECTED]
>Subject: LPRng: Problem in Direct TCP/IP printing with Win2K
>Date: Sat, 26 Aug 2000 17:25:37 GMT
>
>Hello all,
>
>I am having a problem setting win2K to print directly to LPRng (not
>through Samba). I have an LPRng lpd server (3.6.24) running on a
>Solaris 8 box. The lpd server runs great and is being used in
>production (by both local lpr and remote lpr). I configured a new
>printer on a win2k pro. box, and setup an LPR port as the printer's
>port. When I try to send a test page, I get an error dialog
>box 'There was an error encountered when printing the
>document "Testpage"'. On the server side there are no changes.
>Setting up debug level 2 on the queue does not show any activity on
>the queue sub-process. Starting lpd with debug shows that the win2k
>box actually connects and selects the right print queue, but nothing
>more. Snooping the network shows that the lpd server returns
>an "insufficient file space" error packet back to the win2k box.
>Obviously, there are no space issues involved. I have also tried it
>with LPRng 3.6.19 on HPUX 10.20 - same results. If I stop the lpd and
>start the Solaris print service, the job is accepted. Anyone had any
>experiance in setting direct TCP/IP printing with LPRng? I'll
>appreciate any feedback on what can go wrong here.
>
>________________________________________________________________________
>Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com
>
>
>-----------------------------------------------------------------------------
>If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
>or lprng-digest-requests) with the word 'help' in the body. For the
>impatient,
>to subscribe to a list with name LIST, send mail to [EMAIL PROTECTED]
>with: | example:
>subscribe LIST <mailaddr> | subscribe lprng-digest [EMAIL PROTECTED]
>unsubscribe LIST <mailaddr> | unsubscribe lprng [EMAIL PROTECTED]
>
>If you have major problems, send email to [EMAIL PROTECTED] with the
>word
>LPRNGLIST in the SUBJECT line.
>-----------------------------------------------------------------------------
________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com
-----------------------------------------------------------------------------
If you need help, send email to [EMAIL PROTECTED] (or lprng-requests
or lprng-digest-requests) with the word 'help' in the body. For the impatient,
to subscribe to a list with name LIST, send mail to [EMAIL PROTECTED]
with: | example:
subscribe LIST <mailaddr> | subscribe lprng-digest [EMAIL PROTECTED]
unsubscribe LIST <mailaddr> | unsubscribe lprng [EMAIL PROTECTED]
If you have major problems, send email to [EMAIL PROTECTED] with the word
LPRNGLIST in the SUBJECT line.
-----------------------------------------------------------------------------