CHANGES IN V1.0.71
- texttopdf: The Page allocation is moved into textcommon.c, where it
does all the necessary checking: lower-bounds for CVE-2015-3258 and
upper-bounds for CVE-2015-3259 due to integer overflows for the
calloc() call initialising Page[0] and the memset() call in
texttopdf.c's WritePage() function zeroing the entire array. Thanks
to Tim Waugh from Red Hat for the patch.
- texttopdf: Upper-bounds checking (CVE-2015-3259).
Changes:
- texttopdf: Fixed buffer overflow on size allocation of texttopdf
when working with extremely small line sizes, which causes the size
calculation to result in 0 (CVE-2015-3258, thanks to Stefan
Cornelius fro Red Hat for the patch).
- cups-browsed: leak fixes
- cups-browsed: Further BrowseAllow fixing
- cups-browsed: BrowsePoll is an array of pointers, not structures,
so allocate room for the pointers
- cups-browsed: Prevent NULL dereference when handling BrowseAllow
without value
- cups-browsed: Use memory deallocation function corresponding to
allocation function used
- cups-browsed: Fixes for glib source handling (Red Hat bug #1228555)
- foomatic-rip: Allow using another shell than /bin/bash using the
"--with-shell=..." option for "./configure". Thanks to Leonardo
Taccari for the patch (Bug #1288).
Changes:
- cups-browsed: When generating a PPD for an auto-discovered IPP
network printer, create a "ColorModel" option only if valid
choices are reported for it by the IPP printer.
- cups-browsed: Updated PPD file generator for auto-generated queues
for IPP network printers from the CUPS 2.1.x upstream code, so that
floating-point numbers are written in a locale-neutral way
(CUPS STR #4579).
- cups-browsed: When checking whether a queue name already exists
as a locally defined queue, do case-insensitive comparing as for
CUPS printer names are case-insensitive. This assures that
already existing queues do never get overwritten.
- cups-browsed: Added "IPPPrinterQueueType Auto/PPD/NoPPD" directive
to cups-browsed.conf to allow controlling how cups-browsed
creates queues fr native IPP network printers: with PPD, with
System V interface script, or selecting automatically.
- pdftopdf: Center Landscape-oriented jobs correctly on the page
if the "fitplot" or "number-up" options are used (Bug #1284).
- pstopdf: Removed "-dUseCIEColor" from the Ghostscript command line.
In modern Ghostscript versions (9.11 and newer) it is recommended to
not use it with the pdfwrite and ps2write output devices any more.
- imagetopdf: Corrections in PDF output: Let evince display the PDF
with the correct size including margins and let ghostscript not
complain about an invalid xref entry.
- cups-browsed: Do not add options to the System V interface script
which calls sys5ippprinter but set the options as defaults for the
CUPS queue in printers.conf.
- cups-browsed: When auto-generating a PPD-less print queue for an
IPP network printer, determine default page size, unprintable margins,
and color space from the printer via an IPP request.
- imagetopdf: Debug logging should be only controlled by the LogLevel
of CUPS, not by an awkward build time switch.
- cups-browsed: Determine from the TXT records of the Bonjour broadcast
of an IPP network printer whether it has color and duplex
capabilities and if yes, let auto-generated PPD-less print queues
use appropriate command line options to make use of these
capabilities.
- imagetopdf: Make this filter also work with auto-generated PPD-less
print queues for IPP network printers.
- sys5ippprinter: Renamed pdftoippprinter to reflect that it is
once a System 5 interface script and second does not accept only
PDF as input.
- pdftoippprinter: Support also PWG Raster and JPEG as input formats
so that an auto-generated, PPD-less queue for an IPP printer emulates
an IPP Everywhere printer.
CHANGES IN V1.0.68
- cups-browsed: Numeric IDs for GSources of the glib event
loop must be positive integers greater than zero according
to the documentation of the g_source_get_id() function.
Taken care of this at all places.
- cups-browsed: Added conditionals so that it also builds with
CUPS 1.5.x (but then withou support for automatically creating
queues for IPP network printers). Thanks to Johannes Meixner from
SUSE for the patch (Bug #1268).
- Ricoh-PDF_Printer-PDF.ppd: Added PPD file for Ricoh's PDF printers
(experimental). Thanks to Ulrich Wehner from Ricoh for the file.
CHANGES IN V1.0.66
- cups-browsed: SECURITY FIX: Fixed a bug in the remove_bad_chars()
failing to reliably filter out illegal characters if there are two
or more subsequent illegal characters, allowing execution of
arbitrary commands with the rights of the "lp" user, using forged
print service announcements on DNS-SD servers (Bug #1265).
- pdftoopvp: Added conditionals to also build with Poppler 0.31.0
and newer. Thanks to Armin K. (krejzi at email dot com) for the
patch (Bug #1254).
CHANGES IN V1.0.65
- cups-browsed: Listen for NetworkManager changes (Red Hat bug #975933).
- cups-browsed: Fix for memory leak introduced in BZR rev 7059.
- cups-browsed: Memory leak/uninit fixes.
- cups-browsed: Cache prepared browse data to send.
- cups-browsed: Only get local notifications once per BrowsePoll run.
- cups-browsed: Fix BrowsePoll now notifications work properly. Need
to maintain a list of printers to keep alive for the case of there
being no notifications of changes.
- cups-browsed: Use local browsepolling for getting initial printer
list.
- cups-browsed: Ignore browse packets for deleted printers.
- cups-browsed: Cache connection to local cupsd.
- cups-browsed: Use notifications to track local printers.
This avoids expensive calls to cupsGetDests().
- cups-browsed: Manage subscriptions for local browsepolling.
- cups-browsed: Track notify-sequence-number for notifications.
CHANGES IN V1.0.62
- cups-browsed: Allow underscore characters in print queue names.
Thanks to Tim Waugh from Red Hat for the bug report (Bug
#1241).
- pdftops: Apply workarounds for Kyocera also to Utax printers
as Utax uses hard- and software from Kyocera. Thanks to Edward
Huang from Kyocera.
- cups-browsed: Added support for "BrowseAllow All" in the
cups-browsed.conf file.
- cups-browsed: Reorder inclusion of headers for compatibility
with NetBSD (Bug #1235).
- imagetopdf, pdftopdf: Correct handling of hardware copies in
PJL/JCL and/or when the PPD file has a "Copies" option.
CHANGES IN V1.0.61
- cups-browsed: Fixed memory leak when a
cups-browsed-generated print queue is the default
printer. Thanks to Tim Waugh from Red Hat for the patch (Red
Hat bug: #1119290).
- cupsfilters.drv, *-PDF.ppd, textonly.ppd: Added
"*cupsFilter2: ..." lines to the PPD files to support
data-format-specific behavior of backends, especially of the
IPP backend.
CHANGES IN V1.0.60
- cups-browsed, pdftoippprinter: Do not confuse the PDL "PCLm"
with "PCL". The former is a proprietary, PDF-based raster
format and has nothing to do with PCL.
- cupsfilters.drv: Corrected the CMD: field of the device ID,
it must read "PWGRaster" there to conform to the PWG standard.
CHANGES IN V1.0.59
- cupsfilters.drv: Added PPD file for a Generic IPP Everywhere
Printer, generating PWG Raster output.
- gstoraster, pdftoraster, imagetoraster: Allow PWG Raster
output with print queues using a PPD file, using the new
"PWGRaster" PPD attribute.
- pdftoraster: Removed "cm_disabled" flag in selectConvFunc()
- libcupsfilters: Allowed color management to continue while
invalid input
- rastertopdf: Streamlined PDF conversion code
- rastertopdf: Invert all CUPS_CSPACE_K documents by default
- foomatic-rip: Clean trailing white space from PPD file lines to
avoid a segfault caused by it (Bug #1227).
CHANGES IN V1.0.58
- pdftoraster: Changed ICC profile get function to accept a
PPD fallback profile.
- pdftoraster: Fixed handling of cupsColorSpaces 18,19,20.
- rastertopdf: Added test feature to force color management if
"profile=" option is specified.
- rastertopdf: Grayscale color conversion now properly inverts
bits.
- rastertopdf: Code cleanup for prepare_pdf_page().
- rastertopdf: Implemented basic 8bit->8bit color space
conversions.
- rastertopdf: Added black point compensation.
- rastertopdf: Added handling of color rendering intent.
- gstoraster, imagetoraster, pdftoraster, rastertopclx,
rastertopdf, foomatic-rip: Use color management functions in
libcupsfilters.
- libcupsfilters: Modified code formatting and documentation in
the color management functions.
- libcupsfilters: Fixed string handling and added debug log
messages in the color management functions.
- libcupsfilters: Fixed Adobe RGB matrix for proper rendering
(transpose)
- libcupsfilters: Moved color management functions from the
individual filters to the libcupsfilters library.
CHANGES IN V1.0.57
- rastertopclx: Fixed implicit declaration of
colord_get_inhibit_for_device_id.
- Build system: Explicitly link to libm as -lm was dropped
from cups-config --libs.
- libcupsfilters, foomaticrip, gstoraster, imagetoraster,
pdftoraster, rastertopclx, rastertopdf: Handle absence of
colord or D-Bus gracefully (Ubuntu bug #1356405).
CHANGES IN V1.0.56
- rastertopdf: Some code polishing and removal of now unneeded
functions
- rastertopdf: Reduced color space handling to only
PWG-supported color spaces
- rastertopdf: Added colorspace calibration function; included
optional "/Alternate" PDF key for ICC profile embedding
- rastertopdf: Colorspace sRGB now embeds srgb icc profile;
implemented ICC Profile embedding (PDF 1.3 spec)
- rastertopdf: Added basic color calibration
- rastertopdf: Implemented ICC Profile creation code for IPP
Everywhere (from PWG raster)
- pdftoraster: Added colord handling of ICC profiles
- kmdevices.cpp/.h: Added interface for Kolor Manager
- cups-browsed: Do not consider a remote CUPS queue as raw if
the TXT record is NULL as for queues broadcasted by the
legacy CUPS method the TXT record does not exist. Now
consider a queue with NULL TXT record only as raw if the
domain entry is not empty (which tells that the queue is
Bonjour-broadcasted (Bug #1223).
- cups-browsed: Do also not mark a discovered printer as
already provided by another server when the other server's
queue has "unconfirmed" status. Mark the other queue with
"disappeared" or "unconfirmed" status as duplicate of the
discovered printer so that the new queue for the discovered
printer does not get removed when the entry for the other
queue times out.
CHANGES IN V1.0.55
- pdftopdf: Fixed manual duplex by adding a blank page to evn
pages if the total number of pages of the document is
odd. Otherwise the last page of the document would stay in
the input tray. This fixes also a side effect as the set of
even pages reducing to a zero page job if the job consists
of only one page, making Poppler's pdftops error out (Ubuntu
bug #1340435).
- cups-browsed: Do not mark a discovered printer as already
provided by another server when the other server's queue has
"disappeared" status. This queue can be from the same server
before it changed its name.
- cups-browsed: Do not create a local queue pointing to a
remote raw queue (Ubuntu bug #1335211).
- foomatic-rip, imagetoraster, pdftoraster, rastertopclx,
rastertopdf: Added colord "device_inhibit" support for
color-managed filters.
- foomatic-rip: Let it also build correctly on systems which
already provide the strlcat() and strlcpy() functions, like
Mac OS X. Thanks to Matt Broughton for reporting this
(bug #1215).
- bannertopdf: Added support for PPD-less printing, especially
one gets a useful test page with PPD-less queues now.
- bannertopdf: Fixed "Printer Location" and "Driver Version"
entries on the test page/the banners.
- bannertopdf: Added new PDF template files which contain the
text strings appropriate to the banners, before the banners
were all equal, without text. Thanks to Johannes Meixner
from SUSE/Novell for this fix (Bug #1209).
- bannertopdf: Fixed Makefile to mark it dependent on
libfontembed.la. Thanks to Tim Waugh from Red Hat for the
patch (Red Hat bug #1106101).
- pstopdf: Use "grep -E" instead of "grep -P" as the latter
generates executable code and executes it, requiring
"execmem" privileges which could be not available in some
security policies. Thanks to Tim Waugh from Red Hat for the
patch (Red Hat bug #1079534).
- foomatic-rip: NetBSD does not provide a mkstemps() function,
use appropriate workaround then (Bug #1211).
- cups-browsed: Reorder inclusion of headers for compatibility
with NetBSD (Bug #1212).
- pdftoraster: Fixed segfault caused by introduction of
"no-color-management" option (Bug #1214).
- libcupsfilters: Let cupsRasterParseIPPOptions() also accept
"pwg-raster-document-type" settings with hyphen between
color space name and color depth.
CUPS is a standards-based, open source printing system developed
by Apple Inc. for Mac OS X and other UNIX-like operating systems.
CUPS uses the Internet Printing Protocol ("IPP") and provides System
V and Berkeley command-line interfaces, a web interface, and a C
API to manage printers and print jobs.
This distribution contains backends, filters, and other software
that was once part of the core CUPS distribution but is no longer
maintained by Apple Inc. In addition it contains additional filters
and software developed independently of Apple, especially filters
for the PDF-centric printing workflow introduced by OpenPrinting
and a daemon to browse Bonjour broadcasts of remote CUPS printers
and makes these printers available locally.
From CUPS 1.6.0 on, this package is required for using printer
drivers with CUPS under Linux. With CUPS 1.5.x and earlier this
package can be used optionally to switch over to PDF-based printing.
In that case some filters are provided by both CUPS and this package.
Then the filters of this package should be used.