Enable secure ports for CUPS printing

Nov 26, '03 12:22:00PM

Contributed by: Anonymous

In Panther, I suddenly lost the ability to print to my school printers over lpr/lpd. We traced the problem: Apple had changed the port from which the print job was sent from a low-numbered "trusted" port to a high-numbered one. The print server would reject this port (error #32; data file refused) as insecure. The solution is as follows. After creating your printer, do this:


 % cd /etc/cups
 % sudo emacs printers.conf
There will be a line that looks something like this:

lpd://server.domain/printqname
where server.domain is the computer the printer queue is on, and printqname is the name of the printer queue. You must change this line to look like this:

lpd://server.domain/printqname?reserve=on
Save the changes and quit the editor. This will enable the correct port behaviour. Then you need to restart cupsd. in a shell, do this:

 % ps -auwx | grep cupsd
 root      348   1.1  0.1    29016   1372  ??  Ss   Thu03PM   0:26.90 /usr/sbin/cupsd
 markian  5144   0.0  0.0     8860      8 std  R+    2:17PM   0:00.00 grep cupsd
 % sudo kill -HUP 348
Note that 348 is the cupsd (cups daemon) process id (in this example). You should now be able to successfully print. Special thanks to Carol Smith at the University of Alberta for being invaluable in solving this problem.

Comments (5)


Mac OS X Hints
http://hints.macworld.com/article.php?story=20031118180912371