OSX Clients not attempting CUPS-Get-PPD operation

Nick Cammorato nick_cammorato at terc.edu
Wed Jan 2 18:25:00 PST 2013


Hi Doug,

> I'm using  Scientific Linux 6.3 which would be more or less the same as
> CentOS. I started of with the cups-1.6.1 RPM from Fedora Rawhide, modified
> it and applied additional patches from Ubuntu and CUPS SVN. The other RPM
> dependencies were based on RPMs from Rawhide and earlier version of Fedora.
>

Basically the same thing yea, and I've done that many a time.  Ripping out the systemD stuff is kind of a pain though, I hate this part of the RHEL cycle when we're a few years behind, but debian just moves too damn fast these days for our project lifecycles.

> I'm not sure if a pristine build of cups-1.6.1 from the source tar ball will
> work correctly in regards to PPD retrieval between OSX client and Linux
> server, I think there are a number of patches that are required or use the
> 1.6.1 SVN branch.
>

You are correct.  I used the included spec with only a few of the patches from FC Rawhide.  I added in a mix of the rest and some of the ubuntu patches, and boom, it started working.

> I have OSX 10.6, 10.7 and 10.8 clients, for the 10.6 Snow Leopard clients, I
> had to turn encryption off for the PPD retrieval to work, otherwise the PPDs
> would either not be retrieved or be truncated. In cupsd.conf I added :
>
> <Location /printers>
>   <Limit CUPS-Get-PPD CUPS-Get-PPDs CUPS-Get-Printers>
>     Encryption Never
>     Order allow,deny
>     Allow all
>     Order deny,allow
>   </Limit>
> </Location>
>
> elsewhere in cupsd.conf, encryption is still enabled.
>

This was my first thought, that it was _ipps.

> > When adding a queue via bonjour on the OSX clients, the following
> > differing
> > behaviors are shown:
> > 1.  The print queue shows up as "bonjour shared" on the OSX server, while
> > it
> > shows up as "bonjour" on the Linux server.
> > 2.  When adding the queue the OSX client does a CUPS-Get-PPD operation
> > ONLY
> > when adding the queue from the OSX server, which downloads the driver and
> > configures any options that were configured on the server(IE: Extra
> > trays).
> > It does not attempt this when adding the queue that's on the Linux server,
> > as verified via access logs and sniffing the traffic.  The access and
> > error
> > logs look identical on both servers up until that point.
>
> If the print queue is showing up as "Bonjour", OSX's add printer will never
> retrieve the PPD, but will if the queue is listed as "Bonjour Shared".

Ahah, I thought so.  It looks like the _cups._tcp type needs to be set on the service which is accomplished via one of the patches.  I'll need to isolate which patch precisely did it and what that patch did so I can check in the future.  CUPS servers generally just run and run though, but this was really banging my head into a wall.

This doesn't show up in an avahi-browse but does show up in a dns-sd.

> I found a bug with OSX versions up to 10.8 Mountain Lion, if the print queue
> was advertised as ipps, but not ipp, it would never get listed as "Bonjour
> Shared". I'm currently advertising both ipp and ipps.
>
> On the OSX client, if you issue the following on the command line, it will
> list the print queues that will show up as "Bonjour Shared" :
>    dns-sd -B _ipp._tcp,_cups
> if you drop the ",_cups" subtype, you'll see all the print queues, including
> the remainder that'll show up as just "Bonjour".
>
>
>
> Cheers,
> Doug
>

Thanks a ton,
Nick




More information about the cups mailing list