]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Merge changes from CUPS 1.5b1-r9774.
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Thu, 12 May 2011 06:22:31 +0000 (06:22 +0000)
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>
Thu, 12 May 2011 06:22:31 +0000 (06:22 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3247 a1ca3aef-8c08-0410-bb20-df032aa958be

176 files changed:
CHANGES.txt
INSTALL.txt
IPPTOOL.txt
LICENSE.txt
README.txt
backend/Dependencies
backend/dnssd.c
backend/ieee1284.c
backend/ipp.c
backend/parallel.c
backend/testsupplies.c
backend/usb-darwin.c
backend/usb-unix.c
backend/usb.c
berkeley/Makefile
cgi-bin/help-index.c
cgi-bin/help-index.h
cgi-bin/help.c
cgi-bin/ipp-var.c
cgi-bin/jobs.c
cgi-bin/search.c
cgi-bin/testcgi.c
cgi-bin/testhi.c
cgi-bin/testtemplate.c
conf/Makefile
config-scripts/cups-3264.m4
config-scripts/cups-common.m4
config-scripts/cups-compiler.m4
config-scripts/cups-directories.m4
config-scripts/cups-dnssd.m4
config-scripts/cups-gssapi.m4
config-scripts/cups-largefile.m4
config-scripts/cups-ldap.m4
config-scripts/cups-libtool.m4
config-scripts/cups-manpages.m4
config-scripts/cups-network.m4
config-scripts/cups-opsys.m4
config-scripts/cups-pam.m4
config-scripts/cups-poll.m4
config-scripts/cups-slp.m4
config-scripts/cups-threads.m4
cups/Dependencies
cups/api-array.header
cups/api-cups.header
cups/api-filedir.header
cups/api-filter.header
cups/api-httpipp.header
cups/api-overview.header
cups/api-ppd.header
cups/array.c
cups/auth.c
cups/backend.h
cups/cups.h
cups/dir.h
cups/emit.c
cups/file.c
cups/file.h
cups/http-addrlist.c
cups/http-private.h
cups/http.c
cups/http.h
cups/ipp.h
cups/language.h
cups/ppd-cache.c
cups/ppd.h
cups/raster.h
cups/sidechannel.h
cups/snmp.c
cups/sspi.c
cups/test2.ppd
cups/transcode.h
cups/usersys.c
data/Makefile
doc/help/api-array.html
doc/help/api-cups.html
doc/help/api-filedir.html
doc/help/api-filter.html
doc/help/api-httpipp.html
doc/help/api-mime.html
doc/help/api-overview.html
doc/help/api-ppd.html
doc/help/api-raster.html
doc/help/license.html
examples/Makefile
filter/bannertops.c
filter/common.c
filter/error.c
filter/image-bmp.c
filter/image-gif.c
filter/image-jpeg.c
filter/image-photocd.c
filter/image-pix.c
filter/image-png.c
filter/image-pnm.c
filter/image-sgi.c
filter/image-sgi.h
filter/image-sgilib.c
filter/image-sun.c
filter/image-tiff.c
filter/image.c
filter/image.h
filter/rasterbench.c
filter/rastertolabel.c
filter/testimage.c
fonts/Makefile
locale/Makefile
locale/cups_es.po
locale/cups_eu.po
locale/cups_id.po
locale/cups_ja.po
man/cancel.man
man/classes.conf.man
man/cups-config.man
man/cups-deviced.man.in
man/cups-lpd.man.in
man/cups-polld.man
man/cups-snmp.conf.man
man/cupsaccept.man
man/cupsaddsmb.man.in
man/cupsd.conf.man.in
man/cupsd.man.in
man/cupsenable.man
man/cupstestdsc.man
man/cupstestppd.man
man/filter.man
man/ipptoolfile.man
man/lpc.man
man/lpinfo.man
man/lpmove.man
man/lpoptions.man.in
man/lppasswd.man
man/lpq.man
man/lpr.man
man/lprm.man
man/lpstat.man
man/mailto.conf.man
man/mime.convs.man
man/mime.types.man
man/ppdc.man
man/ppdcfile.man
man/ppdhtml.man
man/ppdi.man
man/ppdmerge.man
man/ppdpo.man
man/printers.conf.man
man/subscriptions.conf.man
monitor/Makefile
notifier/Makefile
ppdc/foo.drv
scheduler/Dependencies
scheduler/Makefile
scheduler/classes.c
scheduler/client.c
scheduler/conf.c
scheduler/cups.sh.in
scheduler/cupsd.h
scheduler/cupsfilter.c
scheduler/dirsvc.c
scheduler/file.c [new file with mode: 0644]
scheduler/ipp.c
scheduler/job.c
scheduler/main.c
scheduler/printers.c
scheduler/removefile.c [deleted file]
scheduler/subscriptions.c
scheduler/sysman.c
scripting/php/Makefile
scripting/php/phpcups.c
scripting/php/phpcups.h
scripting/php/phpcups.php
templates/Makefile
templates/ru/Makefile
test/ipptool.c
test/testfile.ps
test/testps.ppd
xcode/CUPS.xcodeproj/project.pbxproj

index beadcb06ccf298101b1c75a334514e1e051a022e..f7d609ecfe0acb20941c8cadfdbc3784ebc4cbec 100644 (file)
@@ -1,8 +1,11 @@
-CHANGES.txt - 2011-05-10
+CHANGES.txt - 2011-05-11
 ------------------------
 
 CHANGES IN CUPS V1.5b1
 
+       - Fixed some minor issues discovered by a Coverity scan (STR #3838)
+       - The scheduler now more carefully creates and removes configuration,
+         cache, and state files (STR #3715)
        - The lpadmin command now allows default option values to be deleted
          (STR #2959)
        - The lpadmin command now allows the cupsIPPSupplies and
index ec242f999533e4eef61c65402f162bd80a7eabfb..85757f0b7d2104cf858e42233a987c008a5a0d8d 100644 (file)
@@ -1,4 +1,4 @@
-INSTALL - CUPS v1.5.0 - 2011-05-06
+INSTALL - CUPS v1.5b1 - 2011-05-11
 ----------------------------------
 
 This file describes how to compile and install CUPS from source code. For more
index c13da01ae7cdcc675c97fbdc521b77e38adfd947..f4e218a87317b2b2b1d9e311959954ea13388cdb 100644 (file)
@@ -1,4 +1,4 @@
-IPPTOOL.txt - 2010-10-17
+IPPTOOL.txt - 2011-05-11
 ------------------------
 
 
@@ -72,7 +72,7 @@ GETTING SUPPORT AND OTHER RESOURCES
 
 LEGAL STUFF
 
-    CUPS is Copyright 2007-2010 by Apple Inc.  CUPS and the CUPS logo are
+    CUPS is Copyright 2007-2011 by Apple Inc.  CUPS and the CUPS logo are
     trademarks of Apple Inc.
 
     The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
index 2c386e0f959de66d25afd38ec0f8ecf10df23985..7d80518a35470130fe3e6404ff5428e8db63583e 100644 (file)
@@ -1,6 +1,6 @@
                           CUPS License Agreement
 
-                     Copyright 2007-2010 by Apple Inc.
+                     Copyright 2007-2011 by Apple Inc.
                             1 Infinite Loop
                          Cupertino, CA 95014 USA
 
@@ -129,7 +129,7 @@ redistribute it freely, subject to the following restrictions:
        software.
 
      3. This notice may not be removed or altered from any source
-       distribution. 
+       distribution.
 
 
 TRADEMARKS
index 3e9c6d8b5beadc96d78aa3340a4a951f974bcba0..38875d9d1b112bc58c752a83282029da65721cfa 100644 (file)
@@ -1,5 +1,5 @@
-README - CUPS v1.5svn - 2011-05-06
-----------------------------------
+README - CUPS v1.5b1 - 2011-05-11
+---------------------------------
 
 Looking for compile instructions?  Read the file "INSTALL.txt"
 instead...
index b195e61e980badd023ec53a587a06aa0494fb71e..4f99c17ef9ad5288ac3e09a335390898ed188b13 100644 (file)
@@ -8,7 +8,7 @@ ipp.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 ipp.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 ipp.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
 ipp.o: ../cups/thread-private.h ../cups/snmp-private.h ../cups/backend.h
-ipp.o: ../cups/sidechannel.h
+ipp.o: ../cups/sidechannel.h ../cups/array-private.h
 lpd.o: ../cups/http-private.h ../config.h ../cups/http.h
 lpd.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h
 lpd.o: backend-private.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
index 3e527c6a6c1b9736ad0f516e84c48b19143332bf..c78558ec9e7331868aa11e3dae9ff33eabfe34b2 100644 (file)
@@ -873,6 +873,8 @@ query_callback(
 static void
 sigterm_handler(int sig)               /* I - Signal number (unused) */
 {
+  (void)sig;
+
   if (job_canceled)
     exit(CUPS_BACKEND_OK);
   else
index bf994891cb189cd6e4431932d32c7e3c0fc50275..13fb5cbebe13d6a2d331975417e72a92b1bef272 100644 (file)
@@ -46,6 +46,15 @@ backendGetDeviceID(
     int        uri_size)               /* I - Size of buffer */
 {
 #ifdef __APPLE__ /* This function is a no-op */
+  (void)fd;
+  (void)device_id;
+  (void)device_id_size;
+  (void)make_model;
+  (void)make_model_size;
+  (void)scheme;
+  (void)uri;
+  (void)uri_size;
+
   return (-1);
 
 #else /* Get the device ID from the specified file descriptor... */
@@ -404,10 +413,7 @@ backendGetMakeModel(
 
       char     temp[1024];             /* Temporary make and model */
 
-      if (mfg)
-       snprintf(temp, sizeof(temp), "%s %s", mfg, mdl);
-      else
-       snprintf(temp, sizeof(temp), "%s", mdl);
+      snprintf(temp, sizeof(temp), "%s %s", mfg, mdl);
 
       _ppdNormalizeMakeAndModel(temp, make_model, make_model_size);
     }
index ca45a2f890e2bb7fd92cf9994cf17d2e5082ea20..2c13360bcb441ec0c63a3ac71ea95f8ce672487d 100644 (file)
@@ -72,10 +72,6 @@ typedef struct _cups_monitor_s               /**** Monitoring data ****/
  * Globals...
  */
 
-static int             num_attr_cache = 0;
-                                       /* Number of cached attributes */
-static cups_option_t   *attr_cache = NULL;
-                                       /* Cached attributes */
 static const char      *auth_info_required;
                                        /* New auth-info-required value */
 #if defined(HAVE_GSSAPI) && defined(HAVE_XPC)
@@ -126,9 +122,13 @@ static const char * const remote_job_states[] =
   "cups-remote-aborted",
   "cups-remote-completed"
 };
-static cups_array_t    *state_reasons; /* Array of printe-state-reasons keywords */
-static _cups_mutex_t   state_mutex = _CUPS_MUTEX_INITIALIZER;
+static _cups_mutex_t   report_mutex = _CUPS_MUTEX_INITIALIZER;
                                        /* Mutex to control access */
+static int             num_attr_cache = 0;
+                                       /* Number of cached attributes */
+static cups_option_t   *attr_cache = NULL;
+                                       /* Cached attributes */
+static cups_array_t    *state_reasons; /* Array of printe-state-reasons keywords */
 static char            tmpfilename[1024] = "";
                                        /* Temporary spool file name */
 
@@ -142,8 +142,7 @@ static void         cancel_job(http_t *http, const char *uri, int id,
                                   int version);
 static ipp_pstate_t    check_printer_state(http_t *http, const char *uri,
                                            const char *resource,
-                                           const char *user, int version,
-                                           int job_id);
+                                           const char *user, int version);
 #ifdef HAVE_LIBZ
 static void            compress_files(int num_files, char **files);
 #endif /* HAVE_LIBZ */
@@ -157,7 +156,7 @@ static ipp_t                *new_request(ipp_op_t op, int version, const char *uri,
                                     ipp_attribute_t *doc_handling_sup);
 static const char      *password_cb(const char *);
 static void            report_attr(ipp_attribute_t *attr);
-static int             report_printer_state(ipp_t *ipp, int job_id);
+static void            report_printer_state(ipp_t *ipp);
 #if defined(HAVE_GSSAPI) && defined(HAVE_XPC)
 static int             run_as_user(int argc, char *argv[], uid_t uid,
                                    const char *device_uri, int fd);
@@ -848,7 +847,7 @@ main(int  argc,                             /* I - Number of command-line args */
 
        _cupsLangPrintFilter(stderr, "INFO", _("The printer is busy."));
 
-        report_printer_state(supported, 0);
+        report_printer_state(supported);
 
        sleep(delay);
 
@@ -949,7 +948,7 @@ main(int  argc,                             /* I - Number of command-line args */
       {
        _cupsLangPrintFilter(stderr, "INFO", _("The printer is busy."));
 
-       report_printer_state(supported, 0);
+       report_printer_state(supported);
 
        sleep(delay);
 
@@ -1057,7 +1056,7 @@ main(int  argc,                           /* I - Number of command-line args */
                                        "multiple-document-handling-supported",
                                        IPP_TAG_KEYWORD);
 
-    report_printer_state(supported, 0);
+    report_printer_state(supported);
   }
   while (ipp_status > IPP_OK_CONFLICT);
 
@@ -1700,7 +1699,7 @@ main(int  argc,                           /* I - Number of command-line args */
   * Check the printer state and report it if necessary...
   */
 
-  check_printer_state(http, uri, resource, argv[2], version, job_id);
+  check_printer_state(http, uri, resource, argv[2], version);
 
  /*
   * Collect the final page count as needed...
@@ -1825,9 +1824,8 @@ check_printer_state(
     const char  *uri,                  /* I - Printer URI */
     const char  *resource,             /* I - Resource path */
     const char  *user,                 /* I - Username, if any */
-    int         version,               /* I - IPP version */
-    int         job_id)
-{
+    int         version)               /* I - IPP version */
+ {
   ipp_t                *request,               /* IPP request */
                *response;              /* IPP response */
   ipp_attribute_t *attr;               /* Attribute in response */
@@ -1856,7 +1854,7 @@ check_printer_state(
 
   if ((response = cupsDoRequest(http, request, resource)) != NULL)
   {
-    report_printer_state(response, job_id);
+    report_printer_state(response);
 
     if ((attr = ippFindAttribute(response, "printer-state",
                                 IPP_TAG_ENUM)) != NULL)
@@ -1992,8 +1990,7 @@ monitor_printer(
       monitor->printer_state = check_printer_state(http, monitor->uri,
                                                    monitor->resource,
                                                   monitor->user,
-                                                  monitor->version,
-                                                  monitor->job_id);
+                                                  monitor->version);
 
       if (monitor->job_id > 0)
       {
@@ -2399,6 +2396,8 @@ report_attr(ipp_attribute_t *attr)        /* I - Attribute */
 
   *valptr = '\0';
 
+  _cupsMutexLock(&report_mutex);
+
   if ((cached = cupsGetOption(attr->name, num_attr_cache,
                               attr_cache)) == NULL || strcmp(cached, value))
   {
@@ -2410,6 +2409,8 @@ report_attr(ipp_attribute_t *attr)        /* I - Attribute */
                                    &attr_cache);
     fprintf(stderr, "ATTR: %s=%s\n", attr->name, value);
   }
+
+  _cupsMutexUnlock(&report_mutex);
 }
 
 
@@ -2417,11 +2418,9 @@ report_attr(ipp_attribute_t *attr)       /* I - Attribute */
  * 'report_printer_state()' - Report the printer state.
  */
 
-static int                             /* O - Number of reasons shown */
-report_printer_state(ipp_t *ipp,       /* I - IPP response */
-                     int   job_id)     /* I - Current job ID */
+static void
+report_printer_state(ipp_t *ipp)       /* I - IPP response */
 {
-  int                  count;          /* Count of reasons shown... */
   ipp_attribute_t      *pa,            /* printer-alert */
                        *pam,           /* printer-alert-message */
                        *psm,           /* printer-state-message */
@@ -2482,7 +2481,7 @@ report_printer_state(ipp_t *ipp,  /* I - IPP response */
 
   if ((reasons = ippFindAttribute(ipp, "printer-state-reasons",
                                   IPP_TAG_KEYWORD)) == NULL)
-    return (0);
+    return;
 
   update_reasons(reasons, NULL);
 
@@ -2527,8 +2526,6 @@ report_printer_state(ipp_t *ipp,  /* I - IPP response */
                                    IPP_TAG_KEYWORD)) != NULL)
       report_attr(marker);
   }
-
-  return (count);
 }
 
 
@@ -2834,7 +2831,7 @@ update_reasons(ipp_attribute_t *attr,     /* I - printer-state-reasons or NULL */
           op ? op : ' ', cupsArrayCount(new_reasons),
          cupsArrayCount(state_reasons));
 
-  _cupsMutexLock(&state_mutex);
+  _cupsMutexLock(&report_mutex);
 
   if (op == '+')
   {
@@ -2943,7 +2940,7 @@ update_reasons(ipp_attribute_t *attr,     /* I - printer-state-reasons or NULL */
     }
   }
 
-  _cupsMutexUnlock(&state_mutex);
+  _cupsMutexUnlock(&report_mutex);
 
  /*
   * Report changes and return...
index 3f9c33a94744c3cd69f9958d56334812ceb82b6b..125aa8141bdd131284f9bd3021cffabfeeb72a24 100644 (file)
@@ -85,7 +85,7 @@ main(int  argc,                               /* I - Number of command-line arguments (6 or 7) */
                device_fd,              /* Parallel device */
                use_bc;                 /* Read back-channel data? */
   int          copies;                 /* Number of copies to print */
-  size_t       tbytes;                 /* Total number of bytes written */
+  ssize_t      tbytes;                 /* Total number of bytes written */
   struct termios opts;                 /* Parallel port options */
 #if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
   struct sigaction action;             /* Actions for POSIX signals */
index c380f280f36e9668f4e052b6adf3a250855e6c7d..6cbdf8091acb495b1eba23acebe9c89b0dd67654 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id$"
  *
- *   SNMP supplies test program for the Common UNIX Printing System (CUPS).
+ *   SNMP supplies test program for CUPS.
  *
- *   Copyright 2008 by Apple Inc.
+ *   Copyright 2008-2011 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
index 2f00019979226a77737da60933a7b10ea64a3412..7f634328df284070f53a85230591a840ffcf0c60 100644 (file)
@@ -269,7 +269,7 @@ static Boolean find_device_cb(void *refcon, io_service_t obj);
 static Boolean list_device_cb(void *refcon, io_service_t obj);
 static CFStringRef cfstr_create_trim(const char *cstr);
 static CFStringRef copy_value_for_key(CFStringRef deviceID, CFStringRef *keys);
-static kern_return_t load_classdriver(CFStringRef driverPath, printer_interface_t intf, classdriver_t ***printerDriver);
+static kern_return_t load_classdriver(CFStringRef driverPath, printer_interface_t interface, classdriver_t ***printerDriver);
 static kern_return_t load_printerdriver(CFStringRef *driverBundlePath);
 static kern_return_t registry_close(void);
 static kern_return_t registry_open(CFStringRef *driverBundlePath);
@@ -346,6 +346,8 @@ print_device(const char *uri,               /* I - Device URI */
   struct timespec cond_timeout;                /* pthread condition timeout */
 
 
+  (void)uri;
+
  /*
   * See if the side-channel descriptor is valid...
   */
@@ -909,6 +911,9 @@ static void *read_thread(void *reference)
   uint64_t                     start,
                                delay;
 
+
+  (void)reference;
+
   /* Calculate what 250 milliSeconds are in mach absolute time...
    */
   mach_timebase_info(&timeBaseInfo);
@@ -984,6 +989,8 @@ sidechannel_thread(void *reference)
   int                  datalen;        /* Request/response data size */
 
 
+  (void)reference;
+
   do
   {
     datalen = sizeof(data);
@@ -1175,6 +1182,9 @@ static Boolean list_device_cb(void *refcon,
 {
   Boolean keepRunning = (obj != 0x0);
 
+
+  (void)refcon;
+
   if (keepRunning)
   {
     CFStringRef deviceIDString = NULL;
@@ -1318,6 +1328,9 @@ static Boolean find_device_cb(void *refcon,
 static void status_timer_cb(CFRunLoopTimerRef timer,
                            void *info)
 {
+  (void)timer;
+  (void)info;
+
   fputs("STATE: +offline-report\n", stderr);
   _cupsLangPrintFilter(stderr, "INFO", _("Printer is offline."));
 
@@ -1398,7 +1411,7 @@ static void release_deviceinfo(CFStringRef *make,
  */
 
 static kern_return_t load_classdriver(CFStringRef          driverPath,
-                                     printer_interface_t   intf,
+                                     printer_interface_t   interface,
                                      classdriver_t         ***printerDriver)
 {
   kern_return_t        kr = kUSBPrinterClassDeviceNotOpen;
@@ -1420,7 +1433,7 @@ static kern_return_t load_classdriver(CFStringRef     driverPath,
                                             _cupsFileCheckFilter, NULL);
 
   if (result && driverPath)
-    return (load_classdriver(NULL, intf, printerDriver));
+    return (load_classdriver(NULL, interface, printerDriver));
   else if (result)
     return (kr);
 
@@ -1452,15 +1465,15 @@ static kern_return_t load_classdriver(CFStringRef           driverPath,
        {
          classdriver_t **genericDriver = NULL;
          if (driverPath != NULL && CFStringCompare(driverPath, kUSBGenericTOPrinterClassDriver, 0) != kCFCompareEqualTo)
-           kr = load_classdriver(NULL, intf, &genericDriver);
+           kr = load_classdriver(NULL, interface, &genericDriver);
 
          if (kr == kIOReturnSuccess)
          {
-           (*driver)->interface = intf;
+           (*driver)->interface = interface;
            (*driver)->Initialize(driver, genericDriver);
 
            (*driver)->plugin = plugin;
-           (*driver)->interface = intf;
+           (*driver)->interface = interface;
            *printerDriver = driver;
          }
        }
@@ -1503,20 +1516,20 @@ static kern_return_t load_printerdriver(CFStringRef *driverBundlePath)
   IOCFPlugInInterface  **iodev = NULL;
   SInt32               score;
   kern_return_t                kr;
-  printer_interface_t  intf;
+  printer_interface_t  interface;
   HRESULT              res;
 
   kr = IOCreatePlugInInterfaceForService(g.printer_obj, kIOUSBInterfaceUserClientTypeID, kIOCFPlugInInterfaceID, &iodev, &score);
   if (kr == kIOReturnSuccess)
   {
-    if ((res = (*iodev)->QueryInterface(iodev, USB_INTERFACE_KIND, (LPVOID *) &intf)) == noErr)
+    if ((res = (*iodev)->QueryInterface(iodev, USB_INTERFACE_KIND, (LPVOID *) &interface)) == noErr)
     {
       *driverBundlePath = IORegistryEntryCreateCFProperty(g.printer_obj, kUSBClassDriverProperty, NULL, kNilOptions);
 
-      kr = load_classdriver(*driverBundlePath, intf, &g.classdriver);
+      kr = load_classdriver(*driverBundlePath, interface, &g.classdriver);
 
       if (kr != kIOReturnSuccess)
-       (*intf)->Release(intf);
+       (*interface)->Release(interface);
     }
     IODestroyPlugInInterface(iodev);
   }
@@ -1674,7 +1687,7 @@ static void copy_devicestring(io_service_t usbInterface,
   IOCFPlugInInterface  **iodev = NULL;
   SInt32               score;
   kern_return_t                kr;
-  printer_interface_t  intf;
+  printer_interface_t  interface;
   HRESULT              res;
   classdriver_t        **klassDriver = NULL;
   CFStringRef          driverBundlePath;
@@ -1685,19 +1698,19 @@ static void copy_devicestring(io_service_t usbInterface,
                                         &iodev, &score)) == kIOReturnSuccess)
   {
     if ((res = (*iodev)->QueryInterface(iodev, USB_INTERFACE_KIND, (LPVOID *)
-                                       &intf)) == noErr)
+                                       &interface)) == noErr)
     {
-      (*intf)->GetLocationID(intf, deviceLocation);
-      (*intf)->GetInterfaceNumber(intf, interfaceNumber);
+      (*interface)->GetLocationID(interface, deviceLocation);
+      (*interface)->GetInterfaceNumber(interface, interfaceNumber);
 
       driverBundlePath = IORegistryEntryCreateCFProperty(usbInterface,
                                                         kUSBClassDriverProperty,
                                                         NULL, kNilOptions);
 
-      kr = load_classdriver(driverBundlePath, intf, &klassDriver);
+      kr = load_classdriver(driverBundlePath, interface, &klassDriver);
 
       if (kr != kIOReturnSuccess && driverBundlePath != NULL)
-       kr = load_classdriver(NULL, intf, &klassDriver);
+       kr = load_classdriver(NULL, interface, &klassDriver);
 
       if (kr == kIOReturnSuccess && klassDriver != NULL)
          kr = copy_deviceid(klassDriver, deviceID);
@@ -1707,7 +1720,7 @@ static void copy_devicestring(io_service_t usbInterface,
       if (driverBundlePath != NULL)
        CFRelease(driverBundlePath);
 
-      /* (*intf)->Release(intf); */
+      /* (*interface)->Release(interface); */
     }
     IODestroyPlugInInterface(iodev);
   }
index 698457a39d811ab43a7174cfca10eecb21d95716..4c410174be0398a043736b98e42c6a28542eb18c 100644 (file)
@@ -56,7 +56,7 @@ print_device(const char *uri,         /* I - Device URI */
 {
   int          use_bc;                 /* Use backchannel path? */
   int          device_fd;              /* USB device */
-  size_t       tbytes;                 /* Total number of bytes written */
+  ssize_t      tbytes;                 /* Total number of bytes written */
   struct termios opts;                 /* Parallel port options */
 
 
index 171188dbd95245811a99536af3b2ae0345cac62a..65fba47464f635a6be5c24a07877c3df49eb44cc 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: usb.c 7687 2008-06-24 01:28:36Z mike $"
  *
- *   USB port backend for the Common UNIX Printing System (CUPS).
+ *   USB port backend for CUPS.
  *
- *   Copyright 2007-2009 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
index d294e6d0c2da4188d95ea92e9ea63d52cfdc41a3..9c60400d612f91c1b92426071096188caa334b6a 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $"
 #
-#   Berkeley commands makefile for the Common UNIX Printing System (CUPS).
+#   Berkeley commands makefile for CUPS.
 #
-#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
index cae6e5a2679f5c3588118731ee06df245807c0f8..a88a6eb1c420b9e8a4117396fea28568eb2a84f4 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: help-index.c 7717 2008-07-04 02:35:33Z mike $"
  *
- *   Online help index routines for the Common UNIX Printing System (CUPS).
+ *   Online help index routines for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -599,7 +599,7 @@ helpSearchIndex(help_index_t *hi,   /* I - Index */
 
   search->nodes  = cupsArrayNew((cups_array_func_t)help_sort_by_name, NULL);
   search->sorted = cupsArrayNew((cups_array_func_t)help_sort_by_score, NULL);
-  
+
   if (!search->nodes || !search->sorted)
   {
     cupsArrayDelete(search->nodes);
@@ -639,8 +639,8 @@ helpSearchIndex(help_index_t *hi,   /* I - Index */
 
        node->score = matches;
 
-       cupsArrayAdd(search->nodes, node);      
-       cupsArrayAdd(search->sorted, node);      
+       cupsArrayAdd(search->nodes, node);
+       cupsArrayAdd(search->sorted, node);
       }
     }
 
index d64cec02a945ab8a836f9eb0420c1c6c89f15ea4..676be67566087db05de22ade44dd5da9d9010a49 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: help-index.h 7615 2008-05-25 07:17:07Z mike $"
  *
- *   Online help index definitions for the Common UNIX Printing System (CUPS).
+ *   Online help index definitions for CUPS.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 7c0b6b628afeb896a83abe26e49d79d40e781f63..6cc7b61ce7b6f1b4ca64c4b6e0da387cd456f0a8 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id$"
  *
- *   Online help CGI for the Common UNIX Printing System (CUPS).
+ *   Online help CGI for CUPS.
  *
- *   Copyright 2007-2009 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index fe9bc52db841e7156cdbf1af3153ec09efec8fd0..777e57b1b2871e827dbfa5cc836bb6d22835eec2 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: ipp-var.c 7940 2008-09-16 00:45:16Z mike $"
  *
- *   CGI <-> IPP variable routines for the Common UNIX Printing System (CUPS).
+ *   CGI <-> IPP variable routines for CUPS.
  *
- *   Copyright 2007-2009 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index cf1f6e680d023030c6d6fc2f84d6f3328113de70..dc79aec708785a1765885e229b7f35c5356b46c0 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: jobs.c 7237 2008-01-22 01:38:39Z mike $"
  *
- *   Job status CGI for the Common UNIX Printing System (CUPS).
+ *   Job status CGI for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 175906b8b5e6c1700f2759a5c9bb966594743c27..708cc5b0b6a03145c7d194ff1ae7d60b4a4479ff 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: search.c 7720 2008-07-11 22:46:21Z mike $"
  *
- *   Search routines for the Common UNIX Printing System (CUPS).
+ *   Search routines for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 6d9285a0209c7a1792fa01280f1c43c4b7e62c34..88fcce4f5f0092cba6ec81e541ee7a123f526bef 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: testcgi.c 6649 2007-07-11 21:46:42Z mike $"
  *
- *   CGI test program for the Common UNIX Printing System (CUPS).
+ *   CGI test program for CUPS.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2005 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -61,7 +61,7 @@ main(int  argc,                               /* I - Number of command-line arguments */
   }
   else
     puts("FAIL (init)");
-    
+
  /*
   * Return with no errors...
   */
index 0ef102e7400c8b51b1e85d27f68575f56560682c..3defe45e5daf31c9157e3c63956e0a01276bc7f4 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: testhi.c 6649 2007-07-11 21:46:42Z mike $"
  *
- *   Help index test program for the Common UNIX Printing System (CUPS).
+ *   Help index test program for CUPS.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 9ecc95c1cea7e621a5482938d6193a06de0afcd6..a257fc06f0c3c930099a043e16e273d834b2d713 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: testtemplate.c 6649 2007-07-11 21:46:42Z mike $"
  *
- *   CGI template test program for the Common UNIX Printing System (CUPS).
+ *   CGI template test program for CUPS.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 4e3963e21a8f4cb7643f68021a10773d76f804a7..5114174f159452786a7ca5e21e2c8a553549aec9 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id: Makefile 7938 2008-09-11 23:53:59Z mike $"
 #
-#   Configuration file makefile for the Common UNIX Printing System (CUPS).
+#   Configuration file makefile for CUPS.
 #
-#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1993-2006 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
index 43c4664870b6c75045e5d5c5be3e0334d7ae14bc..85046973299482201b7d0bfa563d66d0175d72cb 100644 (file)
@@ -1,9 +1,9 @@
 dnl
 dnl "$Id$"
 dnl
-dnl   32/64-bit library support stuff for the Common UNIX Printing System (CUPS).
+dnl   32/64-bit library support stuff for CUPS.
 dnl
-dnl   Copyright 2007-2009 by Apple Inc.
+dnl   Copyright 2007-2011 by Apple Inc.
 dnl   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
index 88a2e43788c7ba0326082755be4ca1b78caf4e7e..b1a7337d580db03e39ad0581aed30b2b3d23f5cb 100644 (file)
@@ -20,11 +20,11 @@ dnl Set the name of the config header file...
 AC_CONFIG_HEADER(config.h)
 
 dnl Version number information...
-CUPS_VERSION="1.5svn"
+CUPS_VERSION="1.5b1"
 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'`"
-fi
+#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'`"
+#fi
 CUPS_BUILD="cups-$CUPS_VERSION"
 
 AC_ARG_WITH(cups_build, [  --with-cups-build       set "cups-config --build" string ],
index 34050c7ef2aa5db46665b838f1949e9f6cf33584..2afbb3ff007453e4a120a9b12b3f06fd7cb6302d 100644 (file)
@@ -145,10 +145,10 @@ if test -n "$GCC"; then
 
        if test "x$with_optim" = x; then
                # Add useful warning options for tracking down problems...
-               OPTIM="-Wall -Wno-format-y2k $OPTIM"
+               OPTIM="-Wall -Wno-format-y2k -Wunused $OPTIM"
                # Additional warning options for development testing...
                if test -d .svn; then
-                       OPTIM="-Wshadow -Wunused $OPTIM"
+                       OPTIM="-Wshadow $OPTIM"
                        CFLAGS="-Werror-implicit-function-declaration $CFLAGS"
                        PHPOPTIONS="-Wno-shadow"
                fi
index c46afec78c44948631d87c6d2d0e9d89f4a33b26..5b1d89b7ba08d00fd4b67986ee6d76482632b8c3 100644 (file)
@@ -1,9 +1,9 @@
 dnl
 dnl "$Id: cups-directories.m4 7799 2008-07-25 20:06:08Z mike $"
 dnl
-dnl   Directory stuff for the Common UNIX Printing System (CUPS).
+dnl   Directory stuff for CUPS.
 dnl
-dnl   Copyright 2007 by Apple Inc.
+dnl   Copyright 2007-2011 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
@@ -153,7 +153,7 @@ if test x$rcdir = x; then
                        # Darwin and MacOS X...
                        if test -x /sbin/launchd; then
                                INITDDIR="/System/Library/LaunchDaemons"
-                       else 
+                       else
                                INITDDIR="/System/Library/StartupItems/PrintingServices"
                        fi
                        ;;
index cd209cdbd0aac4dd7a25acdcffa281896bb22987..1999be3ffc519939fcb437793b295c91c85ab9af 100644 (file)
@@ -1,13 +1,9 @@
 dnl
 dnl "$Id: cups-dnssd.m4 7890 2008-08-29 22:19:39Z mike $"
 dnl
-dnl   DNS Service Discovery (aka Bonjour) stuff for the Common UNIX Printing System (CUPS).
+dnl   DNS Service Discovery (aka Bonjour) stuff for CUPS.
 dnl
-dnl   http://www.dns-sd.org
-dnl   http://www.multicastdns.org/
-dnl   http://developer.apple.com/networking/bonjour/
-dnl
-dnl   Copyright 2007-2009 by Apple Inc.
+dnl   Copyright 2007-2011 by Apple Inc.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
 dnl   property of Apple Inc. and are protected by Federal copyright
index dc109289031b6c6b833389fbd53cbaa494e596e8..04977ee6493b94fd57229e05dd567cfb8baf26e7 100644 (file)
@@ -1,9 +1,9 @@
 dnl
 dnl   "$Id$"
 dnl
-dnl   GSSAPI/Kerberos library detection.
+dnl   GSSAPI/Kerberos library detection for CUPS.
 dnl
-dnl   Copyright 2007-2009 by Apple Inc.
+dnl   Copyright 2007-2011 by Apple Inc.
 dnl   Copyright 2006-2007 by Easy Software Products.
 dnl
 dnl   This file contains Kerberos support code, copyright 2006 by
index dbfcb499cb2e63ce324a04069566b0db66798720..8243de7878a0666835fe2c502dd7090cc53e4967 100644 (file)
@@ -1,9 +1,9 @@
 dnl
 dnl "$Id: cups-largefile.m4 6649 2007-07-11 21:46:42Z mike $"
 dnl
-dnl   Large file support stuff for the Common UNIX Printing System (CUPS).
+dnl   Large file support stuff for CUPS.
 dnl
-dnl   Copyright 2007 by Apple Inc.
+dnl   Copyright 2007-2011 by Apple Inc.
 dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
index 678faed074a4ebd15aeea10ad3b280070a64a580..16c017ce41352062d442e84eede91f6e2ed3c49b 100644 (file)
@@ -1,9 +1,9 @@
 dnl
 dnl "$Id: cups-ldap.m4 7800 2008-07-25 21:01:34Z mike $"
 dnl
-dnl   LDAP configuration stuff for the Common UNIX Printing System (CUPS).
+dnl   LDAP configuration stuff for CUPS.
 dnl
-dnl   Copyright 2007-2009 by Apple Inc.
+dnl   Copyright 2007-2011 by Apple Inc.
 dnl   Copyright 2003-2006 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
index 614548f376326853367cc5f3c87a6ea0e5a98d03..d6026b24b051166b38e241f86716e7816895d3cf 100644 (file)
@@ -1,9 +1,9 @@
 dnl
 dnl "$Id: cups-libtool.m4 6649 2007-07-11 21:46:42Z mike $"
 dnl
-dnl   Libtool stuff for the Common UNIX Printing System (CUPS).
+dnl   Libtool stuff for CUPS.
 dnl
-dnl   Copyright 2007-2009 by Apple Inc.
+dnl   Copyright 2007-2011 by Apple Inc.
 dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
index 44d31369ba1b13dc0b3947e18a7d1fdc4e57cc92..a40fb565172fadefd7330e1cbd78093cc8203932 100644 (file)
@@ -1,9 +1,9 @@
 dnl
 dnl "$Id: cups-manpages.m4 6649 2007-07-11 21:46:42Z mike $"
 dnl
-dnl   Manpage stuff for the Common UNIX Printing System (CUPS).
+dnl   Manpage stuff for CUPS.
 dnl
-dnl   Copyright 2007 by Apple Inc.
+dnl   Copyright 2007-2011 by Apple Inc.
 dnl   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
index bf673025eacf621755e3869fd214127c47db4d1d..b97fb4a496e1209e6f68ef2bb9733bd6438100df 100644 (file)
@@ -1,9 +1,9 @@
 dnl
 dnl "$Id: cups-network.m4 7918 2008-09-08 22:03:01Z mike $"
 dnl
-dnl   Networking stuff for the Common UNIX Printing System (CUPS).
+dnl   Networking stuff for CUPS.
 dnl
-dnl   Copyright 2007-2008 by Apple Inc.
+dnl   Copyright 2007-2011 by Apple Inc.
 dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
index ae81eb481c961e7540fe31d80a3612867995fc83..5b38975b5f96e2e623c98a0e1e569ce24202edd2 100644 (file)
@@ -1,9 +1,9 @@
 dnl
 dnl "$Id: cups-opsys.m4 6649 2007-07-11 21:46:42Z mike $"
 dnl
-dnl   Operating system stuff for the Common UNIX Printing System (CUPS).
+dnl   Operating system stuff for CUPS.
 dnl
-dnl   Copyright 2007 by Apple Inc.
+dnl   Copyright 2007-2011 by Apple Inc.
 dnl   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
index 1cb1efc9dd202c61fd8f87db30a36200310d7eca..9a281e7856cba1219c1b4f67b09fd8e827810d29 100644 (file)
@@ -1,9 +1,9 @@
 dnl
 dnl "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $"
 dnl
-dnl   PAM stuff for the Common UNIX Printing System (CUPS).
+dnl   PAM stuff for CUPS.
 dnl
-dnl   Copyright 2007-2009 by Apple Inc.
+dnl   Copyright 2007-2011 by Apple Inc.
 dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
index 639530dba5c03e6471fe14f0c2d92db58c103e4c..901068c27bbd8f5432f992c3a96d0cc9de6c01a8 100644 (file)
@@ -1,9 +1,9 @@
 dnl
 dnl "$Id$"
 dnl
-dnl   Select/poll stuff for the Common UNIX Printing System (CUPS).
+dnl   Select/poll stuff for CUPS.
 dnl
-dnl   Copyright 2007 by Apple Inc.
+dnl   Copyright 2007-2011 by Apple Inc.
 dnl   Copyright 2006 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
index 36a00b7f196e3873d8c1bc4a2896f30d1c666c27..fdf1b4338ccf6db931f4894aff5cdae6f52e9172 100644 (file)
@@ -1,9 +1,9 @@
 dnl
 dnl "$Id: cups-slp.m4 7241 2008-01-22 22:34:52Z mike $"
 dnl
-dnl   OpenSLP configuration stuff for the Common UNIX Printing System (CUPS).
+dnl   OpenSLP configuration stuff for CUPS.
 dnl
-dnl   Copyright 2007-2009 by Apple Inc.
+dnl   Copyright 2007-2011 by Apple Inc.
 dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
index aa07c8950068b58c9dd0b2aebc2ebfe6dfb26b12..b95c79fa42d9a9f7ae4263d088a3771e4706ebac 100644 (file)
@@ -1,9 +1,9 @@
 dnl
 dnl "$Id: cups-threads.m4 6649 2007-07-11 21:46:42Z mike $"
 dnl
-dnl   Threading stuff for the Common UNIX Printing System (CUPS).
+dnl   Threading stuff for CUPS.
 dnl
-dnl   Copyright 2007-2009 by Apple Inc.
+dnl   Copyright 2007-2011 by Apple Inc.
 dnl   Copyright 1997-2005 by Easy Software Products, all rights reserved.
 dnl
 dnl   These coded instructions, statements, and computer programs are the
index 5b374f882565627d754cca9f74f09f6f226b1d0d..5e6359f7de3c0415394911de4806bf0097fedacb 100644 (file)
@@ -6,7 +6,8 @@ adminutil.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
 adminutil.o: ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
 adminutil.o: language-private.h ../cups/transcode.h thread-private.h
 adminutil.o: adminutil.h
-array.o: string-private.h ../config.h debug-private.h array.h versioning.h
+array.o: string-private.h ../config.h debug-private.h array-private.h array.h
+array.o: versioning.h
 attr.o: cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
 attr.o: array.h language.h string-private.h ../config.h debug-private.h
 attr.o: ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
@@ -250,7 +251,8 @@ adminutil.32.o: adminutil.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h ht
 adminutil.32.o: adminutil.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
 adminutil.32.o: adminutil.c  language-private.h ../cups/transcode.h thread-private.h
 adminutil.32.o: adminutil.c  adminutil.h
-array.32.o: array.c  string-private.h ../config.h debug-private.h array.h versioning.h
+array.32.o: array.c  string-private.h ../config.h debug-private.h array-private.h array.h
+array.32.o: array.c  versioning.h
 attr.32.o: attr.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
 attr.32.o: attr.c  array.h language.h string-private.h ../config.h debug-private.h
 attr.32.o: attr.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
@@ -494,7 +496,8 @@ adminutil.64.o: adminutil.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h ht
 adminutil.64.o: adminutil.c  ../cups/http.h md5-private.h ipp-private.h ../cups/ipp.h
 adminutil.64.o: adminutil.c  language-private.h ../cups/transcode.h thread-private.h
 adminutil.64.o: adminutil.c  adminutil.h
-array.64.o: array.c  string-private.h ../config.h debug-private.h array.h versioning.h
+array.64.o: array.c  string-private.h ../config.h debug-private.h array-private.h array.h
+array.64.o: array.c  versioning.h
 attr.64.o: attr.c  cups-private.h ../cups/cups.h file.h versioning.h ipp.h http.h
 attr.64.o: attr.c  array.h language.h string-private.h ../config.h debug-private.h
 attr.64.o: attr.c  ppd-private.h ../cups/ppd.h cups.h pwg-private.h http-private.h
index 0f929c8e4deadf1438345073acf67ac6c1ed25f4..4d5acf0d1b4d9a00840374201ede839d6ce55a3d 100644 (file)
@@ -1,9 +1,9 @@
 <!--
   "$Id: api-array.header 7266 2008-01-29 02:15:29Z mike $"
 
-  Array API header for the Common UNIX Printing System (CUPS).
+  Array API header for CUPS.
 
-  Copyright 2008-2009 by Apple Inc.
+  Copyright 2008-2011 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
index 30b34785c08d3624f93dd7470c0d9c27a88bf6a6..ac781af4280b8ede7e2fcb1731de3457bcf51d92 100644 (file)
@@ -1,9 +1,9 @@
 <!--
   "$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
 
-  CUPS API header for the Common UNIX Printing System (CUPS).
+  CUPS API header for CUPS.
 
-  Copyright 2008-2009 by Apple Inc.
+  Copyright 2008-2011 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
index 437e079b594da453efb849840cc2cef1af2ff3d6..f9f529805d80f8ef79122beb667dd2a3b244380a 100644 (file)
@@ -1,9 +1,9 @@
 <!--
   "$Id: api-filedir.header 7279 2008-01-31 01:50:44Z mike $"
 
-  File and Directory API header for the Common UNIX Printing System (CUPS).
+  File and Directory API header for CUPS.
 
-  Copyright 2008-2009 by Apple Inc.
+  Copyright 2008-2011 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
index 60d5918aa7f6c333e1a386c3968ec044e1426d80..5b7ee181fbb63cf8eaa2a59a17001bd78a2eb72a 100644 (file)
@@ -1,10 +1,9 @@
 <!--
   "$Id: api-filter.header 7616 2008-05-28 00:34:13Z mike $"
 
-  Filter and backend programming header for the Common UNIX Printing System
-  (CUPS).
+  Filter and backend programming header for CUPS.
 
-  Copyright 2008-2009 by Apple Inc.
+  Copyright 2008-2011 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
index af08740242054fa7e36d41b4e4664d8ba63a7b3d..5f245d75017745dee30a895f9af8b845796276ea 100644 (file)
@@ -1,9 +1,9 @@
 <!--
   "$Id: api-httpipp.header 7258 2008-01-28 00:15:05Z mike $"
 
-  HTTP and IPP API header for the Common UNIX Printing System (CUPS).
+  HTTP and IPP API header for CUPS.
 
-  Copyright 2007-2009 by Apple Inc.
+  Copyright 2007-2011 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
index 892ed1c7e7d430b7671cbf9254b26ea1105d07ed..ecb14b601e50a7ecee7e23880030d902ba5b5798 100644 (file)
@@ -1,10 +1,9 @@
 <!--
   "$Id: api-cups.header 7279 2008-01-31 01:50:44Z mike $"
 
-  Introduction to CUPS programming header for the Common UNIX Printing System
-  (CUPS).
+  Introduction to CUPS programming header for CUPS.
 
-  Copyright 2008-2009 by Apple Inc.
+  Copyright 2008-2011 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
index 8763d99962beeeb4ade647fce99ce44af0396126..9809c86989e6a5905c6d0ebd97401be18148db5e 100644 (file)
@@ -1,9 +1,9 @@
 <!--
   "$Id: api-ppd.header 7616 2008-05-28 00:34:13Z mike $"
 
-  PPD API header for the Common UNIX Printing System (CUPS).
+  PPD API header for CUPS.
 
-  Copyright 2008-2009 by Apple Inc.
+  Copyright 2008-2011 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
index 07ff73c59f698228bf8afb12e8a17debcfe3db2a..b2b4679b166df0fc4bb003dd54f2e206692c5bc4 100644 (file)
@@ -722,7 +722,7 @@ cupsArrayNew2(cups_array_func_t  f, /* I - Comparison function or @code NULL@ fo
  * The free function ("cf") is used to automatically free/release elements when
  * removed or the array is deleted.
  *
- * @since CUPS 1.5@
+ * @since CUPS 1.5/Mac OS X 10.7@
  */
 
 cups_array_t *                         /* O - Array */
index c74e1490fe223f0ed80b41e2e5b1e1a755348c97..d62ac08fffaded259a21fbacc62efc98ec3001ec 100644 (file)
@@ -303,6 +303,9 @@ _cupsSetNegotiateAuthString(
                                        /* Output token */
 
 
+  (void)method;
+  (void)resource;
+
 #  ifdef __APPLE__
  /*
   * If the weak-linked GSSAPI/Kerberos library is not present, don't try
index ccfb7c49abc5979a22b4ae85ae266470ae1dab5f..d2e37ff8f56d5dafcaf4870ebb269ab6d6ef1fe3 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: backend.h 7810 2008-07-29 01:11:15Z mike $"
  *
- *   Backend definitions for the Common UNIX Printing System (CUPS).
+ *   Backend definitions for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2005 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -65,7 +65,7 @@ extern void           cupsBackendReport(const char *device_scheme,
                                          const char *device_id,
                                          const char *device_location)
                                          _CUPS_API_1_4;
-                                         
+
 
 #  ifdef __cplusplus
 }
index f1ad1fb6348aade58c9daaaf28d4d013cab9ee9e..716533c65926e7159fb3317c072471d7187967de 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   API definitions for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -170,13 +170,13 @@ typedef struct cups_job_s         /**** Job ****/
 } cups_job_t;
 
 typedef int (*cups_client_cert_cb_t)(http_t *http, void *tls,
-                                    cups_array_t *distinguished_names, 
+                                    cups_array_t *distinguished_names,
                                     void *user_data);
-                                       /**** Client credentials callback @since CUPS 1.5@ ****/
+                                       /**** Client credentials callback @since CUPS 1.5/Mac OS X 10.7@ ****/
 
 typedef int (*cups_server_cert_cb_t)(http_t *http, void *tls,
                                     cups_array_t *certs, void *user_data);
-                                       /**** Server credentials callback @since CUPS 1.5@ ****/
+                                       /**** Server credentials callback @since CUPS 1.5/Mac OS X 10.7@ ****/
 
 
 /*
index 85dd8076ac468dbd001eac45b19256b60dcf0914..362ea201b6c4df473f72fd222b040fff0aa6b565 100644 (file)
@@ -1,11 +1,11 @@
 /*
  * "$Id: dir.h 7026 2007-10-19 00:57:45Z mike $"
  *
- *   Public directory definitions for the Common UNIX Printing System (CUPS).
+ *   Public directory definitions for CUPS.
  *
  *   This set of APIs abstracts enumeration of directory entries.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
index 438f4cd455b74c3b5860cfcee3d0a2e5910a4ebc..7e2520c7dfe5139ba9925184159a0d874d064385 100644 (file)
@@ -286,7 +286,7 @@ ppdEmitAfterOrder(
   * Get the string...
   */
 
-  buffer = ppdEmitString(ppd, section, min_order);
+  buffer = ppdEmitString(ppd, section, limit ? min_order : 0.0);
 
  /*
   * Write it as needed and return...
index 4a08f6eeaaf1711721f90490d67221cbc709005a..d69c8a8dadb31707e964762a9f4875a65a60e275 100644 (file)
@@ -306,6 +306,8 @@ _cupsFileCheckFilter(
   const char   *prefix;                /* Messaging prefix */
 
 
+  (void)context;
+
   switch (result)
   {
     case _CUPS_FILE_CHECK_OK :
index 2aad7a2d3c50dbf2d05b01a634dc1b6b07af62db..5f02b5c91078bff8123dd8d8875a037dd0620e01 100644 (file)
@@ -1,14 +1,14 @@
 /*
  * "$Id: file.h 7460 2008-04-16 02:19:54Z mike $"
  *
- *   Public file definitions for the Common UNIX Printing System (CUPS).
+ *   Public file definitions for CUPS.
  *
  *   Since stdio files max out at 256 files on many systems, we have to
  *   write similar functions without this limit.  At the same time, using
  *   our own file functions allows us to provide transparent support of
  *   gzip'd print files, PPD files, etc.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
  *
  *   These coded instructions, statements, and computer programs are the
index 6fa7140c66a1d706ab480212661b549d4ff133b5..4c82a966c5e58419fb0a986f7f8baa9f1a200891 100644 (file)
@@ -414,7 +414,7 @@ httpAddrGetList(const char *hostname,       /* I - Hostname, IP address, or NULL for p
         portnum = 80;
       else if (!strcmp(service, "https"))
         portnum = 443;
-      else if (!strcmp(service, "ipp"))
+      else if (!strcmp(service, "ipp") || !strcmp(service, "ipps"))
         portnum = 631;
       else if (!strcmp(service, "lpd"))
         portnum = 515;
@@ -535,14 +535,17 @@ httpAddrGetList(const char *hostname,     /* I - Hostname, IP address, or NULL for p
       portnum = 80;
     else if (!strcmp(service, "https"))
       portnum = 443;
-    else if (!strcmp(service, "ipp"))
+    else if (!strcmp(service, "ipp") || !strcmp(service, "ipps"))
       portnum = 631;
     else if (!strcmp(service, "lpd"))
       portnum = 515;
     else if (!strcmp(service, "socket"))
       portnum = 9100;
     else
+    {
+      httpAddrFreeList(first);
       return (NULL);
+    }
 
     if (hostname && !strcasecmp(hostname, "localhost"))
     {
index 7357dddf42172c329e055a052c349ac3058105f1..4f7daa070fb4a8d825f6262f0b0c206b5735492b 100644 (file)
@@ -296,9 +296,9 @@ struct _http_s                              /**** HTTP connection structure. ****/
 #  endif /* HAVE_AUTHORIZATION_H */
   /**** New in CUPS 1.5 ****/
   http_tls_credentials_t tls_credentials;
-                                       /* TLS credentials @since CUPS 1.5@ */
-  _http_timeout_cb_t   timeout_cb;     /* Timeout callback @since CUPS 1.5@ */
-  void                 *timeout_data;  /* User data pointer @since CUPS 1.5@ */
+                                       /* TLS credentials @since CUPS 1.5/Mac OS X 10.7@ */
+  _http_timeout_cb_t   timeout_cb;     /* Timeout callback @since CUPS 1.5/Mac OS X 10.7@ */
+  void                 *timeout_data;  /* User data pointer @since CUPS 1.5/Mac OS X 10.7@ */
   struct timeval       timeout_value;  /* Timeout in seconds */
 #  ifdef HAVE_GSSAPI
   char                 gsshost[256];   /* Hostname for Kerberos */
index 36f47b715499ec594147f8fa37b7faedf8767022..0a628911be587501f6859a5243b4721419490823 100644 (file)
@@ -259,7 +259,7 @@ static BIO_METHOD   http_bio_methods =
  *
  * Use @code cupsArrayNew(NULL, NULL)@ to create a credentials array.
  *
- * @since CUPS 1.5@
+ * @since CUPS 1.5/Mac OS X 10.7@
  */
 
 int                                    /* O - 0 on success, -1 on error */
@@ -492,7 +492,7 @@ httpConnectEncrypt(
  * 'httpCopyCredentials()' - Copy the credentials associated with an encrypted
  *                          connection.
  *
- * @since CUPS 1.5@
+ * @since CUPS 1.5/Mac OS X 10.7@
  */
 
 int                                    /* O - Status of call (0 = success) */
@@ -2364,7 +2364,7 @@ httpSetAuthString(http_t     *http,       /* I - Connection to server */
  * 'httpSetCredentials()' - Set the credentials associated with an encrypted
  *                         connection.
  *
- * @since CUPS 1.5@
+ * @since CUPS 1.5/Mac OS X 10.7@
  */
 
 int                                            /* O - Status of call (0 = success) */
index 6ac8e110e37c01efc6446d4e25dd4114700fdc5e..2c915e58808d3296f6b6f844cb8e0920e59cbe2e 100644 (file)
@@ -251,7 +251,7 @@ typedef enum http_status_e          /**** HTTP status codes ****/
   HTTP_NOT_SUPPORTED,                  /* HTTP version not supported */
 
   HTTP_AUTHORIZATION_CANCELED = 1000,  /* User canceled authorization @since CUPS 1.4@ */
-  HTTP_PKI_ERROR,                      /* Error negotiating a secure connection @since CUPS 1.5@ */
+  HTTP_PKI_ERROR,                      /* Error negotiating a secure connection @since CUPS 1.5/Mac OS X 10.7@ */
   HTTP_WEBIF_DISABLED                  /* Web interface is disabled @private@ */
 } http_status_t;
 
@@ -318,7 +318,7 @@ typedef struct http_addrlist_s              /**** Socket address list, which is
 
 typedef struct _http_s http_t;         /**** HTTP connection type ****/
 
-typedef struct http_credential_s       /**** Credential data @since CUPS 1.5@ ****/
+typedef struct http_credential_s       /**** Credential data @since CUPS 1.5/Mac OS X 10.7@ ****/
 {
   void         *data;                  /* Pointer to credential data */
   size_t       datalen;                /* Credential length */
@@ -451,8 +451,8 @@ extern void         httpSetAuthString(http_t *http, const char *scheme,
 extern int             httpAddCredential(cups_array_t *credentials,
                                          const void *data, size_t datalen)
                                          _CUPS_API_1_5;
-extern int             httpCopyCredentials(http_t *http, 
-                                           cups_array_t **credentials) 
+extern int             httpCopyCredentials(http_t *http,
+                                           cups_array_t **credentials)
                                            _CUPS_API_1_5;
 extern void            httpFreeCredentials(cups_array_t *certs) _CUPS_API_1_5;
 extern int             httpSetCredentials(http_t *http, cups_array_t *certs)
index a6d4ed4596ef93e786dda0ebee5c11af1d3538a3..1ae9d0d53b11af8ce063dce15a7454df74c45e14 100644 (file)
@@ -3,7 +3,7 @@
  *
  *   Internet Printing Protocol definitions for CUPS.
  *
- *   Copyright 2007-2010 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -313,8 +313,8 @@ typedef enum ipp_status_e           /**** IPP status codes ****/
   IPP_MULTIPLE_JOBS_NOT_SUPPORTED,     /* server-error-multiple-document-jobs-not-supported */
   IPP_PRINTER_IS_DEACTIVATED,          /* server-error-printer-is-deactivated */
 
-  IPP_AUTHENTICATION_CANCELED = 0x1000,        /* Authentication canceled by user @since CUPS 1.5@ */
-  IPP_PKI_ERROR,                       /* Error negotiating a secure connection @since CUPS 1.5@ */
+  IPP_AUTHENTICATION_CANCELED = 0x1000,        /* Authentication canceled by user @since CUPS 1.5/Mac OS X 10.7@ */
+  IPP_PKI_ERROR,                       /* Error negotiating a secure connection @since CUPS 1.5/Mac OS X 10.7@ */
   IPP_UPGRADE_REQUIRED                 /* TLS upgrade required */
 } ipp_status_t;
 #define IPP_ERROR_JOB_CANCELLED IPP_ERROR_JOB_CANCELED
index e8075744afde73560d1ec36a5ecbee8f983c170d..91d2012bd9da0b80325250eafa8ba16856818da5 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: language.h 6649 2007-07-11 21:46:42Z mike $"
  *
- *   Multi-language support for the Common UNIX Printing System (CUPS).
+ *   Multi-language support for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 77a56622c6d1a4fa60edace8b90a0b61a773e191..90b83b758dca991a46137985686d9c59bcd14392 100644 (file)
@@ -1995,6 +1995,7 @@ _ppdCacheWriteFile(
   _pwg_map_t   *map;                   /* Current map */
   cups_option_t        *option;                /* Current option */
   const char   *value;                 /* Filter/pre-filter value */
+  char         newfile[1024];          /* New filename */
 
 
  /*
@@ -2011,7 +2012,8 @@ _ppdCacheWriteFile(
   * Open the file and write with compression...
   */
 
-  if ((fp = cupsFileOpen(filename, "w9")) == NULL)
+  snprintf(newfile, sizeof(newfile), "%s.N", filename);
+  if ((fp = cupsFileOpen(newfile, "w9")) == NULL)
   {
     _cupsSetError(IPP_INTERNAL_ERROR, strerror(errno), 0);
     return (0);
@@ -2142,7 +2144,14 @@ _ppdCacheWriteFile(
   * Close and return...
   */
 
-  return (!cupsFileClose(fp));
+  if (cupsFileClose(fp))
+  {
+    unlink(newfile);
+    return (0);
+  }
+
+  unlink(filename);
+  return (!rename(newfile, filename));
 }
 
 
index 7d12fade239a51a06e6061628502ca3a65be0b42..f66036f9ae310b8bd742c2acb63762fcd4953cbc 100644 (file)
@@ -274,7 +274,7 @@ typedef struct ppd_coption_s                /**** Custom Option @since CUPS 1.2/Mac OS X 10.5@
 } ppd_coption_t;
 
 typedef struct _ppd_cache_s _ppd_cache_t;
-                                       /**** PPD cache and mapping data @since CUPS 1.5@ @private@ ****/
+                                       /**** PPD cache and mapping data @since CUPS 1.5/Mac OS X 10.7@ @private@ ****/
 
 typedef struct ppd_file_s              /**** PPD File ****/
 {
@@ -340,7 +340,7 @@ typedef struct ppd_file_s           /**** PPD File ****/
   cups_array_t *cups_uiconstraints;    /* cupsUIConstraints @since CUPS 1.4/Mac OS X 10.6@ @private@ */
 
   /**** New in CUPS 1.5 ****/
-  _ppd_cache_t *cache;                 /* PPD cache and mapping data @since CUPS 1.5@ @private@ */
+  _ppd_cache_t *cache;                 /* PPD cache and mapping data @since CUPS 1.5/Mac OS X 10.7@ @private@ */
 } ppd_file_t;
 
 
index 4437accb5ef384d5174c58c777f29897938d0e55..1510df2d6eaab9263f4b0a5658845a048e9d3184 100644 (file)
@@ -187,7 +187,7 @@ enum cups_mode_e                    /**** cupsRasterOpen modes ****/
   CUPS_RASTER_READ = 0,                        /* Open stream for reading */
   CUPS_RASTER_WRITE = 1,               /* Open stream for writing */
   CUPS_RASTER_WRITE_COMPRESSED = 2,    /* Open stream for compressed writing @since CUPS 1.3/Mac OS X 10.5@ */
-  CUPS_RASTER_WRITE_PWG = 3            /* Open stream for compressed writing in PWG mode @since CUPS 1.5@ */
+  CUPS_RASTER_WRITE_PWG = 3            /* Open stream for compressed writing in PWG mode @since CUPS 1.5/Mac OS X 10.7@ */
 };
 
 typedef enum cups_mode_e cups_mode_t;  /**** cupsRasterOpen modes ****/
index 29cc01a7611e03667d66578cca0d429dab7bd158..ced5edd312e78e1aa7e45cf8e1f63c0e0459572b 100644 (file)
@@ -63,7 +63,7 @@ enum cups_sc_command_e                        /**** Request command codes ****/
   CUPS_SC_CMD_GET_STATE = 5,           /* Return the device state */
   CUPS_SC_CMD_SNMP_GET = 6,            /* Query an SNMP OID @since CUPS 1.4/Mac OS X 10.6@ */
   CUPS_SC_CMD_SNMP_GET_NEXT = 7,       /* Query the next SNMP OID @since CUPS 1.4/Mac OS X 10.6@ */
-  CUPS_SC_CMD_GET_CONNECTED = 8,       /* Return whether the backend is "connected" to the printer @since CUPS 1.5@ */
+  CUPS_SC_CMD_GET_CONNECTED = 8,       /* Return whether the backend is "connected" to the printer @since CUPS 1.5/Mac OS X 10.7@ */
   CUPS_SC_CMD_MAX                      /* End of valid values @private@ */
 };
 typedef enum cups_sc_command_e cups_sc_command_t;
index d5f6126f27cb79f1121e2d6d3385254f81a97ddb..2b43bf3433b71c6830f2fdf814c358b1884edd3d 100644 (file)
@@ -1425,6 +1425,9 @@ asn1_get_string(
     char          *string,             /* I  - String buffer */
     int           strsize)             /* I  - String buffer size */
 {
+  if (length > (bufend - *buffer))
+    length = bufend - *buffer;
+
   if (length < 0)
   {
    /*
index 7f8a07300558280e16d12e1f45f91bbb3722bfff..0efcb56793cfbd3b5748ff04a0dc291439c852ee 100644 (file)
@@ -1,7 +1,9 @@
 /*
- *   Windows SSPI SSL implementation for the Common UNIX Printing System (CUPS).
+ * "$Id$"
  *
- *   Copyright 2010 by Apple Inc.
+ *   Windows SSPI SSL implementation for CUPS.
+ *
+ *   Copyright 2010-2011 by Apple Inc.
  *
  *   These coded instructions, statements, and computer programs are the
  *   property of Apple Inc. and are protected by Federal copyright
  *
  * Contents:
  *
- *   _sspiAlloc()                  - Allocate and initialize SSPI/SSL data structure
- *   _sspiAccept()                 - Accept a new SSL connection
- *   _sspiConnect()                - Connect an SSL connection
- *   _sspiFree()                   - Close and deallocate SSPI/SSL connection
- *   _sspiGetCredentials()         - Get credentials associated with connection
- *   _sspiPending()                - Return number of bytes available to read
- *   _sspiRead()                   - Read a buffer of bytes
- *   _sspiSetAllowsAnyRoot()       - Set client policy for untrusted root certs
- *   _sspiSetAllowsExpiredCerts()  - Set client policy for expired certs
- *   _sspiWrite()                  - Write a buffer of bytes
- *   sspi_verify_certificate()     - Verify a server certificate
+ *   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
  */
 
 /*
@@ -30,7 +38,7 @@
 
 #include "sspi-private.h"
 #include "debug-private.h"
+
 
 /* required to link this library for certificate functions */
 #pragma comment(lib, "Crypt32.lib")
@@ -77,13 +85,13 @@ _sspiGetCredentials(_sspi_struct_t *conn,
                                        /* I - Cert container name */
                     const TCHAR    *cn,        /* I - Common name of certificate */
                     BOOL           isServer)
-                                       /* I - Is caller a server? */   
+                                       /* I - Is caller a server? */
 {
   HCERTSTORE           store = NULL;   /* Certificate store */
   PCCERT_CONTEXT       storedContext = NULL;
-                                       /* Context created from the store */ 
+                                       /* Context created from the store */
   PCCERT_CONTEXT       createdContext = NULL;
-                                       /* Context created by us */ 
+                                       /* Context created by us */
   DWORD                        dwSize = 0;     /* 32 bit size */
   PBYTE                        p = NULL;       /* Temporary storage */
   HCRYPTPROV           hProv = (HCRYPTPROV) NULL;
@@ -139,7 +147,7 @@ _sspiGetCredentials(_sspi_struct_t *conn,
   }
 
   dwSize = 0;
-       
+
   if (!CertStrToName(X509_ASN_ENCODING, cn, CERT_OID_NAME_STR,
                      NULL, NULL, &dwSize, NULL))
   {
@@ -172,10 +180,10 @@ _sspiGetCredentials(_sspi_struct_t *conn,
 
   storedContext = CertFindCertificateInStore(store, X509_ASN_ENCODING|PKCS_7_ASN_ENCODING,
                                              0, CERT_FIND_SUBJECT_NAME, &sib, NULL);
-       
+
   if (!storedContext)
   {
-   /* 
+   /*
     * If we couldn't find the context, then we'll
     * create a new one
     */
@@ -201,7 +209,7 @@ _sspiGetCredentials(_sspi_struct_t *conn,
 
     createdContext = CertCreateSelfSignCertificate(hProv, &sib, 0, &kpi, NULL, NULL,
                                                    &et, &exts);
-       
+
     if (!createdContext)
     {
       DEBUG_printf(("_sspiGetCredentials: CertCreateSelfSignCertificate failed: %x",
@@ -254,7 +262,7 @@ _sspiGetCredentials(_sspi_struct_t *conn,
  /*
   * Create an SSPI credential.
   */
-  Status = AcquireCredentialsHandle(NULL, UNISP_NAME, 
+  Status = AcquireCredentialsHandle(NULL, UNISP_NAME,
                                     isServer ? SECPKG_CRED_INBOUND:SECPKG_CRED_OUTBOUND,
                                     NULL, &SchannelCred, NULL, NULL, &conn->creds,
                                     &tsExpiry);
@@ -299,7 +307,7 @@ cleanup:
  */
 BOOL                                   /* O - 1 on success, 0 on failure */
 _sspiConnect(_sspi_struct_t *conn,     /* I - Client connection */
-             const CHAR *hostname)     /* I - Server hostname */       
+             const CHAR *hostname)     /* I - Server hostname */
 {
   PCCERT_CONTEXT       serverCert;     /* Server certificate */
   DWORD                        dwSSPIFlags;    /* SSL connection attributes we want */
@@ -379,18 +387,18 @@ _sspiConnect(_sspi_struct_t *conn,        /* I - Client connection */
 
   conn->decryptBufferUsed = 0;
 
- /* 
+ /*
   * Loop until the handshake is finished or an error occurs.
   */
   scRet = SEC_I_CONTINUE_NEEDED;
 
   while(scRet == SEC_I_CONTINUE_NEEDED        ||
         scRet == SEC_E_INCOMPLETE_MESSAGE     ||
-        scRet == SEC_I_INCOMPLETE_CREDENTIALS) 
+        scRet == SEC_I_INCOMPLETE_CREDENTIALS)
   {
     if ((conn->decryptBufferUsed == 0) || (scRet == SEC_E_INCOMPLETE_MESSAGE))
     {
-      if (conn->decryptBufferLength <= conn->decryptBufferUsed) 
+      if (conn->decryptBufferLength <= conn->decryptBufferUsed)
       {
         conn->decryptBufferLength += 4096;
         conn->decryptBuffer = (BYTE*) realloc(conn->decryptBuffer, conn->decryptBufferLength);
@@ -404,10 +412,10 @@ _sspiConnect(_sspi_struct_t *conn,        /* I - Client connection */
           goto cleanup;
         }
       }
-                       
-      cbData = recv(conn->sock, conn->decryptBuffer + conn->decryptBufferUsed, 
+
+      cbData = recv(conn->sock, conn->decryptBuffer + conn->decryptBufferUsed,
                     (int) (conn->decryptBufferLength - conn->decryptBufferUsed), 0);
-                
+
       if (cbData == SOCKET_ERROR)
       {
         DEBUG_printf(("_sspiConnect: recv failed: %d", WSAGetLastError()));
@@ -466,7 +474,7 @@ _sspiConnect(_sspi_struct_t *conn,  /* I - Client connection */
                                       &outBuffer, &dwSSPIOutFlags, &tsExpiry);
 
    /*
-    * If InitializeSecurityContext was successful (or if the error was 
+    * If InitializeSecurityContext was successful (or if the error was
     * one of the special extended ones), send the contends of the output
     * buffer to the server.
     */
@@ -477,7 +485,7 @@ _sspiConnect(_sspi_struct_t *conn,  /* I - Client connection */
       if (outBuffers[0].cbBuffer && outBuffers[0].pvBuffer)
       {
         cbData = send(conn->sock, outBuffers[0].pvBuffer, outBuffers[0].cbBuffer, 0);
-                   
+
         if ((cbData == SOCKET_ERROR) || !cbData)
         {
           DEBUG_printf(("_sspiConnect: send failed: %d", WSAGetLastError()));
@@ -505,7 +513,7 @@ _sspiConnect(_sspi_struct_t *conn,  /* I - Client connection */
       continue;
 
    /*
-    * If InitializeSecurityContext returned SEC_E_OK, then the 
+    * If InitializeSecurityContext returned SEC_E_OK, then the
     * handshake completed successfully.
     */
     if (scRet == SEC_E_OK)
@@ -563,7 +571,7 @@ _sspiConnect(_sspi_struct_t *conn,  /* I - Client connection */
 
    /*
     * If InitializeSecurityContext returned SEC_I_INCOMPLETE_CREDENTIALS,
-    * then the server just requested client authentication. 
+    * then the server just requested client authentication.
     */
     if (scRet == SEC_I_INCOMPLETE_CREDENTIALS)
     {
@@ -617,7 +625,7 @@ _sspiConnect(_sspi_struct_t *conn,  /* I - Client connection */
       ok = FALSE;
       goto cleanup;
     }
-    
+
    /*
     * Find out how big the header/trailer will be:
     */
@@ -669,7 +677,7 @@ _sspiAccept(_sspi_struct_t *conn)   /* I  - Client connection */
                 ASC_REQ_STREAM;
 
   conn->decryptBufferUsed = 0;
-    
+
  /*
   * Set OutBuffer for AcceptSecurityContext call
   */
@@ -681,11 +689,11 @@ _sspiAccept(_sspi_struct_t *conn) /* I  - Client connection */
 
   while (scRet == SEC_I_CONTINUE_NEEDED    ||
          scRet == SEC_E_INCOMPLETE_MESSAGE ||
-         scRet == SEC_I_INCOMPLETE_CREDENTIALS) 
+         scRet == SEC_I_INCOMPLETE_CREDENTIALS)
   {
     if ((conn->decryptBufferUsed == 0) || (scRet == SEC_E_INCOMPLETE_MESSAGE))
     {
-      if (conn->decryptBufferLength <= conn->decryptBufferUsed) 
+      if (conn->decryptBufferLength <= conn->decryptBufferUsed)
       {
         conn->decryptBufferLength += 4096;
         conn->decryptBuffer = (BYTE*) realloc(conn->decryptBuffer,
@@ -792,7 +800,7 @@ _sspiAccept(_sspi_struct_t *conn)   /* I  - Client connection */
     if (scRet == SEC_E_OK)
     {
      /*
-      * If there's extra data then save it for 
+      * If there's extra data then save it for
       * next time we go to decrypt
       */
       if (inBuffers[1].BufferType == SECBUFFER_EXTRA)
@@ -928,7 +936,7 @@ _sspiWrite(_sspi_struct_t *conn,    /* I  - Client connection */
     size_t chunk = min(conn->streamSizes.cbMaximumMessage,     /* Size of data to write */
                        bytesLeft);
     SECURITY_STATUS scRet;                                     /* SSPI status */
-               
+
    /*
     * Copy user data into the buffer, starting
     * just past the header
@@ -968,7 +976,7 @@ _sspiWrite(_sspi_struct_t *conn,    /* I  - Client connection */
     }
 
    /*
-    * Send the data. Remember the size of 
+    * Send the data. Remember the size of
     * the total data to send is the size
     * of the header, the size of the data
     * the caller passed in and the size
@@ -984,7 +992,7 @@ _sspiWrite(_sspi_struct_t *conn,    /* I  - Client connection */
       DEBUG_printf(("_sspiWrite: send failed: %ld", WSAGetLastError()));
       goto cleanup;
     }
-               
+
     bytesLeft -= (int) chunk;
     index += (int) chunk;
   }
@@ -1061,13 +1069,13 @@ _sspiRead(_sspi_struct_t *conn,         /* I  - Client connection */
     do
     {
      /*
-      * If there is not enough space in the 
+      * If there is not enough space in the
       * buffer, then increase it's size
       */
-      if (conn->decryptBufferLength <= conn->decryptBufferUsed) 
+      if (conn->decryptBufferLength <= conn->decryptBufferUsed)
       {
         conn->decryptBufferLength += 4096;
-        conn->decryptBuffer = (BYTE*) realloc(conn->decryptBuffer, 
+        conn->decryptBuffer = (BYTE*) realloc(conn->decryptBuffer,
                                               conn->decryptBufferLength);
 
         if (!conn->decryptBuffer)
@@ -1205,7 +1213,7 @@ _sspiRead(_sspi_struct_t *conn,           /* I  - Client connection */
     * then save those back in decryptBuffer. They will
     * be processed the next time through the loop.
     */
-    if (pExtraBuffer) 
+    if (pExtraBuffer)
     {
       memmove(conn->decryptBuffer, pExtraBuffer->pvBuffer, pExtraBuffer->cbBuffer);
       conn->decryptBufferUsed = pExtraBuffer->cbBuffer;
@@ -1249,7 +1257,7 @@ _sspiFree(_sspi_struct_t *conn)           /* I  - Client connection */
     DWORD              dwType;         /* Type */
     DWORD              status;         /* Status */
 
-  /* 
+  /*
    * Notify schannel that we are about to close the connection.
    */
    dwType = SCHANNEL_SHUTDOWN;
@@ -1264,7 +1272,7 @@ _sspiFree(_sspi_struct_t *conn)           /* I  - Client connection */
 
    status = ApplyControlToken(&conn->context, &message);
 
-   if (SUCCEEDED(status)) 
+   if (SUCCEEDED(status))
    {
      PBYTE     pbMessage;              /* Message buffer */
      DWORD     cbMessage;              /* Message buffer count */
@@ -1292,7 +1300,7 @@ _sspiFree(_sspi_struct_t *conn)           /* I  - Client connection */
                                     dwSSPIFlags, SECURITY_NATIVE_DREP, NULL,
                                     &message, &dwSSPIOutFlags, &tsExpiry);
 
-      if (SUCCEEDED(status)) 
+      if (SUCCEEDED(status))
       {
         pbMessage = buffers[0].pvBuffer;
         cbMessage = buffers[0].cbBuffer;
@@ -1430,7 +1438,7 @@ sspi_verify_certificate(PCCERT_CONTEXT  serverCert,
 
  /*
   * Validate certificate chain.
-  */ 
+  */
   ZeroMemory(&httpsPolicy, sizeof(HTTPSPolicyCallbackData));
   httpsPolicy.cbStruct         = sizeof(HTTPSPolicyCallbackData);
   httpsPolicy.dwAuthType       = AUTHTYPE_SERVER;
@@ -1470,3 +1478,8 @@ cleanup:
 
   return (status);
 }
+
+
+/*
+ * End of "$Id$".
+ */
index bd07c867b722dfd1c590b3eecf9745417c81993a..353afb6ef341303bb4f93c5183dc208eefcd79ad 100644 (file)
@@ -2,7 +2,7 @@
 *%
 *% "$Id: test2.ppd 7791 2008-07-24 00:55:30Z mike $"
 *%
-*% Test PPD file #2 for the Common UNIX Printing System (CUPS).
+*% Test PPD file #2 for CUPS.
 *%
 *% This file is used to test the CUPS PPD API functions and cannot be
 *% used with any known printers.  Look on the CUPS web site for working PPD
@@ -12,9 +12,9 @@
 *% to create your PPD files - not only will it save you time, it produces
 *% consistently high-quality files.
 *%
-*% Copyright 2007-2009 by Apple Inc.
+*% Copyright 2007-2011 by Apple Inc.
 *% Copyright 2002-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"
@@ -22,7 +22,7 @@
 *% file is missing or damaged, see the license at "http://www.cups.org/".
 *FormatVersion:        "4.3"
 *FileVersion:  "1.3"
-*LanguageVersion: English 
+*LanguageVersion: English
 *LanguageEncoding: ISOLatin1
 *PCFileName:   "TEST.PPD"
 *Manufacturer: "ESP"
@@ -93,7 +93,7 @@
 *fr_CA.PageRegion A4/French Canadian A4: ""
 *fr_CA.PageRegion Env10/French Canadian #10 Envelope: ""
 
-*DefaultImageableArea: Letter 
+*DefaultImageableArea: Letter
 *ImageableArea Letter: "18 36 594 756"
 *ImageableArea A4:     "18 36 577 806"
 *ImageableArea Env10:  "18 36 279 648"
index 0a4dac1314da281e98dab3c18674c434951cddcc..e2db9513bf0895097d890ac49a45732f4b2893c4 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: transcode.h 7026 2007-10-19 00:57:45Z mike $"
  *
- *   Transcoding definitions for the Common UNIX Printing System (CUPS).
+ *   Transcoding definitions for CUPS.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 2013b74f5cda9d709429b9bd26477422bc119f7e..16166b017b85d23aafce5cf619e9a931a0a982c0 100644 (file)
@@ -185,7 +185,7 @@ cupsServer(void)
  * in a program. Multi-threaded programs that override the callback need to do
  * so in each thread for the same callback to be used.
  *
- * @since CUPS 1.5@
+ * @since CUPS 1.5/Mac OS X 10.7@
  */
 
 void
@@ -209,7 +209,7 @@ cupsSetClientCertCB(
  * program. Multi-threaded programs that override the setting need to do so in
  * each thread for the same setting to be used.
  *
- * @since CUPS 1.5@
+ * @since CUPS 1.5/Mac OS X 10.7@
  */
 
 int                                    /* O - Status of call (0 = success) */
@@ -376,7 +376,7 @@ cupsSetServer(const char *server)   /* I - Server name */
  * in a program. Multi-threaded programs that override the callback need to do
  * so in each thread for the same callback to be used.
  *
- * @since CUPS 1.5@
+ * @since CUPS 1.5/Mac OS X 10.7@
  */
 
 void
index 53c41bc5e70f9e1e989a4051c709955606a87807..4f575a5ce4d926fdddeb0732838b2c4db91f7303 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $"
 #
-#   Datafile makefile for the Common UNIX Printing System (CUPS).
+#   Datafile makefile for CUPS.
 #
-#   Copyright 2007-2010 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1993-2006 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
index 459f9c41705e50a10238c3a074ea9cd1e1943b8a..147251ebdc767c077c996cef3d80281861c2ea50 100644 (file)
@@ -343,9 +343,9 @@ div.contents ul.subcontents li {
 <!--
   "$Id$"
 
-  Array API header for the Common UNIX Printing System (CUPS).
+  Array API header for CUPS.
 
-  Copyright 2008-2009 by Apple Inc.
+  Copyright 2008-2011 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
@@ -874,7 +874,7 @@ The hash function (&quot;h&quot;) is used to implement cached lookups with the
 specified hash size (&quot;hsize&quot;).
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5&nbsp;</span><a name="cupsArrayNew3">cupsArrayNew3</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cupsArrayNew3">cupsArrayNew3</a></h3>
 <p class="description">Create a new array with hash and/or free function.</p>
 <p class="code">
 <a href="#cups_array_t">cups_array_t</a> *cupsArrayNew3 (<br>
index d9bea4eea8c34ac488ac2870f46a3093891716cf..5ebd932dc9d8c07159035bfb0c41916814823f27 100644 (file)
@@ -343,9 +343,9 @@ div.contents ul.subcontents li {
 <!--
   "$Id$"
 
-  CUPS API header for the Common UNIX Printing System (CUPS).
+  CUPS API header for CUPS.
 
-  Copyright 2008-2009 by Apple Inc.
+  Copyright 2008-2011 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
@@ -1991,7 +1991,7 @@ Note: The current server is tracked separately for each thread in a program.
 Multi-threaded programs that override the server via the
 <a href="#cupsSetServer"><code>cupsSetServer</code></a> function need to do so in each thread for the same
 server to be used.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5&nbsp;</span><a name="cupsSetClientCertCB">cupsSetClientCertCB</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cupsSetClientCertCB">cupsSetClientCertCB</a></h3>
 <p class="description">Set the client certificate callback.</p>
 <p class="code">
 void cupsSetClientCertCB (<br>
@@ -2013,7 +2013,7 @@ in a program. Multi-threaded programs that override the callback need to do
 so in each thread for the same callback to be used.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5&nbsp;</span><a name="cupsSetCredentials">cupsSetCredentials</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cupsSetCredentials">cupsSetCredentials</a></h3>
 <p class="description">Set the default credentials to be used for SSL/TLS
 connections.</p>
 <p class="code">
@@ -2180,7 +2180,7 @@ default server name and port.<br>
 Note: The current server is tracked separately for each thread in a program.
 Multi-threaded programs that override the server need to do so in each
 thread for the same server to be used.</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5&nbsp;</span><a name="cupsSetServerCertCB">cupsSetServerCertCB</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cupsSetServerCertCB">cupsSetServerCertCB</a></h3>
 <p class="description">Set the server certificate callback.</p>
 <p class="code">
 void cupsSetServerCertCB (<br>
@@ -2331,7 +2331,7 @@ program. Multi-threaded programs that override the user name with the
 <a href="#cupsSetUser"><code>cupsSetUser</code></a> function need to do so in each thread for the same user
 name to be used.</p>
 <h2 class="title"><a name="TYPES">Data Types</a></h2>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5&nbsp;</span><a name="cups_client_cert_cb_t">cups_client_cert_cb_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cups_client_cert_cb_t">cups_client_cert_cb_t</a></h3>
 <p class="description">Client credentials callback </p>
 <p class="code">
 typedef int (*cups_client_cert_cb_t)(http_t *http, void *tls, cups_array_t *distinguished_names, void *user_data);
@@ -2371,7 +2371,7 @@ typedef const char *(*cups_password_cb_t)(const char *prompt);
 <p class="code">
 typedef unsigned cups_ptype_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5&nbsp;</span><a name="cups_server_cert_cb_t">cups_server_cert_cb_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="cups_server_cert_cb_t">cups_server_cert_cb_t</a></h3>
 <p class="description">Server credentials callback </p>
 <p class="code">
 typedef int (*cups_server_cert_cb_t)(http_t *http, void *tls, cups_array_t *certs, void *user_data);
index 0b3713c8626c0eeb46a360cb6664b38db08395a0..cca4bd94e6b08068cd326761be95317bede39437 100644 (file)
@@ -343,9 +343,9 @@ div.contents ul.subcontents li {
 <!--
   "$Id$"
 
-  File and Directory API header for the Common UNIX Printing System (CUPS).
+  File and Directory API header for CUPS.
 
-  Copyright 2008-2009 by Apple Inc.
+  Copyright 2008-2011 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
index e66df8daf2cab8a1cb32379ee576729c21877a0f..1746ff664f79a6858b1f744450d453963c2d4d28 100644 (file)
@@ -343,10 +343,9 @@ div.contents ul.subcontents li {
 <!--
   "$Id$"
 
-  Filter and backend programming header for the Common UNIX Printing System
-  (CUPS).
+  Filter and backend programming header for CUPS.
 
-  Copyright 2008-2009 by Apple Inc.
+  Copyright 2008-2011 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
@@ -1399,7 +1398,7 @@ typedef void (*cups_sc_walk_func_t)(const char *oid, const char *data, int datal
 <dd class="description">Drain all pending output</dd>
 <dt>CUPS_SC_CMD_GET_BIDI </dt>
 <dd class="description">Return bidirectional capabilities</dd>
-<dt>CUPS_SC_CMD_GET_CONNECTED <span class="info">&nbsp;CUPS 1.5&nbsp;</span></dt>
+<dt>CUPS_SC_CMD_GET_CONNECTED <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
 <dd class="description">Return whether the backend is &quot;connected&quot; to the printer </dd>
 <dt>CUPS_SC_CMD_GET_DEVICE_ID </dt>
 <dd class="description">Return the IEEE-1284 device ID</dd>
index 263cb0263149e1f8eb619c3c6cb18b039800c304..9793c933115bda74e1a69a40f7dbf0b4a56f1309 100644 (file)
@@ -343,9 +343,9 @@ div.contents ul.subcontents li {
 <!--
   "$Id$"
 
-  HTTP and IPP API header for the Common UNIX Printing System (CUPS).
+  HTTP and IPP API header for CUPS.
 
-  Copyright 2007-2009 by Apple Inc.
+  Copyright 2007-2011 by Apple Inc.
   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 
   These coded instructions, statements, and computer programs are the
@@ -1327,7 +1327,7 @@ request is not freed.
 after <a href="#cupsStartDocument"><code>cupsStartDocument</code></a> to provide a document file.
 
 </p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5&nbsp;</span><a name="httpAddCredential">httpAddCredential</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="httpAddCredential">httpAddCredential</a></h3>
 <p class="description">Allocates and adds a single credential to an array.</p>
 <p class="code">
 int httpAddCredential (<br>
@@ -1630,7 +1630,7 @@ void httpClose (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">New HTTP connection</p>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5&nbsp;</span><a name="httpCopyCredentials">httpCopyCredentials</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="httpCopyCredentials">httpCopyCredentials</a></h3>
 <p class="description">Copy the credentials associated with an encrypted
 connection.</p>
 <p class="code">
@@ -2447,7 +2447,7 @@ void httpSetCookie (<br>
 <dt>cookie</dt>
 <dd class="description">Cookie string</dd>
 </dl>
-<h3 class="function"><span class="info">&nbsp;CUPS 1.5&nbsp;</span><a name="httpSetCredentials">httpSetCredentials</a></h3>
+<h3 class="function"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="httpSetCredentials">httpSetCredentials</a></h3>
 <p class="description">Set the credentials associated with an encrypted
 connection.</p>
 <p class="code">
@@ -3367,7 +3367,7 @@ typedef struct <a href="#http_addrlist_s">http_addrlist_s</a> / http_addrlist_t;
 <p class="code">
 typedef enum <a href="#http_auth_e">http_auth_e</a> http_auth_t;
 </p>
-<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5&nbsp;</span><a name="http_credential_t">http_credential_t</a></h3>
+<h3 class="typedef"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="http_credential_t">http_credential_t</a></h3>
 <p class="description">Credential data </p>
 <p class="code">
 typedef struct <a href="#http_credential_s">http_credential_s</a> http_credential_t;
@@ -3534,7 +3534,7 @@ with a hostname. </p>
 <dt>next </dt>
 <dd class="description">Pointer to next address in list</dd>
 </dl>
-<h3 class="struct"><span class="info">&nbsp;CUPS 1.5&nbsp;</span><a name="http_credential_s">http_credential_s</a></h3>
+<h3 class="struct"><span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span><a name="http_credential_s">http_credential_s</a></h3>
 <p class="description">Credential data </p>
 <p class="code">struct http_credential_s {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;void *data;<br>
@@ -3835,7 +3835,7 @@ are server-oriented...</p>
 <dd class="description">Only a partial file was recieved/sent</dd>
 <dt>HTTP_PAYMENT_REQUIRED </dt>
 <dd class="description">Payment required</dd>
-<dt>HTTP_PKI_ERROR <span class="info">&nbsp;CUPS 1.5&nbsp;</span></dt>
+<dt>HTTP_PKI_ERROR <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
 <dd class="description">Error negotiating a secure connection </dd>
 <dt>HTTP_PRECONDITION </dt>
 <dd class="description">Precondition failed</dd>
@@ -4171,7 +4171,7 @@ are server-oriented...</p>
 <dd class="description">client-error-attributes-or-values-not-supported</dd>
 <dt>IPP_ATTRIBUTES_NOT_SETTABLE </dt>
 <dd class="description">client-error-attributes-not-settable</dd>
-<dt>IPP_AUTHENTICATION_CANCELED <span class="info">&nbsp;CUPS 1.5&nbsp;</span></dt>
+<dt>IPP_AUTHENTICATION_CANCELED <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
 <dd class="description">Authentication canceled by user </dd>
 <dt>IPP_BAD_REQUEST </dt>
 <dd class="description">client-error-bad-request</dd>
@@ -4233,7 +4233,7 @@ are server-oriented...</p>
 <dd class="description">successful-ok-too-many-events</dd>
 <dt>IPP_OPERATION_NOT_SUPPORTED </dt>
 <dd class="description">server-error-operation-not-supported</dd>
-<dt>IPP_PKI_ERROR <span class="info">&nbsp;CUPS 1.5&nbsp;</span></dt>
+<dt>IPP_PKI_ERROR <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
 <dd class="description">Error negotiating a secure connection </dd>
 <dt>IPP_PRINTER_BUSY </dt>
 <dd class="description">server-error-busy</dd>
index 7631e6a7d98b647dc61a6ebc80c1e0c0d898a28a..78838b85ac68eb73657d1c0182e586d9d86acb4f 100644 (file)
@@ -394,13 +394,16 @@ including file size.">mimeFilter2</a></li>
        <li><a href="#mimeLoad" title="Create a new MIME database from disk.">mimeLoad</a></li>
        <li><a href="#mimeLoadFilters" title="Load filter definitions from disk.">mimeLoadFilters</a></li>
        <li><a href="#mimeLoadTypes" title="Load type definitions from disk.">mimeLoadTypes</a></li>
+       <li><a href="#mimeNew" title="Create a new, empty MIME database.">mimeNew</a></li>
        <li><a href="#mimeNextFilter" title="Get the next filter in the MIME database.">mimeNextFilter</a></li>
        <li><a href="#mimeNextType" title="Get the next type in the MIME database.">mimeNextType</a></li>
        <li><a href="#mimeNumFilters" title="Next type">mimeNumFilters</a></li>
        <li><a href="#mimeNumTypes" title="MIME database">mimeNumTypes</a></li>
+       <li><a href="#mimeSetErrorCallback" title="Set the callback for error messages.">mimeSetErrorCallback</a></li>
        <li><a href="#mimeType" title="Lookup a file type.">mimeType</a></li>
 </ul></li>
 <li><a href="#TYPES">Data Types</a><ul class="code">
+       <li><a href="#const" title="MIME Database">const</a></li>
        <li><a href="#mime_filter_t" title="MIME Conversion Filter Data">mime_filter_t</a></li>
        <li><a href="#mime_magic_t" title="MIME Magic Data">mime_magic_t</a></li>
        <li><a href="#mime_op_t" title="Types/structures...">mime_op_t</a></li>
@@ -434,7 +437,7 @@ including file size.">mimeFilter2</a></li>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#mime_type_t">mime_type_t</a> *src,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#mime_type_t">mime_type_t</a> *dst,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int cost,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *filter<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#const">const</a> char *filter<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -456,8 +459,8 @@ including file size.">mimeFilter2</a></li>
 <p class="code">
 <a href="#mime_type_t">mime_type_t</a> *mimeAddType (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#mime_t">mime_t</a> *mime,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *super,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *type<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#const">const</a> char *super,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#const">const</a> char *type<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -475,7 +478,7 @@ including file size.">mimeFilter2</a></li>
 <p class="code">
 int mimeAddTypeRule (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#mime_type_t">mime_type_t</a> *mt,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *rule<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#const">const</a> char *rule<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -530,8 +533,8 @@ void mimeDeleteType (<br>
 <p class="code">
 <a href="#mime_type_t">mime_type_t</a> *mimeFileType (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#mime_t">mime_t</a> *mime,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *pathname,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *filename,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#const">const</a> char *pathname,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#const">const</a> char *filename,<br>
 &nbsp;&nbsp;&nbsp;&nbsp;int *compression<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
@@ -644,8 +647,8 @@ cups_array_t *mimeFilter2 (<br>
 <p class="description">Create a new MIME database from disk.</p>
 <p class="code">
 <a href="#mime_t">mime_t</a> *mimeLoad (<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *pathname,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *filterpath<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#const">const</a> char *pathname,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#const">const</a> char *filterpath<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -664,8 +667,8 @@ create a MIME database from a single directory.</p>
 <p class="code">
 <a href="#mime_t">mime_t</a> *mimeLoadFilters (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#mime_t">mime_t</a> *mime,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *pathname,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *filterpath<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#const">const</a> char *pathname,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#const">const</a> char *filterpath<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -686,7 +689,7 @@ Use <a href="#mimeLoadTypes"><code>mimeLoadTypes</code></a> to load all types be
 <p class="code">
 <a href="#mime_t">mime_t</a> *mimeLoadTypes (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#mime_t">mime_t</a> *mime,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *pathname<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#const">const</a> char *pathname<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -700,6 +703,12 @@ Use <a href="#mimeLoadTypes"><code>mimeLoadTypes</code></a> to load all types be
 <h4 class="discussion">Discussion</h4>
 <p class="discussion">This function loads all of the .types files from the specified directory.
 Use <a href="#mimeLoadFilters"><code>mimeLoadFilters</code></a> to load all filters after you load the types.</p>
+<h3 class="function"><a name="mimeNew">mimeNew</a></h3>
+<p class="description">Create a new, empty MIME database.</p>
+<p class="code">
+<a href="#mime_t">mime_t</a> *mimeNew (void);</p>
+<h4 class="returnvalue">Return Value</h4>
+<p class="description">MIME database</p>
 <h3 class="function"><a name="mimeNextFilter">mimeNextFilter</a></h3>
 <p class="description">Get the next filter in the MIME database.</p>
 <p class="code">
@@ -752,13 +761,30 @@ int mimeNumTypes (<br>
 </dl>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Get the number of types in a MIME database.</p>
+<h3 class="function"><a name="mimeSetErrorCallback">mimeSetErrorCallback</a></h3>
+<p class="description">Set the callback for error messages.</p>
+<p class="code">
+void mimeSetErrorCallback (<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#mime_t">mime_t</a> *mime,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;mime_error_cb_t cb,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;void *ctx<br>
+);</p>
+<h4 class="parameters">Parameters</h4>
+<dl>
+<dt>mime</dt>
+<dd class="description">MIME database</dd>
+<dt>cb</dt>
+<dd class="description">Callback function</dd>
+<dt>ctx</dt>
+<dd class="description">Context pointer for callback</dd>
+</dl>
 <h3 class="function"><a name="mimeType">mimeType</a></h3>
 <p class="description">Lookup a file type.</p>
 <p class="code">
 <a href="#mime_type_t">mime_type_t</a> *mimeType (<br>
 &nbsp;&nbsp;&nbsp;&nbsp;<a href="#mime_t">mime_t</a> *mime,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *super,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;const char *type<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#const">const</a> char *super,<br>
+&nbsp;&nbsp;&nbsp;&nbsp;<a href="#const">const</a> char *type<br>
 );</p>
 <h4 class="parameters">Parameters</h4>
 <dl>
@@ -772,6 +798,11 @@ int mimeNumTypes (<br>
 <h4 class="returnvalue">Return Value</h4>
 <p class="description">Matching file type definition</p>
 <h2 class="title"><a name="TYPES">Data Types</a></h2>
+<h3 class="typedef"><a name="const">const</a></h3>
+<p class="description">MIME Database</p>
+<p class="code">
+typedef void (*constmime_error_cb_t)(void *;
+</p>
 <h3 class="typedef"><a name="mime_filter_t">mime_filter_t</a></h3>
 <p class="description">MIME Conversion Filter Data</p>
 <p class="code">
index 90726bf6454e81477a22b7fbe98d7cbfa6660f50..dad6ab279916d961864f1e433c36046c4f6e7e74 100644 (file)
@@ -343,10 +343,9 @@ div.contents ul.subcontents li {
 <!--
   "$Id$"
 
-  Introduction to CUPS programming header for the Common UNIX Printing System
-  (CUPS).
+  Introduction to CUPS programming header for CUPS.
 
-  Copyright 2008-2009 by Apple Inc.
+  Copyright 2008-2011 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
index 626b25d127b93b5de8d2f019c7dd074c135ba8ee..c7b7a61195de09ca44db747d976f929afdd9d803 100644 (file)
@@ -343,9 +343,9 @@ div.contents ul.subcontents li {
 <!--
   "$Id$"
 
-  PPD API header for the Common UNIX Printing System (CUPS).
+  PPD API header for CUPS.
 
-  Copyright 2008-2009 by Apple Inc.
+  Copyright 2008-2011 by Apple Inc.
 
   These coded instructions, statements, and computer programs are the
   property of Apple Inc. and are protected by Federal copyright
index 3659e1ae8b6a1ebc7c51b9ae780563ba02d31200..ebeb8d82941a3dfdbb65f71b532240cdefd6d8d4 100644 (file)
@@ -1384,7 +1384,7 @@ factor not applied) </dd>
 <dd class="description">Open stream for writing</dd>
 <dt>CUPS_RASTER_WRITE_COMPRESSED <span class="info">&nbsp;CUPS 1.3/Mac OS X 10.5&nbsp;</span></dt>
 <dd class="description">Open stream for compressed writing </dd>
-<dt>CUPS_RASTER_WRITE_PWG <span class="info">&nbsp;CUPS 1.5&nbsp;</span></dt>
+<dt>CUPS_RASTER_WRITE_PWG <span class="info">&nbsp;CUPS 1.5/Mac OS X 10.7&nbsp;</span></dt>
 <dd class="description">Open stream for compressed writing in PWG mode </dd>
 </dl>
 <h3 class="enumeration"><a name="cups_order_e">cups_order_e</a></h3>
index 35749f2b94e56455834fd12fdc0eec4476a9c314..2b7c2460f7123fe987f73b9ae781eedd5fcbd737 100644 (file)
@@ -8,7 +8,7 @@
 
 <H1 CLASS="title">Software License Agreement</H1>
 
-<P ALIGN="CENTER">Copyright 2007-2010 by Apple Inc.<BR>
+<P ALIGN="CENTER">Copyright 2007-2011 by Apple Inc.<BR>
 1 Infinite Loop<BR>
 Cupertino, CA 95014 USA<BR>
 <BR>
@@ -523,7 +523,7 @@ when it starts in an interactive mode:
 Gnomovision version 69, Copyright (C) <VAR>year</VAR> <VAR>name of author</VAR>
 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
 type `show w'.  This is free software, and you are welcome
-to redistribute it under certain conditions; type `show c' 
+to redistribute it under certain conditions; type `show c'
 for details.
 </PRE>
 
@@ -540,7 +540,7 @@ necessary.  Here is a sample; alter the names:
 <PRE>
 Yoyodyne, Inc., hereby disclaims all copyright
 interest in the program `Gnomovision'
-(which makes passes at compilers) written 
+(which makes passes at compilers) written
 by James Hacker.
 
 <VAR>signature of Ty Coon</VAR>, 1 April 1989
index 928d71c155926765a3e766b7e77c22d897c20557..da08298b383759c8143390e06bf61b84fa962240 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id$"
 #
-#   PPD compiler example makefile for the Common UNIX Printing System (CUPS).
+#   PPD compiler example makefile for CUPS.
 #
-#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 2002-2005 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
index 9c94339cb60c0bf6ff91bfff3721b447d4aa4eae..2a1352265e90eb07777c8648d968198db62a030f 100644 (file)
@@ -992,6 +992,8 @@ write_banner(banner_file_t *banner, /* I - Banner file */
 
        if (i == num_pages)
          cupsImageClose(image);
+
+       free(line);
       }
     }
 
index 79bdeb2d9a214d4ab0503b20c252bf9691013d57..56ba6852e4c5b347a12850861c452f5bd82ebf26 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: common.c 6649 2007-07-11 21:46:42Z mike $"
  *
- *   Common filter routines for the Common UNIX Printing System (CUPS).
+ *   Common filter routines for CUPS.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 2fbb0f24cc6b40ec95d17261897c1042c47ecf18..8a00964a898a14455030785a469dd8a36667e8d1 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: error.c 7460 2008-04-16 02:19:54Z mike $"
  *
- *   Raster error handling for the Common UNIX Printing System (CUPS).
+ *   Raster error handling for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -192,7 +192,7 @@ get_error_buffer(void)
   _cups_raster_error_t *buf;           /* Pointer to error buffer */
 
 
- /* 
+ /*
   * Initialize the global data exactly once...
   */
 
index ed31bd33762f3544a5d31be85919dac5c0dd89f8..b93c1c5002a4312537b513deb9d9b3ffe2f0bbd6 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: image-bmp.c 7221 2008-01-16 22:20:08Z mike $"
  *
- *   BMP image routines for the Common UNIX Printing System (CUPS).
+ *   BMP image routines for CUPS.
  *
- *   Copyright 2007-2009 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 9542704124d1b8c1e3cd3c49a6ae01849a3fd2ed..0e3e61bc52101dd272132fdad6df4bd0f2945545 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: image-gif.c 7720 2008-07-11 22:46:21Z mike $"
  *
- *   GIF image routines for the Common UNIX Printing System (CUPS).
+ *   GIF image routines for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -462,10 +462,10 @@ gif_read_image(FILE         *fp,  /* I - Input file */
   pass      = 0;
   code_size = getc(fp);
 
-  if (code_size > GIF_MAX_BITS || !pixels)
+  if (!pixels)
     return (-1);
 
-  if (gif_read_lzw(fp, 1, code_size) < 0)
+  if (code_size > GIF_MAX_BITS || gif_read_lzw(fp, 1, code_size) < 0)
   {
     free(pixels);
     return (-1);
index 4710ab269bd60e2fa6304ad6bbe50aaf0bdadbb2..623a689289eeba4851c5f517ef5c2ab56298ced0 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: image-jpeg.c 7355 2008-02-28 20:49:40Z mike $"
  *
- *   JPEG image routines for the Common UNIX Printing System (CUPS).
+ *   JPEG image routines for CUPS.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index d8638618d15ae75d07027613a453b15f44585dd3..512959dbc201135e8889e8494dc3a019206748f5 100644 (file)
@@ -1,13 +1,13 @@
 /*
  * "$Id: image-photocd.c 7221 2008-01-16 22:20:08Z mike $"
  *
- *   PhotoCD routines for the Common UNIX Printing System (CUPS).
+ *   PhotoCD routines for CUPS.
  *
  *   PhotoCD support is currently limited to the 768x512 base image, which
  *   is only YCC encoded.  Support for the higher resolution images will
  *   require a lot of extra code...
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 0bd87023c18253902400a17ff6c10992a5fdc707..b940e770dd421c8b4dfc73f9f75726b18c5c9473 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: image-pix.c 7221 2008-01-16 22:20:08Z mike $"
  *
- *   Alias PIX image routines for the Common UNIX Printing System (CUPS).
+ *   Alias PIX image routines for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index c2f3c493cd91f36875ba1e8a0092712d6729fbe8..81defbffa25fcb8aa3b5d2cf2121bddc5938af7c 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: image-png.c 7437 2008-04-09 03:16:10Z mike $"
  *
- *   PNG image routines for the Common UNIX Printing System (CUPS).
+ *   PNG image routines for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 0d55dba5b901742f2e1124509dffa029c7540e25..8cc761f3385b014a6a87e30e71be71899ea6f2ee 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: image-pnm.c 7374 2008-03-08 01:13:26Z mike $"
  *
- *   Portable Any Map file routines for the Common UNIX Printing System (CUPS).
+ *   Portable Any Map file routines for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 7fec66e6702e5a1a2ced53b3e78ce0af6a4f344a..39d6f4453fdbd18134d66de96c320ff893747279 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: image-sgi.c 7223 2008-01-16 23:41:19Z mike $"
  *
- *   SGI image file routines for the Common UNIX Printing System (CUPS).
+ *   SGI image file routines for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 722a1644fe025ee6ca2b73bb7b4dfe0f9bb9fb2a..8f1781a2d317a7823ffc02f04040fdaa703a7b51 100644 (file)
@@ -1,10 +1,9 @@
 /*
  * "$Id: image-sgi.h 6649 2007-07-11 21:46:42Z mike $"
  *
- *   SGI image file format library definitions for the Common UNIX Printing
- *   System (CUPS).
+ *   SGI image file format library definitions for CUPS.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2005 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 13045ab5776717ced21491f61ff8134eccf7f2f4..4f3d50fe0b5266e64ae2ac9f94b629082507892c 100644 (file)
@@ -1,10 +1,9 @@
 /*
  * "$Id: image-sgilib.c 7221 2008-01-16 22:20:08Z mike $"
  *
- *   SGI image file format library routines for the Common UNIX Printing
- *   System (CUPS).
+ *   SGI image file format library routines for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2005 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index d6575143d0059c1d32ba0fd3372dd1ec92791863..8e6c1d3d90835524e4257631c32974d572e41987 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: image-sun.c 7223 2008-01-16 23:41:19Z mike $"
  *
- *   Sun Raster image file routines for the Common UNIX Printing System (CUPS).
+ *   Sun Raster image file routines for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index bd2d845fa88a60d7c4bcf836e83852c849d4bdc4..8e09ee5ce2cb8d21531922262f1ae155c5a24d84 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: image-tiff.c 6649 2007-07-11 21:46:42Z mike $"
  *
- *   TIFF file routines for the Common UNIX Printing System (CUPS).
+ *   TIFF file routines for CUPS.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 97c7ada487f2763a94c3589b55820528eea4c972..3ccf60265d52000f18e4723cd37169fa22c2726d 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: image.c 7473 2008-04-21 17:51:58Z mike $"
  *
- *   Base image support for the Common UNIX Printing System (CUPS).
+ *   Base image support for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2005 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 7563118b7872b9390e75d4b423dbd223a5aeb1ec..142b5499fc3b05f32917aadb033a6d52d78de2a9 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: image.h 7306 2008-02-15 00:52:38Z mike $"
  *
- *   Image library definitions for the Common UNIX Printing System (CUPS).
+ *   Image library definitions for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index fa6fd7709e35d16ad70d36e23b63c4b45686c4a4..0e3c47af23773d874542817257c5f642c944baee 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: rasterbench.c 7376 2008-03-19 21:07:45Z mike $"
  *
- *   Raster benchmark program for the Common UNIX Printing System (CUPS).
+ *   Raster benchmark program for CUPS.
  *
- *   Copyright 2007-2008 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index cc220cf660d9874b0804f61c46582a0b97ca6faf..fcd8ebca7fc7bf7297933af17cd0b2e5e65fbd59 100644 (file)
@@ -1307,8 +1307,6 @@ main(int  argc,                           /* I - Number of command-line arguments */
     _cupsLangPrintFilter(stderr, "INFO", _("Ready to print."));
     return (0);
   }
-
-  return (Page == 0);
 }
 
 
index 0c57279712969ba44f83c24eaa3e4d7582a81c5d..57e3a197dd464f35258587ffce2d7c01f1911cfb 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id$"
  *
- *   Image library test program for the Common UNIX Printing System (CUPS).
+ *   Image library test program for CUPS.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1993-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 61b7939729297d510d03d621acf76501cbb2ce61..c87c3e644fad305df51e6f38ba58011d7ac24fc2 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $"
 #
-#   Fonts makefile for the Common UNIX Printing System (CUPS).
+#   Fonts makefile for CUPS.
 #
-#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1993-2006 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
index 3789ea4cff5f3a645a9cf8954088e496605fb8d1..38739e89f739b33f63c39eb57c25c6123277b92d 100644 (file)
@@ -1,7 +1,7 @@
 #
 # "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $"
 #
-#   Locale file makefile for the Common UNIX Printing System (CUPS).
+#   Locale file makefile for CUPS.
 #
 #   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1993-2007 by Easy Software Products.
@@ -210,7 +210,7 @@ translate:  translate.o ../cups/$(LIBCUPSSTATIC)
 #
 # Dependencies...
 #
-  
+
 include Dependencies
 
 
index c59af21e66b4f016d4cb12164796e3f9ca6d47b9..f315057960a4678ccf42c75125adf81d7f855b05 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id$"
 #
-#   Spanish message catalog for the Common UNIX Printing System (CUPS).
+#   Spanish message catalog for CUPS.
 #
-#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 2005-2007 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
index 44a671df6d6a06ee29e14a5e25373a97611c2a56..56d7afdb1863247402087ac56080e6a30ed48078 100644 (file)
@@ -2,9 +2,9 @@
 #
 # "$Id$"
 #
-#   Message catalog template for the Common UNIX Printing System (CUPS).
+#   Message catalog template for CUPS.
 #
-#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 2005-2007 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
index 008b8129cf13c6c2f608ee468d9ab330a5bffd4b..0acac4b36a40ebbd8b8d3c2eb1ab66edc9be4d18 100644 (file)
@@ -2,9 +2,9 @@
 #
 # "$Id$"
 #
-#   Message catalog template for the Common UNIX Printing System (CUPS).
+#   Message catalog template for CUPS.
 #
-#   Copyright 2007 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 2005-2007 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
index 69b19face431d462c6bab01b94e6f2f7b9216b41..9b061daa22e91b4e004f103315b3536ad74ed406 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id$"
 #
-#   Message catalog template for the Common UNIX Printing System (CUPS).
+#   Message catalog template for CUPS.
 #
-#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 2005-2007 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
index d86ce3e7cefc8b6e3af2bb0541ccb889aea1a93f..fc523b987e6e7b6003d7b10caf3d42cf5928ce2f 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: cancel.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   cancel man page for the Common UNIX Printing System (CUPS).
+.\"   cancel man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -21,7 +21,7 @@ cancel - cancel jobs
 .I username
 ] [ -a ] [ -h
 .I hostname[:port]
-] [ -u 
+] [ -u
 .I username
 ] [
 .I id
@@ -69,7 +69,7 @@ Cancel-Jobs operations in \fIcupsd.conf(5)\fR.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: cancel.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 391520343f002515d26688c09f1b84f40479dca8..6c96a1d40eb0ed8c1fd0703872fc3c585ccc4dbc 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: classes.conf.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   classes.conf man page for the Common UNIX Printing System (CUPS).
+.\"   classes.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -104,7 +104,7 @@ Specifies the date/time associated with the state.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: classes.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index e5a7df3280d7b9566db0577c19d4fa97928fa724..14e228d9efc0d52d10aaaf751a4a182f979e1c04 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: cups-config.man 7646 2008-06-16 17:26:20Z mike $"
 .\"
-.\"   cups-config man page for the Common UNIX Printing System (CUPS).
+.\"   cups-config man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -111,7 +111,7 @@ Displays the full version number of the CUPS installation
 .SH SEE ALSO
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: cups-config.man 7646 2008-06-16 17:26:20Z mike $".
 .\"
index f1f33dc17cbd89ab86f369ac0f78df6b3f161219..85041411548cedfe49945eab9fadbea6da0e8d0c 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: cups-deviced.man.in 7646 2008-06-16 17:26:20Z mike $"
 .\"
-.\"   cups-deviced man page for the Common UNIX Printing System (CUPS).
+.\"   cups-deviced man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -38,7 +38,7 @@ backend(7), cupsd(8), cupsd.conf(5),
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: cups-deviced.man.in 7646 2008-06-16 17:26:20Z mike $".
 .\"
index e826448f95eab25a74c96ac6cafb3257ee2e31c9..b894434952cbe239ab2621c2d6671874376c6cff 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: cups-lpd.man.in 7835 2008-08-09 06:37:04Z mike $"
 .\"
-.\"   cups-lpd man page for the Common UNIX Printing System (CUPS).
+.\"   cups-lpd man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -118,7 +118,7 @@ clients may be unreliable.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: cups-lpd.man.in 7835 2008-08-09 06:37:04Z mike $".
 .\"
index e3727dc751b3776259dddd12ab0f1376438fa996..450097d862a12ad30ba5834f0dd020eef77a14f0 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: cups-polld.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   cups-polld man page for the Common UNIX Printing System (CUPS).
+.\"   cups-polld man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -32,7 +32,7 @@ This program is started automatically by \fIcupsd\fR for every
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: cups-polld.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index f2b6a8211f875063157de47ff7090cd0f49b76a6..e848ca50aca7b0f349c55b2512706ab9f495d9a9 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: cups-snmp.conf.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   snmp.conf man page for the Common UNIX Printing System (CUPS).
+.\"   snmp.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -67,7 +67,7 @@ will scan the network for printers.
 .SH SEE ALSO
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: cups-snmp.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index b014368aa6fc92dd9b72c1a11a9f919600383010..e870ebc3840a3107ef7240c0e2fa069dd77053d1 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: cupsaccept.man 7930 2008-09-10 22:25:54Z mike $"
 .\"
-.\"   accept/reject man page for the Common UNIX Printing System (CUPS).
+.\"   accept/reject man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -73,7 +73,7 @@ require the root user to execute these commands.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: cupsaccept.man 7930 2008-09-10 22:25:54Z mike $".
 .\"
index 79d47266e3ad6a14f651f9e744a4f6a56520d560..8632ada236829cbeebd5ccc78fd58eba8bdcddb3 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: cupsaddsmb.man.in 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   cupsaddsmb man page for the Common UNIX Printing System (CUPS).
+.\"   cupsaddsmb man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -208,7 +208,7 @@ http://localhost:631/help
 http://www.cups.org/windows/
 
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: cupsaddsmb.man.in 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 6582de577425596705d24f722a44e426ca12346c..a026cf637704a10b661e98f69423a24bddc21ea3 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: cupsd.conf.man.in 7935 2008-09-11 01:54:11Z mike $"
 .\"
-.\"   cupsd.conf man page for the Common UNIX Printing System (CUPS).
+.\"   cupsd.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2010 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -754,7 +754,7 @@ Specifies whether the web interface is enabled.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2010 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: cupsd.conf.man.in 7935 2008-09-11 01:54:11Z mike $".
 .\"
index 142259866e7a64c3a7356d21cddb591114d25289..15ee6323aa3be06e7427330108c9e685fcef414c 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: cupsd.man.in 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   cupsd man page for the Common UNIX Printing System (CUPS).
+.\"   cupsd man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -66,7 +66,7 @@ operations.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: cupsd.man.in 7600 2008-05-20 21:06:23Z mike $".
 .\"
index fa40973b794bdad06fa7b43185cc9ca4db84bd95..9bbe7fab322fc55608259fc4e76a6be16cce077f 100644 (file)
@@ -1,10 +1,9 @@
 .\"
 .\" "$Id: cupsenable.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   cupsenable/cupsdisable man page for the Common UNIX Printing System
-.\"   (CUPS).
+.\"   cupsenable/cupsdisable man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -87,7 +86,7 @@ require the root user to execute these commands.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 
 .\"
 .\" End of "$Id: cupsenable.man 7600 2008-05-20 21:06:23Z mike $".
index 302493da4143cd28ed9c2a1ad35ee6d93060d358..7bfed4e844f159b2d7dcd2c2e2291412d4e1a0b1 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: cupstestdsc.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   cupstestdsc man page for the Common UNIX Printing System (CUPS).
+.\"   cupstestdsc man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -44,7 +44,7 @@ http://localhost:631/help
 Adobe PostScript Language Document Structuring Conventions
 Specification, Version 3.0.
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: cupstestdsc.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index d92111a75011773827b8ad5606d6a71b8b167a07..0f94d7454f1d172583f50051525a70dcda490684 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: cupstestppd.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   cupstestppd man page for the Common UNIX Printing System (CUPS).
+.\"   cupstestppd man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -159,7 +159,7 @@ http://localhost:631/help
 .br
 Adobe PostScript Printer Description File Format Specification, Version 4.3.
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: cupstestppd.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index a66e055620d4319f5188fb6bc4d3f9ec919bbc8d..9dbd1ea0defb50f2f7d373c30fa347b19853571d 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: filter.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   filter man page for the Common UNIX Printing System (CUPS).
+.\"   filter man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -250,7 +250,7 @@ only filter.  Typically the interface script will be provided via the
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: filter.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 15ae814d18182f44dda1611e289ab5fb4384c434..c677d9817b61a7f0961c6aba3e32a61601e4baeb 100644 (file)
@@ -3,7 +3,7 @@
 .\"
 .\"   ipptoolfile man page for CUPS.
 .\"
-.\"   Copyright 2010 by Apple Inc.
+.\"   Copyright 2010-2011 by Apple Inc.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
 .\"   property of Apple Inc. and are protected by Federal copyright
@@ -11,7 +11,7 @@
 .\"   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/".
 .\"
-.TH ipptoolfile 5 "CUPS" "6 August 2010" "Apple Inc."
+.TH ipptoolfile 5 "CUPS" "11 May 2011" "Apple Inc."
 .SH NAME
 ipptoolfile \- ipptool file format
 
@@ -74,6 +74,10 @@ DEFINE variable-name value
 Defines the named variable to the given value. This is equivalent to specifying
 "-d variable-name=value" on the \fIipptool\fR command-line.
 .TP 5
+DEFINE-DEFAULT variable-name value
+Defines the named variable to the given value if it does not already have a
+value.
+.TP 5
 IGNORE-ERRORS yes
 .TP 5
 IGNORE-ERRORS no
@@ -87,6 +91,20 @@ Includes another test file. The first form includes a file relative to the
 current test file, while the second form includes a file from the \fIipptool\fR
 include directory.
 .TP 5
+INCLUDE-IF-DEFINED name "filename"
+.TP 5
+INCLUDE-IF-DEFINED name <filename>
+Includes another test file if the named variable is defined. The first form
+includes a file relative to the current test file, while the second form
+includes a file from the \fIipptool\fR include directory.
+.TP 5
+INCLUDE-IF-NOT-DEFINED name "filename"
+.TP 5
+INCLUDE-IF-NOT-DEFINED name <filename>
+Includes another test file if the named variable is not defined. The first form
+includes a file relative to the current test file, while the second form
+includes a file from the \fIipptool\fR include directory.
+.TP 5
 SKIP-IF-DEFINED variable-name
 .TP 5
 SKIP-IF-NOT-DEFINED variable-name
@@ -487,7 +505,7 @@ Inserts the username from the URI provided to \fIipptool\fR, if any.
 http://localhost:631/help
 
 .SH COPYRIGHT
-Copyright 2007-2010 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id$".
 .\"
index 70ebea44e1378bfc1e6002db711129f3af6adcfa..383e60bf75db6a1029139a10df7191cd260f280c 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: lpc.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   lpc man page for the Common UNIX Printing System (CUPS).
+.\"   lpc man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -65,7 +65,7 @@ standard Berkeley or LPRng commands.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: lpc.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index c845a7113e6e244a4091a38226e67078bc3079ec..7a5f1796a525ac831af50ecf04879a37d7d57046 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: lpinfo.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   lpinfo man page for the Common UNIX Printing System (CUPS).
+.\"   lpinfo man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -109,7 +109,7 @@ The \fIlpinfo\fR command is unique to CUPS.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: lpinfo.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 8c1dde52eb6cd8eb9984296d1e54ce7e5bd4da3e..d7a764050e3b823e555e0c65e3b9dd07a2e4c00a 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: lpmove.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   lpmove man page for the Common UNIX Printing System (CUPS).
+.\"   lpmove man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -60,7 +60,7 @@ Specifies an alternate server.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: lpmove.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index c1f327d4bf76e1d5b5b56da3712b0d599425cf3c..e799fcab392b97195e8084dee5623311178f5811 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: lpoptions.man.in 7889 2008-08-29 22:03:35Z mike $"
 .\"
-.\"   lpoptions man page for the Common UNIX Printing System (CUPS).
+.\"   lpoptions man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -129,7 +129,7 @@ created by the root user.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: lpoptions.man.in 7889 2008-08-29 22:03:35Z mike $".
 .\"
index fc4eef87efcf1fb282ddcc274446eb764c90f52e..0db15c9d242f5e20a4abf6285db09d340303fd1c 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: lppasswd.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   lpadmin man page for the Common UNIX Printing System (CUPS).
+.\"   lpadmin man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -62,7 +62,7 @@ accounts managed by PAM instead.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: lppasswd.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 0b91720f18e17ea2a729baaa557428811b01cce7..26fc7d3e306952e0ec6972b18497bda6cef1e412 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: lpq.man 7646 2008-06-16 17:26:20Z mike $"
 .\"
-.\"   lpq man page for the Common UNIX Printing System (CUPS).
+.\"   lpq man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -66,7 +66,7 @@ Requests a more verbose (long) reporting format.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: lpq.man 7646 2008-06-16 17:26:20Z mike $".
 .\"
index 351abc9f1c51e19a8e0b7a64c10645e222b1e158..4c435cb7535026a3f9dc6ebeddb8c0f347836a1a 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: lpr.man 7889 2008-08-29 22:03:35Z mike $"
 .\"
-.\"   lpr man page for the Common UNIX Printing System (CUPS).
+.\"   lpr man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -116,7 +116,7 @@ are not supported by CUPS and produce a warning message if used.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: lpr.man 7889 2008-08-29 22:03:35Z mike $".
 .\"
index faf48d18e25c55eb2baec0a7cc3d38adaa42eb5e..0d62728696815e65682784e7b9f2cd798c29be75 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: lprm.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   lprm man page for the Common UNIX Printing System (CUPS).
+.\"   lprm man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -59,7 +59,7 @@ Berkeley \fIlprm\fR command.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: lprm.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 8d163f2dacabc337295c1f5d6448d06b1279c15e..19f536b822bc5ef9626ca88cf7c11218290a9fd8 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: lpstat.man 7921 2008-09-10 15:42:24Z mike $"
 .\"
-.\"   lpstat man page for the Common UNIX Printing System (CUPS).
+.\"   lpstat man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -137,7 +137,7 @@ The Solaris "-f", "-P", and "-S" options are silently ignored.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: lpstat.man 7921 2008-09-10 15:42:24Z mike $".
 .\"
index 548574544a316c1bf54d5ca7d2cd840f1c7d72bd..c7806c5b863e9ab335f7d5617a6696056c2ad40d 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: mailto.conf.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   mailto.conf man page for the Common UNIX Printing System (CUPS).
+.\"   mailto.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -54,7 +54,7 @@ Specifies a prefix string for the subject line of an email notification.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: mailto.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 648c0531cd89eadfc110b8386bbc9c9c4205a1cb..ddafa7bd3eaee2fe4fe5dd5152d0e9d9823ef64a 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: mime.convs.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   mime.convs man page for the Common UNIX Printing System (CUPS).
+.\"   mime.convs man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -40,7 +40,7 @@ application/postscript application/vnd.cups-raster 50 pstoraster
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: mime.convs.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index be15763930e2a8a3bdafcdbce6c2bc04d168a76f..809817024e0a4fea226bd6a269f58c71b09d0527 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: mime.types.man 7670 2008-06-17 22:42:08Z mike $"
 .\"
-.\"   mime.types man page for the Common UNIX Printing System (CUPS).
+.\"   mime.types man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -109,7 +109,7 @@ higher priority than "text/bar", "text/foo" will be chosen instead.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: mime.types.man 7670 2008-06-17 22:42:08Z mike $".
 .\"
index bfd81c42375c38a337eaaba70c13c62892a35cab..bfed12f1fe7fcc289c1791327d89d9cd537574a5 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: ppdc.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   ppdc man page for the Common UNIX Printing System.
+.\"   ppdc man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -74,7 +74,7 @@ ppdhtml(1), ppdi(1), ppdmerge(1), ppdpo(1), ppdcfile(5)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: ppdc.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index a0235f2fcd15874f7d6aa502afd1491b026f7c26..083ed56a4f78ff1b941225643b0595c5e3ca3b66 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: ppdcfile.man 7607 2008-05-21 01:06:23Z mike $"
 .\"
-.\"   ppdcfile man page for the Common UNIX Printing System.
+.\"   ppdcfile man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -165,7 +165,7 @@ ppdc(1), ppdhtml(1), ppdi(1), ppdmerge(1), ppdpo(1)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: ppdcfile.man 7607 2008-05-21 01:06:23Z mike $".
 .\"
index b447e590559eff3f2618352ec8246f30c222533d..20b9469e4fa802bd71ec62bf56fc42ec542dec37 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: ppdhtml.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   ppdhtml man page for the Common UNIX Printing System.
+.\"   ppdhtml man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -40,7 +40,7 @@ ppdc(1), ppdcfile(5), ppdi(1), ppdmerge(1), ppdpo(1)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: ppdhtml.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 7af3254a2ce0e795de711d2cf434960e63a2e5c8..2bf3763f9317d865d70a36b2b2de32b6693d5833 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: ppdi.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   ppdi man page for the Common UNIX Printing System.
+.\"   ppdi man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -40,7 +40,7 @@ ppdc(1), ppdhtml(1), ppdmerge(1), ppdpo(1), ppdcfile(5)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: ppdi.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 0a33a20c3a77929b71e9909fe8106df4f3b6f1d4..d4ee25fcb96dd772d56d40d92c7a8ecd7ce6ae8c 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: ppdmerge.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   ppdmerge man page for the Common UNIX Printing System.
+.\"   ppdmerge man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -31,7 +31,7 @@ PPD file.
 .PP
 The \fI-o\fR option specifies the PPD file to create. If not specified,
 the merged PPD file is written to the standard output. If the output file
-already exists, the new 
+already exists, the new
 .SH NOTES
 \fIppdmerge\fR does not check whether the merged PPD files are for the
 same device. Merging of different device PPDs will yield unpredictable
@@ -41,7 +41,7 @@ cupsprofile(1), ppdc(1), ppdhtml(1), ppdi(1), ppdpo(1), ppdcfile(5)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: ppdmerge.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 1fd8e4515d61ae00d90d5e182724979b5781f8bb..a6943985f830725816c8842696813a24c6c07bcd 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: ppdpo.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   ppdpo man page for the Common UNIX Printing System.
+.\"   ppdpo man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2007 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -46,7 +46,7 @@ ppdc(1), ppdhtml(1), ppdi(1), ppdmerge(1), ppdcfile(5)
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: ppdpo.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index ef5ecabe82968a3d04f7e7692afc4aad67f68597..b3fdce38362eda9731decfa3d3544bb679de4018 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: printers.conf.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   printers.conf man page for the Common UNIX Printing System (CUPS).
+.\"   printers.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 1997-2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -118,7 +118,7 @@ Specifies the date/time associated with the state.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: printers.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 6ebe750285707ade12ffe1ed86a585c51a0434ea..e2faa1406a293299d648d1c8fce89272d827bd25 100644 (file)
@@ -1,9 +1,9 @@
 .\"
 .\" "$Id: subscriptions.conf.man 7600 2008-05-20 21:06:23Z mike $"
 .\"
-.\"   subscriptions.conf man page for the Common UNIX Printing System (CUPS).
+.\"   subscriptions.conf man page for CUPS.
 .\"
-.\"   Copyright 2007-2009 by Apple Inc.
+.\"   Copyright 2007-2011 by Apple Inc.
 .\"   Copyright 2006 by Easy Software Products.
 .\"
 .\"   These coded instructions, statements, and computer programs are the
@@ -83,7 +83,7 @@ is typically the "from" address in mailto: notifications.
 .br
 http://localhost:631/help
 .SH COPYRIGHT
-Copyright 2007-2009 by Apple Inc.
+Copyright 2007-2011 by Apple Inc.
 .\"
 .\" End of "$Id: subscriptions.conf.man 7600 2008-05-20 21:06:23Z mike $".
 .\"
index 6152e33df1e2603c562d38a42f7a78e18ff0bff4..7454ea8bdf21b3cd8a7b2f5f2b99822b5b606fb8 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id: Makefile 7871 2008-08-27 21:12:43Z mike $"
 #
-#   Port monitor makefile for the Common UNIX Printing System (CUPS).
+#   Port monitor makefile for CUPS.
 #
-#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 2006 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -137,7 +137,7 @@ tbcp:       tbcp.o ../cups/$(LIBCUPS)
 #
 # Dependencies...
 #
-  
+
 include Dependencies
 
 
index 252e5085a22dc90af9b7694c5e4d46050b7a4710..634f6b1ce85fe4206024eecae240e17ccc1f8f61 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id: Makefile 7920 2008-09-10 01:04:10Z mike $"
 #
-#   Notifier makefile for the Common UNIX Printing System (CUPS).
+#   Notifier makefile for CUPS.
 #
-#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
index fa84f3d1f6c6bd2d54d74c1a2f10104816ef09ef..24a7e04bb283d0e4178f93d28a92e725aa7df1c1 100644 (file)
@@ -1,10 +1,9 @@
 //
 // "$Id$"
 //
-//   PPD file compiler test data file for the Common UNIX Printing
-//   System (CUPS).
+//   PPD file compiler test data file for CUPS.
 //
-//   Copyright 2007 by Apple Inc.
+//   Copyright 2007-2011 by Apple Inc.
 //   Copyright 1997-2003 by Easy Software Products.
 //
 //   These coded instructions, statements, and computer programs are the
@@ -434,7 +433,7 @@ Attribute cupsIPPReason "com.foo-serious-error/A Serious Error" "http://foo.com/
   Option Resolution PickOne AnySetup 10
   Choice "600dpi/600 DPI" "<</HWResolution[600 600]/cupsBitsPerColor 8>>setpagedevice"
   Choice "1200dpi/1200 DPI" "<</HWResolution[1200 1200]/cupsBitsPerColor 8>>setpagedevice"
-  
+
 
   //
   // One printer is grayscale only, and the other does grayscale
index 97f567cde0b2bde0c0a823c8d503bf6f5f0ac6bf..1cbb24ae14496a56e15acbc4bb38b2f3e5ea3cd5 100644 (file)
@@ -7,8 +7,9 @@ auth.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 auth.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 auth.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 auth.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-auth.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
-auth.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+auth.o: ../cups/thread-private.h ../cups/file-private.h
+auth.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
+auth.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 auth.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 auth.o: network.h subscriptions.h
 banners.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
@@ -18,7 +19,8 @@ banners.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 banners.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 banners.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 banners.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-banners.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+banners.o: ../cups/thread-private.h ../cups/file-private.h
+banners.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 banners.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 banners.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 banners.o: network.h subscriptions.h ../cups/dir.h
@@ -29,8 +31,9 @@ cert.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 cert.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 cert.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 cert.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-cert.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
-cert.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+cert.o: ../cups/thread-private.h ../cups/file-private.h
+cert.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
+cert.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 cert.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 cert.o: network.h subscriptions.h
 classes.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
@@ -40,7 +43,8 @@ classes.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 classes.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 classes.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 classes.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-classes.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+classes.o: ../cups/thread-private.h ../cups/file-private.h
+classes.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 classes.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 classes.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 classes.o: network.h subscriptions.h
@@ -51,7 +55,8 @@ client.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 client.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 client.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 client.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-client.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+client.o: ../cups/thread-private.h ../cups/file-private.h
+client.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 client.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 client.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 client.o: network.h subscriptions.h
@@ -62,8 +67,9 @@ conf.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 conf.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 conf.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 conf.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-conf.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
-conf.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+conf.o: ../cups/thread-private.h ../cups/file-private.h
+conf.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
+conf.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 conf.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 conf.o: network.h subscriptions.h
 dirsvc.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
@@ -73,7 +79,8 @@ dirsvc.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 dirsvc.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 dirsvc.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 dirsvc.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-dirsvc.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+dirsvc.o: ../cups/thread-private.h ../cups/file-private.h
+dirsvc.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 dirsvc.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 dirsvc.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 dirsvc.o: network.h subscriptions.h
@@ -84,10 +91,22 @@ env.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 env.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 env.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 env.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-env.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
-env.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-env.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-env.o: network.h subscriptions.h
+env.o: ../cups/thread-private.h ../cups/file-private.h ../cups/cups-private.h
+env.o: mime.h ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+env.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+env.o: conf.h banners.h dirsvc.h network.h subscriptions.h
+file.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
+file.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
+file.o: ../cups/language.h ../cups/string-private.h ../config.h
+file.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
+file.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
+file.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
+file.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
+file.o: ../cups/thread-private.h ../cups/file-private.h
+file.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
+file.o: statbuf.h cert.h auth.h client.h policy.h printers.h
+file.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
+file.o: network.h subscriptions.h ../cups/dir.h
 main.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
 main.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
 main.o: ../cups/language.h ../cups/string-private.h ../config.h
@@ -95,10 +114,11 @@ main.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 main.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 main.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 main.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-main.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
-main.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
+main.o: ../cups/thread-private.h ../cups/file-private.h
+main.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h sysman.h
+main.o: statbuf.h cert.h auth.h client.h policy.h printers.h
 main.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-main.o: network.h subscriptions.h ../cups/dir.h
+main.o: network.h subscriptions.h
 ipp.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
 ipp.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
 ipp.o: ../cups/language.h ../cups/string-private.h ../config.h
@@ -106,10 +126,11 @@ ipp.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 ipp.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 ipp.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 ipp.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-ipp.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
-ipp.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-ipp.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-ipp.o: network.h subscriptions.h ../cups/ppd-private.h
+ipp.o: ../cups/thread-private.h ../cups/file-private.h ../cups/cups-private.h
+ipp.o: mime.h ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+ipp.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+ipp.o: conf.h banners.h dirsvc.h network.h subscriptions.h
+ipp.o: ../cups/ppd-private.h
 listen.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
 listen.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
 listen.o: ../cups/language.h ../cups/string-private.h ../config.h
@@ -117,7 +138,8 @@ listen.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 listen.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 listen.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 listen.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-listen.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+listen.o: ../cups/thread-private.h ../cups/file-private.h
+listen.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 listen.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 listen.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 listen.o: network.h subscriptions.h
@@ -128,10 +150,11 @@ job.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 job.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 job.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 job.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-job.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
-job.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-job.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-job.o: network.h subscriptions.h ../cups/backend.h ../cups/dir.h
+job.o: ../cups/thread-private.h ../cups/file-private.h ../cups/cups-private.h
+job.o: mime.h ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+job.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+job.o: conf.h banners.h dirsvc.h network.h subscriptions.h ../cups/backend.h
+job.o: ../cups/dir.h
 log.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
 log.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
 log.o: ../cups/language.h ../cups/string-private.h ../config.h
@@ -139,10 +162,10 @@ log.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 log.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 log.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 log.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-log.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
-log.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
-log.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
-log.o: network.h subscriptions.h
+log.o: ../cups/thread-private.h ../cups/file-private.h ../cups/cups-private.h
+log.o: mime.h ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
+log.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h job.h
+log.o: conf.h banners.h dirsvc.h network.h subscriptions.h
 network.o: ../cups/http-private.h ../config.h ../cups/http.h
 network.o: ../cups/md5-private.h ../cups/ipp-private.h ../cups/ipp.h cupsd.h
 network.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
@@ -151,7 +174,8 @@ network.o: ../cups/language.h ../cups/string-private.h
 network.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 network.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 network.o: ../cups/language-private.h ../cups/transcode.h
-network.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+network.o: ../cups/thread-private.h ../cups/file-private.h
+network.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 network.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 network.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 network.o: network.h subscriptions.h
@@ -162,7 +186,8 @@ policy.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 policy.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 policy.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 policy.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-policy.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+policy.o: ../cups/thread-private.h ../cups/file-private.h
+policy.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 policy.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 policy.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 policy.o: network.h subscriptions.h
@@ -173,7 +198,8 @@ printers.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 printers.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 printers.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 printers.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-printers.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+printers.o: ../cups/thread-private.h ../cups/file-private.h
+printers.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 printers.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 printers.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 printers.o: network.h subscriptions.h ../cups/dir.h
@@ -184,7 +210,8 @@ process.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 process.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 process.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 process.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-process.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+process.o: ../cups/thread-private.h ../cups/file-private.h
+process.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 process.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 process.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 process.o: network.h subscriptions.h
@@ -195,21 +222,11 @@ quotas.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 quotas.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 quotas.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 quotas.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-quotas.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+quotas.o: ../cups/thread-private.h ../cups/file-private.h
+quotas.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 quotas.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 quotas.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 quotas.o: network.h subscriptions.h
-removefile.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
-removefile.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-removefile.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-removefile.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-removefile.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-removefile.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-removefile.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-removefile.o: ../cups/transcode.h ../cups/thread-private.h mime.h
-removefile.o: ../cups/array.h ../cups/file.h sysman.h statbuf.h cert.h auth.h
-removefile.o: client.h policy.h printers.h ../cups/pwg-private.h classes.h
-removefile.o: job.h conf.h banners.h dirsvc.h network.h subscriptions.h
 select.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
 select.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
 select.o: ../cups/language.h ../cups/string-private.h ../config.h
@@ -217,7 +234,8 @@ select.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 select.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 select.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 select.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-select.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+select.o: ../cups/thread-private.h ../cups/file-private.h
+select.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 select.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 select.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 select.o: network.h subscriptions.h
@@ -229,7 +247,8 @@ server.o: ../cups/language.h ../cups/string-private.h ../cups/debug-private.h
 server.o: ../cups/ppd-private.h ../cups/ppd.h ../cups/cups.h
 server.o: ../cups/pwg-private.h ../cups/http-private.h
 server.o: ../cups/language-private.h ../cups/transcode.h
-server.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+server.o: ../cups/thread-private.h ../cups/file-private.h
+server.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 server.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 server.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 server.o: network.h subscriptions.h
@@ -240,7 +259,8 @@ statbuf.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 statbuf.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 statbuf.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 statbuf.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-statbuf.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+statbuf.o: ../cups/thread-private.h ../cups/file-private.h
+statbuf.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 statbuf.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 statbuf.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 statbuf.o: network.h subscriptions.h
@@ -252,10 +272,11 @@ subscriptions.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 subscriptions.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 subscriptions.o: ../cups/ipp-private.h ../cups/ipp.h
 subscriptions.o: ../cups/language-private.h ../cups/transcode.h
-subscriptions.o: ../cups/thread-private.h mime.h ../cups/array.h
-subscriptions.o: ../cups/file.h sysman.h statbuf.h cert.h auth.h client.h
-subscriptions.o: policy.h printers.h ../cups/pwg-private.h classes.h job.h
-subscriptions.o: conf.h banners.h dirsvc.h network.h subscriptions.h
+subscriptions.o: ../cups/thread-private.h ../cups/file-private.h
+subscriptions.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
+subscriptions.o: sysman.h statbuf.h cert.h auth.h client.h policy.h
+subscriptions.o: printers.h ../cups/pwg-private.h classes.h job.h conf.h
+subscriptions.o: banners.h dirsvc.h network.h subscriptions.h
 sysman.o: cupsd.h ../cups/cups-private.h ../cups/cups.h ../cups/file.h
 sysman.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
 sysman.o: ../cups/language.h ../cups/string-private.h ../config.h
@@ -263,15 +284,16 @@ sysman.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
 sysman.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
 sysman.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
 sysman.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-sysman.o: ../cups/thread-private.h mime.h ../cups/array.h ../cups/file.h
+sysman.o: ../cups/thread-private.h ../cups/file-private.h
+sysman.o: ../cups/cups-private.h mime.h ../cups/array.h ../cups/file.h
 sysman.o: sysman.h statbuf.h cert.h auth.h client.h policy.h printers.h
 sysman.o: ../cups/pwg-private.h classes.h job.h conf.h banners.h dirsvc.h
 sysman.o: network.h subscriptions.h
 filter.o: ../cups/string-private.h ../config.h ../cups/debug-private.h mime.h
 filter.o: ../cups/array.h ../cups/ipp.h ../cups/file.h
 mime.o: ../cups/string-private.h ../config.h ../cups/debug-private.h
-mime.o: ../cups/dir.h ../cups/versioning.h mime.h ../cups/array.h
-mime.o: ../cups/ipp.h ../cups/file.h
+mime.o: ../cups/dir.h ../cups/versioning.h mime-private.h mime.h
+mime.o: ../cups/array.h ../cups/ipp.h ../cups/file.h
 type.o: ../cups/string-private.h ../config.h ../cups/debug-private.h mime.h
 type.o: ../cups/array.h ../cups/ipp.h ../cups/file.h
 cupsfilter.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
@@ -281,17 +303,12 @@ cupsfilter.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
 cupsfilter.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
 cupsfilter.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
 cupsfilter.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-cupsfilter.o: ../cups/transcode.h ../cups/thread-private.h mime.h
-cupsfilter.o: ../cups/array.h ../cups/file.h
-cups-deviced.o: util.h ../cups/file-private.h ../cups/cups-private.h
-cups-deviced.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h
-cups-deviced.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-cups-deviced.o: ../cups/language.h ../cups/string-private.h ../config.h
-cups-deviced.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-cups-deviced.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-cups-deviced.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-cups-deviced.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-cups-deviced.o: ../cups/thread-private.h ../cups/array.h ../cups/dir.h
+cupsfilter.o: ../cups/transcode.h ../cups/thread-private.h
+cupsfilter.o: ../cups/file-private.h ../cups/cups-private.h
+cupsfilter.o: ../cups/ppd-private.h mime.h ../cups/array.h ../cups/file.h
+cups-deviced.o: util.h ../cups/array-private.h ../cups/array.h
+cups-deviced.o: ../cups/versioning.h ../cups/file-private.h
+cups-deviced.o: ../cups/cups-private.h ../cups/array.h ../cups/dir.h
 cups-exec.o: ../cups/string-private.h ../config.h
 cups-lpd.o: ../cups/cups-private.h ../cups/cups.h ../cups/file.h
 cups-lpd.o: ../cups/versioning.h ../cups/ipp.h ../cups/http.h ../cups/array.h
@@ -316,7 +333,8 @@ testlpd.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
 testlpd.o: ../cups/http.h ../cups/array.h ../cups/language.h
 testlpd.o: ../cups/string-private.h ../config.h
 testmime.o: ../cups/string-private.h ../config.h ../cups/dir.h
-testmime.o: ../cups/versioning.h mime.h ../cups/array.h ../cups/ipp.h
+testmime.o: ../cups/versioning.h ../cups/debug-private.h
+testmime.o: ../cups/ppd-private.h mime.h ../cups/array.h ../cups/ipp.h
 testmime.o: ../cups/file.h
 testspeed.o: ../cups/string-private.h ../config.h ../cups/cups.h
 testspeed.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
@@ -325,21 +343,10 @@ testspeed.o: ../cups/debug-private.h
 testsub.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h ../cups/ipp.h
 testsub.o: ../cups/http.h ../cups/array.h ../cups/language.h
 testsub.o: ../cups/debug-private.h ../cups/string-private.h ../config.h
-util.o: util.h ../cups/file-private.h ../cups/cups-private.h ../cups/cups.h
-util.o: ../cups/file.h ../cups/versioning.h ../cups/ipp.h ../cups/http.h
-util.o: ../cups/array.h ../cups/language.h ../cups/string-private.h
-util.o: ../config.h ../cups/debug-private.h ../cups/ppd-private.h
-util.o: ../cups/ppd.h ../cups/cups.h ../cups/pwg-private.h
-util.o: ../cups/http-private.h ../cups/http.h ../cups/md5-private.h
-util.o: ../cups/ipp-private.h ../cups/ipp.h ../cups/language-private.h
-util.o: ../cups/transcode.h ../cups/thread-private.h
-cups-driverd.o: util.h ../cups/file-private.h ../cups/cups-private.h
-cups-driverd.o: ../cups/cups.h ../cups/file.h ../cups/versioning.h
-cups-driverd.o: ../cups/ipp.h ../cups/http.h ../cups/array.h
-cups-driverd.o: ../cups/language.h ../cups/string-private.h ../config.h
-cups-driverd.o: ../cups/debug-private.h ../cups/ppd-private.h ../cups/ppd.h
-cups-driverd.o: ../cups/cups.h ../cups/pwg-private.h ../cups/http-private.h
-cups-driverd.o: ../cups/http.h ../cups/md5-private.h ../cups/ipp-private.h
-cups-driverd.o: ../cups/ipp.h ../cups/language-private.h ../cups/transcode.h
-cups-driverd.o: ../cups/thread-private.h ../cups/dir.h ../cups/ppd-private.h
-cups-driverd.o: ../ppdc/ppdc.h ../cups/file.h
+util.o: util.h ../cups/array-private.h ../cups/array.h ../cups/versioning.h
+util.o: ../cups/file-private.h ../cups/cups-private.h
+cups-driverd.o: util.h ../cups/array-private.h ../cups/array.h
+cups-driverd.o: ../cups/versioning.h ../cups/file-private.h
+cups-driverd.o: ../cups/cups-private.h ../cups/dir.h ../cups/transcode.h
+cups-driverd.o: ../cups/language.h ../cups/ppd-private.h ../ppdc/ppdc.h
+cups-driverd.o: ../cups/file.h
index b297aec0afbac174d022a8086262f14c2ed866b1..d562437a32092ba9baa9121586b210d30ae80ff2 100644 (file)
@@ -3,7 +3,7 @@
 #
 #   Scheduler Makefile for CUPS.
 #
-#   Copyright 2007-2010 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -24,6 +24,7 @@ CUPSDOBJS =   \
                conf.o \
                dirsvc.o \
                env.o \
+               file.o \
                main.o \
                ipp.o \
                listen.o \
@@ -34,7 +35,6 @@ CUPSDOBJS =   \
                printers.o \
                process.o \
                quotas.o \
-               removefile.o \
                select.o \
                server.o \
                statbuf.o \
@@ -570,7 +570,7 @@ sloc:
 #
 # Dependencies...
 #
-  
+
 include Dependencies
 
 
index 25fde29e196b900aecf13ebeadd9ba99b1c549df..56a49eaf9c9ec557cceeb3a7b346d7f1b0f42150 100644 (file)
@@ -309,13 +309,8 @@ cupsdLoadAllClasses(void)
   */
 
   snprintf(line, sizeof(line), "%s/classes.conf", ServerRoot);
-  if ((fp = cupsFileOpen(line, "r")) == NULL)
-  {
-    if (errno != ENOENT)
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to open %s - %s", line,
-                     strerror(errno));
+  if ((fp = cupsdOpenConfFile(line)) == NULL)
     return;
-  }
 
  /*
   * Read class configurations until we hit EOF...
@@ -691,8 +686,8 @@ void
 cupsdSaveAllClasses(void)
 {
   cups_file_t          *fp;            /* classes.conf file */
-  char                 temp[1024],     /* Temporary string */
-                       backup[1024],   /* printers.conf.O file */
+  char                 filename[1024], /* classes.conf filename */
+                       temp[1024],     /* Temporary string */
                        value[2048],    /* Value string */
                        *name;          /* Current user name */
   cupsd_printer_t      *pclass;        /* Current printer class */
@@ -706,35 +701,12 @@ cupsdSaveAllClasses(void)
   * Create the classes.conf file...
   */
 
-  snprintf(temp, sizeof(temp), "%s/classes.conf", ServerRoot);
-  snprintf(backup, sizeof(backup), "%s/classes.conf.O", ServerRoot);
-
-  if (rename(temp, backup))
-  {
-    if (errno != ENOENT)
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to backup classes.conf - %s",
-                      strerror(errno));
-  }
-
-  if ((fp = cupsFileOpen(temp, "w")) == NULL)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to save classes.conf - %s",
-                    strerror(errno));
+  snprintf(filename, sizeof(filename), "%s/classes.conf", ServerRoot);
 
-    if (rename(backup, temp))
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to restore classes.conf - %s",
-                      strerror(errno));
+  if ((fp = cupsdCreateConfFile(filename, ConfigFilePerm)) == NULL)
     return;
-  }
-  else
-    cupsdLogMessage(CUPSD_LOG_INFO, "Saving classes.conf...");
-
- /*
-  * Restrict access to the file...
-  */
 
-  fchown(cupsFileNumber(fp), RunUser, Group);
-  fchmod(cupsFileNumber(fp), ConfigFilePerm);
+  cupsdLogMessage(CUPSD_LOG_INFO, "Saving classes.conf...");
 
  /*
   * Write a small header to the file...
@@ -857,7 +829,7 @@ cupsdSaveAllClasses(void)
     cupsFilePuts(fp, "</Class>\n");
   }
 
-  cupsFileClose(fp);
+  cupsdCloseCreatedConfFile(fp, filename);
 }
 
 
index a2535ae7bf66902535298c4bee678133fa336a0b..b4f1183709476d8f2bbd2d9b8ea2058d45e6ebd1 100644 (file)
@@ -2815,7 +2815,12 @@ cupsdWriteClient(cupsd_client_t *con)    /* I - Client connection */
 
             if (!strncasecmp(con->header, "Location:", 9))
            {
-             cupsdSendHeader(con, HTTP_SEE_OTHER, NULL, CUPSD_AUTH_NONE);
+             if (!cupsdSendHeader(con, HTTP_SEE_OTHER, NULL, CUPSD_AUTH_NONE))
+             {
+               cupsdCloseClient(con);
+               return;
+             }
+
              con->sent_header = 2;
 
              if (httpPrintf(HTTP(con), "Content-Length: 0\r\n") < 0)
@@ -2829,7 +2834,12 @@ cupsdWriteClient(cupsd_client_t *con)    /* I - Client connection */
            }
            else
            {
-             cupsdSendHeader(con, HTTP_OK, NULL, CUPSD_AUTH_NONE);
+             if (!cupsdSendHeader(con, HTTP_OK, NULL, CUPSD_AUTH_NONE))
+             {
+               cupsdCloseClient(con);
+               return;
+             }
+
              con->sent_header = 1;
 
              if (con->http.version == HTTP_1_1)
@@ -3808,60 +3818,42 @@ get_file(cupsd_client_t *con,           /* I  - Client connection */
 static http_status_t                   /* O - Status */
 install_conf_file(cupsd_client_t *con) /* I - Connection */
 {
+  char         filename[1024];         /* Configuration filename */
+  mode_t       mode;                   /* Permissions */
   cups_file_t  *in,                    /* Input file */
                *out;                   /* Output file */
-  char         buffer[1024];           /* Copy buffer */
-  int          bytes;                  /* Number of bytes */
-  char         conffile[1024],         /* Configuration filename */
-               newfile[1024],          /* New config filename */
-               oldfile[1024];          /* Old config filename */
-  struct stat  confinfo;               /* Config file info */
+  char         buffer[16384];          /* Copy buffer */
+  ssize_t      bytes;                  /* Number of bytes */
 
 
  /*
-  * First construct the filenames...
+  * Open the request file...
   */
 
-  snprintf(conffile, sizeof(conffile), "%s%s", ServerRoot, con->uri + 11);
-  snprintf(newfile, sizeof(newfile), "%s%s.N", ServerRoot, con->uri + 11);
-  snprintf(oldfile, sizeof(oldfile), "%s%s.O", ServerRoot, con->uri + 11);
-
-  cupsdLogMessage(CUPSD_LOG_INFO, "Installing config file \"%s\"...", conffile);
-
- /*
-  * Get the owner, group, and permissions of the configuration file.
-  * If it doesn't exist, assign it to the User and Group in the
-  * cupsd.conf file with mode 0640 permissions.
-  */
-
-  if (stat(conffile, &confinfo))
+  if ((in = cupsFileOpen(con->filename, "rb")) == NULL)
   {
-    confinfo.st_uid  = User;
-    confinfo.st_gid  = Group;
-    confinfo.st_mode = ConfigFilePerm;
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to open request file \"%s\": %s",
+                    con->filename, strerror(errno));
+    return (HTTP_SERVER_ERROR);
   }
 
  /*
-  * Open the request file and new config file...
+  * Open the new config file...
   */
 
-  if ((in = cupsFileOpen(con->filename, "rb")) == NULL)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to open request file \"%s\" - %s",
-                    con->filename, strerror(errno));
-    return (HTTP_SERVER_ERROR);
-  }
+  snprintf(filename, sizeof(filename), "%s%s", ServerRoot, con->uri + 11);
+  if (!strcmp(con->uri, "/admin/conf/printers.conf"))
+    mode = ConfigFilePerm & 0600;
+  else
+    mode = ConfigFilePerm;
 
-  if ((out = cupsFileOpen(newfile, "wb")) == NULL)
+  if ((out = cupsdCreateConfFile(filename, mode)) == NULL)
   {
     cupsFileClose(in);
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to open config file \"%s\" - %s",
-                    newfile, strerror(errno));
     return (HTTP_SERVER_ERROR);
   }
 
-  fchmod(cupsFileNumber(out), confinfo.st_mode);
-  fchown(cupsFileNumber(out), confinfo.st_uid, confinfo.st_gid);
+  cupsdLogMessage(CUPSD_LOG_INFO, "Installing config file \"%s\"...", filename);
 
  /*
   * Copy from the request to the new config file...
@@ -3871,12 +3863,14 @@ install_conf_file(cupsd_client_t *con)  /* I - Connection */
     if (cupsFileWrite(out, buffer, bytes) < bytes)
     {
       cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to copy to config file \"%s\" - %s",
-                     newfile, strerror(errno));
+                      "Unable to copy to config file \"%s\": %s",
+                     filename, strerror(errno));
 
       cupsFileClose(in);
       cupsFileClose(out);
-      unlink(newfile);
+
+      snprintf(filename, sizeof(filename), "%s%s.N", ServerRoot, con->uri + 11);
+      cupsdRemoveFile(filename);
 
       return (HTTP_SERVER_ERROR);
     }
@@ -3886,65 +3880,17 @@ install_conf_file(cupsd_client_t *con)  /* I - Connection */
   */
 
   cupsFileClose(in);
-  if (cupsFileClose(out))
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Error file closing config file \"%s\" - %s",
-                    newfile, strerror(errno));
-
-    unlink(newfile);
 
+  if (cupsdCloseCreatedConfFile(out, filename))
     return (HTTP_SERVER_ERROR);
-  }
 
  /*
   * Remove the request file...
   */
 
-  unlink(con->filename);
+  cupsdRemoveFile(con->filename);
   cupsdClearString(&con->filename);
 
- /*
-  * Unlink the old backup, rename the current config file to the backup
-  * filename, and rename the new config file to the config file name...
-  */
-
-  if (unlink(oldfile))
-    if (errno != ENOENT)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to remove backup config file \"%s\" - %s",
-                     oldfile, strerror(errno));
-
-      unlink(newfile);
-
-      return (HTTP_SERVER_ERROR);
-    }
-
-  if (rename(conffile, oldfile))
-    if (errno != ENOENT)
-    {
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to rename old config file \"%s\" - %s",
-                     conffile, strerror(errno));
-
-      unlink(newfile);
-
-      return (HTTP_SERVER_ERROR);
-    }
-
-  if (rename(newfile, conffile))
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Unable to rename new config file \"%s\" - %s",
-                    newfile, strerror(errno));
-
-    rename(oldfile, conffile);
-    unlink(newfile);
-
-    return (HTTP_SERVER_ERROR);
-  }
-
  /*
   * If the cupsd.conf file was updated, set the NeedReload flag...
   */
@@ -4016,8 +3962,7 @@ is_cgi(cupsd_client_t *con,               /* I - Client connection */
     cupsdLogMessage(CUPSD_LOG_DEBUG2,
                    "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
                    "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
-                   type ? type->super : "unknown",
-                   type ? type->type : "unknown");
+                   type->super, type->type);
     return (1);
   }
 #ifdef HAVE_JAVA
@@ -4037,8 +3982,7 @@ is_cgi(cupsd_client_t *con,               /* I - Client connection */
     cupsdLogMessage(CUPSD_LOG_DEBUG2,
                    "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
                    "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
-                   type ? type->super : "unknown",
-                   type ? type->type : "unknown");
+                   type->super, type->type);
     return (1);
   }
 #endif /* HAVE_JAVA */
@@ -4059,8 +4003,7 @@ is_cgi(cupsd_client_t *con,               /* I - Client connection */
     cupsdLogMessage(CUPSD_LOG_DEBUG2,
                    "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
                    "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
-                   type ? type->super : "unknown",
-                   type ? type->type : "unknown");
+                   type->super, type->type);
     return (1);
   }
 #endif /* HAVE_PERL */
@@ -4081,8 +4024,7 @@ is_cgi(cupsd_client_t *con,               /* I - Client connection */
     cupsdLogMessage(CUPSD_LOG_DEBUG2,
                    "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
                    "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
-                   type ? type->super : "unknown",
-                   type ? type->type : "unknown");
+                   type->super, type->type);
     return (1);
   }
 #endif /* HAVE_PHP */
@@ -4103,8 +4045,7 @@ is_cgi(cupsd_client_t *con,               /* I - Client connection */
     cupsdLogMessage(CUPSD_LOG_DEBUG2,
                    "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
                    "type=%s/%s) = 1", con, con->http.fd, filename, filestats,
-                   type ? type->super : "unknown",
-                   type ? type->type : "unknown");
+                   type->super, type->type);
     return (1);
   }
 #endif /* HAVE_PYTHON */
@@ -4112,8 +4053,7 @@ is_cgi(cupsd_client_t *con,               /* I - Client connection */
   cupsdLogMessage(CUPSD_LOG_DEBUG2,
                  "is_cgi(con=%p(%d), filename=\"%s\", filestats=%p, "
                  "type=%s/%s) = 0", con, con->http.fd, filename, filestats,
-                 type ? type->super : "unknown",
-                 type ? type->type : "unknown");
+                 type->super, type->type);
   return (0);
 }
 
index 6359ea7c6930a74b73cd163b8aec7c2776a1f040..b11d337e8599a3485234e1ae65c75fbe56cd9a9e 100644 (file)
@@ -1834,6 +1834,8 @@ static void
 mime_error_cb(void       *ctx,         /* I - Context pointer (unused) */
               const char *message)     /* I - Message */
 {
+  (void)ctx;
+
   cupsdLogMessage(CUPSD_LOG_ERROR, "%s", message);
 }
 
@@ -3946,14 +3948,9 @@ read_policy(cups_file_t *fp,             /* I - Configuration file */
     }
     else if (!parse_aaa(op, line, value, linenum))
     {
-      if (op)
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unknown Policy Limit directive %s on line %d.",
-                       line, linenum);
-      else
-       cupsdLogMessage(CUPSD_LOG_ERROR,
-                       "Unknown Policy directive %s on line %d.",
-                       line, linenum);
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                     "Unknown Policy Limit directive %s on line %d.",
+                     line, linenum);
 
       if (FatalErrors & CUPSD_FATAL_CONFIG)
        return (0);
index 1922453c976ceb64f65da14d127b494b303f1ea7..9215c6bef6e2ff69da01aabb22c00ed19f092b29 100644 (file)
@@ -2,9 +2,9 @@
 #
 # "$Id$"
 #
-#   Startup/shutdown script for the Common UNIX Printing System (CUPS).
+#   Startup/shutdown script for CUPS.
 #
-#   Copyright 2007 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
@@ -20,8 +20,7 @@
 #   Linux chkconfig stuff:
 #
 #   chkconfig: 235 99 00
-#   description: Startup/shutdown script for the Common UNIX \
-#                Printing System (CUPS).
+#   description: Startup/shutdown script for CUPS.
 #
 
 #
index 48fb32e8b18bda394d1989c044a9d701570c5311..d742467a79a5e63527acd98ffe3c9f00f8dd8a54 100644 (file)
@@ -178,57 +178,69 @@ VAR int                   Launchd         VALUE(0);
  * Prototypes...
  */
 
-extern int     cupsdAddString(cups_array_t **a, const char *s);
-extern void    cupsdCheckProcess(void);
-extern void    cupsdClearString(char **s);
-extern void    cupsdFreeStrings(cups_array_t **a);
-extern void    cupsdHoldSignals(void);
-extern char    *cupsdMakeUUID(const char *name, int number,
-                              char *buffer, size_t bufsize);
-extern void    cupsdReleaseSignals(void);
-extern void    cupsdSetString(char **s, const char *v);
-extern void    cupsdSetStringf(char **s, const char *f, ...)
+/* env.c */
+extern void            cupsdInitEnv(void);
+extern int             cupsdLoadEnv(char *envp[], int envmax);
+extern void            cupsdSetEnv(const char *name, const char *value);
+extern void            cupsdSetEnvf(const char *name, const char *value, ...)
 #ifdef __GNUC__
 __attribute__ ((__format__ (__printf__, 2, 3)))
 #endif /* __GNUC__ */
 ;
-extern void    cupsdStartServer(void);
-extern void    cupsdStopServer(void);
-extern void    cupsdClosePipe(int *fds);
-extern int     cupsdOpenPipe(int *fds);
-
-extern void    cupsdInitEnv(void);
-extern int     cupsdLoadEnv(char *envp[], int envmax);
-extern void    cupsdSetEnv(const char *name, const char *value);
-extern void    cupsdSetEnvf(const char *name, const char *value, ...)
+extern void            cupsdUpdateEnv(void);
+
+/* file.c */
+extern void            cupsdCleanFiles(const char *path, const char *pattern);
+extern int             cupsdCloseCreatedConfFile(cups_file_t *fp,
+                                                 const char *filename);
+extern void            cupsdClosePipe(int *fds);
+extern cups_file_t     *cupsdCreateConfFile(const char *filename, mode_t mode);
+extern cups_file_t     *cupsdOpenConfFile(const char *filename);
+extern int             cupsdOpenPipe(int *fds);
+extern int             cupsdRemoveFile(const char *filename);
+
+/* main.c */
+extern int             cupsdAddString(cups_array_t **a, const char *s);
+extern void            cupsdCheckProcess(void);
+extern void            cupsdClearString(char **s);
+extern void            cupsdFreeStrings(cups_array_t **a);
+extern void            cupsdHoldSignals(void);
+extern char            *cupsdMakeUUID(const char *name, int number,
+                                      char *buffer, size_t bufsize);
+extern void            cupsdReleaseSignals(void);
+extern void            cupsdSetString(char **s, const char *v);
+extern void            cupsdSetStringf(char **s, const char *f, ...)
 #ifdef __GNUC__
 __attribute__ ((__format__ (__printf__, 2, 3)))
 #endif /* __GNUC__ */
 ;
-extern void    cupsdUpdateEnv(void);
-
-extern void    *cupsdCreateProfile(int job_id);
-extern void    cupsdDestroyProfile(void *profile);
-extern int     cupsdEndProcess(int pid, int force);
-extern const char *cupsdFinishProcess(int pid, char *name, int namelen,
-                                     int *job_id);
-extern int     cupsdStartProcess(const char *command, char *argv[],
-                                 char *envp[], int infd, int outfd,
-                                 int errfd, int backfd, int sidefd,
-                                 int root, void *profile, cupsd_job_t *job,
-                                 int *pid);
-
-extern int     cupsdAddSelect(int fd, cupsd_selfunc_t read_cb,
-                              cupsd_selfunc_t write_cb, void *data);
-extern int     cupsdDoSelect(long timeout);
+
+/* process.c */
+extern void            *cupsdCreateProfile(int job_id);
+extern void            cupsdDestroyProfile(void *profile);
+extern int             cupsdEndProcess(int pid, int force);
+extern const char      *cupsdFinishProcess(int pid, char *name, int namelen,
+                                           int *job_id);
+extern int             cupsdStartProcess(const char *command, char *argv[],
+                                         char *envp[], int infd, int outfd,
+                                         int errfd, int backfd, int sidefd,
+                                         int root, void *profile,
+                                         cupsd_job_t *job, int *pid);
+
+/* select.c */
+extern int             cupsdAddSelect(int fd, cupsd_selfunc_t read_cb,
+                                      cupsd_selfunc_t write_cb, void *data);
+extern int             cupsdDoSelect(long timeout);
 #ifdef CUPSD_IS_SELECTING
-extern int     cupsdIsSelecting(int fd);
+extern int             cupsdIsSelecting(int fd);
 #endif /* CUPSD_IS_SELECTING */
-extern void    cupsdRemoveSelect(int fd);
-extern void    cupsdStartSelect(void);
-extern void    cupsdStopSelect(void);
+extern void            cupsdRemoveSelect(int fd);
+extern void            cupsdStartSelect(void);
+extern void            cupsdStopSelect(void);
 
-extern int     cupsdRemoveFile(const char *filename);
+/* server.c */
+extern void            cupsdStartServer(void);
+extern void            cupsdStopServer(void);
 
 
 /*
index da4687cbe4b2ca15f0eebe9e3cedf6d27fddad11..e813163d15b241f2739c8daca3dccd70dd02fce3 100644 (file)
@@ -717,6 +717,8 @@ check_cb(void              *context,        /* I - Context (command name) */
          _cups_fc_result_t result,     /* I - Result of check */
         const char        *message)    /* I - Localized message */
 {
+  (void)result;
+
   _cupsLangPrintf(stderr, _("%s: %s"), (char *)context, message);
 }
 
index ca3c9cd8f31705e4392f1f2902456924e0f5e54c..d143efabda0e88f028844a0a2a056f96890fa2ee 100644 (file)
@@ -330,7 +330,7 @@ cupsdLoadRemoteCache(void)
   */
 
   snprintf(line, sizeof(line), "%s/remote.cache", CacheDir);
-  if ((fp = cupsFileOpen(line, "r")) == NULL)
+  if ((fp = cupsdOpenConfFile(line)) == NULL)
     return;
 
  /*
@@ -734,8 +734,9 @@ void
 cupsdSaveRemoteCache(void)
 {
   int                  i;              /* Looping var */
-  cups_file_t          *fp;            /* printers.conf file */
-  char                 temp[1024],     /* Temporary string */
+  cups_file_t          *fp;            /* remote.cache file */
+  char                 filename[1024], /* remote.cache filename */
+                       temp[1024],     /* Temporary string */
                        value[2048],    /* Value string */
                        *name;          /* Current user name */
   cupsd_printer_t      *printer;       /* Current printer class */
@@ -748,23 +749,12 @@ cupsdSaveRemoteCache(void)
   * Create the remote.cache file...
   */
 
-  snprintf(temp, sizeof(temp), "%s/remote.cache", CacheDir);
+  snprintf(filename, sizeof(filename), "%s/remote.cache", CacheDir);
 
-  if ((fp = cupsFileOpen(temp, "w")) == NULL)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Unable to save remote.cache - %s", strerror(errno));
+  if ((fp = cupsdCreateConfFile(filename, ConfigFilePerm)) == NULL)
     return;
-  }
-  else
-    cupsdLogMessage(CUPSD_LOG_DEBUG, "Saving remote.cache...");
-
- /*
-  * Restrict access to the file...
-  */
 
-  fchown(cupsFileNumber(fp), getuid(), Group);
-  fchmod(cupsFileNumber(fp), ConfigFilePerm);
+  cupsdLogMessage(CUPSD_LOG_DEBUG, "Saving remote.cache...");
 
  /*
   * Write a small header to the file...
@@ -859,7 +849,7 @@ cupsdSaveRemoteCache(void)
       cupsFilePuts(fp, "</Printer>\n");
   }
 
-  cupsFileClose(fp);
+  cupsdCloseCreatedConfFile(fp, filename);
 }
 
 
@@ -1023,6 +1013,11 @@ ldap_rebind_proc(
   struct berval        bval;                   /* Bind value */
 #    endif /* LDAP_API_VERSION > 3000 */
 
+
+  (void)request;
+  (void)msgid;
+  (void)params;
+
  /*
   * Bind to new LDAP server...
   */
@@ -2319,6 +2314,7 @@ dnssdAddAlias(const void *key,            /* I - Key */
        hostname[1024];                 /* Complete hostname */
 
 
+  (void)key;
   (void)context;
 
   if (CFGetTypeID((CFStringRef)value) == CFStringGetTypeID() &&
@@ -2622,6 +2618,10 @@ dnssdRegisterCallback(
                                        /* Current printer */
 
 
+  (void)sdRef;
+  (void)flags;
+  (void)domain;
+
   cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterCallback(%s, %s) for %s (%s)",
                   name, regtype, p ? p->name : "Web Interface",
                  p ? (p->reg_name ? p->reg_name : "(null)") : "NA");
diff --git a/scheduler/file.c b/scheduler/file.c
new file mode 100644 (file)
index 0000000..8d33610
--- /dev/null
@@ -0,0 +1,450 @@
+/*
+ * "$Id$"
+ *
+ *   File functions for the CUPS scheduler.
+ *
+ *   Copyright 2007-2011 by Apple Inc.
+ *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
+ *
+ *   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"
+ *   "LICENSE" which should have been included with this file.  If this
+ *   file is missing or damaged, see the license at "http://www.cups.org/".
+ *
+ * Contents:
+ *
+ *   cupsdCleanFiles()           - Clean out old files.
+ *   cupsdCloseCreatedConfFile() - Close a created configuration file and move
+ *                                 into place.
+ *   cupsdClosePipe()            - Close a pipe as necessary.
+ *   cupsdCreateConfFile()       - Create a configuration file safely.
+ *   cupsdOpenConfFile()         - Open a configuration file.
+ *   cupsdOpenPipe()             - Create a pipe which is closed on exec.
+ *   cupsdRemoveFile()           - Remove a file using the 7-pass US DoD method.
+ *   overwrite_data()            - Overwrite the data in a file.
+ */
+
+/*
+ * Include necessary headers...
+ */
+
+#include "cupsd.h"
+#include <cups/dir.h>
+#include <fnmatch.h>
+#ifdef HAVE_REMOVEFILE
+#  include <removefile.h>
+#else
+static int     overwrite_data(int fd, const char *buffer, int bufsize,
+                              int filesize);
+#endif /* HAVE_REMOVEFILE */
+
+
+/*
+ * 'cupsdCleanFiles()' - Clean out old files.
+ */
+void
+cupsdCleanFiles(const char *path,      /* I - Directory to clean */
+                const char *pattern)   /* I - Filename pattern or NULL */
+{
+  cups_dir_t   *dir;                   /* Directory */
+  cups_dentry_t        *dent;                  /* Directory entry */
+  char         filename[1024];         /* Filename */
+  int          status;                 /* Status from unlink/rmdir */
+
+
+  cupsdLogMessage(CUPSD_LOG_DEBUG,
+                  "cupsdCleanFiles(path=\"%s\", pattern=\"%s\")", path,
+                 pattern ? pattern : "(null)");
+
+  if ((dir = cupsDirOpen(path)) == NULL)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to open directory \"%s\" - %s",
+                   path, strerror(errno));
+    return;
+  }
+
+  cupsdLogMessage(CUPSD_LOG_INFO, "Cleaning out old files in \"%s\"...", path);
+
+  while ((dent = cupsDirRead(dir)) != NULL)
+  {
+    if (pattern && fnmatch(pattern, dent->filename, 0))
+      continue;
+
+    snprintf(filename, sizeof(filename), "%s/%s", path, dent->filename);
+
+    if (S_ISDIR(dent->fileinfo.st_mode))
+    {
+      cupsdCleanFiles(filename, pattern);
+
+      status = rmdir(filename);
+    }
+    else
+      status = unlink(filename);
+
+    if (status)
+      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to remove \"%s\" - %s", filename,
+                     strerror(errno));
+    else
+      cupsdLogMessage(CUPSD_LOG_DEBUG, "Removed \"%s\"...", filename);
+  }
+
+  cupsDirClose(dir);
+}
+
+
+/*
+ * 'cupsdCloseCreatedConfFile()' - Close a created configuration file and move
+ *                                 into place.
+ */
+
+int                                    /* O - 0 on success, -1 on error */
+cupsdCloseCreatedConfFile(
+    cups_file_t *fp,                   /* I - File to close */
+    const char  *filename)             /* I - Filename */
+{
+  char newfile[1024],                  /* filename.N */
+       oldfile[1024];                  /* filename.O */
+
+
+ /*
+  * First close the file...
+  */
+
+  if (cupsFileClose(fp))
+    return (-1);
+
+ /*
+  * Then remove "filename.O", rename "filename" to "filename.O", and rename
+  * "filename.N" to "filename".
+  */
+
+  snprintf(newfile, sizeof(newfile), "%s.N", filename);
+  snprintf(oldfile, sizeof(oldfile), "%s.O", filename);
+
+  if ((cupsdRemoveFile(oldfile) && errno != ENOENT) ||
+      (rename(filename, oldfile) && errno != ENOENT) ||
+      rename(newfile, filename))
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to finalize \"%s\": %s",
+                    filename, strerror(errno));
+    return (-1);
+  }
+
+  return (0);
+}
+
+
+/*
+ * 'cupsdClosePipe()' - Close a pipe as necessary.
+ */
+
+void
+cupsdClosePipe(int *fds)               /* I - Pipe file descriptors (2) */
+{
+ /*
+  * Close file descriptors as needed...
+  */
+
+  if (fds[0] >= 0)
+  {
+    close(fds[0]);
+    fds[0] = -1;
+  }
+
+  if (fds[1] >= 0)
+  {
+    close(fds[1]);
+    fds[1] = -1;
+  }
+}
+
+
+/*
+ * 'cupsdCreateConfFile()' - Create a configuration file safely.
+ */
+
+cups_file_t *                          /* O - File pointer */
+cupsdCreateConfFile(
+    const char *filename,              /* I - Filename */
+    mode_t     mode)                   /* I - Permissions */
+{
+  cups_file_t  *fp;                    /* File pointer */
+  char         newfile[1024];          /* filename.N */
+
+
+  snprintf(newfile, sizeof(newfile), "%s.N", filename);
+  if ((fp = cupsFileOpen(newfile, "w")) == NULL)
+  {
+    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to create \"%s\": %s", newfile,
+                   strerror(errno));
+  }
+  else
+  {
+    if (!getuid() && fchown(cupsFileNumber(fp), getuid(), Group))
+      cupsdLogMessage(CUPSD_LOG_WARN, "Unable to change group for \"%s\": %s",
+                     newfile, strerror(errno));
+
+    if (fchmod(cupsFileNumber(fp), mode))
+      cupsdLogMessage(CUPSD_LOG_WARN,
+                      "Unable to change permissions for \"%s\": %s",
+                     newfile, strerror(errno));
+  }
+
+  return (fp);
+}
+
+
+/*
+ * 'cupsdOpenConfFile()' - Open a configuration file.
+ *
+ * This function looks for "filename.O" if "filename" does not exist and does
+ * a rename as needed.
+ */
+
+cups_file_t *                          /* O - File pointer */
+cupsdOpenConfFile(const char *filename)        /* I - Filename */
+{
+  cups_file_t  *fp;                    /* File pointer */
+
+
+  if ((fp = cupsFileOpen(filename, "r")) == NULL)
+  {
+    if (errno == ENOENT)
+    {
+     /*
+      * Try opening the backup file...
+      */
+
+      char     oldfile[1024];          /* filename.O */
+
+      snprintf(oldfile, sizeof(oldfile), "%s.O", filename);
+      fp = cupsFileOpen(oldfile, "r");
+    }
+    else
+      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to open \"%s\": %s", filename,
+                     strerror(errno));
+  }
+
+  return (fp);
+}
+
+
+/*
+ * 'cupsdOpenPipe()' - Create a pipe which is closed on exec.
+ */
+
+int                                    /* O - 0 on success, -1 on error */
+cupsdOpenPipe(int *fds)                        /* O - Pipe file descriptors (2) */
+{
+ /*
+  * Create the pipe...
+  */
+
+  if (pipe(fds))
+  {
+    fds[0] = -1;
+    fds[1] = -1;
+
+    return (-1);
+  }
+
+ /*
+  * Set the "close on exec" flag on each end of the pipe...
+  */
+
+  if (fcntl(fds[0], F_SETFD, fcntl(fds[0], F_GETFD) | FD_CLOEXEC))
+  {
+    close(fds[0]);
+    close(fds[1]);
+
+    fds[0] = -1;
+    fds[1] = -1;
+
+    return (-1);
+  }
+
+  if (fcntl(fds[1], F_SETFD, fcntl(fds[1], F_GETFD) | FD_CLOEXEC))
+  {
+    close(fds[0]);
+    close(fds[1]);
+
+    fds[0] = -1;
+    fds[1] = -1;
+
+    return (-1);
+  }
+
+ /*
+  * Return 0 indicating success...
+  */
+
+  return (0);
+}
+
+
+/*
+ * 'cupsdRemoveFile()' - Remove a file using the 7-pass US DoD method.
+ */
+
+int                                    /* O - 0 on success, -1 on error */
+cupsdRemoveFile(const char *filename)  /* I - File to remove */
+{
+#ifdef HAVE_REMOVEFILE
+  return (removefile(filename, NULL, REMOVEFILE_SECURE_7_PASS));
+
+#else
+  int                  fd;             /* File descriptor */
+  struct stat          info;           /* File information */
+  char                 buffer[512];    /* Data buffer */
+  int                  i;              /* Looping var */
+
+
+ /*
+  * First open the file for writing in exclusive mode.
+  */
+
+  if ((fd = open(filename, O_WRONLY | O_EXCL)) < 0)
+    return (-1);
+
+ /*
+  * Delete the file now - it will still be around as long as the file is
+  * open...
+  */
+
+  if (unlink(filename))
+  {
+    close(fd);
+    return (-1);
+  }
+
+ /*
+  * Then get the file size...
+  */
+
+  if (fstat(fd, &info))
+  {
+    close(fd);
+    return (-1);
+  }
+
+ /*
+  * Overwrite the file 7 times with 0xF6, 0x00, 0xFF, random, 0x00, 0xFF,
+  * and more random data.
+  */
+
+  memset(buffer, 0xF6, sizeof(buffer));
+  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
+  {
+    close(fd);
+    return (-1);
+  }
+
+  memset(buffer, 0x00, sizeof(buffer));
+  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
+  {
+    close(fd);
+    return (-1);
+  }
+
+  memset(buffer, 0xFF, sizeof(buffer));
+  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
+  {
+    close(fd);
+    return (-1);
+  }
+
+  CUPS_SRAND(time(NULL));
+
+  for (i = 0; i < sizeof(buffer); i ++)
+    buffer[i] = CUPS_RAND();
+  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
+  {
+    close(fd);
+    return (-1);
+  }
+
+  memset(buffer, 0x00, sizeof(buffer));
+  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
+  {
+    close(fd);
+    return (-1);
+  }
+
+  memset(buffer, 0xFF, sizeof(buffer));
+  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
+  {
+    close(fd);
+    return (-1);
+  }
+
+  for (i = 0; i < sizeof(buffer); i ++)
+    buffer[i] = CUPS_RAND();
+  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
+  {
+    close(fd);
+    return (-1);
+  }
+
+ /*
+  * Whew!  Close the file (which will lead to the actual deletion) and
+  * return success...
+  */
+
+  close(fd);
+  return (0);
+#endif /* HAVE_REMOVEFILE */
+}
+
+
+#ifndef HAVE_REMOVEFILE
+/*
+ * 'overwrite_data()' - Overwrite the data in a file.
+ */
+
+static int                             /* O - 0 on success, -1 on error */
+overwrite_data(int        fd,          /* I - File descriptor */
+               const char *buffer,     /* I - Buffer to write */
+              int        bufsize,      /* I - Size of buffer */
+               int        filesize)    /* I - Size of file */
+{
+  int  bytes;                          /* Bytes to write/written */
+
+
+ /*
+  * Start at the beginning of the file...
+  */
+
+  if (lseek(fd, 0, SEEK_SET) < 0)
+    return (-1);
+
+ /*
+  * Fill the file with the provided data...
+  */
+
+  while (filesize > 0)
+  {
+    if (filesize > bufsize)
+      bytes = bufsize;
+    else
+      bytes = filesize;
+
+    if ((bytes = write(fd, buffer, bytes)) < 0)
+      return (-1);
+
+    filesize -= bytes;
+  }
+
+ /*
+  * Force the changes to disk...
+  */
+
+  return (fsync(fd));
+}
+#endif /* HAVE_REMOVEFILE */
+
+
+/*
+ * End of "$Id$".
+ */
index 0097658d2cec40f9fc6a9e3d1941b3dbca67b79c..8d601b8bd130d368187578936502e1a5ad6ca479 100644 (file)
@@ -144,7 +144,7 @@ static cupsd_job_t *add_job(cupsd_client_t *con, cupsd_printer_t *printer,
                            mime_type_t *filetype);
 static void    add_job_state_reasons(cupsd_client_t *con, cupsd_job_t *job);
 static void    add_job_subscriptions(cupsd_client_t *con, cupsd_job_t *job);
-static void    add_job_uuid(cupsd_client_t *con, cupsd_job_t *job);
+static void    add_job_uuid(cupsd_job_t *job);
 static void    add_printer(cupsd_client_t *con, ipp_attribute_t *uri);
 static void    add_printer_state_reasons(cupsd_client_t *con,
                                          cupsd_printer_t *p);
@@ -1638,7 +1638,7 @@ add_job(cupsd_client_t  *con,             /* I - Client connection */
 
   cupsdMarkDirty(CUPSD_DIRTY_JOBS);
 
-  add_job_uuid(con, job);
+  add_job_uuid(job);
   apply_printer_defaults(printer, job);
 
   attr = ippFindAttribute(job->attrs, "requesting-user-name", IPP_TAG_NAME);
@@ -2325,8 +2325,7 @@ add_job_subscriptions(
  */
 
 static void
-add_job_uuid(cupsd_client_t *con,      /* I - Client connection */
-             cupsd_job_t    *job)      /* I - Job */
+add_job_uuid(cupsd_job_t *job)         /* I - Job */
 {
   char                 uuid[64];       /* job-uuid string */
 
@@ -3099,6 +3098,8 @@ apple_init_profile(
                        cftext;         /* Localized text */
 
 
+  (void)id;
+
  /*
   * Build the profile name dictionary...
   */
@@ -5688,11 +5689,9 @@ copy_model(cupsd_client_t *con,          /* I - Client connection */
   snprintf(buffer, sizeof(buffer), "%s/daemon/cups-driverd", ServerBin);
   snprintf(tempfile, sizeof(tempfile), "%s/%d.ppd", TempDir, con->http.fd);
   tempfd = open(tempfile, O_WRONLY | O_CREAT | O_TRUNC, 0600);
-  if (tempfd < 0)
+  if (tempfd < 0 || cupsdOpenPipe(temppipe))
     return (-1);
 
-  cupsdOpenPipe(temppipe);
-
   cupsdLogMessage(CUPSD_LOG_DEBUG,
                   "copy_model: Running \"cups-driverd cat %s\"...", from);
 
@@ -10811,7 +10810,9 @@ send_http_error(
   cupsdLogMessage(status == HTTP_FORBIDDEN ? CUPSD_LOG_ERROR : CUPSD_LOG_DEBUG,
                   "Returning HTTP %s for %s (%s) from %s",
                   httpStatus(status),
-                 ippOpString(con->request->request.op.operation_id),
+                 con->request ?
+                     ippOpString(con->request->request.op.operation_id) :
+                     "no operation-id",
                  uri ? uri->values[0].string.text : "no URI",
                  con->http.hostname);
 
index 193ced46ca0dc117ac937feda4a3151fff9680a9..4cff9177c7673c09708c6cff8557eb5dc632ebfb 100644 (file)
@@ -1311,7 +1311,10 @@ cupsdDeleteJob(cupsd_job_t       *job,   /* I - Job */
 
     snprintf(filename, sizeof(filename), "%s/c%05d", RequestRoot,
             job->id);
-    unlink(filename);
+    if (Classification)
+      cupsdRemoveFile(filename);
+    else
+      unlink(filename);
   }
 
   cupsdClearString(&job->username);
@@ -1330,7 +1333,10 @@ cupsdDeleteJob(cupsd_job_t       *job,   /* I - Job */
     {
       snprintf(filename, sizeof(filename), "%s/d%05d-%03d", RequestRoot,
               job->id, job->num_files);
-      unlink(filename);
+      if (Classification)
+       cupsdRemoveFile(filename);
+      else
+       unlink(filename);
 
       job->num_files --;
     }
@@ -1552,16 +1558,25 @@ cupsdLoadJob(cupsd_job_t *job)          /* I - Job */
   snprintf(jobfile, sizeof(jobfile), "%s/c%05d", RequestRoot, job->id);
   if ((fp = cupsFileOpen(jobfile, "r")) == NULL)
   {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                   "[Job %d] Unable to open job control file \"%s\" - %s!",
-                   job->id, jobfile, strerror(errno));
-    goto error;
+    char newfile[1024];                        /* New job filename */
+
+    snprintf(newfile, sizeof(newfile), "%s/c%05d.N", RequestRoot, job->id);
+    if ((fp = cupsFileOpen(newfile, "r")) == NULL)
+    {
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                     "[Job %d] Unable to open job control file \"%s\": %s",
+                     job->id, jobfile, strerror(errno));
+      goto error;
+    }
+
+    unlink(jobfile);
+    rename(newfile, jobfile);
   }
 
   if (ippReadIO(fp, (ipp_iocb_t)cupsFileRead, 1, NULL, job->attrs) != IPP_DATA)
   {
     cupsdLogMessage(CUPSD_LOG_ERROR,
-                   "[Job %d] Unable to read job control file \"%s\"!", job->id,
+                   "[Job %d] Unable to read job control file \"%s\".", job->id,
                    jobfile);
     cupsFileClose(fp);
     goto error;
@@ -1830,7 +1845,10 @@ cupsdLoadJob(cupsd_job_t *job)           /* I - Job */
 
   job->num_files = 0;
 
-  unlink(jobfile);
+  if (Classification)
+    cupsdRemoveFile(jobfile);
+  else
+    unlink(jobfile);
 
   return (0);
 }
@@ -1945,30 +1963,19 @@ void
 cupsdSaveAllJobs(void)
 {
   int          i;                      /* Looping var */
-  cups_file_t  *fp;                    /* Job cache file */
-  char         temp[1024];             /* Temporary string */
+  cups_file_t  *fp;                    /* job.cache file */
+  char         filename[1024],         /* job.cache filename */
+               temp[1024];             /* Temporary string */
   cupsd_job_t  *job;                   /* Current job */
   time_t       curtime;                /* Current time */
   struct tm    *curdate;               /* Current date */
 
 
-  snprintf(temp, sizeof(temp), "%s/job.cache", CacheDir);
-  if ((fp = cupsFileOpen(temp, "w")) == NULL)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Unable to create job cache file \"%s\" - %s",
-                    temp, strerror(errno));
+  snprintf(filename, sizeof(filename), "%s/job.cache", CacheDir);
+  if ((fp = cupsdCreateConfFile(filename, ConfigFilePerm)) == NULL)
     return;
-  }
 
-  cupsdLogMessage(CUPSD_LOG_INFO, "Saving job cache file \"%s\"...", temp);
-
- /*
-  * Restrict access to the file...
-  */
-
-  fchown(cupsFileNumber(fp), getuid(), Group);
-  fchmod(cupsFileNumber(fp), ConfigFilePerm);
+  cupsdLogMessage(CUPSD_LOG_INFO, "Saving job.cache...");
 
  /*
   * Write a small header to the file...
@@ -2004,7 +2011,7 @@ cupsdSaveAllJobs(void)
     cupsFilePuts(fp, "</Job>\n");
   }
 
-  cupsFileClose(fp);
+  cupsdCloseCreatedConfFile(fp, filename);
 }
 
 
@@ -2015,7 +2022,8 @@ cupsdSaveAllJobs(void)
 void
 cupsdSaveJob(cupsd_job_t *job)         /* I - Job */
 {
-  char         filename[1024];         /* Job control filename */
+  char         filename[1024],         /* Job control filename */
+               newfile[1024];          /* New job control filename */
   cups_file_t  *fp;                    /* Job file */
 
 
@@ -2023,12 +2031,13 @@ cupsdSaveJob(cupsd_job_t *job)          /* I - Job */
                   job, job->id, job->attrs);
 
   snprintf(filename, sizeof(filename), "%s/c%05d", RequestRoot, job->id);
+  snprintf(newfile, sizeof(newfile), "%s/c%05d.N", RequestRoot, job->id);
 
-  if ((fp = cupsFileOpen(filename, "w")) == NULL)
+  if ((fp = cupsFileOpen(newfile, "w")) == NULL)
   {
     cupsdLogMessage(CUPSD_LOG_ERROR,
-                   "[Job %d] Unable to create job control file \"%s\" - %s.",
-                   job->id, filename, strerror(errno));
+                   "[Job %d] Unable to create job control file \"%s\": %s",
+                   job->id, newfile, strerror(errno));
     return;
   }
 
@@ -2039,12 +2048,28 @@ cupsdSaveJob(cupsd_job_t *job)          /* I - Job */
 
   if (ippWriteIO(fp, (ipp_iocb_t)cupsFileWrite, 1, NULL,
                  job->attrs) != IPP_DATA)
+  {
     cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "[Job %d] Unable to write job control file!", job->id);
-
-  cupsFileClose(fp);
+                    "[Job %d] Unable to write job control file.", job->id);
+    cupsFileClose(fp);
+    unlink(newfile);
+    return;
+  }
 
-  job->dirty = 0;
+  if (cupsFileClose(fp))
+    cupsdLogMessage(CUPSD_LOG_ERROR,
+                   "[Job %d] Unable to close job control file: %s",
+                   job->id, strerror(errno));
+  else
+  {
+    unlink(filename);
+    if (rename(newfile, filename))
+      cupsdLogMessage(CUPSD_LOG_ERROR,
+                      "[Job %d] Unable to finalize job control file: %s",
+                     job->id, strerror(errno));
+    else
+      job->dirty = 0;
+  }
 }
 
 
@@ -2468,7 +2493,10 @@ cupsdSetJobState(
          {
            snprintf(filename, sizeof(filename), "%s/d%05d-%03d", RequestRoot,
                     job->id, i);
-           unlink(filename);
+           if (Classification)
+             cupsdRemoveFile(filename);
+           else
+             unlink(filename);
          }
 
          if (job->num_files > 0)
@@ -2583,6 +2611,8 @@ compare_active_jobs(void *first,  /* I - First job */
   int  diff;                           /* Difference */
 
 
+  (void)data;
+
   if ((diff = ((cupsd_job_t *)second)->priority -
               ((cupsd_job_t *)first)->priority) != 0)
     return (diff);
@@ -2600,6 +2630,8 @@ compare_jobs(void *first,         /* I - First job */
              void *second,             /* I - Second job */
             void *data)                /* I - App data (not used) */
 {
+  (void)data;
+
   return (((cupsd_job_t *)first)->id - ((cupsd_job_t *)second)->id);
 }
 
@@ -3093,7 +3125,7 @@ finalize_job(cupsd_job_t *job,            /* I - Job */
   * Update the printer and job state.
   */
 
-  if (job_state != job->state_value)
+  if (set_job_state && job_state != job->state_value)
     cupsdSetJobState(job, job_state, CUPSD_JOB_DEFAULT, "%s", message);
 
   cupsdSetPrinterState(job->printer, printer_state,
@@ -3641,15 +3673,9 @@ load_job_cache(const char *filename)     /* I - job.cache filename */
   * Open the job.cache file...
   */
 
-  if ((fp = cupsFileOpen(filename, "r")) == NULL)
+  if ((fp = cupsdOpenConfFile(filename)) == NULL)
   {
-    if (errno != ENOENT)
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to open job cache file \"%s\": %s",
-                      filename, strerror(errno));
-
     load_request_root();
-
     return;
   }
 
@@ -3697,9 +3723,13 @@ load_job_cache(const char *filename)     /* I - job.cache filename */
       snprintf(jobfile, sizeof(jobfile), "%s/c%05d", RequestRoot, jobid);
       if (access(jobfile, 0))
       {
-        cupsdLogMessage(CUPSD_LOG_ERROR, "[Job %d] Files have gone away!",
-                       jobid);
-        continue;
+       snprintf(jobfile, sizeof(jobfile), "%s/c%05d.N", RequestRoot, jobid);
+       if (access(jobfile, 0))
+       {
+         cupsdLogMessage(CUPSD_LOG_ERROR, "[Job %d] Files have gone away!",
+                         jobid);
+         continue;
+       }
       }
 
       job = calloc(1, sizeof(cupsd_job_t));
index 4f4eef8bb801ff5cd0a7e5e23105e80e9eaf2185..9b06150131355d53df076c41fe0a922dfb812f7f 100644 (file)
  *   cupsdAddString()      - Copy and add a string to an array.
  *   cupsdCheckProcess()   - Tell the main loop to check for dead children.
  *   cupsdClearString()    - Clear a string.
- *   cupsdClosePipe()      - Close a pipe as necessary.
  *   cupsdFreeStrings()    - Free an array of strings.
  *   cupsdHoldSignals()    - Hold child and termination signals.
- *   cupsdOpenPipe()       - Create a pipe which is closed on exec.
  *   cupsdReleaseSignals() - Release signals for delivery.
  *   cupsdSetString()      - Set a string value.
  *   cupsdSetStringf()     - Set a formatted string value.
- *   cupsd_clean_files()   - Clean out old files.
  *   launchd_checkin()     - Check-in with launchd and collect the listening
  *                           fds.
  *   launchd_checkout()    - Update the launchd KeepAlive file as needed.
@@ -48,8 +45,6 @@
 #include <sys/resource.h>
 #include <syslog.h>
 #include <grp.h>
-#include <cups/dir.h>
-#include <fnmatch.h>
 
 #ifdef HAVE_LAUNCH_H
 #  include <launch.h>
@@ -79,8 +74,6 @@
  * Local functions...
  */
 
-static void            cupsd_clean_files(const char *path,
-                                         const char *pattern);
 #ifdef HAVE_LAUNCHD
 static void            launchd_checkin(void);
 static void            launchd_checkout(void);
@@ -510,9 +503,9 @@ main(int  argc,                             /* I - Number of command-line args */
   */
 
   if (!strncmp(TempDir, RequestRoot, strlen(RequestRoot)))
-    cupsd_clean_files(TempDir, NULL);
+    cupsdCleanFiles(TempDir, NULL);
 
-  cupsd_clean_files(CacheDir, "*.ipp");
+  cupsdCleanFiles(CacheDir, "*.ipp");
 
 #if HAVE_LAUNCHD
   if (Launchd)
@@ -1231,31 +1224,6 @@ cupsdClearString(char **s)               /* O - String value */
 }
 
 
-/*
- * 'cupsdClosePipe()' - Close a pipe as necessary.
- */
-
-void
-cupsdClosePipe(int *fds)               /* I - Pipe file descriptors (2) */
-{
- /*
-  * Close file descriptors as needed...
-  */
-
-  if (fds[0] >= 0)
-  {
-    close(fds[0]);
-    fds[0] = -1;
-  }
-
-  if (fds[1] >= 0)
-  {
-    close(fds[1]);
-    fds[1] = -1;
-  }
-}
-
-
 /*
  * 'cupsdFreeStrings()' - Free an array of strings.
  */
@@ -1299,59 +1267,6 @@ cupsdHoldSignals(void)
 }
 
 
-/*
- * 'cupsdOpenPipe()' - Create a pipe which is closed on exec.
- */
-
-int                                    /* O - 0 on success, -1 on error */
-cupsdOpenPipe(int *fds)                        /* O - Pipe file descriptors (2) */
-{
- /*
-  * Create the pipe...
-  */
-
-  if (pipe(fds))
-  {
-    fds[0] = -1;
-    fds[1] = -1;
-
-    return (-1);
-  }
-
- /*
-  * Set the "close on exec" flag on each end of the pipe...
-  */
-
-  if (fcntl(fds[0], F_SETFD, fcntl(fds[0], F_GETFD) | FD_CLOEXEC))
-  {
-    close(fds[0]);
-    close(fds[1]);
-
-    fds[0] = -1;
-    fds[1] = -1;
-
-    return (-1);
-  }
-
-  if (fcntl(fds[1], F_SETFD, fcntl(fds[1], F_GETFD) | FD_CLOEXEC))
-  {
-    close(fds[0]);
-    close(fds[1]);
-
-    fds[0] = -1;
-    fds[1] = -1;
-
-    return (-1);
-  }
-
- /*
-  * Return 0 indicating success...
-  */
-
-  return (0);
-}
-
-
 /*
  * 'cupsdReleaseSignals()' - Release signals for delivery.
  */
@@ -1428,60 +1343,6 @@ cupsdSetStringf(char       **s,          /* O - New string */
 }
 
 
-/*
- * 'cupsd_clean_files()' - Clean out old files.
- */
-static void
-cupsd_clean_files(const char *path,    /* I - Directory to clean */
-                  const char *pattern) /* I - Filename pattern or NULL */
-{
-  cups_dir_t   *dir;                   /* Directory */
-  cups_dentry_t        *dent;                  /* Directory entry */
-  char         filename[1024];         /* Filename */
-  int          status;                 /* Status from unlink/rmdir */
-
-
-  cupsdLogMessage(CUPSD_LOG_DEBUG,
-                  "cupsd_clean_files(path=\"%s\", pattern=\"%s\")", path,
-                 pattern ? pattern : "(null)");
-
-  if ((dir = cupsDirOpen(path)) == NULL)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to open directory \"%s\" - %s",
-                   path, strerror(errno));
-    return;
-  }
-
-  cupsdLogMessage(CUPSD_LOG_INFO, "Cleaning out old files in \"%s\"...", path);
-
-  while ((dent = cupsDirRead(dir)) != NULL)
-  {
-    if (pattern && fnmatch(pattern, dent->filename, 0))
-      continue;
-
-    snprintf(filename, sizeof(filename), "%s/%s", path, dent->filename);
-
-    if (S_ISDIR(dent->fileinfo.st_mode))
-    {
-      cupsd_clean_files(filename, pattern);
-
-      status = rmdir(filename);
-    }
-    else
-      status = unlink(filename);
-
-    if (status)
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to remove \"%s\" - %s", filename,
-                     strerror(errno));
-    else
-      cupsdLogMessage(CUPSD_LOG_DEBUG, "Removed \"%s\"...", filename);
-  }
-
-  cupsDirClose(dir);
-}
-
-
 #ifdef HAVE_LAUNCHD
 /*
  * 'launchd_checkin()' - Check-in with launchd and collect the listening fds.
index e3c7ad39477f8bde9b57b0086af0fd344eb2cbd2..7f55b7ea1fb840083c4116c145b53c06863c121f 100644 (file)
@@ -955,13 +955,8 @@ cupsdLoadAllPrinters(void)
   */
 
   snprintf(line, sizeof(line), "%s/printers.conf", ServerRoot);
-  if ((fp = cupsFileOpen(line, "r")) == NULL)
-  {
-    if (errno != ENOENT)
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to open %s - %s", line,
-                     strerror(errno));
+  if ((fp = cupsdOpenConfFile(line)) == NULL)
     return;
-  }
 
  /*
   * Read printer configurations until we hit EOF...
@@ -1455,8 +1450,8 @@ cupsdSaveAllPrinters(void)
 {
   int                  i;              /* Looping var */
   cups_file_t          *fp;            /* printers.conf file */
-  char                 temp[1024],     /* Temporary string */
-                       backup[1024],   /* printers.conf.O file */
+  char                 filename[1024], /* printers.conf filename */
+                       temp[1024],     /* Temporary string */
                        value[2048],    /* Value string */
                        *ptr,           /* Pointer into value */
                        *name;          /* Current user/group name */
@@ -1471,35 +1466,12 @@ cupsdSaveAllPrinters(void)
   * Create the printers.conf file...
   */
 
-  snprintf(temp, sizeof(temp), "%s/printers.conf", ServerRoot);
-  snprintf(backup, sizeof(backup), "%s/printers.conf.O", ServerRoot);
-
-  if (rename(temp, backup))
-  {
-    if (errno != ENOENT)
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to backup printers.conf - %s", strerror(errno));
-  }
-
-  if ((fp = cupsFileOpen(temp, "w")) == NULL)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR,
-                    "Unable to save printers.conf - %s", strerror(errno));
+  snprintf(filename, sizeof(filename), "%s/printers.conf", ServerRoot);
 
-    if (rename(backup, temp))
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to restore printers.conf - %s", strerror(errno));
+  if ((fp = cupsdCreateConfFile(filename, ConfigFilePerm & 0600)) == NULL)
     return;
-  }
-  else
-    cupsdLogMessage(CUPSD_LOG_INFO, "Saving printers.conf...");
-
- /*
-  * Restrict access to the file...
-  */
 
-  fchown(cupsFileNumber(fp), getuid(), Group);
-  fchmod(cupsFileNumber(fp), ConfigFilePerm & 0600);
+  cupsdLogMessage(CUPSD_LOG_INFO, "Saving printers.conf...");
 
  /*
   * Write a small header to the file...
@@ -1754,7 +1726,7 @@ cupsdSaveAllPrinters(void)
 #endif /* __sgi */
   }
 
-  cupsFileClose(fp);
+  cupsdCloseCreatedConfFile(fp, filename);
 }
 
 
@@ -3867,6 +3839,8 @@ compare_printers(void *first,             /* I - First printer */
                  void *second,         /* I - Second printer */
                 void *data)            /* I - App data (not used) */
 {
+  (void)data;
+
   return (strcasecmp(((cupsd_printer_t *)first)->name,
                      ((cupsd_printer_t *)second)->name));
 }
diff --git a/scheduler/removefile.c b/scheduler/removefile.c
deleted file mode 100644 (file)
index 756912e..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * "$Id: removefile.c 7720 2008-07-11 22:46:21Z mike $"
- *
- *   "Secure" file removal function for the CUPS scheduler.
- *
- *   Copyright 2007-2010 by Apple Inc.
- *   Copyright 1997-2007 by Easy Software Products, all rights reserved.
- *
- *   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"
- *   "LICENSE" which should have been included with this file.  If this
- *   file is missing or damaged, see the license at "http://www.cups.org/".
- *
- * Contents:
- *
- *   cupsdRemoveFile() - Remove a file using the 7-pass US DoD method.
- *   overwrite_data()  - Overwrite the data in a file.
- */
-
-/*
- * Include necessary headers...
- */
-
-#include "cupsd.h"
-#ifdef HAVE_REMOVEFILE
-#  include <removefile.h>
-#else
-static int     overwrite_data(int fd, const char *buffer, int bufsize,
-                              int filesize);
-#endif /* HAVE_REMOVEFILE */
-
-
-/*
- * 'cupsdRemoveFile()' - Remove a file using the 7-pass US DoD method.
- */
-
-int                                    /* O - 0 on success, -1 on error */
-cupsdRemoveFile(const char *filename)  /* I - File to remove */
-{
-#ifdef HAVE_REMOVEFILE
-  int                  ret;            /* Return value */
-  removefile_state_t   s;              /* Remove state variable */
-
-
-  s   = removefile_state_alloc();
-  ret = removefile(filename, s, REMOVEFILE_SECURE_7_PASS);
-
-  removefile_state_free(s);
-
-  return (ret);
-
-#else
-  int                  fd;             /* File descriptor */
-  struct stat          info;           /* File information */
-  char                 buffer[512];    /* Data buffer */
-  int                  i;              /* Looping var */
-
-
- /*
-  * First open the file for writing in exclusive mode.
-  */
-
-  if ((fd = open(filename, O_WRONLY | O_EXCL)) < 0)
-    return (-1);
-
- /*
-  * Delete the file now - it will still be around as long as the file is
-  * open...
-  */
-
-  unlink(filename);
-
- /*
-  * Then get the file size...
-  */
-
-  if (fstat(fd, &info))
-  {
-    close(fd);
-    return (-1);
-  }
-
- /*
-  * Overwrite the file 7 times with 0xF6, 0x00, 0xFF, random, 0x00, 0xFF,
-  * and more random data.
-  */
-
-  memset(buffer, 0xF6, sizeof(buffer));
-  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
-  {
-    close(fd);
-    return (-1);
-  }
-
-  memset(buffer, 0x00, sizeof(buffer));
-  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
-  {
-    close(fd);
-    return (-1);
-  }
-
-  memset(buffer, 0xFF, sizeof(buffer));
-  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
-  {
-    close(fd);
-    return (-1);
-  }
-
-  CUPS_SRAND(time(NULL));
-
-  for (i = 0; i < sizeof(buffer); i ++)
-    buffer[i] = CUPS_RAND();
-  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
-  {
-    close(fd);
-    return (-1);
-  }
-
-  memset(buffer, 0x00, sizeof(buffer));
-  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
-  {
-    close(fd);
-    return (-1);
-  }
-
-  memset(buffer, 0xFF, sizeof(buffer));
-  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
-  {
-    close(fd);
-    return (-1);
-  }
-
-  for (i = 0; i < sizeof(buffer); i ++)
-    buffer[i] = CUPS_RAND();
-  if (overwrite_data(fd, buffer, sizeof(buffer), (int)info.st_size))
-  {
-    close(fd);
-    return (-1);
-  }
-
- /*
-  * Whew!  Close the file (which will lead to the actual deletion) and
-  * return success...
-  */
-
-  close(fd);
-  return (0);
-#endif /* HAVE_REMOVEFILE */
-}
-
-
-#ifndef HAVE_REMOVEFILE
-/*
- * 'overwrite_data()' - Overwrite the data in a file.
- */
-
-static int                             /* O - 0 on success, -1 on error */
-overwrite_data(int        fd,          /* I - File descriptor */
-               const char *buffer,     /* I - Buffer to write */
-              int        bufsize,      /* I - Size of buffer */
-               int        filesize)    /* I - Size of file */
-{
-  int  bytes;                          /* Bytes to write/written */
-
-
- /*
-  * Start at the beginning of the file...
-  */
-
-  if (lseek(fd, 0, SEEK_SET) < 0)
-    return (-1);
-
- /*
-  * Fill the file with the provided data...
-  */
-
-  while (filesize > 0)
-  {
-    if (filesize > bufsize)
-      bytes = bufsize;
-    else
-      bytes = filesize;
-
-    if ((bytes = write(fd, buffer, bytes)) < 0)
-      return (-1);
-
-    filesize -= bytes;
-  }
-
- /*
-  * Force the changes to disk...
-  */
-
-  return (fsync(fd));
-}
-#endif /* HAVE_REMOVEFILE */
-
-
-#ifdef TEST
-#  define testmain main
-int
-testmain(void)
-{
-  FILE *fp;
-
-
-  fp = fopen("testfile.secure", "w");
-  fputs("Hello, World!\n", fp);
-  fputs("Now is the time for all good men to come to the aid of their "
-        "country.\n", fp);
-  fclose(fp);
-
-  if (cupsdRemoveFile("testfile.secure"))
-  {
-    printf("cupsdRemoveFile: FAIL (%s)\n", strerror(errno));
-    return (1);
-  }
-  else
-  {
-    puts("cupsdRemoveFile: PASS");
-    return (0);
-  }
-}
-#endif /* TEST */
-
-
-/*
- * End of "$Id: removefile.c 7720 2008-07-11 22:46:21Z mike $".
- */
index c30762eb4b7d3a1b5c377826c5f1919f03848f1c..b2ad51e8f0b7e7a7c591e164e3afa73120ee9e71 100644 (file)
@@ -735,14 +735,8 @@ cupsdLoadAllSubscriptions(void)
   */
 
   snprintf(line, sizeof(line), "%s/subscriptions.conf", ServerRoot);
-  if ((fp = cupsFileOpen(line, "r")) == NULL)
-  {
-    if (errno != ENOENT)
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                     "LoadAllSubscriptions: Unable to open %s - %s", line,
-                     strerror(errno));
+  if ((fp = cupsdOpenConfFile(line)) == NULL)
     return;
-  }
 
  /*
   * Read all of the lines from the file...
@@ -1080,8 +1074,8 @@ cupsdSaveAllSubscriptions(void)
 {
   int                  i;              /* Looping var */
   cups_file_t          *fp;            /* subscriptions.conf file */
-  char                 temp[1024];     /* Temporary string */
-  char                 backup[1024];   /* subscriptions.conf.O file */
+  char                 filename[1024], /* subscriptions.conf filename */
+                       temp[1024];     /* Temporary string */
   cupsd_subscription_t *sub;           /* Current subscription */
   time_t               curtime;        /* Current time */
   struct tm            *curdate;       /* Current date */
@@ -1094,36 +1088,12 @@ cupsdSaveAllSubscriptions(void)
   * Create the subscriptions.conf file...
   */
 
-  snprintf(temp, sizeof(temp), "%s/subscriptions.conf", ServerRoot);
-  snprintf(backup, sizeof(backup), "%s/subscriptions.conf.O", ServerRoot);
+  snprintf(filename, sizeof(filename), "%s/subscriptions.conf", ServerRoot);
 
-  if (rename(temp, backup))
-  {
-    if (errno != ENOENT)
-      cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to backup subscriptions.conf - %s",
-                      strerror(errno));
-  }
-
-  if ((fp = cupsFileOpen(temp, "w")) == NULL)
-  {
-    cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to save subscriptions.conf - %s",
-                    strerror(errno));
-
-    if (rename(backup, temp))
-      cupsdLogMessage(CUPSD_LOG_ERROR,
-                      "Unable to restore subscriptions.conf - %s",
-                      strerror(errno));
+  if ((fp = cupsdCreateConfFile(filename, ConfigFilePerm)) == NULL)
     return;
-  }
-  else
-    cupsdLogMessage(CUPSD_LOG_INFO, "Saving subscriptions.conf...");
 
- /*
-  * Restrict access to the file...
-  */
-
-  fchown(cupsFileNumber(fp), getuid(), Group);
-  fchmod(cupsFileNumber(fp), ConfigFilePerm);
+  cupsdLogMessage(CUPSD_LOG_INFO, "Saving subscriptions.conf...");
 
  /*
   * Write a small header to the file...
@@ -1224,7 +1194,7 @@ cupsdSaveAllSubscriptions(void)
     cupsFilePuts(fp, "</Subscription>\n");
   }
 
-  cupsFileClose(fp);
+  cupsdCloseCreatedConfFile(fp, filename);
 }
 
 
index 65cfc13c3b5e5f10202f9e079554fd04d837da58..9c323439fb6eab76b360afa58178427c65062230 100644 (file)
@@ -774,6 +774,8 @@ sysEventTimerNotifier(
   cupsd_thread_data_t  *threadData;    /* Thread context data */
 
 
+  (void)timer;
+
   threadData = (cupsd_thread_data_t *)context;
 
  /*
index 19147869823f0f45433e01d5ae0f96a61472d41c..a10f4f49c751194898190abebeb8cbf6760ccfcd 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id: Makefile 3572 2003-04-08 19:56:25Z mike $"
 #
-#   PHP Makefile for the Common UNIX Printing System (CUPS).
+#   PHP Makefile for CUPS.
 #
-#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1997-2007 by Easy Software Products, all rights reserved.
 #
 #   These coded instructions, statements, and computer programs are the
index 2e008a563bd3726173a672311c95c84ea05a9bc4..e1fb4d4c91289af70cce3aaade667dd5b73992d9 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: phpcups.c 7624 2008-06-09 15:55:04Z mike $"
  *
- *   Printing utilities for the Common UNIX Printing System (CUPS).
+ *   Printing utilities for CUPS.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2007 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
@@ -36,7 +36,7 @@
 #include "phpcups.h"
 
 
-/* 
+/*
  * PHP function list...
  */
 
index 5cede1437892e54f2ad052f3263cbeeecf92eb4c..e46012dbcf9d74a3d1a2b344021bf301ccfd2a7e 100644 (file)
@@ -1,9 +1,9 @@
 /*
  * "$Id: phpcups.h 6649 2007-07-11 21:46:42Z mike $"
  *
- *   PHP module include file for the Common UNIX Printing System (CUPS).
+ *   PHP module include file for CUPS.
  *
- *   Copyright 2007 by Apple Inc.
+ *   Copyright 2007-2011 by Apple Inc.
  *   Copyright 1997-2006 by Easy Software Products.
  *
  *   These coded instructions, statements, and computer programs are the
index 791c004c011e108ccacb4f452a2409469785c615..0fe57190ee3a7cc1d8729031dd55b822b8a95084 100755 (executable)
@@ -3,9 +3,9 @@
 //
 // "$Id: phpcups.php 3603 2003-04-11 18:42:52Z mike $"
 //
-//   PHP test script for the Common UNIX Printing System (CUPS).
+//   PHP test script for CUPS.
 //
-//   Copyright 2007 by Apple Inc.
+//   Copyright 2007-2011 by Apple Inc.
 //   Copyright 1997-2006 by Easy Software Products, all rights reserved.
 //
 //   These coded instructions, statements, and computer programs are the
index 7202e624b711ff023db3963f853bc1769f044354..9f32260ad0c321dc3e474223ff2e061ab52627a9 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id: Makefile 7940 2008-09-16 00:45:16Z mike $"
 #
-#   Template makefile for the Common UNIX Printing System (CUPS).
+#   Template makefile for CUPS.
 #
-#   Copyright 2007-2009 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1993-2007 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
index ca4c6e120bc66fafdc36ddd406c2f339948565e5..28f82eaca9b33be7dc8c26604c2abca0711f456c 100644 (file)
@@ -1,9 +1,9 @@
 #
 # "$Id$"
 #
-#   Template makefile for the Common UNIX Printing System (CUPS).
+#   Template makefile for CUPS.
 #
-#   Copyright 2007-2008 by Apple Inc.
+#   Copyright 2007-2011 by Apple Inc.
 #   Copyright 1993-2007 by Easy Software Products.
 #
 #   These coded instructions, statements, and computer programs are the
index 848833a28583e6b4e5095dbf9ff646efbda545a7..d8cf66bfda91ea8a7303b16c1668952669d71822 100644 (file)
@@ -714,6 +714,29 @@ do_tests(_cups_vars_t *vars,               /* I - Variables */
 
       continue;
     }
+    else if (!strcmp(token, "DEFINE-DEFAULT"))
+    {
+     /*
+      * DEFINE-DEFAULT name value
+      */
+
+      if (get_token(fp, attr, sizeof(attr), &linenum) &&
+          get_token(fp, temp, sizeof(temp), &linenum))
+      {
+        expand_variables(vars, token, temp, sizeof(token));
+       if (!get_variable(vars, attr))
+         set_variable(vars, attr, token);
+      }
+      else
+      {
+        print_fatal_error("Missing DEFINE-DEFAULT name and/or value on line "
+                         "%d.", linenum);
+       pass = 0;
+       goto test_exit;
+      }
+
+      continue;
+    }
     else if (!strcmp(token, "IGNORE-ERRORS"))
     {
      /*
@@ -767,6 +790,76 @@ do_tests(_cups_vars_t *vars,               /* I - Variables */
       show_header = 1;
       continue;
     }
+    else if (!strcmp(token, "INCLUDE-IF-DEFINED"))
+    {
+     /*
+      * INCLUDE-IF-DEFINED name "filename"
+      * INCLUDE-IF-DEFINED name <filename>
+      */
+
+      if (get_token(fp, attr, sizeof(attr), &linenum) &&
+          get_token(fp, temp, sizeof(temp), &linenum))
+      {
+       /*
+        * Map the filename to and then run the tests...
+       */
+
+        if (get_variable(vars, attr) &&
+           !do_tests(vars, get_filename(testfile, filename, temp,
+                                        sizeof(filename))))
+       {
+         pass = 0;
+
+         if (!IgnoreErrors)
+           goto test_exit;
+       }
+      }
+      else
+      {
+        print_fatal_error("Missing INCLUDE-IF-DEFINED name or filename on line "
+                         "%d.", linenum);
+       pass = 0;
+       goto test_exit;
+      }
+
+      show_header = 1;
+      continue;
+    }
+    else if (!strcmp(token, "INCLUDE-IF-NOT-DEFINED"))
+    {
+     /*
+      * INCLUDE-IF-NOT-DEFINED name "filename"
+      * INCLUDE-IF-NOT-DEFINED name <filename>
+      */
+
+      if (get_token(fp, attr, sizeof(attr), &linenum) &&
+          get_token(fp, temp, sizeof(temp), &linenum))
+      {
+       /*
+        * Map the filename to and then run the tests...
+       */
+
+        if (!get_variable(vars, attr) &&
+           !do_tests(vars, get_filename(testfile, filename, temp,
+                                        sizeof(filename))))
+       {
+         pass = 0;
+
+         if (!IgnoreErrors)
+           goto test_exit;
+       }
+      }
+      else
+      {
+        print_fatal_error("Missing INCLUDE-IF-NOT-DEFINED name or filename on "
+                         "line %d.", linenum);
+       pass = 0;
+       goto test_exit;
+      }
+
+      show_header = 1;
+      continue;
+    }
     else if (!strcmp(token, "SKIP-IF-DEFINED"))
     {
      /*
@@ -780,7 +873,8 @@ do_tests(_cups_vars_t *vars,                /* I - Variables */
       }
       else
       {
-        print_fatal_error("Missing SKIP-IF-DEFINED value on line %d.", linenum);
+        print_fatal_error("Missing SKIP-IF-DEFINED variable on line %d.",
+                         linenum);
        pass = 0;
        goto test_exit;
       }
@@ -798,7 +892,7 @@ do_tests(_cups_vars_t *vars,                /* I - Variables */
       }
       else
       {
-        print_fatal_error("Missing SKIP-IF-NOT-DEFINED value on line %d.",
+        print_fatal_error("Missing SKIP-IF-NOT-DEFINED variable on line %d.",
                          linenum);
        pass = 0;
        goto test_exit;
index bce9c917574ad2a4acbbf4aec613b1370835cfba..bf8c36cbc4c461ec10812bbbdca8264c675b7e43 100644 (file)
@@ -12,9 +12,9 @@
 %%BeginProlog
 %%BeginResource procset testprint 1.3 0
 %
-%   PostScript test page for the Common UNIX Printing System ("CUPS").
+%   PostScript test page for CUPS.
 %
-%   Copyright 2007 Apple Inc.
+%   Copyright 2007-2011 Apple Inc.
 %   Copyright 1993-2007 Easy Software Products
 %
 %   These coded instructions, statements, and computer programs are the
index 77c8ca62be3e527138a13b156fdad704f8da9443..10b4a377480aedd3fb8c1bee1a73010595f6652c 100644 (file)
@@ -2,9 +2,9 @@
 *%
 *% "$Id: testps.ppd 6649 2007-07-11 21:46:42Z mike $"
 *%
-*%   Test PS PPD file for the Common UNIX Printing System (CUPS).
+*%   Test PS PPD file for CUPS.
 *%
-*%   Copyright 2007 by Apple Inc.
+*%   Copyright 2007-2011 by Apple Inc.
 *%   Copyright 1997-2005 by Easy Software Products.
 *%
 *%   These coded instructions, statements, and computer programs are the
@@ -15,7 +15,7 @@
 *%
 *FormatVersion:        "4.3"
 *FileVersion:  "1.1"
-*LanguageVersion: English 
+*LanguageVersion: English
 *LanguageEncoding: ISOLatin1
 *PCFileName:   "TESTPS.PPD"
 *Manufacturer: "ESP"
@@ -79,7 +79,7 @@
 *PageRegion EnvMonarch/Envelope Monarch: "<</PageSize[279 540]/ImagingBBox null>>setpagedevice"
 *CloseUI: *PageRegion
 
-*DefaultImageableArea: Letter 
+*DefaultImageableArea: Letter
 *ImageableArea Letter/US Letter:       "18 36 594 756"
 *ImageableArea Legal/US Legal:         "18 36 594 972"
 *ImageableArea Executive/US Executive: "18 36 504 684"
index 208f545d7a5af7c163fb7a439cee6ea3664b94e1..8f6ac23cb16e9b22af159857cb18c8dabb4da74e 100644 (file)
                72220F9F13330B0C00FCA411 /* printers.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F8313330B0C00FCA411 /* printers.c */; };
                72220FA013330B0C00FCA411 /* process.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F8513330B0C00FCA411 /* process.c */; };
                72220FA113330B0C00FCA411 /* quotas.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F8613330B0C00FCA411 /* quotas.c */; };
-               72220FA213330B0C00FCA411 /* removefile.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F8713330B0C00FCA411 /* removefile.c */; };
                72220FA313330B0C00FCA411 /* select.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F8813330B0C00FCA411 /* select.c */; };
                72220FA413330B0C00FCA411 /* server.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F8913330B0C00FCA411 /* server.c */; };
                72220FA513330B0C00FCA411 /* statbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = 72220F8A13330B0C00FCA411 /* statbuf.c */; };
                726AD70D135E8B11002C930D /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F4C133306BB00FCA411 /* SystemConfiguration.framework */; };
                726AD70E135E8B5E002C930D /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220F51133308C100FCA411 /* libiconv.dylib */; };
                7271883D1374AB14001A2036 /* mime-private.h in Headers */ = {isa = PBXBuildFile; fileRef = 7271883C1374AB14001A2036 /* mime-private.h */; };
+               72C16CB9137B195D007E4BF4 /* file.c in Sources */ = {isa = PBXBuildFile; fileRef = 72C16CB8137B195D007E4BF4 /* file.c */; };
                72F75A5C1336F988004BB496 /* cupstestppd.c in Sources */ = {isa = PBXBuildFile; fileRef = 72F75A5B1336F988004BB496 /* cupstestppd.c */; };
                72F75A671336FA38004BB496 /* libcups.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 72220EAE1333047D00FCA411 /* libcups.dylib */; };
                72F75A6C1336FA8A004BB496 /* error.c in Sources */ = {isa = PBXBuildFile; fileRef = 72F75A691336FA8A004BB496 /* error.c */; };
                72220F8413330B0C00FCA411 /* printers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = printers.h; path = ../scheduler/printers.h; sourceTree = SOURCE_ROOT; };
                72220F8513330B0C00FCA411 /* process.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = process.c; path = ../scheduler/process.c; sourceTree = SOURCE_ROOT; };
                72220F8613330B0C00FCA411 /* quotas.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = quotas.c; path = ../scheduler/quotas.c; sourceTree = SOURCE_ROOT; };
-               72220F8713330B0C00FCA411 /* removefile.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = removefile.c; path = ../scheduler/removefile.c; sourceTree = SOURCE_ROOT; };
                72220F8813330B0C00FCA411 /* select.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = select.c; path = ../scheduler/select.c; sourceTree = SOURCE_ROOT; };
                72220F8913330B0C00FCA411 /* server.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = server.c; path = ../scheduler/server.c; sourceTree = SOURCE_ROOT; };
                72220F8A13330B0C00FCA411 /* statbuf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = statbuf.c; path = ../scheduler/statbuf.c; sourceTree = SOURCE_ROOT; };
                7271883A137498E4001A2036 /* image.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = image.c; path = ../filter/image.c; sourceTree = "<group>"; };
                7271883B137498E4001A2036 /* image.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = image.h; path = ../filter/image.h; sourceTree = "<group>"; };
                7271883C1374AB14001A2036 /* mime-private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "mime-private.h"; path = "../scheduler/mime-private.h"; sourceTree = "<group>"; };
+               72C16CB8137B195D007E4BF4 /* file.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = file.c; path = ../scheduler/file.c; sourceTree = SOURCE_ROOT; };
                72F75A4C1336F31B004BB496 /* libcups_static.a */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libcups_static.a; sourceTree = BUILT_PRODUCTS_DIR; };
                72F75A521336F950004BB496 /* cupstestppd */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = cupstestppd; sourceTree = BUILT_PRODUCTS_DIR; };
                72F75A5B1336F988004BB496 /* cupstestppd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = cupstestppd.c; path = ../systemv/cupstestppd.c; sourceTree = "<group>"; };
                                72220F7613330B0C00FCA411 /* dirsvc.c */,
                                72220F7713330B0C00FCA411 /* dirsvc.h */,
                                72220F7813330B0C00FCA411 /* env.c */,
+                               72C16CB8137B195D007E4BF4 /* file.c */,
                                72220F7913330B0C00FCA411 /* ipp.c */,
                                72220F7A13330B0C00FCA411 /* job.c */,
                                72220F7B13330B0C00FCA411 /* job.h */,
                                72220F8413330B0C00FCA411 /* printers.h */,
                                72220F8513330B0C00FCA411 /* process.c */,
                                72220F8613330B0C00FCA411 /* quotas.c */,
-                               72220F8713330B0C00FCA411 /* removefile.c */,
                                72220F8813330B0C00FCA411 /* select.c */,
                                72220F8913330B0C00FCA411 /* server.c */,
                                72220F8A13330B0C00FCA411 /* statbuf.c */,
                                72220F9F13330B0C00FCA411 /* printers.c in Sources */,
                                72220FA013330B0C00FCA411 /* process.c in Sources */,
                                72220FA113330B0C00FCA411 /* quotas.c in Sources */,
-                               72220FA213330B0C00FCA411 /* removefile.c in Sources */,
                                72220FA313330B0C00FCA411 /* select.c in Sources */,
                                72220FA413330B0C00FCA411 /* server.c in Sources */,
                                72220FA513330B0C00FCA411 /* statbuf.c in Sources */,
                                72220FA613330B0C00FCA411 /* subscriptions.c in Sources */,
                                72220FA713330B0C00FCA411 /* sysman.c in Sources */,
+                               72C16CB9137B195D007E4BF4 /* file.c in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                270CCDAD135E3C9E00007BE2 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
-                               SKIP_INSTALL = NO;
                        };
                        name = Debug;
                };
                270CCDAE135E3C9E00007BE2 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
-                               SKIP_INSTALL = NO;
                        };
                        name = Release;
                };
                273BF6C41333B5000022CAAB /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                273BF6C51333B5000022CAAB /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Release;
                274FF5D313332B1F00317ECB /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/daemon;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                274FF5D413332B1F00317ECB /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/daemon;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                274FF5F0133330C800317ECB /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
                                EXECUTABLE_PREFIX = "";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/lib;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRIVATE_HEADERS_FOLDER_PATH = /usr/local/include/cups;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                                PUBLIC_HEADERS_FOLDER_PATH = /usr/include/cups;
                274FF5F1133330C800317ECB /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
                                EXECUTABLE_PREFIX = "";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/lib;
                                PRIVATE_HEADERS_FOLDER_PATH = /usr/local/include/cups;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                274FF6301333333600317ECB /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/daemon;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                274FF6311333333600317ECB /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/daemon;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                274FF6451333358C00317ECB /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/daemon;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                274FF6461333358C00317ECB /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/daemon;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                274FF656133339C400317ECB /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/daemon;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                274FF657133339C400317ECB /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/daemon;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                274FF66A13333A9B00317ECB /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/daemon;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                274FF66B13333A9B00317ECB /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/daemon;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                274FF67F13333B2F00317ECB /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/sbin;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                274FF68013333B2F00317ECB /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/sbin;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                274FF6DE1333B1C400317ECB /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
                                EXECUTABLE_EXTENSION = a;
                                EXECUTABLE_PREFIX = "";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/local/lib;
-                               MACH_O_TYPE = staticlib;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRIVATE_HEADERS_FOLDER_PATH = /usr/local/include/cups;
                                PRODUCT_NAME = libcups_static;
                                PUBLIC_HEADERS_FOLDER_PATH = /usr/include/cups;
-                               SKIP_INSTALL = NO;
                                STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
                        };
                        name = Debug;
                274FF6DF1333B1C400317ECB /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
                                EXECUTABLE_EXTENSION = a;
                                EXECUTABLE_PREFIX = "";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/local/lib;
-                               MACH_O_TYPE = staticlib;
                                PRIVATE_HEADERS_FOLDER_PATH = /usr/local/include/cups;
                                PRODUCT_NAME = libcups_static;
                                PUBLIC_HEADERS_FOLDER_PATH = /usr/include/cups;
-                               SKIP_INSTALL = NO;
                                STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = static;
                        };
                        name = Release;
                276683631337A9B6000D33D0 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/sbin;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                276683641337A9B6000D33D0 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/sbin;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                276683771337AC79000D33D0 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                276683781337AC79000D33D0 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                276683841337AC8C000D33D0 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                276683851337AC8C000D33D0 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                276683911337AC97000D33D0 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                276683921337AC97000D33D0 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                2766839E1337ACA2000D33D0 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                2766839F1337ACA2000D33D0 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                276683AB1337ACAB000D33D0 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                276683AC1337ACAB000D33D0 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                276683F71337F78F000D33D0 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                276683F81337F78F000D33D0 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                2766840B1337FA1E000D33D0 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/sbin;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                2766840C1337FA1E000D33D0 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/sbin;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                278C58D1136B640300836530 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
-                               MACOSX_DEPLOYMENT_TARGET = 10.6;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
-                               SDKROOT = macosx;
                        };
                        name = Debug;
                };
                278C58D2136B640300836530 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
-                               MACOSX_DEPLOYMENT_TARGET = 10.6;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Release;
                720DD6C91358FD5F0064AA82 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/backend;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                720DD6CA1358FD5F0064AA82 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/backend;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                72220EB01333047D00FCA411 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
                                EXECUTABLE_PREFIX = "";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/lib;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRIVATE_HEADERS_FOLDER_PATH = /usr/local/include/cups;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                                PUBLIC_HEADERS_FOLDER_PATH = /usr/include/cups;
                72220EB11333047D00FCA411 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
                                EXECUTABLE_PREFIX = "";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/lib;
                                PRIVATE_HEADERS_FOLDER_PATH = /usr/local/include/cups;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                72220F6213330A5A00FCA411 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/sbin;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                72220F6313330A5A00FCA411 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/sbin;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                72220FAE13330B2300FCA411 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
                                EXECUTABLE_PREFIX = "";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/lib;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                72220FAF13330B2300FCA411 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
                                EXECUTABLE_PREFIX = "";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/lib;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                724379041333E43E009631B9 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_MODE_FLAG = "u+rwX,go-rwX";
                                INSTALL_PATH = /usr/libexec/cups/backend;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                724379051333E43E009631B9 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_MODE_FLAG = "u+rwX,go-rwX";
                                INSTALL_PATH = /usr/libexec/cups/backend;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                7243791F1333E532009631B9 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/backend;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                724379201333E532009631B9 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/backend;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                724379371333FB85009631B9 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/backend;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                724379381333FB85009631B9 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/backend;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                7243794E1333FEA9009631B9 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/backend;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                7243794F1333FEA9009631B9 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/backend;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                724379621333FF1D009631B9 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/backend;
-                               LIBRARY_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "\"$(SRCROOT)/../backend\"",
-                               );
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                724379631333FF1D009631B9 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/backend;
-                               LIBRARY_SEARCH_PATHS = (
-                                       "$(inherited)",
-                                       "\"$(SRCROOT)/../backend\"",
-                               );
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Release;
                7258EAEA134594C4009286F1 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/filter;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                7258EAEB134594C4009286F1 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/libexec/cups/filter;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                726AD6FF135E88F1002C930D /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                726AD700135E88F1002C930D /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Release;
                        isa = XCBuildConfiguration;
                        buildSettings = {
                                ARCHS = "$(NATIVE_ARCH_ACTUAL)";
+                               DEBUG_INFORMATION_FORMAT = dwarf;
+                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
+                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
                                GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_SHADOW = YES;
+                               GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                               GCC_WARN_UNUSED_FUNCTION = YES;
+                               GCC_WARN_UNUSED_LABEL = YES;
+                               GCC_WARN_UNUSED_PARAMETER = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
                                HEADER_SEARCH_PATHS = (
                                        .,
                                        ..,
                                );
-                               MACOSX_DEPLOYMENT_TARGET = "";
                                OTHER_CFLAGS = (
                                        "-D_CUPS_SOURCE",
                                        "-Wno-shorten-64-to-32",
                                );
-                               SDKROOT = "";
                        };
                        name = Debug;
                };
                        isa = XCBuildConfiguration;
                        buildSettings = {
                                ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
                                GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_SHADOW = YES;
+                               GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                               GCC_WARN_UNUSED_FUNCTION = YES;
+                               GCC_WARN_UNUSED_LABEL = YES;
+                               GCC_WARN_UNUSED_PARAMETER = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
                                HEADER_SEARCH_PATHS = (
                                        .,
                                        ..,
                                );
-                               MACOSX_DEPLOYMENT_TARGET = "";
                                OTHER_CFLAGS = (
                                        "-D_CUPS_SOURCE",
                                        "-Wno-shorten-64-to-32",
                                );
-                               SDKROOT = macosx;
                        };
                        name = Release;
                };
                72F75A591336F951004BB496 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                72F75A5A1336F951004BB496 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/bin;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                72F75A631336F9A3004BB496 /* Debug */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
-                               COPY_PHASE_STRIP = NO;
                                EXECUTABLE_PREFIX = "";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_DYNAMIC_NO_PIC = NO;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_OPTIMIZATION_LEVEL = 0;
-                               GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
-                               GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/lib;
-                               ONLY_ACTIVE_ARCH = YES;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };
                        name = Debug;
                72F75A641336F9A3004BB496 /* Release */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
-                               ALWAYS_SEARCH_USER_PATHS = NO;
-                               COPY_PHASE_STRIP = YES;
-                               DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
                                EXECUTABLE_PREFIX = "";
-                               GCC_C_LANGUAGE_STANDARD = gnu99;
-                               GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-                               GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
-                               GCC_WARN_UNUSED_VARIABLE = YES;
                                INSTALL_PATH = /usr/lib;
                                PRODUCT_NAME = "$(TARGET_NAME)";
                        };