[FreeNX-kNX] printing
Alastair Johnson
alastair at solutiontrax.com
Wed Feb 8 17:20:26 UTC 2006
> Did you dig deeper already? If you find something out, I would like to know
> it. ;)
kdeprint mishandles Digest authentication. Querying /printers works, but it
then presents the same authentication data (with uri="/printers") when it
requests /classes. Since cups uses the uri of the request not the uri in the
authentication string, the checksums don't match and the authentication
refused. kdeprint takes this refusal as total, and despite being granted
access to /printers it removes the printer it's just added, and says it can't
talk to the cups server.
From the cups changelog the behaviour of digest authentication was changed in
v1.1.21 so it may be that (my version of) kdeprint is working the way cups
used to.
I don't understand how authentication is supposed to work in a chain of cups
servers. Unless I configure the usermode cupsd on the client and the server
to use the same authentication type, username and password then
authentication fails. The one on the server seems to give the one on the
client the same sort that it (the one on the server) requires, not the sort
the one on the client wants. I expect this is because I've misconfigured
something, but I don't know what. At this rate I'll have to write a HowNotTo!
So I gave up on trying to get it to work the way I think it's supposed to, and
went back to the cups-to-cups idea. As a proof of concept I tweaked the
nxclient to use authtype basicdigest, and the server to point kdeprintrc at
the client's cups server. Setting the password's a little more complicated
since kde now hides passwords in unicode. The function in question is
KStringHandler::obscure but it would be better to deal with the config file
through the CupsInfos class than to edit it directly. I''m sure a little
prog to back up the user's current settings and replace them with the new
ones would be trivial for someone familiar with c++ but alas that someone
isn't me...
Setting the password manually in the above method works like a charm. There's
no need to run usermode cupsd on the server, no need to select printer
drivers, and the file transfer for printing is probably quicker as the file
to print is probably smaller than the raster file that would otherwise be
generated. As proof of concept this is fine. As a general solution it's not,
at least with the nomachine client.
Since my problems are primarily kdeprint and cups I should really direct my
questions to those mailing lists. I will follow up here if I make any
progress.
>
> I will keep you informed when I have a go at it again.
>
> Regards,
More information about the FreeNX-kNX
mailing list