github apple/cups release-1.1.11
v1.1.11
on GitHub

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 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.
4 years ago