freedomofpress / securedrop-client

a Qt-based GUI for SecureDrop journalists 📰🗞️
GNU Affero General Public License v3.0
40 stars 38 forks source link

Inconsistent Supported Printers #2087

Open deeplow opened 1 month ago

deeplow commented 1 month ago

Description

Export README:

Supported Printers

Printer support is currently limited to a subset of Brother and HP printers that offer USB (non-wireless) connectivity, such as:

  • HP LaserJet Pro 4001dn
  • Brother HL-L2320D

Recommended hardware docs:

In order to print submissions, a supported non-networked printer is required. We have tested and recommend the HP LaserJet Pro M404n

Expected Behavior

Consistent list of supported devices to better inform acquisition.

Actual Behavior

Different devices listed in different places.

deeplow commented 1 month ago

Some more context on this can be found on this 2018 ticket:

Why do we want to do this?

  • Raw queues used for special-use printers require custom applications that know about printer capabilities and how to produce printer-ready (document) data. Using CUPS is a convenience, but plenty of applications talk directly to printers (think Point of Sale systems)
    • Raw queues used for shared printers require client software to talk directly to the server to get the printer capabilities, which breaks when sandboxing/AppArmor/SELinux is used
    • Almost every printer manufactured since 2010 supports IPP/2.0 with standard file formats
    • Holdouts are industrial label printers and certain vertical market printers
    • PPDs and drivers have been holding us back from offering better user experience (ready media, localization, full range of printer options/values), improved document processing, and improved accounting
    • PPDs and drivers are a security and distribution nightmare

From a quick search, it looks like the replacement to printer drivers is IPP (some sort of network self-configure printing service). However, many printers don't support this and above all USB printers don't really seem to be considered compatible. There is IPP-USB which somehow tries to bridge the gap, but alledgly that's only for printers that support IPP over USB.

rocodes commented 1 month ago

Pretty much all modern printers support Airprint, so they are theoretically capable of IPP over USB. The discrepancy you noticed in printer models does mean we should update our docs; it's because the M404n was discontinued and so we updated our recs in one place but not another.

Big picture though, I think the blocker is on our side just putting time into investigating the transition to ipp over USB. istr some issues with the grsec kernel and the Avahi daemon when @cfm last tested, but we weren't putting time into it so we didn't follow up. This is high up on the list of things to fix though :) we just need to put some time against it.