From: msweet Date: Tue, 9 Aug 2011 21:32:14 +0000 (+0000) Subject: Merge changes from CUPS 1.5.1-r9875. X-Git-Tag: release-1.6.3~40 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=771bd8cbffe1ffb06d90b2c7f00191830e6b738c;p=thirdparty%2Fcups.git Merge changes from CUPS 1.5.1-r9875. git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3363 a1ca3aef-8c08-0410-bb20-df032aa958be --- diff --git a/CHANGES-1.4.txt b/CHANGES-1.4.txt index 9376825a88..09326b2886 100644 --- a/CHANGES-1.4.txt +++ b/CHANGES-1.4.txt @@ -1,6 +1,13 @@ CHANGES-1.4.txt --------------- +CHANGES IN CUPS V1.4.8 + + - The scheduler would delete job data files when restarted (STR #3880) + - The network backends could crash if a printer returned a value of 0 + for the maximum capacity for a supply (STR #3875) + + CHANGES IN CUPS V1.4.7 - Documentation changes (STR #3710, STR #3720, STR #3745, STR #3750, @@ -9,6 +16,7 @@ CHANGES IN CUPS V1.4.7 STR #3755, STR #3769, STR #3783) - Configure script fixes (STR #3659, STR #3691) - Compilation fixes (STR #3718, STR #3771, STR #3774) + - The imageto* filters could crash with bad GIF files (STR #3867) - The scheduler might leave old job data files in the spool directory (STR #3795) - CUPS did not work with locales using the ASCII character set diff --git a/CHANGES.txt b/CHANGES.txt index 0ae200933f..3de675517a 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,40 @@ -CHANGES.txt - 2011-06-14 +CHANGES.txt - 2011-08-06 ------------------------ +CHANGES IN CUPS V1.5.1 + + - Documentation updates (STR #3885) + - The scheduler did not report the correct version in the Server: header + (STR #3903) + - The scheduler did not support 1284 device IDs reported by driver + interface programs longer than 127 characters (STR #3871) + - The image filters did not support loading images larger than the + RIPCache setting (STR #3901) + - "PAGE: total NNN" messages did not get logged properly (STR #3887) + - Updated the PWG Raster support to conform to the current draft of the + PWG Raster Format specification. + - The PWG Raster filter did not always write the correct number of + padding lines on the bottom of the page (STR #3904) + - When reporting a denial-of-service attack from the domain socket, the + address reported does not always contain the correct path (STR #3888) + - Badly formed GIF files could cause the image filters to crash + (STR #3914) + - Jobs canceled at the printer were retried by the IPP backend. + - "cupsfilter -u" deleted the input file instead of the PPD file. + - The scheduler did not compute the cost of PPD filters defined using + the cupsFilter2 keyword properly. + - The scheduler did not correctly support the maxsize() attribute for + PPD filters. + + +CHANGES IN CUPS V1.5.0 + + - Documentation updates. + - Localization update (STR #3865) + - Needed to limit TLS to v1.0 on some versions of Mac OS X. + - The snmp backend did not work with some printers. + + CHANGES IN CUPS V1.5rc1 - Compile fixes (STR #3849, STR #3850) diff --git a/INSTALL.txt b/INSTALL.txt index 06b718db03..a7b5a5869b 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -1,5 +1,5 @@ -INSTALL - CUPS v1.5rc1 - 2011-06-14 ------------------------------------ +INSTALL - CUPS v1.5.0 - 2011-07-25 +---------------------------------- This file describes how to compile and install CUPS from source code. For more information on CUPS see the file called "README.txt". A complete change log can diff --git a/README.txt b/README.txt index 42892ce758..f278e4dec3 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -README - CUPS v1.5rc1 - 2011-06-14 +README - CUPS v1.5.0 - 2011-07-25 ---------------------------------- Looking for compile instructions? Read the file "INSTALL.txt" diff --git a/backend/ipp.c b/backend/ipp.c index 5f39e9acf3..d5e18fefc8 100644 --- a/backend/ipp.c +++ b/backend/ipp.c @@ -1407,6 +1407,8 @@ main(int argc, /* I - Number of command-line args */ goto cleanup; } } + else if (ipp_status == IPP_ERROR_JOB_CANCELED) + goto cleanup; else { /* @@ -1768,7 +1770,7 @@ main(int argc, /* I - Number of command-line args */ else if (ipp_status == IPP_DOCUMENT_FORMAT || ipp_status == IPP_CONFLICT) return (CUPS_BACKEND_FAILED); - else if (ipp_status > IPP_OK_CONFLICT) + else if (ipp_status > IPP_OK_CONFLICT && ipp_status != IPP_ERROR_JOB_CANCELED) return (CUPS_BACKEND_RETRY_CURRENT); else { diff --git a/backend/snmp.c b/backend/snmp.c index c53bf1616a..08ee25e2a1 100644 --- a/backend/snmp.c +++ b/backend/snmp.c @@ -948,7 +948,7 @@ read_snmp_response(int fd) /* I - SNMP socket file descriptor */ debug_printf("DEBUG: request-id=%d\n", packet.request_id); debug_printf("DEBUG: error-status=%d\n", packet.error_status); - if (packet.error_status) + if (packet.error_status && packet.request_id != DEVICE_TYPE) return; /* diff --git a/conf/mime.types b/conf/mime.types index 77944f4bbf..217d75bee9 100644 --- a/conf/mime.types +++ b/conf/mime.types @@ -92,7 +92,7 @@ image/jpeg jpeg jpg jpe string(0,) +\ char(3,0xe4) char(3,0xe5) char(3,0xe6) char(3,0xe7)\ char(3,0xe8) char(3,0xe9) char(3,0xea) char(3,0xeb)\ char(3,0xec) char(3,0xed) char(3,0xee) char(3,0xef)) -image/pwg-raster string(0,"RaS2") + string(356,<0000000000000000>) priority(100) +image/pwg-raster string(0,"RaS2") + string(4,PwgRaster<00>) priority(100) image/tiff tiff tif string(0,MM<002A>) string(0,II<2A00>) image/x-photocd pcd string(2048,PCD_IPI) image/x-portable-anymap pnm diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4 index 4c6c5262f5..7e6d84b302 100644 --- a/config-scripts/cups-common.m4 +++ b/config-scripts/cups-common.m4 @@ -20,7 +20,7 @@ dnl Set the name of the config header file... AC_CONFIG_HEADER(config.h) dnl Version number information... -CUPS_VERSION="1.5rc1" +CUPS_VERSION="1.5.1" 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'`" diff --git a/config-scripts/cups-ssl.m4 b/config-scripts/cups-ssl.m4 index 461d456da1..48012d9264 100644 --- a/config-scripts/cups-ssl.m4 +++ b/config-scripts/cups-ssl.m4 @@ -56,6 +56,12 @@ if test x$enable_ssl != xno; then AC_CHECK_HEADER(Security/SecIdentitySearchPriv.h, AC_DEFINE(HAVE_SECIDENTITYSEARCHPRIV_H)) + dnl Check for SSLSetProtocolVersionMax... + SAVELIBS="$LIBS" + LIBS="$LIBS -framework Security" + AC_CHECK_FUNC(SSLSetProtocolVersionMax) + LIBS="$SAVELIBS" + dnl Check for SecCertificateCopyData.. AC_MSG_CHECKING(for SecCertificateCopyData) if test $uversion -ge 100; then diff --git a/config.h.in b/config.h.in index ee79d88329..188b7527f8 100644 --- a/config.h.in +++ b/config.h.in @@ -342,6 +342,13 @@ #undef HAVE_SECPOLICYCREATESSL +/* + * Do we have the SSLSetProtocolVersionMax function? + */ + +#undef HAVE_SSLSETPROTOCOLVERSIONMAX + + /* * Do we have the cssmErrorString function? */ diff --git a/cups/cups.h b/cups/cups.h index 716533c659..14cb02bba8 100644 --- a/cups/cups.h +++ b/cups/cups.h @@ -60,10 +60,10 @@ extern "C" { * Constants... */ -# define CUPS_VERSION 1.0499 +# define CUPS_VERSION 1.0501 # define CUPS_VERSION_MAJOR 1 # define CUPS_VERSION_MINOR 5 -# define CUPS_VERSION_PATCH -1 +# define CUPS_VERSION_PATCH 1 # define CUPS_BC_FD 3 /* Back-channel file descriptor for select/poll */ # define CUPS_DATE_ANY (time_t)-1 diff --git a/cups/http-addr.c b/cups/http-addr.c index 78f1f8191a..faf7348d2a 100644 --- a/cups/http-addr.c +++ b/cups/http-addr.c @@ -366,7 +366,12 @@ httpAddrString(const http_addr_t *addr, /* I - Address to convert */ #ifdef AF_LOCAL if (addr->addr.sa_family == AF_LOCAL) - strlcpy(s, addr->un.sun_path, slen); + { + if (addr->un.sun_path[0] == '/') + strlcpy(s, addr->un.sun_path, slen); + else + strlcpy(s, "localhost", slen); + } else #endif /* AF_LOCAL */ if (addr->addr.sa_family == AF_INET) diff --git a/cups/http.c b/cups/http.c index 50ebac3570..037efd32e4 100644 --- a/cups/http.c +++ b/cups/http.c @@ -3920,6 +3920,15 @@ http_setup_ssl(http_t *http) /* I - Connection to server */ cg->expired_root, (int)error)); } +# ifdef HAVE_SSLSETPROTOCOLVERSIONMAX + if (!error) + { + error = SSLSetProtocolVersionMax(http->tls, kTLSProtocol1); + DEBUG_printf(("4http_setup_ssl: SSLSetProtocolVersionMax(kTLSProtocol1), " + "error=%d", (int)error)); + } +# endif /* HAVE_SSLSETPROTOCOLVERSIONMAX */ + # ifdef HAVE_SECCERTIFICATECOPYDATA if (!error) { diff --git a/cups/ipp-support.c b/cups/ipp-support.c index 607c2764c4..cbf144dbb7 100644 --- a/cups/ipp-support.c +++ b/cups/ipp-support.c @@ -165,7 +165,8 @@ static char * const ipp_std_ops[] = "Cancel-Jobs", "Cancel-My-Jobs", "Resubmit-Job", - "Close-Job" + "Close-Job", + "Identify-Printer" }, * const ipp_cups_ops[] = { diff --git a/cups/ipp.h b/cups/ipp.h index 1ae9d0d53b..1626cabb28 100644 --- a/cups/ipp.h +++ b/cups/ipp.h @@ -241,6 +241,7 @@ typedef enum ipp_op_e /**** IPP operations ****/ IPP_CANCEL_MY_JOBS, /* Cancel-My-Jobs */ IPP_RESUBMIT_JOB, /* Resubmit-Job */ IPP_CLOSE_JOB, /* Close-Job */ + IPP_IDENTIFY_PRINTER, /* Identify-Printer (proposed IPP JPS3) */ IPP_PRIVATE = 0x4000, /* Reserved @private@ */ CUPS_GET_DEFAULT, /* Get the default printer */ CUPS_GET_PRINTERS, /* Get a list of printers and/or classes */ diff --git a/doc/help/kerberos.html b/doc/help/kerberos.html index 82c9b5ffe0..cb8b88c29d 100644 --- a/doc/help/kerberos.html +++ b/doc/help/kerberos.html @@ -8,11 +8,7 @@

Using Kerberos Authentication

-

CUPS allows you to use a Key Distribution Center (KDC) for authentication -on your local CUPS server and when printing to a remote authenticated queue. -This document describes how to configure CUPS to use Kerberos authentication -and provides links to the MIT help pages for configuring Kerberos on your -systems and network.

+

CUPS allows you to use a Key Distribution Center (KDC) for authentication on your local CUPS server and when printing to a remote authenticated queue. This document describes how to configure CUPS to use Kerberos authentication and provides links to the MIT help pages for configuring Kerberos on your systems and network.

System Requirements

@@ -23,42 +19,31 @@ systems and network.

  • Heimdal Kerberos (any version) or MIT Kerberos (1.6.3 or newer)
  • -
  • Properly configured Domain Name System (DNS) - infrastructure:
      -
    1. DNS server(s) with static IP addresses for all CUPS clients - and servers or configured to allow DHCP updates to the host - addresses
    2. +
    3. Properly configured Domain Name System (DNS) infrastructure (for your servers):
        +
      1. DNS server(s) with static IP addresses for all CUPS servers or configured to allow DHCP updates to the host addresses and
      2. All CUPS clients and servers configured to use the same - DNS server(s)
      3. +DNS server(s).
    4. Properly configured Kerberos infrastructure:
        -
      1. KDC configured to allow CUPS clients and servers to obtain - Service Granting Tickets (SGTs) for the "ipp" service
      2. -
      3. LDAP-based user accounts - both OpenDirectory and - ActiveDirectory provide this with the KDC
      4. -
      5. CUPS clients and servers bound to the KDC and LDAP - server(s)
      6. +
      7. KDC configured to allow CUPS servers to obtain Service Granting Tickets (SGTs) for the "host" service,
      8. +
      9. LDAP-based user accounts - both OpenDirectory and ActiveDirectory provide this with the KDC, and
      10. +
      11. CUPS clients and servers bound to the same KDC and LDAP + server(s).
    5. -
    6. An "ipp" Service Granting Ticket (SGT) for every CUPS client and - server
    7. +
    8. A "host" Service Granting Ticket (SGT) for every CUPS server

    Configuring Kerberos on Your System

    -

    Before you can use Kerberos with CUPS, you will need to configure -Kerberos on your system and setup a system as a KDC. Because this -configuration is highly system and site-specific, please consult -the following on-line resources provided by the creators of Kerberos -at the Massachusetts Institute of Technology (MIT):

    +

    Before you can use Kerberos with CUPS, you will need to configure Kerberos on your system and setup a system as a KDC. Because this configuration is highly system and site-specific, please consult the following on-line resources provided by the creators of Kerberos at the Massachusetts Institute of Technology (MIT):

    "); - toclevel --; - } - - while (toclevel < level) - { - cupsFilePuts(outfile, "\n"); - toclevel --; - } - - cupsFilePutChar(outfile, '\n'); - intoc = 0; - } - - if (inpre) - { - cupsFilePuts(outfile, "\n"); - inpre = 0; - } - - strlcpy(name, line, sizeof(name)); - for (nameptr = name, level = 1; *nameptr;) - if (isdigit(*nameptr & 255)) - { - while (isdigit(*nameptr & 255)) - nameptr ++; - - level ++; - } - else if (*nameptr == ' ') - { - *nameptr = '\0'; - break; - } - else - nameptr ++; - - cupsFilePrintf(outfile, "\n", level, - name); - put_line(outfile, line); - - intoc = 0; - inheading = level; - } - else - { - if (intoc) - { - while (toclevel > 0) - { - cupsFilePuts(outfile, "\n"); - toclevel --; - } - - cupsFilePutChar(outfile, '\n'); - intoc = 0; - } - - if (!inheading) - { - cupsFilePuts(outfile, "\n

    "); - inheading = -1; - } - - put_line(outfile, line); - - intoc = !_cups_strcasecmp(line, "Table of Contents"); - toclevel = 0; - } - } - - if (inpre) - cupsFilePuts(outfile, "\n"); - - if (inheading) - { - if (inheading < 0) - cupsFilePuts(outfile, "

    \n"); - else - cupsFilePrintf(outfile, "
    \n", inheading); - } - - cupsFilePuts(outfile, "\n" - "\n"); - - /* - * Close files... - */ - - cupsFileClose(infile); - cupsFileClose(outfile); - - /* - * Return with no errors... - */ - - return (0); -} - - -/* - * 'put_entity()' - Put a single character, using entities as needed. - */ - -void -put_entity(cups_file_t *fp, /* I - File */ - int ch) /* I - Character */ -{ - if (ch == '&') - cupsFilePuts(fp, "&"); - else if (ch == '<') - cupsFilePuts(fp, "<"); - else - cupsFilePutChar(fp, ch); -} - - -/* - * 'put_line()' - Put a whole string for a line. - */ - -void -put_line(cups_file_t *fp, /* I - File */ - const char *s) /* I - String */ -{ - int whitespace, /* Saw whitespace */ - i, /* Looping var */ - len; /* Length of keyword */ - static const char * const keywords[] =/* Special keywords to boldface */ - { - "MAY", - "MUST", - "NEED", - "NOT", - "OPTIONAL", - "OPTIONALLY", - "RECOMMENDED", - "REQUIRED", - "SHALL", - "SHOULD" - }; - - - whitespace = 1; - - while (*s) - { - if (*s == ' ') - whitespace = 1; - - if (whitespace && isupper(*s & 255)) - { - whitespace = 0; - - for (i = 0; i < (int)(sizeof(keywords) / sizeof(sizeof(keywords[0]))); i ++) - { - len = strlen(keywords[i]); - if (!strncmp(s, keywords[i], len) && - (isspace(s[len] & 255) || ispunct(s[len] & 255) || !*s)) - { - cupsFilePrintf(fp, "%s", keywords[i]); - s += len; - break; - } - } - - if (i >= (int)(sizeof(keywords) / sizeof(sizeof(keywords[0])))) - put_entity(fp, *s++); - } - else - { - if (*s != ' ') - whitespace = 0; - - put_entity(fp, *s++); - } - } -} - - -/* - * End of "$Id: rfctohtml.c 6649 2007-07-11 21:46:42Z mike $". - */ diff --git a/standards/wake-on-lan.pdf b/standards/wake-on-lan.pdf deleted file mode 100644 index 07d97f4439..0000000000 Binary files a/standards/wake-on-lan.pdf and /dev/null differ diff --git a/standards/wd-ippmailto10-20050519.pdf b/standards/wd-ippmailto10-20050519.pdf deleted file mode 100644 index 1ec8c996f0..0000000000 Binary files a/standards/wd-ippmailto10-20050519.pdf and /dev/null differ diff --git a/tools/makesrcdist b/tools/makesrcdist index 7977d4b646..4d672d96fb 100755 --- a/tools/makesrcdist +++ b/tools/makesrcdist @@ -54,7 +54,6 @@ cd .. echo Configuring... autoconf -f rm -rf autom4te*.cache -rm -rf standards rm -rf tools cd ..