v1.1.11
michaelrsweet
released this
17 Mar 20:51
·
2533 commits
to master
since this release
Changes in CUPS v1.1.11:
- 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.
- Added preliminary support for Darwin/MacOS X.
- The CUPS-Add-Printer operation no longer allows arbitrary scheme names in device URIs to be used - it now restricts the available schemes to those found in the device list (lpinfo -m).
- 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 scheduler could crash when BrowseShortNames was set to "No".
- The scheduler did not prevent MaxClients from being set to 0, which could cause the scheduler to go in an infinite loop when accepting a request.
- Made some performance optimizations in the ippRead() functions to make IPP request/response processing faster.
- The accept/reject/enable/disable command did not support properly support the "-h" or default server name.
- The scheduler did not save the quota configuration when the job-quota-period attribute was set to 0.
- The LPDEST and PRINTER environment variables did not support printer instances.
- The text filter now handles more types of boldface and underline formatting.
- The cupsTempFd() function did not fail if the temporary directory did not exist; this would cause it to loop indefinitely instead of returning an error (-1).
- Stopping (disabling) a printer class did not stop jobs from printing to printers in that class.
- The cupsGetDests() function was sending the requested-attributes attribute as a name instead of a keyword; this caused a serious performance problem on slower systems since more information had to be transferred from server to client.
- 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 lp command sent the "request ID is ..." message to stderr instead of stdout...
- The PostScript filter (pstops) now handles EPS files, adding a showpage command to the files as needed.
- The configure script checked for the <stdlib.h> header file before the JPEG libraries; since the JPEG headers can define HAVE_STDLIB_H, the configure check would cause the JPEG check to fail on some systems.
- The scheduler now supports localized banner files, using the subdirectory approach, e.g. the "es" subdirectory under /usr/share/cups/banners is used for the Spanish banner files.
- Updated the scheduler so it knows the correct language abbreviation to use for all supported PPD LanguageVersion values. The new code also supports country codes as well, so "English-GB" maps to the "en_GB" locale.
- 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.
- Added many warning and informational messages to cups-lpd where they were missing.
- Added Czech message file contributed by SuSE.
- The cups-lpd mini-daemon now returns a non-zero status if an invalid destination or job ID is provided.
- The scheduler did not honor the KeepAlive setting in cupsd.conf.
- Increased the size of the file read/write buffers to 32k.
- *BSD static library creation fixes.
- Use mkstemps() instead of tmpnam() in pdftops whenever possible.
- Added httpGetHostByName() function as a wrapper around gethostbyname() - some implementations of this function do not support IP addresses (e.g. MacOS X.)
- Added casts to all printf's of file lengths, since there is currently no standard way of formatting long long values.
- The client filename field was not cleared in all instances, resulting in old form data being submitted to CGIs.
- The httpConnect*() functions now try all available addresses for a host when connecting for the first time.
- The pstoraster filter would "lose" all drawing commands when the PageSize was set but the printer bitmap was not reallocated. This was most noticeable with the output from StarOffice 6 beta and would result in a blank page being output...
- The IPP backend was sending a PAGE comment even when printing the output from a filter (it should only send page comments when printing files directly...)
- The pdftops filter didn't properly map glyph names of embedded Asian TrueType fonts.
- Changed the CUPS startup script to look for a program named "cupsd", not just any program with "cupsd" in the name (this caused the apcupsd UPS monitoring daemon to be stopped/restarted...)
- The CUPS-Move-Job operation did not change the internal destination name for held jobs, so moved (but held) jobs would still show up as queued on the original destination.
- The cups-polld program didn't send the requested-attributes attribute in the CUPS-Get-Printers and CUPS-Get-Classes requests, which made it use more CPU and bandwidth than required.
- The scheduler and CUPS API incorrectly added a job-sheets-default attribute for remote printers. This caused banner pages to be omitted from client system prints.