rpms/cups/devel .cvsignore, 1.44, 1.45 cups-avahi.patch, 1.3, 1.4 cups-lspp.patch, 1.40, 1.41 cups-no-export-ssllibs.patch, 1.1, 1.2 cups-no-gzip-man.patch, 1.1, 1.2 cups-serverbin-compat.patch, 1.5, 1.6 cups.spec, 1.463, 1.464 sources, 1.47, 1.48 cups-local-protocols.patch, 1.1, NONE cups-str3059.patch, 1.1, NONE cups-str3077.patch, 1.1, NONE cups-str3078.patch, 1.1, NONE
Tim Waugh
twaugh at fedoraproject.org
Thu Mar 5 13:32:01 UTC 2009
Author: twaugh
Update of /cvs/pkgs/rpms/cups/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12129
Modified Files:
.cvsignore cups-avahi.patch cups-lspp.patch
cups-no-export-ssllibs.patch cups-no-gzip-man.patch
cups-serverbin-compat.patch cups.spec sources
Removed Files:
cups-local-protocols.patch cups-str3059.patch
cups-str3077.patch cups-str3078.patch
Log Message:
* Thu Mar 5 2009 Tim Waugh <twaugh at redhat.com> 1:1.4-0.b2.8
- Updated to svn8404.
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/cups/devel/.cvsignore,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- .cvsignore 16 Dec 2008 12:31:52 -0000 1.44
+++ .cvsignore 5 Mar 2009 13:31:30 -0000 1.45
@@ -36,3 +36,4 @@
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
cups-avahi.patch:
Index: cups-avahi.patch
===================================================================
RCS file: /cvs/pkgs/rpms/cups/devel/cups-avahi.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- cups-avahi.patch 12 Feb 2009 14:33:59 -0000 1.3
+++ cups-avahi.patch 5 Mar 2009 13:31:30 -0000 1.4
@@ -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 @@
* unquote() - Unquote a name string.
*/
-@@ -30,7 +31,16 @@
+@@ -32,7 +33,16 @@
#include "backend-private.h"
#include <cups/array.h>
@@ -29,7 +29,7 @@
/*
-@@ -49,7 +59,9 @@ typedef enum
+@@ -51,7 +61,9 @@ typedef enum
typedef struct
{
@@ -39,7 +39,7 @@
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 @@
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 @@
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 @@
/*
-@@ -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 @@
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 @@
- 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 @@
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 @@
/*
* 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 @@
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 @@
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 @@
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 @@
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 @@
/*
* '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 @@
/*
-@@ -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 @@
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 @@
/*
* '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 @@
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 @@
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 @@
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 @@
{
/*
* This is a CUPS printer!
-@@ -758,8 +1116,7 @@ query_callback(
+@@ -765,8 +1118,7 @@ query_callback(
}
}
@@ -731,7 +756,7 @@
}
-@@ -797,6 +1154,35 @@ unquote(char *dst, /* I - Destina
+@@ -804,6 +1156,35 @@ unquote(char *dst, /* I - Destina
}
@@ -767,9 +792,9 @@
/*
* 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 @@
* Do we have <sys/ioctl.h>?
*/
-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 @@
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 <dns_sd.h>
@@ -852,7 +877,7 @@
/*
* '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 @@
/*
* 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 @@
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 @@
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 @@
+ 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 */
cups-lspp.patch:
Index: cups-lspp.patch
===================================================================
RCS file: /cvs/pkgs/rpms/cups/devel/cups-lspp.patch,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- cups-lspp.patch 28 Jan 2009 17:17:46 -0000 1.40
+++ cups-lspp.patch 5 Mar 2009 13:31:30 -0000 1.41
@@ -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 @@
#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 @@
+ ;;
+ 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 @@
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 <libaudit.h>
-+_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 <libaudit.h>
-+_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 <selinux/selinux.h>
-+_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 <selinux/selinux.h>
-+_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 @@
/*
* 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 @@
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 @@
+% End of "$Id$".
+%
+%%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 @@
+% End of "$Id$".
+%
+%%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 @@
+% End of "$Id$".
+%
+%%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/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 @@
/*
-@@ -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 @@
/*
* 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/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 @@
.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 @@
/*
* 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 @@
#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 @@
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 @@
}
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 @@
/*
* '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 @@
};
#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/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 <Location path> definition.
@@ -2036,7 +1535,7 @@
/*
* 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 @@
#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 @@
/*
-@@ -659,6 +670,25 @@ cupsdReadConfiguration(void)
+@@ -665,6 +676,25 @@ cupsdReadConfiguration(void)
RunUser = getuid();
@@ -2080,10 +1579,10 @@
+ }
+#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 @@
/*
* 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 @@
/*
* 'read_policy()' - Read a <Policy name> 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 @@
#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 @@
/*
* 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 @@
* 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 @@
/*
* 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 @@
/*
* 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
}
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 @@
}
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 @@
}
}
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 @@
/*
* 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 @@
/*
* '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 @@
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 @@
/*
* 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 @@
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 @@
/*
* 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 @@
/*
* 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 @@
/*
* Include necessary headers...
*/
-@@ -71,6 +74,14 @@
+@@ -74,6 +77,14 @@
#include <cups/backend.h>
#include <cups/dir.h>
@@ -2774,8 +2273,116 @@
+#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 @@
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 @@
+ 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 @@
+ 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 @@
+ 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 @@
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 @@
+ 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 @@
+ 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 @@
+ {
+ 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 @@
+ {
+ 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 @@
+ 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 @@
+ cupsdClearString(&audit_message);
+ }
+
-+ cupsdCancelJob(job, 0, IPP_JOB_ABORTED);
++ cupsdSetJobState(job, IPP_JOB_ABORTED, CUPSD_JOB_DEFAULT, NULL);
+
+ return ;
+ }
@@ -3014,98 +2639,11 @@
+#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 @@
+#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 @@
} 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 @@
/*
* 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 @@
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 @@
/*
* 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 @@
/*
* '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 @@
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 @@
}
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 */
cups-no-export-ssllibs.patch:
Index: cups-no-export-ssllibs.patch
===================================================================
RCS file: /cvs/pkgs/rpms/cups/devel/cups-no-export-ssllibs.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- cups-no-export-ssllibs.patch 15 Jun 2006 12:16:06 -0000 1.1
+++ cups-no-export-ssllibs.patch 5 Mar 2009 13:31:30 -0000 1.2
@@ -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=""
-
-
-
cups-no-gzip-man.patch:
Index: cups-no-gzip-man.patch
===================================================================
RCS file: /cvs/pkgs/rpms/cups/devel/cups-no-gzip-man.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- cups-no-gzip-man.patch 17 Mar 2006 12:10:57 -0000 1.1
+++ cups-no-gzip-man.patch 5 Mar 2009 13:31:30 -0000 1.2
@@ -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
cups-serverbin-compat.patch:
Index: cups-serverbin-compat.patch
===================================================================
RCS file: /cvs/pkgs/rpms/cups/devel/cups-serverbin-compat.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- cups-serverbin-compat.patch 12 Nov 2008 16:09:54 -0000 1.5
+++ cups-serverbin-compat.patch 5 Mar 2009 13:31:30 -0000 1.6
@@ -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 @@
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 @@
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 @@
*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 @@
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/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 @@
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 @@
+ }
+#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 @@
}
}
-@@ -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 @@
+#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__ */
}
- }
+ /*
Index: cups.spec
===================================================================
RCS file: /cvs/pkgs/rpms/cups/devel/cups.spec,v
retrieving revision 1.463
retrieving revision 1.464
diff -u -r1.463 -r1.464
--- cups.spec 25 Feb 2009 11:27:37 -0000 1.463
+++ cups.spec 5 Mar 2009 13:31:30 -0000 1.464
@@ -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 @@
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 @@
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 @@
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 @@
%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 @@
%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 @@
%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 @@
%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 @@
%{_libdir}/php/modules/*.so
%changelog
+* Thu Mar 5 2009 Tim Waugh <twaugh at redhat.com> 1:1.4-0.b2.8
+- Updated to svn8404.
+
* Wed Feb 25 2009 Tim Waugh <twaugh at redhat.com>
- Added 'Should-Start: portreserve' to the initscript (part of bug #487250).
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/cups/devel/sources,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- sources 16 Dec 2008 12:31:53 -0000 1.47
+++ sources 5 Mar 2009 13:31:30 -0000 1.48
@@ -1,2 +1,2 @@
b0bb017098e8e76b8a25e666c41ce540 postscript.ppd.gz
-23f540e6145e4ab3298700d9f496bcd1 cups-1.4b2-source.tar.bz2
+f520304d497111b8421e12a408a8bcda cups-1.4b2-svn8404-source.tar.bz2
--- cups-local-protocols.patch DELETED ---
--- cups-str3059.patch DELETED ---
--- cups-str3077.patch DELETED ---
--- cups-str3078.patch DELETED ---
More information about the fedora-extras-commits
mailing list