I hate CUPS. I really, really, really hate CUPS.
I recently upgraded my version of CUPS on lister (my machine). Unfortunately, JoDee's machine kryten stopped being able to print. When I got up this morning, JoDee told me she didn't want to piss me off this morning. O RLY? She even identified the reason why I might be pissed off this morning. "Honey, there's a problem with CUPS". Not "Honey, my computer doesn't print". Nope, JoDee remembers well every time I've had to dip one more time into the arcane machinations and uncomprehensible wizardry that accompanies making one printer accessible to another machine via CUPS.
Being the intelligent (and marvelously handsome) UNIX Guru that I am, I started my search in the error logs. I already had a sneaking suspicion that one of my old nemesises for "pure printing satisfaction" had arisen again, that of the permission denied for anyone else but lister. I checked the log files, and noticed it was getting a 403: Forbidden error. Yep, permission denied, alright. I looked in /etc/cups, and found that there was a cupsd.conf.save file. I looked at it, and what was currently cupsd.conf, and decided that the cupsd.conf.save file must've been the file that was working until "the upgrade", so I moved the cupsd.conf file, and copied over cupsd.conf.save.
Gee, whaddya know. It started printing.
So, below are the lines which changed from one iteration to another:
(The arrows ointing left are from the file that works, and the arrows
pointing right are from the file that doesn't work)
> # Lines below are automatically generated - DO NOT EDIT
> Order Deny,Allow
> Deny From All
> Allow From 127.0.0.1
> AuthType None
> Allow from @IF(eth0)
< BrowseDeny from All
< BrowseAllow from 192.168.2.*
< Listen 127.0.0.1:631
> BrowseAllow from @LOCAL
> BrowseAddress 192.168.2.255
> Listen 127.0.0.1:631
What have we learned class? Heck if I know. All I know is that they both look like they're doing pretty much the same thing, except the one that ships with CUPS seems to have a few magic-macros that should "do the right thing", but refuse to work as advertised. Seeing as eth0 is the internal network in my little network-ville, I fail to see how the file CUPS installed is not valid when compared with the previous version of the file. Yet, such is the life of anyone who dares to try to set up network printing.
While stumbling online to find answers to this problem, I found a link
to this site. Do you
know how he solved his network printer issue? By purchasing a dedicated
print server. And lest you think that CUPS horror stories are for those
who don't know what they're doing, perhaps another noted UNIX Guru could
share his story.
Way to go, CUPS! You've succeeded in making UNIX printer sharing way harder than it should be!