I'm just looking at upgrading from a seriously ancient LPRng 3.6.13 to
3.8.22.

I've set up a test machine with the new version running and have noticed
a problem that I wonder if others are seeing.

If a user doesn't have permission to print on a particular printer (ie:
lpd.perms file contains something like "REJECT REMOTEUSER=duncan
PRINTER=xxx" jobs from that user do not print, but the user doesn't get
any feed back from the lpr command that this has happened.  The job is
simply not put in the queue.

If this is working properly for others, then I guess it must be something
to do with my local setup, but I can't see what it might be right now.

So assuming its a bug that is affecting others...

I've spend quite a bit of time looking at the code in lpd_rcvjob.c to
see how it implements rfc1179 and I don't fully understand it.  I'll keep
looking, but in the meantime I thought I'd post here to see if anyone
else is seeing this problem.

As well as looking at the code I've been looking at traces of debugging
output produced by -Dnetwork+4,lpr+4 and at tcpdump network traces.

What I *think* is happening is that the lpr command is quitting, thinking
it's job is done, before the remote lpd has sent back the "no permission
to print" error.  This theory is based on the following.  With lpd running 
with the above debugging options I can see it claiming to send that message.
And the network trace shows a packet with that message going from the server
to the client.  But the lpr command run with the above debugging doesn't
show it receiving the message!

To add to my confusion about how lpd_rcvjob.c implements rfc1179, I think
that the comment at the top of the file that documents the protocol is
slightly wrong.  I think there should be acks from the server to the client
after the requests to send the control file and the data file before the
respective files are sent.  This is in addition to the acks at the end to 
confirm correct reception.  The packet trace seems to show that LPRng is 
doing it properly, so in this case I think it is just the comment that is 
wrong, but it is possible that I am misinterpreting something.

Any feedback gratefully accepted.

Duncan



-----------------------------------------------------------------------------
YOU MUST BE A LIST MEMBER IN ORDER TO POST TO THE LPRNG MAILING LIST
The address you post from MUST be your subscription address

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.
-----------------------------------------------------------------------------

Reply via email to