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-postscript
as input
There are filters which produce this MIME type (such ashpps
of 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 int
for global variable job_canceled.
- Use
parallel
backend: Added missing#include
lines
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-rip
which 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_LIBTOOL
forLT_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.h
in 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./configure
not 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. SimplifiedCOPYING
appropriately.Makefile.am
: IncludeLICENSE
in 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-database
separately if needed. On some printers one getsmedia-col-database
only this way. Often it reveals important functionality, like for example borderless printing (Issue #492). - libcupsfilters: Let PPD generator also parse
media-col-ready
IPP attribute.media-col-ready
lists the loaded media, in contrary tomedia-ready
, as list of complete descriptions of the media (media-col
data structure). This often lists also variants like borderless (it is the same physical paper). Especially useful whenmedia-col-database
is 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-supported
printer 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
*.h
files for*.drv
files. Theppdc
(and underlying functions) of libppd searches for include files in/usr/share/ppdc
and not in/usr/share/cups/ppdc
any more. configure.ac
: Remove unnecessaryAVAHI_GLIB_...
definitions.Makefile.am
: IncludeNOTICE
in distribution tarballconfigure.ac
: Addedforeign
to 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
, andpdftopdf
got 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
imagetops
uses 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./configure
switches for use of theurftopdf
filter 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
.gitignore
that 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).