Bug fixes:
- The HTTP code did not use a case-insensitive
comparison when checking for the Basic authentication
method (STR #407)
- The cupsaddsmb program didn't export the new CUPS
driver for Windows properly (STR #390)
- The default landscape orientation was not the same as
that defined in the PPD file (STR #397)
- The pdftops filter incorrectly auto-rotated pages when
the user already had specified the proper orientation
(STR #207)
- The scheduler did not reset the group list when
running CGI and filter processes (STR #185)
Enhancements:
- Updated the pdftops filter to use the annotation flags
instead of the subtype to determine whether to print
an annotation (STR #425)
- The pdftops filter no longer needs to create temporary
files with tmpnam (STR #406)
- The scheduler now waits up to 60 seconds before
restarting to allow active jobs to complete printing
and pending requests to be processed (STR #226)
- Added new cupsDoAuthentication(), cupsGetFd(),
cupsGetFile(), cupsPutFd(), and cupsPutFile() functions
to the CUPS API (STR #112)
- The PDF filter always scaled and offset pages; this
caused problems under MacOS X, so now the "fitplot"
option controls whether PDF files are scaled to fit
within the printable area of the page (STR #250)
- Updated the pdftops filter to be based upon Xpdf
2.02pl1 (STR #191)
of the diffs between vanilla CUPS and pkgsrc CUPS will be sent back to
the author.
* Allow overriding the default paths for "CUPS_SERVERBIN" and
"CUPS_LOCALEDIR" by passing values through the configure script.
This facilitates using custom directory hierarchies as is common in
various packaging systems.
* Allow choosing the man page extension style by passing values
directly through the configure script. This allows overriding the
defaults for an operating system, which can happen in some packaging
systems. Leave the default behaviour unchanged if not specified.
- security fix to scheduler to address a DoS attack
- improve conformance to IPP specification
- miscellaneous bug fixes to server and userland utilities
- plug memory leaks
- bug fixes to SSL code
- the mime.convs file was missing the filter definition for Windows BMP
(image/x-bitmap) files
- improved test suite
- added CUPS support files for Java, Perl, and PHP
- The cups-lpd mini-daemon now sends jobs to the default queue when an
empty queue name (or "lp" and there is no "lp" queue) is sent.
- The scheduler now supports fax queues identified by a "*cupsFax: True"
attribute in the PPD file.
- The scheduler now supports print files that have been compressed using
gzip.
- Added a robots.txt file to the standard install to prevent search
engines from indexing the CUPS server.
- When writing BSD printcap files, the scheduler now includes the rm and
rp attributes, allowing the file to be exported to LPD clients.
- The pdftops filter now scales PDF pages within the printable area of the
page.
- The PostScript filter now supports binary PostScript files and files
beginning with the PJL language escape sequence.
- Fixed the CIE colorspace support code in the image and PS RIPs.
NetBSD, by linking in -lcrypt before -lcrypto in the shared library and
scheduler. (cups_crypto() looks to fall-back to crypt(). Both of the
shared libraries in question have crypt(), but only the one in -lcrypt
supports blowfish hashes.) Not tested.
- Bug fixes to the backends and scheduler.
- Bug fixes to the image filters.
- The scheduler now allows accounts authenticated via PAM to not have a
corresponding UNIX account, but group membership still requires the
account name to be listed in the UNIX group file(s)...
- Added some startup performance enhancements to the scheduler so that the
printer object information is regenerated fewer times and the MIME type
database is not filled with lots of empty filters for raw/direct queues.
- The backends now ignore SIGPIPE so that failed job filters will not stop
a print queue.
- User-defined classification strings are now printed verbatim.
- The lpstat command did not allow for destination lists.
- The LPD backend now sends the job title as the print filename.
- Added support for variable sizes in the EPSON dot matrix printer drivers.
This allows for pages as short as 1/2" (1 row of labels) and does not do
an automatic form feed.
- The Solaris USB backend now supports the new device URI syntax.
- The serial backend now enumerates serial ports under MacOS X.
CUPS 1.1.16 adds support for a new CUPS printer driver for Windows
NT/2000/XP that provides accurate page accounting as well as support
for the banner, job billing, job priority, and page label options. The
new release also contains many small bug fixes and enhancements,
including better USB printing support, support for printer names
containing any printable character (123print, my-long-printer-name,
etc.), and French language localization of the web interface and
documentation.
======================================================================
* Removed the pstoraster filter (based on GNU Ghostscript 5.50) and now
* provide the raster "driver" and patch file necessary to use the current
* GNU Ghostscript 7.05 release. Pkgsrc users should install the
* print/ghostscript-esp package.
======================================================================
- Many, many bug fixes.
- Improvements to polling and scheduling of jobs to CUPS and to connected
printers.
- Updated the CUPS license agreement for the new MacOS and OpenSSL license
exceptions.
- The jobs.cgi web interface now handles all job operations, allowing the
administrator to allow "job administrators" or operators to manage jobs
(but not queues) on the server.
- New SCSI printer backend.
- The PostScript filter now supports 6, 9, and 16-up output, as well as new
page-border and number-up-layout options.
- Added ConfigFilePerm and LogFilePerm directives.
- The HTML job operation templates now link back to the destination printer
or class.
- Removed unnecessary fonts and updated the Courier and Symbol fonts to the
latest versions to better support non-ISOLatin1 text.
- The text filter now always embeds the Courier and Symbol fonts to ensure
that they contain the full set of glyphs.
- The PostScript image filter (imagetops) now supports printing CMYK images
using the CMYK colorspace.
- The cupsaddsmb program was updated to use the setdriver command instead of
addprinter.
- The Allow, Deny, BrowseAllow, BrowseDeny, and BrowseAddress directives
now support the network interface names "@LOCAL" and "@IF(name)" for
access control and browsing based on the current interface addresses
instead of fixed names or IP addresses.
- The cupsaddsmb program now supports alternative CUPS and SAMBA server names.
- The PostScript filter now supports the Orientation comment and rotates the
page as needed automatically.
buildlink2.mk files back into the main trunk. This provides sufficient
buildlink2 infrastructure to start merging other packages from the
buildlink2 branch that have already been converted to use the buildlink2
framework.
- The ippRead() function did not verify that the
attribute name length or string with language value
was not larger than the read buffer.
- The scheduler set the signal handlers before loading
the configuration files the first time; this prevented
the RunAsUser directive from blocking server reloads.
- Added Swedish message catalog.
- The parallel backend now recognizes the /dev/printers
device directory under Linux 2.4.x.
- MacOS X fixes.
- The cupsaddsmb utility sent the server name after the
user information when executing the rpcclient program.
This caused problems with some versions of SAMBA
2.2.x.
- The IPP backend did not pass the requesting user name
when checking on the print job status. This prevented
it from waiting for the job to complete when
communicating with some IPP implementations that
require it.
CUPS 1.1.13 adds support for the KOI8-R and KOI8-U encodings, message
catalogs for several Russian locales and for Simplified Chinese,
improvements for MacOS X (Darwin) and IRIX, improvements to the PDF,
PostScript, and text filters, status reporting for IPP-based printers
(paper out, etc.), and improvements to the SAMBA driver export facility.
The new release also fixes bugs in the scheduler, the lpstat command, the
CUPS API, and the pstoraster filter.
- Bug fixes.
- Start of internationalization support for banner and PPD files.
- Added support for embedded TrueType fonts in PDF files.
- Added support for PostScript functions in PDF files.
- Added new "cupsaddsmb" utility for exporting CUPS printer drivers to
SAMBA/Windows clients.
- The ippRead() and ipp_read_file() functions could not handle more than
IPP_MAX_VALUES (100) values in a 1setOf attribute. These functions have
been updated to dynamically allocate more memory as needed, and the
IPP_MAX_VALUES constant now represents the allocation increment. [this
caused some versions of the GIMP-print drivers to fail since the number
of media options exceeded 100...]
- The web interfaces did not always quote < and & in things like the job
title. This had the potential for browser-based security violations (on
the browser's machine); bug report from SuSE.
- The scheduler now treats unauthenticated usernames as case-insensitive
when doing quota and allow/deny processing.
- The PostScript filter (pstops) now handles EPS files, adding a showpage
command to the files as needed.
- The cups-lpd mini-daemon did not support anonymous printing (no username
specified). While the username is REQUIRED by RFC-1179, MacOS clients do
not send the REQUIRED username information when printing via LPD.
- The httpConnect*() functions now try all available addresses for a host
when connecting for the first time.
+ Use our own cupsd rc.d-style script instead of using the one supplied
with the CUPS sources.
- Bug fixes.
- Added a driver for DYMO label printers.
- Added new ClassifyOverride directive to allow users to override the
classification of individual jobs.
- Added new BrowseProtocols directive to control which browse protocols
are used (currently CUPS and SLP).
- Added SLPv2 support.
- The pdftops filter did not have the Japanese and Chinese text support
compiled into it.
* Bug fixes to the pstoraster filter, the DeskJet printer driver,
digest authentication.
* Optimized PPD file scanner so servers with lots of PPD files start
much faster (up to 40%).
* Fixed the "N * N copy bug" where N * N copies were sent when N were
specified.
* Added new DeskJet and Stylus Photo printer drivers.
* Workaround buggy IPP implementations in some HP JetDirect servers.
documentation updates, better support of Apache options in configuration
files, and:
- Added support for "double" HostNameLookups.
- Added new "RunAsUser" directive to support non-root configurations on the
standard (privileged) ports.
- Added support for non-root invocation of the lpd backend (does no reserve a
priviledged port, which might not work with some LPD servers...)
- Added new PrintcapFormat directive to control the output format of the
printcap file (BSD or Solaris formats are supported at present.)
- httpConnect() now looks up "localhost" by name and by address (127.0.0.1)
for users that go to the trouble of removing the required localhost entry
in /etc/hosts or on their DNS server...
- The EPSON drivers now send the "end packet mode" command when printing to
USB devices.
- The LPD backend now supports a new "order" option:
"lpd://server/queue?order=control,data" (default) and
"lpd://server/queue?order=data,control".
- New "Classification" directive to force labeling of the current
classification on each page.
- New "page-label" attribute to add per-page labels ("For Official Use Only",
"Draft", etc.)
- Dropped the "file" backend from the device list that is reported, since it
is only available for *testing* and should never be used in a production
environment. The file: device can still be used, but it won't show up in
the list of devices from lpinfo or the web interface.
- Added META variables to the CGI header template to prevent caching of the
results.
- Added two new directives - MaxJobsPerPrinter and MaxJobsPerUser - to allow
an administrator to set the maximum number of pending jobs in a queue or
submitted by a user.
- Added support for the Enable-Printer and Disable-Printer extension
operations (same as CUPS-Accept-Jobs and CUPS-Reject-Jobs.)
- Added support for the DeskJet 900 series duplexer and CRET color modes in
the HP driver.
- Added support for PPD-defined margins in the HP driver.
- Added new cupsGetJobs() and cupsFreeJobs() functions to manage print jobs.
- cupsEncodeOptions() would encode names of 0 length and cupsAddOption() and
cupsParseOptions() would add names of 0 length.
from the mailing list:
1) Use /dev/urandom instead of /dev/random for random device.
2) Read configuration file before creating certificates as the conf
file may redefine the location of the certs directory.
version 1.1.6.2nb1 include incorporation of USB fixes from NetBSD pkgsrc,
security fixes from SuSE, lpr-compatibility fixes from Caldera, and:
- Fix problem exposed by the MaxJobs directive where the scheduler was
losing count of the number of jobs. This fix, stored in patch-ah, was
gleaned from the CUPS mailing list, and bumps the cups packages version
number to 1.1.6.3nb1.
- The updated cupsTempFile() function did not return the filename when
called with a filename buffer of NULL (previously it used a static
buffer.)
- DeletePrinter() didn't remove the printer from any classes it was a member of.
- DeletePrinterFromClass() didn't preserve the implicit status of a class.
- DeletePrinterFromClasses() didn't remove printers from implicit classes.
- StartJob() didn't send the job-sheets, job-priority, and job-hold-until
attributes to remote printers.
- LoadAllJobs() was looking for job-sheets-completed instead of
job-media-sheets-completed. This would prevent accumulation of page data
after a restart of the scheduler.
- The pstops and imagetops filters now generate copies using the appropriate
method for a Level 1, 2, or 3 printer since some Level 2/3 printers don't
support the /#copies variable anymore.
- The IPP backend didn't handle version-not-supported errors and revert to
IPP/1.0 (previously it only checked for a bad-request error)
- Added changes to support NetBSD startup scripts.
- The mime.types file contained syntax errors.
- Updated the FreeBSD USB device filenames to use the /dev/unlptN files
so that the USB device is not reset prior to printing (causes print
corruption on many printers)
- Added new cupsTempFd() function to avoid serious security bug in
glibc fopen() function. The glibc fopen() function unlinks a file
before creating it, which opens up possible symlink attacks.
- Now reject 0-length names in add-printer and add-class
requests.
- cupsGetPPD() didn't reconnect when a HTTP connection
was lost.
- Many security-related fixes from SuSE.
additions to the documentation, plus the following changes:
- Fixed another possible DoS attack in httpGets().
- Added check for "LANGUAGE = PCL" and "LANGUAGE = POSTSCRIPT" in
mime.types.
- The printers.conf and classes.conf files are now written with
restricted permissions.
- If LoadAllJobs() is unable to determine the file type of a print
job, assume "application/vnd.cups-raw".
- The web interface now provides a job_printer_name value for any
corresponding job_printer_uri value.
- The cups-lpd mini-daemon now logs the client address and hostname
as well as all commands and errors in the syslog file.
- The IPP backend now detects the supported file formats and only
specifies the document format if it is supported. This makes IPP
printing to network print servers and cards more reliable without
affecting the capabilities of CUPS servers.
- The time_at_xyz attributes are now converted to human-readable
dates and times for the web interfaces.
- The file type logging code in the scheduler referenced the optional
document-format attribute; the new code uses the resolved MIME type
instead.
- The client.conf parsing code now removes trailing whitespace.
- The lpadmin command now supports setting of options and user-level
access control.
- Added "-E" option to all printing commands to force encryption.
- The socket backend now starts retries at 5 seconds and increases
the interval to 30 seconds. This should provide faster printing
when multiple jobs/files are queued for a printer.
- The filters and backends no longer buffer output to stderr. This
should provide much more accurate status reporting.
bug and security fixes, improvements to the efficiency of the server and
utilities, improvements to the documentation, plus the following:
* Security updates - new default configuration does not broadcast
printer information and only allows access from the local system.
* EXPERIMENTAL encryption support - CUPS now optionally supports TLS/SSL
encryption via the OpenSSL library.
* Updated PDF filter to Xpdf 0.91.
* Added PPD files for 9-pin and 24-pin OKIDATA printers.
* Changed all sprintf's that use string formats to snprintf's, even if
the destination buffer is larger than the source string(s); this
protects against buffer overflows caused outside of CUPS...
* Changed all strcpy's to strncpy's between local and global variables,
even if the destination buffer is larger than the source string; this
protects against buffer overflows caused outside of CUPS...
* Added new mime.types rules to allow automatic raw printing of PCL and
ESC/P files; PJL headers are parsed to differentiate between
PostScript and PCL job files. This should eliminate a lot of the
reports of SAMBA printing problems due to the missing "-oraw" or "-l"
options.
* Jobs are now assigned to printers in a class round-robin style. This
should prevent the first server in the class from bearing the brunt of
the jobs.
* The serial backend didn't support the higher baud rates with the old
termios interface. It now supports 57600 and 115200 baud.
* The serial backend now supports different types of flow control;
previously it ignored the flow=XYZ option in the device URI.
* The serial backend now supports DTR/DSR flow control, which is popular
on dot-matrix printers (access with "flow=dtrdsr" in the device URI)
* Added new job-originating-host-name attribute for jobs. The new
attribute provides the hostname or IP address of the machine that
submitted the job.
* Added quota and allow/deny user support for printers and classes.
bugfixes, security fixes, improvements to the web admin interface, addition
of new printer drivers, improved documentation, and improvements to the CUPS
API for client development.
the author to make this package compile more seamlessly on BSD systems,
and in particular with the NetBSD pkgsrc software collection.
CUPS 1.1 is the newest production (stable) release of CUPS. It
provides many new features from the 1.0.x releases, including a
new Level 3 PostScript RIP, a new PDF filter, EPSON printer
drivers, IPP/1.1 support, banner page support, and LPD client
support. Binaries for several platforms are also available.
Major changes in v1.1 include:
- The text filter now embeds missing fonts.
- Integrated Xpdf's pdftops filter into CUPS, which is a
lightweight and reliable replacement for Ghostscript's
PDF support.
- The web administration interface now allows you to set
the default banner pages.
- Images can now be positioned on the page using the new
"position" option.
- Updated the serial, parallel, and usb backends to do
multiple writes and ignore ioctl() errors as needed;
this should fix problems with serial printing on old
serial drivers and with the UltraSPARC parallel port
driver under Solaris 2.7.
- Now propagate LD_LIBRARY_PATH to child processes from
cupsd.
- Queued remote jobs recreate remote printers as needed
when the scheduler is started.
- Deleting a printer also purges all jobs on that
printer.
- Old job and control files that don't belong to a
printer are automatically deleted.
- cups-lpd now supports options set with lpoptions.
- The IPP backend now switches to IPP/1.0 if a 1.1
request fails.