From f301802fc285c5ec9effadfbf13de653822dddd8 Mon Sep 17 00:00:00 2001
From: jlovell
Date: Mon, 22 May 2006 21:33:05 +0000
Subject: [PATCH] Load cups into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@158 a1ca3aef-8c08-0410-bb20-df032aa958be
---
CHANGES-1.2.txt | 622 ++++
CHANGES.txt | 567 +---
Makedefs.in | 6 +-
Makefile | 9 +-
backend/ipp.c | 6 +-
backend/serial.c | 6 +-
backend/usb-unix.c | 17 +-
cgi-bin/admin.c | 31 +-
cgi-bin/classes.c | 16 +-
cgi-bin/help.c | 3 +-
cgi-bin/html.c | 7 +-
cgi-bin/ipp-var.c | 14 +-
cgi-bin/printers.c | 20 +-
cgi-bin/template.c | 11 +-
cgi-bin/var.c | 7 +-
config-scripts/cups-common.m4 | 6 +-
config-scripts/cups-compiler.m4 | 89 +-
config-scripts/cups-directories.m4 | 12 +-
config-scripts/cups-ldap.m4 | 6 +-
config-scripts/cups-sharedlibs.m4 | 85 +-
config-scripts/cups-ssl.m4 | 29 +-
cups-config.in | 33 +-
cups/Makefile | 29 +-
cups/auth.c | 8 +-
cups/backchannel.c | 6 +-
cups/cups.h | 8 +-
cups/encode.c | 8 +-
cups/getifaddrs.c | 9 +-
cups/http-private.h | 20 +-
cups/mark.c | 43 +-
cups/page.c | 6 +-
cups/request.c | 16 +-
cups/snprintf.c | 14 +-
doc/help/spec-pdf.html | 21 +
doc/help/spec-raster.html | 248 +-
doc/pl/images/button-accept-jobs.gif | Bin 627 -> 691 bytes
doc/pl/images/button-add-class.gif | Bin 536 -> 528 bytes
doc/pl/images/button-add-printer.gif | Bin 571 -> 579 bytes
doc/pl/images/button-add-this-printer.gif | Bin 608 -> 648 bytes
doc/pl/images/button-cancel-all-jobs.gif | Bin 797 -> 768 bytes
doc/pl/images/button-cancel-job.gif | Bin 531 -> 524 bytes
doc/pl/images/button-change-settings.gif | Bin 580 -> 624 bytes
doc/pl/images/button-clean-print-heads.gif | Bin 878 -> 943 bytes
doc/pl/images/button-clear.gif | Bin 469 -> 480 bytes
doc/pl/images/button-continue.gif | Bin 339 -> 447 bytes
doc/pl/images/button-delete-class.gif | Bin 463 -> 477 bytes
doc/pl/images/button-delete-printer.gif | Bin 513 -> 533 bytes
.../images/button-edit-configuration-file.gif | Bin 673 -> 734 bytes
doc/pl/images/button-export-samba.gif | Bin 657 -> 977 bytes
doc/pl/images/button-help.gif | Bin 363 -> 380 bytes
doc/pl/images/button-hold-job.gif | Bin 649 -> 709 bytes
doc/pl/images/button-manage-classes.gif | Bin 605 -> 640 bytes
doc/pl/images/button-manage-jobs.gif | Bin 697 -> 669 bytes
doc/pl/images/button-manage-printers.gif | Bin 643 -> 717 bytes
doc/pl/images/button-manage-server.gif | Bin 669 -> 689 bytes
doc/pl/images/button-modify-class.gif | Bin 592 -> 647 bytes
doc/pl/images/button-modify-printer.gif | Bin 659 -> 702 bytes
doc/pl/images/button-move-job.gif | Bin 608 -> 604 bytes
doc/pl/images/button-move-jobs.gif | Bin 843 -> 837 bytes
doc/pl/images/button-print-self-test-page.gif | Bin 711 -> 1074 bytes
doc/pl/images/button-print-test-page.gif | Bin 709 -> 788 bytes
doc/pl/images/button-publish-printer.gif | Bin 579 -> 662 bytes
doc/pl/images/button-reject-jobs.gif | Bin 638 -> 582 bytes
doc/pl/images/button-release-job.gif | Bin 613 -> 605 bytes
doc/pl/images/button-restart-job.gif | Bin 653 -> 827 bytes
doc/pl/images/button-save-changes.gif | Bin 536 -> 565 bytes
doc/pl/images/button-search.gif | Bin 381 -> 505 bytes
doc/pl/images/button-set-allowed-users.gif | Bin 909 -> 985 bytes
doc/pl/images/button-set-as-default.gif | Bin 706 -> 729 bytes
doc/pl/images/button-set-printer-options.gif | Bin 691 -> 709 bytes
doc/pl/images/button-show-active.gif | Bin 764 -> 866 bytes
doc/pl/images/button-show-all.gif | Bin 813 -> 891 bytes
doc/pl/images/button-show-completed.gif | Bin 809 -> 923 bytes
doc/pl/images/button-show-next.gif | Bin 605 -> 702 bytes
doc/pl/images/button-show-previous.gif | Bin 568 -> 742 bytes
doc/pl/images/button-sort-ascending.gif | Bin 648 -> 576 bytes
doc/pl/images/button-sort-descending.gif | Bin 673 -> 627 bytes
doc/pl/images/button-start-class.gif | Bin 544 -> 579 bytes
doc/pl/images/button-start-printer.gif | Bin 606 -> 636 bytes
doc/pl/images/button-stop-class.gif | Bin 573 -> 624 bytes
doc/pl/images/button-stop-printer.gif | Bin 638 -> 696 bytes
doc/pl/images/button-unpublish-printer.gif | Bin 613 -> 694 bytes
doc/pl/images/button-use-default-config.gif | Bin 930 -> 1007 bytes
doc/pl/images/button-view-access-log.gif | Bin 711 -> 888 bytes
doc/pl/images/button-view-error-log.gif | Bin 717 -> 893 bytes
doc/pl/images/button-view-page-log.gif | Bin 793 -> 812 bytes
.../images/button-view-printable-version.gif | Bin 819 -> 939 bytes
doc/pl/index.html.in | 68 +-
filter/Makefile | 28 +-
filter/image-bmp.c | 67 +-
filter/image-colorspace.c | 78 +-
filter/image-gif.c | 8 +-
filter/image-jpeg.c | 10 +-
filter/image-photocd.c | 54 +-
filter/image-pix.c | 60 +-
filter/image-png.c | 6 +-
filter/image-pnm.c | 57 +-
filter/image-sgi.c | 66 +-
filter/image-sun.c | 63 +-
filter/image-tiff.c | 314 +-
filter/imagetoraster.c | 1065 +++---
filter/interpret.c | 6 +-
filter/pstops.c | 53 +-
filter/raster.c | 130 +-
filter/raster.h | 19 +-
filter/rastertolabel.c | 300 +-
locale/cups.pot | 11 +-
locale/cups_es.po | 14 +-
locale/cups_ja.po | 14 +-
locale/cups_pl.po | 2949 +++++++++++++++++
locale/cups_sv.po | 233 +-
ppd/intelbar.ppd | 219 ++
ppd/zebra.ppd | 6 +-
ppd/zebracpl.ppd | 2 +-
ppd/zebraep1.ppd | 2 +-
ppd/zebraep2.ppd | 4 +-
scheduler/auth.c | 9 +-
scheduler/client.c | 9 +-
scheduler/dirsvc.c | 12 +-
scheduler/ipp.c | 529 ++-
scheduler/job.c | 38 +-
scheduler/printers.c | 82 +-
scheduler/printers.h | 7 +-
scheduler/testmime.c | 12 +-
systemv/cupstestppd.c | 7 +-
systemv/lpadmin.c | 23 +-
systemv/lpstat.c | 12 +-
templates/es/jobs.tmpl | 2 +-
templates/ja/jobs.tmpl | 2 +-
templates/jobs.tmpl | 2 +-
templates/pl/add-class.tmpl | 6 +-
templates/pl/add-printer.tmpl | 10 +-
templates/pl/admin.tmpl | 50 +-
templates/pl/choose-device.tmpl | 6 +-
templates/pl/choose-make.tmpl | 8 +-
templates/pl/choose-model.tmpl | 8 +-
templates/pl/choose-serial.tmpl | 18 +-
templates/pl/choose-uri.tmpl | 18 +-
templates/pl/class-added.tmpl | 2 +-
templates/pl/class-confirm.tmpl | 4 +-
templates/pl/class-deleted.tmpl | 2 +-
templates/pl/class-jobs-header.tmpl | 2 +-
templates/pl/class-modified.tmpl | 2 +-
templates/pl/classes-header.tmpl | 2 +-
templates/pl/classes.tmpl | 54 +-
templates/pl/help-header.tmpl | 39 +-
templates/pl/job-cancel.tmpl | 2 +-
templates/pl/job-hold.tmpl | 2 +-
templates/pl/job-move.tmpl | 6 +-
templates/pl/job-moved.tmpl | 2 +-
templates/pl/job-release.tmpl | 2 +-
templates/pl/job-restart.tmpl | 2 +-
templates/pl/jobs-header.tmpl | 26 +-
templates/pl/jobs.tmpl | 34 +-
templates/pl/maintenance.tmpl | 2 +-
templates/pl/modify-class.tmpl | 6 +-
templates/pl/modify-printer.tmpl | 10 +-
templates/pl/option-conflict.tmpl | 4 +-
templates/pl/option-trailer.tmpl | 2 +-
templates/pl/pager.tmpl | 8 +-
templates/pl/printer-accept.tmpl | 6 +-
templates/pl/printer-confirm.tmpl | 4 +-
templates/pl/printer-default.tmpl | 10 +-
templates/pl/printer-jobs-header.tmpl | 2 +-
templates/pl/printer-modified.tmpl | 3 +-
templates/pl/printer-purge.tmpl | 6 +-
templates/pl/printer-reject.tmpl | 6 +-
templates/pl/printer-start.tmpl | 4 +-
templates/pl/printer-stop.tmpl | 4 +-
templates/pl/printers-header.tmpl | 2 +-
templates/pl/printers.tmpl | 70 +-
templates/pl/restart.tmpl | 2 +-
templates/pl/samba-export.tmpl | 30 +-
templates/pl/samba-exported.tmpl | 2 +-
templates/pl/search.tmpl | 6 +-
templates/pl/test-page.tmpl | 2 +-
templates/pl/trailer.tmpl | 8 +-
templates/pl/users.tmpl | 8 +-
templates/sv/jobs.tmpl | 2 +-
tools/makesrcdist | 8 +-
tools/testosx | 4 +-
181 files changed, 6599 insertions(+), 2619 deletions(-)
create mode 100644 CHANGES-1.2.txt
create mode 100644 doc/help/spec-pdf.html
create mode 100644 locale/cups_pl.po
create mode 100644 ppd/intelbar.ppd
diff --git a/CHANGES-1.2.txt b/CHANGES-1.2.txt
new file mode 100644
index 000000000..5195095c0
--- /dev/null
+++ b/CHANGES-1.2.txt
@@ -0,0 +1,622 @@
+CHANGES-1.2.txt
+---------------
+
+CHANGES IN CUPS V1.2.1
+
+ - The web interface support programs crashed on Solaris
+ (STR #1699)
+ - cupstestppd incorrectly reported problems with
+ *1284DeviceID attributes (STR #1710)
+ - Browsing could get disabled after a restart (STR #1670)
+ - Custom page sizes were not parsed properly (STR #1709)
+ - The -U option wasn't supported by lpadmin (STR #1702)
+ - The -u option didn't work with lpadmin (STR #1703)
+ - The scheduler did not create non-blocking back-channel
+ pipes, which caused problems when the printer driver
+ did not read the back-channel data (STR #1705)
+ - The scheduler no longer uses chunking in responses to
+ clients - this caused problems with older versions of
+ CUPS like 1.1.17 (PR #6143)
+ - Automatic raw printing was broken (STR #1667)
+ - 6-up printing was broken (STR #1697)
+ - The pstops filter did not disable CTRL-D processing on
+ the printer/RIP.
+ - ppdOpen*() did not load custom options properly (STR
+ #1680)
+ - "Set Printer Options" in the web interface did not
+ update the DefaultImageableArea or
+ DefaultPaperDimension attributes in the PPD file (STR
+ #1689)
+ - Fixed compile errors (STR #1682, STR #1684, STR #1685,
+ STR #1690)
+ - The lpstat command displayed the wrong error message
+ for a missing destination (STR #1683)
+ - Revised and completed the Polish translation (STR
+ #1669)
+ - Stopped jobs did not show up in the list of active jobs
+ (STR #1676)
+ - The configure script did not use the GNU TLS
+ "libgnutls-config" script to find the proper compiler
+ and linker options.
+ - The imagetoraster filter did not correctly generate
+ several 1, 2, and 4-bit color modes.
+ - cupsRasterWritePixels() could lose track of the current
+ output row.
+ - cupsRasterReadPixels() did not automatically swap
+ 12/16-bit chunked pixel data.
+ - Moved the private _cups_raster_s structure out of the
+ public header.
+ - Updated the CUPS raster format specification to include
+ encoding rules and colorspace definitions.
+ - The Zebra PPD files had the wrong PostScript code for
+ the "default" option choices.
+ - The imagetoraster filter did not generate correct CIE
+ XYZ or Lab color data.
+ - The cups-config script did not work when invoked from a
+ source directory (STR #1673)
+ - The SNMP backend did not compile on systems that used
+ the getifaddrs emulation functions (STR #1668)
+
+
+CHANGES IN CUPS V1.2
+
+ - Documentation updates (STR #1618, STR #1620, STR #1622,
+ STR #1637)
+ - Static file copy buffers reduced from 64k to 32k to
+ work around bogus MallocDebug library assumptions (STR
+ #1660)
+ - The scheduler did not decode the backend exit code
+ properly (STR #1648)
+ - The MacOS X USB backend did not report the 1284 device ID,
+ nor did it fix device IDs returned by HP printers.
+ - The scheduler started more slowly than 1.1.x with large
+ numbers of printers (STR #1653)
+ - cupsRasterInterpretPPD() didn't support the
+ cupsPreferredBitsPerColor attribute, and imagetoraster
+ didn't use the new API.
+ - The "make test" script did not create all of the necessary
+ subdirectories for testing (STR #1638)
+ - The scheduler did not prevent rotation of logs
+ redirected to /dev/null (STR #1651)
+ - "make test" did not include the SNMP backend in the
+ test environment (STR #1625)
+ - The EPM packaging files did not work (STR #1621)
+ - "Use Default Configuration" inserted a broken
+ configuration file (STR #1624)
+ - Redirects in the web interface did not always preserve
+ the encrypted status of a connection (STR #1603)
+ - Added the Apple "pap" backend.
+ - Added CUPS library to CUPS Image shared library
+ linkage to support Linux --as-needed linker option
+ (STR #1606)
+ - Fixed support for --enable-pie (STR #1609)
+ - The pdftops filter did not validate the length of the
+ encryption key (STR #1608)
+ - Updated the Polish localization.
+ - "Encryption Required" in the cupsd.conf file now only
+ requires encryption when the connection is not over the
+ loopback interface or domain socket.
+ - Printer names containing "+" were not quoted properly in
+ the web interface (STR #1600)
+ - The SNMP backend now reports the make and model in the
+ information string so that the auto-generated printer
+ name is more useful than just an IP address.
+
+
+CHANGES IN CUPS V1.2rc3
+
+ - The cups-lpd program always did reverse lookups on the
+ client address, which could be a performance problem.
+ Added a "-n" option to disable lookups.
+ - When configured with SSL support, require encryption by
+ default when displaying the /admin location (STR #1592)
+ - The next job ID was not computed correctly if the job
+ cache file got out of sync with the spool directory
+ (STR #1582)
+ - The PNG image handling code used deprecated functions
+ from libpng (STR #1587)
+ - Added a Polish translation (STR #1584, STR #1586)
+ - More changes to the scheduler to improve battery life
+ on portable devices (STR #1583)
+ - Changed the default log level for status messages back
+ to "DEBUG" to be consistent with CUPS 1.1.x (STR #1579)
+ - The error string was not set properly when
+ cupsDoFileRequest() was given the name of a directory
+ (STR #1578)
+ - Fixed handling of job-hold-until (STR #1581)
+ - Added explicit notes to the cupsaddsmb man page
+ explaining that the driver filenames are case-sensitive
+ under UNIX and that they must be all lowercase (Windows
+ 2000) or all UPPERCASE (Windows 95/98/Me) to work (STR
+ #1568)
+ - The USB backend incorrectly split the manufacturer name
+ if it contained spaces (STR #1566)
+ - The scheduler would hang when listing PPD files for a
+ manufacturer whose name contained spaces (STR #1567)
+ - Added the SNMP backend for network printer discovery
+ (STR #1555)
+ - cupstestppd now fails PPD files with 1284DeviceId
+ instead of 1284DeviceID, and cups-driverd uses a
+ case-insensitive comparison when looking for it (STR
+ #1573)
+ - cupsDoFileRequest() and cupsDoRequest() now work
+ properly with non-blocking HTTP connections.
+ - Added Swedish translation (STR #1569)
+ - "make install" now installs the MIME files with world
+ read permissions (STR #1565)
+ - More CDSA encryption support fixes (STR #1563)
+ - Updated the default mime.types file to support printing
+ of files that do not have a locally-recognized MIME
+ media type to raw or System V queues.
+ - Updated the serial port detection code on Linux (STR
+ #1562)
+ - Added some more error checking to httpGetHostname()
+ (STR #1561)
+ - The title of some administration pages was not
+ localized (STR #1548)
+ - The edit-config.tmpl file was not generated or
+ installed for the Spanish or Japanese localizations
+ (STR #1547)
+ - The mimeDelete() function freed the types before the
+ filters, but the filters needed the type data (STR #1558)
+ - The scheduler didn't keep track of the status pipes
+ properly, leading to a bad select() for multi-file jobs
+ (STR #1559)
+ - The cupstestdsc program didn't validate the ordinal
+ page number value for %%Page: comments.
+
+
+CHANGES IN CUPS V1.2rc2
+
+ - The scheduler was not always using the string pool,
+ causing random crashes.
+ - The lpmove and the web interface's Move Job button did
+ not work with stopped jobs (STR #1534)
+ - The PostScript filter did not handle the page-set
+ option properly with number-up printing (STR #1543)
+ - The scheduler now only warns about unsupported ACLs
+ once (STR #1532)
+ - The "fitplot" option did not work with output from
+ Mozilla (STR #1542)
+ - The imagetops filter did not work with Level 2 or 3
+ printers (STR #1533)
+ - The scheduler now recognizes PostScript files with PJL
+ commands that do not include an ENTER LANGUAGE command.
+ - Added --with-printcap configure option.
+ - 64-bit SSL fixes for MacOS X.
+ - The scheduler didn't send some printer state change
+ events.
+ - The scheduler didn't send jobs to busy remote printers.
+ - Fixed some problems with the launchd support.
+ - Added new USB printer backend for MacOS X.
+ - The PostScript filter now handles files that start with
+ an incomplete PJL header (PR #6076)
+ - The web interface language selection code did not try
+ the generic language localization (STR #1531)
+ - The language cache, string pool, and transcoding caches
+ are now process global instead of per-thread to avoid
+ problems with GNOME and to allow for data sharing
+ between threads (STR #1530)
+ - Fixed a CUPS 1.1.x compatibility bug (STR #1528)
+ - The web interface redirection after certain printer
+ administration tasks was broken (STR #1516)
+ - Web interface authorization could get stuck (STR #1512)
+ - Localization updates (STR #1513, STR #1518, STR #1520)
+ - The pstops filter didn't work with some files (STR
+ #1523)
+ - "./configure --enable-static" didn't work (STR #1522)
+ - The scheduler was not using the configured default
+ Group (STR #1521)
+ - The web interface still did not show the localized time
+ and date for some locales and systems (STR #1509)
+ - httpAddrGetList() would crash on systems without
+ getaddrinfo().
+ - Socket URIs without a trailing slash would cause the
+ port number to not be accepted (STR #1519)
+ - Local raw and System V printers were not advertised as
+ such for printer browsing (STR #1502)
+ - The RPM spec file incorrectly put duplicate copies of
+ the Japanese and Spanish web interface templates in the
+ main cups package (STR #1517)
+ - cupsSetDests() did not explicitly set the permissions
+ of the /etc/cups/lpoptions file (STR #1508)
+ - The lpq command crashed with the -h option (STR #1515)
+
+
+CHANGES IN CUPS V1.2rc1
+
+ - Documentation updates (STR #1497, STR #1498)
+ - The scheduler now redirects browsers to https: URLs
+ when encryption is required.
+ - The scheduler would crash when printing with a banner
+ (STR #1500)
+ - cups-driverd did not use the LanguageEncoding attribute
+ in PPD files to convert the NickName to UTF-8 (STR
+ #1503)
+ - The lpadmin command could not set the
+ printer-error-policy attribute (STR #1504)
+ - The web interface did not show the time and date in the
+ correct format for the locale (STR #1505)
+ - CUPS no longer accepts print jobs if a printer does not
+ support the file format (STR #1501)
+ - Cleaned up the PostScript filter (pstops) so that it
+ properly supports %%IncludeFeature and page scaling
+ (STR #1453)
+ - Fixed the cupsFileRewind() and cupsFileSeek() functions
+ to work properly with uncompressed files.
+ - Added cupsFileGetLine(), cupsFileStderr(),
+ cupsFileStdin(), and cupsFileStdout() functions to the
+ CUPS library.
+ - Added a new cupstestdsc program to test the DSC
+ conformance of PostScript files.
+ - Added KDE/GNOME icons and a Manage Printers menu item.
+ - Added --enable-image and --enable-pdftops configure
+ options to control whether the image and PDF filters
+ are built and installed (default = yes for all
+ platforms but MacOS X)
+ - Fixed a minor memory leak in the PPD API.
+ - Fixed transcoding issues (STR #1493)
+ - The scheduler now enforces a minimum job cost of 100
+ when doing FilterLimit checks.
+ - The scheduler would leak file descriptors when printing
+ to raw queues (STR #1491)
+ - The IPv6 support did not compile on Tru64 UNIX (STR
+ #1488)
+ - ppdOpen2() now converts the NickName and all UI text to
+ UTF-8 (STR #1475)
+ - The Set Allowed Users web page did not work (STR #1486)
+ - When the default policy was not set or set to a non-
+ existing policy, the scheduler did not set the default
+ policy name to "default" (STR #1484)
+ - The Zebra CPCL driver did not use the correct righthand
+ margin for the 4" wide label sizes.
+ - Fixed a problem with the parsing of fractional real
+ numbers in PPD files.
+ - Added Spanish localization files (STR #1480)
+ - Fixed localization of a few scheduler messages (STR
+ #1478)
+ - Fixed support for HEAD requests in the scheduler (STR
+ #1481)
+
+
+CHANGES IN CUPS V1.2b2
+
+ - Updated the CUPS design description.
+ - Added --enable-32bit and --enable-64bit configure
+ options to allow building of separate 32/64-bit
+ libraries on systems that support both environments
+ (STR #1472)
+ - Various compiler warning fixes.
+ - Fixes for Solaris 10 builds against old GNU TLS and
+ LDAP libraries.
+ - Added a cupsArrayUserData() function to retrieve the
+ user data pointer for an array (useful for typing
+ arrays)
+ - The ppdEmitString() function did not compute the
+ required buffer size properly, leading to dropped
+ characters on the end of the printer commands in pstops
+ and imagetops (STR #1470)
+
+
+CHANGES IN CUPS V1.2b1
+
+ - The serial backend now supports Equinox 8-port serial
+ hubs (STR #526)
+ - The IPP backend now supports a compression option to
+ compress print files as they are sent to the remote
+ server (STR #956)
+ - The CUPS browse protocol now supports passing of
+ default options and browse timeout values from the
+ server to the clients (STR #800)
+ - Implicit classes that timed out could cause the
+ scheduler to crash (STR #1439)
+ - Added DragonFly support in local device backends (STR
+ #1362)
+ - Added LDAP printer browsing support (STR #338)
+ - Added official support for printer maintenance commands
+ via the CUPS Command file format and hooks in the
+ printer-type and web interfaces (STR #932)
+ - The HP-GL/2 filter could get in an infinite loop trying
+ to convert HP-PCL files (STR #1415)
+ - CUPS now implements the HTTP/1.1 Expect header (STR
+ #1407)
+ - Options in PPD files are no longer automatically put in
+ an "Extra" group; rather, all options that are not
+ inside an Open/CloseGroup will be placed in the
+ "General" group (STR #1385)
+ - The scheduler now creates a job-uuid attribute that
+ uniquely identifies a job on a network (STR #1410)
+ - The init script now unsets the TMPDIR environment
+ variable to prevent user temporary directories from
+ being used by cupsd accidentally (STR #1424)
+ - Added support for launchd on MacOS X.
+ - Added support for notify_post on MacOS X.
+ - Added support for DBUS on Linux.
+ - All of the Berkeley (except for lpc) and System V
+ commands now support specification of user, host, and
+ port (STR #1028, STR #1029, STR #1087)
+ - The lpmove command now allows you to move all jobs for
+ a given queue (STR #56)
+ - The web interface now supports moving of a job or jobs
+ to another queue (STR #56)
+ - The web interface now provides searching, paging, and
+ changing of the sort/display order of classes, jobs,
+ and printers.
+ - cupsaddsmb now accepts a password on the command-line
+ and supports passwords with special characters (STR
+ #822, STR #1236)
+ - ppdLoad*() no longer tries to "fix" bad characters in
+ UI text (STR #1101)
+ - Printer names can now (reliably) contain Unicode
+ characters (STR #896)
+ - The lpstat command now shows the time and date of the
+ last printer state change instead of the hardcoded "Jan
+ 01 00:00" (STR #659)
+ - The scheduler now adds a job-actual-printer-uri
+ attribute to job objects when printing to a class (STR
+ #116)
+ - The scheduler now logs log file open errors to the
+ system log (STR #1289)
+ - The scheduler now sets the job-originating-user-name to
+ the authenticated username, if available (STR #1318)
+ - The scheduler now only updates the permissions of SSL
+ keys and certificates when they are under the
+ ServerRoot directory (STR #1324)
+ - The rastertodymo driver has been renamed to
+ rastertolabel (a symlink is installed so that existing
+ queues continue to work) and now also supports Zebra's
+ CPCL language.
+ - The lpstat command could show the wrong active job for
+ a printer (STR #1301)
+ - Fixed a potential crash problem in the scheduler when
+ aborting a CGI program (STR #1290)
+ - Added a "cancel all jobs" button to the class and
+ printer web interfaces (STR #1140)
+ - The add-printer web page now shows the
+ set-printer-options page after the printer has been
+ added (STR #690)
+ - The classes web page now provides links to each of the
+ member printers (STR #307)
+ - CUPS now handles HTTP request/response lines up to 32k
+ in length; this is mainly for better cookie support
+ (STR #1274)
+ - Added support for the Apache PassEnv and SetEnv
+ directives to cupsd.conf (STR #853)
+ - Added large file (64-bit) support (STR #541)
+ - Fixed a performance issue with the ippReadIO()
+ implementation (STR #1284)
+ - Fixed a performance issue with the scheduler's implicit
+ class implementation (STR #1283)
+ - The pdftops filter now adds the Title and Creator
+ fields from the PDF file to the PostScript document
+ comments section (STR #539, STR #830)
+ - Added a new cups_array_t and cupsArray*() functions to
+ the CUPS API to support sorted lists of data.
+ - Made the CUPS API library thread-safe (STR #1276)
+ - Added "media" option support for EFI EFMediaType option
+ (STR #902)
+ - Added write buffering to the HTTP code to improve
+ performance (STR #547)
+ - The scheduler now uses the attributes-natural-language
+ attribute to localize banner pages (STR #386)
+ - The scheduler now returns the address that was used to
+ connect to it (STR #1076)
+ - Fixed a problem with N-up printing and OpenOffice (STR
+ #576)
+ - Added support for the GCC position independent
+ executable options (STR #1209)
+ - Added new BrowseLocalProtocols and
+ BrowseRemoteProtocols directives to cupsd.conf,
+ allowing for different browse protocols for local and
+ remote printers (STR #877)
+ - PPD files can now contain strings up to 256k in length
+ (STR #1215)
+ - The pstops filter now supports the IncludeFeature DSC
+ comment (STR #1212)
+ - The pstops filter now disables the setpagedevice
+ procedure when doing N-up printing (STR #1161)
+ - The serial backend now supports "stop=1", "stop=2",
+ "parity=space", and "parity=mark" options (STR #1155)
+ - "make install" no longer overwrites an existing PAM
+ configuration file (STR #1064)
+ - The scheduler now closes all files on startup when run
+ in daemon mode (STR #1009)
+ - Added a new RGBW colorspace to the CUPS raster format
+ (STR #1071)
+ - The pdftops filter now sets the page size based on the
+ media box when not scaling the output (STR #912)
+ - The pdftops filter now supports masked images (STR
+ #281)
+ - The pdftops filter produced large output when rendering
+ PDF files containing lot of repeated images (STR #327)
+ - The pdftops filter now minimizes print processing of
+ PDF files when using the page-ranges option (STR #273)
+ - Updated pdftops filter to Xpdf 3.01.
+ - Added new cupsBackchannelRead() and
+ cupsBackchannelWrite() functions, as well as
+ backchannel support to the parallel, serial, socket,
+ and USB backends (STR #1252)
+ - The parallel and USB backends now treat a "no space
+ available" error as an out-of-paper condition (STR
+ #1225)
+ - The "lpc" command now supports the "status all" command
+ (STR #1004)
+ - ippReadIO() did not read collections properly (STR
+ #1249)
+ - The "make test" script now creates the test files in
+ "/tmp/cups-$USER" instead of "/tmp/$USER" (STR #981)
+ - All backends now abort on error when printing a job to
+ a class - this allows the next printer in the class to
+ print the job (STR #1084)
+ - The scheduler now verifies that a printer supports
+ Letter or A4 media sizes before setting them as the
+ initial default (STR #1250)
+ - The cupstestppd program now flags bad Resolution
+ options (STR #1269)
+ - The USB backend now retries printing when the printer
+ is disconnected or turned off (STR #1267)
+ - Added new httpGetHostname() function to CUPS API, and
+ use it instead of gethostname() so that the web
+ interface will work correctly on systems whose hostname
+ is not the FQDN (STR #1266)
+ - The scheduler now stops printers if the backend for the
+ queue is missing on startup (STR #1265)
+ - The configure script now supports "--disable-library"
+ to disable particular image file format support
+ libraries, even if they are available on the build
+ system (STR #1248)
+ - The IPP backend did not always report on the total
+ number of pages that were printed (STR #1251)
+ - The lpstat program could display garbage date and time
+ values for locales whose date format exceeded 31
+ characters (STR #1263)
+ - The cupstestppd program would segfault when testing
+ certain broken PPD files (STR #1268)
+ - Dramatically reduced the overhead of implicit classes.
+ - Added new cupsDir*() functions to CUPS API.
+ - Printers can now be published individually for sharing.
+ - Fixed a bug in the scheduler's startup signalling code
+ which caused cupsd to send the SIGUSR1 signal to the
+ init process instead of the original parent process
+ (STR #1258)
+ - Added new on-line help CGI to web interface to provide
+ searchable help.
+ - Devices are now tracked dynamically, with each query
+ doing a new device scan. This eliminates a previous
+ startup delay caused by slow backends and allows new
+ printers to be seen without restarting the server,
+ however it limits the amount of device URI checking
+ that can be done (basically now the scheduler only
+ requires a URI with a method that is a listed backend)
+ - Added new printer auto-detection, server configuration,
+ and log file viewing to the administration web page.
+ - Added new "set allowed users" web interface to set the
+ list of allowed users for a printer or class.
+ - The scheduler, command-line, and web interfaces now
+ limit the list of printers and classes to those
+ accessible by a user.
+ - cupsMarkOptions() now handles more non-standard
+ duplexing options and choices (STR #915)
+ - cups-lpd now honors remote banner requests with the
+ "standard" banner whenever a printer does not have one
+ defined (STR #1220)
+ - The scheduler's denial-of-service checks did not work
+ properly with IPv6 addresses (STR #1134)
+ - The lp and lpr commands did not error out properly when
+ they were unable to write to a temporary file (STR
+ #1129)
+ - The pstops filter did not handle Adobe-specific
+ comments in Windows NT driver output (STR #1085)
+ - "lpstat -l -p" incorrectly reported the printer
+ interface (STR #936)
+ - The web interface now operates exclusively with the
+ UTF-8 encoding, and sends the appropriate character set
+ and header information to the web browser (STR #919,
+ STR #1007)
+ - Added a "set allowed users" interface to the web
+ interface so that you can set the list of allowed or
+ denied users/groups for a printer or class.
+ - Disallow the "#" character in printer names, since it
+ has special meaning in the shell, config files, and in
+ URIs (STR #917, STR #1202)
+ - Added a new application/x-csource MIME type, and
+ support for it to the texttops filter so that you can
+ pretty print plain text files without the C/C++
+ keywords being highlighted.
+ - The pdftops filter did not compile with GCC 4.0 (STR
+ #1226)
+ - The texttops filter did not highlight preprocessor
+ directives followed by a tab properly.
+ - HP PJL output now uses both JOB DISPLAY and RDYMSG
+ commands to show the current job on the printer's
+ display (STR #1218)
+ - Local authentication certificates are now stored in
+ /var/run/cups/certs by default instead of
+ /etc/cups/certs (STR #1211)
+ - Backends now use "&" to separate options in device
+ URIs; "+" is still recognized but is deprecated (STR
+ #842)
+ - The USB backend no longer supports the usb:/dev/foo
+ format on systems that support device ID queries.
+ - Forced classification markings did not work when the
+ job-sheets parameters were "none,none".
+ - "lpstat -l -p" incorrectly showed all users as allowed,
+ even if the queue was restricted to certain users (STR
+ #801)
+ - The scheduler now automatically detects SSL/TLS clients
+ without using the SSLPort/SSLListen directives.
+ - The CUPS API and scheduler no longer support SSLv2-
+ encrypted connections.
+ - Updated the cupsaddsmb utility to correctly export the
+ CUPS driver for Windows.
+ - Fixed a signal-handling bug in httpRead() which
+ ultimately caused the server to print multiple copies
+ when it was busy (STR #1184)
+ - The cupsFile API now uses the O_APPEND option when
+ opening files in append mode (STR #990)
+ - The md5.h header and md5_* functions are now officially
+ private and have been renamed to avoid conflicts with
+ other implementations with the same name.
+ - The pdftops filter incorrectly embedded some Type1
+ fonts (STR #1093)
+ - The scheduler didn't detect a closed connection in the
+ middle of an IPP request (STR #1153)
+ - The scheduler could block trying to read the job status
+ if there was input pending and the job was cancelled in
+ the same input cycle (STR #1157)
+ - The scheduler could crash when deleting a class due to
+ infinite recursion.
+ - Updated the Zebra ZPL label printer driver to use the
+ run-length encoding and support more options.
+ - Updated serial backend to scan for /dev/ttyC* as well
+ as /dev/ttyc* for Cyclades serial ports (STR #1049)
+ - The scheduler could hang reading the job status under
+ certain circumstances (STR #1068)
+ - The USB backend termination signal code was inverted
+ (STR #1046)
+ - Moved enable and disable commands to sbindir to be
+ consistent.
+ - Added new cupsRasterInterpretPPD() function for RIP
+ filters to setup the raster page header from
+ PostScript commands in a PPD file.
+ - The CUPS browsing protocol now offers a "delete" bit
+ to remove printers as soon as they are deleted on the
+ server or as soon as the server shuts down gracefully
+ (STR #793)
+ - The CUPS_SERVER and ServerName directives (client.conf
+ and ~/.cupsrc) may now contain names of the form
+ "server:port" and "/path/to/domain/socket".
+ - The "cancel -u user" command now works for ordinary
+ users (STR #751)
+ - Added test run support to "make test" target (STR #64)
+ - Added domain socket support (STR #656)
+ - Added BrowseLocalOptions directive to allow the
+ administrator to add printer URI options to the browse
+ URI, e.g. "encryption=required" (STR #732)
+ - Added BrowseRemoteOptions directive to allow the
+ administrator to add standard URI options to the
+ remote printer URI, e.g. "encryption=required" (STR
+ #732)
+ - Now put "-I.." compiler option in front of all others
+ to ensure that local CUPS headers are used before
+ installed headers (STR #437)
+ - New cupsLangPrintf() and cupsLangPuts() for localized
+ interfaces.
+ - Now support custom attributes and extended options in
+ PPD files.
+ - Now provide functions to save PPD files.
+ - New policy mechanism allows per-operation and
+ per-printer control over what users and groups are
+ allowed to do various IPP operations.
+ - New error policy mechanism to control how aborted
+ backend errors are handled by the scheduler
+ (abort-job, retry-job, requeue-job, stop-printer)
+ - Updated the printer test page with a better color
+ wheel and a separate grayscale ramp.
+ - A single backend process is now run to send all print
+ data for a job.
+ - Backends and filters can now send and receive
+ backchannel data over file descriptor 3.
+ - Updated the raster stream format to support more
+ user-defined attributes and to do compression of the
+ page data.
diff --git a/CHANGES.txt b/CHANGES.txt
index 017c0de68..2791e5865 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,565 +1,8 @@
-CHANGES.txt - 2006-05-05
+CHANGES.txt - 2006-05-16
------------------------
-CHANGES IN CUPS V1.2
+CHANGES IN CUPS V1.3
- - Documentation updates (STR #1618, STR #1620, STR #1622,
- STR #1637)
- - Static file copy buffers reduced from 64k to 32k to
- work around bogus MallocDebug library assumptions (STR
- #1660)
- - The scheduler did not decode the backend exit code
- properly (STR #1648)
- - The MacOS X USB backend did not report the 1284 device ID,
- nor did it fix device IDs returned by HP printers.
- - The scheduler started more slowly than 1.1.x with large
- numbers of printers (STR #1653)
- - cupsRasterInterpretPPD() didn't support the
- cupsPreferredBitsPerColor attribute, and imagetoraster
- didn't use the new API.
- - The "make test" script did not create all of the necessary
- subdirectories for testing (STR #1638)
- - The scheduler did not prevent rotation of logs
- redirected to /dev/null (STR #1651)
- - "make test" did not include the SNMP backend in the
- test environment (STR #1625)
- - The EPM packaging files did not work (STR #1621)
- - "Use Default Configuration" inserted a broken
- configuration file (STR #1624)
- - Redirects in the web interface did not always preserve
- the encrypted status of a connection (STR #1603)
- - Added the Apple "pap" backend.
- - Added CUPS library to CUPS Image shared library
- linkage to support Linux --as-needed linker option
- (STR #1606)
- - Fixed support for --enable-pie (STR #1609)
- - The pdftops filter did not validate the length of the
- encryption key (STR #1608)
- - Updated the Polish localization.
- - "Encryption Required" in the cupsd.conf file now only
- requires encryption when the connection is not over the
- loopback interface or domain socket.
- - Printer names containing "+" were not quoted properly in
- the web interface (STR #1600)
- - The SNMP backend now reports the make and model in the
- information string so that the auto-generated printer
- name is more useful than just an IP address.
-
-
-CHANGES IN CUPS V1.2rc3
-
- - The cups-lpd program always did reverse lookups on the
- client address, which could be a performance problem.
- Added a "-n" option to disable lookups.
- - When configured with SSL support, require encryption by
- default when displaying the /admin location (STR #1592)
- - The next job ID was not computed correctly if the job
- cache file got out of sync with the spool directory
- (STR #1582)
- - The PNG image handling code used deprecated functions
- from libpng (STR #1587)
- - Added a Polish translation (STR #1584, STR #1586)
- - More changes to the scheduler to improve battery life
- on portable devices (STR #1583)
- - Changed the default log level for status messages back
- to "DEBUG" to be consistent with CUPS 1.1.x (STR #1579)
- - The error string was not set properly when
- cupsDoFileRequest() was given the name of a directory
- (STR #1578)
- - Fixed handling of job-hold-until (STR #1581)
- - Added explicit notes to the cupsaddsmb man page
- explaining that the driver filenames are case-sensitive
- under UNIX and that they must be all lowercase (Windows
- 2000) or all UPPERCASE (Windows 95/98/Me) to work (STR
- #1568)
- - The USB backend incorrectly split the manufacturer name
- if it contained spaces (STR #1566)
- - The scheduler would hang when listing PPD files for a
- manufacturer whose name contained spaces (STR #1567)
- - Added the SNMP backend for network printer discovery
- (STR #1555)
- - cupstestppd now fails PPD files with 1284DeviceId
- instead of 1284DeviceID, and cups-driverd uses a
- case-insensitive comparison when looking for it (STR
- #1573)
- - cupsDoFileRequest() and cupsDoRequest() now work
- properly with non-blocking HTTP connections.
- - Added Swedish translation (STR #1569)
- - "make install" now installs the MIME files with world
- read permissions (STR #1565)
- - More CDSA encryption support fixes (STR #1563)
- - Updated the default mime.types file to support printing
- of files that do not have a locally-recognized MIME
- media type to raw or System V queues.
- - Updated the serial port detection code on Linux (STR
- #1562)
- - Added some more error checking to httpGetHostname()
- (STR #1561)
- - The title of some administration pages was not
- localized (STR #1548)
- - The edit-config.tmpl file was not generated or
- installed for the Spanish or Japanese localizations
- (STR #1547)
- - The mimeDelete() function freed the types before the
- filters, but the filters needed the type data (STR #1558)
- - The scheduler didn't keep track of the status pipes
- properly, leading to a bad select() for multi-file jobs
- (STR #1559)
- - The cupstestdsc program didn't validate the ordinal
- page number value for %%Page: comments.
-
-
-CHANGES IN CUPS V1.2rc2
-
- - The scheduler was not always using the string pool,
- causing random crashes.
- - The lpmove and the web interface's Move Job button did
- not work with stopped jobs (STR #1534)
- - The PostScript filter did not handle the page-set
- option properly with number-up printing (STR #1543)
- - The scheduler now only warns about unsupported ACLs
- once (STR #1532)
- - The "fitplot" option did not work with output from
- Mozilla (STR #1542)
- - The imagetops filter did not work with Level 2 or 3
- printers (STR #1533)
- - The scheduler now recognizes PostScript files with PJL
- commands that do not include an ENTER LANGUAGE command.
- - Added --with-printcap configure option.
- - 64-bit SSL fixes for MacOS X.
- - The scheduler didn't send some printer state change
- events.
- - The scheduler didn't send jobs to busy remote printers.
- - Fixed some problems with the launchd support.
- - Added new USB printer backend for MacOS X.
- - The PostScript filter now handles files that start with
- an incomplete PJL header (PR #6076)
- - The web interface language selection code did not try
- the generic language localization (STR #1531)
- - The language cache, string pool, and transcoding caches
- are now process global instead of per-thread to avoid
- problems with GNOME and to allow for data sharing
- between threads (STR #1530)
- - Fixed a CUPS 1.1.x compatibility bug (STR #1528)
- - The web interface redirection after certain printer
- administration tasks was broken (STR #1516)
- - Web interface authorization could get stuck (STR #1512)
- - Localization updates (STR #1513, STR #1518, STR #1520)
- - The pstops filter didn't work with some files (STR
- #1523)
- - "./configure --enable-static" didn't work (STR #1522)
- - The scheduler was not using the configured default
- Group (STR #1521)
- - The web interface still did not show the localized time
- and date for some locales and systems (STR #1509)
- - httpAddrGetList() would crash on systems without
- getaddrinfo().
- - Socket URIs without a trailing slash would cause the
- port number to not be accepted (STR #1519)
- - Local raw and System V printers were not advertised as
- such for printer browsing (STR #1502)
- - The RPM spec file incorrectly put duplicate copies of
- the Japanese and Spanish web interface templates in the
- main cups package (STR #1517)
- - cupsSetDests() did not explicitly set the permissions
- of the /etc/cups/lpoptions file (STR #1508)
- - The lpq command crashed with the -h option (STR #1515)
-
-
-CHANGES IN CUPS V1.2rc1
-
- - Documentation updates (STR #1497, STR #1498)
- - The scheduler now redirects browsers to https: URLs
- when encryption is required.
- - The scheduler would crash when printing with a banner
- (STR #1500)
- - cups-driverd did not use the LanguageEncoding attribute
- in PPD files to convert the NickName to UTF-8 (STR
- #1503)
- - The lpadmin command could not set the
- printer-error-policy attribute (STR #1504)
- - The web interface did not show the time and date in the
- correct format for the locale (STR #1505)
- - CUPS no longer accepts print jobs if a printer does not
- support the file format (STR #1501)
- - Cleaned up the PostScript filter (pstops) so that it
- properly supports %%IncludeFeature and page scaling
- (STR #1453)
- - Fixed the cupsFileRewind() and cupsFileSeek() functions
- to work properly with uncompressed files.
- - Added cupsFileGetLine(), cupsFileStderr(),
- cupsFileStdin(), and cupsFileStdout() functions to the
- CUPS library.
- - Added a new cupstestdsc program to test the DSC
- conformance of PostScript files.
- - Added KDE/GNOME icons and a Manage Printers menu item.
- - Added --enable-image and --enable-pdftops configure
- options to control whether the image and PDF filters
- are built and installed (default = yes for all
- platforms but MacOS X)
- - Fixed a minor memory leak in the PPD API.
- - Fixed transcoding issues (STR #1493)
- - The scheduler now enforces a minimum job cost of 100
- when doing FilterLimit checks.
- - The scheduler would leak file descriptors when printing
- to raw queues (STR #1491)
- - The IPv6 support did not compile on Tru64 UNIX (STR
- #1488)
- - ppdOpen2() now converts the NickName and all UI text to
- UTF-8 (STR #1475)
- - The Set Allowed Users web page did not work (STR #1486)
- - When the default policy was not set or set to a non-
- existing policy, the scheduler did not set the default
- policy name to "default" (STR #1484)
- - The Zebra CPCL driver did not use the correct righthand
- margin for the 4" wide label sizes.
- - Fixed a problem with the parsing of fractional real
- numbers in PPD files.
- - Added Spanish localization files (STR #1480)
- - Fixed localization of a few scheduler messages (STR
- #1478)
- - Fixed support for HEAD requests in the scheduler (STR
- #1481)
-
-
-CHANGES IN CUPS V1.2b2
-
- - Updated the CUPS design description.
- - Added --enable-32bit and --enable-64bit configure
- options to allow building of separate 32/64-bit
- libraries on systems that support both environments
- (STR #1472)
- - Various compiler warning fixes.
- - Fixes for Solaris 10 builds against old GNU TLS and
- LDAP libraries.
- - Added a cupsArrayUserData() function to retrieve the
- user data pointer for an array (useful for typing
- arrays)
- - The ppdEmitString() function did not compute the
- required buffer size properly, leading to dropped
- characters on the end of the printer commands in pstops
- and imagetops (STR #1470)
-
-
-CHANGES IN CUPS V1.2b1
-
- - The serial backend now supports Equinox 8-port serial
- hubs (STR #526)
- - The IPP backend now supports a compression option to
- compress print files as they are sent to the remote
- server (STR #956)
- - The CUPS browse protocol now supports passing of
- default options and browse timeout values from the
- server to the clients (STR #800)
- - Implicit classes that timed out could cause the
- scheduler to crash (STR #1439)
- - Added DragonFly support in local device backends (STR
- #1362)
- - Added LDAP printer browsing support (STR #338)
- - Added official support for printer maintenance commands
- via the CUPS Command file format and hooks in the
- printer-type and web interfaces (STR #932)
- - The HP-GL/2 filter could get in an infinite loop trying
- to convert HP-PCL files (STR #1415)
- - CUPS now implements the HTTP/1.1 Expect header (STR
- #1407)
- - Options in PPD files are no longer automatically put in
- an "Extra" group; rather, all options that are not
- inside an Open/CloseGroup will be placed in the
- "General" group (STR #1385)
- - The scheduler now creates a job-uuid attribute that
- uniquely identifies a job on a network (STR #1410)
- - The init script now unsets the TMPDIR environment
- variable to prevent user temporary directories from
- being used by cupsd accidentally (STR #1424)
- - Added support for launchd on MacOS X.
- - Added support for notify_post on MacOS X.
- - Added support for DBUS on Linux.
- - All of the Berkeley (except for lpc) and System V
- commands now support specification of user, host, and
- port (STR #1028, STR #1029, STR #1087)
- - The lpmove command now allows you to move all jobs for
- a given queue (STR #56)
- - The web interface now supports moving of a job or jobs
- to another queue (STR #56)
- - The web interface now provides searching, paging, and
- changing of the sort/display order of classes, jobs,
- and printers.
- - cupsaddsmb now accepts a password on the command-line
- and supports passwords with special characters (STR
- #822, STR #1236)
- - ppdLoad*() no longer tries to "fix" bad characters in
- UI text (STR #1101)
- - Printer names can now (reliably) contain Unicode
- characters (STR #896)
- - The lpstat command now shows the time and date of the
- last printer state change instead of the hardcoded "Jan
- 01 00:00" (STR #659)
- - The scheduler now adds a job-actual-printer-uri
- attribute to job objects when printing to a class (STR
- #116)
- - The scheduler now logs log file open errors to the
- system log (STR #1289)
- - The scheduler now sets the job-originating-user-name to
- the authenticated username, if available (STR #1318)
- - The scheduler now only updates the permissions of SSL
- keys and certificates when they are under the
- ServerRoot directory (STR #1324)
- - The rastertodymo driver has been renamed to
- rastertolabel (a symlink is installed so that existing
- queues continue to work) and now also supports Zebra's
- CPCL language.
- - The lpstat command could show the wrong active job for
- a printer (STR #1301)
- - Fixed a potential crash problem in the scheduler when
- aborting a CGI program (STR #1290)
- - Added a "cancel all jobs" button to the class and
- printer web interfaces (STR #1140)
- - The add-printer web page now shows the
- set-printer-options page after the printer has been
- added (STR #690)
- - The classes web page now provides links to each of the
- member printers (STR #307)
- - CUPS now handles HTTP request/response lines up to 32k
- in length; this is mainly for better cookie support
- (STR #1274)
- - Added support for the Apache PassEnv and SetEnv
- directives to cupsd.conf (STR #853)
- - Added large file (64-bit) support (STR #541)
- - Fixed a performance issue with the ippReadIO()
- implementation (STR #1284)
- - Fixed a performance issue with the scheduler's implicit
- class implementation (STR #1283)
- - The pdftops filter now adds the Title and Creator
- fields from the PDF file to the PostScript document
- comments section (STR #539, STR #830)
- - Added a new cups_array_t and cupsArray*() functions to
- the CUPS API to support sorted lists of data.
- - Made the CUPS API library thread-safe (STR #1276)
- - Added "media" option support for EFI EFMediaType option
- (STR #902)
- - Added write buffering to the HTTP code to improve
- performance (STR #547)
- - The scheduler now uses the attributes-natural-language
- attribute to localize banner pages (STR #386)
- - The scheduler now returns the address that was used to
- connect to it (STR #1076)
- - Fixed a problem with N-up printing and OpenOffice (STR
- #576)
- - Added support for the GCC position independent
- executable options (STR #1209)
- - Added new BrowseLocalProtocols and
- BrowseRemoteProtocols directives to cupsd.conf,
- allowing for different browse protocols for local and
- remote printers (STR #877)
- - PPD files can now contain strings up to 256k in length
- (STR #1215)
- - The pstops filter now supports the IncludeFeature DSC
- comment (STR #1212)
- - The pstops filter now disables the setpagedevice
- procedure when doing N-up printing (STR #1161)
- - The serial backend now supports "stop=1", "stop=2",
- "parity=space", and "parity=mark" options (STR #1155)
- - "make install" no longer overwrites an existing PAM
- configuration file (STR #1064)
- - The scheduler now closes all files on startup when run
- in daemon mode (STR #1009)
- - Added a new RGBW colorspace to the CUPS raster format
- (STR #1071)
- - The pdftops filter now sets the page size based on the
- media box when not scaling the output (STR #912)
- - The pdftops filter now supports masked images (STR
- #281)
- - The pdftops filter produced large output when rendering
- PDF files containing lot of repeated images (STR #327)
- - The pdftops filter now minimizes print processing of
- PDF files when using the page-ranges option (STR #273)
- - Updated pdftops filter to Xpdf 3.01.
- - Added new cupsBackchannelRead() and
- cupsBackchannelWrite() functions, as well as
- backchannel support to the parallel, serial, socket,
- and USB backends (STR #1252)
- - The parallel and USB backends now treat a "no space
- available" error as an out-of-paper condition (STR
- #1225)
- - The "lpc" command now supports the "status all" command
- (STR #1004)
- - ippReadIO() did not read collections properly (STR
- #1249)
- - The "make test" script now creates the test files in
- "/tmp/cups-$USER" instead of "/tmp/$USER" (STR #981)
- - All backends now abort on error when printing a job to
- a class - this allows the next printer in the class to
- print the job (STR #1084)
- - The scheduler now verifies that a printer supports
- Letter or A4 media sizes before setting them as the
- initial default (STR #1250)
- - The cupstestppd program now flags bad Resolution
- options (STR #1269)
- - The USB backend now retries printing when the printer
- is disconnected or turned off (STR #1267)
- - Added new httpGetHostname() function to CUPS API, and
- use it instead of gethostname() so that the web
- interface will work correctly on systems whose hostname
- is not the FQDN (STR #1266)
- - The scheduler now stops printers if the backend for the
- queue is missing on startup (STR #1265)
- - The configure script now supports "--disable-library"
- to disable particular image file format support
- libraries, even if they are available on the build
- system (STR #1248)
- - The IPP backend did not always report on the total
- number of pages that were printed (STR #1251)
- - The lpstat program could display garbage date and time
- values for locales whose date format exceeded 31
- characters (STR #1263)
- - The cupstestppd program would segfault when testing
- certain broken PPD files (STR #1268)
- - Dramatically reduced the overhead of implicit classes.
- - Added new cupsDir*() functions to CUPS API.
- - Printers can now be published individually for sharing.
- - Fixed a bug in the scheduler's startup signalling code
- which caused cupsd to send the SIGUSR1 signal to the
- init process instead of the original parent process
- (STR #1258)
- - Added new on-line help CGI to web interface to provide
- searchable help.
- - Devices are now tracked dynamically, with each query
- doing a new device scan. This eliminates a previous
- startup delay caused by slow backends and allows new
- printers to be seen without restarting the server,
- however it limits the amount of device URI checking
- that can be done (basically now the scheduler only
- requires a URI with a method that is a listed backend)
- - Added new printer auto-detection, server configuration,
- and log file viewing to the administration web page.
- - Added new "set allowed users" web interface to set the
- list of allowed users for a printer or class.
- - The scheduler, command-line, and web interfaces now
- limit the list of printers and classes to those
- accessible by a user.
- - cupsMarkOptions() now handles more non-standard
- duplexing options and choices (STR #915)
- - cups-lpd now honors remote banner requests with the
- "standard" banner whenever a printer does not have one
- defined (STR #1220)
- - The scheduler's denial-of-service checks did not work
- properly with IPv6 addresses (STR #1134)
- - The lp and lpr commands did not error out properly when
- they were unable to write to a temporary file (STR
- #1129)
- - The pstops filter did not handle Adobe-specific
- comments in Windows NT driver output (STR #1085)
- - "lpstat -l -p" incorrectly reported the printer
- interface (STR #936)
- - The web interface now operates exclusively with the
- UTF-8 encoding, and sends the appropriate character set
- and header information to the web browser (STR #919,
- STR #1007)
- - Added a "set allowed users" interface to the web
- interface so that you can set the list of allowed or
- denied users/groups for a printer or class.
- - Disallow the "#" character in printer names, since it
- has special meaning in the shell, config files, and in
- URIs (STR #917, STR #1202)
- - Added a new application/x-csource MIME type, and
- support for it to the texttops filter so that you can
- pretty print plain text files without the C/C++
- keywords being highlighted.
- - The pdftops filter did not compile with GCC 4.0 (STR
- #1226)
- - The texttops filter did not highlight preprocessor
- directives followed by a tab properly.
- - HP PJL output now uses both JOB DISPLAY and RDYMSG
- commands to show the current job on the printer's
- display (STR #1218)
- - Local authentication certificates are now stored in
- /var/run/cups/certs by default instead of
- /etc/cups/certs (STR #1211)
- - Backends now use "&" to separate options in device
- URIs; "+" is still recognized but is deprecated (STR
- #842)
- - The USB backend no longer supports the usb:/dev/foo
- format on systems that support device ID queries.
- - Forced classification markings did not work when the
- job-sheets parameters were "none,none".
- - "lpstat -l -p" incorrectly showed all users as allowed,
- even if the queue was restricted to certain users (STR
- #801)
- - The scheduler now automatically detects SSL/TLS clients
- without using the SSLPort/SSLListen directives.
- - The CUPS API and scheduler no longer support SSLv2-
- encrypted connections.
- - Updated the cupsaddsmb utility to correctly export the
- CUPS driver for Windows.
- - Fixed a signal-handling bug in httpRead() which
- ultimately caused the server to print multiple copies
- when it was busy (STR #1184)
- - The cupsFile API now uses the O_APPEND option when
- opening files in append mode (STR #990)
- - The md5.h header and md5_* functions are now officially
- private and have been renamed to avoid conflicts with
- other implementations with the same name.
- - The pdftops filter incorrectly embedded some Type1
- fonts (STR #1093)
- - The scheduler didn't detect a closed connection in the
- middle of an IPP request (STR #1153)
- - The scheduler could block trying to read the job status
- if there was input pending and the job was cancelled in
- the same input cycle (STR #1157)
- - The scheduler could crash when deleting a class due to
- infinite recursion.
- - Updated the Zebra ZPL label printer driver to use the
- run-length encoding and support more options.
- - Updated serial backend to scan for /dev/ttyC* as well
- as /dev/ttyc* for Cyclades serial ports (STR #1049)
- - The scheduler could hang reading the job status under
- certain circumstances (STR #1068)
- - The USB backend termination signal code was inverted
- (STR #1046)
- - Moved enable and disable commands to sbindir to be
- consistent.
- - Added new cupsRasterInterpretPPD() function for RIP
- filters to setup the raster page header from
- PostScript commands in a PPD file.
- - The CUPS browsing protocol now offers a "delete" bit
- to remove printers as soon as they are deleted on the
- server or as soon as the server shuts down gracefully
- (STR #793)
- - The CUPS_SERVER and ServerName directives (client.conf
- and ~/.cupsrc) may now contain names of the form
- "server:port" and "/path/to/domain/socket".
- - The "cancel -u user" command now works for ordinary
- users (STR #751)
- - Added test run support to "make test" target (STR #64)
- - Added domain socket support (STR #656)
- - Added BrowseLocalOptions directive to allow the
- administrator to add printer URI options to the browse
- URI, e.g. "encryption=required" (STR #732)
- - Added BrowseRemoteOptions directive to allow the
- administrator to add standard URI options to the
- remote printer URI, e.g. "encryption=required" (STR
- #732)
- - Now put "-I.." compiler option in front of all others
- to ensure that local CUPS headers are used before
- installed headers (STR #437)
- - New cupsLangPrintf() and cupsLangPuts() for localized
- interfaces.
- - Now support custom attributes and extended options in
- PPD files.
- - Now provide functions to save PPD files.
- - New policy mechanism allows per-operation and
- per-printer control over what users and groups are
- allowed to do various IPP operations.
- - New error policy mechanism to control how aborted
- backend errors are handled by the scheduler
- (abort-job, retry-job, requeue-job, stop-printer)
- - Updated the printer test page with a better color
- wheel and a separate grayscale ramp.
- - A single backend process is now run to send all print
- data for a job.
- - Backends and filters can now send and receive
- backchannel data over file descriptor 3.
- - Updated the raster stream format to support more
- user-defined attributes and to do compression of the
- page data.
+ - Added support for setting the document-format-default
+ attribute on a per-printer basis.
+ - Added support for IntelliBar label printers.
diff --git a/Makedefs.in b/Makedefs.in
index 29d2de84a..8629f6a57 100644
--- a/Makedefs.in
+++ b/Makedefs.in
@@ -1,5 +1,5 @@
#
-# "$Id: Makedefs.in 5468 2006-04-27 13:40:30Z mike $"
+# "$Id: Makedefs.in 5563 2006-05-21 17:18:40Z mike $"
#
# Common makefile definitions for the Common UNIX Printing System (CUPS).
#
@@ -149,6 +149,7 @@ LAUNCHDLIBS = @LAUNCHDLIBS@
#
ARCH32FLAGS = @ARCH32FLAGS@
+DSO32FLAGS = @DSO32FLAGS@
INSTALL32 = @INSTALL32@
LIB32CUPS = @LIB32CUPS@
LIB32CUPSIMAGE = @LIB32CUPSIMAGE@
@@ -156,6 +157,7 @@ LIB32DIR = $(BUILDROOT)@LIB32DIR@
UNINSTALL32 = @UNINSTALL32@
ARCH64FLAGS = @ARCH64FLAGS@
+DSO64FLAGS = @DSO64FLAGS@
INSTALL64 = @INSTALL64@
LIB64CUPS = @LIB64CUPS@
LIB64CUPSIMAGE = @LIB64CUPSIMAGE@
@@ -261,5 +263,5 @@ DBUSDIR = @DBUSDIR@
#
-# End of "$Id: Makedefs.in 5468 2006-04-27 13:40:30Z mike $"
+# End of "$Id: Makedefs.in 5563 2006-05-21 17:18:40Z mike $"
#
diff --git a/Makefile b/Makefile
index 7dae65d0d..e9a1f6d92 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 5498 2006-05-07 16:52:14Z mike $"
+# "$Id: Makefile 5546 2006-05-19 12:44:15Z mike $"
#
# Top-level Makefile for the Common UNIX Printing System (CUPS).
#
@@ -99,8 +99,8 @@ install: installhdrs
echo Installing cups-config script...
$(INSTALL_DIR) -m 755 $(BINDIR)
$(INSTALL_SCRIPT) cups-config $(BINDIR)/cups-config
- echo Installing startup script...
if test "x$(INITDIR)" != x; then \
+ echo Installing init scripts...; \
$(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/init.d; \
$(INSTALL_SCRIPT) init/cups.sh $(BUILDROOT)$(INITDIR)/init.d/cups; \
$(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDIR)/rc0.d; \
@@ -115,13 +115,16 @@ install: installhdrs
if test "x$(INITDIR)" = x -a "x$(INITDDIR)" != x; then \
$(INSTALL_DIR) $(BUILDROOT)$(INITDDIR); \
if test "$(INITDDIR)" = "/System/Library/StartupItems/PrintingServices"; then \
+ echo Installing StartupItems files...; \
$(INSTALL_SCRIPT) init/PrintingServices $(BUILDROOT)$(INITDDIR)/PrintingServices; \
$(INSTALL_DATA) init/StartupParameters.plist $(BUILDROOT)$(INITDDIR)/StartupParameters.plist; \
$(INSTALL_DIR) -m 755 $(BUILDROOT)$(INITDDIR)/Resources/English.lproj; \
$(INSTALL_DATA) init/Localizable.strings $(BUILDROOT)$(INITDDIR)/Resources/English.lproj/Localizable.strings; \
elif test "$(INITDDIR)" = "/System/Library/LaunchDaemons"; then \
+ echo Installing LaunchDaemons configuration file...; \
$(INSTALL_DATA) init/org.cups.cupsd.plist $(BUILDROOT)$(DEFAULT_LAUNCHD_CONF); \
else \
+ echo Installing RC script...; \
$(INSTALL_SCRIPT) init/cups.sh $(BUILDROOT)$(INITDDIR)/cups; \
fi \
fi
@@ -236,5 +239,5 @@ epm:
#
-# End of "$Id: Makefile 5498 2006-05-07 16:52:14Z mike $".
+# End of "$Id: Makefile 5546 2006-05-19 12:44:15Z mike $".
#
diff --git a/backend/ipp.c b/backend/ipp.c
index a2ca39e32..8061d42cb 100644
--- a/backend/ipp.c
+++ b/backend/ipp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ipp.c 5495 2006-05-05 17:58:07Z mike $"
+ * "$Id: ipp.c 5553 2006-05-20 12:22:27Z mike $"
*
* IPP backend for the Common UNIX Printing System (CUPS).
*
@@ -276,7 +276,7 @@ main(int argc, /* I - Number of command-line args */
*ptr++ = *optptr++;
*ptr = '\0';
- if (*optptr == '+')
+ if (*optptr == '+' || *optptr == '&')
optptr ++;
}
else
@@ -1619,5 +1619,5 @@ sigterm_handler(int sig) /* I - Signal */
/*
- * End of "$Id: ipp.c 5495 2006-05-05 17:58:07Z mike $".
+ * End of "$Id: ipp.c 5553 2006-05-20 12:22:27Z mike $".
*/
diff --git a/backend/serial.c b/backend/serial.c
index 86093682c..0442c2926 100644
--- a/backend/serial.c
+++ b/backend/serial.c
@@ -1,5 +1,5 @@
/*
- * "$Id: serial.c 5400 2006-04-14 19:04:02Z mike $"
+ * "$Id: serial.c 5553 2006-05-20 12:22:27Z mike $"
*
* Serial port backend for the Common UNIX Printing System (CUPS).
*
@@ -310,7 +310,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
*ptr++ = *options++;
*ptr = '\0';
- if (*options == '+')
+ if (*options == '+' || *options == '&')
options ++;
}
else
@@ -1169,5 +1169,5 @@ list_devices(void)
/*
- * End of "$Id: serial.c 5400 2006-04-14 19:04:02Z mike $".
+ * End of "$Id: serial.c 5553 2006-05-20 12:22:27Z mike $".
*/
diff --git a/backend/usb-unix.c b/backend/usb-unix.c
index f3d1c3d51..39df2e67d 100644
--- a/backend/usb-unix.c
+++ b/backend/usb-unix.c
@@ -1,5 +1,5 @@
/*
- * "$Id: usb-unix.c 5373 2006-04-06 20:03:32Z mike $"
+ * "$Id: usb-unix.c 5553 2006-05-20 12:22:27Z mike $"
*
* USB port backend for the Common UNIX Printing System (CUPS).
*
@@ -60,6 +60,7 @@ print_device(const char *uri, /* I - Device URI */
int argc, /* I - Number of command-line arguments (6 or 7) */
char *argv[]) /* I - Command-line arguments */
{
+ int usebc; /* Use backchannel path? */
int fd; /* USB device */
int rbytes; /* Number of bytes read */
int wbytes; /* Number of bytes written */
@@ -82,6 +83,14 @@ print_device(const char *uri, /* I - Device URI */
(void)argc;
(void)argv;
+ /*
+ * Disable backchannel data when printing to Canon USB printers - apparently
+ * Canon printers will return the IEEE-1284 device ID over and over and over
+ * when they get a read request...
+ */
+
+ usebc = strcasecmp(hostname, "Canon") != 0;
+
/*
* Open the USB port device...
*/
@@ -238,7 +247,9 @@ print_device(const char *uri, /* I - Device URI */
do
{
FD_ZERO(&input);
- FD_SET(fd, &input);
+ if (usebc)
+ FD_SET(fd, &input);
+
FD_ZERO(&output);
FD_SET(fd, &output);
}
@@ -622,5 +633,5 @@ open_device(const char *uri) /* I - Device URI */
/*
- * End of "$Id: usb-unix.c 5373 2006-04-06 20:03:32Z mike $".
+ * End of "$Id: usb-unix.c 5553 2006-05-20 12:22:27Z mike $".
*/
diff --git a/cgi-bin/admin.c b/cgi-bin/admin.c
index aac69d973..db6baa4b6 100644
--- a/cgi-bin/admin.c
+++ b/cgi-bin/admin.c
@@ -1,5 +1,5 @@
/*
- * "$Id: admin.c 5425 2006-04-18 19:59:05Z mike $"
+ * "$Id: admin.c 5571 2006-05-22 18:46:55Z mike $"
*
* Administration CGI for the Common UNIX Printing System (CUPS).
*
@@ -93,7 +93,8 @@ main(int argc, /* I - Number of command-line arguments */
if (!http)
{
perror("ERROR: Unable to connect to cupsd");
- fprintf(stderr, "DEBUG: cupsServer()=\"%s\"\n", cupsServer());
+ fprintf(stderr, "DEBUG: cupsServer()=\"%s\"\n",
+ cupsServer() ? cupsServer() : "(null)");
fprintf(stderr, "DEBUG: ippPort()=%d\n", ippPort());
fprintf(stderr, "DEBUG: cupsEncryption()=%d\n", cupsEncryption());
exit(1);
@@ -481,7 +482,7 @@ do_am_class(http_t *http, /* I - HTTP connection */
char refresh[1024]; /* Refresh URL */
cgiFormEncode(uri, name, sizeof(uri));
- snprintf(refresh, sizeof(refresh), "5;/admin/?OP=redirect&URL=/classes/%s",
+ snprintf(refresh, sizeof(refresh), "5;URL=/admin/?OP=redirect&URL=/classes/%s",
uri);
cgiSetVariable("refresh_page", refresh);
@@ -534,8 +535,9 @@ do_am_printer(http_t *http, /* I - HTTP connection */
};
+ ptr = cgiGetVariable("DEVICE_URI");
fprintf(stderr, "DEBUG: do_am_printer: DEVICE_URI=\"%s\"\n",
- cgiGetVariable("DEVICE_URI"));
+ ptr ? ptr : "(null)");
title = cgiText(modify ? _("Modify Printer") : _("Add Printer"));
@@ -1041,7 +1043,7 @@ do_am_printer(http_t *http, /* I - HTTP connection */
"5;/admin/?OP=redirect&URL=/printers/%s", uri);
else
snprintf(refresh, sizeof(refresh),
- "5;/admin/?OP=set-printer-options&PRINTER_NAME=%s", uri);
+ "5;URL=/admin/?OP=set-printer-options&PRINTER_NAME=%s", uri);
cgiSetVariable("refresh_page", refresh);
@@ -1489,7 +1491,9 @@ do_config_printer(http_t *http) /* I - HTTP connection */
*keyptr = '\0';
- if (!strcmp(keyword, "PageRegion"))
+ if (!strcmp(keyword, "PageRegion") ||
+ !strcmp(keyword, "PaperDimension") ||
+ !strcmp(keyword, "ImageableArea"))
var = cgiGetVariable("PageSize");
else
var = cgiGetVariable(keyword);
@@ -1561,7 +1565,7 @@ do_config_printer(http_t *http) /* I - HTTP connection */
cgiFormEncode(uri, printer, sizeof(uri));
snprintf(refresh, sizeof(refresh),
- "5;/admin/?OP=redirect&URL=/printers/%s", uri);
+ "5;URL=/admin/?OP=redirect&URL=/printers/%s", uri);
cgiSetVariable("refresh_page", refresh);
cgiStartHTML(title);
@@ -1623,7 +1627,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
}
else
{
- cgiSetVariable("refresh_page", "5;/admin/?OP=redirect");
+ cgiSetVariable("refresh_page", "5;URL=/admin/?OP=redirect");
cgiStartHTML(cgiText(_("Change Settings")));
cgiCopyTemplateLang("restart.tmpl");
}
@@ -1717,7 +1721,7 @@ do_config_server(http_t *http) /* I - HTTP connection */
}
else
{
- cgiSetVariable("refresh_page", "5;/admin/?OP=redirect");
+ cgiSetVariable("refresh_page", "5;URL=/admin/?OP=redirect");
cgiStartHTML(cgiText(_("Edit Configuration File")));
cgiCopyTemplateLang("restart.tmpl");
@@ -2478,7 +2482,7 @@ do_printer_op(http_t *http, /* I - HTTP connection */
cgiRewriteURL(uri, url, sizeof(url), NULL);
cgiFormEncode(uri, url, sizeof(uri));
- snprintf(refresh, sizeof(refresh), "5;/admin/?OP=redirect&URL=%s", uri);
+ snprintf(refresh, sizeof(refresh), "5;URL=/admin/?OP=redirect&URL=%s", uri);
cgiSetVariable("refresh_page", refresh);
cgiStartHTML(title);
@@ -2736,7 +2740,8 @@ do_set_allowed_users(http_t *http) /* I - HTTP connection */
cgiRewriteURL(uri, url, sizeof(url), NULL);
cgiFormEncode(uri, url, sizeof(uri));
- snprintf(refresh, sizeof(refresh), "5;/admin/?OP=redirect&URL=%s", uri);
+ snprintf(refresh, sizeof(refresh), "5;URL=/admin/?OP=redirect&URL=%s",
+ uri);
cgiSetVariable("refresh_page", refresh);
cgiStartHTML(cgiText(_("Set Allowed Users")));
@@ -2826,7 +2831,7 @@ do_set_sharing(http_t *http) /* I - HTTP connection */
cgiRewriteURL(uri, url, sizeof(url), NULL);
cgiFormEncode(uri, url, sizeof(uri));
- snprintf(refresh, sizeof(refresh), "5;/admin/?OP=redirect&URL=%s", uri);
+ snprintf(refresh, sizeof(refresh), "5;URL=/admin/?OP=redirect&URL=%s", uri);
cgiSetVariable("refresh_page", refresh);
cgiStartHTML(cgiText(_("Set Publishing")));
@@ -2888,5 +2893,5 @@ match_string(const char *a, /* I - First string */
/*
- * End of "$Id: admin.c 5425 2006-04-18 19:59:05Z mike $".
+ * End of "$Id: admin.c 5571 2006-05-22 18:46:55Z mike $".
*/
diff --git a/cgi-bin/classes.c b/cgi-bin/classes.c
index d7fd569e7..1c22d513e 100644
--- a/cgi-bin/classes.c
+++ b/cgi-bin/classes.c
@@ -1,5 +1,5 @@
/*
- * "$Id: classes.c 5202 2006-02-28 19:37:03Z mike $"
+ * "$Id: classes.c 5571 2006-05-22 18:46:55Z mike $"
*
* Class status CGI for the Common UNIX Printing System (CUPS).
*
@@ -95,8 +95,7 @@ main(int argc, /* I - Number of command-line arguments */
* See who is logged in...
*/
- if ((user = getenv("REMOTE_USER")) == NULL)
- user = "guest";
+ user = getenv("REMOTE_USER");
/*
* Connect to the HTTP server...
@@ -187,7 +186,7 @@ main(int argc, /* I - Number of command-line arguments */
void
show_all_classes(http_t *http, /* I - Connection to server */
- const char *user) /* I - Username */
+ const char *user) /* I - Username */
{
int i; /* Looping var */
ipp_t *request, /* IPP request */
@@ -221,8 +220,9 @@ show_all_classes(http_t *http, /* I - Connection to server */
request = ippNewRequest(CUPS_GET_CLASSES);
- ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME,
- "requesting-user-name", NULL, user);
+ if (user)
+ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME,
+ "requesting-user-name", NULL, user);
cgiGetAttributes(request, "classes.tmpl");
@@ -419,7 +419,7 @@ show_class(http_t *http, /* I - Connection to server */
*/
cgiFormEncode(uri, pclass, sizeof(uri));
- snprintf(refresh, sizeof(refresh), "10;/classes/%s", uri);
+ snprintf(refresh, sizeof(refresh), "10;URL=/classes/%s", uri);
cgiSetVariable("refresh_page", refresh);
}
@@ -463,5 +463,5 @@ show_class(http_t *http, /* I - Connection to server */
/*
- * End of "$Id: classes.c 5202 2006-02-28 19:37:03Z mike $".
+ * End of "$Id: classes.c 5571 2006-05-22 18:46:55Z mike $".
*/
diff --git a/cgi-bin/help.c b/cgi-bin/help.c
index 6dc512ead..0d554de71 100644
--- a/cgi-bin/help.c
+++ b/cgi-bin/help.c
@@ -187,7 +187,8 @@ main(int argc, /* I - Number of command-line arguments */
topic = cgiGetVariable("TOPIC");
si = helpSearchIndex(hi, query, topic, helpfile);
- fprintf(stderr, "DEBUG: query=\"%s\", topic=\"%s\"\n", query, topic);
+ fprintf(stderr, "DEBUG: query=\"%s\", topic=\"%s\"\n",
+ query ? query : "(null)", topic ? topic : "(null)");
if (si)
{
diff --git a/cgi-bin/html.c b/cgi-bin/html.c
index a51b28f94..62e0cc517 100644
--- a/cgi-bin/html.c
+++ b/cgi-bin/html.c
@@ -1,5 +1,5 @@
/*
- * "$Id: html.c 4921 2006-01-12 21:26:26Z mike $"
+ * "$Id: html.c 5548 2006-05-19 19:38:31Z mike $"
*
* HTML support functions for the Common UNIX Printing System (CUPS).
*
@@ -175,12 +175,13 @@ cgi_null_passwd(const char *prompt) /* I - Prompt string (unused) */
{
(void)prompt;
- fprintf(stderr, "DEBUG: cgi_null_passwd(prompt=\"%s\") called!\n", prompt);
+ fprintf(stderr, "DEBUG: cgi_null_passwd(prompt=\"%s\") called!\n",
+ prompt ? prompt : "(null)");
return (NULL);
}
/*
- * End of "$Id: html.c 4921 2006-01-12 21:26:26Z mike $".
+ * End of "$Id: html.c 5548 2006-05-19 19:38:31Z mike $".
*/
diff --git a/cgi-bin/ipp-var.c b/cgi-bin/ipp-var.c
index 583a9f745..83dc0af74 100644
--- a/cgi-bin/ipp-var.c
+++ b/cgi-bin/ipp-var.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ipp-var.c 5425 2006-04-18 19:59:05Z mike $"
+ * "$Id: ipp-var.c 5571 2006-05-22 18:46:55Z mike $"
*
* CGI <-> IPP variable routines for the Common UNIX Printing System (CUPS).
*
@@ -482,7 +482,7 @@ cgiMoveJobs(http_t *http, /* I - Connection to server */
{
cgiRewriteURL(job_printer_uri, resource, sizeof(resource), NULL);
cgiFormEncode(uri, resource, sizeof(uri));
- snprintf(refresh, sizeof(refresh), "2;%s", uri);
+ snprintf(refresh, sizeof(refresh), "2;URL=%s", uri);
cgiSetVariable("refresh_page", refresh);
}
@@ -598,7 +598,7 @@ cgiPrintTestPage(http_t *http, /* I - Connection to server */
*/
cgiFormEncode(uri, resource, sizeof(uri));
- snprintf(refresh, sizeof(refresh), "2;%s", uri);
+ snprintf(refresh, sizeof(refresh), "2;URL=%s", uri);
cgiSetVariable("refresh_page", refresh);
}
@@ -774,7 +774,7 @@ cgiSetIPPObjectVars(
fprintf(stderr, "DEBUG2: cgiSetIPPObjectVars(obj=%p, prefix=\"%s\", "
"element=%d)\n",
- obj, prefix, element);
+ obj, prefix ? prefix : "(null)", element);
/*
* Set common CGI template variables...
@@ -977,7 +977,9 @@ cgiSetIPPVars(ipp_t *response, /* I - Response data to be copied... */
fprintf(stderr, "DEBUG2: cgiSetIPPVars(response=%p, filter_name=\"%s\", "
"filter_value=\"%s\", prefix=\"%s\", parent_el=%d)\n",
- response, filter_name, filter_value, prefix, parent_el);
+ response, filter_name ? filter_name : "(null)",
+ filter_value ? filter_value : "(null)",
+ prefix ? prefix : "(null)", parent_el);
/*
* Set common CGI template variables...
@@ -1277,5 +1279,5 @@ cgiText(const char *message) /* I - Message */
/*
- * End of "$Id: ipp-var.c 5425 2006-04-18 19:59:05Z mike $".
+ * End of "$Id: ipp-var.c 5571 2006-05-22 18:46:55Z mike $".
*/
diff --git a/cgi-bin/printers.c b/cgi-bin/printers.c
index 74b950d56..50dc2b322 100644
--- a/cgi-bin/printers.c
+++ b/cgi-bin/printers.c
@@ -1,5 +1,5 @@
/*
- * "$Id: printers.c 5202 2006-02-28 19:37:03Z mike $"
+ * "$Id: printers.c 5571 2006-05-22 18:46:55Z mike $"
*
* Printer status CGI for the Common UNIX Printing System (CUPS).
*
@@ -98,8 +98,7 @@ main(int argc, /* I - Number of command-line arguments */
* See who is logged in...
*/
- if ((user = getenv("REMOTE_USER")) == NULL)
- user = "guest";
+ user = getenv("REMOTE_USER");
/*
* Connect to the HTTP server...
@@ -287,7 +286,7 @@ print_command(http_t *http, /* I - Connection to server */
*/
cgiFormEncode(uri, resource, sizeof(uri));
- snprintf(refresh, sizeof(refresh), "2;%s", uri);
+ snprintf(refresh, sizeof(refresh), "2;URL=%s", uri);
cgiSetVariable("refresh_page", refresh);
}
@@ -331,7 +330,7 @@ show_all_printers(http_t *http, /* I - Connection to server */
fprintf(stderr, "DEBUG: show_all_printers(http=%p, user=\"%s\")\n",
- http, user);
+ http, user ? user : "(null)");
/*
* Show the standard header...
@@ -357,8 +356,9 @@ show_all_printers(http_t *http, /* I - Connection to server */
ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_ENUM,
"printer-type-mask", CUPS_PRINTER_CLASS);
- ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME,
- "requesting-user-name", NULL, user);
+ if (user)
+ ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME,
+ "requesting-user-name", NULL, user);
cgiGetAttributes(request, "printers.tmpl");
@@ -543,7 +543,7 @@ show_printer(http_t *http, /* I - Connection to server */
fprintf(stderr, "DEBUG: show_printer(http=%p, printer=\"%s\")\n",
- http, printer);
+ http, printer ? printer : "(null)");
/*
* Build an IPP_GET_PRINTER_ATTRIBUTES request, which requires the following
@@ -594,7 +594,7 @@ show_printer(http_t *http, /* I - Connection to server */
*/
cgiFormEncode(uri, printer, sizeof(uri));
- snprintf(refresh, sizeof(refresh), "10;/printers/%s", uri);
+ snprintf(refresh, sizeof(refresh), "10;URL=/printers/%s", uri);
cgiSetVariable("refresh_page", refresh);
}
@@ -638,5 +638,5 @@ show_printer(http_t *http, /* I - Connection to server */
/*
- * End of "$Id: printers.c 5202 2006-02-28 19:37:03Z mike $".
+ * End of "$Id: printers.c 5571 2006-05-22 18:46:55Z mike $".
*/
diff --git a/cgi-bin/template.c b/cgi-bin/template.c
index f6f213fef..d2fd9b8e3 100644
--- a/cgi-bin/template.c
+++ b/cgi-bin/template.c
@@ -1,5 +1,5 @@
/*
- * "$Id: template.c 5461 2006-04-25 17:15:45Z mike $"
+ * "$Id: template.c 5548 2006-05-19 19:38:31Z mike $"
*
* CGI template function.
*
@@ -60,7 +60,7 @@ cgiCopyTemplateFile(FILE *out, /* I - Output file */
fprintf(stderr, "DEBUG: cgiCopyTemplateFile(out=%p, tmpl=\"%s\")\n", out,
- tmpl);
+ tmpl ? tmpl : "(null)");
/*
* Open the template file...
@@ -69,7 +69,7 @@ cgiCopyTemplateFile(FILE *out, /* I - Output file */
if ((in = fopen(tmpl, "r")) == NULL)
{
fprintf(stderr, "ERROR: Unable to open template file \"%s\" - %s\n",
- tmpl, strerror(errno));
+ tmpl ? tmpl : "(null)", strerror(errno));
return;
}
@@ -102,7 +102,8 @@ cgiCopyTemplateLang(const char *tmpl) /* I - Base filename */
FILE *in; /* Input file */
- fprintf(stderr, "DEBUG: cgiCopyTemplateLang(tmpl=\"%s\")\n", tmpl);
+ fprintf(stderr, "DEBUG: cgiCopyTemplateLang(tmpl=\"%s\")\n",
+ tmpl ? tmpl : "(null)");
/*
* Convert the language to a locale name...
@@ -669,5 +670,5 @@ cgi_puturi(const char *s, /* I - String to output */
/*
- * End of "$Id: template.c 5461 2006-04-25 17:15:45Z mike $".
+ * End of "$Id: template.c 5548 2006-05-19 19:38:31Z mike $".
*/
diff --git a/cgi-bin/var.c b/cgi-bin/var.c
index 177e883b7..113b8d026 100644
--- a/cgi-bin/var.c
+++ b/cgi-bin/var.c
@@ -1,5 +1,5 @@
/*
- * "$Id: var.c 5331 2006-03-23 21:21:19Z mike $"
+ * "$Id: var.c 5548 2006-05-19 19:38:31Z mike $"
*
* CGI form variable and array functions.
*
@@ -949,7 +949,8 @@ cgi_passwd(const char *prompt) /* I - Prompt (not used) */
{
(void)prompt;
- fprintf(stderr, "DEBUG: cgi_passwd(prompt=\"%s\") called!\n", prompt);
+ fprintf(stderr, "DEBUG: cgi_passwd(prompt=\"%s\") called!\n",
+ prompt ? prompt : "(null)");
/*
* Send a 401 (unauthorized) status to the server, so it can notify
@@ -1026,5 +1027,5 @@ cgi_unlink_file(void)
/*
- * End of "$Id: var.c 5331 2006-03-23 21:21:19Z mike $".
+ * End of "$Id: var.c 5548 2006-05-19 19:38:31Z mike $".
*/
diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4
index 5495beaa0..f31fc3691 100644
--- a/config-scripts/cups-common.m4
+++ b/config-scripts/cups-common.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-common.m4 5466 2006-04-26 19:52:27Z mike $"
+dnl "$Id: cups-common.m4 5502 2006-05-08 21:09:15Z mike $"
dnl
dnl Common configuration stuff for the Common UNIX Printing System (CUPS).
dnl
@@ -29,7 +29,7 @@ dnl Set the name of the config header file...
AC_CONFIG_HEADER(config.h)
dnl Versio number information...
-CUPS_VERSION="1.2svn"
+CUPS_VERSION="1.3svn"
CUPS_REVISION=""
if test -z "$CUPS_REVISION" -a -d .svn; then
CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
@@ -265,5 +265,5 @@ AC_SUBST(DEFAULT_IPP_PORT)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
dnl
-dnl End of "$Id: cups-common.m4 5466 2006-04-26 19:52:27Z mike $".
+dnl End of "$Id: cups-common.m4 5502 2006-05-08 21:09:15Z mike $".
dnl
diff --git a/config-scripts/cups-compiler.m4 b/config-scripts/cups-compiler.m4
index c3b82a852..964931f9d 100644
--- a/config-scripts/cups-compiler.m4
+++ b/config-scripts/cups-compiler.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-compiler.m4 5473 2006-05-01 15:51:09Z mike $"
+dnl "$Id: cups-compiler.m4 5565 2006-05-22 01:08:19Z mike $"
dnl
dnl Compiler stuff for the Common UNIX Printing System (CUPS).
dnl
@@ -138,8 +138,8 @@ if test -n "$GCC"; then
ARCH32FLAGS="$with_arch32flags"
fi
INSTALL32="install32bit"
- LIB32CUPS="libcups.32.so.2"
- LIB32CUPSIMAGE="libcupsimage.32.so.2"
+ LIB32CUPS="32bit/libcups.so.2"
+ LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
LIB32DIR="$prefix/lib32"
UNINSTALL32="uninstall32bit"
@@ -162,8 +162,8 @@ if test -n "$GCC"; then
ARCH64FLAGS="$with_arch64flags"
fi
INSTALL64="install64bit"
- LIB64CUPS="libcups.64.so.2"
- LIB64CUPSIMAGE="libcupsimage.64.so.2"
+ LIB64CUPS="64bit/libcups.so.2"
+ LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
LIB64DIR="$prefix/lib64"
UNINSTALL64="uninstall64bit"
@@ -188,8 +188,8 @@ if test -n "$GCC"; then
ARCH32FLAGS="$with_arch32flags"
fi
INSTALL32="install32bit"
- LIB32CUPS="libcups.32.so.2"
- LIB32CUPSIMAGE="libcupsimage.32.so.2"
+ LIB32CUPS="32bit/libcups.so.2"
+ LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
LIB32DIR="$exec_prefix/lib"
if test -d /usr/lib32; then
LIB32DIR="${LIB32DIR}32"
@@ -215,8 +215,8 @@ if test -n "$GCC"; then
ARCH64FLAGS="$with_arch64flags"
fi
INSTALL64="install64bit"
- LIB64CUPS="libcups.64.so.2"
- LIB64CUPSIMAGE="libcupsimage.64.so.2"
+ LIB64CUPS="64bit/libcups.so.2"
+ LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
LIB64DIR="$exec_prefix/lib"
if test -d /usr/lib64; then
LIB64DIR="${LIB64DIR}64"
@@ -244,8 +244,8 @@ if test -n "$GCC"; then
ARCH32FLAGS="$with_arch32flags"
fi
INSTALL32="install32bit"
- LIB32CUPS="libcups.32.so.2"
- LIB32CUPSIMAGE="libcupsimage.32.so.2"
+ LIB32CUPS="32bit/libcups.so.2"
+ LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
LIB32DIR="$exec_prefix/lib/32"
UNINSTALL32="uninstall32bit"
@@ -268,8 +268,8 @@ if test -n "$GCC"; then
ARCH64FLAGS="$with_arch64flags"
fi
INSTALL64="install64bit"
- LIB64CUPS="libcups.64.so.2"
- LIB64CUPSIMAGE="libcupsimage.64.so.2"
+ LIB64CUPS="64bit/libcups.so.2"
+ LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
LIB64DIR="$exec_prefix/lib/64"
UNINSTALL64="uninstall64bit"
@@ -310,8 +310,11 @@ else
# Warning 829 is passing constant string as char *
CXXFLAGS="+W336,829 $CXXFLAGS"
- if test "x$with_optim" = x; then
- OPTIM="+DAportable $OPTIM"
+ if test -z "$with_archflags"; then
+ # Build portable binaries for all HP systems...
+ ARCHFLAGS="+DAportable"
+ else
+ ARCHFLAGS="$with_archflags"
fi
if test $PICFLAG = 1; then
@@ -339,8 +342,8 @@ else
ARCH32FLAGS="$with_arch32flags"
fi
INSTALL32="install32bit"
- LIB32CUPS="libcups.32.so.2"
- LIB32CUPSIMAGE="libcupsimage.32.so.2"
+ LIB32CUPS="32bit/libcups.so.2"
+ LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
LIB32DIR="$prefix/lib32"
UNINSTALL32="uninstall32bit"
@@ -363,8 +366,8 @@ else
ARCH64FLAGS="$with_arch64flags"
fi
INSTALL64="install64bit"
- LIB64CUPS="libcups.64.so.2"
- LIB64CUPSIMAGE="libcupsimage.64.so.2"
+ LIB64CUPS="64bit/libcups.so.2"
+ LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
LIB64DIR="$prefix/lib64"
UNINSTALL64="uninstall64bit"
@@ -398,8 +401,8 @@ else
# binaries with separate 32-bit libraries...
ARCH32FLAGS="-xarch=generic"
INSTALL32="install32bit"
- LIB32CUPS="libcups.32.so.2"
- LIB32CUPSIMAGE="libcupsimage.32.so.2"
+ LIB32CUPS="32bit/libcups.so.2"
+ LIB32CUPSIMAGE="32bit/libcupsimage.so.2"
LIB32DIR="$exec_prefix/lib/32"
UNINSTALL32="uninstall32bit"
@@ -408,33 +411,43 @@ else
# warning messages, and default to
# 64-bit compiles of everything else...
OPTIM="-w $OPTIM"
- CFLAGS="-xarch=generic64 $CFLAGS"
+ fi
+
+ if test -z "$with_archflags"; then
+ if test -z "$with_arch64flags"; then
+ ARCHFLAGS="-xarch=generic64"
+ else
+ ARCHFLAGS="$with_arch64flags"
+ fi
+ else
+ ARCHFLAGS="$with_archflags"
fi
else
if test "x$enable_64bit" = xyes; then
# Build 64-bit libraries...
ARCH64FLAGS="-xarch=generic64"
INSTALL64="install64bit"
- LIB64CUPS="libcups.64.so.2"
- LIB64CUPSIMAGE="libcupsimage.64.so.2"
+ LIB64CUPS="64bit/libcups.so.2"
+ LIB64CUPSIMAGE="64bit/libcupsimage.so.2"
LIB64DIR="$exec_prefix/lib/64"
UNINSTALL64="uninstall64bit"
+ fi
+
+ if test "x$with_optim" = x; then
+ # Suppress all of Sun's questionable
+ # warning messages, and default to
+ # 32-bit compiles of everything else...
+ OPTIM="-w $OPTIM"
+ fi
- if test "x$with_optim" = x; then
- # Suppress all of Sun's questionable
- # warning messages, and default to
- # 32-bit compiles of everything else...
- OPTIM="-w $OPTIM"
- CFLAGS="-xarch=generic $CFLAGS"
+ if test -z "$with_archflags"; then
+ if test -z "$with_arch32flags"; then
+ ARCHFLAGS="-xarch=generic"
+ else
+ ARCHFLAGS="$with_arch32flags"
fi
else
- if test "x$with_optim" = x; then
- # Suppress all of Sun's questionable
- # warning messages, and default to
- # 32-bit compiles of everything else...
- OPTIM="-w $OPTIM"
- CFLAGS="-xarch=generic $CFLAGS"
- fi
+ ARCHFLAGS="$with_archflags"
fi
fi
;;
@@ -475,5 +488,5 @@ if test $uname = HP-UX; then
fi
dnl
-dnl End of "$Id: cups-compiler.m4 5473 2006-05-01 15:51:09Z mike $".
+dnl End of "$Id: cups-compiler.m4 5565 2006-05-22 01:08:19Z mike $".
dnl
diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4
index 39a787a98..7a378ad3a 100644
--- a/config-scripts/cups-directories.m4
+++ b/config-scripts/cups-directories.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-directories.m4 5466 2006-04-26 19:52:27Z mike $"
+dnl "$Id: cups-directories.m4 5546 2006-05-19 12:44:15Z mike $"
dnl
dnl Directory stuff for the Common UNIX Printing System (CUPS).
dnl
@@ -130,9 +130,11 @@ if test x$rcdir = x; then
Darwin*)
# Darwin and MacOS X...
INITDIR=""
- AC_CHECK_PROG(INITDDIR, launchd,
- "/System/Library/LaunchDaemons",
- "/System/Library/StartupItems/PrintingServices")
+ if test -x /sbin/launchd; then
+ INITDDIR="/System/Library/LaunchDaemons"
+ else
+ INITDDIR="/System/Library/StartupItems/PrintingServices"
+ fi
;;
Linux | GNU)
@@ -300,5 +302,5 @@ AC_DEFINE_UNQUOTED(CUPS_STATEDIR, "$localstatedir/run/cups")
AC_SUBST(CUPS_STATEDIR)
dnl
-dnl End of "$Id: cups-directories.m4 5466 2006-04-26 19:52:27Z mike $".
+dnl End of "$Id: cups-directories.m4 5546 2006-05-19 12:44:15Z mike $".
dnl
diff --git a/config-scripts/cups-ldap.m4 b/config-scripts/cups-ldap.m4
index 69bbb0a3e..d2171eb30 100644
--- a/config-scripts/cups-ldap.m4
+++ b/config-scripts/cups-ldap.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-ldap.m4 5466 2006-04-26 19:52:27Z mike $"
+dnl "$Id: cups-ldap.m4 5563 2006-05-21 17:18:40Z mike $"
dnl
dnl LDAP configuration stuff for the Common UNIX Printing System (CUPS).
dnl
@@ -36,7 +36,7 @@ LIBLDAP=""
if test x$enable_ldap != xno; then
AC_CHECK_HEADER(ldap.h,
- AC_CHECK_LIB(ldap, ldap_value_free,
+ AC_CHECK_LIB(ldap, ldap_initialize,
AC_DEFINE(HAVE_LDAP)
AC_DEFINE(HAVE_OPENLDAP)
LIBLDAP="-lldap"))
@@ -46,5 +46,5 @@ AC_SUBST(LIBLDAP)
dnl
-dnl End of "$Id: cups-ldap.m4 5466 2006-04-26 19:52:27Z mike $".
+dnl End of "$Id: cups-ldap.m4 5563 2006-05-21 17:18:40Z mike $".
dnl
diff --git a/config-scripts/cups-sharedlibs.m4 b/config-scripts/cups-sharedlibs.m4
index 05dc479b7..d6f224f25 100644
--- a/config-scripts/cups-sharedlibs.m4
+++ b/config-scripts/cups-sharedlibs.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-sharedlibs.m4 5466 2006-04-26 19:52:27Z mike $"
+dnl "$Id: cups-sharedlibs.m4 5567 2006-05-22 15:33:11Z mike $"
dnl
dnl Shared library support for the Common UNIX Printing System (CUPS).
dnl
@@ -33,31 +33,31 @@ if test x$enable_shared != xno; then
LIBCUPS="libcups.so.2"
LIBCUPSIMAGE="libcupsimage.so.2"
DSO="\$(CC)"
- DSOFLAGS="$DSOFLAGS -Wl,-h,\$@ -G \$(OPTIM)"
+ DSOFLAGS="$DSOFLAGS -Wl,-h,\`basename \$@\` -G \$(OPTIM)"
;;
HP-UX*)
LIBCUPS="libcups.sl.2"
LIBCUPSIMAGE="libcupsimage.sl.2"
DSO="\$(LD)"
- DSOFLAGS="$DSOFLAGS -b -z +h \$@"
+ DSOFLAGS="$DSOFLAGS -b -z +h \`basename \$@\`"
;;
IRIX)
LIBCUPS="libcups.so.2"
LIBCUPSIMAGE="libcupsimage.so.2"
DSO="\$(CC)"
- DSOFLAGS="$DSOFLAGS -Wl,-rpath,\$(libdir),-set_version,sgi2.6,-soname,\$@ -shared \$(OPTIM)"
+ DSOFLAGS="$DSOFLAGS -set_version,sgi2.6,-soname,\`basename \$@\` -shared \$(OPTIM)"
;;
OSF1* | Linux | GNU | *BSD*)
LIBCUPS="libcups.so.2"
LIBCUPSIMAGE="libcupsimage.so.2"
DSO="\$(CC)"
- DSOFLAGS="$DSOFLAGS -Wl,-soname,\$@ -shared \$(OPTIM)"
+ DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
;;
Darwin*)
LIBCUPS="libcups.2.dylib"
LIBCUPSIMAGE="libcupsimage.2.dylib"
DSO="\$(CC)"
- DSOFLAGS="$DSOFLAGS \$(RC_CFLAGS) -dynamiclib -single_module -lc"
+ DSOFLAGS="$DSOFLAGS -dynamiclib -single_module -lc"
;;
AIX*)
LIBCUPS="libcups_s.a"
@@ -71,7 +71,7 @@ if test x$enable_shared != xno; then
LIBCUPS="libcups.so.2"
LIBCUPSIMAGE="libcupsimage.so.2"
DSO="\$(CC)"
- DSOFLAGS="$DSOFLAGS -Wl,-soname,\$@ -shared \$(OPTIM)"
+ DSOFLAGS="$DSOFLAGS -Wl,-soname,\`basename \$@\` -shared \$(OPTIM)"
;;
esac
else
@@ -81,8 +81,15 @@ else
DSO=":"
fi
+# 32-bit and 64-bit libraries need variations of the standard
+# DSOFLAGS...
+DSO32FLAGS="$DSOFLAGS"
+DSO64FLAGS="$DSOFLAGS"
+
AC_SUBST(DSO)
AC_SUBST(DSOFLAGS)
+AC_SUBST(DSO32FLAGS)
+AC_SUBST(DSO64FLAGS)
AC_SUBST(LIBCUPS)
AC_SUBST(LIBCUPSIMAGE)
@@ -113,34 +120,48 @@ if test "$DSO" != ":"; then
DSOLIBS="\$(LIBPNG) \$(LIBTIFF) \$(LIBJPEG) \$(LIBZ)"
IMGLIBS=""
- # The *BSD, HP-UX, and Solaris run-time linkers need help when
- # deciding where to find a DSO. Add linker options to tell them
- # where to find the DSO (usually in /usr/lib... duh!)
+ # Tell the run-time linkers where to find a DSO. Some platforms
+ # need this option, even when the library is installed in a
+ # standard location...
case $uname in
HP-UX*)
- # HP-UX
- DSOFLAGS="+s +b $libdir $DSOFLAGS"
- LDFLAGS="$LDFLAGS -Wl,+s,+b,$libdir"
- EXPORT_LDFLAGS="-Wl,+s,+b,$libdir"
- ;;
+ # HP-UX needs the path, even for /usr/lib...
+ DSOFLAGS="+s +b \$(libdir) $DSOFLAGS"
+ DSO32FLAGS="+s +b \$(LIB32DIR) $DSO32FLAGS"
+ DSO64FLAGS="+s +b \$(LIB64DIR) $DSO64FLAGS"
+ LDFLAGS="$LDFLAGS -Wl,+s,+b,\$(libdir)"
+ EXPORT_LDFLAGS="-Wl,+s,+b,\$(libdir)"
+ ;;
SunOS*)
- # Solaris
- DSOFLAGS="-R$libdir $DSOFLAGS"
- LDFLAGS="$LDFLAGS -R$libdir"
- EXPORT_LDFLAGS="-R$libdir"
- ;;
+ # Solaris...
+ if test $exec_prefix != /usr; then
+ DSOFLAGS="-R\$(libdir) $DSOFLAGS"
+ DSO32FLAGS="-R\$(LIB32DIR) $DSO32FLAGS"
+ DSO64FLAGS="-R\$(LIB64DIR) $DSO64FLAGS"
+ LDFLAGS="$LDFLAGS -R\$(libdir)"
+ EXPORT_LDFLAGS="-R\$(libdir)"
+ fi
+ ;;
*BSD*)
- # *BSD
- DSOFLAGS="-Wl,-R$libdir $DSOFLAGS"
- LDFLAGS="$LDFLAGS -Wl,-R$libdir"
- EXPORT_LDFLAGS="-Wl,-R$libdir"
- ;;
- Linux | GNU)
- # Linux and HURD
- DSOFLAGS="-Wl,-rpath,$libdir $DSOFLAGS"
- LDFLAGS="$LDFLAGS -Wl,-rpath,$libdir"
- EXPORT_LDFLAGS="-Wl,-rpath,$libdir"
- ;;
+ # *BSD...
+ if test $exec_prefix != /usr; then
+ DSOFLAGS="-Wl,-R\$(libdir) $DSOFLAGS"
+ DSO32FLAGS="-Wl,-R\$(LIB32DIR) $DSO32FLAGS"
+ DSO64FLAGS="-Wl,-R\$(LIB64DIR) $DSO64FLAGS"
+ LDFLAGS="$LDFLAGS -Wl,-R\$(libdir)"
+ EXPORT_LDFLAGS="-Wl,-R\$(libdir)"
+ fi
+ ;;
+ IRIX | Linux | GNU)
+ # IRIX, Linux, and HURD...
+ if test $exec_prefix != /usr; then
+ DSOFLAGS="-Wl,-rpath,\$(libdir) $DSOFLAGS"
+ DSO32FLAGS="-Wl,-rpath,\$(LIB32DIR) $DSO32FLAGS"
+ DSO64FLAGS="-Wl,-rpath,\$(LIB64DIR) $DSO64FLAGS"
+ LDFLAGS="$LDFLAGS -Wl,-rpath,\$(libdir)"
+ EXPORT_LDFLAGS="-Wl,-rpath,\$(libdir)"
+ fi
+ ;;
esac
else
DSOLIBS=""
@@ -152,5 +173,5 @@ AC_SUBST(IMGLIBS)
AC_SUBST(EXPORT_LDFLAGS)
dnl
-dnl End of "$Id: cups-sharedlibs.m4 5466 2006-04-26 19:52:27Z mike $".
+dnl End of "$Id: cups-sharedlibs.m4 5567 2006-05-22 15:33:11Z mike $".
dnl
diff --git a/config-scripts/cups-ssl.m4 b/config-scripts/cups-ssl.m4
index 6147b3e8c..35d025c7f 100644
--- a/config-scripts/cups-ssl.m4
+++ b/config-scripts/cups-ssl.m4
@@ -1,5 +1,5 @@
dnl
-dnl "$Id: cups-ssl.m4 5466 2006-04-26 19:52:27Z mike $"
+dnl "$Id: cups-ssl.m4 5524 2006-05-15 13:52:09Z mike $"
dnl
dnl OpenSSL/GNUTLS stuff for the Common UNIX Printing System (CUPS).
dnl
@@ -55,18 +55,14 @@ if test x$enable_ssl != xno; then
dnl Then look for GNU TLS...
if test "x${SSLLIBS}" = "x" -a "x${enable_gnutls}" != "xno"; then
- AC_CHECK_HEADER(gnutls/gnutls.h,
- dnl Save the current libraries so the crypto stuff isn't always
- dnl included...
- SAVELIBS="$LIBS"
-
- AC_CHECK_LIB(gnutls, gnutls_x509_crt_set_dn_by_oid,
- [SSLLIBS="-lgnutls"
- ENCRYPTION_REQUIRED=" Encryption Required"
- AC_DEFINE(HAVE_SSL)
- AC_DEFINE(HAVE_GNUTLS)])
-
- LIBS="$SAVELIBS")
+ AC_PATH_PROG(LIBGNUTLSCONFIG,libgnutls-config)
+ if test "x$LIBGNUTLSCONFIG" != x; then
+ SSLLIBS=`$LIBGNUTLSCONFIG --libs`
+ SSLFLAGS=`$LIBGNUTLSCONFIG --cflags`
+ ENCRYPTION_REQUIRED=" Encryption Required"
+ AC_DEFINE(HAVE_SSL)
+ AC_DEFINE(HAVE_GNUTLS)
+ fi
fi
dnl Check for the OpenSSL library last...
@@ -104,6 +100,11 @@ if test x$enable_ssl != xno; then
fi
fi
+if test "x$SSLLIBS" != x; then
+ AC_MSG_RESULT([ Using SSLLIBS="$SSLLIBS"])
+ AC_MSG_RESULT([ Using SSLFLAGS="$SSLFLAGS"])
+fi
+
AC_SUBST(SSLFLAGS)
AC_SUBST(SSLLIBS)
AC_SUBST(ENCRYPTION_REQUIRED)
@@ -113,5 +114,5 @@ AC_SUBST(EXPORT_SSLLIBS)
dnl
-dnl End of "$Id: cups-ssl.m4 5466 2006-04-26 19:52:27Z mike $".
+dnl End of "$Id: cups-ssl.m4 5524 2006-05-15 13:52:09Z mike $".
dnl
diff --git a/cups-config.in b/cups-config.in
index 2f5ea715c..0c88b72b9 100755
--- a/cups-config.in
+++ b/cups-config.in
@@ -1,6 +1,6 @@
#! /bin/sh
#
-# "$Id: cups-config.in 5134 2006-02-19 15:16:08Z mike $"
+# "$Id: cups-config.in 5503 2006-05-10 18:55:39Z mike $"
#
# CUPS configuration utility.
#
@@ -24,13 +24,14 @@
#
VERSION="@CUPS_VERSION@"
-APIVERSION="1.2"
+APIVERSION="1.3"
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
includedir=@includedir@
libdir=@libdir@
+imagelibdir=@libdir@
datadir=@datadir@
sysconfdir=@sysconfdir@
cups_datadir=@CUPS_DATADIR@
@@ -44,14 +45,28 @@ LDFLAGS="@EXPORT_LDFLAGS@"
LIBS="@EXPORT_SSLLIBS@ @LIBS@"
IMGLIBS="@EXPORT_LIBTIFF@ @EXPORT_LIBJPEG@ @EXPORT_LIBPNG@ @EXPORT_LIBZ@"
-if test $includedir != /usr/include; then
- CFLAGS="$CFLAGS -I$includedir"
-fi
+# Check for local invocation...
+selfdir=`dirname $0`
+
+if test -f "$selfdir/cups/cups.h"; then
+ CFLAGS="-I$selfdir"
+ LDFLAGS="-L$selfdir/cups -L$selfdir/filter $LDFLAGS"
+ libdir="$selfdir/cups"
+ imagelibdir="$selfdir/filter"
+ if test ! -e "$selfdir/cups/raster.h"; then
+ ln -s ../filter/raster.h "$selfdir/cups"
+ fi
+else
+ if test $includedir != /usr/include; then
+ CFLAGS="$CFLAGS -I$includedir"
+ fi
-if test $libdir != /usr/lib -a $libdir != /usr/lib32; then
- LDFLAGS="$LDFLAGS -L$libdir"
+ if test $libdir != /usr/lib -a $libdir != /usr/lib32 -a $libdir != /usr/lib64; then
+ LDFLAGS="$LDFLAGS -L$libdir"
+ fi
fi
+
usage ()
{
echo "Usage: cups-config --api-version"
@@ -106,7 +121,7 @@ while test $# -gt 0; do
if test $image = no; then
echo $libdir/libcups.a $LIBS
else
- echo $libdir/libcupsimage.a $IMGLIBS $libdir/libcups.a $LIBS
+ echo $imagelibdir/libcupsimage.a $IMGLIBS $libdir/libcups.a $LIBS
fi
fi
;;
@@ -135,5 +150,5 @@ while test $# -gt 0; do
done
#
-# End of "$Id: cups-config.in 5134 2006-02-19 15:16:08Z mike $".
+# End of "$Id: cups-config.in 5503 2006-05-10 18:55:39Z mike $".
#
diff --git a/cups/Makefile b/cups/Makefile
index 51b396b2a..8bd7f808e 100644
--- a/cups/Makefile
+++ b/cups/Makefile
@@ -1,5 +1,5 @@
#
-# "$Id: Makefile 5491 2006-05-04 20:53:35Z mike $"
+# "$Id: Makefile 5563 2006-05-21 17:18:40Z mike $"
#
# API library Makefile for the Common UNIX Printing System (CUPS).
#
@@ -137,7 +137,8 @@ all: $(TARGETS)
clean:
$(RM) $(OBJS) $(TARGETS)
- $(RM) libcups.so libcups.sl libcups.dylib libcups.32.so libcups.64.so
+ $(RM) libcups.so libcups.sl libcups.dylib
+ $(RM) -r 32bit 64it
#
@@ -184,12 +185,12 @@ installhdrs:
install32bit:
$(INSTALL_DIR) -m 755 $(LIB32DIR)
- $(INSTALL_LIB) libcups.32.so.2 $(LIB32DIR)/libcups.so.2
+ $(INSTALL_LIB) 32bit/libcups.so.2 $(LIB32DIR)/libcups.so.2
$(LN) libcups.so $(LIB32DIR)/libcups.so.2
install64bit:
$(INSTALL_DIR) -m 755 $(LIB64DIR)
- $(INSTALL_LIB) libcups.64.so.2 $(LIB64DIR)/libcups.so.2
+ $(INSTALL_LIB) 64bit/libcups.so.2 $(LIB64DIR)/libcups.so.2
$(LN) libcups.so $(LIB64DIR)/libcups.so.2
@@ -235,21 +236,27 @@ libcups.so.2 libcups.sl.2: $(LIBOBJS)
#
-# libcups.32.so.2
+# 32bit/libcups.so.2
#
-libcups.32.so.2: $(LIB32OBJS)
+32bit/libcups.so.2: $(LIB32OBJS)
echo Linking 32-bit $@...
- $(DSO) $(ARCH32FLAGS) $(DSOFLAGS) -o $@ $(LIB32OBJS) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ -mkdir 32bit
+ $(DSO) $(ARCH32FLAGS) $(DSO32FLAGS) -o $@ $(LIB32OBJS) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(RM) 32bit/libcups.so
+ $(LN) libcups.so.2 32bit/libcups.so
#
-# libcups.64.so.2
+# 64bit/libcups.so.2
#
-libcups.64.so.2: $(LIB64OBJS)
+64bit/libcups.so.2: $(LIB64OBJS)
echo Linking 64-bit $@...
- $(DSO) $(ARCH64FLAGS) $(DSOFLAGS) -o $@ $(LIB64OBJS) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ -mkdir 64bit
+ $(DSO) $(ARCH64FLAGS) $(DSO64FLAGS) -o $@ $(LIB64OBJS) $(SSLLIBS) $(COMMONLIBS) $(LIBZ)
+ $(RM) 64bit/libcups.so
+ $(LN) libcups.so.2 64bit/libcups.so
#
@@ -442,5 +449,5 @@ include Dependencies
#
-# End of "$Id: Makefile 5491 2006-05-04 20:53:35Z mike $".
+# End of "$Id: Makefile 5563 2006-05-21 17:18:40Z mike $".
#
diff --git a/cups/auth.c b/cups/auth.c
index 1cf1ced72..6dd85bbd3 100644
--- a/cups/auth.c
+++ b/cups/auth.c
@@ -1,5 +1,5 @@
/*
- * "$Id: auth.c 5359 2006-03-30 16:09:30Z mike $"
+ * "$Id: auth.c 5558 2006-05-21 13:58:56Z mike $"
*
* Authentication functions for the Common UNIX Printing System (CUPS).
*
@@ -112,8 +112,8 @@ cupsDoAuthentication(http_t *http, /* I - HTTP connection to server */
* Nope - get a new password from the user...
*/
- snprintf(prompt, sizeof(prompt), "Password for %s on %s? ", cupsUser(),
- http->hostname);
+ snprintf(prompt, sizeof(prompt), _("Password for %s on %s? "), cupsUser(),
+ http->hostname[0] == '/' ? "localhost" : http->hostname);
http->digest_tries = strncasecmp(http->fields[HTTP_FIELD_WWW_AUTHENTICATE],
"Digest", 5) != 0;
@@ -249,5 +249,5 @@ cups_local_auth(http_t *http) /* I - HTTP connection to server */
/*
- * End of "$Id: auth.c 5359 2006-03-30 16:09:30Z mike $".
+ * End of "$Id: auth.c 5558 2006-05-21 13:58:56Z mike $".
*/
diff --git a/cups/backchannel.c b/cups/backchannel.c
index 29f542011..f2a7f0ede 100644
--- a/cups/backchannel.c
+++ b/cups/backchannel.c
@@ -1,5 +1,5 @@
/*
- * "$Id: backchannel.c 5138 2006-02-21 10:49:06Z mike $"
+ * "$Id: backchannel.c 5550 2006-05-19 20:20:15Z mike $"
*
* Backchannel functions for the Common UNIX Printing System (CUPS).
*
@@ -161,7 +161,7 @@ cupsBackChannelWrite(
* Write error - abort on fatal errors...
*/
- if (errno != EINTR && errno != EAGAIN)
+ if (errno != EINTR)
return (-1);
}
else
@@ -197,5 +197,5 @@ cups_setup(fd_set *set, /* I - Set for select() */
/*
- * End of "$Id: backchannel.c 5138 2006-02-21 10:49:06Z mike $".
+ * End of "$Id: backchannel.c 5550 2006-05-19 20:20:15Z mike $".
*/
diff --git a/cups/cups.h b/cups/cups.h
index 64b389a08..94f9b8981 100644
--- a/cups/cups.h
+++ b/cups/cups.h
@@ -1,5 +1,5 @@
/*
- * "$Id: cups.h 5233 2006-03-06 03:39:28Z mike $"
+ * "$Id: cups.h 5502 2006-05-08 21:09:15Z mike $"
*
* API definitions for the Common UNIX Printing System (CUPS).
*
@@ -61,9 +61,9 @@ extern "C" {
* Constants...
*/
-# define CUPS_VERSION 1.0200
+# define CUPS_VERSION 1.0300
# define CUPS_VERSION_MAJOR 1
-# define CUPS_VERSION_MINOR 2
+# define CUPS_VERSION_MINOR 3
# define CUPS_VERSION_PATCH 0
# define CUPS_DATE_ANY -1
@@ -244,5 +244,5 @@ extern cups_file_t *cupsTempFile2(char *filename, int len);
#endif /* !_CUPS_CUPS_H_ */
/*
- * End of "$Id: cups.h 5233 2006-03-06 03:39:28Z mike $".
+ * End of "$Id: cups.h 5502 2006-05-08 21:09:15Z mike $".
*/
diff --git a/cups/encode.c b/cups/encode.c
index ec46217f1..7d6f4cec4 100644
--- a/cups/encode.c
+++ b/cups/encode.c
@@ -1,5 +1,5 @@
/*
- * "$Id: encode.c 5373 2006-04-06 20:03:32Z mike $"
+ * "$Id: encode.c 5544 2006-05-18 21:00:16Z mike $"
*
* Option encoding routines for the Common UNIX Printing System (CUPS).
*
@@ -67,6 +67,7 @@ static const _ipp_option_t ipp_options[] =
{ "copies", IPP_TAG_INTEGER, IPP_TAG_JOB },
{ "copies-default", IPP_TAG_INTEGER, IPP_TAG_PRINTER },
{ "document-format", IPP_TAG_MIMETYPE, IPP_TAG_OPERATION },
+ { "document-format-default", IPP_TAG_MIMETYPE, IPP_TAG_PRINTER },
{ "finishings", IPP_TAG_ENUM, IPP_TAG_JOB },
{ "finishings-default", IPP_TAG_ENUM, IPP_TAG_PRINTER },
{ "fitplot", IPP_TAG_BOOLEAN, IPP_TAG_JOB },
@@ -88,6 +89,7 @@ static const _ipp_option_t ipp_options[] =
{ "natural-scaling-default", IPP_TAG_INTEGER, IPP_TAG_PRINTER },
{ "notify-charset", IPP_TAG_CHARSET, IPP_TAG_SUBSCRIPTION },
{ "notify-events", IPP_TAG_KEYWORD, IPP_TAG_SUBSCRIPTION },
+ { "notify-events-default", IPP_TAG_KEYWORD, IPP_TAG_PRINTER },
{ "notify-lease-time", IPP_TAG_INTEGER, IPP_TAG_SUBSCRIPTION },
{ "notify-natural-language", IPP_TAG_LANGUAGE, IPP_TAG_SUBSCRIPTION },
{ "notify-pull-method", IPP_TAG_KEYWORD, IPP_TAG_SUBSCRIPTION },
@@ -133,6 +135,8 @@ static const _ipp_option_t ipp_options[] =
{ "raw", IPP_TAG_MIMETYPE, IPP_TAG_OPERATION },
{ "resolution", IPP_TAG_RESOLUTION, IPP_TAG_JOB },
{ "resolution-default", IPP_TAG_RESOLUTION, IPP_TAG_PRINTER },
+ { "requesting-user-name-allowed", IPP_TAG_NAME, IPP_TAG_PRINTER },
+ { "requesting-user-name-denied", IPP_TAG_NAME, IPP_TAG_PRINTER },
{ "saturation", IPP_TAG_INTEGER, IPP_TAG_JOB },
{ "saturation-default", IPP_TAG_INTEGER, IPP_TAG_PRINTER },
{ "scaling", IPP_TAG_INTEGER, IPP_TAG_JOB },
@@ -557,5 +561,5 @@ compare_ipp_options(_ipp_option_t *a, /* I - First option */
/*
- * End of "$Id: encode.c 5373 2006-04-06 20:03:32Z mike $".
+ * End of "$Id: encode.c 5544 2006-05-18 21:00:16Z mike $".
*/
diff --git a/cups/getifaddrs.c b/cups/getifaddrs.c
index 0daf59b85..7653cfde9 100644
--- a/cups/getifaddrs.c
+++ b/cups/getifaddrs.c
@@ -1,5 +1,5 @@
/*
- * "$Id: getifaddrs.c 5466 2006-04-26 19:52:27Z mike $"
+ * "$Id: getifaddrs.c 5503 2006-05-10 18:55:39Z mike $"
*
* Network interface functions for the Common UNIX Printing System
* (CUPS) scheduler.
@@ -182,8 +182,9 @@ _cups_getifaddrs(struct ifaddrs **addrs)/* O - List of interfaces */
* Got it, make a copy...
*/
- if ((temp->ifa_dstaddr = calloc(1, sizeof(request.ifr_broadaddr))) != NULL)
- memcpy(temp->ifa_dstaddr, &(request.ifr_broadaddr),
+ if ((temp->ifa_broadaddr =
+ calloc(1, sizeof(request.ifr_broadaddr))) != NULL)
+ memcpy(temp->ifa_broadaddr, &(request.ifr_broadaddr),
sizeof(request.ifr_broadaddr));
}
}
@@ -271,5 +272,5 @@ _cups_freeifaddrs(struct ifaddrs *addrs)/* I - Interface list to free */
/*
- * End of "$Id: getifaddrs.c 5466 2006-04-26 19:52:27Z mike $".
+ * End of "$Id: getifaddrs.c 5503 2006-05-10 18:55:39Z mike $".
*/
diff --git a/cups/http-private.h b/cups/http-private.h
index 3a32b8da2..b95b007d8 100644
--- a/cups/http-private.h
+++ b/cups/http-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: http-private.h 5466 2006-04-26 19:52:27Z mike $"
+ * "$Id: http-private.h 5503 2006-05-10 18:55:39Z mike $"
*
* Private HTTP definitions for the Common UNIX Printing System (CUPS).
*
@@ -161,11 +161,23 @@ struct ifaddrs /**** Interface Structure ****/
char *ifa_name; /* Name of interface */
unsigned int ifa_flags; /* Flags (up, point-to-point, etc.) */
struct sockaddr *ifa_addr, /* Network address */
- *ifa_netmask, /* Address mask */
- *ifa_dstaddr; /* Broadcast or destination address */
+ *ifa_netmask; /* Address mask */
+ union
+ {
+ struct sockaddr *ifu_broadaddr; /* Broadcast address of this interface. */
+ struct sockaddr *ifu_dstaddr; /* Point-to-point destination address. */
+ } ifa_ifu;
+
void *ifa_data; /* Interface statistics */
};
+# ifndef ifa_broadaddr
+# define ifa_broadaddr ifa_ifu.ifu_broadaddr
+# endif /* !ifa_broadaddr */
+# ifndef ifa_dstaddr
+# define ifa_dstaddr ifa_ifu.ifu_dstaddr
+# endif /* !ifa_dstaddr */
+
extern int _cups_getifaddrs(struct ifaddrs **addrs);
# define getifaddrs _cups_getifaddrs
extern void _cups_freeifaddrs(struct ifaddrs *addrs);
@@ -175,5 +187,5 @@ extern void _cups_freeifaddrs(struct ifaddrs *addrs);
#endif /* !_CUPS_HTTP_PRIVATE_H_ */
/*
- * End of "$Id: http-private.h 5466 2006-04-26 19:52:27Z mike $".
+ * End of "$Id: http-private.h 5503 2006-05-10 18:55:39Z mike $".
*/
diff --git a/cups/mark.c b/cups/mark.c
index 5cbac1b76..a7d8fd7bd 100644
--- a/cups/mark.c
+++ b/cups/mark.c
@@ -1,5 +1,5 @@
/*
- * "$Id: mark.c 5238 2006-03-07 04:41:42Z mike $"
+ * "$Id: mark.c 5528 2006-05-15 20:03:12Z mike $"
*
* Option marking routines for the Common UNIX Printing System (CUPS).
*
@@ -241,9 +241,6 @@ ppd_option_t * /* O - Pointer to option or NULL */
ppdFindOption(ppd_file_t *ppd, /* I - PPD file data */
const char *option) /* I - Option/Keyword name */
{
- ppd_option_t key; /* Option search key */
-
-
/*
* Range check input...
*/
@@ -251,13 +248,39 @@ ppdFindOption(ppd_file_t *ppd, /* I - PPD file data */
if (!ppd || !option)
return (NULL);
- /*
- * Search...
- */
+ if (ppd->options)
+ {
+ /*
+ * Search in the array...
+ */
+
+ ppd_option_t key; /* Option search key */
+
+
+ strlcpy(key.keyword, option, sizeof(key.keyword));
- strlcpy(key.keyword, option, sizeof(key.keyword));
+ return ((ppd_option_t *)cupsArrayFind(ppd->options, &key));
+ }
+ else
+ {
+ /*
+ * Search in each group...
+ */
- return ((ppd_option_t *)cupsArrayFind(ppd->options, &key));
+ int i, j; /* Looping vars */
+ ppd_group_t *group; /* Current group */
+ ppd_option_t *optptr; /* Current option */
+
+
+ for (i = ppd->num_groups, group = ppd->groups; i > 0; i --, group ++)
+ for (j = group->num_options, optptr = group->options;
+ j > 0;
+ j --, optptr ++)
+ if (!strcasecmp(optptr->keyword, option))
+ return (optptr);
+
+ return (NULL);
+ }
}
@@ -656,5 +679,5 @@ ppd_defaults(ppd_file_t *ppd, /* I - PPD file */
/*
- * End of "$Id: mark.c 5238 2006-03-07 04:41:42Z mike $".
+ * End of "$Id: mark.c 5528 2006-05-15 20:03:12Z mike $".
*/
diff --git a/cups/page.c b/cups/page.c
index f9ac4ef85..f835c41c0 100644
--- a/cups/page.c
+++ b/cups/page.c
@@ -1,5 +1,5 @@
/*
- * "$Id: page.c 5238 2006-03-07 04:41:42Z mike $"
+ * "$Id: page.c 5548 2006-05-19 19:38:31Z mike $"
*
* Page size functions for the Common UNIX Printing System (CUPS).
*
@@ -87,7 +87,7 @@ ppdPageSize(ppd_file_t *ppd, /* I - PPD file record */
if (!nameptr || *nameptr != 'x')
return (NULL);
- l = _cupsStrScand(nameptr, &nameptr, loc);
+ l = _cupsStrScand(nameptr + 1, &nameptr, loc);
if (!nameptr)
return (NULL);
@@ -193,5 +193,5 @@ ppdPageLength(ppd_file_t *ppd, /* I - PPD file */
/*
- * End of "$Id: page.c 5238 2006-03-07 04:41:42Z mike $".
+ * End of "$Id: page.c 5548 2006-05-19 19:38:31Z mike $".
*/
diff --git a/cups/request.c b/cups/request.c
index 93d08885e..6aff5126d 100644
--- a/cups/request.c
+++ b/cups/request.c
@@ -1,5 +1,5 @@
/*
- * "$Id: request.c 5495 2006-05-05 17:58:07Z mike $"
+ * "$Id: request.c 5556 2006-05-21 13:55:23Z mike $"
*
* IPP utilities for the Common UNIX Printing System (CUPS).
*
@@ -70,6 +70,7 @@ cupsDoFileRequest(http_t *http, /* I - HTTP connection to server */
struct stat fileinfo; /* File information */
int bytes; /* Number of bytes read/written */
char buffer[32768]; /* Output buffer */
+ http_status_t expect; /* Expect: header to use */
DEBUG_printf(("cupsDoFileRequest(%p, %p, \'%s\', \'%s\')\n",
@@ -146,6 +147,7 @@ cupsDoFileRequest(http_t *http, /* I - HTTP connection to server */
response = NULL;
status = HTTP_ERROR;
+ expect = HTTP_CONTINUE;
while (response == NULL)
{
@@ -163,7 +165,7 @@ cupsDoFileRequest(http_t *http, /* I - HTTP connection to server */
httpSetLength(http, length);
httpSetField(http, HTTP_FIELD_CONTENT_TYPE, "application/ipp");
httpSetField(http, HTTP_FIELD_AUTHORIZATION, http->authstring);
- httpSetExpect(http, HTTP_CONTINUE);
+ httpSetExpect(http, expect);
DEBUG_printf(("cupsDoFileRequest: authstring=\"%s\"\n", http->authstring));
@@ -312,6 +314,14 @@ cupsDoFileRequest(http_t *http, /* I - HTTP connection to server */
continue;
}
#endif /* HAVE_SSL */
+ else if (status == HTTP_EXPECTATION_FAILED)
+ {
+ /*
+ * Don't try using the Expect: header the next time around...
+ */
+
+ expect = (http_status_t)0;
+ }
else if (status != HTTP_OK)
{
DEBUG_printf(("cupsDoFileRequest: error %d...\n", status));
@@ -469,5 +479,5 @@ _cupsSetError(ipp_status_t status, /* I - IPP status code */
/*
- * End of "$Id: request.c 5495 2006-05-05 17:58:07Z mike $".
+ * End of "$Id: request.c 5556 2006-05-21 13:55:23Z mike $".
*/
diff --git a/cups/snprintf.c b/cups/snprintf.c
index 86f8c3f63..19dff87af 100644
--- a/cups/snprintf.c
+++ b/cups/snprintf.c
@@ -1,5 +1,5 @@
/*
- * "$Id: snprintf.c 4683 2005-09-21 22:17:44Z mike $"
+ * "$Id: snprintf.c 5527 2006-05-15 19:37:11Z mike $"
*
* snprintf functions for the Common UNIX Printing System (CUPS).
*
@@ -96,7 +96,10 @@ _cups_vsnprintf(char *buffer, /* O - Output buffer */
if (*format == '*')
{
- // Get width from argument...
+ /*
+ * Get width from argument...
+ */
+
format ++;
width = va_arg(ap, int);
@@ -125,7 +128,10 @@ _cups_vsnprintf(char *buffer, /* O - Output buffer */
if (*format == '*')
{
- // Get precision from argument...
+ /*
+ * Get precision from argument...
+ */
+
format ++;
prec = va_arg(ap, int);
@@ -362,6 +368,6 @@ _cups_snprintf(char *buffer, /* O - Output buffer */
/*
- * End of "$Id: snprintf.c 4683 2005-09-21 22:17:44Z mike $".
+ * End of "$Id: snprintf.c 5527 2006-05-15 19:37:11Z mike $".
*/
diff --git a/doc/help/spec-pdf.html b/doc/help/spec-pdf.html
new file mode 100644
index 000000000..862eb0cb6
--- /dev/null
+++ b/doc/help/spec-pdf.html
@@ -0,0 +1,21 @@
+
+
+
+ CUPS PDF Format
+
+
+
+
+
CUPS PDF files (application/vnd.cups-pdf) are device-dependent
+PDF/A files that contain a job ticket information. These files
+are typically produced by the CUPS pdftopdf filter
+which handles job ticket generation, imposition, page labeling,
+scaling, and other formatting options requested by the user. CUPS
+PDF files are intended for direct consumption by a PDF-capable
+printer, PDF RIP, or the pdftops filter.
+
+
More information will be posted here as the PDF workflow
+filters are added to CUPS.
+
+
+
diff --git a/doc/help/spec-raster.html b/doc/help/spec-raster.html
index 8a39e8be8..b3a44a4f9 100644
--- a/doc/help/spec-raster.html
+++ b/doc/help/spec-raster.html
@@ -2,6 +2,7 @@
CUPS Raster Format
+
@@ -37,13 +38,16 @@ is followed immediately by the (uncompressed, raw) raster data
for that page.
-
Table 1: CUPS Version 1 Raster Page Device Dictionary
The following sections describe the encoding and decoding of
+the color values in a CUPS raster file. In general, colors are
+packed into the minimum number of bytes, with special
+consideration provided for efficiency of encoding and access.
+Multi-byte values are stored in the native byte order and
+automatically swapped as needed when reading them using the CUPS
+imaging API.
+
+
CUPS_ORDER_CHUNKED
+
+
The chunked order provides the pixel value packed in a single
+place. Pixel values with 8 or more bits per color are stored as
+an array of colors in order, e.g. for
+CUPS_CSPACE_RGB you will see 8/16-bits of red, then
+blue, then green, then red, green, blue, etc. Pixel values with
+less than 8 bits per color are packed together as shown in Table
+4. Multi-byte pixel values are stored in the native word
+order, just as for 16-bit color values.
The banded order provides each color as a separate line of
+data. Each color plane for a line is written in sequence, e.g.
+for the CUPS_CSPACE_CMYK colorspace you would see
+all of the cyan pixels for a line followed by the magenta,
+yellow, and black pixels for that line. This is repeated for all
+of the lines on the page. Color values are packed starting with
+the most-significant bit (MSB) first.
+
+
CUPS_ORDER_PLANAR
+
+
The planar order provides each color as a separate page of
+data using a shared page header. Each color plane for a page is
+written in sequence, e.g. for the CUPS_CSPACE_CMYK
+colorspace you would see all of the cyan pixels for a page
+followed by the magenta, yellow, and black pixels for that page.
+Color values are packed starting with the most-significant bit
+(MSB) first. Each line starts on an 8-bit boundary.
+
+
CUPS_CSPACE_W, CUPS_CSPACE_RGB, CUPS_CSPACE_RGBA, and
+CUPS_CSPACE_RGBW
+
+
These colorspaces use the sRGB colorspace definition and
+whitepoint.
+
+
CUPS_CSPACE_KCMYcm
+
+
When cupsBitsPerColor is 1, 6 color planes are
+provided - black, cyan, magenta, yellow, light cyan, and light
+magenta. When cupsBitsPerColor is greater than 1, 4
+color planes are provided using the CUPS_CSPACE_KCMY
+colorspace instead.
+
+
When cupsColorOrder is
+CUPS_ORDER_CHUNKED, bit 5 corresponds to black and
+bit 0 corresponds to light magenta. For
+CUPS_ORDER_BANDED and
+CUPS_ORDER_PLANAR, each color plane is encoded
+separately.
+
+
CUPS_CSPACE_CIELab and CUPS_CSPACE_ICCn
+
+
These colorspaces map a CIE Lab color value with a D65
+whitepoint to either a 8- or 16-bit per color chunked
+(CUPS_ORDER_CHUNKED) format; the banded
+(CUPS_ORDER_BANDED) and planar
+(CUPS_ORDER_PLANAR) color orders are not
+supported.
+
+
The values are encoded and decoded using the following
+formulas:
+
+
+
+
8-bit Encoding:
+ L8 = 2.55 * L + 0.5
+ a8 = a + 128.5
+ b8 = b + 128.5
+
+
+
8-bit Decoding:
+ L = L8 / 2.55
+ a = a8 - 128
+ b = b8 - 128
+
16-bit Decoding:
+ L = L16 / 655.35
+ a = a16 / 256 - 128
+ b = b16 / 256 - 128
+
+
+
+
+
CUPS_CSPACE_CIEXYZ
+
+
These colorspaces map a CIE XYZ color value with a D65
+whitepoint to either a 8- or 16-bit per color chunked
+(CUPS_ORDER_CHUNKED) format; the banded
+(CUPS_ORDER_BANDED) and planar
+(CUPS_ORDER_PLANAR) color orders are not
+supported.
+
+
The values are encoded and decoded using the following
+formulas:
+
+
+
+
8-bit Encoding:
+ X8 = 231.8181 * X + 0.5
+ Y8 = 231.8181 * Y + 0.5
+ Z8 = 231.8181 * Z + 0.5
+
+
+
8-bit Decoding:
+ X = X8 / 231.8181
+ Y = Y8 / 231.8181
+ Z = Z8 / 231.8181
+
+
+
16-bit Encoding:
+ X16 = 59577.2727 * X + 0.5
+ Y16 = 59577.2727 * Y + 0.5
+ Z16 = 59577.2727 * Z + 0.5
+
+
+
16-bit Decoding:
+ X = X16 / 59577.2727
+ Y = Y16 / 59577.2727
+ Z = Z16 / 59577.2727
+
+
+
+
+
The scaling factor for XYZ values is 1/1.1, or 231.8181 for
+8-bit values and 59577.2727 for 16-bit values. This allows for a
+slight overflow of XYZ values when converting from RGB, improving
+accuracy.