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.