Future Proofing my Printer with Reversing
12-29, 21:30–23:00 (Europe/Berlin), HDMI (room 3)
Language: English

My printer is only supported through proprietary drivers using a custom CUPS filter to convert PDFs/Images/... into a printer-specific Page Description Language such as PJL or PCL. However, CUPS is to deprecate filter based printer drivers in favor of IPP which every new printer supports. Mine doesn't. However, CUPS/OpenPrinting have designed PAPPL, a library to turn old printer filters/drivers into "Printer Applications". These are self-contained (and thus sandboxable) small daemons that provide an IPP server on localhost for applications to interface with, and spit out the commands necessary to talk to the printer in question. My goal is to write such a printer application for my printer. I havehad no previous knowledge of printing in general and on Linux and UNIX/macOS specifically, so this is taking rather long (and is by no means finished).


I have only started reversing the original driver and trying to piece together some proof-of-concept replacement. I still have no idea how to write a PAPPL, but I've learned so much on the way, maybe you want to learn this to and help me? A small warning though: You'll be the person everyone asks on how to setup printers from then on :'-D

See more: https://wiki.hip-berlin.de/index.php?title=HiPoCrypt#Future_Proofing_my_Printer_with_Reversing

I'm a genderqueer hacker from Berlin. Currently working in IT Security, my interests are also in systems engineering, typesetting/typography and cryptography. Additionally, I love teaching about these subjects as well as engaging in politics, having been part of the student's "Fachschaftsinitiative" of the CS department at the Freie Universität Berlin and active in various roles in the Ausbildungskommission, Institutsrat, Fachbereichsrat, Studierendenparlament and briefly as a member of the Academic Senate, before retiring from student life.

A number of open source projects are hosted all over the place at

and you can reach me in the Fediverse over

as well as read my blog over at

This speaker also appears in: