Brandon Allbery <[email protected]> writes:
> IPP is the protocol that CUPS speaks. There may be other
> implementations, but Linux having adopted CUPS /en masse/ makes it
> somewhat unlikely.

IPP is the protocol that all modern network printer speaks.  It predates
CUPS by several years.  Some printers also support LPDP for historical
reasons, but as previously mentioned, there is no proper spec for LPDP,
and it's a shitty protocol anyway.

To summarize, lpr / lpd were originally written to run on a single host
and communicate solely through the filesystem; later on, someone tacked
on network support in the form of what is effectively a file transfer
protocol that lets lpd on one host write to another host's spool.  And I
do mean a file transfer protocol; there are practically no constraints
on what the client may send.  Until 1997, if you could connect to lpd,
you could write anywhere on the filesystem that lpd could access.  Still
today, you can fill the spool with garbage that lpd will never process
or delete, and under some circumstances remotely delete files you didn't
create, possibly including lpd's own lock file.  All of this with no
authentication whatsoever beyond a simple source address:port check.

DES
-- 
Dag-Erling Smørgrav - [email protected]

Reply via email to