CHANGES IN V1.21.6
- cups-browsed: To find out whether a DNS-SD-discovered
printer is from the local machine, use not only the flags in
the Avahi lookup result but also check the host name.
- cups-browsed: When a local CUPS queue pointing to a remote
CUPS printer was removed and re-created to make it a
permanent queue, on_printer_deleted() was triggered by
cupsd's notification to re-create a lost queue. Now
on_printer_deleted() checks whether the queue is really gone
and only re-creates then.
- cups-browsed: When updating the CUPS queues, also removed
and unregistered queues and not only created queues got
checked for HTTP timeouts, which caused crashes on shutdown.
- pdftops: Use the PS interpreter of Poppler for all Apple
LaserWriter 16/600, 4/600, 12/640, 12/600, 12/660 as they
all seem to not work with Ghostscript's PS output.
- cups-browsed: On shutdown queues got removed even if they
still had jobs
pkgsrc changes:
- Remove no more needed patch for poppler 0.71.0
- Add a reference to upstream issue regarding (temporary) opvp
disabled support
Changes:
1.21.5
------
- cups-browsed: We cannot reliably determine whether a CUPS
queue is temporary, so we apply the procedure to make a
temporary queue permanent to any unshared queue (Debian bugs
#910882, #905850, #908604).
- pdftoraster, pdftopdf, pdftoijs, pdftoopvp: Do not use the
Poppler-specific "GBool", "gFalse", "gTrue" any more, as
Poppler has switched to standard "bool", "false", "true" in
version 0.71.0 (Issue #69).
pkgsrc changes:
- Backport a patch from upstream to fix the build with poppler 0.71.0.
- Temporary disable opvp support, not yet ported to poppler 0.71.0
(Add a XXX comment as a reminder to reenable it once fixed).
- Address all test failures (now all tests pass!)
Changes:
1.21.4
------
- cups-browsed: cups-browsed: Limit the number of retries for
creating a print queue when it comes to HTTP
timeouts. Number of retries given by HttpMaxRetries
directive in cups-browsed.conf. Thanks to Zdenek Dohnal for
the patch (Pull request #73, Red Hat bug #1648697).
- cups-browsed: Read out current time right before setting the
timeouts. Thanks to Zdenek Dohnal for the patch (Pull
request #71, Red Hat bug #1648697).
- libcupsfilters: In the PPD generator for driverless IPP
printing let "*cupsManualCopies: true" lines get added to
the PPD if printing is done in a raster format as then
pdftopdf needs to generate the copies.
- pdftoraster, pdftoopvp, pdftoijs: Fix build with Poppler >=
0.70 (Issue #69, Pull request #70).
- pdftopdf: Fixed printing multiple copies on driverless IPP
printers. When printing collated copies the multiple copies
got applied twice, resulting in n*n instead of n copies
(CUPS issue #5433).
- pdftoraster, pdftoopvp, pdftoijs: Poppler removed memCheck
and gMemReport functions, remove appropriate calls (Issue
#62, Pull request #66).
pkgsrc changes:
- Add patches to avoid `%m' in printf(3) for code used as part of tests
- Add support for tests. Please note that ATM, at least on NetBSD/amd64
-current this is the result of the test suite:
PASS: testdither
FAIL: test_analyze
FAIL: test_pdf
FAIL: test_ps
PASS: test_pdf1
FAIL: test_pdf2
The failure assert(3) needs further investigation (sorry!)
Changes:
1.21.3
------
- foomatic-rip: Reset stdin after replacing the underlying file
descriptor (Issue #58).
1.21.2
------
- cups-browsed: Fixed freeing of literal string caused by
Coverity Scan issue fix (Debian bug #907399).
CHANGES IN V1.21.1
- foomatic-rip: Fixed segmentation fault caused by wrong
Coverity Scan issue fix.
- Build system: Require QPDF 8.1.0 or later as it is needed by
bannertopdf.
CHANGES IN V1.21.0
- libcupsfilters, cups-browsed, driverless, foomatic-rip,
parallel: Silenced warnings from newest gcc.
- libcupsfilters: When generating a PPD for driverless
printing on a remote IPP printer, make pdftopdf not being
run by the local queue if the remote queue is a CUPS queue
to avoid running pdftopdf twice.
- libcupsfilters, cups-browsed, driverless, bannertopdf,
foomatic-rip, pdftops, pdftoraster, rastertops,
rastertoescpx, sys5ippprinter, beh: Fixed Coverity Scan
issues.
- bannertopdf: Switched over from using Poppler to using QPDF
for generating the PDF pages. With Poppler unstable APIs
were used which were subject to change. Thanks to Sahil
Arora for this project in the Google Summer of Code 2018
- cups-browsed: Manually defined clusters ("Cluster" directive
in cups-browsed.conf) caused cups-browsed to crash.
CHANGES IN V1.20.4
- README: Added link to Issue Tracker on GitHub.
- gstoraster: Removed unneeded "if"s.
- cups-browsed: When checking whether there is already a local
print queue with the same URI as the one of the discovered
printer, consider also as equal URI if the URIs only differ
by use of IPP or IPPS and/or use of HTTPS port 443 instead
of IPP port 631.
- cups-browsed: Also upgrade from ipp: to ipps: when the ipps:
URI is on HTTPS port 443 instead of IPP port 631. This is
common on IPP network printers.
- pdftopdf: Removed support for hardware-implemented reversing
of page order in PostScript printers. It was once not
correctly implemented in cups-filters and second, such
printers are extremely rare, and on Gutenprint PPDs with
pseudo OutputOrder option hardware reversing was even
wrongly assumed.
- pdftopdf: Accept option "output-order=normal/reverse" for
reversing page order and also "page-delivery=
same-order/reverse-order".
- libcupsfilters: Let the PPD generator add "*PageStackOrder
..." lines to the choices of the "OutputBin" option, to
mark which output bins need the pages printed in reverse
order.
- libcupsfilters: Let the PPD generator correctly create a
"*DefaultOutputOrder: ..." entry, depending on whether the
paper is put out face-up or face-down in the default output
bin.
- libcupsfilters: Fixed human-readable name of the OutputBin
option in the PPD generator.
- pdftoopvp: Silence compiler warning.
- cups-browsed: If the user modifies/overwrites a print queue
created by cups-browsed, it will now not only be
automatically released from the control of cups-browsed, but
we also create a replacement for our generated local queue
under a new name.
- cups-browsed: Make URIS for using the implicitclass backend
correctly working also with queue names containing an '@'
character.
- braille: Strengthen error checking.
- braille: Index: Replace bogus characters with space.
- braille: Add print and braille page number options.
- braille: Index: Use standard duplex cups option.
- cups-browsed: Moved auto-generation of PPD file for IPP
network printers from create_remote_printer_entry()
function to update_cups_queues(). This allows re-creating
accidentally removed or overwritten local queues without
losing the PPD file.
- braille: Add option to pick hyphenation rule according to
current locale and make it the default for second
translation table.
- braille: Remove generated defs on "make clean".
- braille: Turn non-breakable spaces to spaces.
- braille: Fix character encoding when extracting text. When
extracing text from a zip file or a pdf, the resulting text
is always utf-8 independently of the original locale, so we
need to force that.
- braille: Warn when no text translation was selected in case
the user didn't notice.
- braille: Fix spurious spacing after last Form-Feed
pkgsrc changes:
- Fix an error pointed out by gcc-6.4.0 via
patches/patch-filter_pdftoopvp_OPVPOutputDev.cxx:
filter/pdftoopvp/OPVPOutputDev.cxx: In member function 'void OPVPOutputDev::doUpdateFont(GfxState*)':
filter/pdftoopvp/OPVPOutputDev.cxx:532:46: error: invalid conversion from 'const Ref*' to 'Ref*' [-fpermissive]
id = new SplashOutFontFileID(gfxFont->getID());
~~~~~~~~~~~~~~^~
filter/pdftoopvp/OPVPOutputDev.cxx:69:3: note: initializing argument 1 of 'SplashOutFontFileID::SplashOutFontFileID(Ref*)'
SplashOutFontFileID(Ref *rA) { r = *rA; substIdx = -1; }
^~~~~~~~~~~~~~~~~~~
Changes:
1.20.3
------
- braille: Do not remove read permission on cups-brf. Thanks
to Samuel Thibault for this patch (Pull request #32).
- braille: Get braille table descriptions from liblouis
metadata. Thanks to Samuel Thibault for this patch (Pull
request #31).
- braille: Select liblouis tables based on metadata before
using file names. Thanks to Samuel Thibault for this patch
(Pull request #30).
- cups-browsed: The new method of identifying remote CUPS
queues via the "printer-type" TXT record field does not work
for printers discovered by legacy CUPS broadcast (CUPS 1.5.x
or older). Now consider also printers without TXT record
(not discovered via DNS-SD) as remote CUPS queues (Issue
#34).
- 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.
1.20.2
------
- 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.
Changes:
1.20.1
------
- libcupsfilters: Silenced warning when using CUPS < 2.x by
eliminating the use of a recently introduced CUPS library
function (Bugzilla bug #1421).
- braille: Fix some missing options on indexv4. Thanks to
Samuel Thibault for this patch (Pull request #21).
- braille: Fix disabling margins on indexv4 in graphic
mode. Thanks to Samuel Thibault for this patch (Pull request
#20).
- braille: Fix installation of brftopagedbrf. Thanks to Samuel
Thibault for this patch (Pull request #18, Issue #17).
- cups-browsed: Fixed crash when CUPS reports a print queue
without "device-uri" attribute when cups-browsed polls a
list of local CUPS queues (Issue #16).
1.20.0
------
- libcupsfilters: Let the PPD generator prefer the English
translation file from CUPS for the human-readable strings in
the PPD files.
- libcupsfilters: The PPD generator lists all page sizes with
human-readable names now, including proprietary names of the
printer.
- cups-browsed, driverless: Fixed get-printer-attributes call
on driverless printers for generating the PPD, explicitly
requesting the media-col-database attribute as otherwise
borderless page sizes do not appear.
- libcupsfilters: Fixed loading option/choice strings lists
from driverless printers for PPD file generation. Especially
proprietary media types appear correctly now.
- libcupsfilters: Completed color space support in the PPD
generator: Added DeviceGray/RGB/CMYK, default to 8 bit for
SRGB and to 16 bit for AdobeRGB, avoid duplicate listings of
the same color space.
1.19.0
------
- libcupsfilters: Let the PPD generator add the options "Print
Optimization", "Print Rendering Intent" and "Print Scaling"
if appropriate IPP attributes are found.
- libcupsfilters: Let the PPD generator read out the maximum
of info about color spaces and this way not only reliably
the correct choices are added to the ColorModel option but
also the maximum supported bit depth (8 or 16 bit) is used.
- libcupsfilters: Overtaken new features from CUPS' PPD
generator: Presets, Finishing Templates, and extraction of
media sizes from "media-col-database"
- libcupsfilters: Improvements on header of generated PPDs:
use cups-filters version number, "drvless.ppd" PCFileName,
APSupplies and cupsChargeInfoURI from CUPS.
- libcupsfilters: Let the PPD generator use the IPP string
tables in the translation files of CUPS 2.3.x or newer
(English strings only). Let all options in the PPD have
human-readable option and choice names. In case of CUPS
2.2.x or older (or if the CUPS translation are missing) we
fall back to internal tables.
- cups-browsed: Improved debug output when checking IPP
attributes of IPP printers.
- .gitignore: Ignore also core files.
- cups-browsed: Support use of PPD files generated by CUPS for
IPP Printers. Works only if the the local queue created by
cups-browsed replaces a temporary queue from CUPS.
Configurable via "UseCUPSGeneratedPPDs" directive in
cups-browsed.conf.
1.18.0
------
- braille: Add support for page-ranges option. Thanks to
Samuel Thibault for this patch (Pull request #12).
- braille: Fix supporting docx and LO file names with
spaces. Thanks to Samuel Thibault for this patch (Pull
request #11).
- .gitignore: Updated and cleaned up.
- Build system: Make sure that "make dist" always includes all
files of the repository, plus the files generated by
./autogen.sh, independent of the system configuration and
the used ./configure options.
- pdftoijs, pdftoopvp: Build pdftoijs and pdftoopvp only on
demand (via "--enable-ijs" and "--enable-opvp" on the
./configure command line). There are actually no known
printer drivers using these filters. If no one complains
about the missing filters they will get completely removed.
- Build system: Set default path for pdftops to
/usr/bin/pdftops also for cross-compiling (Bug #1417).
- cups-browsed: Set "printer-location" as an attribute and not
as an option when creating/updating a CUPS queue (Bug
#1413).
- braille: Fix handling non-printable characters in BRF
files. Thanks to Samuel Thibault for this patch.
- braille: Fix printing backslashes in BRF files. Thanks to
Samuel Thibault for this patch.
- braille: use application/vnd.cups-brf instead of
text/vnd.cups-brf. Thanks to Samuel Thibault for this patch.
- braille: Make sure liblouis emits pure BRF output. Thanks to
Samuel Thibault for this patch.
- braille: Spaces at the head of lines were not getting
embossed, because bash would eat them in the read
command. IFS allows to avoid the issue. Thanks to Samuel
Thibault for this patch.
- gstoraster: Emit proper error message if Ghostscript is
missing. Thanks to Peter De Wachter (pdewacht at gmail dot
com) for the patch (Bug #1415).
- braille: Old bash does not like quotes, like in '$(("123" +
0))'. Removed unneeded quotes. Thanks to Samuel Thibault for
this patch.
- braille: Index V5 embossers are compatible with the V4
protocol so we do not need driver changes, we just need to
advertise the support. Thanks to Samuel Thibault for this
patch.
Make `avahi' and `dbus' available as PKG_OPTIONS, both enabled by default (as
per old cups-filters).
Please note that gdbus-codegen is invoked unconditionally and so still needed
also in the `-dbus' case.
Bump PKGREVISION (strictly speaking that's probably not needed but the dbus
dependency was previously picked up indirectly via net/avahi).
note: script detailed in `man revbump` insisted on bumping pkgrevision of
print/poppler, it's probably wrong, but not committing this change is wronger.
This change:
- renames print/cups to print/cups-base,
- lets print/cups-filters depend on print/cups-base instead of cups,
- adds a package print/cups depending on print/cups-base and
print/cups-filters.
This makes sure installing print/cups always installs
print/cups-filters, as it is necessary for being able to print outside
of Mac OS X since CUPS 1.6.0. You're welcome.
I do not think superseding is necessary, since print/cups will also
install print/cups-base, which really is the same as before. In practice
it is like a new dependency. I do not want to risk a bad "cvs import"
either, sorry.
Bumps PKGREVISION for print/cups and print/cups-filters, since they have
new dependencies now. This is also necessary for everything else currently
depending on print/cups; I will try to commit this right after this one.
Tested on NetBSD/amd64, as reviewed on tech-pkg@.
No breakage observed, apologies if anything goes wrong.
pkgsrc changes:
- Delete patches/patch-filter_pdf.cxx that add support to poppler-0.58,
applied upstream
Changes:
1.17.9
------
- cups-browsed: Applying option defaults from the
DefaultOptions directive in cups-browsed.conf got
lost. Re-introduced it (Bug #1414).
- cups-browsed: Get printer-location field from remote
printers. Thanks to Marek Kasik for the patch (Bug #1413).
1.17.8
------
- foomatic-rip: Change execution of renderer thread to fail
whenever any of its individual sub-comands fails. Thanks to
LUUM (luum at chromium dot org) for the patch (Bug #1412).
- foomatic-rip: Parent process now ignores SIGPIPE calls from
upstream/downstream CUPS filters, per
https://www.cups.org/doc/api-filter.html, while correctly
noting child process failures and exiting
accordingly. Thanks to LUUM (luum at chromium dot org) for
the patch (Bug #1412).
- Build system: Fixed typo which broke the
"--enable-gs-ps2write" ./configure command line option (Bug
#1410).
1.17.7
------
- braille: Add a mirror option for graphical output. Thanks to
Samuel Thibault for this patch.
- braille: Rename the internal cups name of the Resize option
to the standard well-known and well-documented fitplot
option. Thanks to Samuel Thibault for this patch.
- braille: Add support for margins in graphical mode,
defaulting them to 15 points (a bit more than 5mm). Thanks
to Samuel Thibault for this patch.
- braille: Updated French translation. Thanks to Samuel
Thibault for this patch.
- braille: Add a PPD which generates UBRL output, i.e. Braille
expressed in Unicode. This is not useful for actual
embossers, but very convenient to check output to be
embossed without wasting paper. Thanks to Samuel Thibault
for this patch.
- braille: Add virtual BRF backend for generating
ready-to-emboss BRF files with CUPS, similarly to the
cups-pdf backend. Thanks to Samuel Thibault for this patch.
- braille: Some tools seem to emit true/false instead of
True/False, so let us cope with it. Thanks to Samuel
Thibault for this patch.
- braille: "make uninstall" did not remove all the
links. Thanks to Samuel Thibault for this patch.
- braille: Add support for embossing MusicXML files, through
the FreeDots transcriptor. Thanks to Samuel Thibault for
this patch.
- braille: Add proper support for hardware margins on braille
embossers. Thanks to Samuel Thibault for this patch.
- braille: Fix the disabling of the text margins in Index
graphics mode. Thanks to Samuel Thibault for this patch.
- braille: Support for direct, structured embossing of XML and
XML-based file formats (like odt, docx, ...). Thanks to
Samuel Thibault for this patch.
1.17.6
------
- braille: Embossers can only emboss integer numbers of 2x4
cells. Thanks to Samuel Thibault for this patch.
- braille: In Index graphical mode we need to disable the text
margins, since they come in earlier on the way to
there. Thanks to Samuel Thibault for this patch.
- braille: Also, we should always add a 1.6mm margin for
taking into account the width of dots. Thanks to Samuel
Thibault for this patch.
1.17.5
------
- libcupsfilters: In the PPD generator for driverless printing
renamed the "print-quality" option back to
"cupsPrintQuality" as the support for this option got fixed
in CUPS (CUPS issue #5090).
- braille: Improvements on the braille support for bitmap
images: Moves the graphical dot distance option to the image
conversion group, add an option to avoid image resize, and
make the rotation option easier by proposing to just fit
paper instead of fitting portrait or landscape. Thanks to
Samuel Thibault for this patch.
- braille: Support for embossing vector images as braille.
Thanks to Samuel Thibault for this patch.
- braille: Fix liblouis1.defs installation. Thanks to Samuel
Thibault for this fix.
1.17.4
------
- pdftopdf: If the input PDF file contains an interactive
form, flatten it to static PDF so that further manipulation,
like scaling, number-up, ... do not let the filled for
content getting lost. This is implemented by using the
pdftocairo utility of Poppler and if this fails Ghostscript
(9.22 or later recommended). This will probably replaced by
a QPDF-based solution later. Thanks to Tobias Hoffmann for
the QPDF-based detection of PDF forms (Bug #1315, Ubuntu bug
#1564249).
1.17.3
------
- bannertopdf: Make it working also with Poppler 0.58.0 and
newer (Bug #1408).
- gstoraster, pdftops, foomatic-rip: Added "-dShowAcroForm" to
all Ghostscript command lines where the input data format
can be PDF. With this and the fix of Ghostscript bug
#698461 most filled PDF forms should be rendered correctly
by Ghostscript now.
- libcupsfilters: Do not check maximum resolutions of
raster-based PDLs, as implementation was incorrect and
reliability of PDLs is more important than maximum
resolution.
- Revert "Move gdbus-codegen users to py-glib2-tools by including
glib2/buildtools.mk" 1f764df
- while here change to TOOL_DEPENDS
- switch from py-glib2-tools to glib2-tools
Changes:
CHANGES IN V1.17.2
- libcupsfilters: Fixed outstanding bug in PCLm with JPEG (DCT)
compression. Now PCLm support is completely working.
CHANGES IN V1.17.1
- libcupsfilters: Added direct PNG printing to the PPD
generator, the one of CUPS has it, too.
- libcupsfilters: In the PPD file generator renamed the option
"cupsPrintQuality" into the IPP name "print-quality" as CUPS
does not update the "print-quality=4" entry in the filter
command line based on the setting of "cupsPrintQuality"
(CUPS issue #5090).
- libcupsfilters: Completely redone the way how to determine
the resolutions to use for the default resolution and print
quality option in the PPDs generated for IPP
printers. Resolution lists from IPP attributes are now read
into sorted, duplicate-free lists with wrong resolutions
removed or fixed. Resolutions actually used are the common
ones between the supported PDLs, PDls with inferior maximum
resolution or with broken resolution list are skipped
(Debian bug #868360, Ubuntu bug #1712019, CUPS issue #5088,
CUPS issue #5091).
- rastertopdf: Prefer RLE compression instead of Flate as
there are HP printers where Flate is buggy.
- Build system: Fixed help mesage for "--enable-driverless"
configure option (Bug #1405).
CHANGES IN V1.17.0
- rastertopdf, rastertopclm, driverless, cups-browsed,
libcupsfilters: Added support for the PCLm output format for
driverless printing on Mopria and Wi-Fi Direct
printers. This is the Google Summer of Code 2017 project of
Sahil Arora (sahilarora dot 535 at gmail dot com). Thank you
very much for your great work! The PCLm support requires
QPDF 7.0.0 or later.
CHANGES IN V1.16.4
- Build system: Switched over to C11 standard with GNU
extensions (-std=gnu11).
- Build system: Removed -pedantic flag as it is only needed
for compatibility with commercial compilers like the ones of
Windows (and we use GNU extensions anyway).
- libfontembed, texttopdf: reverted removal of anonymous
union.
CHANGES IN V1.16.3
- libfontembed: Reverted unneeded soname change.
CHANGES IN V1.16.2
- README: Minimum CUPS requirement of cups-filters is CUPS
1.4.x. It does not build with earlier CUPS versions (Bug
#993).
- driverless, foomatic-rip: Create relative symbolic links.
- All C/C++ files: Silenced all compiler warnings, at least
the ones appearing when building on Ubuntu Linux 17.10 with
GCC 7.1.0.
- README: Updated the introduction section to reflect the
current functionality of cups-filters, and the build
requirements for the Poppler-based filters (C++11: Bug
#1404, Build configuration of Poppler: Bug #1257). Thanks to
Roland Hieber (r dot hieber at pengutronix dot de) to find
out about this.
- pdftoopvp, bannertopdf, pdftoraster: Build with C++11
standard as some features of this standard are needed by
these filters (or by Poppler). Thanks to Roland Hieber (r
dot hieber at pengutronix dot de) for the patch (Bug #1404).
CHANGES IN V1.16.1
- cups-browsed: Make timeouts for HTTP access to the local
CUPS daemon and remote IPP printers configurable. Thanks to
Cedric Dufour (cedric dot dufour at idiap dot ch) for the
patch (Bug #1387, Debian bug #852436).
- texttopdf: Allow bold and underline formatting to be used
together when using "prettyprint". Thanks to Michael Moran
(vampm at comcast dot net) for the patch.
- texttopdf: Allow to alter margins, and chars/lines per Inch
when using "prettyprint". Thanks to Michael Moran (vampm at
comcast dot net) for the patch.
- texttopdf: When "prettyprint" is used, do not drop out of
C/shell comment mode too early. Thanks to Michael Moran
(vampm at comcast dot net) for the patch.
- cups-browsed: Additional NULL checks for description and
location.
- cups-browsed: Fixed crash which happens when using
BrowsePoll (Debian bug #723835).
CHANGES IN V1.16.0
- cups-browsed: Let elements in arrays get stacked up in the
order they are added, before, they were in the order how
they are positioned in memory. This especially led to a
random order of printer cluster definitions and of
command-line-supplied configuration options.
- cups-browsed: On shutdown not all locally created queues got
deleted.
- cups-browsed: Added support for manual definition of
load-balancing printer clusters via the "Cluster" directive
in cups-browsed.conf.
CHANGES IN V1.15.0
- cups-browsed: Removed the function to compare printer entries
for sorting the printer entry list. This led to corruption
of the list and so to crashes.
- cups-browsed: Fixed crashes when many printers (especially
all printers of a load-balanced cluster) are removed at once.
- cups-browsed: Log the full list of handled remote printers
whenever one is added or removed.
- cups-browsed: Renamed the handle_cups_queues() function to
update_cups_queues() to better reflect what it is doing.
- cups-browsed: When clustering remote CUPS printers together
do not call them duplicates but slaves asigned to a master.
- cups-browsed: Log the error if the network interface name of
a DNS-SD event could not be determined.
- cups-browsed: Simplified printer entry removal procedure.
- cups-browsed: Log memeber printer list of a printer cluster
(implicit class) when a member printer is added or removed.
- cups-browsed: Removed superfluous (and not correctly
working) duplicate counter from the remote printer entry
data structure.
- cups-browsed: Add "AutoClustering" directive to
cups-browsed.conf to turn on and off automatically
clustering equally named local print queues which point to
remote CUPS printers. When automatic clustering is turned
off, queue name clashes are prevented by adding "@<server
name>" to local queue names based on the remote queue name
or on make and model.
- cups-browsed: Skip callback functions and the CUPS queue
creation/update/removal loop when cups-browsed is terminated
by a SIGTERM signal. This avoids hanging on shutdown. Thanks
to Edgar Fuss (ef at math dot uni-bonn dot de, Bug #1402).
- libcupsfilters: Added some fallbacks for incorrect
resolution IPP attributes on IPP network printers (Debian
bug #868360).
- pdftoopvp: Added missing "#include <math.h>" needed for
cross-compiling for arm-v7a-linux-gnueabi (Bug #1232).
- cups-browsed: Prevent the creation of two remote printer
entries for two IPP network printers or an IPP network
printer and a remote CUPS printer with the same local queue
name. This could easily happen with make/model-based naming.
- cups-browsed: Added the possibility to optionally not
create local queues for remote printers for which CUPS
(from 2.2.x on) auto-creates queues by itself (DNS-SD
advertised driverless printers).
- cups-browsed: Removed repeated code for clean-up when
generate_local_queue() function fails.
- cups-browsed: Take care of CUPS' temporary queues. Do not
consider them when checking whether a queue with the same
name as the one we are creating already exists and make
temporary queues permanent (or remove them) before
overwriting them with our local queue.
- cups-browsed: Make the naming scheme for locally created
print queue configurable, especially allow for naming based
on the DNS-SD service name (now default) as this is the same
scheme as CUPS uses for its temporary queues. This way we
prevent CUPS creating temporary queues when cups-browsed is
already creating a queue.
- cups-browsed: Do not add "APRemoteQueueID" keyword to the
local queue's PPD file if the queue is for an IPP network
printer.
- cups-browsed: Skip multiple browse entries for the same
printer with interface alias addresses. Thanks to Edgar
Fuss (ef at math dot uni-bonn dot de, Bug #1399).
- cups-browsed: Improved support for Description (Info) and
Location fields of remote CUPS queues. Thanks to Edgar Fuss
(ef at math dot uni-bonn dot de, Bug #1398).
- cups-browsed: Renamed variable names for better code
readability. Thanks to Edgar Fuss (ef at math dot uni-bonn
dot de, Bug #1398).
- cups-browsed: Additional NULL checks in the
create_local_queue() function. Thanks to Edgar Fuss (ef at
math dot uni-bonn dot de, Bug #1398).
CHANGES IN V1.14.1
- cups-browsed: Do correct removal of printer entry handling
duplicates correctly also when a legacy CUPS-broadcasted
printer disappears or a printer remaining from the last
session does not appear again.
- cups-browsed: Use getline() instead of fgets() to read saved
option settings. This is less crash-prone (Ubuntu bug
#1658833).
- cups-browsed: Improved error logging when saving option
settings.
- cups-browsed: Added NULL checks for generate_local_queue()
and create_local_queue() functions.
- cups-browsed: When accessing local CUPS queues use always
the correct port of the CUPS daemon we are attached to.
- cups-browsed: Check whether a connection to the local CUPS
daemon actually happened before using it (Ubuntu bug
#1644049).
- cups-browsed: Set unused fields of printer record to NULL
when tranfering data from the record of a duplicate printer
to the record of a disappeared one.
- cups-browsed: Simplify removal of all queues on shutdown or
stop of Avahi.
- cups-browsed: When creating a record for a discovered
printer set it all zero before filling it in, to assure
that no field is in an undefined state.
- cups-browsed: All functions which are called via Glib
functions or otherwise event-triggered log now in which
thread they are running. This way one can see whether
problems can be caused by concurrent access to global
resources.
- cups-browsed: Do not check whether the DNS-SD event is from
the local machine in the browse_callback() function. We
cannot check the port here.
- cups-browsed: Added more NULL checks to Avahi callback
functions.
- cups-browsed: Added NULL check to avoid crashes in the Avahi
resolver callback (Ubuntu bug #1696967).
- libcupsfilters: Let PPD generator do case-insensitive
comparisons for PWG Raster color spaces, as some printers
(Epson) do not use the standard-conforming all-lowercase
form for them (CUPS Issue #4998).
Changes:
1.14.0
------
- cups-browsed: When a printer is discovered via DNS-SD on the
"lo" (loopback) interface the printer is not reliably
accessible through the reported host name (which is the
network host name of the local machine). Until this problem
is fixed in Avahi, we create queues for such printers with a
URI based on the IP address. This is a workaround until
Avahi fully supports the "lo" interface.
- cups-browsed: Added new setting "LocalOnly" for the
CreateIPPPrinterQueues in cups-browsed.conf. With this new
setting (which is the default from now on) only for local
printers made available as IPP printers (like IPP-over-USB
printers with ippusbxd) queues are auto-created. With this
we can follow the common standard of distributions where USB
printers are automatically set up and network printers not.
- cups-browsed: Fixes and improvements in comments and debug
messages: 1. Bonjour -> DNS-SD; 2. When a remote CUPS class
is discovered, tell that it is a class; 3. Show network
interface and IPv4/IPv6 when a DNS-Sd service appears or
disappears.
- cups-browsed: Added ./configure script option
"--enable-auto-setup-driverless" to let cups-browsed
automatically set up IPP network printers by default.