Meeting called to order by Ira McDonald at 1pm US Eastern. Minutes taken by Ira McDonald.
Recording of this conference call will be archived at:
http://www.openprinting.org/download/meetingnotes/op-telecons/ OP-Meeting-20180403.mp3
Attendees
Agenda
- We are moving to GitHub now: https://github.com/OpenPrinting - Till is already looking into using GitHub also for generating the front page for OpenPrinting and pages for the projects.
- Moved to new upstream home: https://github.com/OpenPrinting/ippusbxd - No changes in current GIT repository, but we got an interesting contribution: https://github.com/OpenPrinting/ippusbxd/pull/2 Updating Communication Code --------------------------- from David Valleau (Google, Chrome OS) ------------------------------------------------------------------------------ Changes to USB The first commit is a simple change which has the USB library claim all of the available ipp-over-usb interfaces at the time of startup and only release them once the USB connection has been closed. The reason for this is that some printers will behave in strange ways if one interface is released while another interface is in the process of communicating. Changes to ippusbxd The second larger change is a redesign of how ippusbxd processes communication between the socket and the printer. The current implementation only supports transferring data from one end to the other, and relies on parsing the contents of the HTTP headers in the messages in order to determine when one end is done transferring data. Unfortunately due to the fact that many printers have implemented their HTTP servers in a variety of ways, the assumptions that the current implementation has made about when the printer has finished sending data do not hold up. The proposed implementation uses a pair of threads which are responsible for reading strictly from one end of the communication. One thread reads from the socket and sends data to the printer, the other thread reads from the printer and sends data to the socket. This allows ippusbxd to serve as a simple pass-through of information without having to keep any internal state or parse the contents of the messages which it handles. Since parsing the contents of the HTTP messages is no longer necessary, most of the existing HTTP code has been deleted. ------------------------------------------------------------------------------ - Till notes that these are major changes on the architecture of ippusbxd. Till has already done first tests with the HP OfficeJet Pro 8730 and reported his experiences in a comment. - As this is a major change it will not get included in Ubuntu 18.04 LTS.
- Avahi - Still no answer from Trent Lloyd yet. - Till considers Avahi as unmaintained. - Anyone wants to maintain it? - Or knows someone? - systemd - systemd also shows lack of maintainership. - Lennart Poettering seems to be the maintainer.
- CUPS source code and bug reports are handled on GitHub now - https://github.com/apple/cups/ - CUPS Summary (Till) - There are two new CUPS releases this time: 2.3b4 and 2.2.7. - The 2.2.7 contains backports of all bug fixes done in the 2.3.x series plus fixes for some crashes which Till has reported recently. It was originally to be delayed for some weeks to include a CVE bug fix which was not yet done. Till asked Mike whether he could release 2.2.7 in time for Ubuntu 18.04 LTS and he has released it without CVE fix last week and will do 2.2.8 for CVE fix. - CUPS 2.2.7 release on 27 March 2018 (Mike) - NOTICE: Raw print queues are now deprecated (Issue #5269, change removed in Ubuntu 18.04 LTS) - Fixed an Avahi crash bug in the scheduler (Issue #5268) - The IPP Everywhere PPD generator did not include the cupsJobPassword keyword, when supported (Issue #5265) - Systemd did not restart cupsd when configuration changes were made that required a restart (Issue #5263) - The Lexmark Optra E310 printer needs the "no-reattach" USB quirk rule (Issue #5259) - The scheduler could crash while adding an IPP Everywhere printer (Issue #5258) - Label printers supported by the rastertolabel driver don't support SNMP, so don't delay printing to test it (Issue #5256) - Fixed a compile issue when PAM is not available (Issue #5253) - Documentation fixes (Issue #5252) - Star Micronics printers need the "unidir" USB quirk rule (Issue #5251) - The scheduler now supports using temporary print queues for older IPP/1.1 print queues like those shared by CUPS 1.3 and earlier (Issue #5241) - Fixed printing to some IPP Everywhere printers (Issue #5238) - Kerberized printing to another CUPS server did not work correctly (Issue #5233) - The cupsRasterWritePixels function did not correctly swap bytes for some formats (Issue #5225) - Added a USB quirk rule for Canon MP280 series printers (Issue #5221) - The ppdInstallableConflict tested too many constraints (Issue #5213) - More fixes for printing to old CUPS servers (Issue #5211) - The cupsCopyDest function now correctly copies the is_default value (Issue #5208) - The scheduler did not work with older versions of uClibc (Issue #5188) - The scheduler now substitutes default values for invalid job attributes when running in "relaxed conformance" mode (Issue #5186) - Fixed PAM module detection and added support for the common PAM definitions (Issue #5185) - Fixed a journald support bug in the scheduler (Issue #5181) - The cups-driverd program incorrectly stopped scanning PPDs as soon as a loop was seen (Issue #5170) - Fixed group validation on OpenBSD (Issue #5166) - Fixed the ippserver sample code when threading is disabled or unavailable (Issue #5154) - The cupsEnumDests function did not include options from the lpoptions files (Issue #5144) - The SSLOptions directive now supports MinTLS and MaxTLS options to control the minimum and maximum TLS versions that will be allowed, respectively (Issue #5119) - The scheduler did not write out dirty configuration and state files if there were open client connections (Issue #5118) - The lpadmin command now provides a better error message when an unsupported System V interface script is used (Issue #5111) - The lp and lpr commands now provide better error messages when the default printer cannot be found (Issue #5096) - No longer support backslash, question mark, or quotes in printer names (Issue #4966) - The CUPS library now supports the latest HTTP Digest authentication specification including support for SHA-256 (Issue #4862) - The lpstat command now reports when new jobs are being held (Issue #4761) - The lpoptions command incorrectly saved default options (Issue #4717) - The ppdLocalizeIPPReason function incorrectly returned a localized version of "none" (rdar://36566269) - TLS connections now properly timeout (rdar://34938533) - The IPP backend did not properly detect failed PDF prints (rdar://34055474) - Temporary files are now placed in the correct directory for sandboxed applications on macOS (rdar://problem/37789645) - CUPS 2.3b4 beta release approaching 2.3.0 (still waiting for licensing getting sorted out): - NOTICE: Printer drivers are now deprecated (Issue #5270, further discussion on the Summit). - Kerberized printing to another CUPS server did not work correctly (Issue #5233) - Fixed printing to some IPP Everywhere printers (Issue #5238) - Fixed installation of filters (Issue #5247) - The scheduler now supports using temporary print queues for older IPP/1.1 print queues like those shared by CUPS 1.3 and earlier (Issue #5241) - Star Micronics printers need the "unidir" USB quirk rule (Issue #5251) - Documentation fixes (Issue #5252) - Fixed a compile issue when PAM is not available (Issue #5253) - Label printers supported by the rastertolabel driver don't support SNMP, so don't delay printing to test it (Issue #5256) - The scheduler could crash while adding an IPP Everywhere printer (Issue #5258) - The Lexmark Optra E310 printer needs the "no-reattach" USB quirk rule (Issue #5259) - Systemd did not restart cupsd when configuration changes were made that required a restart (Issue #5263) - The IPP Everywhere PPD generator did not include the cupsJobPassword keyword, when supported (Issue #5265) - Fixed an Avahi crash bug in the scheduler (Issue #5268) - Raw print queues are now deprecated (Issue #5269) - Fixed an RPM packaging problem (Issue #5276) - The IPP backend did not properly detect failed PDF prints (rdar://34055474) - TLS connections now properly timeout (rdar://34938533) - Temp files could not be created in some sandboxed applications (rdar://37789645) - The ipptool --ippserver option did not encode out-of-band attributes correctly. - Added public cupsEncodeOption API for encoding a single option as an IPP attribute. - Removed support for the -D_PPD_DEPRECATED="" developer cheat - the PPD API should no longer be used. - Removed support for -D_IPP_PRIVATE_STRUCTURES=1 developer cheat - the IPP accessor functions should be used instead. - CUPS Filters Summary (Till) - Currently release is 1.20.2. - This is a bug fix release fixing the recognition of remote CUPS queues by cups-browsed, the behavior of cups-browsed when one creates a queue with the same name of a cups-browsed-generated queue overwriting it, and other bug fixes. - cups-browsed 1.20.2 (with the fix on gstoraster added) is the cups-filters of Ubuntu 18.04 LTS (Bionic). - CUPS Filters v1.20.3 plans (Till) - gstoraster: Improved detection whether input is PostScript or PDF by skipping over possible headers. Thanks to Rod Schmidt (schmidtrod at q dot com) for the patch. - CUPS Filters v1.20.2 release on 31 March 2018 (Till) - cups-browsed: If the user modifies/overwrites a print queue created by cups-browsed, it will now automatically released from the control of cups-browsed, so the modified queue does not get removed by cups-browsed on shutdown. (Ubuntu bug #1731417). - cups-browsed: The configuration setting "CreateIPPPrinterQueues LocalOnly" suppressed also the automatic generation of local queues for remote CUPS printers whereas this option is only intended for physical IPP printers. - cups-browsed: Identify remote CUPS queues by the "printer-type" TXT record entry and not by the "ipp(s)://<host>/printers/<name>" URIs, there are also IPP network printers with such URIs (HP LaserJet Professional M1212nf MFP in Ubuntu bug #1731417). - .gitignore: Added filter/braille/filters/brftopagedbrf - cups-browsed, foomatic-rip: Fixed several typos. Thanks to Didier Raboud for the patches.
- GSoC 2018 Schedule - DONE - 4 January to 23 January - Mentor organization applications - DONE - 23 January - 11 February - GSoC reviews mentor organization applications - DONE - 12 February - GSoC approves mentoring organizations - DONE - 12 February to 12 March - Students discuss GSoC projects - DONE - 12 to 27 March - Students apply for GSoC projects - 23 April - GSoC approves projects and Students - 14 May - GSoC coding begins - 11-15 June - GSoc Phase 1 evaluations by Mentors and Students - 9-13 July - GSoc Phase 2 evaluations by Mentors and Students - 6-14 August - GSoC final week - 14-21 August - Mentors submit final Student evaluations - 22 August - GSoC announces final results - October - GSoC Mentor Summit at Google - GSoC 2018 Status - We have found enough mentors to run 7 OpenPrinting student projects (for 8 students) in this year's Google Summer of Code. - This project lineup is naturally subject to the number of student slots which Google will give to the Linux Foundation. - Sahil and Rithvik are already working on their projects as they have commitments during part of the official coding period, so we have to assign slots to them first. - Currently, we are in Google's period for the mentors to review the student applications, find the worthwhile ones, assign mentors to these and, as a result, determine the number of slots to request. - OpenPrinting has finished this work already and will request 8 slots. - We have also asked the other workgroups of the LF to catch up, make sure they do their "WANT TO MENTOR" clicks for at least one distinct mentor per student, and give us their slot numbers to request. - Currently, we have the following estimates/results: Group Slots min max Comment -------------------------------------------------------------- OpenPrinting 8 8 (Confirmed) WireGuard 6 6 (Confirmed by Jason Donenfeld) LSB 2 3 (Estimated) SIL2LinuxMP 0 1 (Confirmed by Lukas Bulwahn) IIO 1 3 (Estimated, 1 confirmed by Daniel Baluta) -------------------------------------------------------------- 17 21 - We need an answer from the ISPRAS (LSB) guys. It seems that they have pre-selected 2 students inside ISPRAS (the 2 Russians, one of them did GSoC for LSB/ISPRAS already in 2017) and a third proposal came up during the student application period. - There are many applications marked "kernel", some marked "other" and, not being IIO, one marked "llvmlinux" and one marked "wireless". We need to find out what to do with these. - Linux Foundation got a total of 51 applications including the unusable ones. Up to now we have dropped 13 proposals and accepted/confirmed 15 proposals (8 OpenPrinting, 6 WireGuard, 1 IIO). - GSoC 2018 Projects: - We have found enough mentors to run 7 OpenPrinting student projects (for 8 students) in this year's Google Summer of Code. We have also found all the 8 students in time before the deadline for student applications. - Here is again the list of projects but now with all the student names and all the mentors (according to who clicked "WANT TO MENTOR" on which proposal. - If we assume that the mentors with the asterisks are the principal mentors for each student, there is a distinct mentor for every student and so all of Google's requirements to get slots for these projects are fulfilled. (1) Make all filters in cups-filters use Poppler standard API or QPDF. - Make all filters in cups-filters which use Poppler only use the standard API of Poppler and no unstable, unofficial APIs, switch over to QPDF if more adequate (like bannertopdf for example). This task would improve the maintainability of cups-filters. - Student: Sahil Arora - Mentors: Till, *Jay (2) Enhancements for ipptool - Write additional ipptool scripts for coverage of operations and attributes that are required by IPP Everywhere, but not yet tested in IPP Everywhere Self- Certification process - also new scripts for other IPP specs (e.g., IPP Shared Infrastructure) for developers. - Students: Akash Sharma, Lakshay Bandlish - Mentors: *Smith, *Danny, Aveek, Ira (3) PWG Raster "ippdoclint" program - We ought to have a tool that can take an input PWG Raster document file and check its structure and report any errors / warnings / issues with the document's structure or content. This could be used by an "ippserver" tool as a "command" to process the input files, which could then report on structural problems with the document content submitted with a Job, and report its status accordingly. - https://github.com/istopwg/ippsample/issues/29 - Student: Rithvik Patibandla - Mentors: Smith, Danny, *Aveek (4) Enhance "ippserver" to support the full range of IPP data types - Enhance "ippserver" to support the full range of IPP data types (especially complex data types like (1setOf (textWithLanguage)) and handling the strings being wrapped in single / double quotes, etc. - Student: Aakash Lahoti - Mentors: Mike, *Ira, Danny, Aveek (5) Common Print Dialog Backends project - The OpenPrinting project “Common Print Dialog Backends” provides a D-Bus interface to separate the print dialog GUI from the communication with the actual printing system (CUPS, Google Cloud Print, ...) having each printing system being supported with a backend and these GUI-independent backends working with all print dialogs (GTK/GNOME, Qt/KDE, LibreOffice, ...). This allows for easily updating all print dialogs when something in a print technology changes, as only the appropriate backend needs to get updated. Also new print technologies can get easily introduced by adding a new backend. For quickly getting this concept into the Linux distributions we need the following smaller, but important, tasks to be done: (a) The CUPS backend tells the print dialog only about printer-specific user- settable options, not about just general options implemented in CUPS or cups-filters and so being available for all print queues. These are options like N-up, reverse order, selected pages, ... As they are only common for CUPS and not necessarily available with other print technologies like Google Cloud Print, they should get reported to the print dialog by the CUPS backend. (b) A print dialog should allow to print into a (PDF) file. This should be implemented in a new print dialog backend. (c) As it will take time until GTK4 with its new print dialog is out, we should get support for the new Common Print Dialog Backends concept for the current GTK3 dialog. As this dialog has its own backend concept one simply would need an “adapter” backend to get from the old concept to the new, common concept. These are three smaller projects, so we expect that one student will do them in this GSoC 2018 summer. - Student: Ayush Bansal - Mentors: Till, *James (6) Qt Print Dialog completion - The Qt Print Support framework should be updated with the CPD support. The goal is to provide the CPD GUI features and D-Bus communications with the CPD backend support for printing from Qt5 applications on supported platforms. Based on the GSoC 2017 work, one example of Qt CPD implementation outside of Qt Print Support can be found at: https://github.com/rithvikp1998/CPDv2. For this task, implementation is expected to start with QPrintDialog instead. - Student: Gaurav Purohit - Mentor: *Dongxu (7) Content-oriented printer auto-selection - Cluster arbitrary collection of printers (all available printers) into one queue with merged PPD (all options of all printers available, option conflicts if selection cannot be obeyed on one single printer), user selects options (and document type, like text, photo, ... is also submitted) and printer (or printers) to print the job on gets auto-selected by cups-browsed. User does not need to know which printers are avaialable and what they are capable of. Interesting idea for a new concept of printing user experience. - Student: Deepak Patankar - Mentor: *Till
- Joint PWG/OP Summit Sunnyvale, CA (PWG Host at Wild Palms Hotel) - 15-17 May 2017 - http://www.pwg.org/chair/meeting-info/may-2018-sunnyvale.html - https://www.surveymonkey.com/r/C5DXRWY (attendance survey - please respond!) - Status of AMSC and ISO liaisons w/ PWG (Paul Tykodi) - http://ftp.pwg.org/pub/pwg/general/sc/pwg-sc-call-minutes-20180315.htm - IPP Everywhere Self-Certification - PWG 5100.20-2016 - Active - http://ftp.pwg.org/pub/pwg/candidates/ cs-ippeveselfcert10-20160219-5100.20.pdf - IPP Everywhere 1.0 Self-Certification Manual 1.0 - Q1 2016 - REQUIRED for PWG IPP Everywhere Logo usage - https://www.pwg.org/ippeveselfcert - IPP Everywhere Self-Certification website - opened 25 March 2016 - Certification is ONLY available to PWG members (but FREE) - http://www.pwg.org/archives/pwg-announce/2017/003822.html - Update 2 IPP Everywhere Self-Cert Tools - 13 October 2016 - https://www.pwg.org/dynamo/eveprinters.php - 206 IPP Everywhere printers currently certified! - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippeve11-20180403-rev.pdf - IPP Everywhere 1.1 - Q2/Q3 2018 - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippeveselfcert11-20180404-rev.pdf - IPP Everywhere 1.1 Self-Certification Manual 1.1 – Q2/Q3 2018 - IPP System Service (Mike/Ira) - Prototype draft - http://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippsystem10-20180214-rev.pdf - PWG Virtual F2F review on 02/08/18 - Schedule - Stable draft in Q2/Q3 2018 - prototyping in "ippserver" - IPP Privacy Attributes - Interim draft - proposed IPP Registration - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippprivacy10-20180403-rev.pdf - IPP WG review on 03/29/18 - Schedule - IPP WG Last Call 04/02/18 to 04/12/18 - IPP Authentication (Smith) - whitepaper - http://ftp.pwg.org/pub/pwg/ipp/whitepaper/tb-ippauth-20180123.pdf - PWG Virtual F2F review on 02/08/18 - Schedule - TBD - IPP Job Reprint Password (Smith) - Interim draft - http://ftp.pwg.org/pub/pwg/ipp/wd/wd-ippreprintpwd-20180404-rev.pdf - IPP WG review on 03/29/18 - Schedule - TBD - IPP Encrypted Jobs and Documents - Initial draft - https://ftp.pwg.org/pub/pwg/ipp/wd/wd-trustnoone-20180328.pdf - for future IPP WG review - Schedule - TBD
- Joint PWG/Open Printing Summit in Sunnyvale, CA - 15-17 May 2018 - http://www.pwg.org/chair/meeting-info/may-2018-sunnyvale.html - https://www.surveymonkey.com/r/C5DXRWY (attendance survey - please respond!) - Trusted Computing Group in San Diego, CA - 18-21 June 2018 - http://www.trustedcomputinggroup.org/ - ESCAR USA 2018 in Ypsilanti, MI - 20-21 June 2018 (automotive security) - https://www.escar.info/escar-usa.html
Open Action Items
Next OP US/Europe/Brazil/India Conference Calls
- CANCELED - Note - Joint PWG/OP Summit Sunnyvale, CA (Wild Palms Hotel) - 15-17 May 2017
- Tuesday 5 June 2018, Daytime - US 10am in San Francisco - US PDT (Pacific Daylight Time) 11am in Colorado - US MDT (Mountain Daylight Time) 12am in Chicago - US CDT (Central Daylight Time) 1pm in New York - US EDT (Eastern Daylight Time) - Europe 7pm in Berlin - CEST (Central Europe Summer Time) - Brazil 2pm in Belo Horizonte - BRT (Brasilia Time) - India 10:30pm in New Delhi - IST (India Standard Time) US: +1 641-715-3814 Germany: +49 (0) 221 98203421 Brazil: +55 61 4040-4460 Japan: +81 (0) 3-5050-5070 Participant Access Code: 622393# (note that local numbers for many other countries are available, also cellphone apps, VOIP support, etc. - please email Till for details)
- Note - US holiday 4 July 2018 - Tuesday 10 July 2018, Daytime - US 10am in San Francisco - US PDT (Pacific Daylight Time) 11am in Colorado - US MDT (Mountain Daylight Time) 12am in Chicago - US CDT (Central Daylight Time) 1pm in New York - US EDT (Eastern Daylight Time) - Europe 7pm in Berlin - CEST (Central Europe Summer Time) - Brazil 2pm in Belo Horizonte - BRT (Brasilia Time) - India 10:30pm in New Delhi - IST (India Standard Time) US: +1 641-715-3814 Germany: +49 (0) 221 98203421 Brazil: +55 61 4040-4460 Japan: +81 (0) 3-5050-5070 Participant Access Code: 622393# (note that local numbers for many other countries are available, also cellphone apps, VOIP support, etc. - please email Till for details)
- Tuesday 7 August 2018, Daytime - US 10am in San Francisco - US PDT (Pacific Daylight Time) 11am in Colorado - US MDT (Mountain Daylight Time) 12am in Chicago - US CDT (Central Daylight Time) 1pm in New York - US EDT (Eastern Daylight Time) - Europe 7pm in Berlin - CEST (Central Europe Summer Time) - Brazil 2pm in Belo Horizonte - BRT (Brasilia Time) - India 10:30pm in New Delhi - IST (India Standard Time) US: +1 641-715-3814 Germany: +49 (0) 221 98203421 Brazil: +55 61 4040-4460 Japan: +81 (0) 3-5050-5070 Participant Access Code: 622393# (note that local numbers for many other countries are available, also cellphone apps, VOIP support, etc. - please email Till for details)