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. 369a370,374 > /* RB 12-Mar-1999. If the user doesn't exist on > this system, force the logname to "daemon" > so that the filters will run */ > if (getpwnam(logname) == NULL) > strcpy ( logname, "daemon" ) ; 455d459 <
this has been fixed in lpr-0.34-1