Releases: OpenPrinting/cups-filters
cups-filters 2.0.1
Bug fix release, mainly fixes on the build system, but also on the serial backend
- serial backend: Fixed bug in conversion of comments
(Pull request #548) - pclmtoraster: Properly set CFLAGS
As this is a C program, setpclmtoraster_CFLAGS, notpclmtoraster_CXXFLAGS(Pull request #588). configure: Remove==bashism
(Pull request #567)configure.ac: Remove Avahi check
cups-filters does not use Avahi (Pull request #558)
cups-filters 2.0.0
Final 2.0.0 release with a last fix
universal: Enableapplication/vnd.cups-postscriptas input
There are filters which produce this MIME type (such ashppsof HPLIP), and if someone uses such driver on a client and the server has an IPP Everywhere/driverless printer, the job fails (Pull request #534, requires libcupsfilters 2.0.0).
cups-filters 2.0rc2
Security vulnerability fix and general security and code clean-up of the beh (Backend Error Handler) backend:
- beh backend: Use
execv()instead ofsystem()- CVE-2023-24805
Withexecv()command line arguments are passed as separate strings and not the full command line in a single string. This prevents arbitrary command execution by escaping the quoting of the arguments in a job with forged job title. - beh backend: Extra checks against odd/forged input - CVE-2023-24805
- Do not allow
/in the scheme of the URI (= backend executable name), to assure that only backends inside/usr/lib/cups/backend/are used. - Pre-define scheme buffer to empty string, to be defined for case of URI being NULL.
- URI must have
:, to split off scheme, otherwise error. - Check return value of
snprintf()to create call path for the backend, to error out on truncation of a too long scheme or on complete failure due to a completely odd scheme.
- Do not allow
- beh backend: Further improvements - CVE-2023-24805
- Use
strncat()instead ofstrncpy()for getting scheme from URI, the latter does not require setting terminating zero byte in case of truncation. - Also exclude
.or..as scheme, as directories are not valid CUPS backends. - Do not use
fprintf()insigterm_handler(), to not interfere with afprintf()which could be running in the main process whensigterm_handler()is triggered. - Use
static volatile intfor global variable job_canceled.
- Use
parallelbackend: Added missing#includelines
cups-filters 2.0rc1
Release Candidate: Fixes for bugs found by Coverity check run, plus some more fixes.
foomatic-rip: Fix a SIGPIPE error when calling gs (Pull request #517)
Ubuntu's autopkgtest for foo2zjs shows foo2zjs's testsuite failing with cups-filters 2.0beta3 on ppc64el. This is cause by a timing issue infoomatic-ripwhich is fixed now.- Coverity check done by Zdenek Dohnal for the inclusion of cups-filters 2.x in Fedora and Red Hat. Zdenek has fixed all the issues: Missing
free(), files not closed, potential string overflows, ... Thanks a lot! (Pull request #510). - Dropped all C++ references and obsolete C standards (Pull requests #504 and #513)
With no C++ compiler needed, there is no need for any checks or setting for C++ inconfigure.ac. configure.ac: Change deprecatedAC_PROG_LIBTOOLforLT_INIT(Pull request #508)
cups-filters 2.0b3
Fixes of bugs found while packaging for distros, mainly in the build system and the source code documentation
texttopdf: Do not includefontconfig.hin the CUPS filter wrapper- Build system: Do not explicitly check for libpoppler-cpp
The cups-filters package does not contain any code using libpoppler-cpp, therefore we let./configurenot check for it. COPYING,NOTICE: Simplification for autotools-generated files
autotools-generated files can be included under the license of the upstream code, and FSF copyright added to upstream copyright list. SimplifiedCOPYINGappropriately.Makefile.am: IncludeLICENSEin distribution tarball- Add templates for issue reports on GitHub. This makes a selection screen appear when clicking "New Issue" in the web UI, to select whether the issue is a regular bug, a feature request, or a security vulnerability.
cups-filters 1.28.17
Bug fix release, to more reliably discover all printer capablities from driverless printers, especially borderless printing, and to preferably use Apple Raster instead of PWG Raster or PCLM.
- libcupsfilters: In PPD generator create only one
*cupsFilter2:line for raster. Only use the most desirable/reliable format, usually Apple Raster (Issue #498). - libcupsfilters: In
get_printer_attributes()pollmedia-col-databaseseparately if needed. On some printers one getsmedia-col-databaseonly this way. Often it reveals important functionality, like for example borderless printing (Issue #492). - libcupsfilters: Let PPD generator also parse
media-col-readyIPP attribute.media-col-readylists the loaded media, in contrary tomedia-ready, as list of complete descriptions of the media (media-coldata structure). This often lists also variants like borderless (it is the same physical paper). Especially useful whenmedia-col-databaseis not available (Issue #492). - libcupsfilters: In
generate_sizes()consider all margin alternatives. When generating the PPD file for a driverless printer, and in themedia-{left,right,top,bottom}-margin-supportedprinter IPP attributes there was more than 1 value, the first value (which often was the 0 for borderless printing) was not considered, leaving the borderless functionality of many printers undiscovered (Issue #492).
cups-filters 2.0b2
Second beta release approaching cups-filters 2.0.0: Corrected installation path for include files for the *.drv files, tons of fixes in source code documentation and build system
- Corrected installation path for
*.hfiles for*.drvfiles. Theppdc(and underlying functions) of libppd searches for include files in/usr/share/ppdcand not in/usr/share/cups/ppdcany more. configure.ac: Remove unnecessaryAVAHI_GLIB_...definitions.Makefile.am: IncludeNOTICEin distribution tarballconfigure.ac: Addedforeignto theAM_INIT_AUTOMAKE()call. Makes automake not require a file namedREADME.- Cleaned up
.gitignore - Tons of fixes in the source code documentation:
README.md,INSTALL,DEVELOPING.md,CONTRIBUTING.md,COPYING,NOTICE, ... Adapted to the cups-filters component, added links.
cups-filters 2.0b1
First beta release approaching cups-filters 2.0.0, for retro-fitting the filter functions of libcupsfilters and libppd into classic CUPS (2.x) environments.
- Converted nearly all filters to filter functions, only exceptions are
rastertoescpx,rastertopclx,commandtoescpx,commandtopclx, andfoomatic-rip. The latter is deeply involved with Foomatic PPDs and the others are legacy printer drivers. The filter functions are mainly in libcupsfilters, the ones which generate PostScript are in libppd. - Replaced all the filters converted to filter functions by simple wrapper executables using
ppdFilterCUPSWrapper()of libppd for backward compatibility with CUPS 2.x. - Added new streaming mode triggered by the boolean "filter-streaming-mode" option. In this mode a filter (function) is supposed to avoid everything which prevents the job data from streaming, as loading the whole job (or good part of it) into a temporary file or into memory, interpreting PDF, pre-checking input file type or zero-page jobs, ... This is mainly to be used by Printer Applications when they do raster printing in streaming mode, to run with lowest resources possible. Currently
foomatic-rip,ghostscript, andpdftopdfgot a streaming mode. For the former two PostScript (not PDF) is assumed as input and no zero-page-job check is done, in the latter all QPDF processing (page management, page size adjustment, ...) is skipped and only JCL according to the PPD added. - The CUPS filter
imagetopsuses theppdFilterImageToPS()filter function of libppd now. driverless,driverless-fax: Added IPP Fax Out support. Now printer setup tools list an additional fax "driver". A fax queue is created by selecting this driver. Jobs have to be sent with "-o phone=12345" to supply the destination phone number (Pull request #280, #293, #296, #302, #304, #305, #306, #309, Issue #298, #308).sys5ippprinter: Removedsys5ippprinter, as CUPS does not support System V interface scripts any more. This first approach of PPD-less printing was also not actually made use of.urftopdf: Removed as we require CUPS 2.2.2+ now which supports Apple Raster by itself.- Build system,
README.md: Require CUPS 2.2.2+. Removed now unneeded./configureswitches for use of theurftopdffilter for old CUPS versions. - Sample PPDs: Renamed source directory from
ppd/toppdfiles/. - Build system: Remove '-D_PPD_DEPRECATED=""' from the compiling command lines of the source files which use libcups. The flag is not supported any more for longer times already and all the PPD-related functions deprecated by CUPS have moved into libppd now.
- Build system: Add files in
.gitignorethat are generated by "autogen.sh", "configure", and "make" (Pull request #336).
cups-filters 1.28.16
Bug fix release, to make images be printed in their original size with "print-scaling=none" and to not use deprecated data types for reading TIFF images.
- imagetoraster, imagetopdf, libcupsfilters: Added support for reading the resolution of an image from its EXIF data when loading it. This way we get the image reproduced in its original size with "print-scaling=none" (Issue #362).
- libcupsfilters: Replaced deprecated data types uint16 and uint32. The function to read TIFF image files via libtiff in cupsfilters/image-tiff.c uses the deprecated types uint16 and uint32. The replacements for these types are uint16_t and uint32_t.
cups-filters 1.28.15
Bug fix release, to make all HP LaserJet PostScript printers correctly work.
- pdftops: In pdftops identify old LaserJets more precisely for working around PostScript interpreter bugs, older printers need Poppler, newer models need Ghostscript (Ubuntu bug #1967816).