Hi all,

I attended annual PWG (Printer Working Group) and OpenPrinting meetup which was held in May virtually via Webex.

From the things discussed there I would mention the most interesting ones (more detailed notes are attached):

- last release from series 2.4.x will be released soon,

- first stable release of series 2.5.x will be released in month or two - the release will include OAuth support, which will replace Kerberos support in CUPS 3.x. CUPS 2.5.x will work with any OAuth provider by several new directives present in cupsd.conf and cups-files.conf, includes helper CLI binaries for setting OAuth and generating TLS certificates,

- first stable release of libcups 3.x is planned to happen soon (in month or two) - projects depending on libcups can start implementing configuration options to support both libcups 2.x and libcups 3.x, or migrate to libcups 3.x as whole - libcups 3.x is not in Fedora at the moment,

- OCI container images for OpenPrinting projects created and available via Rockcraft, which works with Docker.


Have a nice day,


Zdenek


--
Zdenek Dohnal
Senior Software Engineer
Red Hat, BRQ-TPBC
CUPS Plenary
------------

2.4.x - will be last release as 2.4.13
2.5.x - new features - oauth, wide-area dnssd lookups, filtering, web interface 
facelift, x509 certificate management
OAuth
- we have support for any generic oauth server - you can choose your oauth 
provider, supports dynamic and static client registration
- all in cups-files.conf:
  OAuthGroup NAME FILENAME - file lists JWT email/sub to groups - OAuthGroup 
SYSTEM admins.conf (admins.conf in /etc/cups)
  OAuthServer <http uri> - url of authorization server
  OAuthScopes SCOPE [... SCOPE] - lists scopes to ask for

Can you have multiple oauth groups? Yes
CUPS can look into whole URL in OAuthServer directive, if it does not work, 
strips resources one by one till the root until working URL is found

- all cupsd.conf:
  DefaultAuthType Bearer/AuthType Bearer in <Location> or <Policy>
- when enabled, cupsd requires it over domain socket as well, so web ui works 
only via localhost, since oauth and local credentials might not be the same.
- cups-oauth - new command, manages/configure Oauth/openiud clients and creds
  for configuring client id and secret for servers without dynamic client 
registration

  see cups-oauth
- cups-x509 - manages certs, CSRs, client/server test functionality
  cups-x509 csr -t <cipher> SERVER-NAME (more options for fields in CSR)
  cups-x509 install server-name filename.crt

3.0
- libcups 3.0.0 - in two months in 2025
- cups-local - 3.0b1 in two months in 2025
- cups-sharing - 3.0b1 in autumn 2025


Concerns about Ubuntu release cycle and proposed release dates - the proposed 
new CUPS 3.x would come into LTS release which is risky. Fedora is stuck on 
zdohnal and Centos Stream has time for now.
How long will CUPS 2.5 live? for too long :)

PAPPL
- 2.0b1 May/June 2025
- 2.0.0 October/November 2025
- requires CUPS 2.5 or 3.0+
- auth via oauth/openid
- discovery local only, disabled
- cloud printing - ipp infra and system support
- idle-exit/on-demand support

Ensuring the positions of CUPS and printer apps in CUPS 3.x - still CUPS useful 
for generic printing, some specific use cases can be handled by printer app


GSOC project updates
--------------------

- 2024 - 11 projects - 10 successful, 1 failed
- PAPPL API bridging for scanner apps
- CUPS and printer apps into OCI images
- CPDB for libreoffice
- OSS-Fuzz testing for OpenPrinting - especially endorsed by Google
- replace qpdf for pdfio in libcupsfilters
- convert braille embosser into printer app
...

- 2025 - not yet decided which will get accepted:
  - port pycups for CUPS 3.x API and apply to system-config-printer
  - popular Zephyr and porting apps to it

OP initiatives
- opportunity open source conference - next 5-7 Sept 2025

CPDB libreoffice dialog demo
- dbus communications and human readible options enhancements

If we use CPDB instead of specific GUI print dialogs, we don't have to poke GUI 
devs to fix their dialogs

Scan API bridging in PAPPL
- from 2023+2024 - middleware between old scanner and eSCL device
- finishing by end of OSPP deadline - open source promotion plan - mentoring 
program in China


OpenPrinting Plenary
--------------------
- CUPS 2.4.12, pappl 1.4.9, pdfio 1.5.3, pappl-retrofit 1.0b2 (stable releases 
will be with CUPS 3.0)
- distribution methods - snaps, OCI images
- ipp-usb 0.9.30, sane-airscan 0.99.35

Note about problematic firmware implementation of IPP over USB - challenge for 
PWG and manufacturers collab

- GSOC 2025 timelines
  - Nov 18th final work submit for extended project, Sep 1st final work submit 
for standard project

Extended period can be used if the contributor provides good output, but cannot 
finish in standard timeframe due various reasons.

Next Steps
- CUPS 3.0 implementation, cups-filters 2.0, driverless printing and scanning, 
GSOC implementation of PWG IPP specs and features
- there is no more monthly news, Till writes only once something important 
happens
- monthly OpenPrinting meetings, next in June

OpenPrinting - cups-filters and friends :)
------------------------------------------
- generation 2.x since 2022
  - libcupsfilters (filter functions with no PPD support),
  - libppd (PPD support for legacy drivers in retrofit apps),
  - cups-filters (filters/backend for CUPS 2.x) - will be dropped with CUPS 3.x
  - braille-printer-app,
  - cups-browsed (printer clusters and autoinstallation) - will be dropped with 
CUPS 3.x

libcupsfilters
- 2.1.0/2.1.1 - support for libcups3, CI testing, fix for CVE-2024-47076, 
OSS-Fuzz testing
- 2.2.0 - no C++ by replacing QPDF by pdfio - one of the reason was it got a 
lot of C++ deps generated in Debian, and licensing
        - JPEG-XL support

libppd
- support for libcups3, CVE fix for CVE-2024-47175

cups-filters, cups-browsed
- bug fixes and security fixes - individual connections in cups-browsed to 
prevent infinite loop issues

Questions - creating permanent queues between cups-sharing servers - we will 
look into it once we move to cups-sharing development, Mike created issue on 
cups-sharing to discuss functionality to move from cups-browsed
          - what about foomatic-rip when no cups-filters - present in 
ghostscript printer app

CPDB
- print dialog connects to CPDB frontend, which communicates with CPDB backends 
for each services - CUPS, google cloud print
- generation 2.x
  - asynch requests and communication between frontend and backends
  - streaming print job content
  - containerization optimizations
  - possibility for permanently running backends
  - dropped job control support
  - new API functions to use
  - backend is user daemon triggered by dbus or running permanently
- dialog status - gtk accepted, qt before merging, others before merging as well

KDE print manager
- volunteer work by Tarun, Mike Noe and Till to migrate it to CUPS 3.x

Fuzz testing, OSS-Fuzz
- going to use OSS-Fuzz service from Google for fuzz testing

SNAP distributions
- CUPS 3.x:
  - sharing server - currently CUPS 2.x and then cups-sharing
  - local server - cups-local
- lookup service for printer application on OpenPrinting web site
- snapping printer/scanner apps and ipp-usb - snap does not have systemd udev, 
so it might use udevadm to start ipp-usb, but rather run the daemon permanently

OCI container images
- run in container
- container image build in ROCKs/rockcraft, which works with docker - Ubuntu 
used for build and runtime, distroless means minimal installation of files from 
Ubuntu
- CUPS images available are not from OpenPrinting, thus it is difficult to trust
-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to