From a1088d096fa2c4171c48f61ba40eea91fcec638d Mon Sep 17 00:00:00 2001 From: Tim Waugh Date: Mar 05 2009 13:31:30 +0000 Subject: - Updated to svn8404. --- diff --git a/.cvsignore b/.cvsignore index 6b6d8ea..427a724 100644 --- a/.cvsignore +++ b/.cvsignore @@ -36,3 +36,4 @@ cups-1.3.8-source.tar.bz2 cups-1.3.9-source.tar.bz2 cups-1.4b1-source.tar.bz2 cups-1.4b2-source.tar.bz2 +cups-1.4b2-svn8404-source.tar.bz2 diff --git a/cups-avahi.patch b/cups-avahi.patch index 4841eb9..fae642c 100644 --- a/cups-avahi.patch +++ b/cups-avahi.patch @@ -1,9 +1,9 @@ -diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c ---- cups-1.4b2/backend/dnssd.c.avahi 2008-10-07 20:10:35.000000000 +0100 -+++ cups-1.4b2/backend/dnssd.c 2009-02-12 13:14:34.000000000 +0000 -@@ -20,7 +20,8 @@ - * browse_local_callback() - Browse local devices. - * compare_devices() - Compare two devices. +diff -up cups-1.4b2-svn8404/backend/dnssd.c.avahi cups-1.4b2-svn8404/backend/dnssd.c +--- cups-1.4b2-svn8404/backend/dnssd.c.avahi 2009-03-05 10:54:00.000000000 +0000 ++++ cups-1.4b2-svn8404/backend/dnssd.c 2009-03-05 11:15:28.000000000 +0000 +@@ -22,7 +22,8 @@ + * exec_backend() - Execute the backend that corresponds to the + * resolved service name. * get_device() - Create or update a device. - * query_callback() - Process query data. + * query_callback() - Process query data from DNS-SD @@ -11,7 +11,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c * unquote() - Unquote a name string. */ -@@ -30,7 +31,16 @@ +@@ -32,7 +33,16 @@ #include "backend-private.h" #include @@ -29,7 +29,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c /* -@@ -49,7 +59,9 @@ typedef enum +@@ -51,7 +61,9 @@ typedef enum typedef struct { @@ -39,7 +39,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c char *name, /* Service name */ *domain, /* Domain name */ *fullName, /* Full name */ -@@ -65,6 +77,26 @@ typedef struct +@@ -67,6 +79,26 @@ typedef struct * Local functions... */ @@ -66,7 +66,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c static void browse_callback(DNSServiceRef sdRef, DNSServiceFlags flags, uint32_t interfaceIndex, -@@ -80,12 +112,6 @@ static void browse_local_callback(DNSSe +@@ -82,12 +114,6 @@ static void browse_local_callback(DNSSe const char *regtype, const char *replyDomain, void *context); @@ -79,7 +79,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c static void query_callback(DNSServiceRef sdRef, DNSServiceFlags flags, uint32_t interfaceIndex, -@@ -94,7 +120,31 @@ static void query_callback(DNSServiceRe +@@ -96,7 +122,31 @@ static void query_callback(DNSServiceRe uint16_t rrclass, uint16_t rdlen, const void *rdata, uint32_t ttl, void *context); @@ -111,7 +111,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c /* -@@ -106,6 +156,16 @@ main(int argc, /* I - Number of comm +@@ -108,6 +158,16 @@ main(int argc, /* I - Number of comm char *argv[]) /* I - Command-line arguments */ { const char *name; /* Backend name */ @@ -128,7 +128,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c DNSServiceRef main_ref, /* Main service reference */ fax_ipp_ref, /* IPP fax service reference */ ipp_ref, /* IPP service reference */ -@@ -117,11 +177,7 @@ main(int argc, /* I - Number of comm +@@ -119,12 +179,7 @@ main(int argc, /* I - Number of comm pdl_datastream_ref, /* AppSocket service reference */ printer_ref, /* LPD service reference */ riousbprint_ref; /* Remote IO service reference */ @@ -137,11 +137,12 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c - struct timeval timeout; /* Timeout for select() */ - cups_array_t *devices; /* Device array */ - cups_device_t *device; /* Current device */ +- char uriName[1024]; /* Unquoted fullName for URI */ +#endif /* !HAVE_AVAHI */ /* -@@ -161,6 +217,48 @@ main(int argc, /* I - Number of comm +@@ -164,6 +219,48 @@ main(int argc, /* I - Number of comm * Browse for different kinds of printers... */ @@ -190,7 +191,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c if (DNSServiceCreateConnection(&main_ref) != kDNSServiceErr_NoError) { perror("ERROR: Unable to create service connection"); -@@ -212,6 +310,7 @@ main(int argc, /* I - Number of comm +@@ -215,6 +312,7 @@ main(int argc, /* I - Number of comm riousbprint_ref = main_ref; DNSServiceBrowse(&riousbprint_ref, kDNSServiceFlagsShareConnection, 0, "_riousbprint._tcp", NULL, browse_callback, devices); @@ -198,7 +199,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c /* * Loop until we are killed... -@@ -219,6 +318,25 @@ main(int argc, /* I - Number of comm +@@ -222,6 +320,25 @@ main(int argc, /* I - Number of comm for (;;) { @@ -224,7 +225,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c FD_ZERO(&input); FD_SET(fd, &input); -@@ -238,11 +356,19 @@ main(int argc, /* I - Number of comm +@@ -241,11 +358,19 @@ main(int argc, /* I - Number of comm } else { @@ -244,7 +245,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c cups_device_t *best; /* Best matching device */ char device_uri[1024]; /* Device URI */ int count; /* Number of queries */ -@@ -255,6 +381,7 @@ main(int argc, /* I - Number of comm +@@ -258,6 +383,7 @@ main(int argc, /* I - Number of comm best = NULL, count = 0; device; device = (cups_device_t *)cupsArrayNext(devices)) @@ -252,7 +253,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c if (!device->ref && !device->sent) { /* -@@ -283,14 +410,19 @@ main(int argc, /* I - Number of comm +@@ -286,14 +412,19 @@ main(int argc, /* I - Number of comm count ++; } } @@ -273,7 +274,31 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c if (!best) best = device; -@@ -332,6 +464,204 @@ main(int argc, /* I - Number of comm +@@ -301,11 +432,9 @@ main(int argc, /* I - Number of comm + strcasecmp(best->domain, device->domain)) + { + unquote(uriName, best->fullName, sizeof(uriName)); +- + httpAssembleURI(HTTP_URI_CODING_ALL, device_uri, sizeof(device_uri), + schemes[best->type], NULL, uriName, 0, + best->cups_shared ? "/cups" : "/"); +- + cupsBackendReport("network", device_uri, best->make_and_model, + best->name, NULL, NULL); + best->sent = 1; +@@ -325,11 +454,9 @@ main(int argc, /* I - Number of comm + if (best) + { + unquote(uriName, best->fullName, sizeof(uriName)); +- + httpAssembleURI(HTTP_URI_CODING_ALL, device_uri, sizeof(device_uri), + schemes[best->type], NULL, uriName, 0, + best->cups_shared ? "/cups" : "/"); +- + cupsBackendReport("network", device_uri, best->make_and_model, + best->name, NULL, NULL); + best->sent = 1; +@@ -339,6 +466,204 @@ main(int argc, /* I - Number of comm } @@ -478,7 +503,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c /* * 'browse_callback()' - Browse devices. */ -@@ -420,6 +750,7 @@ browse_local_callback( +@@ -427,6 +752,7 @@ browse_local_callback( device->fullName); device->sent = 1; } @@ -486,7 +511,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c /* -@@ -518,18 +849,7 @@ get_device(cups_array_t *devices, /* I - +@@ -525,18 +851,7 @@ get_device(cups_array_t *devices, /* I - key.name = (char *)serviceName; key.domain = (char *)replyDomain; @@ -506,7 +531,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c for (device = cupsArrayFind(devices, &key); device; -@@ -559,13 +879,20 @@ get_device(cups_array_t *devices, /* I - +@@ -566,13 +881,20 @@ get_device(cups_array_t *devices, /* I - * Set the "full name" of this service, which is used for queries... */ @@ -527,7 +552,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c /* * 'query_callback()' - Process query data. */ -@@ -584,12 +911,21 @@ query_callback( +@@ -591,12 +913,21 @@ query_callback( uint32_t ttl, /* I - Time-to-live */ void *context) /* I - Devices array */ { @@ -553,7 +578,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c fprintf(stderr, "DEBUG2: query_callback(sdRef=%p, flags=%x, " "interfaceIndex=%d, errorCode=%d, fullName=\"%s\", " -@@ -610,7 +946,6 @@ query_callback( +@@ -617,7 +948,6 @@ query_callback( * Lookup the service in the devices array. */ @@ -561,7 +586,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c key.name = name; unquote(name, fullName, sizeof(name)); -@@ -635,88 +970,111 @@ query_callback( +@@ -642,88 +972,111 @@ query_callback( else key.type = CUPS_DEVICE_RIOUSBPRINT; @@ -712,7 +737,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c if ((ptr = strchr(model, ',')) != NULL) *ptr = '\0'; -@@ -742,7 +1100,7 @@ query_callback( +@@ -749,7 +1102,7 @@ query_callback( if ((device->type == CUPS_DEVICE_IPP || device->type == CUPS_DEVICE_PRINTER) && @@ -721,7 +746,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c { /* * This is a CUPS printer! -@@ -758,8 +1116,7 @@ query_callback( +@@ -765,8 +1118,7 @@ query_callback( } } @@ -731,7 +756,7 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c } -@@ -797,6 +1154,35 @@ unquote(char *dst, /* I - Destina +@@ -804,6 +1156,35 @@ unquote(char *dst, /* I - Destina } @@ -765,11 +790,11 @@ diff -up cups-1.4b2/backend/dnssd.c.avahi cups-1.4b2/backend/dnssd.c + + /* - * End of "$Id: dnssd.c 8023 2008-10-07 19:10:35Z mike $". + * End of "$Id$". */ -diff -up cups-1.4b2/config.h.in.avahi cups-1.4b2/config.h.in ---- cups-1.4b2/config.h.in.avahi 2008-09-08 23:03:01.000000000 +0100 -+++ cups-1.4b2/config.h.in 2009-02-12 13:13:51.000000000 +0000 +diff -up cups-1.4b2-svn8404/config.h.in.avahi cups-1.4b2-svn8404/config.h.in +--- cups-1.4b2-svn8404/config.h.in.avahi 2009-02-19 17:56:47.000000000 +0000 ++++ cups-1.4b2-svn8404/config.h.in 2009-03-05 11:15:28.000000000 +0000 @@ -344,6 +344,13 @@ @@ -784,9 +809,9 @@ diff -up cups-1.4b2/config.h.in.avahi cups-1.4b2/config.h.in * Do we have ? */ -diff -up cups-1.4b2/config-scripts/cups-dnssd.m4.avahi cups-1.4b2/config-scripts/cups-dnssd.m4 ---- cups-1.4b2/config-scripts/cups-dnssd.m4.avahi 2008-08-29 23:19:39.000000000 +0100 -+++ cups-1.4b2/config-scripts/cups-dnssd.m4 2009-02-12 13:13:51.000000000 +0000 +diff -up cups-1.4b2-svn8404/config-scripts/cups-dnssd.m4.avahi cups-1.4b2-svn8404/config-scripts/cups-dnssd.m4 +--- cups-1.4b2-svn8404/config-scripts/cups-dnssd.m4.avahi 2009-02-19 17:56:46.000000000 +0000 ++++ cups-1.4b2-svn8404/config-scripts/cups-dnssd.m4 2009-03-05 11:15:28.000000000 +0000 @@ -27,6 +27,21 @@ AC_ARG_WITH(dnssd-includes, [ --with-dn DNSSDLIBS="" DNSSD_BACKEND="" @@ -809,9 +834,9 @@ diff -up cups-1.4b2/config-scripts/cups-dnssd.m4.avahi cups-1.4b2/config-scripts if test x$enable_dnssd != xno; then AC_CHECK_HEADER(dns_sd.h, [ case "$uname" in -diff -up cups-1.4b2/cups/http-support.c.avahi cups-1.4b2/cups/http-support.c ---- cups-1.4b2/cups/http-support.c.avahi 2008-12-10 05:03:11.000000000 +0000 -+++ cups-1.4b2/cups/http-support.c 2009-02-12 13:18:24.000000000 +0000 +diff -up cups-1.4b2-svn8404/cups/http-support.c.avahi cups-1.4b2-svn8404/cups/http-support.c +--- cups-1.4b2-svn8404/cups/http-support.c.avahi 2009-02-19 17:56:46.000000000 +0000 ++++ cups-1.4b2-svn8404/cups/http-support.c 2009-03-05 11:15:28.000000000 +0000 @@ -53,6 +53,11 @@ #ifdef HAVE_DNSSD # include @@ -852,7 +877,7 @@ diff -up cups-1.4b2/cups/http-support.c.avahi cups-1.4b2/cups/http-support.c /* * 'httpAssembleURI()' - Assemble a uniform resource identifier from its -@@ -1337,11 +1363,22 @@ _httpResolveURI( +@@ -1343,11 +1369,22 @@ _httpResolveURI( if (strstr(hostname, "._tcp")) { @@ -876,7 +901,7 @@ diff -up cups-1.4b2/cups/http-support.c.avahi cups-1.4b2/cups/http-support.c /* * Separate the hostname into service name, registration type, and domain... -@@ -1379,8 +1416,13 @@ _httpResolveURI( +@@ -1385,8 +1422,13 @@ _httpResolveURI( if (domain) *domain++ = '\0'; @@ -890,7 +915,7 @@ diff -up cups-1.4b2/cups/http-support.c.avahi cups-1.4b2/cups/http-support.c resolved_uri[0] = '\0'; -@@ -1394,6 +1436,7 @@ _httpResolveURI( +@@ -1400,6 +1442,7 @@ _httpResolveURI( _cupsLangPuts(stderr, _("INFO: Looking for printer...\n")); } @@ -898,10 +923,10 @@ diff -up cups-1.4b2/cups/http-support.c.avahi cups-1.4b2/cups/http-support.c if (DNSServiceResolve(&ref, 0, 0, hostname, regtype, domain, resolve_callback, &uribuf) == kDNSServiceErr_NoError) -@@ -1409,16 +1452,49 @@ _httpResolveURI( +@@ -1414,17 +1457,49 @@ _httpResolveURI( + } else uri = NULL; - +#else + if ((simple_poll = avahi_simple_poll_new ()) != NULL) + { @@ -934,27 +959,23 @@ diff -up cups-1.4b2/cups/http-support.c.avahi cups-1.4b2/cups/http-support.c + avahi_simple_poll_free (simple_poll); + } +#endif -+ - if (log) + + if (logit) fputs("STATE: -connecting-to-device\n", stderr); -#else -- /* -- * No DNS-SD support... -- */ -- +#else /* HAVE_DNSSD || HAVE_AVAHI */ -+ /* -+ * No DNS-SD support... -+ */ -+ + /* + * No DNS-SD support... + */ + uri = NULL; -#endif /* HAVE_DNSSD */ +#endif /* HAVE_DNSSD || HAVE_AVAHI */ - if (log && !uri) + if (logit && !uri) _cupsLangPuts(stderr, _("Unable to find printer!\n")); -@@ -1623,6 +1699,105 @@ resolve_callback( +@@ -1629,6 +1704,105 @@ resolve_callback( } #endif /* HAVE_DNSSD */ @@ -1059,4 +1080,4 @@ diff -up cups-1.4b2/cups/http-support.c.avahi cups-1.4b2/cups/http-support.c + /* - * End of "$Id: http-support.c 8179 2008-12-10 05:03:11Z mike $". + * End of "$Id$". diff --git a/cups-local-protocols.patch b/cups-local-protocols.patch deleted file mode 100644 index 340e93a..0000000 --- a/cups-local-protocols.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up cups-1.4b2/CHANGES.txt.local-protocols cups-1.4b2/CHANGES.txt -diff -up cups-1.4b2/conf/cupsd.conf.in.local-protocols cups-1.4b2/conf/cupsd.conf.in ---- cups-1.4b2/conf/cupsd.conf.in.local-protocols 2009-01-09 16:47:15.000000000 +0000 -+++ cups-1.4b2/conf/cupsd.conf.in 2009-01-27 14:46:59.000000000 +0000 -@@ -23,7 +23,7 @@ Listen localhost:@DEFAULT_IPP_PORT@ - Browsing On - BrowseOrder allow,deny - BrowseAllow all --BrowseLocalProtocols @CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS@ -+BrowseLocalProtocols @CUPS_BROWSE_LOCAL_PROTOCOLS@ - - # Default authentication type, when authentication is required... - DefaultAuthType Basic diff --git a/cups-lspp.patch b/cups-lspp.patch index 3f4b1c9..136807f 100644 --- a/cups-lspp.patch +++ b/cups-lspp.patch @@ -1,7 +1,7 @@ -diff -up cups-1.4b2/config.h.in.lspp cups-1.4b2/config.h.in ---- cups-1.4b2/config.h.in.lspp 2008-09-08 23:03:01.000000000 +0100 -+++ cups-1.4b2/config.h.in 2009-01-28 17:09:48.000000000 +0000 -@@ -619,6 +619,13 @@ +diff -up cups-1.4b2-svn8404/config.h.in.lspp cups-1.4b2-svn8404/config.h.in +--- cups-1.4b2-svn8404/config.h.in.lspp 2009-03-05 11:40:03.000000000 +0000 ++++ cups-1.4b2-svn8404/config.h.in 2009-03-05 11:40:03.000000000 +0000 +@@ -626,6 +626,13 @@ #undef HAVE_TCPD_H @@ -15,9 +15,9 @@ diff -up cups-1.4b2/config.h.in.lspp cups-1.4b2/config.h.in #endif /* !_CUPS_CONFIG_H_ */ /* -diff -up /dev/null cups-1.4b2/config-scripts/cups-lspp.m4 ---- /dev/null 2009-01-28 08:58:18.489189414 +0000 -+++ cups-1.4b2/config-scripts/cups-lspp.m4 2009-01-28 17:09:48.000000000 +0000 +diff -up /dev/null cups-1.4b2-svn8404/config-scripts/cups-lspp.m4 +--- /dev/null 2009-03-05 08:48:03.067001897 +0000 ++++ cups-1.4b2-svn8404/config-scripts/cups-lspp.m4 2009-03-05 11:40:03.000000000 +0000 @@ -0,0 +1,36 @@ +dnl +dnl LSPP code for the Common UNIX Printing System (CUPS). @@ -55,9 +55,9 @@ diff -up /dev/null cups-1.4b2/config-scripts/cups-lspp.m4 + ;; + esac +fi -diff -up cups-1.4b2/configure.in.lspp cups-1.4b2/configure.in ---- cups-1.4b2/configure.in.lspp 2008-11-14 19:32:22.000000000 +0000 -+++ cups-1.4b2/configure.in 2009-01-28 17:09:48.000000000 +0000 +diff -up cups-1.4b2-svn8404/configure.in.lspp cups-1.4b2-svn8404/configure.in +--- cups-1.4b2-svn8404/configure.in.lspp 2009-02-17 17:45:27.000000000 +0000 ++++ cups-1.4b2-svn8404/configure.in 2009-03-05 11:40:03.000000000 +0000 @@ -42,6 +42,8 @@ sinclude(config-scripts/cups-pap.m4) sinclude(config-scripts/cups-pdf.m4) sinclude(config-scripts/cups-scripting.m4) @@ -67,510 +67,9 @@ diff -up cups-1.4b2/configure.in.lspp cups-1.4b2/configure.in INSTALL_LANGUAGES="" UNINSTALL_LANGUAGES="" LANGFILES="" -diff -up cups-1.4b2/configure.lspp cups-1.4b2/configure ---- cups-1.4b2/configure.lspp 2009-01-28 17:09:48.000000000 +0000 -+++ cups-1.4b2/configure 2009-01-28 17:09:48.000000000 +0000 -@@ -829,6 +829,8 @@ PHP - PHPCONFIG - PHPDIR - PYTHON -+LIBAUDIT -+LIBSELINUX - INSTALL_LANGUAGES - UNINSTALL_LANGUAGES - LIBOBJS -@@ -1459,6 +1461,7 @@ Optional Features: - --enable-texttops build with default text filter, default=auto - --enable-pap build with AppleTalk support, default=auto - --enable-pdftops build pdftops filter, default=auto -+ --enable-lspp turn on auditing and label support, default=no - - Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -@@ -4651,7 +4654,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>& - else - ac_cv_header_stdc=no - fi --rm -f -r conftest* -+rm -f conftest* - - fi - -@@ -4672,7 +4675,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>& - else - ac_cv_header_stdc=no - fi --rm -f -r conftest* -+rm -f conftest* - - fi - -@@ -10327,10 +10330,10 @@ case "$uname" in - ;; - Linux* | GNU*) - # Linux and GNU Hurd -- MAN1EXT=1.gz -- MAN5EXT=5.gz -- MAN7EXT=7.gz -- MAN8EXT=8.gz -+ MAN1EXT=1 -+ MAN5EXT=5 -+ MAN7EXT=7 -+ MAN8EXT=8 - MAN8DIR=8 - ;; - *) -@@ -18309,7 +18312,7 @@ cat >>confdefs.h <<_ACEOF - _ACEOF - ;; - esac --rm -f -r conftest* -+rm -f conftest* - if test $ac_cv_sys_file_offset_bits = unknown; then - { echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 - echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6; } -@@ -18430,7 +18433,7 @@ cat >>confdefs.h <<_ACEOF - _ACEOF - ;; - esac --rm -f -r conftest* -+rm -f conftest* - fi - fi - -@@ -20495,6 +20498,412 @@ fi - - - -+ -+# Check whether --enable-lspp was given. -+if test "${enable_lspp+set}" = set; then -+ enableval=$enable_lspp; -+fi -+ -+ -+if test x"$enable_lspp" != xno; then -+ case "$uname" in -+ Linux) -+ { echo "$as_me:$LINENO: checking for audit_log_user_message in -laudit" >&5 -+echo $ECHO_N "checking for audit_log_user_message in -laudit... $ECHO_C" >&6; } -+if test "${ac_cv_lib_audit_audit_log_user_message+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-laudit $LIBS" -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char audit_log_user_message (); -+int -+main () -+{ -+return audit_log_user_message (); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && -+ $as_test_x conftest$ac_exeext; then -+ ac_cv_lib_audit_audit_log_user_message=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_cv_lib_audit_audit_log_user_message=no -+fi -+ -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+{ echo "$as_me:$LINENO: result: $ac_cv_lib_audit_audit_log_user_message" >&5 -+echo "${ECHO_T}$ac_cv_lib_audit_audit_log_user_message" >&6; } -+if test $ac_cv_lib_audit_audit_log_user_message = yes; then -+ LIBAUDIT="-laudit" -+fi -+ -+ if test "${ac_cv_header_libaudit_h+set}" = set; then -+ { echo "$as_me:$LINENO: checking for libaudit.h" >&5 -+echo $ECHO_N "checking for libaudit.h... $ECHO_C" >&6; } -+if test "${ac_cv_header_libaudit_h+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+fi -+{ echo "$as_me:$LINENO: result: $ac_cv_header_libaudit_h" >&5 -+echo "${ECHO_T}$ac_cv_header_libaudit_h" >&6; } -+else -+ # Is the header compilable? -+{ echo "$as_me:$LINENO: checking libaudit.h usability" >&5 -+echo $ECHO_N "checking libaudit.h usability... $ECHO_C" >&6; } -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+$ac_includes_default -+#include -+_ACEOF -+rm -f conftest.$ac_objext -+if { (ac_try="$ac_compile" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_header_compiler=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_header_compiler=no -+fi -+ -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -+echo "${ECHO_T}$ac_header_compiler" >&6; } -+ -+# Is the header present? -+{ echo "$as_me:$LINENO: checking libaudit.h presence" >&5 -+echo $ECHO_N "checking libaudit.h presence... $ECHO_C" >&6; } -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include -+_ACEOF -+if { (ac_try="$ac_cpp conftest.$ac_ext" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null && { -+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -+ test ! -s conftest.err -+ }; then -+ ac_header_preproc=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_header_preproc=no -+fi -+ -+rm -f conftest.err conftest.$ac_ext -+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -+echo "${ECHO_T}$ac_header_preproc" >&6; } -+ -+# So? What about this header? -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) -+ { echo "$as_me:$LINENO: WARNING: libaudit.h: accepted by the compiler, rejected by the preprocessor!" >&5 -+echo "$as_me: WARNING: libaudit.h: accepted by the compiler, rejected by the preprocessor!" >&2;} -+ { echo "$as_me:$LINENO: WARNING: libaudit.h: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: libaudit.h: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes -+ ;; -+ no:yes:* ) -+ { echo "$as_me:$LINENO: WARNING: libaudit.h: present but cannot be compiled" >&5 -+echo "$as_me: WARNING: libaudit.h: present but cannot be compiled" >&2;} -+ { echo "$as_me:$LINENO: WARNING: libaudit.h: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: libaudit.h: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: libaudit.h: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: libaudit.h: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: libaudit.h: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: libaudit.h: section \"Present But Cannot Be Compiled\"" >&2;} -+ { echo "$as_me:$LINENO: WARNING: libaudit.h: proceeding with the preprocessor's result" >&5 -+echo "$as_me: WARNING: libaudit.h: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: libaudit.h: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: libaudit.h: in the future, the compiler will take precedence" >&2;} -+ -+ ;; -+esac -+{ echo "$as_me:$LINENO: checking for libaudit.h" >&5 -+echo $ECHO_N "checking for libaudit.h... $ECHO_C" >&6; } -+if test "${ac_cv_header_libaudit_h+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_cv_header_libaudit_h=$ac_header_preproc -+fi -+{ echo "$as_me:$LINENO: result: $ac_cv_header_libaudit_h" >&5 -+echo "${ECHO_T}$ac_cv_header_libaudit_h" >&6; } -+ -+fi -+ -+ -+ { echo "$as_me:$LINENO: checking for getpeercon in -lselinux" >&5 -+echo $ECHO_N "checking for getpeercon in -lselinux... $ECHO_C" >&6; } -+if test "${ac_cv_lib_selinux_getpeercon+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-lselinux $LIBS" -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char getpeercon (); -+int -+main () -+{ -+return getpeercon (); -+ ; -+ return 0; -+} -+_ACEOF -+rm -f conftest.$ac_objext conftest$ac_exeext -+if { (ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && -+ $as_test_x conftest$ac_exeext; then -+ ac_cv_lib_selinux_getpeercon=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_cv_lib_selinux_getpeercon=no -+fi -+ -+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+{ echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_getpeercon" >&5 -+echo "${ECHO_T}$ac_cv_lib_selinux_getpeercon" >&6; } -+if test $ac_cv_lib_selinux_getpeercon = yes; then -+ LIBSELINUX="-lselinux" -+fi -+ -+ if test "${ac_cv_header_selinux_selinux_h+set}" = set; then -+ { echo "$as_me:$LINENO: checking for selinux/selinux.h" >&5 -+echo $ECHO_N "checking for selinux/selinux.h... $ECHO_C" >&6; } -+if test "${ac_cv_header_selinux_selinux_h+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+fi -+{ echo "$as_me:$LINENO: result: $ac_cv_header_selinux_selinux_h" >&5 -+echo "${ECHO_T}$ac_cv_header_selinux_selinux_h" >&6; } -+else -+ # Is the header compilable? -+{ echo "$as_me:$LINENO: checking selinux/selinux.h usability" >&5 -+echo $ECHO_N "checking selinux/selinux.h usability... $ECHO_C" >&6; } -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+$ac_includes_default -+#include -+_ACEOF -+rm -f conftest.$ac_objext -+if { (ac_try="$ac_compile" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_header_compiler=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_header_compiler=no -+fi -+ -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -+echo "${ECHO_T}$ac_header_compiler" >&6; } -+ -+# Is the header present? -+{ echo "$as_me:$LINENO: checking selinux/selinux.h presence" >&5 -+echo $ECHO_N "checking selinux/selinux.h presence... $ECHO_C" >&6; } -+cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ -+#include -+_ACEOF -+if { (ac_try="$ac_cpp conftest.$ac_ext" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } >/dev/null && { -+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -+ test ! -s conftest.err -+ }; then -+ ac_header_preproc=yes -+else -+ echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_header_preproc=no -+fi -+ -+rm -f conftest.err conftest.$ac_ext -+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -+echo "${ECHO_T}$ac_header_preproc" >&6; } -+ -+# So? What about this header? -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) -+ { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: accepted by the compiler, rejected by the preprocessor!" >&5 -+echo "$as_me: WARNING: selinux/selinux.h: accepted by the compiler, rejected by the preprocessor!" >&2;} -+ { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: selinux/selinux.h: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes -+ ;; -+ no:yes:* ) -+ { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: present but cannot be compiled" >&5 -+echo "$as_me: WARNING: selinux/selinux.h: present but cannot be compiled" >&2;} -+ { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: selinux/selinux.h: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: selinux/selinux.h: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: selinux/selinux.h: section \"Present But Cannot Be Compiled\"" >&2;} -+ { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: proceeding with the preprocessor's result" >&5 -+echo "$as_me: WARNING: selinux/selinux.h: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: selinux/selinux.h: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: selinux/selinux.h: in the future, the compiler will take precedence" >&2;} -+ -+ ;; -+esac -+{ echo "$as_me:$LINENO: checking for selinux/selinux.h" >&5 -+echo $ECHO_N "checking for selinux/selinux.h... $ECHO_C" >&6; } -+if test "${ac_cv_header_selinux_selinux_h+set}" = set; then -+ echo $ECHO_N "(cached) $ECHO_C" >&6 -+else -+ ac_cv_header_selinux_selinux_h=$ac_header_preproc -+fi -+{ echo "$as_me:$LINENO: result: $ac_cv_header_selinux_selinux_h" >&5 -+echo "${ECHO_T}$ac_cv_header_selinux_selinux_h" >&6; } -+ -+fi -+ -+ -+ cat >>confdefs.h <<\_ACEOF -+#define WITH_LSPP 1 -+_ACEOF -+ -+ ;; -+ *) -+ # All others -+ ;; -+ esac -+fi -+ -+ - INSTALL_LANGUAGES="" - UNINSTALL_LANGUAGES="" - LANGFILES="" -@@ -21455,13 +21864,15 @@ PHP!$PHP$ac_delim - PHPCONFIG!$PHPCONFIG$ac_delim - PHPDIR!$PHPDIR$ac_delim - PYTHON!$PYTHON$ac_delim -+LIBAUDIT!$LIBAUDIT$ac_delim -+LIBSELINUX!$LIBSELINUX$ac_delim - INSTALL_LANGUAGES!$INSTALL_LANGUAGES$ac_delim - UNINSTALL_LANGUAGES!$UNINSTALL_LANGUAGES$ac_delim - LIBOBJS!$LIBOBJS$ac_delim - LTLIBOBJS!$LTLIBOBJS$ac_delim - _ACEOF - -- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 25; then -+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 27; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -diff -up cups-1.4b2/cups/cups.h.lspp cups-1.4b2/cups/cups.h ---- cups-1.4b2/cups/cups.h.lspp 2008-12-10 05:03:11.000000000 +0000 -+++ cups-1.4b2/cups/cups.h 2009-01-28 17:09:48.000000000 +0000 +diff -up cups-1.4b2-svn8404/cups/cups.h.lspp cups-1.4b2-svn8404/cups/cups.h +--- cups-1.4b2-svn8404/cups/cups.h.lspp 2009-03-05 10:54:00.000000000 +0000 ++++ cups-1.4b2-svn8404/cups/cups.h 2009-03-05 11:40:03.000000000 +0000 @@ -15,6 +15,9 @@ * This file is subject to the Apple OS-Developed Software exception. */ @@ -594,9 +93,9 @@ diff -up cups-1.4b2/cups/cups.h.lspp cups-1.4b2/cups/cups.h /* * Types and structures... */ -diff -up cups-1.4b2/data/Makefile.lspp cups-1.4b2/data/Makefile ---- cups-1.4b2/data/Makefile.lspp 2008-11-12 19:30:57.000000000 +0000 -+++ cups-1.4b2/data/Makefile 2009-01-28 17:09:48.000000000 +0000 +diff -up cups-1.4b2-svn8404/data/Makefile.lspp cups-1.4b2-svn8404/data/Makefile +--- cups-1.4b2-svn8404/data/Makefile.lspp 2009-02-17 17:45:27.000000000 +0000 ++++ cups-1.4b2-svn8404/data/Makefile 2009-03-05 11:40:03.000000000 +0000 @@ -25,7 +25,10 @@ BANNERS = \ secret \ standard \ @@ -609,9 +108,9 @@ diff -up cups-1.4b2/data/Makefile.lspp cups-1.4b2/data/Makefile CHARMAPS = \ euc-cn.txt \ -diff -up /dev/null cups-1.4b2/data/mls ---- /dev/null 2009-01-28 08:58:18.489189414 +0000 -+++ cups-1.4b2/data/mls 2009-01-28 17:09:48.000000000 +0000 +diff -up /dev/null cups-1.4b2-svn8404/data/mls +--- /dev/null 2009-03-05 08:48:03.067001897 +0000 ++++ cups-1.4b2-svn8404/data/mls 2009-03-05 11:40:03.000000000 +0000 @@ -0,0 +1,261 @@ +%!PS-Adobe-3.0 +%%BoundingBox: 0 0 612 792 @@ -874,9 +373,9 @@ diff -up /dev/null cups-1.4b2/data/mls +% End of "$Id: mls_template,v 1.1 2005/06/27 18:44:46 colmo Exp $". +% +%%EOF -diff -up /dev/null cups-1.4b2/data/selinux ---- /dev/null 2009-01-28 08:58:18.489189414 +0000 -+++ cups-1.4b2/data/selinux 2009-01-28 17:09:48.000000000 +0000 +diff -up /dev/null cups-1.4b2-svn8404/data/selinux +--- /dev/null 2009-03-05 08:48:03.067001897 +0000 ++++ cups-1.4b2-svn8404/data/selinux 2009-03-05 11:40:03.000000000 +0000 @@ -0,0 +1,261 @@ +%!PS-Adobe-3.0 +%%BoundingBox: 0 0 612 792 @@ -1139,9 +638,9 @@ diff -up /dev/null cups-1.4b2/data/selinux +% End of "$Id: mls_template,v 1.1 2005/06/27 18:44:46 colmo Exp $". +% +%%EOF -diff -up /dev/null cups-1.4b2/data/te ---- /dev/null 2009-01-28 08:58:18.489189414 +0000 -+++ cups-1.4b2/data/te 2009-01-28 17:09:48.000000000 +0000 +diff -up /dev/null cups-1.4b2-svn8404/data/te +--- /dev/null 2009-03-05 08:48:03.067001897 +0000 ++++ cups-1.4b2-svn8404/data/te 2009-03-05 11:40:03.000000000 +0000 @@ -0,0 +1,261 @@ +%!PS-Adobe-3.0 +%%BoundingBox: 0 0 612 792 @@ -1404,9 +903,9 @@ diff -up /dev/null cups-1.4b2/data/te +% End of "$Id: mls_template,v 1.1 2005/06/27 18:44:46 colmo Exp $". +% +%%EOF -diff -up cups-1.4b2/filter/common.c.lspp cups-1.4b2/filter/common.c ---- cups-1.4b2/filter/common.c.lspp 2007-07-11 22:46:42.000000000 +0100 -+++ cups-1.4b2/filter/common.c 2009-01-28 17:09:48.000000000 +0000 +diff -up cups-1.4b2-svn8404/filter/common.c.lspp cups-1.4b2-svn8404/filter/common.c +--- cups-1.4b2-svn8404/filter/common.c.lspp 2008-12-03 15:39:53.000000000 +0000 ++++ cups-1.4b2-svn8404/filter/common.c 2009-03-05 11:40:03.000000000 +0000 @@ -30,6 +30,12 @@ * Include necessary headers... */ @@ -1575,10 +1074,10 @@ diff -up cups-1.4b2/filter/common.c.lspp cups-1.4b2/filter/common.c /* -diff -up cups-1.4b2/filter/pstops.c.lspp cups-1.4b2/filter/pstops.c ---- cups-1.4b2/filter/pstops.c.lspp 2009-01-28 17:09:48.000000000 +0000 -+++ cups-1.4b2/filter/pstops.c 2009-01-28 17:09:48.000000000 +0000 -@@ -3232,6 +3232,18 @@ write_label_prolog(pstops_doc_t *doc, /* +diff -up cups-1.4b2-svn8404/filter/pstops.c.lspp cups-1.4b2-svn8404/filter/pstops.c +--- cups-1.4b2-svn8404/filter/pstops.c.lspp 2009-03-05 11:40:03.000000000 +0000 ++++ cups-1.4b2-svn8404/filter/pstops.c 2009-03-05 11:40:03.000000000 +0000 +@@ -3239,6 +3239,18 @@ write_label_prolog(pstops_doc_t *doc, /* { const char *classification; /* CLASSIFICATION environment variable */ const char *ptr; /* Temporary string pointer */ @@ -1597,7 +1096,7 @@ diff -up cups-1.4b2/filter/pstops.c.lspp cups-1.4b2/filter/pstops.c /* -@@ -3254,6 +3266,124 @@ write_label_prolog(pstops_doc_t *doc, /* +@@ -3261,6 +3273,124 @@ write_label_prolog(pstops_doc_t *doc, /* return; } @@ -1722,7 +1221,7 @@ diff -up cups-1.4b2/filter/pstops.c.lspp cups-1.4b2/filter/pstops.c /* * Set the classification + page label string... */ -@@ -3332,7 +3462,10 @@ write_label_prolog(pstops_doc_t *doc, /* +@@ -3339,7 +3469,10 @@ write_label_prolog(pstops_doc_t *doc, /* doc_printf(doc, " %.0f moveto ESPpl show\n", top - 14.0); doc_puts(doc, "pop\n"); doc_puts(doc, "}bind put\n"); @@ -1733,12 +1232,12 @@ diff -up cups-1.4b2/filter/pstops.c.lspp cups-1.4b2/filter/pstops.c /* -diff -up cups-1.4b2/Makedefs.in.lspp cups-1.4b2/Makedefs.in ---- cups-1.4b2/Makedefs.in.lspp 2009-01-28 17:09:48.000000000 +0000 -+++ cups-1.4b2/Makedefs.in 2009-01-28 17:09:48.000000000 +0000 +diff -up cups-1.4b2-svn8404/Makedefs.in.lspp cups-1.4b2-svn8404/Makedefs.in +--- cups-1.4b2-svn8404/Makedefs.in.lspp 2009-03-05 11:40:03.000000000 +0000 ++++ cups-1.4b2-svn8404/Makedefs.in 2009-03-05 11:40:03.000000000 +0000 @@ -146,7 +146,7 @@ LIBCUPSORDER = @LIBCUPSORDER@ LIBCUPSIMAGEORDER = @LIBCUPSIMAGEORDER@ - LINKCUPS = @LINKCUPS@ $(SSLLIBS) + LINKCUPS = @LINKCUPS@ $(SSLLIBS) $(DNSSDLIBS) LINKCUPSIMAGE = @LINKCUPSIMAGE@ -LIBS = $(LINKCUPS) $(COMMONLIBS) +LIBS = $(LINKCUPS) $(COMMONLIBS) @LIBAUDIT@ @LIBSELINUX@ @@ -1754,9 +1253,9 @@ diff -up cups-1.4b2/Makedefs.in.lspp cups-1.4b2/Makedefs.in .SUFFIXES: .1 .1.gz .1m .1m.gz .3 .3.gz .5 .5.gz .7 .7.gz .8 .8.gz .a .c .cxx .h .man .o .32.o .64.o .gz .c.o: -diff -up cups-1.4b2/scheduler/client.c.lspp cups-1.4b2/scheduler/client.c ---- cups-1.4b2/scheduler/client.c.lspp 2008-11-17 16:29:05.000000000 +0000 -+++ cups-1.4b2/scheduler/client.c 2009-01-28 17:09:48.000000000 +0000 +diff -up cups-1.4b2-svn8404/scheduler/client.c.lspp cups-1.4b2-svn8404/scheduler/client.c +--- cups-1.4b2-svn8404/scheduler/client.c.lspp 2009-03-05 10:54:00.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/client.c 2009-03-05 11:40:03.000000000 +0000 @@ -41,6 +41,7 @@ * pipe_command() - Pipe the output of a command to the remote client. * write_file() - Send a file via HTTP. @@ -1786,7 +1285,7 @@ diff -up cups-1.4b2/scheduler/client.c.lspp cups-1.4b2/scheduler/client.c /* * Local functions... -@@ -402,6 +410,57 @@ cupsdAcceptClient(cupsd_listener_t *lis) +@@ -381,6 +389,57 @@ cupsdAcceptClient(cupsd_listener_t *lis) } #endif /* HAVE_TCPD_H */ @@ -1844,7 +1343,7 @@ diff -up cups-1.4b2/scheduler/client.c.lspp cups-1.4b2/scheduler/client.c #ifdef AF_INET6 if (con->http.hostaddr->addr.sa_family == AF_INET6) cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdAcceptClient: %d from %s:%d (IPv6)", -@@ -801,6 +860,13 @@ cupsdReadClient(cupsd_client_t *con) /* +@@ -772,6 +831,13 @@ cupsdReadClient(cupsd_client_t *con) /* mime_type_t *type; /* MIME type of file */ cupsd_printer_t *p; /* Printer */ static unsigned request_id = 0; /* Request ID for temp files */ @@ -1858,7 +1357,7 @@ diff -up cups-1.4b2/scheduler/client.c.lspp cups-1.4b2/scheduler/client.c status = HTTP_CONTINUE; -@@ -2125,6 +2191,67 @@ cupsdReadClient(cupsd_client_t *con) /* +@@ -2054,6 +2120,67 @@ cupsdReadClient(cupsd_client_t *con) /* fchmod(con->file, 0640); fchown(con->file, RunUser, Group); fcntl(con->file, F_SETFD, fcntl(con->file, F_GETFD) | FD_CLOEXEC); @@ -1926,7 +1425,7 @@ diff -up cups-1.4b2/scheduler/client.c.lspp cups-1.4b2/scheduler/client.c } if (con->http.state != HTTP_POST_SEND) -@@ -4436,6 +4563,50 @@ make_certificate(cupsd_client_t *con) /* +@@ -4330,6 +4457,50 @@ make_certificate(cupsd_client_t *con) /* #endif /* HAVE_SSL */ @@ -1977,9 +1476,9 @@ diff -up cups-1.4b2/scheduler/client.c.lspp cups-1.4b2/scheduler/client.c /* * 'pipe_command()' - Pipe the output of a command to the remote client. */ -diff -up cups-1.4b2/scheduler/client.h.lspp cups-1.4b2/scheduler/client.h ---- cups-1.4b2/scheduler/client.h.lspp 2008-09-11 02:54:11.000000000 +0100 -+++ cups-1.4b2/scheduler/client.h 2009-01-28 17:09:48.000000000 +0000 +diff -up cups-1.4b2-svn8404/scheduler/client.h.lspp cups-1.4b2-svn8404/scheduler/client.h +--- cups-1.4b2-svn8404/scheduler/client.h.lspp 2009-02-17 17:45:27.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/client.h 2009-03-05 11:40:03.000000000 +0000 @@ -18,6 +18,13 @@ #endif /* HAVE_AUTHORIZATION_H */ @@ -2005,7 +1504,7 @@ diff -up cups-1.4b2/scheduler/client.h.lspp cups-1.4b2/scheduler/client.h }; #define HTTP(con) &((con)->http) -@@ -132,6 +143,9 @@ extern void cupsdStartListening(void); +@@ -130,6 +141,9 @@ extern void cupsdStartListening(void); extern void cupsdStopListening(void); extern void cupsdUpdateCGI(void); extern void cupsdWriteClient(cupsd_client_t *con); @@ -2015,9 +1514,9 @@ diff -up cups-1.4b2/scheduler/client.h.lspp cups-1.4b2/scheduler/client.h /* -diff -up cups-1.4b2/scheduler/conf.c.lspp cups-1.4b2/scheduler/conf.c ---- cups-1.4b2/scheduler/conf.c.lspp 2009-01-28 17:09:48.000000000 +0000 -+++ cups-1.4b2/scheduler/conf.c 2009-01-28 17:09:48.000000000 +0000 +diff -up cups-1.4b2-svn8404/scheduler/conf.c.lspp cups-1.4b2-svn8404/scheduler/conf.c +--- cups-1.4b2-svn8404/scheduler/conf.c.lspp 2009-03-05 11:40:03.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/conf.c 2009-03-05 11:40:03.000000000 +0000 @@ -27,6 +27,7 @@ * read_configuration() - Read a configuration file. * read_location() - Read a definition. @@ -2036,7 +1535,7 @@ diff -up cups-1.4b2/scheduler/conf.c.lspp cups-1.4b2/scheduler/conf.c /* * Configuration variable structure... -@@ -168,6 +172,10 @@ static const cupsd_var_t variables[] = +@@ -169,6 +173,10 @@ static const cupsd_var_t variables[] = # if defined(HAVE_LIBSSL) || defined(HAVE_GNUTLS) { "ServerKey", &ServerKey, CUPSD_VARTYPE_PATHNAME }, # endif /* HAVE_LIBSSL || HAVE_GNUTLS */ @@ -2047,7 +1546,7 @@ diff -up cups-1.4b2/scheduler/conf.c.lspp cups-1.4b2/scheduler/conf.c #endif /* HAVE_SSL */ { "ServerName", &ServerName, CUPSD_VARTYPE_STRING }, { "ServerRoot", &ServerRoot, CUPSD_VARTYPE_PATHNAME }, -@@ -380,6 +388,9 @@ cupsdReadConfiguration(void) +@@ -382,6 +390,9 @@ cupsdReadConfiguration(void) const char *tmpdir; /* TMPDIR environment variable */ struct stat tmpinfo; /* Temporary directory info */ cupsd_policy_t *p; /* Policy */ @@ -2057,7 +1556,7 @@ diff -up cups-1.4b2/scheduler/conf.c.lspp cups-1.4b2/scheduler/conf.c /* -@@ -659,6 +670,25 @@ cupsdReadConfiguration(void) +@@ -665,6 +676,25 @@ cupsdReadConfiguration(void) RunUser = getuid(); @@ -2080,10 +1579,10 @@ diff -up cups-1.4b2/scheduler/conf.c.lspp cups-1.4b2/scheduler/conf.c + } +#endif /* WITH_LSPP */ + - /* - * See if the ServerName is an IP address... - */ -@@ -951,11 +981,23 @@ cupsdReadConfiguration(void) + cupsdLogMessage(CUPSD_LOG_INFO, "Remote access is %s.", + RemoteAccessEnabled ? "enabled" : "disabled"); + +@@ -981,11 +1011,23 @@ cupsdReadConfiguration(void) * Update classification setting as needed... */ @@ -2108,7 +1607,7 @@ diff -up cups-1.4b2/scheduler/conf.c.lspp cups-1.4b2/scheduler/conf.c /* * Check the MaxClients setting, and then allocate memory for it... -@@ -3489,6 +3531,18 @@ read_location(cups_file_t *fp, /* I - C +@@ -3536,6 +3578,18 @@ read_location(cups_file_t *fp, /* I - C return ((FatalErrors & CUPSD_FATAL_CONFIG) ? 0 : linenum); } @@ -2127,10 +1626,10 @@ diff -up cups-1.4b2/scheduler/conf.c.lspp cups-1.4b2/scheduler/conf.c /* * 'read_policy()' - Read a definition. -diff -up cups-1.4b2/scheduler/conf.h.lspp cups-1.4b2/scheduler/conf.h ---- cups-1.4b2/scheduler/conf.h.lspp 2009-01-28 17:09:48.000000000 +0000 -+++ cups-1.4b2/scheduler/conf.h 2009-01-28 17:09:48.000000000 +0000 -@@ -233,6 +233,12 @@ VAR char *ServerKey VALUE(NULL); +diff -up cups-1.4b2-svn8404/scheduler/conf.h.lspp cups-1.4b2-svn8404/scheduler/conf.h +--- cups-1.4b2-svn8404/scheduler/conf.h.lspp 2009-03-05 11:40:03.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/conf.h 2009-03-05 11:40:03.000000000 +0000 +@@ -246,6 +246,12 @@ VAR char *ServerKey VALUE(NULL); VAR int SSLOptions VALUE(CUPSD_SSL_NONE); /* SSL/TLS options */ #endif /* HAVE_SSL */ @@ -2143,7 +1642,7 @@ diff -up cups-1.4b2/scheduler/conf.h.lspp cups-1.4b2/scheduler/conf.h #ifdef HAVE_LAUNCHD VAR int LaunchdTimeout VALUE(DEFAULT_KEEPALIVE); -@@ -251,6 +257,9 @@ VAR char *SystemGroupAuthKey VALUE(NULL +@@ -264,6 +270,9 @@ VAR char *SystemGroupAuthKey VALUE(NULL /* System group auth key */ #endif /* HAVE_AUTHORIZATION_H */ @@ -2153,9 +1652,9 @@ diff -up cups-1.4b2/scheduler/conf.h.lspp cups-1.4b2/scheduler/conf.h /* * Prototypes... -diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c ---- cups-1.4b2/scheduler/ipp.c.lspp 2009-01-28 17:09:48.000000000 +0000 -+++ cups-1.4b2/scheduler/ipp.c 2009-01-28 17:09:48.000000000 +0000 +diff -up cups-1.4b2-svn8404/scheduler/ipp.c.lspp cups-1.4b2-svn8404/scheduler/ipp.c +--- cups-1.4b2-svn8404/scheduler/ipp.c.lspp 2009-03-05 11:40:03.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/ipp.c 2009-03-05 11:40:03.000000000 +0000 @@ -41,6 +41,7 @@ * cancel_all_jobs() - Cancel all print jobs. * cancel_job() - Cancel a print job. @@ -2164,7 +1663,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c * check_quotas() - Check quotas for a printer and user. * check_rss_recipient() - Check that we do not have a duplicate RSS * feed URI. -@@ -101,6 +102,9 @@ +@@ -102,6 +103,9 @@ * validate_user() - Validate the user for the request. */ @@ -2174,7 +1673,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c /* * Include necessary headers... */ -@@ -127,6 +131,14 @@ extern int mbr_check_membership_by_id(uu +@@ -128,6 +132,14 @@ extern int mbr_check_membership_by_id(uu # endif /* HAVE_MEMBERSHIPPRIV_H */ #endif /* __APPLE__ */ @@ -2189,7 +1688,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c /* * Local functions... -@@ -160,6 +172,9 @@ static void cancel_all_jobs(cupsd_client +@@ -161,6 +173,9 @@ static void cancel_all_jobs(cupsd_client static void cancel_job(cupsd_client_t *con, ipp_attribute_t *uri); static void cancel_subscription(cupsd_client_t *con, int id); static int check_rss_recipient(const char *recipient); @@ -2199,7 +1698,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c static int check_quotas(cupsd_client_t *con, cupsd_printer_t *p); static ipp_attribute_t *copy_attribute(ipp_t *to, ipp_attribute_t *attr, int quickcopy); -@@ -1311,6 +1326,21 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1334,6 +1349,21 @@ add_job(cupsd_client_t *con, /* I - Cl int kbytes; /* Size of print file */ int i; /* Looping var */ int lowerpagerange; /* Page range bound */ @@ -2221,7 +1720,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c cupsdLogMessage(CUPSD_LOG_DEBUG2, "add_job(%p[%d], %p(%s), %p(%s/%s))", -@@ -1527,6 +1557,104 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1550,6 +1580,104 @@ add_job(cupsd_client_t *con, /* I - Cl ippAddString(con->request, IPP_TAG_JOB, IPP_TAG_NAME, "job-name", NULL, title = "Untitled"); @@ -2326,7 +1825,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c if ((job = cupsdAddJob(priority, printer->name)) == NULL) { send_ipp_status(con, IPP_INTERNAL_ERROR, -@@ -1535,6 +1663,32 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1558,6 +1686,32 @@ add_job(cupsd_client_t *con, /* I - Cl return (NULL); } @@ -2359,7 +1858,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c job->dtype = printer->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT | CUPS_PRINTER_REMOTE); job->attrs = con->request; -@@ -1743,6 +1897,29 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1766,6 +1920,29 @@ add_job(cupsd_client_t *con, /* I - Cl attr->values[0].string.text = _cupsStrRetain(printer->job_sheets[0]); attr->values[1].string.text = _cupsStrRetain(printer->job_sheets[1]); } @@ -2389,7 +1888,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c job->job_sheets = attr; -@@ -1773,6 +1950,9 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1796,6 +1973,9 @@ add_job(cupsd_client_t *con, /* I - Cl "job-sheets=\"%s,none\", " "job-originating-user-name=\"%s\"", Classification, job->username); @@ -2399,7 +1898,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c } else if (attr->num_values == 2 && strcmp(attr->values[0].string.text, -@@ -1791,6 +1971,9 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1814,6 +1994,9 @@ add_job(cupsd_client_t *con, /* I - Cl "job-originating-user-name=\"%s\"", attr->values[0].string.text, attr->values[1].string.text, job->username); @@ -2409,7 +1908,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c } else if (strcmp(attr->values[0].string.text, Classification) && strcmp(attr->values[0].string.text, "none") && -@@ -1811,6 +1994,9 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1834,6 +2017,9 @@ add_job(cupsd_client_t *con, /* I - Cl "job-originating-user-name=\"%s\"", attr->values[0].string.text, attr->values[1].string.text, job->username); @@ -2419,7 +1918,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c } } else if (strcmp(attr->values[0].string.text, Classification) && -@@ -1851,8 +2037,52 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1874,8 +2060,52 @@ add_job(cupsd_client_t *con, /* I - Cl "job-sheets=\"%s\", " "job-originating-user-name=\"%s\"", Classification, job->username); @@ -2472,7 +1971,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c /* * See if we need to add the starting sheet... -@@ -4187,6 +4417,103 @@ check_rss_recipient( +@@ -4202,6 +4432,103 @@ check_rss_recipient( } @@ -2576,7 +2075,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c /* * 'check_quotas()' - Check quotas for a printer and user. */ -@@ -4736,6 +5063,15 @@ copy_banner(cupsd_client_t *con, /* I - +@@ -4753,6 +5080,15 @@ copy_banner(cupsd_client_t *con, /* I - char attrname[255], /* Name of attribute */ *s; /* Pointer into name */ ipp_attribute_t *attr; /* Attribute */ @@ -2592,7 +2091,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c cupsdLogMessage(CUPSD_LOG_DEBUG2, -@@ -4771,6 +5107,82 @@ copy_banner(cupsd_client_t *con, /* I - +@@ -4788,6 +5124,82 @@ copy_banner(cupsd_client_t *con, /* I - fchmod(cupsFileNumber(out), 0640); fchown(cupsFileNumber(out), RunUser, Group); @@ -2675,7 +2174,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c /* * Try the localized banner file under the subdirectory... -@@ -4865,6 +5277,24 @@ copy_banner(cupsd_client_t *con, /* I - +@@ -4882,6 +5294,24 @@ copy_banner(cupsd_client_t *con, /* I - else s = attrname; @@ -2700,7 +2199,7 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c if (!strcmp(s, "printer-name")) { cupsFilePuts(out, job->dest); -@@ -6782,6 +7212,22 @@ get_job_attrs(cupsd_client_t *con, /* I +@@ -6802,6 +7232,22 @@ get_job_attrs(cupsd_client_t *con, /* I return; } @@ -2723,19 +2222,19 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c /* * Copy attributes... */ -@@ -6997,6 +7443,11 @@ get_jobs(cupsd_client_t *con, /* I - C - if (count > 0) - ippAddSeparator(con->response); +@@ -7021,6 +7467,11 @@ get_jobs(cupsd_client_t *con, /* I - C + if (username[0] && strcasecmp(username, job->username)) + continue; +#ifdef WITH_LSPP + if (is_lspp_config() && check_context(con, job) != 1) + continue; +#endif /* WITH_LSPP */ + - count ++; + if (count > 0) + ippAddSeparator(con->response); - cupsdLogMessage(CUPSD_LOG_DEBUG2, "get_jobs: count = %d", count); -@@ -11314,6 +11765,11 @@ validate_user(cupsd_job_t *job, /* I +@@ -11454,6 +11905,11 @@ validate_user(cupsd_job_t *job, /* I strlcpy(username, get_username(con), userlen); @@ -2747,10 +2246,10 @@ diff -up cups-1.4b2/scheduler/ipp.c.lspp cups-1.4b2/scheduler/ipp.c /* * Check the username against the owner... */ -diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c ---- cups-1.4b2/scheduler/job.c.lspp 2009-01-28 17:09:48.000000000 +0000 -+++ cups-1.4b2/scheduler/job.c 2009-01-28 17:11:11.000000000 +0000 -@@ -62,6 +62,9 @@ +diff -up cups-1.4b2-svn8404/scheduler/job.c.lspp cups-1.4b2-svn8404/scheduler/job.c +--- cups-1.4b2-svn8404/scheduler/job.c.lspp 2009-03-05 11:40:03.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/job.c 2009-03-05 12:07:09.000000000 +0000 +@@ -65,6 +65,9 @@ * update_job_attrs() - Update the job-printer-* attributes. */ @@ -2760,7 +2259,7 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c /* * Include necessary headers... */ -@@ -71,6 +74,14 @@ +@@ -74,6 +77,14 @@ #include #include @@ -2774,8 +2273,116 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c +#endif /* WITH_LSPP */ /* - * Local globals... -@@ -1156,6 +1167,20 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J + * Design Notes for Job Management +@@ -478,6 +489,14 @@ cupsdContinueJob(cupsd_job_t *job) /* I + /* PRINTER env variable */ + rip_max_cache[255]; + /* RIP_MAX_CACHE env variable */ ++#ifdef WITH_LSPP ++ char *audit_message = NULL; /* Audit message string */ ++ context_t jobcon; /* SELinux context of the job */ ++ char *label_template = NULL; /* SL to put in classification ++ env var */ ++ const char *mls_label = NULL; /* SL to put in classification ++ env var */ ++#endif /* WITH_LSPP */ + + + cupsdLogMessage(CUPSD_LOG_DEBUG2, +@@ -898,6 +917,67 @@ cupsdContinueJob(cupsd_job_t *job) /* I + } + } + ++#ifdef WITH_LSPP ++ if (is_lspp_config()) ++ { ++ if (!job->scon || strncmp(job->scon, UNKNOWN_SL, strlen(UNKNOWN_SL)) == 0) ++ { ++ if (AuditLog != -1) ++ { ++ audit_message = NULL; ++ cupsdSetStringf(&audit_message, "job=%d auid=%u acct=%s printer=%s title=%s", ++ job->id, job->auid, job->username, job->printer->name, title); ++ audit_log_user_message(AuditLog, AUDIT_USER_UNLABELED_EXPORT, audit_message, ++ ServerName, NULL, NULL, 1); ++ cupsdClearString(&audit_message); ++ } ++ } ++ else ++ { ++ jobcon = context_new(job->scon); ++ ++ if ((attr = ippFindAttribute(job->attrs, "job-sheets", IPP_TAG_NAME)) == NULL) ++ label_template = strdup(Classification); ++ else if (attr->num_values > 1 && ++ strcmp(attr->values[1].string.text, "none") != 0) ++ label_template = strdup(attr->values[1].string.text); ++ else ++ label_template = strdup(attr->values[0].string.text); ++ ++ if (strcasecmp(label_template, MLS_CONFIG) == 0) ++ mls_label = context_range_get(jobcon); ++ else if (strcasecmp(label_template, TE_CONFIG) == 0) ++ mls_label = context_type_get(jobcon); ++ else if (strcasecmp(label_template, SELINUX_CONFIG) == 0) ++ mls_label = context_str(jobcon); ++ else ++ mls_label = label_template; ++ ++ if (mls_label && (PerPageLabels || banner_page)) ++ { ++ snprintf(classification, sizeof(classification), "CLASSIFICATION=LSPP:%s", mls_label); ++ envp[envc ++] = classification; ++ } ++ ++ if ((AuditLog != -1) && !banner_page) ++ { ++ audit_message = NULL; ++ cupsdSetStringf(&audit_message, "job=%d auid=%u acct=%s printer=%s title=%s" ++ " obj=%s label=%s", job->id, job->auid, job->username, ++ job->printer->name, title, job->scon, mls_label?mls_label:"none"); ++ audit_log_user_message(AuditLog, AUDIT_USER_LABELED_EXPORT, audit_message, ++ ServerName, NULL, NULL, 1); ++ cupsdClearString(&audit_message); ++ } ++ context_free(jobcon); ++ free(label_template); ++ } ++ } ++ else ++ /* ++ * Fall through to the non-LSPP behavior ++ */ ++#endif /* WITH_LSPP */ + if (Classification && !banner_page) + { + if ((attr = ippFindAttribute(job->attrs, "job-sheets", +@@ -1141,13 +1221,13 @@ cupsdContinueJob(cupsd_job_t *job) /* I + if (access(command, F_OK)) + { + snprintf(command, sizeof(command), "%s/backend/%s", ServerBin_compat, +- method); ++ scheme); + if (!access(command, F_OK)) + { + /* Not in the correct directory, but we found it in the compat + * directory. Issue a warning. */ + cupsdLogMessage(CUPSD_LOG_INFO, +- "Backend '%s' not in %s/backend!", method, ++ "Backend '%s' not in %s/backend!", scheme, + ServerBin); + } + else +@@ -1155,7 +1235,7 @@ cupsdContinueJob(cupsd_job_t *job) /* I + /* Not in the compat directory either; make any error + messages use the correct directory name then. */ + snprintf(command, sizeof(command), "%s/backend/%s", ServerBin, +- method); ++ scheme); + } + } + #endif /* __x86_64__ */ +@@ -1561,6 +1641,20 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J goto error; } @@ -2796,7 +2403,7 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c job->sheets = ippFindAttribute(job->attrs, "job-media-sheets-completed", IPP_TAG_INTEGER); job->job_sheets = ippFindAttribute(job->attrs, "job-sheets", IPP_TAG_NAME); -@@ -1523,6 +1548,13 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J +@@ -1909,6 +2003,14 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J { char filename[1024]; /* Job control filename */ cups_file_t *fp; /* Job file */ @@ -2804,13 +2411,14 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c + security_context_t spoolcon; /* context of the job control file */ + context_t jobcon; /* contex_t container for job->scon */ + context_t tmpcon; /* Temp context to swap the level */ -+ char *jobclearance; /* SELinux low end clearance */ -+ char *jobrange; /* SELinux sensitivity range */ ++ char *jobclearance; /* SELinux low end clearance */ ++ const char *jobrange; /* SELinux sensitivity range */ ++ char *jobrange_copy; /* SELinux sensitivity range */ +#endif /* WITH_LSPP */ cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdSaveJob(job=%p(%d)): job->attrs=%p", -@@ -1541,6 +1573,76 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J +@@ -1927,6 +2029,76 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J fchmod(cupsFileNumber(fp), 0600); fchown(cupsFileNumber(fp), RunUser, Group); @@ -2839,15 +2447,15 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c + jobrange = context_range_get(jobcon); + if (jobrange) + { -+ jobrange = strdup(jobrange); -+ if ((jobclearance = strtok(jobrange, "-")) != NULL) ++ jobrange_copy = strdup(jobrange); ++ if ((jobclearance = strtok(jobrange_copy, "-")) != NULL) + { + if (context_range_set(tmpcon, jobclearance) == -1) + { + cupsdLogMessage(CUPSD_LOG_ERROR, + "Unable to set the range for job control file \"%s\" - %s.", + filename, strerror(errno)); -+ free(jobrange); ++ free(jobrange_copy); + context_free(tmpcon); + context_free(jobcon); + return; @@ -2860,13 +2468,13 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c + cupsdLogMessage(CUPSD_LOG_ERROR, + "Unable to set the range for job control file \"%s\" - %s.", + filename, strerror(errno)); -+ free(jobrange); ++ free(jobrange_copy); + context_free(tmpcon); + context_free(jobcon); + return; + } + } -+ free(jobrange); ++ free(jobrange_copy); + } + if (setfilecon(filename, context_str(tmpcon)) == -1) + { @@ -2887,16 +2495,32 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c job->attrs->state = IPP_IDLE; if (ippWriteIO(fp, (ipp_iocb_t)cupsFileWrite, 1, NULL, -@@ -2531,6 +2633,21 @@ start_job(cupsd_job_t *job, /* I - - /* RIP_MAX_CACHE env variable */ - static char *options = NULL;/* Full list of options */ - static int optlength = 0; /* Length of option buffer */ +@@ -2846,6 +3018,18 @@ get_options(cupsd_job_t *job, /* I - Jo + banner_page) + continue; + ++#ifdef WITH_LSPP ++ /* ++ * In LSPP mode refuse to honor the page-label ++ */ ++ if (is_lspp_config() && ++ !strcmp(attr->name, "page-label")) ++ { ++ cupsdLogMessage(CUPSD_LOG_DEBUG, "Ignoring page-label option due to LSPP mode"); ++ continue; ++ } ++#endif /* WITH_LSPP */ ++ + /* + * Otherwise add them to the list... + */ +@@ -3516,6 +3700,19 @@ static void + start_job(cupsd_job_t *job, /* I - Job ID */ + cupsd_printer_t *printer) /* I - Printer to print job */ + { +#ifdef WITH_LSPP -+ const char *mls_label = NULL; /* SL to put in classification env var */ -+ char *label_template = NULL; /* SL to put in classification env var */ + char *audit_message = NULL; /* Audit message string */ + char *printerfile = NULL; /* Device file pointed to by the printer */ -+ context_t jobcon; /* SELinux context of the job */ + security_id_t clisid; /* SELinux SID for the client */ + security_id_t psid; /* SELinux SID for the printer */ + context_t printercon; /* Printer's context string */ @@ -2906,12 +2530,13 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c + security_class_t tclass; /* Object class for the SELinux check */ + access_vector_t avr; /* Access method being requested */ +#endif /* WITH_LSPP */ ++ + cupsdLogMessage(CUPSD_LOG_DEBUG2, "start_job(job=%p(%d), printer=%p(%s))", + job, job->id, printer, printer->name); - - cupsdLogJob(job, CUPSD_LOG_DEBUG2, "start_job: file = %d/%d", -@@ -2803,6 +2920,106 @@ start_job(cupsd_job_t *job, /* I - - fcntl(job->side_pipes[1], F_GETFL) | O_NONBLOCK); - } +@@ -3629,6 +3826,106 @@ start_job(cupsd_job_t *job, /* I - + fcntl(job->side_pipes[1], F_SETFL, + fcntl(job->side_pipes[1], F_GETFL) | O_NONBLOCK); +#ifdef WITH_LSPP + if (is_lspp_config()) @@ -2932,7 +2557,7 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c + if (errno != ENOENT) + { + cupsdLogMessage(CUPSD_LOG_ERROR, "StartJob: Unable to stat the printer"); -+ cupsdCancelJob(job, 0, IPP_JOB_ABORTED); ++ cupsdSetJobState(job, IPP_JOB_ABORTED, CUPSD_JOB_DEFAULT, NULL); + return ; + } + /* @@ -2955,7 +2580,7 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c + { + cupsdLogMessage(CUPSD_LOG_ERROR, + "StartJob: Printer is not a character device or regular file"); -+ cupsdCancelJob(job, 0, IPP_JOB_ABORTED); ++ cupsdSetJobState(job, IPP_JOB_ABORTED, CUPSD_JOB_DEFAULT, NULL); + return ; + } + avc_init("cupsd_dequeue_", NULL, NULL, NULL, NULL); @@ -2964,14 +2589,14 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c + { + cupsdLogMessage(CUPSD_LOG_ERROR, + "StartJob: Unable to determine the SELinux sid for the job"); -+ cupsdCancelJob(job, 0, IPP_JOB_ABORTED); ++ cupsdSetJobState(job, IPP_JOB_ABORTED, CUPSD_JOB_DEFAULT, NULL); + return ; + } + if (getfilecon(printerfile, &devcon) == -1) + { + cupsdLogMessage(CUPSD_LOG_ERROR, "StartJob: Unable to get the SELinux context of %s", + printerfile); -+ cupsdCancelJob(job, 0, IPP_JOB_ABORTED); ++ cupsdSetJobState(job, IPP_JOB_ABORTED, CUPSD_JOB_DEFAULT, NULL); + return ; + } + printercon = context_new(devcon); @@ -2984,7 +2609,7 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c + cupsdLogMessage(CUPSD_LOG_ERROR, + "StartJob: Unable to determine the SELinux sid for the printer"); + freecon(devcon); -+ cupsdCancelJob(job, 0, IPP_JOB_ABORTED); ++ cupsdSetJobState(job, IPP_JOB_ABORTED, CUPSD_JOB_DEFAULT, NULL); + return ; + } + freecon(devcon); @@ -3005,7 +2630,7 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c + cupsdClearString(&audit_message); + } + -+ cupsdCancelJob(job, 0, IPP_JOB_ABORTED); ++ cupsdSetJobState(job, IPP_JOB_ABORTED, CUPSD_JOB_DEFAULT, NULL); + + return ; + } @@ -3014,98 +2639,11 @@ diff -up cups-1.4b2/scheduler/job.c.lspp cups-1.4b2/scheduler/job.c +#endif /* WITH_LSPP */ + /* - * Determine if we are printing a banner page or not... + * Now start the first file in the job... */ -@@ -2940,6 +3157,18 @@ start_job(cupsd_job_t *job, /* I - - banner_page) - continue; - -+#ifdef WITH_LSPP -+ /* -+ * In LSPP mode refuse to honor the page-label -+ */ -+ if (is_lspp_config() && -+ !strcmp(attr->name, "page-label")) -+ { -+ cupsdLogMessage(CUPSD_LOG_DEBUG, "Ignoring page-label option due to LSPP mode"); -+ continue; -+ } -+#endif /* WITH_LSPP */ -+ - /* - * Otherwise add them to the list... - */ -@@ -3189,6 +3418,67 @@ start_job(cupsd_job_t *job, /* I - - } - } - -+#ifdef WITH_LSPP -+ if (is_lspp_config()) -+ { -+ if (!job->scon || strncmp(job->scon, UNKNOWN_SL, strlen(UNKNOWN_SL)) == 0) -+ { -+ if (AuditLog != -1) -+ { -+ audit_message = NULL; -+ cupsdSetStringf(&audit_message, "job=%d auid=%u acct=%s printer=%s title=%s", -+ job->id, job->auid, job->username, printer->name, title); -+ audit_log_user_message(AuditLog, AUDIT_USER_UNLABELED_EXPORT, audit_message, -+ ServerName, NULL, NULL, 1); -+ cupsdClearString(&audit_message); -+ } -+ } -+ else -+ { -+ jobcon = context_new(job->scon); -+ -+ if ((attr = ippFindAttribute(job->attrs, "job-sheets", IPP_TAG_NAME)) == NULL) -+ label_template = strdup(Classification); -+ else if (attr->num_values > 1 && -+ strcmp(attr->values[1].string.text, "none") != 0) -+ label_template = strdup(attr->values[1].string.text); -+ else -+ label_template = strdup(attr->values[0].string.text); -+ -+ if (strcasecmp(label_template, MLS_CONFIG) == 0) -+ mls_label = context_range_get(jobcon); -+ else if (strcasecmp(label_template, TE_CONFIG) == 0) -+ mls_label = context_type_get(jobcon); -+ else if (strcasecmp(label_template, SELINUX_CONFIG) == 0) -+ mls_label = context_str(jobcon); -+ else -+ mls_label = label_template; -+ -+ if (mls_label && (PerPageLabels || banner_page)) -+ { -+ snprintf(classification, sizeof(classification), "CLASSIFICATION=LSPP:%s", mls_label); -+ envp[envc ++] = classification; -+ } -+ -+ if ((AuditLog != -1) && !banner_page) -+ { -+ audit_message = NULL; -+ cupsdSetStringf(&audit_message, "job=%d auid=%u acct=%s printer=%s title=%s" -+ " obj=%s label=%s", job->id, job->auid, job->username, -+ printer->name, title, job->scon, mls_label?mls_label:"none"); -+ audit_log_user_message(AuditLog, AUDIT_USER_LABELED_EXPORT, audit_message, -+ ServerName, NULL, NULL, 1); -+ cupsdClearString(&audit_message); -+ } -+ context_free(jobcon); -+ free(label_template); -+ } -+ } -+ else -+ /* -+ * Fall through to the non-LSPP behavior -+ */ -+#endif /* WITH_LSPP */ - if (Classification && !banner_page) - { - if ((attr = ippFindAttribute(job->attrs, "job-sheets", -diff -up cups-1.4b2/scheduler/job.h.lspp cups-1.4b2/scheduler/job.h ---- cups-1.4b2/scheduler/job.h.lspp 2009-01-28 17:09:48.000000000 +0000 -+++ cups-1.4b2/scheduler/job.h 2009-01-28 17:09:48.000000000 +0000 +diff -up cups-1.4b2-svn8404/scheduler/job.h.lspp cups-1.4b2-svn8404/scheduler/job.h +--- cups-1.4b2-svn8404/scheduler/job.h.lspp 2009-03-05 10:54:00.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/job.h 2009-03-05 11:40:03.000000000 +0000 @@ -13,6 +13,13 @@ * file is missing or damaged, see the license at "http://www.cups.org/". */ @@ -3118,9 +2656,9 @@ diff -up cups-1.4b2/scheduler/job.h.lspp cups-1.4b2/scheduler/job.h +#endif /* WITH_LSPP */ + /* - * Job request structure... + * Constants... */ -@@ -63,6 +70,10 @@ typedef struct cupsd_job_s +@@ -80,6 +87,10 @@ typedef struct cupsd_job_s krb5_ccache ccache; /* Kerberos credential cache */ char *ccname; /* KRB5CCNAME environment variable */ #endif /* HAVE_GSSAPI */ @@ -3131,9 +2669,9 @@ diff -up cups-1.4b2/scheduler/job.h.lspp cups-1.4b2/scheduler/job.h } cupsd_job_t; -diff -up cups-1.4b2/scheduler/main.c.lspp cups-1.4b2/scheduler/main.c ---- cups-1.4b2/scheduler/main.c.lspp 2009-01-28 17:09:48.000000000 +0000 -+++ cups-1.4b2/scheduler/main.c 2009-01-28 17:09:48.000000000 +0000 +diff -up cups-1.4b2-svn8404/scheduler/main.c.lspp cups-1.4b2-svn8404/scheduler/main.c +--- cups-1.4b2-svn8404/scheduler/main.c.lspp 2009-03-05 11:40:03.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/main.c 2009-03-05 11:40:03.000000000 +0000 @@ -35,6 +35,8 @@ * usage() - Show scheduler usage. */ @@ -3189,7 +2727,7 @@ diff -up cups-1.4b2/scheduler/main.c.lspp cups-1.4b2/scheduler/main.c /* * Set the timezone info... */ -@@ -1212,6 +1239,11 @@ main(int argc, /* I - Number of comm +@@ -1206,6 +1233,11 @@ main(int argc, /* I - Number of comm cupsdStopSelect(); @@ -3201,11 +2739,11 @@ diff -up cups-1.4b2/scheduler/main.c.lspp cups-1.4b2/scheduler/main.c return (!stop_scheduler); } -diff -up cups-1.4b2/scheduler/printers.c.lspp cups-1.4b2/scheduler/printers.c ---- cups-1.4b2/scheduler/printers.c.lspp 2009-01-28 17:09:48.000000000 +0000 -+++ cups-1.4b2/scheduler/printers.c 2009-01-28 17:09:48.000000000 +0000 -@@ -52,6 +52,8 @@ - * write_xml_string() - Write a string with XML escaping. +diff -up cups-1.4b2-svn8404/scheduler/printers.c.lspp cups-1.4b2-svn8404/scheduler/printers.c +--- cups-1.4b2-svn8404/scheduler/printers.c.lspp 2009-03-05 11:40:03.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/printers.c 2009-03-05 11:40:03.000000000 +0000 +@@ -58,6 +58,8 @@ + * write_xml_string() - Write a string with XML escaping. */ +/* (c) Copyright 2005-2006 Hewlett-Packard Development Company, L.P. */ @@ -3213,7 +2751,7 @@ diff -up cups-1.4b2/scheduler/printers.c.lspp cups-1.4b2/scheduler/printers.c /* * Include necessary headers... */ -@@ -79,6 +81,10 @@ static void write_irix_state(cupsd_print +@@ -86,6 +88,10 @@ static void write_irix_state(cupsd_print #endif /* __sgi */ static void write_xml_string(cups_file_t *fp, const char *s); @@ -3224,7 +2762,7 @@ diff -up cups-1.4b2/scheduler/printers.c.lspp cups-1.4b2/scheduler/printers.c /* * 'cupsdAddPrinter()' - Add a printer to the system. -@@ -2115,6 +2121,13 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p) +@@ -2168,6 +2174,13 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p) { /* No authentication */ "none" }; @@ -3238,7 +2776,7 @@ diff -up cups-1.4b2/scheduler/printers.c.lspp cups-1.4b2/scheduler/printers.c DEBUG_printf(("cupsdSetPrinterAttrs: entering name = %s, type = %x\n", p->name, -@@ -2260,6 +2273,42 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p) +@@ -2313,6 +2326,42 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p) attr->values[1].string.text = _cupsStrAlloc(Classification ? Classification : p->job_sheets[1]); } @@ -3281,7 +2819,7 @@ diff -up cups-1.4b2/scheduler/printers.c.lspp cups-1.4b2/scheduler/printers.c } p->raw = 0; -@@ -4650,7 +4699,6 @@ write_irix_state(cupsd_printer_t *p) /* +@@ -4865,7 +4914,6 @@ write_irix_state(cupsd_printer_t *p) /* } #endif /* __sgi */ diff --git a/cups-no-export-ssllibs.patch b/cups-no-export-ssllibs.patch index 5a6408f..9effc8e 100644 --- a/cups-no-export-ssllibs.patch +++ b/cups-no-export-ssllibs.patch @@ -1,22 +1,12 @@ ---- cups-1.2.1/config-scripts/cups-ssl.m4.no-export-ssllibs 2006-06-15 13:12:59.000000000 +0100 -+++ cups-1.2.1/config-scripts/cups-ssl.m4 2006-06-15 13:13:09.000000000 +0100 -@@ -109,7 +109,7 @@ +diff -up cups-1.4b2-svn8404/config-scripts/cups-ssl.m4.no-export-ssllibs cups-1.4b2-svn8404/config-scripts/cups-ssl.m4 +--- cups-1.4b2-svn8404/config-scripts/cups-ssl.m4.no-export-ssllibs 2009-02-17 17:45:27.000000000 +0000 ++++ cups-1.4b2-svn8404/config-scripts/cups-ssl.m4 2009-03-05 11:12:59.000000000 +0000 +@@ -110,7 +110,7 @@ fi + AC_SUBST(SSLFLAGS) AC_SUBST(SSLLIBS) - AC_SUBST(ENCRYPTION_REQUIRED) -EXPORT_SSLLIBS="$SSLLIBS" +EXPORT_SSLLIBS="" AC_SUBST(EXPORT_SSLLIBS) ---- cups-1.2.1/configure.no-export-ssllibs 2006-06-15 13:13:42.000000000 +0100 -+++ cups-1.2.1/configure 2006-06-15 13:13:48.000000000 +0100 -@@ -12343,7 +12343,7 @@ - - - --EXPORT_SSLLIBS="$SSLLIBS" -+EXPORT_SSLLIBS="" - - - diff --git a/cups-no-gzip-man.patch b/cups-no-gzip-man.patch index b95f946..4a08503 100644 --- a/cups-no-gzip-man.patch +++ b/cups-no-gzip-man.patch @@ -1,9 +1,10 @@ ---- cups-1.2svn-r5102/config-scripts/cups-manpages.m4.no-gzip-man 2006-02-13 02:46:10.000000000 +0000 -+++ cups-1.2svn-r5102/config-scripts/cups-manpages.m4 2006-02-17 09:55:45.000000000 +0000 -@@ -80,10 +80,10 @@ +diff -up cups-1.4b2-svn8404/config-scripts/cups-manpages.m4.no-gzip-man cups-1.4b2-svn8404/config-scripts/cups-manpages.m4 +--- cups-1.4b2-svn8404/config-scripts/cups-manpages.m4.no-gzip-man 2009-01-16 08:58:42.000000000 +0000 ++++ cups-1.4b2-svn8404/config-scripts/cups-manpages.m4 2009-03-05 11:11:12.000000000 +0000 +@@ -69,10 +69,10 @@ case "$uname" in ;; - Linux* | GNU*) - # Linux and GNU Hurd + Linux* | GNU* | Darwin*) + # Linux, GNU Hurd, and Mac OS X - MAN1EXT=1.gz - MAN5EXT=5.gz - MAN7EXT=7.gz diff --git a/cups-serverbin-compat.patch b/cups-serverbin-compat.patch index 8f211f6..df2b029 100644 --- a/cups-serverbin-compat.patch +++ b/cups-serverbin-compat.patch @@ -1,9 +1,9 @@ -diff -up cups-1.4b1/scheduler/conf.c.serverbin-compat cups-1.4b1/scheduler/conf.c ---- cups-1.4b1/scheduler/conf.c.serverbin-compat 2008-10-08 17:34:03.000000000 +0100 -+++ cups-1.4b1/scheduler/conf.c 2008-11-11 15:39:11.000000000 +0000 -@@ -432,6 +432,9 @@ cupsdReadConfiguration(void) - cupsdSetString(&ServerName, httpGetHostname(NULL, temp, sizeof(temp))); - cupsdSetStringf(&ServerAdmin, "root@%s", temp); +diff -up cups-1.4b2-svn8404/scheduler/conf.c.serverbin-compat cups-1.4b2-svn8404/scheduler/conf.c +--- cups-1.4b2-svn8404/scheduler/conf.c.serverbin-compat 2009-02-17 17:45:27.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/conf.c 2009-03-05 11:08:57.000000000 +0000 +@@ -436,6 +436,9 @@ cupsdReadConfiguration(void) + cupsdClearString(&ServerName); + cupsdClearString(&ServerAdmin); cupsdSetString(&ServerBin, CUPS_SERVERBIN); +#ifdef __x86_64__ + cupsdSetString(&ServerBin_compat, "/usr/lib64/cups"); @@ -11,7 +11,7 @@ diff -up cups-1.4b1/scheduler/conf.c.serverbin-compat cups-1.4b1/scheduler/conf. cupsdSetString(&RequestRoot, CUPS_REQUESTS); cupsdSetString(&CacheDir, CUPS_CACHEDIR); cupsdSetString(&DataDir, CUPS_DATADIR); -@@ -1187,7 +1190,12 @@ cupsdReadConfiguration(void) +@@ -1217,7 +1220,12 @@ cupsdReadConfiguration(void) * Read the MIME type and conversion database... */ @@ -24,10 +24,10 @@ diff -up cups-1.4b1/scheduler/conf.c.serverbin-compat cups-1.4b1/scheduler/conf. snprintf(mimedir, sizeof(mimedir), "%s/mime", DataDir); MimeDatabase = mimeLoadTypes(NULL, mimedir); -diff -up cups-1.4b1/scheduler/conf.h.serverbin-compat cups-1.4b1/scheduler/conf.h ---- cups-1.4b1/scheduler/conf.h.serverbin-compat 2008-09-19 21:03:36.000000000 +0100 -+++ cups-1.4b1/scheduler/conf.h 2008-11-11 15:35:13.000000000 +0000 -@@ -89,6 +89,10 @@ VAR char *ConfigurationFile VALUE(NULL) +diff -up cups-1.4b2-svn8404/scheduler/conf.h.serverbin-compat cups-1.4b2-svn8404/scheduler/conf.h +--- cups-1.4b2-svn8404/scheduler/conf.h.serverbin-compat 2009-02-17 17:45:27.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/conf.h 2009-03-05 11:08:57.000000000 +0000 +@@ -95,6 +95,10 @@ VAR char *ConfigurationFile VALUE(NULL) /* Root directory for scheduler */ *ServerBin VALUE(NULL), /* Root directory for binaries */ @@ -38,9 +38,9 @@ diff -up cups-1.4b1/scheduler/conf.h.serverbin-compat cups-1.4b1/scheduler/conf. *StateDir VALUE(NULL), /* Root directory for state data */ *RequestRoot VALUE(NULL), -diff -up cups-1.4b1/scheduler/env.c.serverbin-compat cups-1.4b1/scheduler/env.c ---- cups-1.4b1/scheduler/env.c.serverbin-compat 2008-06-18 23:31:26.000000000 +0100 -+++ cups-1.4b1/scheduler/env.c 2008-11-11 15:35:13.000000000 +0000 +diff -up cups-1.4b2-svn8404/scheduler/env.c.serverbin-compat cups-1.4b2-svn8404/scheduler/env.c +--- cups-1.4b2-svn8404/scheduler/env.c.serverbin-compat 2009-02-17 17:45:27.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/env.c 2009-03-05 11:08:57.000000000 +0000 @@ -86,8 +86,13 @@ cupsdInitEnv(void) cupsdSetEnv("LD_LIBRARY_PATH", NULL); cupsdSetEnv("LD_PRELOAD", NULL); @@ -55,10 +55,10 @@ diff -up cups-1.4b1/scheduler/env.c.serverbin-compat cups-1.4b1/scheduler/env.c cupsdSetEnv("SERVER_ADMIN", ServerAdmin); cupsdSetEnv("SHLIB_PATH", NULL); cupsdSetEnv("SOFTWARE", CUPS_MINIMAL); -diff -up cups-1.4b1/scheduler/ipp.c.serverbin-compat cups-1.4b1/scheduler/ipp.c ---- cups-1.4b1/scheduler/ipp.c.serverbin-compat 2008-10-27 21:54:12.000000000 +0000 -+++ cups-1.4b1/scheduler/ipp.c 2008-11-11 15:41:25.000000000 +0000 -@@ -2515,9 +2515,18 @@ add_printer(cupsd_client_t *con, /* I - +diff -up cups-1.4b2-svn8404/scheduler/ipp.c.serverbin-compat cups-1.4b2-svn8404/scheduler/ipp.c +--- cups-1.4b2-svn8404/scheduler/ipp.c.serverbin-compat 2009-03-05 10:54:00.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/ipp.c 2009-03-05 11:08:57.000000000 +0000 +@@ -2541,9 +2541,18 @@ add_printer(cupsd_client_t *con, /* I - * Could not find device in list! */ @@ -77,10 +77,10 @@ diff -up cups-1.4b1/scheduler/ipp.c.serverbin-compat cups-1.4b1/scheduler/ipp.c } } -diff -up cups-1.4b1/scheduler/job.c.serverbin-compat cups-1.4b1/scheduler/job.c ---- cups-1.4b1/scheduler/job.c.serverbin-compat 2008-10-21 01:02:45.000000000 +0100 -+++ cups-1.4b1/scheduler/job.c 2008-11-11 15:35:13.000000000 +0000 -@@ -3267,8 +3267,32 @@ start_job(cupsd_job_t *job, /* I - +diff -up cups-1.4b2-svn8404/scheduler/job.c.serverbin-compat cups-1.4b2-svn8404/scheduler/job.c +--- cups-1.4b2-svn8404/scheduler/job.c.serverbin-compat 2009-03-05 10:54:00.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/job.c 2009-03-05 11:08:57.000000000 +0000 +@@ -966,8 +966,32 @@ cupsdContinueJob(cupsd_job_t *job) /* I i ++, filter = (mime_filter_t *)cupsArrayNext(filters)) { if (filter->filter[0] != '/') @@ -115,10 +115,10 @@ diff -up cups-1.4b1/scheduler/job.c.serverbin-compat cups-1.4b1/scheduler/job.c else strlcpy(command, filter->filter, sizeof(command)); -@@ -3414,6 +3438,28 @@ start_job(cupsd_job_t *job, /* I - - { - sscanf(printer->device_uri, "%254[^:]", method); - snprintf(command, sizeof(command), "%s/backend/%s", ServerBin, method); +@@ -1113,6 +1137,28 @@ cupsdContinueJob(cupsd_job_t *job) /* I + cupsdClosePipe(job->print_pipes); + cupsdClosePipe(job->back_pipes); + cupsdClosePipe(job->side_pipes); +#ifdef __x86_64__ + if (access(command, F_OK)) + { @@ -142,12 +142,12 @@ diff -up cups-1.4b1/scheduler/job.c.serverbin-compat cups-1.4b1/scheduler/job.c + } +#endif /* __x86_64__ */ - /* - * See if the backend needs to run as root... -diff -up cups-1.4b1/scheduler/printers.c.serverbin-compat cups-1.4b1/scheduler/printers.c ---- cups-1.4b1/scheduler/printers.c.serverbin-compat 2008-10-10 06:28:15.000000000 +0100 -+++ cups-1.4b1/scheduler/printers.c 2008-11-11 15:35:13.000000000 +0000 -@@ -985,9 +985,19 @@ cupsdLoadAllPrinters(void) + close(job->status_pipes[1]); + job->status_pipes[1] = -1; +diff -up cups-1.4b2-svn8404/scheduler/printers.c.serverbin-compat cups-1.4b2-svn8404/scheduler/printers.c +--- cups-1.4b2-svn8404/scheduler/printers.c.serverbin-compat 2009-03-05 10:54:00.000000000 +0000 ++++ cups-1.4b2-svn8404/scheduler/printers.c 2009-03-05 11:09:46.000000000 +0000 +@@ -1021,9 +1021,19 @@ cupsdLoadAllPrinters(void) * Backend does not exist, stop printer... */ @@ -167,9 +167,9 @@ diff -up cups-1.4b1/scheduler/printers.c.serverbin-compat cups-1.4b1/scheduler/p } } -@@ -3448,6 +3458,12 @@ add_printer_filter( +@@ -3580,6 +3590,12 @@ add_printer_filter( - if (access(filename, X_OK)) + if (stat(filename, &fileinfo)) { +#ifdef __x86_64__ + snprintf(filename, sizeof(filename), "%s/filter/%s", ServerBin_compat, @@ -179,14 +179,14 @@ diff -up cups-1.4b1/scheduler/printers.c.serverbin-compat cups-1.4b1/scheduler/p +#endif /* __x86_64__ */ snprintf(p->state_message, sizeof(p->state_message), "Filter \"%s\" for printer \"%s\" not available: %s", - program, p->name, strerror(errno)); -@@ -3455,6 +3471,9 @@ add_printer_filter( - cupsdSetPrinterState(p, IPP_PRINTER_STOPPED, 0); + filename, p->name, strerror(errno)); +@@ -3587,6 +3603,9 @@ add_printer_filter( cupsdLogMessage(CUPSD_LOG_ERROR, "%s", p->state_message); + return; +#ifdef __x86_64__ + } +#endif /* __x86_64__ */ } - } + /* diff --git a/cups-str3059.patch b/cups-str3059.patch deleted file mode 100644 index 6064594..0000000 --- a/cups-str3059.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -up cups-1.4b2/CHANGES-1.3.txt.str3059 cups-1.4b2/CHANGES-1.3.txt -diff -up cups-1.4b2/scheduler/type.c.str3059 cups-1.4b2/scheduler/type.c ---- cups-1.4b2/scheduler/type.c.str3059 2008-07-11 23:46:21.000000000 +0100 -+++ cups-1.4b2/scheduler/type.c 2009-01-28 17:40:23.000000000 +0000 -@@ -188,8 +188,7 @@ mimeAddTypeRule(mime_type_t *mt, /* I - - else if (*rule == '+' && current != NULL) - { - if (logic != MIME_MAGIC_AND && -- current != NULL && current->prev != NULL && -- current->prev->prev != NULL) -+ current != NULL && current->prev != NULL) - { - /* - * OK, we have more than 1 rule in the current tree level... Make a diff --git a/cups-str3077.patch b/cups-str3077.patch deleted file mode 100644 index 165a9a0..0000000 --- a/cups-str3077.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up cups-1.4b2/cups/encode.c.str3077 cups-1.4b2/cups/encode.c ---- cups-1.4b2/cups/encode.c.str3077 2008-12-15 17:54:11.000000000 +0000 -+++ cups-1.4b2/cups/encode.c 2009-01-28 16:58:01.000000000 +0000 -@@ -69,10 +69,10 @@ static const _ipp_option_t ipp_options[] - { 0, "hue-default", IPP_TAG_INTEGER, IPP_TAG_PRINTER }, - { 1, "include-schemes", IPP_TAG_NAME, IPP_TAG_OPERATION }, - { 0, "job-impressions", IPP_TAG_INTEGER, IPP_TAG_JOB }, -- { 0, "job-k-limit", IPP_TAG_INTEGER, IPP_TAG_JOB }, -- { 0, "job-page-limit", IPP_TAG_INTEGER, IPP_TAG_JOB }, -+ { 0, "job-k-limit", IPP_TAG_INTEGER, IPP_TAG_PRINTER }, -+ { 0, "job-page-limit", IPP_TAG_INTEGER, IPP_TAG_PRINTER }, - { 0, "job-priority", IPP_TAG_INTEGER, IPP_TAG_JOB }, -- { 0, "job-quota-period", IPP_TAG_INTEGER, IPP_TAG_JOB }, -+ { 0, "job-quota-period", IPP_TAG_INTEGER, IPP_TAG_PRINTER }, - { 1, "job-sheets", IPP_TAG_NAME, IPP_TAG_JOB }, - { 1, "job-sheets-default", IPP_TAG_NAME, IPP_TAG_PRINTER }, - { 0, "job-uuid", IPP_TAG_URI, IPP_TAG_JOB }, diff --git a/cups-str3078.patch b/cups-str3078.patch deleted file mode 100644 index 1fee814..0000000 --- a/cups-str3078.patch +++ /dev/null @@ -1,245 +0,0 @@ -diff -up cups-1.4b2/scheduler/job.c.str3078 cups-1.4b2/scheduler/job.c ---- cups-1.4b2/scheduler/job.c.str3078 2009-01-28 16:59:45.000000000 +0000 -+++ cups-1.4b2/scheduler/job.c 2009-01-28 17:00:04.000000000 +0000 -@@ -1049,7 +1049,7 @@ cupsdLoadAllJobs(void) - * 'cupsdLoadJob()' - Load a single job... - */ - --void -+int /* O - 1 on success, 0 on failure */ - cupsdLoadJob(cupsd_job_t *job) /* I - Job */ - { - char jobfile[1024]; /* Job filename */ -@@ -1067,14 +1067,14 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J - if (job->state_value > IPP_JOB_STOPPED) - job->access_time = time(NULL); - -- return; -+ return (1); - } - - if ((job->attrs = ippNew()) == NULL) - { - cupsdLogMessage(CUPSD_LOG_ERROR, - "[Job %d] Ran out of memory for job attributes!", job->id); -- return; -+ return (0); - } - - /* -@@ -1089,9 +1089,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J - cupsdLogMessage(CUPSD_LOG_ERROR, - "[Job %d] Unable to open job control file \"%s\" - %s!", - job->id, jobfile, strerror(errno)); -- ippDelete(job->attrs); -- job->attrs = NULL; -- return; -+ goto error; - } - - if (ippReadIO(fp, (ipp_iocb_t)cupsFileRead, 1, NULL, job->attrs) != IPP_DATA) -@@ -1100,10 +1098,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J - "[Job %d] Unable to read job control file \"%s\"!", job->id, - jobfile); - cupsFileClose(fp); -- ippDelete(job->attrs); -- job->attrs = NULL; -- unlink(jobfile); -- return; -+ goto error; - } - - cupsFileClose(fp); -@@ -1117,10 +1112,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J - cupsdLogMessage(CUPSD_LOG_ERROR, - "[Job %d] Missing or bad time-at-creation attribute in " - "control file!", job->id); -- ippDelete(job->attrs); -- job->attrs = NULL; -- unlink(jobfile); -- return; -+ goto error; - } - - if ((job->state = ippFindAttribute(job->attrs, "job-state", -@@ -1129,10 +1121,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J - cupsdLogMessage(CUPSD_LOG_ERROR, - "[Job %d] Missing or bad job-state attribute in control " - "file!", job->id); -- ippDelete(job->attrs); -- job->attrs = NULL; -- unlink(jobfile); -- return; -+ goto error; - } - - job->state_value = (ipp_jstate_t)job->state->values[0].integer; -@@ -1145,10 +1134,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J - cupsdLogMessage(CUPSD_LOG_ERROR, - "[Job %d] No job-printer-uri attribute in control file!", - job->id); -- ippDelete(job->attrs); -- job->attrs = NULL; -- unlink(jobfile); -- return; -+ goto error; - } - - if ((dest = cupsdValidateDest(attr->values[0].string.text, &(job->dtype), -@@ -1157,10 +1143,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J - cupsdLogMessage(CUPSD_LOG_ERROR, - "[Job %d] Unable to queue job for destination \"%s\"!", - job->id, attr->values[0].string.text); -- ippDelete(job->attrs); -- job->attrs = NULL; -- unlink(jobfile); -- return; -+ goto error; - } - - cupsdSetString(&job->dest, dest); -@@ -1170,10 +1153,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J - cupsdLogMessage(CUPSD_LOG_ERROR, - "[Job %d] Unable to queue job for destination \"%s\"!", - job->id, job->dest); -- ippDelete(job->attrs); -- job->attrs = NULL; -- unlink(jobfile); -- return; -+ goto error; - } - - job->sheets = ippFindAttribute(job->attrs, "job-media-sheets-completed", -@@ -1188,10 +1168,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J - cupsdLogMessage(CUPSD_LOG_ERROR, - "[Job %d] Missing or bad job-priority attribute in " - "control file!", job->id); -- ippDelete(job->attrs); -- job->attrs = NULL; -- unlink(jobfile); -- return; -+ goto error; - } - - job->priority = attr->values[0].integer; -@@ -1205,10 +1182,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J - cupsdLogMessage(CUPSD_LOG_ERROR, - "[Job %d] Missing or bad job-originating-user-name " - "attribute in control file!", job->id); -- ippDelete(job->attrs); -- job->attrs = NULL; -- unlink(jobfile); -- return; -+ goto error; - } - - cupsdSetString(&job->username, attr->values[0].string.text); -@@ -1277,7 +1251,7 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J - cupsdLogMessage(CUPSD_LOG_ERROR, - "[Job %d] Ran out of memory for job file types!", - job->id); -- return; -+ return (1); - } - - job->compressions = compressions; -@@ -1335,6 +1309,18 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J - } - - job->access_time = time(NULL); -+ return (1); -+ -+ /* -+ * If we get here then something bad happened... -+ */ -+ -+ error: -+ -+ ippDelete(job->attrs); -+ job->attrs = NULL; -+ unlink(jobfile); -+ return (0); - } - - -diff -up cups-1.4b2/scheduler/job.h.str3078 cups-1.4b2/scheduler/job.h ---- cups-1.4b2/scheduler/job.h.str3078 2008-08-28 21:38:13.000000000 +0100 -+++ cups-1.4b2/scheduler/job.h 2009-01-28 17:00:04.000000000 +0000 -@@ -3,7 +3,7 @@ - * - * Print job definitions for the Common UNIX Printing System (CUPS) scheduler. - * -- * Copyright 2007-2008 by Apple Inc. -+ * Copyright 2007-2009 by Apple Inc. - * Copyright 1997-2007 by Easy Software Products, all rights reserved. - * - * These coded instructions, statements, and computer programs are the -@@ -117,7 +117,7 @@ extern int cupsdGetPrinterJobCount(cons - extern int cupsdGetUserJobCount(const char *username); - extern void cupsdHoldJob(cupsd_job_t *job); - extern void cupsdLoadAllJobs(void); --extern void cupsdLoadJob(cupsd_job_t *job); -+extern int cupsdLoadJob(cupsd_job_t *job); - extern void cupsdMoveJob(cupsd_job_t *job, cupsd_printer_t *p); - extern void cupsdReleaseJob(cupsd_job_t *job); - extern void cupsdRestartJob(cupsd_job_t *job); -diff -up cups-1.4b2/scheduler/quotas.c.str3078 cups-1.4b2/scheduler/quotas.c ---- cups-1.4b2/scheduler/quotas.c.str3078 2007-09-12 22:09:49.000000000 +0100 -+++ cups-1.4b2/scheduler/quotas.c 2009-01-28 17:00:04.000000000 +0000 -@@ -3,7 +3,7 @@ - * - * Quota routines for the Common UNIX Printing System (CUPS). - * -- * Copyright 2007 by Apple Inc. -+ * Copyright 2007-2009 by Apple Inc. - * Copyright 1997-2007 by Easy Software Products. - * - * These coded instructions, statements, and computer programs are the -@@ -155,10 +155,22 @@ cupsdUpdateQuota( - job; - job = (cupsd_job_t *)cupsArrayNext(Jobs)) - { -+ /* -+ * We only care about the current printer/class and user... -+ */ -+ - if (strcasecmp(job->dest, p->name) != 0 || - strcasecmp(job->username, q->username) != 0) - continue; - -+ /* -+ * Make sure attributes are loaded; we always call cupsdLoadJob() to ensure -+ * the access_time member is updated so the job isn't unloaded right away... -+ */ -+ -+ if (!cupsdLoadJob(job)) -+ continue; -+ - if ((attr = ippFindAttribute(job->attrs, "time-at-completion", - IPP_TAG_INTEGER)) == NULL) - if ((attr = ippFindAttribute(job->attrs, "time-at-processing", -@@ -166,11 +178,22 @@ cupsdUpdateQuota( - attr = ippFindAttribute(job->attrs, "time-at-creation", - IPP_TAG_INTEGER); - -- if (attr == NULL) -- break; -+ if (!attr) -+ { -+ /* -+ * This should never happen since cupsdLoadJob() checks for -+ * time-at-creation, but if it does just ignore this job... -+ */ -+ -+ continue; -+ } - - if (attr->values[0].integer < curtime) - { -+ /* -+ * This job is too old to count towards the quota, ignore it... -+ */ -+ - if (JobAutoPurge) - cupsdCancelJob(job, 1, IPP_JOB_CANCELED); - diff --git a/cups.spec b/cups.spec index cd497e9..4eb47c9 100644 --- a/cups.spec +++ b/cups.spec @@ -1,4 +1,5 @@ %define pre b2 +%define svn -svn8404 %define initdir /etc/rc.d/init.d %define use_alternatives 1 %define lspp 1 @@ -7,10 +8,10 @@ Summary: Common Unix Printing System Name: cups Version: 1.4 -Release: 0.%{pre}.7%{?dist}.1 +Release: 0.%{pre}.8%{?dist} License: GPLv2 Group: System Environment/Daemons -Source: ftp://ftp.easysw.com/pub/cups/test//cups-%{version}%{?pre}-source.tar.bz2 +Source: ftp://ftp.easysw.com/pub/cups/test//cups-%{version}%{?pre}%{?svn}-source.tar.bz2 Source1: cups.init Source2: cupsprinter.png Source4: pstopdf @@ -37,7 +38,6 @@ Patch11: cups-direct-usb.patch Patch12: cups-lpr-help.patch Patch13: cups-peercred.patch Patch14: cups-pid.patch -Patch15: cups-local-protocols.patch Patch16: cups-eggcups.patch Patch17: cups-getpass.patch Patch18: cups-driverd-timeout.patch @@ -45,9 +45,6 @@ Patch19: cups-strict-ppd-line-length.patch Patch20: cups-logrotate.patch Patch21: cups-usb-paperout.patch Patch22: cups-build.patch -Patch23: cups-str3077.patch -Patch24: cups-str3078.patch -Patch25: cups-str3059.patch Patch26: cups-avahi.patch Patch27: cups-missing-devices.patch Patch100: cups-lspp.patch @@ -166,7 +163,7 @@ UNIX® operating systems. This is the package that provices a PHP module. %prep -%setup -q -n %{name}-%{version}%{?pre} +%setup -q -n %{name}-%{version}%{?pre}%{?svn} %patch1 -p1 -b .no-gzip-man %patch2 -p1 -b .system-auth %patch3 -p1 -b .multilib @@ -181,7 +178,6 @@ module. %patch12 -p1 -b .lpr-help %patch13 -p1 -b .peercred %patch14 -p1 -b .pid -%patch15 -p1 -b .local-protocols %patch16 -p1 -b .eggcups %patch17 -p1 -b .getpass %patch18 -p1 -b .driverd-timeout @@ -189,9 +185,6 @@ module. %patch20 -p1 -b .logrotate %patch21 -p1 -b .usb-paperout %patch22 -p1 -b .build -%patch23 -p1 -b .str3077 -%patch24 -p1 -b .str3078 -%patch25 -p1 -b .str3059 %patch26 -p1 -b .avahi %patch27 -p1 -b .missing-devices @@ -384,12 +377,20 @@ rm -rf $RPM_BUILD_ROOT %config(noreplace) %{_sysconfdir}/logrotate.d/cups %config(noreplace) %{_sysconfdir}/portreserve/%{name} %dir %{_datadir}/%{name}/www +%dir %{_datadir}/%{name}/www/es +%dir %{_datadir}/%{name}/www/ja +%dir %{_datadir}/%{name}/www/pl +%dir %{_datadir}/%{name}/www/ru %config(noreplace) %{_datadir}/%{name}/www/favicon.* %config(noreplace) %{_datadir}/%{name}/www/images %config(noreplace) %{_datadir}/%{name}/www/*.css %config(noreplace) %doc %{_datadir}/%{name}/www/index.html %config(noreplace) %doc %{_datadir}/%{name}/www/help %config(noreplace) %doc %{_datadir}/%{name}/www/robots.txt +%config(noreplace) %doc %{_datadir}/%{name}/www/es/index.html +%config(noreplace) %doc %{_datadir}/%{name}/www/ja/index.html +%config(noreplace) %doc %{_datadir}/%{name}/www/pl/index.html +%config(noreplace) %doc %{_datadir}/%{name}/www/ru/index.html %config(noreplace) %{initdir}/cups %{_bindir}/cupstestppd %{_bindir}/cupstestdsc @@ -420,6 +421,9 @@ rm -rf $RPM_BUILD_ROOT %dir %{_datadir}/cups/templates %config(noreplace) %{_datadir}/cups/templates/*.tmpl %config(noreplace) %{_datadir}/cups/templates/es/*.tmpl +%config(noreplace) %{_datadir}/cups/templates/ja/*.tmpl +%config(noreplace) %{_datadir}/cups/templates/pl/*.tmpl +%config(noreplace) %{_datadir}/cups/templates/ru/*.tmpl %{_datadir}/locale/* %{_datadir}/ppd %dir %attr(1770,root,lp) /var/spool/cups/tmp @@ -461,6 +465,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/php/modules/*.so %changelog +* Thu Mar 5 2009 Tim Waugh 1:1.4-0.b2.8 +- Updated to svn8404. + * Wed Feb 25 2009 Tim Waugh - Added 'Should-Start: portreserve' to the initscript (part of bug #487250). diff --git a/sources b/sources index 970f7f1..31d52f7 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ b0bb017098e8e76b8a25e666c41ce540 postscript.ppd.gz -23f540e6145e4ab3298700d9f496bcd1 cups-1.4b2-source.tar.bz2 +f520304d497111b8421e12a408a8bcda cups-1.4b2-svn8404-source.tar.bz2