From 71f63681cba59bc6f33e1a1c018de44635538b47 Mon Sep 17 00:00:00 2001
From: Michael Sweet
Date: Tue, 15 Mar 2016 10:37:10 -0400
Subject: [PATCH] Import CUPS v1.7.2
---
CHANGES-IPPTOOL.txt | 7 +-
CHANGES.txt | 48 +-
INSTALL.txt | 2 +-
IPPTOOL.txt | 4 +-
README.txt | 4 +-
backend/dnssd.c | 15 +-
backend/ipp.c | 40 +-
backend/usb-darwin.c | 79 +-
cgi-bin/template.c | 6 +-
config-scripts/cups-common.m4 | 30 +-
config-scripts/cups-compiler.m4 | 18 +-
config-scripts/cups-gssapi.m4 | 41 +-
config.h.in | 5 +-
configure | 82 +-
cups/api-filter.header | 2 +-
cups/api-filter.shtml | 105 +-
cups/cups.h | 26 +-
cups/dest.c | 43 +-
cups/encode.c | 14 +-
cups/file-private.h | 6 +-
cups/file.c | 6 +-
cups/file.h | 6 +-
cups/http-addr.c | 6 +-
cups/http-addrlist.c | 7 +-
cups/http.c | 50 +-
cups/ipp-support.c | 14 +-
cups/ipp.h | 32 +-
cups/request.c | 6 +-
cups/sspi.c | 41 +-
cups/thread-private.h | 6 +-
cups/thread.c | 6 +-
cups/usersys.c | 11 +-
doc/de/index.html.in | 107 +
doc/help/api-filter.html | 107 +-
doc/help/api-httpipp.html | 8 +-
doc/help/man-cupsfilter.html | 9 +-
doc/help/man-ipptool.html | 20 +-
doc/help/man-ipptoolfile.html | 15 +-
filter/interpret.c | 10 +-
filter/rastertolabel.c | 25 +-
locale/cups.pot | 952 +-
locale/cups.strings | 1 +
locale/cups_ca.po | 5 +-
locale/cups_de.po | 8739 +++++++++++++++++
locale/cups_es.po | 5 +-
locale/cups_fr.po | 5 +-
locale/cups_it.po | 2305 +----
locale/cups_ja.po | 1897 +---
locale/cups_ru.po | 5 +-
man/cupsfilter.man | 29 +-
man/ipptool.man | 30 +-
man/ipptoolfile.man | 35 +-
packaging/cups.spec | 12 +-
packaging/cups.spec.in | 8 +-
scheduler/client.c | 73 +-
scheduler/cups-lpd.c | 46 +-
scheduler/cupsfilter.c | 61 +-
scheduler/dirsvc.c | 700 +-
scheduler/ipp.c | 112 +-
scheduler/main.c | 55 +-
scheduler/policy.c | 50 +-
scheduler/printers.c | 88 +-
templates/de/add-class.tmpl | 40 +
templates/de/add-printer.tmpl | 52 +
templates/de/add-rss-subscription.tmpl | 44 +
templates/de/admin.tmpl | 110 +
templates/de/choose-device.tmpl | 53 +
templates/de/choose-make.tmpl | 68 +
templates/de/choose-model.tmpl | 65 +
templates/de/choose-serial.tmpl | 52 +
templates/de/choose-uri.tmpl | 44 +
templates/de/class-added.tmpl | 8 +
templates/de/class-confirm.tmpl | 10 +
templates/de/class-deleted.tmpl | 7 +
templates/de/class-jobs-header.tmpl | 3 +
templates/de/class-modified.tmpl | 8 +
templates/de/class.tmpl | 44 +
templates/de/classes-header.tmpl | 1 +
templates/de/classes.tmpl | 11 +
templates/de/command.tmpl | 12 +
templates/de/edit-config.tmpl | 24 +
templates/de/error-op.tmpl | 9 +
templates/de/error.tmpl | 9 +
templates/de/header.tmpl.in | 38 +
templates/de/help-header.tmpl | 51 +
templates/de/help-printable.tmpl | 9 +
templates/de/help-trailer.tmpl | 1 +
templates/de/job-cancel.tmpl | 7 +
templates/de/job-hold.tmpl | 7 +
templates/de/job-move.tmpl | 27 +
templates/de/job-moved.tmpl | 8 +
templates/de/job-release.tmpl | 7 +
templates/de/job-restart.tmpl | 7 +
templates/de/jobs-header.tmpl | 5 +
templates/de/jobs.tmpl | 37 +
templates/de/list-available-printers.tmpl | 11 +
templates/de/modify-class.tmpl | 34 +
templates/de/modify-printer.tmpl | 46 +
templates/de/norestart.tmpl | 8 +
templates/de/option-boolean.tmpl | 6 +
templates/de/option-conflict.tmpl | 7 +
templates/de/option-header.tmpl | 5 +
templates/de/option-pickmany.tmpl | 6 +
templates/de/option-pickone.tmpl | 18 +
templates/de/option-trailer.tmpl | 5 +
templates/de/pager.tmpl | 6 +
templates/de/printer-accept.tmpl | 9 +
templates/de/printer-added.tmpl | 8 +
templates/de/printer-configured.tmpl | 8 +
templates/de/printer-confirm.tmpl | 10 +
templates/de/printer-default.tmpl | 13 +
templates/de/printer-deleted.tmpl | 7 +
templates/de/printer-jobs-header.tmpl | 3 +
templates/de/printer-modified.tmpl | 8 +
templates/de/printer-purge.tmpl | 9 +
templates/de/printer-reject.tmpl | 9 +
templates/de/printer-start.tmpl | 9 +
templates/de/printer-stop.tmpl | 9 +
templates/de/printer.tmpl | 49 +
templates/de/printers-header.tmpl | 1 +
templates/de/printers.tmpl | 11 +
templates/de/replace-ppd.tmpl | 40 +
templates/de/restart.tmpl | 8 +
templates/de/samba-export.tmpl | 55 +
templates/de/samba-exported.tmpl | 1 +
templates/de/search.tmpl | 10 +
templates/de/set-printer-options-header.tmpl | 26 +
templates/de/set-printer-options-trailer.tmpl | 16 +
templates/de/subscription-added.tmpl | 5 +
templates/de/subscription-canceled.tmpl | 5 +
templates/de/test-page.tmpl | 8 +
templates/de/trailer.tmpl | 8 +
templates/de/users.tmpl | 30 +
templates/ja/jobs-header.tmpl | 2 +-
test/ipptool.c | 48 +-
vcnet/ipptool-installer.vdproj | 52 +-
vcnet/setdebug.bat | 2 +-
137 files changed, 12515 insertions(+), 5276 deletions(-)
create mode 100644 doc/de/index.html.in
create mode 100644 locale/cups_de.po
create mode 100644 templates/de/add-class.tmpl
create mode 100644 templates/de/add-printer.tmpl
create mode 100644 templates/de/add-rss-subscription.tmpl
create mode 100644 templates/de/admin.tmpl
create mode 100644 templates/de/choose-device.tmpl
create mode 100644 templates/de/choose-make.tmpl
create mode 100644 templates/de/choose-model.tmpl
create mode 100644 templates/de/choose-serial.tmpl
create mode 100644 templates/de/choose-uri.tmpl
create mode 100644 templates/de/class-added.tmpl
create mode 100644 templates/de/class-confirm.tmpl
create mode 100644 templates/de/class-deleted.tmpl
create mode 100644 templates/de/class-jobs-header.tmpl
create mode 100644 templates/de/class-modified.tmpl
create mode 100644 templates/de/class.tmpl
create mode 100644 templates/de/classes-header.tmpl
create mode 100644 templates/de/classes.tmpl
create mode 100644 templates/de/command.tmpl
create mode 100644 templates/de/edit-config.tmpl
create mode 100644 templates/de/error-op.tmpl
create mode 100644 templates/de/error.tmpl
create mode 100644 templates/de/header.tmpl.in
create mode 100644 templates/de/help-header.tmpl
create mode 100644 templates/de/help-printable.tmpl
create mode 100644 templates/de/help-trailer.tmpl
create mode 100644 templates/de/job-cancel.tmpl
create mode 100644 templates/de/job-hold.tmpl
create mode 100644 templates/de/job-move.tmpl
create mode 100644 templates/de/job-moved.tmpl
create mode 100644 templates/de/job-release.tmpl
create mode 100644 templates/de/job-restart.tmpl
create mode 100644 templates/de/jobs-header.tmpl
create mode 100644 templates/de/jobs.tmpl
create mode 100644 templates/de/list-available-printers.tmpl
create mode 100644 templates/de/modify-class.tmpl
create mode 100644 templates/de/modify-printer.tmpl
create mode 100644 templates/de/norestart.tmpl
create mode 100644 templates/de/option-boolean.tmpl
create mode 100644 templates/de/option-conflict.tmpl
create mode 100644 templates/de/option-header.tmpl
create mode 100644 templates/de/option-pickmany.tmpl
create mode 100644 templates/de/option-pickone.tmpl
create mode 100644 templates/de/option-trailer.tmpl
create mode 100644 templates/de/pager.tmpl
create mode 100644 templates/de/printer-accept.tmpl
create mode 100644 templates/de/printer-added.tmpl
create mode 100644 templates/de/printer-configured.tmpl
create mode 100644 templates/de/printer-confirm.tmpl
create mode 100644 templates/de/printer-default.tmpl
create mode 100644 templates/de/printer-deleted.tmpl
create mode 100644 templates/de/printer-jobs-header.tmpl
create mode 100644 templates/de/printer-modified.tmpl
create mode 100644 templates/de/printer-purge.tmpl
create mode 100644 templates/de/printer-reject.tmpl
create mode 100644 templates/de/printer-start.tmpl
create mode 100644 templates/de/printer-stop.tmpl
create mode 100644 templates/de/printer.tmpl
create mode 100644 templates/de/printers-header.tmpl
create mode 100644 templates/de/printers.tmpl
create mode 100644 templates/de/replace-ppd.tmpl
create mode 100644 templates/de/restart.tmpl
create mode 100644 templates/de/samba-export.tmpl
create mode 100644 templates/de/samba-exported.tmpl
create mode 100644 templates/de/search.tmpl
create mode 100644 templates/de/set-printer-options-header.tmpl
create mode 100644 templates/de/set-printer-options-trailer.tmpl
create mode 100644 templates/de/subscription-added.tmpl
create mode 100644 templates/de/subscription-canceled.tmpl
create mode 100644 templates/de/test-page.tmpl
create mode 100644 templates/de/trailer.tmpl
create mode 100644 templates/de/users.tmpl
diff --git a/CHANGES-IPPTOOL.txt b/CHANGES-IPPTOOL.txt
index 15066ae1d..cc42e2b0f 100644
--- a/CHANGES-IPPTOOL.txt
+++ b/CHANGES-IPPTOOL.txt
@@ -1,9 +1,14 @@
-CHANGES-IPPTOOL.txt - 2013-07-15
+CHANGES-IPPTOOL.txt - 2014-03-28
--------------------------------
This file provides a list of changes to the ipptool binary distribution posted
on cups.org.
+2014-03-28
+
+ - Fixed SSL support on Windows (STR #4358)
+
+
2013-07-15
- New ippfind tool now included with ipptool.
diff --git a/CHANGES.txt b/CHANGES.txt
index a47e89585..d6cf7a691 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,52 @@
-CHANGES.txt - 1.7.1 - 2014-01-08
+CHANGES.txt - 1.7.2 - 2014-04-10
--------------------------------
+CHANGES IN CUPS V1.7.2
+
+ - Security: The scheduler now blocks URLs containing embedded HTML
+ (STR #4356)
+ - Documentation fixes (STR #3259, STR #4346, STR #4355)
+ - Fixed the Japanese localization (STR #4385)
+ - Added a German localization (STR #4363)
+ - The cupsfilter command incorrectly read the cupsd.conf file; it now
+ reads the cups-files.conf file instead.
+ - Fixed OS X builds with Xcode 5.x ()
+ - Fixed SSL support on Windows (STR #4358)
+ - Fixed documentation and naming of Create-Job/Printer-Subscriptions
+ operations (STR #4389)
+ - Phone numbers in fax jobs were not properly filtered for IPP FaxOut
+ ()
+ - Fixed a memory leak in the label printer driver (STR #4393)
+ - Updated Linux "relro" support (STR #4349)
+ - cupsEnumDests did not set the "is_default" field (STR #4332)
+ - cupsDoIORequest could miss the server status, causing failed lpadmin
+ and other administrative commands (STR #4386)
+ - cupsEnumDests didn't always call the callback function (STR #4380)
+ - "lp -i job-id -H hold" did not work (STR #nnn)
+ - CUPS didn't compile on older platforms (STR #4338)
+ - Several libcups files did not have the Apple license exception
+ notice (STR #4361)
+ - Fixed a D-BUS threading issue that caused the scheduler to crash
+ (STR #4347)
+ - The scheduler now automatically reconnects to Avahi as needed
+ (STR #4370, STR #4373)
+ - The scheduler did not handle GET requests for the log files properly
+ (STR #3265)
+ - The dnssd backend did not always report all discovered printers using
+ Avahi (STR #4365)
+ - The Zebra printer driver did not properly handle negative "label top"
+ values (STR #4354)
+ - The scheduler did not always update the MakeModel value in
+ printers.conf after updating the driver (STR #4264)
+ - The LPD mini daemon did not support print jobs larger than 2GB
+ (STR #4351)
+ - Fixed a bug in the status reading code when sending a compressed data
+ stream to an IPP printer/server ()
+ - The IPP backend might not include all job attributes in Validate-Job
+ operations ()
+ - Fixed some clang-reported issues ()
+
+
CHANGES IN CUPS V1.7.1
- Security: the lppasswd program incorrectly used settings from
diff --git a/INSTALL.txt b/INSTALL.txt
index 27797678d..713639944 100644
--- a/INSTALL.txt
+++ b/INSTALL.txt
@@ -1,4 +1,4 @@
-INSTALL - CUPS v1.7.1 - 2014-01-08
+INSTALL - CUPS v1.7.2 - 2014-04-10
----------------------------------
This file describes how to compile and install CUPS from source code. For more
diff --git a/IPPTOOL.txt b/IPPTOOL.txt
index 2293a45e2..f8a008bef 100644
--- a/IPPTOOL.txt
+++ b/IPPTOOL.txt
@@ -1,4 +1,4 @@
-IPPTOOL.txt - 2013-07-15
+IPPTOOL.txt - 2014-04-10
------------------------
See the file CHANGES-IPPTOOL.txt for a list of changes to this software.
@@ -220,7 +220,7 @@ REPORTING BUGS
LEGAL STUFF
- CUPS is Copyright 2007-2013 by Apple Inc. CUPS and the CUPS logo are
+ CUPS is Copyright 2007-2014 by Apple Inc. CUPS and the CUPS logo are
trademarks of Apple Inc.
The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
diff --git a/README.txt b/README.txt
index 70f10e775..5749a0746 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-README - CUPS v1.7.1 - 2014-01-08
+README - CUPS v1.7.2 - 2014-04-10
---------------------------------
Looking for compile instructions? Read the file "INSTALL.txt" instead...
@@ -149,7 +149,7 @@ PRINTING FILES
LEGAL STUFF
- CUPS is Copyright 2007-2013 by Apple Inc. CUPS and the CUPS logo are
+ CUPS is Copyright 2007-2014 by Apple Inc. CUPS and the CUPS logo are
trademarks of Apple Inc.
The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
diff --git a/backend/dnssd.c b/backend/dnssd.c
index 916b890b3..f5c0a21e4 100644
--- a/backend/dnssd.c
+++ b/backend/dnssd.c
@@ -1,5 +1,5 @@
/*
- * "$Id: dnssd.c 4074 2012-12-12 20:54:21Z msweet $"
+ * "$Id: dnssd.c 11623 2014-02-19 20:18:10Z msweet $"
*
* DNS-SD discovery backend for CUPS.
*
@@ -95,6 +95,7 @@ static int job_canceled = 0;
static AvahiSimplePoll *simple_poll = NULL;
/* Poll information */
static int got_data = 0; /* Got data from poll? */
+static int browsers = 0; /* Number of running browsers */
#endif /* HAVE_AVAHI */
@@ -345,6 +346,7 @@ main(int argc, /* I - Number of command-line args */
return (1);
}
+ browsers = 6;
avahi_service_browser_new(client, AVAHI_IF_UNSPEC,
AVAHI_PROTO_UNSPEC,
"_fax-ipp._tcp", NULL, 0,
@@ -558,7 +560,11 @@ main(int argc, /* I - Number of command-line args */
fprintf(stderr, "DEBUG: sent=%d, count=%d\n", sent, count);
+#ifdef HAVE_AVAHI
+ if (sent == cupsArrayCount(devices) && browsers == 0)
+#else
if (sent == cupsArrayCount(devices))
+#endif /* HAVE_AVAHI */
break;
}
}
@@ -710,9 +716,12 @@ browse_callback(
break;
case AVAHI_BROWSER_REMOVE:
- case AVAHI_BROWSER_ALL_FOR_NOW:
case AVAHI_BROWSER_CACHE_EXHAUSTED:
break;
+
+ case AVAHI_BROWSER_ALL_FOR_NOW:
+ browsers--;
+ break;
}
}
@@ -1320,5 +1329,5 @@ unquote(char *dst, /* I - Destination buffer */
/*
- * End of "$Id: dnssd.c 4074 2012-12-12 20:54:21Z msweet $".
+ * End of "$Id: dnssd.c 11623 2014-02-19 20:18:10Z msweet $".
*/
diff --git a/backend/ipp.c b/backend/ipp.c
index 22a350c9c..299d8c29b 100644
--- a/backend/ipp.c
+++ b/backend/ipp.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ipp.c 11495 2013-12-22 05:29:16Z msweet $"
+ * "$Id: ipp.c 11779 2014-03-28 20:48:44Z msweet $"
*
* IPP backend for CUPS.
*
@@ -2877,19 +2877,39 @@ new_request(
if ((keyword = cupsGetOption("phone", num_options, options)) != NULL)
{
ipp_t *destination; /* destination collection */
- char tel_uri[1024]; /* tel: URI */
+ char phone[1024], /* Phone number string */
+ *ptr, /* Pointer into string */
+ tel_uri[1024]; /* tel: URI */
+ static const char * const allowed = "0123456789#*-+.()";
+ /* Allowed characters */
destination = ippNew();
- httpAssembleURI(HTTP_URI_CODING_ALL, tel_uri, sizeof(tel_uri), "tel",
- NULL, NULL, 0, keyword);
- ippAddString(destination, IPP_TAG_JOB, IPP_TAG_URI, "destination-uri",
- NULL, tel_uri);
+ /*
+ * Unescape and filter out spaces and other characters that are not
+ * allowed in a tel: URI.
+ */
+
+ _httpDecodeURI(phone, keyword, sizeof(phone));
+ for (ptr = phone; *ptr;)
+ {
+ if (!strchr(allowed, *ptr))
+ _cups_strcpy(ptr, ptr + 1);
+ else
+ ptr ++;
+ }
+
+ httpAssembleURI(HTTP_URI_CODING_ALL, tel_uri, sizeof(tel_uri), "tel", NULL, NULL, 0, phone);
+ ippAddString(destination, IPP_TAG_JOB, IPP_TAG_URI, "destination-uri", NULL, tel_uri);
if ((keyword = cupsGetOption("faxPrefix", num_options,
options)) != NULL && *keyword)
- ippAddString(destination, IPP_TAG_JOB, IPP_TAG_TEXT,
- "pre-dial-string", NULL, keyword);
+ {
+ char predial[1024]; /* Pre-dial string */
+
+ _httpDecodeURI(predial, keyword, sizeof(predial));
+ ippAddString(destination, IPP_TAG_JOB, IPP_TAG_TEXT, "pre-dial-string", NULL, predial);
+ }
ippAddCollection(request, IPP_TAG_JOB, "destination-uris", destination);
ippDelete(destination);
@@ -2985,6 +3005,8 @@ password_cb(const char *prompt, /* I - Prompt (not used) */
{
(*password_tries) ++;
+ cupsSetUser(username);
+
return (password);
}
else
@@ -3680,5 +3702,5 @@ update_reasons(ipp_attribute_t *attr, /* I - printer-state-reasons or NULL */
}
/*
- * End of "$Id: ipp.c 11495 2013-12-22 05:29:16Z msweet $".
+ * End of "$Id: ipp.c 11779 2014-03-28 20:48:44Z msweet $".
*/
diff --git a/backend/usb-darwin.c b/backend/usb-darwin.c
index 15f074e9e..8c693d53b 100644
--- a/backend/usb-darwin.c
+++ b/backend/usb-darwin.c
@@ -1,7 +1,7 @@
/*
-* "$Id: usb-darwin.c 10996 2013-05-29 11:51:34Z msweet $"
+* "$Id: usb-darwin.c 11670 2014-03-04 14:53:59Z msweet $"
*
-* Copyright 2005-2013 Apple Inc. All rights reserved.
+* Copyright 2005-2014 Apple Inc. All rights reserved.
*
* IMPORTANT: This Apple software is supplied to you by Apple Computer,
* Inc. ("Apple") in consideration of your agreement to the following
@@ -40,35 +40,6 @@
* AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
* STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
-*
-* Contents:
-*
- * list_devices() - List all USB devices.
- * print_device() - Print a file to a USB device.
- * read_thread() - Thread to read the backchannel data on.
- * sidechannel_thread() - Handle side-channel requests.
- * iterate_printers() - Iterate over all the printers.
- * device_added() - Device added notifier.
- * list_device_cb() - list_device iterator callback.
- * find_device_cb() - print_device iterator callback.
- * status_timer_cb() - Status timer callback.
- * copy_deviceinfo() - Copy strings from the 1284 device ID.
- * release_deviceinfo() - Release deviceinfo strings.
- * load_classdriver() - Load a classdriver.
- * unload_classdriver() - Unload a classdriver.
- * load_printerdriver() - Load vendor's classdriver.
- * registry_open() - Open a connection to the printer.
- * registry_close() - Close the connection to the printer.
- * copy_deviceid() - Copy the 1284 device id string.
- * copy_devicestring() - Copy the 1284 device id string.
- * copy_value_for_key() - Copy value string associated with a key.
- * cfstr_create_trim() - Create CFString and trim whitespace characters.
- * parse_options() - Parse URI options.
- * sigterm_handler() - SIGTERM handler.
- * next_line() - Find the next line in a buffer.
- * parse_pserror() - Scan the backchannel data for postscript errors.
- * soft_reset() - Send a soft reset to the device.
- * get_device_id() - Return IEEE-1284 device ID.
*/
/*
@@ -97,7 +68,7 @@
#include
#include
#include
-
+#include
#include
#include
@@ -309,6 +280,9 @@ static void release_deviceinfo(CFStringRef *make, CFStringRef *model, CFStringRe
static void setup_cfLanguage(void);
static void soft_reset(void);
static void status_timer_cb(CFRunLoopTimerRef timer, void *info);
+static void log_usb_class_driver(int is_64bit);
+#define IS_64BIT 1
+#define IS_NOT_64BIT 0
#if defined(__i386__) || defined(__x86_64__)
static pid_t child_pid; /* Child PID */
@@ -477,6 +451,11 @@ print_device(const char *uri, /* I - Device URI */
return (CUPS_BACKEND_STOP);
}
+#ifdef __x86_64__
+ if (status == noErr && driverBundlePath != NULL && CFStringCompare(driverBundlePath, kUSBGenericTOPrinterClassDriver, 0) != kCFCompareEqualTo)
+ log_usb_class_driver(IS_64BIT);
+#endif /* __x86_64__ */
+
if (driverBundlePath)
CFRelease(driverBundlePath);
@@ -1607,7 +1586,7 @@ static OSStatus copy_deviceid(classdriver_t **classdriver,
CFStringRef deviceMake = NULL;
CFStringRef deviceModel = NULL;
CFStringRef deviceSerial = NULL;
-
+
*deviceID = NULL;
OSStatus err = (*classdriver)->GetDeviceID(classdriver, &devID, DEFAULT_TIMEOUT);
@@ -1682,13 +1661,13 @@ static OSStatus copy_deviceid(classdriver_t **classdriver,
CFRange range = (deviceSerial != NULL ? CFStringFind(deviceSerial, CFSTR("+"), 0) : CFRangeMake(0, 0));
if (range.length == 1) {
range = CFStringFind(*deviceID, deviceSerial, 0);
-
+
CFMutableStringRef deviceIDString = CFStringCreateMutableCopy(NULL, 0, *deviceID);
CFStringFindAndReplace(deviceIDString, CFSTR("+"), CFSTR(""), range, 0);
CFRelease(*deviceID);
*deviceID = deviceIDString;
}
-
+
release_deviceinfo(&deviceMake, &deviceModel, &deviceSerial);
return err;
@@ -1976,6 +1955,8 @@ static void run_legacy_backend(int argc,
if (!usb_legacy_status)
{
+ log_usb_class_driver(IS_NOT_64BIT);
+
/*
* Setup a SIGTERM handler then block it before forking...
*/
@@ -2338,6 +2319,32 @@ static void get_device_id(cups_sc_status_t *status,
}
+static void
+log_usb_class_driver(int is_64bit) /* I - Is the USB class driver 64-bit? */
+{
+ /*
+ * Report the usage of legacy USB class drivers to Apple if the user opts into providing
+ * feedback to Apple...
+ */
+
+ aslmsg aslm = asl_new(ASL_TYPE_MSG);
+ if (aslm)
+ {
+ ppd_file_t *ppd = ppdOpenFile(getenv("PPD"));
+ const char *make_model = ppd ? ppd->nickname : NULL;
+ ppd_attr_t *version = ppdFindAttr(ppd, "FileVersion", "");
+
+ asl_set(aslm, "com.apple.message.domain", "com.apple.printing.usb.64bit");
+ asl_set(aslm, "com.apple.message.result", is_64bit ? "yes" : "no");
+ asl_set(aslm, "com.apple.message.signature", make_model ? make_model : "Unknown");
+ asl_set(aslm, "com.apple.message.signature2", version ? version->value : "?.?");
+ asl_set(aslm, "com.apple.message.summarize", "YES");
+ asl_log(NULL, aslm, ASL_LEVEL_NOTICE, "");
+ asl_free(aslm);
+ }
+}
+
+
/*
- * End of "$Id: usb-darwin.c 10996 2013-05-29 11:51:34Z msweet $".
+ * End of "$Id: usb-darwin.c 11670 2014-03-04 14:53:59Z msweet $".
*/
diff --git a/cgi-bin/template.c b/cgi-bin/template.c
index 0a71653fd..bc350a386 100644
--- a/cgi-bin/template.c
+++ b/cgi-bin/template.c
@@ -1,5 +1,5 @@
/*
- * "$Id: template.c 10996 2013-05-29 11:51:34Z msweet $"
+ * "$Id: template.c 11688 2014-03-05 21:11:32Z msweet $"
*
* CGI template function.
*
@@ -553,7 +553,7 @@ cgi_copy(FILE *out, /* I - Output file */
if (regcomp(&re, compare, REG_EXTENDED | REG_ICASE))
{
fprintf(stderr,
- "ERROR: Unable to compile regular expresion \"%s\"!\n",
+ "ERROR: Unable to compile regular expression \"%s\"!\n",
compare);
result = 0;
}
@@ -729,5 +729,5 @@ cgi_puturi(const char *s, /* I - String to output */
/*
- * End of "$Id: template.c 10996 2013-05-29 11:51:34Z msweet $".
+ * End of "$Id: template.c 11688 2014-03-05 21:11:32Z msweet $".
*/
diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4
index a32b0e3e1..abeec86f5 100644
--- a/config-scripts/cups-common.m4
+++ b/config-scripts/cups-common.m4
@@ -1,16 +1,16 @@
dnl
dnl "$Id: cups-common.m4 8781 2009-08-28 17:34:54Z mike $"
dnl
-dnl Common configuration stuff for CUPS.
+dnl Common configuration stuff for CUPS.
dnl
-dnl Copyright 2007-2013 by Apple Inc.
-dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
+dnl Copyright 2007-2014 by Apple Inc.
+dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
dnl
-dnl These coded instructions, statements, and computer programs are the
-dnl property of Apple Inc. and are protected by Federal copyright
-dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
-dnl which should have been included with this file. If this file is
-dnl file is missing or damaged, see the license at "http://www.cups.org/".
+dnl These coded instructions, statements, and computer programs are the
+dnl property of Apple Inc. and are protected by Federal copyright
+dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
+dnl which should have been included with this file. If this file is
+dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
dnl We need at least autoconf 2.60...
@@ -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.7.1
+CUPS_VERSION=1.7.2
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'`"
@@ -303,16 +303,11 @@ fi
LIBS="$SAVELIBS"
dnl Check for DBUS support
-if test -d /etc/dbus-1; then
- DBUSDIR="/etc/dbus-1"
-else
- DBUSDIR=""
-fi
-
AC_ARG_ENABLE(dbus, [ --disable-dbus build without DBUS support])
AC_ARG_WITH(dbusdir, [ --with-dbusdir set DBUS configuration directory ],
DBUSDIR="$withval")
+DBUSDIR=""
DBUS_NOTIFIER=""
DBUS_NOTIFIERLIBS=""
@@ -329,7 +324,12 @@ if test "x$enable_dbus" != xno -a "x$PKGCONFIG" != x; then
LIBS="$LIBS $DBUS_NOTIFIERLIBS"
AC_CHECK_FUNC(dbus_message_iter_init_append,
AC_DEFINE(HAVE_DBUS_MESSAGE_ITER_INIT_APPEND))
+ AC_CHECK_FUNC(dbus_threads_init,
+ AC_DEFINE(HAVE_DBUS_THREADS_INIT))
LIBS="$SAVELIBS"
+ if test -d /etc/dbus-1; then
+ DBUSDIR="/etc/dbus-1"
+ fi
else
AC_MSG_RESULT(no)
fi
diff --git a/config-scripts/cups-compiler.m4 b/config-scripts/cups-compiler.m4
index 252f2aa25..19a08f8db 100644
--- a/config-scripts/cups-compiler.m4
+++ b/config-scripts/cups-compiler.m4
@@ -1,16 +1,16 @@
dnl
dnl "$Id: cups-compiler.m4 7871 2008-08-27 21:12:43Z mike $"
dnl
-dnl Compiler stuff for CUPS.
+dnl Compiler stuff for CUPS.
dnl
-dnl Copyright 2007-2013 by Apple Inc.
-dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
+dnl Copyright 2007-2014 by Apple Inc.
+dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
dnl
-dnl These coded instructions, statements, and computer programs are the
-dnl property of Apple Inc. and are protected by Federal copyright
-dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
-dnl which should have been included with this file. If this file is
-dnl file is missing or damaged, see the license at "http://www.cups.org/".
+dnl These coded instructions, statements, and computer programs are the
+dnl property of Apple Inc. and are protected by Federal copyright
+dnl law. Distribution and use rights are outlined in the file "LICENSE.txt"
+dnl which should have been included with this file. If this file is
+dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
dnl Clear the debugging and non-shared library options unless the user asks
@@ -185,7 +185,7 @@ if test -n "$GCC"; then
# The -z relro option is provided by the Linux linker command to
# make relocatable data read-only.
if test x$enable_relro = xyes; then
- RELROFLAGS="-Wl,-z,relro"
+ RELROFLAGS="-Wl,-z,relro,-z,now"
fi
;;
esac
diff --git a/config-scripts/cups-gssapi.m4 b/config-scripts/cups-gssapi.m4
index d378bbfab..d0923d75d 100644
--- a/config-scripts/cups-gssapi.m4
+++ b/config-scripts/cups-gssapi.m4
@@ -1,9 +1,9 @@
dnl
-dnl "$Id$"
+dnl "$Id: cups-gssapi.m4 11324 2013-10-04 03:11:42Z msweet $"
dnl
dnl GSSAPI/Kerberos library detection for CUPS.
dnl
-dnl Copyright 2007-2012 by Apple Inc.
+dnl Copyright 2007-2013 by Apple Inc.
dnl Copyright 2006-2007 by Easy Software Products.
dnl
dnl This file contains Kerberos support code, copyright 2006 by
@@ -71,38 +71,9 @@ if test x$enable_gssapi != xno; then
if test "x$LIBGSSAPI" != x; then
AC_CHECK_HEADER(krb5.h, AC_DEFINE(HAVE_KRB5_H))
if test -d /System/Library/Frameworks/GSS.framework; then
- gssdir="/System/Library/Frameworks/GSS.framework"
- AC_MSG_CHECKING(for GSS/gssapi.h presence)
- if test -f $gssdir/Headers/gssapi.h; then
- AC_DEFINE(HAVE_GSS_GSSAPI_H)
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
- AC_MSG_CHECKING(for GSS/gssapi_generic.h presence)
- if test -f $gssdir/Headers/gssapi_generic.h; then
- AC_DEFINE(HAVE_GSSAPI_GENERIC_H)
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
- AC_MSG_CHECKING(for GSS/gssapi_spi.h presence)
- if test -f $gssdir/PrivateHeaders/gssapi_spi.h; then
- AC_MSG_RESULT(yes)
- AC_MSG_CHECKING(for GSS/gssapi_spi.h usability)
- if test -s $gssdir/PrivateHeaders/gssapi_spi.h; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_GSS_GSSAPI_SPI_H)
- else
- AC_MSG_RESULT(no)
- fi
- else
- AC_MSG_RESULT(no)
- if test $uversion -ge 110 -a $uversion -lt 120; then
- # Broken public headers in 10.7.x...
- AC_MSG_ERROR(Run 'sudo mkdir -p $gssdir/PrivateHeaders' and 'sudo touch $gssdir/PrivateHeaders/gssapi_spi.h' to build CUPS.)
- fi
- fi
+ AC_CHECK_HEADER(GSS/gssapi.h, AC_DEFINE(HAVE_GSS_GSSAPI_H))
+ AC_CHECK_HEADER(GSS/gssapi_generic.h, AC_DEFINE(HAVE_GSS_GSSAPI_GENERIC_H))
+ AC_CHECK_HEADER(GSS/gssapi_spi.h, AC_DEFINE(HAVE_GSS_GSSAPI_SPI_H))
else
AC_CHECK_HEADER(gssapi.h, AC_DEFINE(HAVE_GSSAPI_H))
AC_CHECK_HEADER(gssapi/gssapi.h, AC_DEFINE(HAVE_GSSAPI_GSSAPI_H))
@@ -158,5 +129,5 @@ AC_SUBST(CUPS_DEFAULT_GSSSERVICENAME)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_GSSSERVICENAME, "$CUPS_DEFAULT_GSSSERVICENAME")
dnl
-dnl End of "$Id$".
+dnl End of "$Id: cups-gssapi.m4 11324 2013-10-04 03:11:42Z msweet $".
dnl
diff --git a/config.h.in b/config.h.in
index 488202283..2c5399e0b 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,5 +1,5 @@
/*
- * "$Id: config.h.in 10996 2013-05-29 11:51:34Z msweet $"
+ * "$Id: config.h.in 11642 2014-02-27 15:57:59Z msweet $"
*
* Configuration file for CUPS.
*
@@ -535,6 +535,7 @@
#undef HAVE_DBUS
#undef HAVE_DBUS_MESSAGE_ITER_INIT_APPEND
+#undef HAVE_DBUS_THREADS_INIT
/*
@@ -706,5 +707,5 @@ static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
#endif /* !_CUPS_CONFIG_H_ */
/*
- * End of "$Id: config.h.in 10996 2013-05-29 11:51:34Z msweet $".
+ * End of "$Id: config.h.in 11642 2014-02-27 15:57:59Z msweet $".
*/
diff --git a/configure b/configure
index 01ed99bd4..a7e8d6774 100755
--- a/configure
+++ b/configure
@@ -2517,7 +2517,7 @@ esac
ac_config_headers="$ac_config_headers config.h"
-CUPS_VERSION=1.7.1
+CUPS_VERSION=1.7.2
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'`"
@@ -5500,12 +5500,6 @@ fi
fi
LIBS="$SAVELIBS"
-if test -d /etc/dbus-1; then
- DBUSDIR="/etc/dbus-1"
-else
- DBUSDIR=""
-fi
-
# Check whether --enable-dbus was given.
if test "${enable_dbus+set}" = set; then :
enableval=$enable_dbus;
@@ -5518,6 +5512,7 @@ if test "${with_dbusdir+set}" = set; then :
fi
+DBUSDIR=""
DBUS_NOTIFIER=""
DBUS_NOTIFIERLIBS=""
@@ -5539,9 +5534,18 @@ $as_echo "yes" >&6; }
if test "x$ac_cv_func_dbus_message_iter_init_append" = xyes; then :
$as_echo "#define HAVE_DBUS_MESSAGE_ITER_INIT_APPEND 1" >>confdefs.h
+fi
+
+ ac_fn_c_check_func "$LINENO" "dbus_threads_init" "ac_cv_func_dbus_threads_init"
+if test "x$ac_cv_func_dbus_threads_init" = xyes; then :
+ $as_echo "#define HAVE_DBUS_THREADS_INIT 1" >>confdefs.h
+
fi
LIBS="$SAVELIBS"
+ if test -d /etc/dbus-1; then
+ DBUSDIR="/etc/dbus-1"
+ fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
@@ -6949,7 +6953,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
# The -z relro option is provided by the Linux linker command to
# make relocatable data read-only.
if test x$enable_relro = xyes; then
- RELROFLAGS="-Wl,-z,relro"
+ RELROFLAGS="-Wl,-z,relro,-z,now"
fi
;;
esac
@@ -7966,53 +7970,27 @@ fi
if test -d /System/Library/Frameworks/GSS.framework; then
- gssdir="/System/Library/Frameworks/GSS.framework"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GSS/gssapi.h presence" >&5
-$as_echo_n "checking for GSS/gssapi.h presence... " >&6; }
- if test -f $gssdir/Headers/gssapi.h; then
- $as_echo "#define HAVE_GSS_GSSAPI_H 1" >>confdefs.h
+ ac_fn_c_check_header_mongrel "$LINENO" "GSS/gssapi.h" "ac_cv_header_GSS_gssapi_h" "$ac_includes_default"
+if test "x$ac_cv_header_GSS_gssapi_h" = xyes; then :
+ $as_echo "#define HAVE_GSS_GSSAPI_H 1" >>confdefs.h
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GSS/gssapi_generic.h presence" >&5
-$as_echo_n "checking for GSS/gssapi_generic.h presence... " >&6; }
- if test -f $gssdir/Headers/gssapi_generic.h; then
- $as_echo "#define HAVE_GSSAPI_GENERIC_H 1" >>confdefs.h
+fi
+
+
+ ac_fn_c_check_header_mongrel "$LINENO" "GSS/gssapi_generic.h" "ac_cv_header_GSS_gssapi_generic_h" "$ac_includes_default"
+if test "x$ac_cv_header_GSS_gssapi_generic_h" = xyes; then :
+ $as_echo "#define HAVE_GSS_GSSAPI_GENERIC_H 1" >>confdefs.h
+
+fi
+
+
+ ac_fn_c_check_header_mongrel "$LINENO" "GSS/gssapi_spi.h" "ac_cv_header_GSS_gssapi_spi_h" "$ac_includes_default"
+if test "x$ac_cv_header_GSS_gssapi_spi_h" = xyes; then :
+ $as_echo "#define HAVE_GSS_GSSAPI_SPI_H 1" >>confdefs.h
+
+fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GSS/gssapi_spi.h presence" >&5
-$as_echo_n "checking for GSS/gssapi_spi.h presence... " >&6; }
- if test -f $gssdir/PrivateHeaders/gssapi_spi.h; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GSS/gssapi_spi.h usability" >&5
-$as_echo_n "checking for GSS/gssapi_spi.h usability... " >&6; }
- if test -s $gssdir/PrivateHeaders/gssapi_spi.h; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- $as_echo "#define HAVE_GSS_GSSAPI_SPI_H 1" >>confdefs.h
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- if test $uversion -ge 110 -a $uversion -lt 120; then
- # Broken public headers in 10.7.x...
- as_fn_error $? "Run 'sudo mkdir -p $gssdir/PrivateHeaders' and 'sudo touch $gssdir/PrivateHeaders/gssapi_spi.h' to build CUPS." "$LINENO" 5
- fi
- fi
else
ac_fn_c_check_header_mongrel "$LINENO" "gssapi.h" "ac_cv_header_gssapi_h" "$ac_includes_default"
if test "x$ac_cv_header_gssapi_h" = xyes; then :
diff --git a/cups/api-filter.header b/cups/api-filter.header
index 5b7ee181f..303145212 100644
--- a/cups/api-filter.header
+++ b/cups/api-filter.header
@@ -3,7 +3,7 @@
Filter and backend programming header for CUPS.
- Copyright 2008-2011 by Apple Inc.
+ Copyright 2008-2014 by Apple Inc.
These coded instructions, statements, and computer programs are the
property of Apple Inc. and are protected by Federal copyright
diff --git a/cups/api-filter.shtml b/cups/api-filter.shtml
index 3f912ba86..4b8372edd 100644
--- a/cups/api-filter.shtml
+++ b/cups/api-filter.shtml
@@ -237,7 +237,7 @@ prefix strings:
marker-types, printer-alert, and
printer-alert-description printer attributes. Standard
marker-types values are listed in Table
- 1.
+ 1. String values need special handling - see Reporting Attribute String Values below.
CRIT: message
Sets the printer-state-message attribute and adds the specified
@@ -320,11 +320,11 @@ the "DEBUG:" prefix string.
Fuser unit
-
fuserCleaningPad
+
fuser-cleaning-pad
Fuser cleaning pad
-
fuserOil
+
fuser-oil
Fuser oil
@@ -336,7 +336,7 @@ the "DEBUG:" prefix string.
Photo conductor
-
solidWax
+
solid-wax
Wax supply
@@ -348,19 +348,19 @@ the "DEBUG:" prefix string.
Toner supply
-
transferUnit
+
transfer-unit
Transfer unit
-
wasteInk
+
waste-ink
Waste ink tank
-
wasteToner
+
waste-toner
Waste toner tank
-
wasteWax
+
waste-wax
Waste wax tank
@@ -440,6 +440,95 @@ the "DEBUG:" prefix string.
+
+
When reporting string values using "ATTR:" messages, a filter or backend must take special care to appropriately quote those values. The scheduler uses the CUPS option parsing code for attributes, so the general syntax is:
Simple values are strings that do not contain spaces, quotes, backslashes, or the comma and can be placed verbatim in the "ATTR:" message, for example:
Filters are responsible for managing the state keywords they set using
diff --git a/cups/cups.h b/cups/cups.h
index 17f93a628..8feaed050 100644
--- a/cups/cups.h
+++ b/cups/cups.h
@@ -1,18 +1,18 @@
/*
- * "$Id: cups.h 11367 2013-10-28 15:35:57Z msweet $"
+ * "$Id: cups.h 11551 2014-01-29 16:31:35Z msweet $"
*
- * API definitions for CUPS.
+ * API definitions for CUPS.
*
- * Copyright 2007-2013 by Apple Inc.
- * Copyright 1997-2007 by Easy Software Products.
+ * Copyright 2007-2014 by Apple Inc.
+ * Copyright 1997-2007 by Easy Software Products.
*
- * These coded instructions, statements, and computer programs are the
- * property of Apple Inc. and are protected by Federal copyright
- * law. Distribution and use rights are outlined in the file "LICENSE.txt"
- * which should have been included with this file. If this file is
- * file is missing or damaged, see the license at "http://www.cups.org/".
+ * These coded instructions, statements, and computer programs are the
+ * property of Apple Inc. and are protected by Federal copyright
+ * law. Distribution and use rights are outlined in the file "LICENSE.txt"
+ * which should have been included with this file. If this file is
+ * file is missing or damaged, see the license at "http://www.cups.org/".
*
- * This file is subject to the Apple OS-Developed Software exception.
+ * This file is subject to the Apple OS-Developed Software exception.
*/
#ifndef _CUPS_CUPS_H_
@@ -53,10 +53,10 @@ extern "C" {
* Constants...
*/
-# define CUPS_VERSION 1.0701
+# define CUPS_VERSION 1.0702
# define CUPS_VERSION_MAJOR 1
# define CUPS_VERSION_MINOR 7
-# define CUPS_VERSION_PATCH 1
+# define CUPS_VERSION_PATCH 2
# define CUPS_BC_FD 3
/* Back-channel file descriptor for
@@ -627,5 +627,5 @@ extern const char *cupsUserAgent(void) _CUPS_API_1_7;
#endif /* !_CUPS_CUPS_H_ */
/*
- * End of "$Id: cups.h 11367 2013-10-28 15:35:57Z msweet $".
+ * End of "$Id: cups.h 11551 2014-01-29 16:31:35Z msweet $".
*/
diff --git a/cups/dest.c b/cups/dest.c
index cdf1c4491..7b30340a5 100644
--- a/cups/dest.c
+++ b/cups/dest.c
@@ -1,5 +1,5 @@
/*
- * "$Id: dest.c 11141 2013-07-16 14:58:25Z msweet $"
+ * "$Id: dest.c 11688 2014-03-05 21:11:32Z msweet $"
*
* User-defined destination (and option) support for CUPS.
*
@@ -891,6 +891,10 @@ cupsEnumDests(
num_dests; /* Number of destinations */
cups_dest_t *dests = NULL, /* Destinations */
*dest; /* Current destination */
+ const char *defprinter; /* Default printer */
+ char name[1024], /* Copy of printer name */
+ *instance, /* Pointer to instance name */
+ *user_default; /* User default printer */
#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI)
int count, /* Number of queries started */
remaining; /* Remainder of timeout */
@@ -936,6 +940,31 @@ cupsEnumDests(
num_dests = _cupsGetDests(CUPS_HTTP_DEFAULT, IPP_OP_CUPS_GET_PRINTERS, NULL,
&dests, type, mask);
+ if ((user_default = _cupsUserDefault(name, sizeof(name))) != NULL)
+ defprinter = name;
+ else if ((defprinter = cupsGetDefault2(CUPS_HTTP_DEFAULT)) != NULL)
+ {
+ strlcpy(name, defprinter, sizeof(name));
+ defprinter = name;
+ }
+
+ if (defprinter)
+ {
+ /*
+ * Separate printer and instance name...
+ */
+
+ if ((instance = strchr(name, '/')) != NULL)
+ *instance++ = '\0';
+
+ /*
+ * Lookup the printer and instance and make it the default...
+ */
+
+ if ((dest = cupsGetDest(name, instance, num_dests, dests)) != NULL)
+ dest->is_default = 1;
+ }
+
for (i = num_dests, dest = dests;
i > 0 && (!cancel || !*cancel);
i --, dest ++)
@@ -953,11 +982,11 @@ cupsEnumDests(
* Get Bonjour-shared printers...
*/
- data.type = type;
- data.mask = mask;
- data.devices = cupsArrayNew3((cups_array_func_t)cups_dnssd_compare_devices,
- NULL, NULL, 0, NULL,
- (cups_afree_func_t)cups_dnssd_free_device);
+ data.type = type;
+ data.mask = mask;
+ data.cb = cb;
+ data.user_data = user_data;
+ data.devices = cupsArrayNew3((cups_array_func_t)cups_dnssd_compare_devices, NULL, NULL, 0, NULL, (cups_afree_func_t)cups_dnssd_free_device);
# ifdef HAVE_DNSSD
if (DNSServiceCreateConnection(&data.main_ref) != kDNSServiceErr_NoError)
@@ -3891,5 +3920,5 @@ cups_make_string(
/*
- * End of "$Id: dest.c 11141 2013-07-16 14:58:25Z msweet $".
+ * End of "$Id: dest.c 11688 2014-03-05 21:11:32Z msweet $".
*/
diff --git a/cups/encode.c b/cups/encode.c
index 32465526a..32c2365d9 100644
--- a/cups/encode.c
+++ b/cups/encode.c
@@ -1,5 +1,5 @@
/*
- * "$Id: encode.c 11115 2013-07-10 14:35:53Z msweet $"
+ * "$Id: encode.c 11734 2014-03-25 18:01:47Z msweet $"
*
* Option encoding routines for CUPS.
*
@@ -41,7 +41,10 @@ static const ipp_op_t ipp_job_creation[] =
{
IPP_OP_PRINT_JOB,
IPP_OP_PRINT_URI,
+ IPP_OP_VALIDATE_JOB,
IPP_OP_CREATE_JOB,
+ IPP_OP_HOLD_JOB,
+ IPP_OP_SET_JOB_ATTRIBUTES,
IPP_OP_CUPS_NONE
};
@@ -51,6 +54,8 @@ static const ipp_op_t ipp_doc_creation[] =
IPP_OP_PRINT_URI,
IPP_OP_SEND_DOCUMENT,
IPP_OP_SEND_URI,
+ IPP_OP_SET_JOB_ATTRIBUTES,
+ IPP_OP_SET_DOCUMENT_ATTRIBUTES,
IPP_OP_CUPS_NONE
};
@@ -59,8 +64,8 @@ static const ipp_op_t ipp_sub_creation[] =
IPP_OP_PRINT_JOB,
IPP_OP_PRINT_URI,
IPP_OP_CREATE_JOB,
- IPP_OP_CREATE_PRINTER_SUBSCRIPTION,
- IPP_OP_CREATE_JOB_SUBSCRIPTION,
+ IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS,
+ IPP_OP_CREATE_JOB_SUBSCRIPTIONS,
IPP_OP_CUPS_NONE
};
@@ -68,6 +73,7 @@ static const ipp_op_t ipp_all_print[] =
{
IPP_OP_PRINT_JOB,
IPP_OP_PRINT_URI,
+ IPP_OP_VALIDATE_JOB,
IPP_OP_CREATE_JOB,
IPP_OP_SEND_DOCUMENT,
IPP_OP_SEND_URI,
@@ -872,5 +878,5 @@ compare_ipp_options(_ipp_option_t *a, /* I - First option */
/*
- * End of "$Id: encode.c 11115 2013-07-10 14:35:53Z msweet $".
+ * End of "$Id: encode.c 11734 2014-03-25 18:01:47Z msweet $".
*/
diff --git a/cups/file-private.h b/cups/file-private.h
index bb83c40c7..bc147ff8f 100644
--- a/cups/file-private.h
+++ b/cups/file-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: file-private.h 3275 2011-05-20 07:26:13Z msweet $"
+ * "$Id: file-private.h 11642 2014-02-27 15:57:59Z msweet $"
*
* Private file definitions for CUPS.
*
@@ -16,6 +16,8 @@
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ * This file is subject to the Apple OS-Developed Software exception.
*/
#ifndef _CUPS_FILE_PRIVATE_H_
@@ -133,5 +135,5 @@ extern void _cupsFileCheckFilter(void *context,
#endif /* !_CUPS_FILE_PRIVATE_H_ */
/*
- * End of "$Id: file-private.h 3275 2011-05-20 07:26:13Z msweet $".
+ * End of "$Id: file-private.h 11642 2014-02-27 15:57:59Z msweet $".
*/
diff --git a/cups/file.c b/cups/file.c
index 8142a44e4..e0ea5cef7 100644
--- a/cups/file.c
+++ b/cups/file.c
@@ -1,5 +1,5 @@
/*
- * "$Id: file.c 11374 2013-11-04 23:49:10Z msweet $"
+ * "$Id: file.c 11642 2014-02-27 15:57:59Z msweet $"
*
* File functions for CUPS.
*
@@ -16,6 +16,8 @@
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ * This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -2670,5 +2672,5 @@ cups_write(cups_file_t *fp, /* I - CUPS file */
/*
- * End of "$Id: file.c 11374 2013-11-04 23:49:10Z msweet $".
+ * End of "$Id: file.c 11642 2014-02-27 15:57:59Z msweet $".
*/
diff --git a/cups/file.h b/cups/file.h
index e7994b7dc..887c33a1e 100644
--- a/cups/file.h
+++ b/cups/file.h
@@ -1,5 +1,5 @@
/*
- * "$Id: file.h 10996 2013-05-29 11:51:34Z msweet $"
+ * "$Id: file.h 11642 2014-02-27 15:57:59Z msweet $"
*
* Public file definitions for CUPS.
*
@@ -16,6 +16,8 @@
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ * This file is subject to the Apple OS-Developed Software exception.
*/
#ifndef _CUPS_FILE_H_
@@ -112,5 +114,5 @@ extern ssize_t cupsFileWrite(cups_file_t *fp, const char *buf,
#endif /* !_CUPS_FILE_H_ */
/*
- * End of "$Id: file.h 10996 2013-05-29 11:51:34Z msweet $".
+ * End of "$Id: file.h 11642 2014-02-27 15:57:59Z msweet $".
*/
diff --git a/cups/http-addr.c b/cups/http-addr.c
index 236baef4c..e8daaf3e7 100644
--- a/cups/http-addr.c
+++ b/cups/http-addr.c
@@ -1,5 +1,5 @@
/*
- * "$Id: http-addr.c 11374 2013-11-04 23:49:10Z msweet $"
+ * "$Id: http-addr.c 11642 2014-02-27 15:57:59Z msweet $"
*
* HTTP address routines for CUPS.
*
@@ -11,6 +11,8 @@
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ * This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -754,5 +756,5 @@ httpGetHostname(http_t *http, /* I - HTTP connection or NULL */
/*
- * End of "$Id: http-addr.c 11374 2013-11-04 23:49:10Z msweet $".
+ * End of "$Id: http-addr.c 11642 2014-02-27 15:57:59Z msweet $".
*/
diff --git a/cups/http-addrlist.c b/cups/http-addrlist.c
index 631cb52cc..bb1ff949f 100644
--- a/cups/http-addrlist.c
+++ b/cups/http-addrlist.c
@@ -1,5 +1,5 @@
/*
- * "$Id: http-addrlist.c 11374 2013-11-04 23:49:10Z msweet $"
+ * "$Id: http-addrlist.c 11642 2014-02-27 15:57:59Z msweet $"
*
* HTTP address list routines for CUPS.
*
@@ -11,6 +11,8 @@
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ * This file is subject to the Apple OS-Developed Software exception.
*/
/*
@@ -455,6 +457,7 @@ httpAddrGetList(const char *hostname, /* I - Hostname, IP address, or NULL for p
if ((first = (http_addrlist_t *)calloc(1, sizeof(http_addrlist_t))) != NULL)
{
+ addr = first;
first->addr.un.sun_family = AF_LOCAL;
strlcpy(first->addr.un.sun_path, hostname, sizeof(first->addr.un.sun_path));
}
@@ -874,5 +877,5 @@ httpAddrGetList(const char *hostname, /* I - Hostname, IP address, or NULL for p
/*
- * End of "$Id: http-addrlist.c 11374 2013-11-04 23:49:10Z msweet $".
+ * End of "$Id: http-addrlist.c 11642 2014-02-27 15:57:59Z msweet $".
*/
diff --git a/cups/http.c b/cups/http.c
index 579a3173b..d840769f9 100644
--- a/cups/http.c
+++ b/cups/http.c
@@ -1,9 +1,9 @@
/*
- * "$Id: http.c 11392 2013-11-06 01:29:56Z msweet $"
+ * "$Id: http.c 11761 2014-03-28 13:04:33Z msweet $"
*
* HTTP routines for CUPS.
*
- * Copyright 2007-2013 by Apple Inc.
+ * Copyright 2007-2014 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* This file contains Kerberos support code, copyright 2006 by Jelmer Vernooij.
@@ -1748,7 +1748,7 @@ httpPeek(http_t *http, /* I - Connection to server */
*/
#ifdef HAVE_LIBZ
- if (http->coding)
+ if (http->coding >= _HTTP_CODING_GUNZIP)
http_content_coding_finish(http);
#endif /* HAVE_LIBZ */
@@ -1776,7 +1776,8 @@ httpPeek(http_t *http, /* I - Connection to server */
#ifdef HAVE_LIBZ
if (http->used == 0 &&
- (http->coding == _HTTP_CODING_IDENTITY || http->stream.avail_in == 0))
+ (http->coding == _HTTP_CODING_IDENTITY ||
+ (http->coding >= _HTTP_CODING_GUNZIP && http->stream.avail_in == 0)))
#else
if (http->used == 0)
#endif /* HAVE_LIBZ */
@@ -1819,7 +1820,7 @@ httpPeek(http_t *http, /* I - Connection to server */
}
#ifdef HAVE_LIBZ
- if (http->coding)
+ if (http->coding >= _HTTP_CODING_GUNZIP)
{
# ifdef HAVE_INFLATECOPY
int zerr; /* Decompressor error */
@@ -2056,7 +2057,7 @@ httpRead2(http_t *http, /* I - Connection to server */
return (0);
#ifdef HAVE_LIBZ
- if (http->coding)
+ if (http->coding >= _HTTP_CODING_GUNZIP)
{
do
{
@@ -2210,14 +2211,15 @@ httpRead2(http_t *http, /* I - Connection to server */
if (
#ifdef HAVE_LIBZ
- (http->coding == _HTTP_CODING_IDENTITY || http->stream.avail_in == 0) &&
+ (http->coding == _HTTP_CODING_IDENTITY ||
+ (http->coding >= _HTTP_CODING_GUNZIP && http->stream.avail_in == 0)) &&
#endif /* HAVE_LIBZ */
((http->data_remaining <= 0 &&
http->data_encoding == HTTP_ENCODING_LENGTH) ||
(http->data_encoding == HTTP_ENCODING_CHUNKED && bytes == 0)))
{
#ifdef HAVE_LIBZ
- if (http->coding)
+ if (http->coding >= _HTTP_CODING_GUNZIP)
http_content_coding_finish(http);
#endif /* HAVE_LIBZ */
@@ -3478,7 +3480,7 @@ httpWrite2(http_t *http, /* I - Connection to server */
*/
#ifdef HAVE_LIBZ
- if (http->coding)
+ if (http->coding == _HTTP_CODING_GZIP || http->coding == _HTTP_CODING_DEFLATE)
{
DEBUG_printf(("1httpWrite2: http->coding=%d", http->coding));
@@ -3578,7 +3580,7 @@ httpWrite2(http_t *http, /* I - Connection to server */
*/
#ifdef HAVE_LIBZ
- if (http->coding)
+ if (http->coding == _HTTP_CODING_GZIP || http->coding == _HTTP_CODING_DEFLATE)
http_content_coding_finish(http);
#endif /* HAVE_LIBZ */
@@ -5394,6 +5396,7 @@ http_setup_ssl(http_t *http) /* I - Connection to server */
if (!http->tls)
{
+ DEBUG_puts("8http_setup_ssl: Unable to allocate SSPI data.");
_cupsSetHTTPError(HTTP_STATUS_ERROR);
return (-1);
}
@@ -5404,11 +5407,14 @@ http_setup_ssl(http_t *http) /* I - Connection to server */
_sntprintf_s(commonName, sizeof(commonName) / sizeof(TCHAR),
sizeof(commonName) / sizeof(TCHAR), TEXT("CN=%s"), username);
- if (!_sspiGetCredentials(http->tls_credentials, L"ClientContainer",
- commonName, FALSE))
+ DEBUG_printf(("8http_setup_ssl: commonName=\"%s\"", commonName));
+
+ if (!_sspiGetCredentials(http->tls, L"ClientContainer", commonName, FALSE))
{
- _sspiFree(http->tls_credentials);
- http->tls_credentials = NULL;
+ DEBUG_puts("8http_setup_ssl: _sspiGetCredentials failed.");
+
+ _sspiFree(http->tls);
+ http->tls = NULL;
http->error = EIO;
http->status = HTTP_STATUS_ERROR;
@@ -5419,13 +5425,15 @@ http_setup_ssl(http_t *http) /* I - Connection to server */
return (-1);
}
- _sspiSetAllowsAnyRoot(http->tls_credentials, TRUE);
- _sspiSetAllowsExpiredCerts(http->tls_credentials, TRUE);
+ _sspiSetAllowsAnyRoot(http->tls, TRUE);
+ _sspiSetAllowsExpiredCerts(http->tls, TRUE);
- if (!_sspiConnect(http->tls_credentials, hostname))
+ if (!_sspiConnect(http->tls, hostname))
{
- _sspiFree(http->tls_credentials);
- http->tls_credentials = NULL;
+ DEBUG_printf(("8http_setup_ssl: _sspiConnect failed for \"%s\".", hostname));
+
+ _sspiFree(http->tls);
+ http->tls = NULL;
http->error = EIO;
http->status = HTTP_STATUS_ERROR;
@@ -5478,7 +5486,7 @@ http_shutdown_ssl(http_t *http) /* I - Connection to server */
CFRelease(http->tls_credentials);
# elif defined(HAVE_SSPISSL)
- _sspiFree(http->tls_credentials);
+ _sspiFree(http->tls);
# endif /* HAVE_LIBSSL */
http->tls = NULL;
@@ -5898,5 +5906,5 @@ http_write_ssl(http_t *http, /* I - Connection to server */
/*
- * End of "$Id: http.c 11392 2013-11-06 01:29:56Z msweet $".
+ * End of "$Id: http.c 11761 2014-03-28 13:04:33Z msweet $".
*/
diff --git a/cups/ipp-support.c b/cups/ipp-support.c
index 604d65b4c..2eaa8e530 100644
--- a/cups/ipp-support.c
+++ b/cups/ipp-support.c
@@ -1,5 +1,5 @@
/*
- * "$Id: ipp-support.c 11085 2013-07-03 13:53:05Z msweet $"
+ * "$Id: ipp-support.c 11734 2014-03-25 18:01:47Z msweet $"
*
* Internet Printing Protocol support functions for CUPS.
*
@@ -175,8 +175,8 @@ static const char * const ipp_std_ops[] =
"Set-Printer-Attributes",
"Set-Job-Attributes",
"Get-Printer-Supported-Values",
- "Create-Printer-Subscription",
- "Create-Job-Subscription",
+ "Create-Printer-Subscriptions",
+ "Create-Job-Subscriptions",
"Get-Subscription-Attributes",
"Get-Subscriptions",
"Renew-Subscription",
@@ -2083,6 +2083,12 @@ ippOpValue(const char *name) /* I - Textual name */
if (!_cups_strcasecmp(name, ipp_cups_ops2[i]))
return ((ipp_op_t)(i + 0x4027));
+ if (!_cups_strcasecmp(name, "Create-Job-Subscription"))
+ return (IPP_OP_CREATE_JOB_SUBSCRIPTIONS);
+
+ if (!_cups_strcasecmp(name, "Create-Printer-Subscription"))
+ return (IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS);
+
if (!_cups_strcasecmp(name, "CUPS-Add-Class"))
return (IPP_OP_CUPS_ADD_MODIFY_CLASS);
@@ -2248,5 +2254,5 @@ ipp_col_string(ipp_t *col, /* I - Collection attribute */
/*
- * End of "$Id: ipp-support.c 11085 2013-07-03 13:53:05Z msweet $".
+ * End of "$Id: ipp-support.c 11734 2014-03-25 18:01:47Z msweet $".
*/
diff --git a/cups/ipp.h b/cups/ipp.h
index c02254710..beada0af6 100644
--- a/cups/ipp.h
+++ b/cups/ipp.h
@@ -1,18 +1,18 @@
/*
- * "$Id: ipp.h 11085 2013-07-03 13:53:05Z msweet $"
+ * "$Id: ipp.h 11734 2014-03-25 18:01:47Z msweet $"
*
- * Internet Printing Protocol definitions for CUPS.
+ * Internet Printing Protocol definitions for CUPS.
*
- * Copyright 2007-2013 by Apple Inc.
- * Copyright 1997-2006 by Easy Software Products.
+ * Copyright 2007-2014 by Apple Inc.
+ * Copyright 1997-2006 by Easy Software Products.
*
- * These coded instructions, statements, and computer programs are the
- * property of Apple Inc. and are protected by Federal copyright
- * law. Distribution and use rights are outlined in the file "LICENSE.txt"
- * which should have been included with this file. If this file is
- * file is missing or damaged, see the license at "http://www.cups.org/".
+ * These coded instructions, statements, and computer programs are the
+ * property of Apple Inc. and are protected by Federal copyright
+ * law. Distribution and use rights are outlined in the file "LICENSE.txt"
+ * which should have been included with this file. If this file is
+ * file is missing or damaged, see the license at "http://www.cups.org/".
*
- * This file is subject to the Apple OS-Developed Software exception.
+ * This file is subject to the Apple OS-Developed Software exception.
*/
#ifndef _CUPS_IPP_H_
@@ -251,8 +251,8 @@ typedef enum ipp_op_e /**** IPP operations ****/
IPP_OP_SET_PRINTER_ATTRIBUTES, /* Set printer attributes @private@ */
IPP_OP_SET_JOB_ATTRIBUTES, /* Set job attributes */
IPP_OP_GET_PRINTER_SUPPORTED_VALUES, /* Get supported attribute values */
- IPP_OP_CREATE_PRINTER_SUBSCRIPTION, /* Create a printer subscription @since CUPS 1.2/OS X 10.5@ */
- IPP_OP_CREATE_JOB_SUBSCRIPTION, /* Create a job subscription @since CUPS 1.2/OS X 10.5@ */
+ IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS, /* Create one or more printer subscriptions @since CUPS 1.2/OS X 10.5@ */
+ IPP_OP_CREATE_JOB_SUBSCRIPTIONS, /* Create one of more job subscriptions @since CUPS 1.2/OS X 10.5@ */
IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES, /* Get subscription attributes @since CUPS 1.2/OS X 10.5@ */
IPP_OP_GET_SUBSCRIPTIONS, /* Get list of subscriptions @since CUPS 1.2/OS X 10.5@ */
IPP_OP_RENEW_SUBSCRIPTION, /* Renew a printer subscription @since CUPS 1.2/OS X 10.5@ */
@@ -331,8 +331,10 @@ typedef enum ipp_op_e /**** IPP operations ****/
# define IPP_SET_PRINTER_ATTRIBUTES IPP_OP_SET_PRINTER_ATTRIBUTES
# define IPP_SET_JOB_ATTRIBUTES IPP_OP_SET_JOB_ATTRIBUTES
# define IPP_GET_PRINTER_SUPPORTED_VALUES IPP_OP_GET_PRINTER_SUPPORTED_VALUES
-# define IPP_CREATE_PRINTER_SUBSCRIPTION IPP_OP_CREATE_PRINTER_SUBSCRIPTION
-# define IPP_CREATE_JOB_SUBSCRIPTION IPP_OP_CREATE_JOB_SUBSCRIPTION
+# define IPP_CREATE_PRINTER_SUBSCRIPTION IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS
+# define IPP_CREATE_JOB_SUBSCRIPTION IPP_OP_CREATE_JOB_SUBSCRIPTIONS
+# define IPP_OP_CREATE_PRINTER_SUBSCRIPTION IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS
+# define IPP_OP_CREATE_JOB_SUBSCRIPTION IPP_OP_CREATE_JOB_SUBSCRIPTIONS
# define IPP_GET_SUBSCRIPTION_ATTRIBUTES IPP_OP_GET_SUBSCRIPTION_ATTRIBUTES
# define IPP_GET_SUBSCRIPTIONS IPP_OP_GET_SUBSCRIPTIONS
# define IPP_RENEW_SUBSCRIPTION IPP_OP_RENEW_SUBSCRIPTION
@@ -992,5 +994,5 @@ extern int ippValidateAttributes(ipp_t *ipp) _CUPS_API_1_7;
#endif /* !_CUPS_IPP_H_ */
/*
- * End of "$Id: ipp.h 11085 2013-07-03 13:53:05Z msweet $".
+ * End of "$Id: ipp.h 11734 2014-03-25 18:01:47Z msweet $".
*/
diff --git a/cups/request.c b/cups/request.c
index 817169b6a..6d27bdeaa 100644
--- a/cups/request.c
+++ b/cups/request.c
@@ -1,5 +1,5 @@
/*
- * "$Id: request.c 11174 2013-07-23 12:33:52Z msweet $"
+ * "$Id: request.c 11739 2014-03-26 21:06:04Z msweet $"
*
* IPP utilities for CUPS.
*
@@ -261,7 +261,7 @@ cupsDoIORequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP
* Get the server's response...
*/
- if (status != HTTP_STATUS_ERROR)
+ if (status <= HTTP_STATUS_CONTINUE || status == HTTP_STATUS_OK)
{
response = cupsGetResponse(http, resource);
status = httpGetStatus(http);
@@ -1177,5 +1177,5 @@ _cupsSetHTTPError(http_status_t status) /* I - HTTP status code */
/*
- * End of "$Id: request.c 11174 2013-07-23 12:33:52Z msweet $".
+ * End of "$Id: request.c 11739 2014-03-26 21:06:04Z msweet $".
*/
diff --git a/cups/sspi.c b/cups/sspi.c
index ff79e5a68..ba66f729b 100644
--- a/cups/sspi.c
+++ b/cups/sspi.c
@@ -1,35 +1,15 @@
/*
- * "$Id: sspi.c 3247 2011-05-12 06:22:31Z msweet $"
+ * "$Id: sspi.c 11760 2014-03-28 12:58:24Z msweet $"
*
- * Windows SSPI SSL implementation for CUPS.
+ * Windows SSPI SSL implementation for CUPS.
*
- * Copyright 2010-2011 by Apple Inc.
+ * Copyright 2010-2014 by Apple Inc.
*
- * These coded instructions, statements, and computer programs are the
- * property of Apple Inc. and are protected by Federal copyright
- * law. Distribution and use rights are outlined in the file "LICENSE.txt"
- * which should have been included with this file. If this file is
- * file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- * sspi_alloc() - Allocate SSPI ssl object
- * _sspiGetCredentials() - Retrieve an SSL/TLS certificate from the
- * system store If one cannot be found, one is
- * created.
- * _sspiConnect() - Make an SSL connection. This function
- * assumes a TCP/IP connection has already been
- * successfully made
- * _sspiAccept() - Accept an SSL/TLS connection
- * _sspiSetAllowsAnyRoot() - Set the client cert policy for untrusted
- * root certs
- * _sspiSetAllowsExpiredCerts() - Set the client cert policy for expired root
- * certs
- * _sspiWrite() - Write a buffer to an ssl socket
- * _sspiRead() - Read a buffer from an ssl socket
- * _sspiPending() - Returns the number of available bytes
- * _sspiFree() - Close a connection and free resources
- * sspi_verify_certificate() - Verify a server certificate
+ * These coded instructions, statements, and computer programs are the
+ * property of Apple Inc. and are protected by Federal copyright
+ * law. Distribution and use rights are outlined in the file "LICENSE.txt"
+ * which should have been included with this file. If this file is
+ * file is missing or damaged, see the license at "http://www.cups.org/".
*/
/*
@@ -108,6 +88,9 @@ _sspiGetCredentials(_sspi_struct_t *conn,
CRYPT_KEY_PROV_INFO ckp; /* Handle to crypto key */
BOOL ok = TRUE; /* Return value */
+
+ DEBUG_printf(("_sspiGetCredentials(conn=%p, container=%p, cn=\"%s\", isServer=%d)", conn, container, cn, isServer));
+
if (!conn)
return (FALSE);
if (!cn)
@@ -1481,5 +1464,5 @@ cleanup:
/*
- * End of "$Id: sspi.c 3247 2011-05-12 06:22:31Z msweet $".
+ * End of "$Id: sspi.c 11760 2014-03-28 12:58:24Z msweet $".
*/
diff --git a/cups/thread-private.h b/cups/thread-private.h
index 3409be44f..ae1b86a6b 100644
--- a/cups/thread-private.h
+++ b/cups/thread-private.h
@@ -1,5 +1,5 @@
/*
- * "$Id: thread-private.h 3794 2012-04-23 22:44:16Z msweet $"
+ * "$Id: thread-private.h 11642 2014-02-27 15:57:59Z msweet $"
*
* Private threading definitions for CUPS.
*
@@ -10,6 +10,8 @@
* law. Distribution and use rights are outlined in the file "LICENSE.txt"
* which should have been included with this file. If this file is
* file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ * This file is subject to the Apple OS-Developed Software exception.
*/
#ifndef _CUPS_THREAD_PRIVATE_H_
@@ -94,5 +96,5 @@ extern int _cupsThreadCreate(_cups_thread_func_t func, void *arg);
#endif /* !_CUPS_THREAD_PRIVATE_H_ */
/*
- * End of "$Id: thread-private.h 3794 2012-04-23 22:44:16Z msweet $".
+ * End of "$Id: thread-private.h 11642 2014-02-27 15:57:59Z msweet $".
*/
diff --git a/cups/thread.c b/cups/thread.c
index 0f623298b..8c4525221 100644
--- a/cups/thread.c
+++ b/cups/thread.c
@@ -1,5 +1,5 @@
/*
- * "$Id: thread.c 3794 2012-04-23 22:44:16Z msweet $"
+ * "$Id: thread.c 11642 2014-02-27 15:57:59Z msweet $"
*
* Threading primitives for CUPS.
*
@@ -11,6 +11,8 @@
* which should have been included with this file. If this file is
* file is missing or damaged, see the license at "http://www.cups.org/".
*
+ * This file is subject to the Apple OS-Developed Software exception.
+ *
* Contents:
*
* _cupsMutexInit() - Initialize a mutex.
@@ -332,5 +334,5 @@ _cupsThreadCreate(
/*
- * End of "$Id: thread.c 3794 2012-04-23 22:44:16Z msweet $".
+ * End of "$Id: thread.c 11642 2014-02-27 15:57:59Z msweet $".
*/
diff --git a/cups/usersys.c b/cups/usersys.c
index 70372b41e..457af4ab1 100644
--- a/cups/usersys.c
+++ b/cups/usersys.c
@@ -1,5 +1,5 @@
/*
- * "$Id: usersys.c 11510 2014-01-08 16:00:25Z msweet $"
+ * "$Id: usersys.c 11689 2014-03-05 21:22:12Z msweet $"
*
* User, system, and password routines for CUPS.
*
@@ -703,7 +703,10 @@ _cupsGetPassword(const char *prompt) /* I - Prompt string */
while ((passbytes = read(tty, &passch, 1)) == 1)
{
- if (passch == noecho.c_cc[VEOL] || passch == noecho.c_cc[VEOL2] ||
+ if (passch == noecho.c_cc[VEOL] ||
+# ifdef VEOL2
+ passch == noecho.c_cc[VEOL2] ||
+# endif /* VEOL2 */
passch == 0x0A || passch == 0x0D)
{
/*
@@ -851,6 +854,7 @@ _cupsSetDefaults(void)
if ((cups_user = getenv("CUPS_USER")) == NULL)
{
+#ifndef WIN32
/*
* Try the USER environment variable...
*/
@@ -868,6 +872,7 @@ _cupsSetDefaults(void)
if ((pw = getpwnam(cups_user)) == NULL || pw->pw_uid != getuid())
cups_user = NULL;
}
+#endif /* !WIN32 */
}
/*
@@ -1136,5 +1141,5 @@ cups_read_client_conf(
/*
- * End of "$Id: usersys.c 11510 2014-01-08 16:00:25Z msweet $".
+ * End of "$Id: usersys.c 11689 2014-03-05 21:22:12Z msweet $".
*/
diff --git a/doc/de/index.html.in b/doc/de/index.html.in
new file mode 100644
index 000000000..0a3db7da3
--- /dev/null
+++ b/doc/de/index.html.in
@@ -0,0 +1,107 @@
+
+
+
CUPS ist das auf Standards basierte, Opensource-Drucksystem, welches von
+Apple Inc. für Mac OS® X und
+andere UNIX®-ähnliche Betriebssysteme entwickelt wird.
CUPS und das CUPS Logo sind
+eingetragene Warenzeichen der Apple Inc.
+CUPS ist urheberrechtlich geschützt 2007-2014 von Apple Inc, alle Rechte vorbehalten.
+
+
+
diff --git a/doc/help/api-filter.html b/doc/help/api-filter.html
index 542805879..566bc149d 100644
--- a/doc/help/api-filter.html
+++ b/doc/help/api-filter.html
@@ -345,7 +345,7 @@ div.contents ul.subcontents li {
Filter and backend programming header for CUPS.
- Copyright 2008-2011 by Apple Inc.
+ Copyright 2008-2014 by Apple Inc.
These coded instructions, statements, and computer programs are the
property of Apple Inc. and are protected by Federal copyright
@@ -664,7 +664,7 @@ prefix strings:
marker-types, printer-alert, and
printer-alert-description printer attributes. Standard
marker-types values are listed in Table
- 1.
When reporting string values using "ATTR:" messages, a filter or backend must take special care to appropriately quote those values. The scheduler uses the CUPS option parsing code for attributes, so the general syntax is:
Simple values are strings that do not contain spaces, quotes, backslashes, or the comma and can be placed verbatim in the "ATTR:" message, for example:
Filters are responsible for managing the state keywords they set using
diff --git a/doc/help/api-httpipp.html b/doc/help/api-httpipp.html
index f6f117b56..9023f0e98 100644
--- a/doc/help/api-httpipp.html
+++ b/doc/help/api-httpipp.html
@@ -5986,10 +5986,10 @@ are server-oriented...
Close-Job
IPP_OP_CREATE_JOB
Create an empty print job
-
IPP_OP_CREATE_JOB_SUBSCRIPTION CUPS 1.2/OS X 10.5
-
Create a job subscription
-
IPP_OP_CREATE_PRINTER_SUBSCRIPTION CUPS 1.2/OS X 10.5
-
Create a printer subscription
+
IPP_OP_CREATE_JOB_SUBSCRIPTIONS CUPS 1.2/OS X 10.5
+
Create one of more job subscriptions
+
IPP_OP_CREATE_PRINTER_SUBSCRIPTIONS CUPS 1.2/OS X 10.5
+
Create one or more printer subscriptions
IPP_OP_CUPS_ACCEPT_JOBS
Accept new jobs on a printer
IPP_OP_CUPS_ADD_MODIFY_CLASS
diff --git a/doc/help/man-cupsfilter.html b/doc/help/man-cupsfilter.html
index 07ac0ff77..5ff9c3404 100644
--- a/doc/help/man-cupsfilter.html
+++ b/doc/help/man-cupsfilter.html
@@ -36,7 +36,8 @@ cupsfilter - convert a file to another format using cups filters
cupsfilter is a front-end to the CUPS filter subsystem which allows you
to convert a file to a specific format, just as if you had printed the file
-through CUPS. By default, cupsfilter generates a PDF file.
+through CUPS. By default, cupsfilter generates a PDF file. The converted
+file is sent to the standard output.