OpenPrinting / libcups

OpenPrinting CUPS Library Sources
https://openprinting.github.io/cups/cups3.html
Apache License 2.0
28 stars 15 forks source link

Add support for arbitrary group tags and attribute syntaxes (value tags) #12

Open michaelrsweet opened 2 years ago

michaelrsweet commented 2 years ago

Currently libcups (and thus ipptool and ippserver) only supports the registered attribute syntaxes. However, section 3.5.2 of RFC 8010 allocates ranges of value tags for out of band (0x10 to 0x1f), integer (0x20 to 0x2f), octetString (0x30 to 0x3f), character-string (0x40 to 0x5f), and vendor extension values (0x40000000 to 0x7fffffff).

libcups should be extended to support these values, probably using a new ippAddOctetString2 function (with a value_tag argument, like we do for character strings and integers) for the octetString and vendor extension ranges. The _ippFile parsing code can then be extended to support these value tags accordingly.

Similarly, the tags from 0x00 to 0x0f are reserved for attribute group tags (in section 3.5.1 of RFC 8010) but should be supported as group_tag values.