Hi,

I have released cups-filters 1.15.0 now, with the following changes:

        - 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).

This release is mainly for compatibility with CUPS' new feature of automatically creating print queued on-demand for DNS-SD-discovered driverless-capable network (and IPP-over-USB) printers. Default queue naming is now based on DNS-SD service names as CUPS does, but configurable for being based on remote queue names or make and model (naming scemes needed for load-balanced clustering). One can also configure now whether cups-browsed should create local queues for printer where CUPS would auto-create a queue by itself or whether it only should create queues which CUPS would not create. Also load-balanced clustering can be turned off now.

In addition, there are tons of bug fixes, especially many crash fixes, for example crashes caused when removing printer entries when a remote server is shut down, delay on cups-browsed shutdown, marking IPP printer queues as remote CUPS printers, ... cups-browsed should be much more stable and reliable now.

Please release this on Debian so that I can sync it to Ubuntu and see whether the crashes go away with it.

Thanks in advance.

   Till

Reply via email to