Having set up a print server for a mixed network of Suns and
PCs I found that jobs from the Suns were being rejected
unless entered as root.
This should happen if the rs option is set in printcap, but
still happens even if it is not set.
The reason for this is that LPD was attempting to run the
filters with the user name of the logged on user on the Sun,
which commonly didn't exist on the Linux machine.
The solution I have found is to apply the following code
change to printjob.c, so that the filters run as "daemon" if
the user does not exist on the server. I'm not sure if this
is a security hole.
> /* RB 12-Mar-1999. If the user
doesn't exist on
> this system, force the logname to
> so that the filters will run */
> if (getpwnam(logname) == NULL)
> strcpy ( logname, "daemon" ) ;
this has been fixed in lpr-0.34-1