[Pkg-cups-devel] cups and ipp

Alexander Bürger acfbuerger at googlemail.com
Sat Nov 29 16:59:09 UTC 2008


Hi,

I am trying to implement a minimal IPP server as a kind of replacement
for cupsd. I am not sure how useful or successful this project might be,
but I started anyhow. My idea was that e.g. my netbook does not need
many of the CUPS features when I use it on the bike or so :-)

Up to now I got "lpstat -t" (from cups-client) working; the server
pretends to have one printer which is always idle, accepting jobs since
1970, but which actually does nothing (yet). Implementing this is
unfortunately not possible with IPP alone, as IPP does not describe how
to find available printers. Therefore I added some CUPS extensions:
CUPS-Get-Printers (always the one and only printer), CUPS-Get-Default
(same), and CUPS-Get-Classes (always none).

The next step would be to get "lp some.pdf" (with lp from cups-client)
working, but my impression is that I will have big difficulties there.
Two problems I encountered so far are:

* lp asks for printer *names*, but not for *URIs*; instead it seems to
use the cups default "ipp://.../printers/printer_name". But, IPP RFC
2911 says (section 2.4, 4th paragraph) that the uri MUST be from the
"printer-uri-uspported" list; in my server, this list only contains
"ipp://localhost/dumb" while the printer name is "Dumb_Printer".

* lp does not seem to ask for the document formats supported by the
printer, it looks like it just sends "application/octet-stream" to let
the printer auto-sense the format. But RFC 2911 (section 3.2.1.1,
"document-format" paragraphs) says that the printer MUST reject any
format not listed in the "document-format-supported" attribute, and of
course my "Dumb_Printer" does not support auto-sense (only things like
"application/pdf", "image/jpeg", ...)

I am not sure if one can say that, but my impression is that there are
some problems with adherence to the IPP protocol in CUPS.

My feeling is that I have to install libcups, as quite a lot of programs
are linked to it, and that libcups only likes to work with cupsd. I am
not so happy about this dependency. I would like to ask you for comments
and opinions.

It would be nice if you could CC to my email address as I have not
subscribed to the pkg-cups-devel list.

Best regards,

Alexander





More information about the Pkg-cups-devel mailing list