rpms/cups/F-11 cups-0755.patch, NONE, 1.1 cups-dnssd-deviceid.patch, NONE, 1.1 cups-hostnamelookups.patch, NONE, 1.1 cups-hp-deviceid-oid.patch, NONE, 1.1 cups-ricoh-deviceid-oid.patch, NONE, 1.1 cups-snmp-quirks.patch, NONE, 1.1 .cvsignore, 1.48, 1.49 cups-getpass.patch, 1.2, 1.3 cups-lspp.patch, 1.47, 1.48 cups-page-label.patch, 1.1, 1.2 cups-paps.patch, 1.4, 1.5 cups-str3382.patch, 1.1, 1.2 cups.spec, 1.574, 1.575 sources, 1.53, 1.54 cups-CVE-2010-0302.patch, 1.1, NONE cups-str3399.patch, 1.2, NONE cups-str3505.patch, 1.1, NONE cups-str3541.patch, 1.2, NONE

Tim Waugh twaugh at fedoraproject.org
Fri Jun 18 10:41:30 UTC 2010


Author: twaugh

Update of /cvs/pkgs/rpms/cups/F-11
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv18412

Modified Files:
	.cvsignore cups-getpass.patch cups-lspp.patch 
	cups-page-label.patch cups-paps.patch cups-str3382.patch 
	cups.spec sources 
Added Files:
	cups-0755.patch cups-dnssd-deviceid.patch 
	cups-hostnamelookups.patch cups-hp-deviceid-oid.patch 
	cups-ricoh-deviceid-oid.patch cups-snmp-quirks.patch 
Removed Files:
	cups-CVE-2010-0302.patch cups-str3399.patch cups-str3505.patch 
	cups-str3541.patch 
Log Message:
* Fri Jun 18 2010 Tim Waugh <twaugh at redhat.com> 1:1.4.4-1
- 1.4.4.  Fixes several security vulnerabilities (bug #605399):
  CVE-2010-0540, CVE-2010-0542, CVE-2010-1748.  No longer need str3503,
  str3399, str3505, str3541, str3425p2 or CVE-2010-0302 patches.
- Fix lpd provides.
- Added comments for all sources and patches.
- Reset status after successful ipp job (bug #548219, STR #3460).
- Install udev rules in correct place (bug #530378).
- Removed unapplied gnutls-gcrypt-threads patch.  Fixed typos in
  descriptions for lpd and php sub-packages.
- Add an SNMP query for Ricoh's device ID OID (STR #3552).
- Mark DNS-SD Device IDs that have been guessed at with "FZY:1;".
- Add an SNMP query for HP's device ID OID (STR #3552).
- Don't mark initscript as config file.
- Use %{_initddir}, %{_sysconfdir} and SMP make flags.
- Use mode 0755 for binaries and libraries where appropriate.
- Removed use of prereq and buildprereq.
- Fixed use of '%' in changelog.
- Versioned explicit obsoletes/provides.
- Use tabs throughout.
- Install udev rules in correct place (bug #530378).
- Fix locale code for Norwegian (bug #520379).
- Fixed cups.init to be LSB compliant (bug #521641)
- Changed cups.init to be LSB compliant (bug #521641), i.e.
  return code "2" (instead of "3") if invalid arguments
  return code "4" if restarting service under nonprivileged user
  return code "5" if cupsd not exist or is not executable
  return code "6" if cupsd.conf not exist
- Use password-auth common PAM configuration instead of system-auth
  when available.
- Fixed 'service cups status' to check for correct subsys name
  (bug #521641).
- Renumbered patches and sources.
- Use upstream method of handling SNMP quirks in PPDs (STR #3551,
  bug #581825).
- Added back still useful str3425.patch.
  Second part of STR #3425 is still not fixed in 1.4.3
- Use numeric addresses for interfaces unless HostNameLookups are
  turned on (bug #583054).
- Handle SNMP supply level quirks (bug #581825).
- No longer need CVE-2009-3553, str3381, str3390, str3391,
  str3403, str3407, str3413, str3418, str3422, str3425,
  str3428, str3431, str3435, str3436, str3439, str3440,
  str3442, str3448, str3458, str3460, cups-sidechannel-intrs,
  negative-snmp-string-length, cups-media-empty-warning patches.


cups-0755.patch:
 Makedefs.in |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- NEW FILE cups-0755.patch ---
diff -up cups-1.4.2/Makedefs.in.0755 cups-1.4.2/Makedefs.in
--- cups-1.4.2/Makedefs.in.0755	2010-01-13 17:06:48.507913044 +0000
+++ cups-1.4.2/Makedefs.in	2010-01-13 17:07:10.049912905 +0000
@@ -41,13 +41,13 @@ SHELL		=	/bin/sh
 # Installation programs...
 #
 
-INSTALL_BIN	=	$(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
+INSTALL_BIN	=	$(LIBTOOL) $(INSTALL) -c -m 755 @INSTALL_STRIP@
 INSTALL_CONFIG	=	$(INSTALL) -c -m @CUPS_CONFIG_FILE_PERM@
 INSTALL_DATA	=	$(INSTALL) -c -m 444
 INSTALL_DIR	=	$(INSTALL) -d
-INSTALL_LIB	=	$(LIBTOOL) $(INSTALL) -c -m 555 @INSTALL_STRIP@
+INSTALL_LIB	=	$(LIBTOOL) $(INSTALL) -c -m 755 @INSTALL_STRIP@
 INSTALL_MAN	=	$(INSTALL) -c -m 444
-INSTALL_SCRIPT	=	$(INSTALL) -c -m 555
+INSTALL_SCRIPT	=	$(INSTALL) -c -m 755
 
 #
 # Default user, group, and system groups for the scheduler...

cups-dnssd-deviceid.patch:
 dnssd.c |   15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

--- NEW FILE cups-dnssd-deviceid.patch ---
diff -up cups-1.4.3/backend/dnssd.c.dnssd-deviceid.patch cups-1.4.3/backend/dnssd.c
--- cups-1.4.3/backend/dnssd.c.dnssd-deviceid.patch	2010-04-16 19:36:12.226148774 +0100
+++ cups-1.4.3/backend/dnssd.c	2010-04-16 19:39:53.314148240 +0100
@@ -1192,15 +1192,22 @@ find_device (cups_array_t *devices,
       if (device->device_id)
         free(device->device_id);
 
+      if (device_id[0])
+      {
+	  /* Mark this as the real device ID. */
+	  ptr = device_id + strlen(device_id);
+	  snprintf(ptr, sizeof(device_id) - (ptr - device_id), "FZY:0;");
+      }
+
       if (!device_id[0] && strcmp(model, "Unknown"))
       {
         if (make_and_model[0])
-	  snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;",
+	  snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;FZY:1;",
 	           make_and_model, model);
         else if (!strncasecmp(model, "designjet ", 10))
-	  snprintf(device_id, sizeof(device_id), "MFG:HP;MDL:%s", model + 10);
+	  snprintf(device_id, sizeof(device_id), "MFG:HP;MDL:%s;FZY:1;", model + 10);
         else if (!strncasecmp(model, "stylus ", 7))
-	  snprintf(device_id, sizeof(device_id), "MFG:EPSON;MDL:%s", model + 7);
+	  snprintf(device_id, sizeof(device_id), "MFG:EPSON;MDL:%s;FZY:1;", model + 7);
         else if ((ptr = strchr(model, ' ')) != NULL)
 	{
 	 /*
@@ -1210,7 +1217,7 @@ find_device (cups_array_t *devices,
           memcpy(make_and_model, model, ptr - model);
 	  make_and_model[ptr - model] = '\0';
 
-	  snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s",
+	  snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;FZY:1;",
 		   make_and_model, ptr + 1);
         }
       }

cups-hostnamelookups.patch:
 network.c |    6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

--- NEW FILE cups-hostnamelookups.patch ---
diff -up cups-1.4.4/scheduler/network.c.hostnamelookups cups-1.4.4/scheduler/network.c
--- cups-1.4.4/scheduler/network.c.hostnamelookups	2010-04-09 23:42:09.000000000 +0100
+++ cups-1.4.4/scheduler/network.c	2010-06-18 11:13:02.331979867 +0100
@@ -154,11 +154,7 @@ cupsdNetIFUpdate(void)
     * Try looking up the hostname for the address as needed...
     */
 
-#ifdef __APPLE__
     if (HostNameLookups)
-#else
-    if (HostNameLookups || RemotePort)
-#endif /* __APPLE__ */
       httpAddrLookup((http_addr_t *)(addr->ifa_addr), hostname,
                      sizeof(hostname));
     else
@@ -166,7 +162,7 @@ cupsdNetIFUpdate(void)
      /*
       * Map the default server address and localhost to the server name
       * and localhost, respectively; for all other addresses, use the
-      * dotted notation...
+      * numeric address...
       */
 
       if (httpAddrLocalhost((http_addr_t *)(addr->ifa_addr)))

cups-hp-deviceid-oid.patch:
 snmp.c |    4 ++++
 1 file changed, 4 insertions(+)

--- NEW FILE cups-hp-deviceid-oid.patch ---
diff -up cups-1.4.3/backend/snmp.c.hp-deviceid-oid cups-1.4.3/backend/snmp.c
--- cups-1.4.3/backend/snmp.c.hp-deviceid-oid	2009-12-08 02:13:42.000000000 +0000
+++ cups-1.4.3/backend/snmp.c	2010-04-13 15:00:26.486148914 +0100
@@ -194,6 +194,7 @@ static const int	UriOID[] = { CUPS_OID_p
 static const int	LexmarkProductOID[] = { 1,3,6,1,4,1,641,2,1,2,1,2,1,-1 };
 static const int	LexmarkProductOID2[] = { 1,3,6,1,4,1,674,10898,100,2,1,2,1,2,1,-1 };
 static const int	LexmarkDeviceIdOID[] = { 1,3,6,1,4,1,641,2,1,2,1,3,1,-1 };
+static const int	HPDeviceIdOID[] = { 1,3,6,1,4,1,11,2,3,9,1,1,7,0,-1 };
 static const int	XeroxProductOID[] = { 1,3,6,1,4,1,128,2,1,3,1,2,0,-1 };
 static cups_array_t	*DeviceURIs = NULL;
 static int		HostNameLookups = 0;
@@ -1003,6 +1004,9 @@ read_snmp_response(int fd)		/* I - SNMP 
 	_cupsSNMPWrite(fd, &(packet.address), CUPS_SNMP_VERSION_1,
 	               packet.community, CUPS_ASN1_GET_REQUEST,
 		       DEVICE_PRODUCT, XeroxProductOID);
+	_cupsSNMPWrite(fd, &(packet.address), CUPS_SNMP_VERSION_1,
+		       packet.community, CUPS_ASN1_GET_REQUEST,
+		       DEVICE_ID, HPDeviceIdOID);
         break;
 
     case DEVICE_DESCRIPTION :

cups-ricoh-deviceid-oid.patch:
 snmp.c |    4 ++++
 1 file changed, 4 insertions(+)

--- NEW FILE cups-ricoh-deviceid-oid.patch ---
diff -up cups-1.4.3/backend/snmp.c.ricoh-deviceid-oid cups-1.4.3/backend/snmp.c
--- cups-1.4.3/backend/snmp.c.ricoh-deviceid-oid	2010-05-11 17:30:57.266120467 +0100
+++ cups-1.4.3/backend/snmp.c	2010-05-11 17:31:16.267120141 +0100
@@ -195,6 +195,7 @@ static const int	LexmarkProductOID[] = {
 static const int	LexmarkProductOID2[] = { 1,3,6,1,4,1,674,10898,100,2,1,2,1,2,1,-1 };
 static const int	LexmarkDeviceIdOID[] = { 1,3,6,1,4,1,641,2,1,2,1,3,1,-1 };
 static const int	HPDeviceIdOID[] = { 1,3,6,1,4,1,11,2,3,9,1,1,7,0,-1 };
+static const int	RicohDeviceIdOID[] = { 1,3,6,1,4,1,367,3,2,1,1,1,11,0,-1 };
 static const int	XeroxProductOID[] = { 1,3,6,1,4,1,128,2,1,3,1,2,0,-1 };
 static cups_array_t	*DeviceURIs = NULL;
 static int		HostNameLookups = 0;
@@ -1002,6 +1003,9 @@ read_snmp_response(int fd)		/* I - SNMP 
 	               packet.community, CUPS_ASN1_GET_REQUEST,
 		       DEVICE_ID, LexmarkDeviceIdOID);
 	_cupsSNMPWrite(fd, &(packet.address), CUPS_SNMP_VERSION_1,
+		       packet.community, CUPS_ASN1_GET_REQUEST,
+		       DEVICE_ID, RicohDeviceIdOID);
+	_cupsSNMPWrite(fd, &(packet.address), CUPS_SNMP_VERSION_1,
 	               packet.community, CUPS_ASN1_GET_REQUEST,
 		       DEVICE_PRODUCT, XeroxProductOID);
 	_cupsSNMPWrite(fd, &(packet.address), CUPS_SNMP_VERSION_1,

cups-snmp-quirks.patch:
 snmp-supplies.c |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

--- NEW FILE cups-snmp-quirks.patch ---
diff -up cups-1.4.2/backend/snmp-supplies.c.snmp-quirks cups-1.4.2/backend/snmp-supplies.c
--- cups-1.4.2/backend/snmp-supplies.c.snmp-quirks	2010-06-09 15:55:05.320019839 +0100
+++ cups-1.4.2/backend/snmp-supplies.c	2010-06-09 15:55:15.638146234 +0100
@@ -38,6 +38,13 @@
 
 
 /*
+ * Printer quirks...
+ */
+
+#define QUIRK_CAPACITY	(1<<0)
+
+
+/*
  * Local structures...
  */
 
@@ -57,6 +64,12 @@ typedef struct				/**** Printer state ta
   const char	*keyword;		/* IPP printer-state-reasons keyword */
 } backend_state_t;
 
+typedef struct				/**** Quirk names table ****/
+{
+  int		bit;			/* Quirk bit */
+  const char	*keyword;		/* cupsSNMPQuirks keyword */
+} quirk_name_t;
+
 
 /*
  * Local globals...
@@ -68,6 +81,7 @@ static int		current_state = -1;
 static int		charset = -1;	/* Character set for supply names */
 static int		num_supplies = 0;
 					/* Number of supplies found */
+static int		quirks = 0;	/* Printer quirks */
 static backend_supplies_t supplies[CUPS_MAX_SUPPLIES];
 					/* Supply information */
 
@@ -153,6 +167,15 @@ static const backend_state_t const print
 			  { CUPS_TC_outputFull, "output-area-full-warning" }
 			};
 
+static const quirk_name_t const quirk_names[] =
+			{
+			 /*
+			  * The prtMarkerSuppliesLevel values are
+			  * percentages, not levels relative to the
+			  * stated capacity.
+			  */
+			  { QUIRK_CAPACITY, "capacity" }
+			};
 
 /*
  * Local functions...
@@ -208,6 +231,9 @@ backendSNMPSupplies(
       if (i)
         *ptr++ = ',';
 
+      if (quirks & QUIRK_CAPACITY)
+	supplies[i].max_capacity = 100;
+
       if (supplies[i].max_capacity > 0)
         sprintf(ptr, "%d", 100 * supplies[i].level / supplies[i].max_capacity);
       else
@@ -305,6 +331,7 @@ backend_init_supplies(
     http_addr_t *addr)			/* I - Printer address */
 {
   int		i,			/* Looping var */
+		len,			/* Quirk name length */
 		type;			/* Current marker type */
   cups_file_t	*cachefile;		/* Cache file */
   const char	*cachedir;		/* CUPS_CACHEDIR value */
@@ -366,6 +393,7 @@ backend_init_supplies(
   current_state = -1;
   num_supplies  = -1;
   charset       = -1;
+  quirks	= 0;
 
   memset(supplies, 0, sizeof(supplies));
 
@@ -381,6 +409,34 @@ backend_init_supplies(
     return;
   }
 
+  if (ppd &&
+      (ppdattr = ppdFindAttr(ppd, "cupsSNMPQuirks", NULL)) != NULL &&
+      ppdattr->value)
+  {
+    ptr = ppdattr->value;
+    while (*ptr != '\0')
+    {
+     /*
+      * Match keyword against quirk_names table.
+      */
+
+      for (i = 0; i < sizeof (quirk_names) / sizeof (quirk_names[0]); i++)
+      {
+	len = strlen (quirk_names[i].keyword);
+	if (!strncmp (value, quirk_names[i].keyword, len) &&
+	    (value[len] == '\0' || value[len] == ' '))
+	  quirks |= quirk_names[i].bit;
+      }
+
+     /*
+      * Advance to next keyword.
+      */
+
+      ptr += strcspn (ptr, " ");
+      ptr += strspn (ptr, " ");
+    }
+  }
+
   ppdClose(ppd);
 
  /*


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/cups/F-11/.cvsignore,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -p -r1.48 -r1.49
--- .cvsignore	10 Nov 2009 13:26:17 -0000	1.48
+++ .cvsignore	18 Jun 2010 10:41:28 -0000	1.49
@@ -43,3 +43,4 @@ cups-1.4b2-source.tar.bz2
 cups-1.4b2-svn8404-source.tar.bz2
 cups-1.4b2-source.tar.bz2
 cups-1.4b2-svn8404-source.tar.bz2
+cups-1.4.4-source.tar.bz2

cups-getpass.patch:
 usersys.c |   26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

Index: cups-getpass.patch
===================================================================
RCS file: /cvs/pkgs/rpms/cups/F-11/cups-getpass.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- cups-getpass.patch	13 Nov 2006 16:26:25 -0000	1.2
+++ cups-getpass.patch	18 Jun 2010 10:41:29 -0000	1.3
@@ -1,6 +1,7 @@
---- cups-1.2.6/cups/usersys.c.getpass	2006-08-29 16:51:19.000000000 +0100
-+++ cups-1.2.6/cups/usersys.c	2006-11-13 16:19:32.000000000 +0000
-@@ -46,6 +46,8 @@
+diff -up cups-1.4.4/cups/usersys.c.getpass cups-1.4.4/cups/usersys.c
+--- cups-1.4.4/cups/usersys.c.getpass	2010-03-30 23:07:33.000000000 +0100
++++ cups-1.4.4/cups/usersys.c	2010-06-18 09:38:08.368096897 +0100
+@@ -41,6 +41,8 @@
  #include "globals.h"
  #include <stdlib.h>
  #include <sys/stat.h>
@@ -8,11 +9,11 @@
 +#include <signal.h>
  #ifdef WIN32
  #  include <windows.h>
- #endif /* WIN32 */
-@@ -455,7 +457,29 @@
- const char *				/* O - Password */
- _cupsGetPassword(const char *prompt)	/* I - Prompt string */
- {
+ #else
+@@ -406,7 +408,29 @@ _cupsGetPassword(const char *prompt)	/* 
+   * Use the standard getpass function to get a password from the console.
+   */
+ 
 -  return (getpass(prompt));
 +  static char password[100];
 +  struct termios oldtio, newtio;
@@ -37,6 +38,6 @@
 +  else
 +    password[0] ='\0';
 +  return password;
- }
  #endif /* WIN32 */
+ }
  

cups-lspp.patch:
 Makedefs.in                 |    4 
 config-scripts/cups-lspp.m4 |   36 +++
 config.h.in                 |    7 
 configure.in                |    2 
 cups/cups.h                 |    9 
 data/Makefile               |    5 
 data/mls                    |  261 +++++++++++++++++++++++++
 data/selinux                |  261 +++++++++++++++++++++++++
 data/te                     |  261 +++++++++++++++++++++++++
 filter/common.c             |  139 +++++++++++++
 filter/pstops.c             |  133 ++++++++++++
 scheduler/client.c          |  171 ++++++++++++++++
 scheduler/client.h          |   14 +
 scheduler/conf.c            |   56 +++++
 scheduler/conf.h            |    9 
 scheduler/ipp.c             |  456 ++++++++++++++++++++++++++++++++++++++++++++
 scheduler/job.c             |  303 ++++++++++++++++++++++++++++-
 scheduler/job.h             |   11 +
 scheduler/main.c            |   32 +++
 scheduler/printers.c        |   53 +++++
 20 files changed, 2215 insertions(+), 8 deletions(-)

Index: cups-lspp.patch
===================================================================
RCS file: /cvs/pkgs/rpms/cups/F-11/cups-lspp.patch,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -p -r1.47 -r1.48
--- cups-lspp.patch	23 Nov 2009 13:11:16 -0000	1.47
+++ cups-lspp.patch	18 Jun 2010 10:41:29 -0000	1.48
@@ -1,7 +1,7 @@
-diff -up cups-1.4.1/config.h.in.lspp cups-1.4.1/config.h.in
---- cups-1.4.1/config.h.in.lspp	2009-09-14 16:59:30.108873598 +0100
-+++ cups-1.4.1/config.h.in	2009-09-14 16:59:30.122873526 +0100
-@@ -619,6 +619,13 @@
+diff -up cups-1.4.4/config.h.in.lspp cups-1.4.4/config.h.in
+--- cups-1.4.4/config.h.in.lspp	2010-06-18 09:38:22.645104842 +0100
++++ cups-1.4.4/config.h.in	2010-06-18 09:38:22.681104733 +0100
+@@ -646,6 +646,13 @@
  #undef HAVE_TCPD_H
  
  
@@ -15,9 +15,9 @@ diff -up cups-1.4.1/config.h.in.lspp cup
  #endif /* !_CUPS_CONFIG_H_ */
  
  /*
-diff -up /dev/null cups-1.4.1/config-scripts/cups-lspp.m4
---- /dev/null	2009-09-14 09:02:25.290577766 +0100
-+++ cups-1.4.1/config-scripts/cups-lspp.m4	2009-09-14 16:59:30.124872629 +0100
+diff -up cups-1.4.4/config-scripts/cups-lspp.m4.lspp cups-1.4.4/config-scripts/cups-lspp.m4
+--- cups-1.4.4/config-scripts/cups-lspp.m4.lspp	2010-06-18 09:38:22.681104733 +0100
++++ cups-1.4.4/config-scripts/cups-lspp.m4	2010-06-18 09:38:22.681104733 +0100
 @@ -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.4.1/config-scr
 +            ;;
 +    esac
 +fi
-diff -up cups-1.4.1/configure.in.lspp cups-1.4.1/configure.in
---- cups-1.4.1/configure.in.lspp	2008-11-14 19:32:22.000000000 +0000
-+++ cups-1.4.1/configure.in	2009-09-14 16:59:30.125879233 +0100
+diff -up cups-1.4.4/configure.in.lspp cups-1.4.4/configure.in
+--- cups-1.4.4/configure.in.lspp	2010-06-16 01:39:16.000000000 +0100
++++ cups-1.4.4/configure.in	2010-06-18 09:38:22.682104565 +0100
 @@ -42,6 +42,8 @@ sinclude(config-scripts/cups-pap.m4)
  sinclude(config-scripts/cups-pdf.m4)
  sinclude(config-scripts/cups-scripting.m4)
@@ -67,9 +67,9 @@ diff -up cups-1.4.1/configure.in.lspp cu
  INSTALL_LANGUAGES=""
  UNINSTALL_LANGUAGES=""
  LANGFILES=""
-diff -up cups-1.4.1/cups/cups.h.lspp cups-1.4.1/cups/cups.h
---- cups-1.4.1/cups/cups.h.lspp	2009-08-28 18:51:05.000000000 +0100
-+++ cups-1.4.1/cups/cups.h	2009-09-14 16:59:30.127873074 +0100
+diff -up cups-1.4.4/cups/cups.h.lspp cups-1.4.4/cups/cups.h
+--- cups-1.4.4/cups/cups.h.lspp	2010-04-23 19:56:34.000000000 +0100
++++ cups-1.4.4/cups/cups.h	2010-06-18 09:38:22.682104565 +0100
 @@ -15,6 +15,9 @@
   *   This file is subject to the Apple OS-Developed Software exception.
   */
@@ -80,7 +80,7 @@ diff -up cups-1.4.1/cups/cups.h.lspp cup
  #ifndef _CUPS_CUPS_H_
  #  define _CUPS_CUPS_H_
  
-@@ -84,6 +87,12 @@ extern "C" {
+@@ -86,6 +89,12 @@ extern "C" {
  #  define CUPS_WHICHJOBS_COMPLETED 1
  
  
@@ -93,9 +93,9 @@ diff -up cups-1.4.1/cups/cups.h.lspp cup
  /*
   * Types and structures...
   */
-diff -up cups-1.4.1/data/Makefile.lspp cups-1.4.1/data/Makefile
---- cups-1.4.1/data/Makefile.lspp	2008-11-12 19:30:57.000000000 +0000
-+++ cups-1.4.1/data/Makefile	2009-09-14 16:59:30.129874067 +0100
+diff -up cups-1.4.4/data/Makefile.lspp cups-1.4.4/data/Makefile
+--- cups-1.4.4/data/Makefile.lspp	2008-11-12 19:30:57.000000000 +0000
++++ cups-1.4.4/data/Makefile	2010-06-18 09:38:22.686104153 +0100
 @@ -25,7 +25,10 @@ BANNERS	=	\
  		secret \
  		standard \
@@ -108,9 +108,9 @@ diff -up cups-1.4.1/data/Makefile.lspp c
  
  CHARMAPS =	\
  		euc-cn.txt \
-diff -up /dev/null cups-1.4.1/data/mls
---- /dev/null	2009-09-14 09:02:25.290577766 +0100
-+++ cups-1.4.1/data/mls	2009-09-14 16:59:30.131873095 +0100
+diff -up cups-1.4.4/data/mls.lspp cups-1.4.4/data/mls
+--- cups-1.4.4/data/mls.lspp	2010-06-18 09:38:22.686104153 +0100
++++ cups-1.4.4/data/mls	2010-06-18 09:38:22.687104566 +0100
 @@ -0,0 +1,261 @@
 +%!PS-Adobe-3.0
 +%%BoundingBox: 0 0 612 792
@@ -373,9 +373,9 @@ diff -up /dev/null cups-1.4.1/data/mls
 +% End of "$Id$".
 +%
 +%%EOF
-diff -up /dev/null cups-1.4.1/data/selinux
---- /dev/null	2009-09-14 09:02:25.290577766 +0100
-+++ cups-1.4.1/data/selinux	2009-09-14 16:59:30.133872489 +0100
+diff -up cups-1.4.4/data/selinux.lspp cups-1.4.4/data/selinux
+--- cups-1.4.4/data/selinux.lspp	2010-06-18 09:38:22.687104566 +0100
++++ cups-1.4.4/data/selinux	2010-06-18 09:38:22.687104566 +0100
 @@ -0,0 +1,261 @@
 +%!PS-Adobe-3.0
 +%%BoundingBox: 0 0 612 792
@@ -638,9 +638,9 @@ diff -up /dev/null cups-1.4.1/data/selin
 +% End of "$Id$".
 +%
 +%%EOF
-diff -up /dev/null cups-1.4.1/data/te
---- /dev/null	2009-09-14 09:02:25.290577766 +0100
-+++ cups-1.4.1/data/te	2009-09-14 16:59:30.135873116 +0100
+diff -up cups-1.4.4/data/te.lspp cups-1.4.4/data/te
+--- cups-1.4.4/data/te.lspp	2010-06-18 09:38:22.688105441 +0100
++++ cups-1.4.4/data/te	2010-06-18 09:38:22.688105441 +0100
 @@ -0,0 +1,261 @@
 +%!PS-Adobe-3.0
 +%%BoundingBox: 0 0 612 792
@@ -903,9 +903,9 @@ diff -up /dev/null cups-1.4.1/data/te
 +% End of "$Id$".
 +%
 +%%EOF
-diff -up cups-1.4.1/filter/common.c.lspp cups-1.4.1/filter/common.c
---- cups-1.4.1/filter/common.c.lspp	2007-07-11 22:46:42.000000000 +0100
-+++ cups-1.4.1/filter/common.c	2009-09-14 16:59:30.137872500 +0100
+diff -up cups-1.4.4/filter/common.c.lspp cups-1.4.4/filter/common.c
+--- cups-1.4.4/filter/common.c.lspp	2007-07-11 22:46:42.000000000 +0100
++++ cups-1.4.4/filter/common.c	2010-06-18 09:38:22.689104687 +0100
 @@ -30,6 +30,12 @@
   * Include necessary headers...
   */
@@ -1074,10 +1074,10 @@ diff -up cups-1.4.1/filter/common.c.lspp
  
  
  /*
-diff -up cups-1.4.1/filter/pstops.c.lspp cups-1.4.1/filter/pstops.c
---- cups-1.4.1/filter/pstops.c.lspp	2009-09-14 16:59:29.803998275 +0100
-+++ cups-1.4.1/filter/pstops.c	2009-09-14 16:59:30.141872862 +0100
-@@ -3242,6 +3242,18 @@ write_label_prolog(pstops_doc_t *doc,	/*
+diff -up cups-1.4.4/filter/pstops.c.lspp cups-1.4.4/filter/pstops.c
+--- cups-1.4.4/filter/pstops.c.lspp	2010-06-18 09:38:22.579980230 +0100
++++ cups-1.4.4/filter/pstops.c	2010-06-18 09:38:22.693979174 +0100
+@@ -3314,6 +3314,18 @@ write_label_prolog(pstops_doc_t *doc,	/*
  {
    const char	*classification;	/* CLASSIFICATION environment variable */
    const char	*ptr;			/* Temporary string pointer */
@@ -1096,7 +1096,7 @@ diff -up cups-1.4.1/filter/pstops.c.lspp
  
  
   /*
-@@ -3264,6 +3276,124 @@ write_label_prolog(pstops_doc_t *doc,	/*
+@@ -3336,6 +3348,124 @@ write_label_prolog(pstops_doc_t *doc,	/*
      return;
    }
  
@@ -1221,7 +1221,7 @@ diff -up cups-1.4.1/filter/pstops.c.lspp
   /*
    * Set the classification + page label string...
    */
-@@ -3342,7 +3472,10 @@ write_label_prolog(pstops_doc_t *doc,	/*
+@@ -3414,7 +3544,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");
@@ -1232,9 +1232,9 @@ diff -up cups-1.4.1/filter/pstops.c.lspp
  
  
  /*
-diff -up cups-1.4.1/Makedefs.in.lspp cups-1.4.1/Makedefs.in
---- cups-1.4.1/Makedefs.in.lspp	2009-09-14 16:59:30.024872775 +0100
-+++ cups-1.4.1/Makedefs.in	2009-09-14 16:59:30.143872406 +0100
+diff -up cups-1.4.4/Makedefs.in.lspp cups-1.4.4/Makedefs.in
+--- cups-1.4.4/Makedefs.in.lspp	2010-06-18 09:38:22.654104605 +0100
++++ cups-1.4.4/Makedefs.in	2010-06-18 09:38:22.698980378 +0100
 @@ -146,7 +146,7 @@ LIBCUPSORDER	=	@LIBCUPSORDER@
  LIBCUPSIMAGEORDER =	@LIBCUPSIMAGEORDER@
  LINKCUPS	=	@LINKCUPS@ $(SSLLIBS) $(DNSSDLIBS)
@@ -1253,9 +1253,9 @@ diff -up cups-1.4.1/Makedefs.in.lspp cup
  .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.4.1/scheduler/client.c.lspp cups-1.4.1/scheduler/client.c
---- cups-1.4.1/scheduler/client.c.lspp	2009-07-15 00:02:05.000000000 +0100
-+++ cups-1.4.1/scheduler/client.c	2009-09-14 16:59:30.148872510 +0100
+diff -up cups-1.4.4/scheduler/client.c.lspp cups-1.4.4/scheduler/client.c
+--- cups-1.4.4/scheduler/client.c.lspp	2010-04-23 19:56:34.000000000 +0100
++++ cups-1.4.4/scheduler/client.c	2010-06-18 09:38:22.705980063 +0100
 @@ -44,6 +44,7 @@
   *   valid_host()           - Is the Host: field valid?
   *   write_file()           - Send a file via HTTP.
@@ -1425,7 +1425,7 @@ diff -up cups-1.4.1/scheduler/client.c.l
  	  }
  
  	  if (con->http.state != HTTP_POST_SEND)
-@@ -4472,6 +4599,50 @@ make_certificate(cupsd_client_t *con)	/*
+@@ -4481,6 +4608,50 @@ make_certificate(cupsd_client_t *con)	/*
  #endif /* HAVE_SSL */
  
  
@@ -1476,9 +1476,9 @@ diff -up cups-1.4.1/scheduler/client.c.l
  /*
   * 'pipe_command()' - Pipe the output of a command to the remote client.
   */
-diff -up cups-1.4.1/scheduler/client.h.lspp cups-1.4.1/scheduler/client.h
---- cups-1.4.1/scheduler/client.h.lspp	2009-05-26 23:01:23.000000000 +0100
-+++ cups-1.4.1/scheduler/client.h	2009-09-14 16:59:30.150872942 +0100
+diff -up cups-1.4.4/scheduler/client.h.lspp cups-1.4.4/scheduler/client.h
+--- cups-1.4.4/scheduler/client.h.lspp	2009-05-26 23:01:23.000000000 +0100
++++ cups-1.4.4/scheduler/client.h	2010-06-18 09:38:22.711104323 +0100
 @@ -18,6 +18,13 @@
  #endif /* HAVE_AUTHORIZATION_H */
  
@@ -1514,9 +1514,9 @@ diff -up cups-1.4.1/scheduler/client.h.l
  
  
  /*
-diff -up cups-1.4.1/scheduler/conf.c.lspp cups-1.4.1/scheduler/conf.c
---- cups-1.4.1/scheduler/conf.c.lspp	2009-09-14 16:59:29.837998036 +0100
-+++ cups-1.4.1/scheduler/conf.c	2009-09-14 16:59:30.155872264 +0100
+diff -up cups-1.4.4/scheduler/conf.c.lspp cups-1.4.4/scheduler/conf.c
+--- cups-1.4.4/scheduler/conf.c.lspp	2010-06-18 09:38:22.526979999 +0100
++++ cups-1.4.4/scheduler/conf.c	2010-06-18 09:38:22.713979624 +0100
 @@ -29,6 +29,7 @@
   *   read_configuration()     - Read a configuration file.
   *   read_location()          - Read a <Location path> definition.
@@ -1535,7 +1535,7 @@ diff -up cups-1.4.1/scheduler/conf.c.lsp
  
  /*
   * Configuration variable structure...
-@@ -174,6 +178,10 @@ static const cupsd_var_t	variables[] =
+@@ -172,6 +176,10 @@ static const cupsd_var_t	variables[] =
  #  if defined(HAVE_LIBSSL) || defined(HAVE_GNUTLS)
    { "ServerKey",		&ServerKey,		CUPSD_VARTYPE_PATHNAME },
  #  endif /* HAVE_LIBSSL || HAVE_GNUTLS */
@@ -1546,7 +1546,7 @@ diff -up cups-1.4.1/scheduler/conf.c.lsp
  #endif /* HAVE_SSL */
    { "ServerName",		&ServerName,		CUPSD_VARTYPE_STRING },
    { "ServerRoot",		&ServerRoot,		CUPSD_VARTYPE_PATHNAME },
-@@ -432,6 +440,9 @@ cupsdReadConfiguration(void)
+@@ -430,6 +438,9 @@ cupsdReadConfiguration(void)
    const char	*tmpdir;		/* TMPDIR environment variable */
    struct stat	tmpinfo;		/* Temporary directory info */
    cupsd_policy_t *p;			/* Policy */
@@ -1556,7 +1556,7 @@ diff -up cups-1.4.1/scheduler/conf.c.lsp
  
  
   /*
-@@ -718,6 +729,25 @@ cupsdReadConfiguration(void)
+@@ -713,6 +724,25 @@ cupsdReadConfiguration(void)
  
    RunUser = getuid();
  
@@ -1582,7 +1582,7 @@ diff -up cups-1.4.1/scheduler/conf.c.lsp
    cupsdLogMessage(CUPSD_LOG_INFO, "Remote access is %s.",
                    RemotePort ? "enabled" : "disabled");
  
-@@ -1083,11 +1113,23 @@ cupsdReadConfiguration(void)
+@@ -1081,11 +1111,23 @@ cupsdReadConfiguration(void)
    * Update classification setting as needed...
    */
  
@@ -1607,7 +1607,7 @@ diff -up cups-1.4.1/scheduler/conf.c.lsp
  
   /*
    * Check the MaxClients setting, and then allocate memory for it...
-@@ -3646,6 +3688,18 @@ read_location(cups_file_t *fp,		/* I - C
+@@ -3644,6 +3686,18 @@ read_location(cups_file_t *fp,		/* I - C
    return ((FatalErrors & CUPSD_FATAL_CONFIG) ? 0 : linenum);
  }
  
@@ -1626,10 +1626,10 @@ diff -up cups-1.4.1/scheduler/conf.c.lsp
  
  /*
   * 'read_policy()' - Read a <Policy name> definition.
-diff -up cups-1.4.1/scheduler/conf.h.lspp cups-1.4.1/scheduler/conf.h
---- cups-1.4.1/scheduler/conf.h.lspp	2009-09-14 16:59:29.839997456 +0100
-+++ cups-1.4.1/scheduler/conf.h	2009-09-14 16:59:30.157872484 +0100
-@@ -253,6 +253,12 @@ VAR char		*ServerKey		VALUE(NULL);
+diff -up cups-1.4.4/scheduler/conf.h.lspp cups-1.4.4/scheduler/conf.h
+--- cups-1.4.4/scheduler/conf.h.lspp	2010-06-18 09:38:22.527979881 +0100
++++ cups-1.4.4/scheduler/conf.h	2010-06-18 09:38:22.715979172 +0100
+@@ -250,6 +250,12 @@ VAR char		*ServerKey		VALUE(NULL);
  VAR int			SSLOptions		VALUE(CUPSD_SSL_NONE);
  					/* SSL/TLS options */
  #endif /* HAVE_SSL */
@@ -1642,7 +1642,7 @@ diff -up cups-1.4.1/scheduler/conf.h.lsp
  
  #ifdef HAVE_LAUNCHD
  VAR int			LaunchdTimeout		VALUE(DEFAULT_KEEPALIVE);
-@@ -271,6 +277,9 @@ VAR char		*SystemGroupAuthKey	VALUE(NULL
+@@ -266,6 +272,9 @@ VAR char		*SystemGroupAuthKey	VALUE(NULL
  					/* System group auth key */
  #endif /* HAVE_AUTHORIZATION_H */
  
@@ -1652,9 +1652,9 @@ diff -up cups-1.4.1/scheduler/conf.h.lsp
  
  /*
   * Prototypes...
-diff -up cups-1.4.1/scheduler/ipp.c.lspp cups-1.4.1/scheduler/ipp.c
---- cups-1.4.1/scheduler/ipp.c.lspp	2009-09-14 16:59:29.974871379 +0100
-+++ cups-1.4.1/scheduler/ipp.c	2009-09-14 16:59:30.168872218 +0100
+diff -up cups-1.4.4/scheduler/ipp.c.lspp cups-1.4.4/scheduler/ipp.c
+--- cups-1.4.4/scheduler/ipp.c.lspp	2010-06-18 09:38:22.599103898 +0100
++++ cups-1.4.4/scheduler/ipp.c	2010-06-18 09:39:08.308979874 +0100
 @@ -41,6 +41,7 @@
   *   cancel_all_jobs()           - Cancel all print jobs.
   *   cancel_job()                - Cancel a print job.
@@ -1698,10 +1698,10 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
  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);
-@@ -1338,6 +1353,21 @@ add_job(cupsd_client_t  *con,		/* I - Cl
-   int		kbytes;			/* Size of print file */
-   int		i;			/* Looping var */
-   int		lowerpagerange;		/* Page range bound */
+@@ -1355,6 +1370,21 @@ add_job(cupsd_client_t  *con,		/* I - Cl
+   ipp_attribute_t *media_col,		/* media-col attribute */
+ 		*media_margin;		/* media-*-margin attribute */
+   ipp_t		*unsup_col;		/* media-col in unsupported response */
 +#ifdef WITH_LSPP
 +  char		*audit_message;		/* Audit message string */
 +  char		*printerfile;		/* device file pointed to by the printer */
@@ -1720,9 +1720,9 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
  
  
    cupsdLogMessage(CUPSD_LOG_DEBUG2, "add_job(%p[%d], %p(%s), %p(%s/%s))",
-@@ -1554,6 +1584,104 @@ add_job(cupsd_client_t  *con,		/* I - Cl
+@@ -1625,6 +1655,104 @@ add_job(cupsd_client_t  *con,		/* I - Cl
      ippAddString(con->request, IPP_TAG_JOB, IPP_TAG_NAME, "job-name", NULL,
-                  title = "Untitled");
+                  "Untitled");
  
 +#ifdef WITH_LSPP
 +  if (is_lspp_config())
@@ -1825,7 +1825,7 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
    if ((job = cupsdAddJob(priority, printer->name)) == NULL)
    {
      send_ipp_status(con, IPP_INTERNAL_ERROR,
-@@ -1562,6 +1690,32 @@ add_job(cupsd_client_t  *con,		/* I - Cl
+@@ -1633,6 +1761,32 @@ add_job(cupsd_client_t  *con,		/* I - Cl
      return (NULL);
    }
  
@@ -1858,7 +1858,7 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
    job->dtype   = printer->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT |
                                    CUPS_PRINTER_REMOTE);
    job->attrs   = con->request;
-@@ -1769,6 +1923,29 @@ add_job(cupsd_client_t  *con,		/* I - Cl
+@@ -1838,6 +1992,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]);
      }
@@ -1888,7 +1888,7 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
  
      job->job_sheets = attr;
  
-@@ -1799,6 +1976,9 @@ add_job(cupsd_client_t  *con,		/* I - Cl
+@@ -1868,6 +2045,9 @@ add_job(cupsd_client_t  *con,		/* I - Cl
  	                		     "job-sheets=\"%s,none\", "
  					     "job-originating-user-name=\"%s\"",
  	              Classification, job->username);
@@ -1898,7 +1898,7 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
  	}
  	else if (attr->num_values == 2 &&
  	         strcmp(attr->values[0].string.text,
-@@ -1817,6 +1997,9 @@ add_job(cupsd_client_t  *con,		/* I - Cl
+@@ -1886,6 +2066,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);
@@ -1908,7 +1908,7 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
  	}
  	else if (strcmp(attr->values[0].string.text, Classification) &&
  	         strcmp(attr->values[0].string.text, "none") &&
-@@ -1837,6 +2020,9 @@ add_job(cupsd_client_t  *con,		/* I - Cl
+@@ -1906,6 +2089,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);
@@ -1918,7 +1918,7 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
          }
        }
        else if (strcmp(attr->values[0].string.text, Classification) &&
-@@ -1877,8 +2063,52 @@ add_job(cupsd_client_t  *con,		/* I - Cl
+@@ -1946,8 +2132,52 @@ add_job(cupsd_client_t  *con,		/* I - Cl
  		      "job-sheets=\"%s\", "
  		      "job-originating-user-name=\"%s\"",
  		      Classification, job->username);
@@ -1971,7 +1971,7 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
  
     /*
      * See if we need to add the starting sheet...
-@@ -4210,6 +4440,103 @@ check_rss_recipient(
+@@ -4300,6 +4530,103 @@ check_rss_recipient(
  }
  
  
@@ -2075,7 +2075,7 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
  /*
   * 'check_quotas()' - Check quotas for a printer and user.
   */
-@@ -4761,6 +5088,15 @@ copy_banner(cupsd_client_t *con,	/* I - 
+@@ -4853,6 +5180,15 @@ copy_banner(cupsd_client_t *con,	/* I - 
    char		attrname[255],		/* Name of attribute */
  		*s;			/* Pointer into name */
    ipp_attribute_t *attr;		/* Attribute */
@@ -2091,7 +2091,7 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
  
  
    cupsdLogMessage(CUPSD_LOG_DEBUG2,
-@@ -4796,6 +5132,82 @@ copy_banner(cupsd_client_t *con,	/* I - 
+@@ -4888,6 +5224,82 @@ copy_banner(cupsd_client_t *con,	/* I - 
  
    fchmod(cupsFileNumber(out), 0640);
    fchown(cupsFileNumber(out), RunUser, Group);
@@ -2174,7 +2174,7 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
  
   /*
    * Try the localized banner file under the subdirectory...
-@@ -4890,6 +5302,24 @@ copy_banner(cupsd_client_t *con,	/* I - 
+@@ -4982,6 +5394,24 @@ copy_banner(cupsd_client_t *con,	/* I - 
        else
          s = attrname;
  
@@ -2199,7 +2199,7 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
        if (!strcmp(s, "printer-name"))
        {
          cupsFilePuts(out, job->dest);
-@@ -6829,6 +7259,22 @@ get_job_attrs(cupsd_client_t  *con,	/* I
+@@ -6940,6 +7370,22 @@ get_job_attrs(cupsd_client_t  *con,	/* I
      return;
    }
  
@@ -2222,7 +2222,7 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
   /*
    * Copy attributes...
    */
-@@ -7048,6 +7494,11 @@ get_jobs(cupsd_client_t  *con,		/* I - C
+@@ -7170,6 +7616,11 @@ get_jobs(cupsd_client_t  *con,		/* I - C
      if (username[0] && strcasecmp(username, job->username))
        continue;
  
@@ -2234,7 +2234,7 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
      if (count > 0)
        ippAddSeparator(con->response);
  
-@@ -11430,6 +11881,11 @@ validate_user(cupsd_job_t    *job,	/* I 
+@@ -11572,6 +12023,11 @@ validate_user(cupsd_job_t    *job,	/* I 
  
    strlcpy(username, get_username(con), userlen);
  
@@ -2246,9 +2246,9 @@ diff -up cups-1.4.1/scheduler/ipp.c.lspp
   /*
    * Check the username against the owner...
    */
-diff -up cups-1.4.1/scheduler/job.c.lspp cups-1.4.1/scheduler/job.c
---- cups-1.4.1/scheduler/job.c.lspp	2009-09-14 16:59:30.058872907 +0100
-+++ cups-1.4.1/scheduler/job.c	2009-09-14 17:00:42.616998003 +0100
+diff -up cups-1.4.4/scheduler/job.c.lspp cups-1.4.4/scheduler/job.c
+--- cups-1.4.4/scheduler/job.c.lspp	2010-06-18 09:38:22.629104109 +0100
++++ cups-1.4.4/scheduler/job.c	2010-06-18 09:38:22.734978722 +0100
 @@ -66,6 +66,9 @@
   *   update_job_attrs()         - Update the job-printer-* attributes.
   */
@@ -2403,7 +2403,7 @@ diff -up cups-1.4.1/scheduler/job.c.lspp
    job->sheets     = ippFindAttribute(job->attrs, "job-media-sheets-completed",
                                       IPP_TAG_INTEGER);
    job->job_sheets = ippFindAttribute(job->attrs, "job-sheets", IPP_TAG_NAME);
-@@ -1975,6 +2069,14 @@ cupsdSaveJob(cupsd_job_t *job)		/* I - J
+@@ -2013,6 +2107,14 @@ cupsdSaveJob(cupsd_job_t *job)		/* I - J
  {
    char		filename[1024];		/* Job control filename */
    cups_file_t	*fp;			/* Job file */
@@ -2418,7 +2418,7 @@ diff -up cups-1.4.1/scheduler/job.c.lspp
  
  
    cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdSaveJob(job=%p(%d)): job->attrs=%p",
-@@ -1993,6 +2095,76 @@ cupsdSaveJob(cupsd_job_t *job)		/* I - J
+@@ -2031,6 +2133,76 @@ cupsdSaveJob(cupsd_job_t *job)		/* I - J
    fchmod(cupsFileNumber(fp), 0600);
    fchown(cupsFileNumber(fp), RunUser, Group);
  
@@ -2495,7 +2495,7 @@ diff -up cups-1.4.1/scheduler/job.c.lspp
    job->attrs->state = IPP_IDLE;
  
    if (ippWriteIO(fp, (ipp_iocb_t)cupsFileWrite, 1, NULL,
-@@ -3138,6 +3310,18 @@ get_options(cupsd_job_t *job,		/* I - Jo
+@@ -3188,6 +3360,18 @@ get_options(cupsd_job_t *job,		/* I - Jo
  	  banner_page)
          continue;
  
@@ -2514,7 +2514,7 @@ diff -up cups-1.4.1/scheduler/job.c.lspp
       /*
        * Otherwise add them to the list...
        */
-@@ -3810,6 +3994,19 @@ static void
+@@ -3860,6 +4044,19 @@ static void
  start_job(cupsd_job_t     *job,		/* I - Job ID */
            cupsd_printer_t *printer)	/* I - Printer to print job */
  {
@@ -2534,7 +2534,7 @@ diff -up cups-1.4.1/scheduler/job.c.lspp
    cupsdLogMessage(CUPSD_LOG_DEBUG2, "start_job(job=%p(%d), printer=%p(%s))",
                    job, job->id, printer, printer->name);
  
-@@ -3932,6 +4129,106 @@ start_job(cupsd_job_t     *job,		/* I - 
+@@ -3982,6 +4179,106 @@ start_job(cupsd_job_t     *job,		/* I - 
    fcntl(job->side_pipes[1], F_SETFD,
  	fcntl(job->side_pipes[1], F_GETFD) | FD_CLOEXEC);
  
@@ -2641,9 +2641,9 @@ diff -up cups-1.4.1/scheduler/job.c.lspp
   /*
    * Now start the first file in the job...
    */
-diff -up cups-1.4.1/scheduler/job.h.lspp cups-1.4.1/scheduler/job.h
---- cups-1.4.1/scheduler/job.h.lspp	2009-05-11 23:46:01.000000000 +0100
-+++ cups-1.4.1/scheduler/job.h	2009-09-14 16:59:30.177872674 +0100
+diff -up cups-1.4.4/scheduler/job.h.lspp cups-1.4.4/scheduler/job.h
+--- cups-1.4.4/scheduler/job.h.lspp	2009-05-11 23:46:01.000000000 +0100
++++ cups-1.4.4/scheduler/job.h	2010-06-18 09:38:22.734978722 +0100
 @@ -13,6 +13,13 @@
   *   file is missing or damaged, see the license at "http://www.cups.org/".
   */
@@ -2669,11 +2669,11 @@ diff -up cups-1.4.1/scheduler/job.h.lspp
  };
  
  typedef struct cupsd_joblog_s		/**** Job log message ****/
-diff -up cups-1.4.1/scheduler/main.c.lspp cups-1.4.1/scheduler/main.c
---- cups-1.4.1/scheduler/main.c.lspp	2009-09-14 16:59:29.925872130 +0100
-+++ cups-1.4.1/scheduler/main.c	2009-09-14 16:59:30.180872667 +0100
-@@ -35,6 +35,8 @@
-  *   usage()                   - Show scheduler usage.
+diff -up cups-1.4.4/scheduler/main.c.lspp cups-1.4.4/scheduler/main.c
+--- cups-1.4.4/scheduler/main.c.lspp	2010-06-18 09:38:22.574980424 +0100
++++ cups-1.4.4/scheduler/main.c	2010-06-18 09:39:26.548103442 +0100
+@@ -37,6 +37,8 @@
+  *   usage()               - Show scheduler usage.
   */
  
 +/* (c) Copyright 2005-2006 Hewlett-Packard Development Company, L.P. */
@@ -2681,7 +2681,7 @@ diff -up cups-1.4.1/scheduler/main.c.lsp
  /*
   * Include necessary headers...
   */
-@@ -73,6 +75,9 @@
+@@ -76,6 +78,9 @@
  #  include <dlfcn.h>
  #endif /* __APPLE__ && HAVE_DLFCN_H */
  
@@ -2691,7 +2691,7 @@ diff -up cups-1.4.1/scheduler/main.c.lsp
  
  /*
   * Local functions...
-@@ -156,6 +161,9 @@ main(int  argc,				/* I - Number of comm
+@@ -161,6 +166,9 @@ main(int  argc,				/* I - Number of comm
    int			launchd_idle_exit;
  					/* Idle exit on select timeout? */
  #endif	/* HAVE_LAUNCHD */
@@ -2701,7 +2701,7 @@ diff -up cups-1.4.1/scheduler/main.c.lsp
  
  
  #ifdef HAVE_GETEUID
-@@ -462,6 +470,25 @@ main(int  argc,				/* I - Number of comm
+@@ -470,6 +478,25 @@ main(int  argc,				/* I - Number of comm
  #endif /* DEBUG */
    }
  
@@ -2727,7 +2727,7 @@ diff -up cups-1.4.1/scheduler/main.c.lsp
   /*
    * Set the timezone info...
    */
-@@ -1230,6 +1257,11 @@ main(int  argc,				/* I - Number of comm
+@@ -1214,6 +1241,11 @@ main(int  argc,				/* I - Number of comm
  
    cupsdStopSelect();
  
@@ -2739,10 +2739,10 @@ diff -up cups-1.4.1/scheduler/main.c.lsp
    return (!stop_scheduler);
  }
  
-diff -up cups-1.4.1/scheduler/printers.c.lspp cups-1.4.1/scheduler/printers.c
---- cups-1.4.1/scheduler/printers.c.lspp	2009-09-14 16:59:29.866997809 +0100
-+++ cups-1.4.1/scheduler/printers.c	2009-09-14 16:59:30.185871787 +0100
-@@ -58,6 +58,8 @@
+diff -up cups-1.4.4/scheduler/printers.c.lspp cups-1.4.4/scheduler/printers.c
+--- cups-1.4.4/scheduler/printers.c.lspp	2010-06-18 09:38:22.556104527 +0100
++++ cups-1.4.4/scheduler/printers.c	2010-06-18 09:38:22.740980299 +0100
+@@ -59,6 +59,8 @@
   *   write_xml_string()         - Write a string with XML escaping.
   */
  
@@ -2751,7 +2751,7 @@ diff -up cups-1.4.1/scheduler/printers.c
  /*
   * Include necessary headers...
   */
-@@ -86,6 +88,10 @@ static void	write_irix_state(cupsd_print
+@@ -88,6 +90,10 @@ static void	write_irix_state(cupsd_print
  #endif /* __sgi */
  static void	write_xml_string(cups_file_t *fp, const char *s);
  
@@ -2762,7 +2762,7 @@ diff -up cups-1.4.1/scheduler/printers.c
  
  /*
   * 'cupsdAddPrinter()' - Add a printer to the system.
-@@ -2166,6 +2172,13 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
+@@ -2211,6 +2217,13 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
  		  "username",
  		  "password"
  		};
@@ -2776,7 +2776,7 @@ diff -up cups-1.4.1/scheduler/printers.c
  
  
    DEBUG_printf(("cupsdSetPrinterAttrs: entering name = %s, type = %x\n", p->name,
-@@ -2296,6 +2309,45 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
+@@ -2341,6 +2354,45 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
        attr->values[1].string.text = _cupsStrAlloc(Classification ?
  	                                   Classification : p->job_sheets[1]);
      }
@@ -2822,7 +2822,7 @@ diff -up cups-1.4.1/scheduler/printers.c
    }
  
    p->raw    = 0;
-@@ -4827,7 +4876,6 @@ write_irix_state(cupsd_printer_t *p)	/* 
+@@ -5320,7 +5372,6 @@ write_irix_state(cupsd_printer_t *p)	/* 
  }
  #endif /* __sgi */
  

cups-page-label.patch:
 pstops.c |   40 +++++++++++++++++++++++++++++++++++-----
 1 file changed, 35 insertions(+), 5 deletions(-)

Index: cups-page-label.patch
===================================================================
RCS file: /cvs/pkgs/rpms/cups/F-11/cups-page-label.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- cups-page-label.patch	2 Oct 2009 11:54:13 -0000	1.1
+++ cups-page-label.patch	18 Jun 2010 10:41:29 -0000	1.2
@@ -1,6 +1,6 @@
-diff -up cups-1.4.1/filter/pstops.c.page-label cups-1.4.1/filter/pstops.c
---- cups-1.4.1/filter/pstops.c.page-label	2009-10-02 12:33:33.410719651 +0100
-+++ cups-1.4.1/filter/pstops.c	2009-10-02 12:34:11.399594180 +0100
+diff -up cups-1.4.4/filter/pstops.c.page-label cups-1.4.4/filter/pstops.c
+--- cups-1.4.4/filter/pstops.c.page-label	2010-03-30 23:07:33.000000000 +0100
++++ cups-1.4.4/filter/pstops.c	2010-06-18 09:36:18.239126341 +0100
 @@ -108,6 +108,7 @@ typedef struct				/**** Document informa
    int		num_options;		/* Number of document-wide options */
    cups_option_t	*options;		/* Document-wide options */
@@ -9,7 +9,7 @@ diff -up cups-1.4.1/filter/pstops.c.page
  		saw_eof,		/* Saw the %%EOF comment? */
  		slow_collate,		/* Collate copies by hand? */
  		slow_duplex,		/* Duplex pages slowly? */
-@@ -2048,7 +2049,7 @@ do_setup(pstops_doc_t *doc,		/* I - Docu
+@@ -2083,7 +2084,7 @@ do_setup(pstops_doc_t *doc,		/* I - Docu
      * of the pages...
      */
  
@@ -18,7 +18,7 @@ diff -up cups-1.4.1/filter/pstops.c.page
        write_label_prolog(doc, doc->page_label, PageBottom,
                           PageWidth - PageLength + PageTop, PageLength);
      else
-@@ -2056,7 +2057,30 @@ do_setup(pstops_doc_t *doc,		/* I - Docu
+@@ -2091,7 +2092,30 @@ do_setup(pstops_doc_t *doc,		/* I - Docu
                           PageLength);
    }
    else
@@ -50,7 +50,7 @@ diff -up cups-1.4.1/filter/pstops.c.page
  }
  
  
-@@ -2141,7 +2165,7 @@ end_nup(pstops_doc_t *doc,		/* I - Docum
+@@ -2176,7 +2200,7 @@ end_nup(pstops_doc_t *doc,		/* I - Docum
      case 1 :
  	if (doc->use_ESPshowpage)
  	{
@@ -59,7 +59,7 @@ diff -up cups-1.4.1/filter/pstops.c.page
            doc_puts(doc, "ESPshowpage\n");
  	}
  	break;
-@@ -2156,7 +2180,7 @@ end_nup(pstops_doc_t *doc,		/* I - Docum
+@@ -2191,7 +2215,7 @@ end_nup(pstops_doc_t *doc,		/* I - Docum
  	    * Rotate the labels back to portrait...
  	    */
  
@@ -68,7 +68,7 @@ diff -up cups-1.4.1/filter/pstops.c.page
  	  }
  	  else if (Orientation == 0)
  	  {
-@@ -2182,7 +2206,7 @@ end_nup(pstops_doc_t *doc,		/* I - Docum
+@@ -2217,7 +2241,7 @@ end_nup(pstops_doc_t *doc,		/* I - Docum
      default :
  	if (is_last_page(number) && doc->use_ESPshowpage)
  	{
@@ -77,7 +77,7 @@ diff -up cups-1.4.1/filter/pstops.c.page
            doc_puts(doc, "ESPshowpage\n");
  	}
          break;
-@@ -2385,6 +2409,12 @@ set_pstops_options(
+@@ -2420,6 +2444,12 @@ set_pstops_options(
    doc->new_bounding_box[3] = INT_MIN;
  
   /*
@@ -87,6 +87,6 @@ diff -up cups-1.4.1/filter/pstops.c.page
 +  doc->orientation = Orientation;
 +
 + /*
-   * AP_FIRSTPAGE_InputSlot
+   * AP_FIRSTPAGE_* and the corresponding non-first-page options.
    */
  

cups-paps.patch:
 mime.convs.in |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: cups-paps.patch
===================================================================
RCS file: /cvs/pkgs/rpms/cups/F-11/cups-paps.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- cups-paps.patch	12 Nov 2008 16:09:54 -0000	1.4
+++ cups-paps.patch	18 Jun 2010 10:41:29 -0000	1.5
@@ -1,12 +1,12 @@
-diff -up cups-1.4b1/conf/mime.convs.in.paps cups-1.4b1/conf/mime.convs.in
---- cups-1.4b1/conf/mime.convs.in.paps	2008-10-08 22:07:45.000000000 +0100
-+++ cups-1.4b1/conf/mime.convs.in	2008-11-11 15:42:18.000000000 +0000
+diff -up cups-1.4.4/conf/mime.convs.in.paps cups-1.4.4/conf/mime.convs.in
+--- cups-1.4.4/conf/mime.convs.in.paps	2009-12-08 02:13:42.000000000 +0000
++++ cups-1.4.4/conf/mime.convs.in	2010-06-18 11:22:36.553980050 +0100
 @@ -45,7 +45,7 @@ application/x-cshell		application/postsc
  application/x-csource		application/postscript		33	texttops
  application/x-perl		application/postscript		33	texttops
  application/x-shell		application/postscript		33	texttops
 -text/plain			application/postscript		33	texttops
 +text/plain			application/postscript		33	texttopaps
+ text/css			application/postscript		33	texttops
  text/html			application/postscript		33	texttops
  image/gif			application/vnd.cups-postscript	66	imagetops
- image/png			application/vnd.cups-postscript	66	imagetops

cups-str3382.patch:
 tempfile.c |   31 ++++++++++++-------------------
 1 file changed, 12 insertions(+), 19 deletions(-)

Index: cups-str3382.patch
===================================================================
RCS file: /cvs/pkgs/rpms/cups/F-11/cups-str3382.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- cups-str3382.patch	20 Oct 2009 13:44:07 -0000	1.1
+++ cups-str3382.patch	18 Jun 2010 10:41:29 -0000	1.2
@@ -1,6 +1,6 @@
-diff -up cups-1.4.1/cups/tempfile.c.str3382 cups-1.4.1/cups/tempfile.c
---- cups-1.4.1/cups/tempfile.c.str3382	2008-12-10 06:03:11.000000000 +0100
-+++ cups-1.4.1/cups/tempfile.c	2009-10-20 15:08:39.000000000 +0200
+diff -up cups-1.4.3/cups/tempfile.c.str3382 cups-1.4.3/cups/tempfile.c
+--- cups-1.4.3/cups/tempfile.c.str3382	2010-01-18 19:47:12.000000000 +0100
++++ cups-1.4.3/cups/tempfile.c	2010-03-31 13:26:52.000000000 +0200
 @@ -35,6 +35,7 @@
  #  include <io.h>
  #else
@@ -33,8 +33,8 @@ diff -up cups-1.4.1/cups/tempfile.c.str3
 -    * Format a string using the hex time values...
 -    */
 -
--    snprintf(filename, len - 1, "%s/%08lx%05lx", tmpdir,
--             (unsigned long)curtime.tv_sec, (unsigned long)curtime.tv_usec);
+-    snprintf(filename, len - 1, "%s/%05x%08x", tmpdir, (unsigned)getpid(),
+-             (unsigned)(curtime.tv_sec + curtime.tv_usec + tries));
 -#endif /* WIN32 */
  
     /*


Index: cups.spec
===================================================================
RCS file: /cvs/pkgs/rpms/cups/F-11/cups.spec,v
retrieving revision 1.574
retrieving revision 1.575
diff -u -p -r1.574 -r1.575
--- cups.spec	18 May 2010 16:07:16 -0000	1.574
+++ cups.spec	18 Jun 2010 10:41:29 -0000	1.575
@@ -1,102 +1,91 @@
 %define php_extdir %(php-config --extension-dir 2>/dev/null || echo %{_libdir}/php4)
 %global php_apiver %((echo 0; php -i 2>/dev/null | sed -n 's/^PHP API => //p') | tail -1)
 
-%define initdir /etc/rc.d/init.d
 %define use_alternatives 1
 %define lspp 1
 %define cups_serverbin %{_exec_prefix}/lib/cups
 
 Summary: Common Unix Printing System
 Name: cups
-Version: 1.4.2
-Release: 31%{?dist}
+Version: 1.4.4
+Release: 1%{?dist}
 License: GPLv2
 Group: System Environment/Daemons
 Source: http://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.bz2
+# Our initscript
 Source1: cups.init
+# Pixmap for desktop file
 Source2: cupsprinter.png
+# udev rules for libusb devices
 Source3: cups-libusb.rules
+# LSPP-required ps->pdf filter
 Source4: pstopdf
+# xinetd config file for cups-lpd service
 Source5: cups-lpd
-Source6: pstoraster
-Source7: pstoraster.convs
-Source9: cups.logrotate
-Source10: ncp.backend
-Source12: cups.cron
-Source14: textonly.filter
-Source15: textonly.ppd
+# Logrotate configuration
+Source6: cups.logrotate
+# Backend for NCP protocol
+Source7: ncp.backend
+# Cron-based tmpwatch for /var/spool/cups/tmp
+Source8: cups.cron
+# Filter and PPD for textonly printing
+Source9: textonly.filter
+Source10: textonly.ppd
+# pstoraster filter from ghostscript.
+Source11: pstoraster
+Source12: pstoraster.convs
 Patch1: cups-no-gzip-man.patch
 Patch2: cups-1.1.16-system-auth.patch
 Patch3: cups-multilib.patch
-Patch4: cups-str3448.patch
-Patch5: cups-serial.patch
-Patch6: cups-banners.patch
-Patch7: cups-serverbin-compat.patch
-Patch8: cups-no-export-ssllibs.patch
-Patch9: cups-paps.patch
-Patch10: cups-str3460.patch
-Patch11: cups-direct-usb.patch
-Patch12: cups-lpr-help.patch
-Patch13: cups-peercred.patch
-Patch14: cups-pid.patch
-Patch15: cups-page-label.patch
-Patch16: cups-eggcups.patch
-Patch17: cups-getpass.patch
-Patch18: cups-driverd-timeout.patch
-Patch19: cups-strict-ppd-line-length.patch
-Patch20: cups-logrotate.patch
-Patch21: cups-usb-paperout.patch
-Patch22: cups-build.patch
-Patch23: cups-res_init.patch
-Patch25: cups-filter-debug.patch
-Patch30: cups-uri-compat.patch
-Patch35: cups-cups-get-classes.patch
-Patch37: cups-avahi.patch
-Patch40: cups-str3382.patch
-Patch41: cups-str3285_v2-str3503.patch
-Patch42: cups-str3390.patch
-Patch43: cups-str3391.patch
-Patch44: cups-str3381.patch
-Patch45: cups-str3399.patch
-Patch46: cups-str3403.patch
-Patch47: cups-str3407.patch
-Patch48: cups-str3418.patch
-Patch49: cups-CVE-2009-3553.patch
-Patch50: cups-str3422.patch
-Patch51: cups-str3413.patch
-Patch52: cups-str3439.patch
-Patch53: cups-str3440.patch
-Patch54: cups-str3442.patch
-Patch55: cups-negative-snmp-string-length.patch
-Patch56: cups-sidechannel-intrs.patch
-Patch57: cups-media-empty-warning.patch
-Patch58: cups-str3435.patch
-Patch59: cups-str3436.patch
-Patch60: cups-str3425.patch
-Patch61: cups-str3428.patch
-Patch62: cups-str3431.patch
-Patch63: cups-gnutls-gcrypt-threads.patch
-Patch64: cups-str3458.patch
-Patch65: cups-EAI_AGAIN.patch
-Patch66: cups-str3505.patch
-Patch67: cups-CVE-2010-0302.patch
-Patch68: cups-str3541.patch
-Patch69: cups-texttops-rotate-page.patch
+Patch4: cups-serial.patch
+Patch5: cups-banners.patch
+Patch6: cups-serverbin-compat.patch
+Patch7: cups-no-export-ssllibs.patch
+Patch8: cups-direct-usb.patch
+Patch9: cups-lpr-help.patch
+Patch10: cups-peercred.patch
+Patch11: cups-pid.patch
+Patch12: cups-page-label.patch
+Patch13: cups-eggcups.patch
+Patch14: cups-getpass.patch
+Patch15: cups-driverd-timeout.patch
+Patch16: cups-strict-ppd-line-length.patch
+Patch17: cups-logrotate.patch
+Patch18: cups-usb-paperout.patch
+Patch19: cups-build.patch
+Patch20: cups-res_init.patch
+Patch21: cups-filter-debug.patch
+Patch22: cups-uri-compat.patch
+Patch23: cups-cups-get-classes.patch
+Patch24: cups-avahi.patch
+Patch25: cups-str3382.patch
+Patch26: cups-paps.patch
+Patch29: cups-0755.patch
+Patch30: cups-EAI_AGAIN.patch
+Patch31: cups-hostnamelookups.patch
+Patch33: cups-snmp-quirks.patch
+Patch34: cups-hp-deviceid-oid.patch
+Patch35: cups-dnssd-deviceid.patch
+Patch36: cups-ricoh-deviceid-oid.patch
+Patch37: cups-texttops-rotate-page.patch
 
 Patch100: cups-lspp.patch
+
+## SECURITY PATCHES:
+
 Epoch: 1
 Url: http://www.cups.org/
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-PreReq: /sbin/chkconfig /sbin/service
+Requires: /sbin/chkconfig /sbin/service
 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
 %if %use_alternatives
 Provides: /usr/bin/lpq /usr/bin/lpr /usr/bin/lp /usr/bin/cancel /usr/bin/lprm /usr/bin/lpstat
-Prereq: /usr/sbin/alternatives
+Requires: /usr/sbin/alternatives
 %endif
 
 # Unconditionally obsolete LPRng so that upgrades work properly.
-Obsoletes: lpd lpr LPRng <= 3.8.15-3
-Provides: lpd lpr
+Obsoletes: lpd <= 3.8.15-3, lpr <= 3.8.15-3, LPRng <= 3.8.15-3
+Provides: lpd = 3.8.15-4, lpr = 3.8.15-4
 
 Obsoletes: cupsddk < 1.2.3-7
 Provides: cupsddk = 1.2.3-7
@@ -106,8 +95,8 @@ Provides: cupsddk-drivers = 1.2.3-7
 # kdelibs conflict for bug #192585.
 Conflicts: kdelibs < 6:3.5.2-6
 
-BuildPrereq: pam-devel pkgconfig
-BuildPrereq: gnutls-devel libacl-devel
+BuildRequires: pam-devel pkgconfig
+BuildRequires: gnutls-devel libacl-devel
 BuildRequires: openldap-devel
 BuildRequires: make >= 1:3.80
 BuildRequires: php-devel, pcre-devel
@@ -118,15 +107,18 @@ BuildRequires: krb5-devel
 BuildRequires: avahi-devel
 BuildRequires: poppler-utils
 
+# Make sure we get postscriptdriver tags.
+BuildRequires: pycups
+
 %if %lspp
-BuildPrereq: libselinux-devel >= 1.23
-BuildPrereq: audit-libs-devel >= 1.1
+BuildRequires: libselinux-devel >= 1.23
+BuildRequires: audit-libs-devel >= 1.1
 %endif
 
 # -fstack-protector-all requires GCC 4.0.1
 BuildRequires: gcc >= 4.0.1
 
-BuildPrereq: dbus-devel >= 0.90
+BuildRequires: dbus-devel >= 0.90
 Requires: dbus >= 0.90
 
 # The paps package uses pango to render UTF-8 text to PostScript.
@@ -148,6 +140,9 @@ Requires: ghostscript
 Requires: udev
 Requires: acl
 
+# Make sure we have some filters for converting to raster format.
+Requires: ghostscript-cups
+
 %package devel
 Summary: Common Unix Printing System - development environment
 Group: Development/Libraries
@@ -204,78 +199,95 @@ natively, without needing the lp/lpr com
 
 %description lpd
 The Common UNIX Printing System provides a portable printing layer for 
-UNIX® operating systems. This is the package that provices standard 
+UNIX® operating systems. This is the package that provides standard 
 lpd emulation.
 
 %description php
 The Common UNIX Printing System provides a portable printing layer for
-UNIX® operating systems. This is the package that provices a PHP
+UNIX® operating systems. This is the package that provides a PHP
 module. 
 
 %prep
 %setup -q
+# Don't gzip man pages in the Makefile, let rpmbuild do it.
 %patch1 -p1 -b .no-gzip-man
+# Use the system pam configuration.
 %patch2 -p1 -b .system-auth
+# Prevent multilib conflict in cups-config script.
 %patch3 -p1 -b .multilib
-%patch4 -p1 -b .str3448
-%patch5 -p1 -b .serial
-%patch6 -p1 -b .banners
-%patch7 -p1 -b .serverbin-compat
-%patch8 -p1 -b .no-export-ssllibs
-%patch9 -p1 -b .paps
-%patch10 -p1 -b .str3460
-%patch11 -p1 -b .direct-usb
-%patch12 -p1 -b .lpr-help
-%patch13 -p1 -b .peercred
-%patch14 -p1 -b .pid
-%patch15 -p1 -b .page-label
-%patch16 -p1 -b .eggcups
-%patch17 -p1 -b .getpass
-%patch18 -p1 -b .driverd-timeout
-%patch19 -p1 -b .strict-ppd-line-length
-%patch20 -p1 -b .logrotate
-%patch21 -p1 -b .usb-paperout
-%patch22 -p1 -b .build
-%patch23 -p1 -b .res_init
-%patch25 -p1 -b .filter-debug
-%patch30 -p1 -b .uri-compat
-%patch35 -p1 -b .cups-get-classes
-%patch37 -p1 -b .avahi
-%patch40 -p1 -b .str3382
-%patch41 -p1 -b .str3285_v2-str3503
-%patch42 -p1 -b .str3390
-%patch43 -p1 -b .str3391
-%patch44 -p1 -b .str3381
-%patch45 -p1 -b .str3399
-%patch46 -p1 -b .str3403
-%patch47 -p1 -b .str3407
-%patch48 -p1 -b .str3418
-%patch49 -p1 -b .CVE-2009-3553
-%patch50 -p1 -b .str3422
-%patch51 -p1 -b .str3413
-%patch52 -p1 -b .str3439
-%patch53 -p1 -b .str3440
-%patch54 -p1 -b .str3442
-%patch55 -p1 -b .negative-snmp-string-length
-%patch56 -p1 -b .sidechannel-intrs
-%patch57 -p1 -b .media-empty-warning
-%patch58 -p1 -b .str3435
-%patch59 -p1 -b .str3436
-%patch60 -p1 -b .str3425
-%patch61 -p1 -b .str3428
-%patch62 -p1 -b .str3431
-#%patch63 -p1 -b .gnutls-gcrypt-threads
-%patch64 -p1 -b .str3458
-%patch65 -p1 -b .EAI_AGAIN
-%patch66 -p1 -b .str3505
-%patch67 -p1 -b .CVE-2010-0302
-%patch68 -p1 -b .str3541
-%patch69 -p1 -b .texttops-rotate-page
+# Fix compilation of serial backend.
+%patch4 -p1 -b .serial
+# Ignore rpm save/new files in the banners directory.
+%patch5 -p1 -b .banners
+# Use compatibility fallback path for ServerBin.
+%patch6 -p1 -b .serverbin-compat
+# Don't export SSLLIBS to cups-config.
+%patch7 -p1 -b .no-export-ssllibs
+# Allow file-based usb device URIs.
+%patch8 -p1 -b .direct-usb
+# Add --help option to lpr.
+%patch9 -p1 -b .lpr-help
+# Fix compilation of peer credentials support.
+%patch10 -p1 -b .peercred
+# Maintain a cupsd.pid file.
+%patch11 -p1 -b .pid
+# Fix orientation of page labels.
+%patch12 -p1 -b .page-label
+# Fix implementation of com.redhat.PrinterSpooler D-Bus object.
+%patch13 -p1 -b .eggcups
+# More sophisticated implementation of cupsGetPassword than getpass.
+%patch14 -p1 -b .getpass
+# Increase driverd timeout to 70s to accommodate foomatic.
+%patch15 -p1 -b .driverd-timeout
+# Only enforce maximum PPD line length when in strict mode.
+%patch16 -p1 -b .strict-ppd-line-length
+# Re-open the log if it has been logrotated under us.
+%patch17 -p1 -b .logrotate
+# Support for errno==ENOSPACE-based USB paper-out reporting.
+%patch18 -p1 -b .usb-paperout
+# Simplify the DNSSD parts so they can build using the compat library.
+%patch19 -p1 -b .build
+# Re-initialise the resolver on failure in httpAddrGetList().
+%patch20 -p1 -b .res_init
+# Log extra debugging information if no filters are available.
+%patch21 -p1 -b .filter-debug
+# Allow the usb backend to understand old-style URI formats.
+%patch22 -p1 -b .uri-compat
+# Fix support for older CUPS servers in cupsGetDests.
+%patch23 -p1 -b .cups-get-classes
+# Avahi support in the dnssd backend.
+%patch24 -p1 -b .avahi
+# Fix temporary filename creation.
+%patch25 -p1 -b .str3382
+# Use paps for text conversion.
+%patch26 -p1 -b .paps
+# Use mode 0755 for binaries and libraries where appropriate.
+%patch29 -p1 -b .0755
+# Re-initialise the resolver on failure in httpAddrLookup().
+%patch30 -p1 -b .EAI_AGAIN
+# Use numeric addresses for interfaces unless HostNameLookups are
+# turned on (bug #583054).
+%patch31 -p1 -b .hostnamelookups
+# Handle SNMP supply level quirks (bug #581825).
+%patch33 -p1 -b .snmp-quirks
+# Add an SNMP query for HP's device ID OID (STR #3552).
+%patch34 -p1 -b .hp-deviceid-oid
+# Mark DNS-SD Device IDs that have been guessed at with "FZY:1;".
+%patch35 -p1 -b .dnssd-deviceid
+# Add an SNMP query for Ricoh's device ID OID (STR #3552).
+%patch36 -p1 -b .ricoh-deviceid-oid
+# Adjust texttops output to be in natural orientation (STR #3563).
+# This fixes page-label orientation when texttops is used in the
+# filter chain (bug #572338).
+%patch37 -p1 -b .texttops-rotate-page
 
 %if %lspp
+# LSPP support.
 %patch100 -p1 -b .lspp
 %endif
 
+# SECURITY PATCHES:
+
 sed -i -e '1iMaxLogSize 0' conf/cupsd.conf.in
 
 cp %{SOURCE5} cups-lpd.real
@@ -284,6 +296,9 @@ perl -pi -e "s,\@LIBDIR\@,%{_libdir},g" 
 # Let's look at the compilation command lines.
 perl -pi -e "s,^.SILENT:,," Makedefs.in
 
+# Fix locale code for Norwegian (bug #520379).
+mv locale/cups_no.po locale/cups_nb.po
+
 # Rebuild configure script for --enable-avahi.
 aclocal -I config-scripts
 autoconf -I config-scripts
@@ -302,7 +317,7 @@ export CFLAGS="$RPM_OPT_FLAGS -fstack-pr
 	localedir=%{_datadir}/locale
 
 # If we got this far, all prerequisite libraries must be here.
-make
+make %{?_smp_mflags}
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -312,13 +327,13 @@ make BUILDROOT=$RPM_BUILD_ROOT install 
 # Serial backend needs to run as root (bug #212577).
 chmod 700 $RPM_BUILD_ROOT%{cups_serverbin}/backend/serial
 
-rm -rf	$RPM_BUILD_ROOT%{initdir} \
+rm -rf	$RPM_BUILD_ROOT%{_initddir} \
 	$RPM_BUILD_ROOT%{_sysconfdir}/init.d \
 	$RPM_BUILD_ROOT%{_sysconfdir}/rc?.d
-mkdir -p $RPM_BUILD_ROOT%{initdir}
-install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{initdir}/cups
+mkdir -p $RPM_BUILD_ROOT%{_initddir}
+install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_initddir}/cups
 
-find $RPM_BUILD_ROOT/usr/share/cups/model -name "*.ppd" |xargs gzip -n9f
+find $RPM_BUILD_ROOT%{_datadir}/cups/model -name "*.ppd" |xargs gzip -n9f
 
 %if %use_alternatives
 pushd $RPM_BUILD_ROOT%{_bindir}
@@ -339,11 +354,11 @@ popd
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps $RPM_BUILD_ROOT%{_sysconfdir}/X11/sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/X11/applnk/System $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily
 install -c -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/pixmaps
 install -c -m 644 cups-lpd.real $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/cups-lpd
-install -c -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/cups
-install -c -m 755 %{SOURCE10} $RPM_BUILD_ROOT%{cups_serverbin}/backend/ncp
-install -c -m 755 %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/cups
-install -c -m 755 %{SOURCE14} $RPM_BUILD_ROOT%{cups_serverbin}/filter/textonly
-install -c -m 644 %{SOURCE15} $RPM_BUILD_ROOT%{_datadir}/cups/model/textonly.ppd
+install -c -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/cups
+install -c -m 755 %{SOURCE7} $RPM_BUILD_ROOT%{cups_serverbin}/backend/ncp
+install -c -m 755 %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/cups
+install -c -m 755 %{SOURCE9} $RPM_BUILD_ROOT%{cups_serverbin}/filter/textonly
+install -c -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_datadir}/cups/model/textonly.ppd
 
 # Ship pstopdf for LSPP systems to deal with malicious postscript
 %if %lspp
@@ -351,8 +366,8 @@ install -c -m 755 %{SOURCE4} $RPM_BUILD_
 %endif
 
 # Ship pstoraster (bug #69573).
-install -c -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{cups_serverbin}/filter
-install -c -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/cups
+install -c -m 755 %{SOURCE11} $RPM_BUILD_ROOT%{cups_serverbin}/filter
+install -c -m 644 %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cups
 
 # Ship a printers.conf file, and a client.conf file.  That way, they get
 # their SELinux file contexts set correctly.
@@ -364,11 +379,12 @@ touch $RPM_BUILD_ROOT%{_sysconfdir}/cups
 # This is %%ghost'ed, but needs to be created in %%install anyway.
 touch $RPM_BUILD_ROOT%{_sysconfdir}/cups/lpoptions
 
+# Tell portreserve which port we want it to protect.
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/portreserve
+
 # LSB 3.2 printer driver directory
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/ppd
 
-# Tell portreserve which port we want it to protect.
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/portreserve
 echo ipp > $RPM_BUILD_ROOT%{_sysconfdir}/portreserve/%{name}
 
 # Handle https:// device URIs (bug #478677, STR #3122).
@@ -387,16 +403,16 @@ extension=phpcups.so
 __EOF__
 
 # Install the udev rules.
-%{__mkdir_p} %{buildroot}%{_sysconfdir}/udev/rules.d
+%{__mkdir_p} %{buildroot}/lib/udev/rules.d
 install -m644 %{SOURCE3} \
-	%{buildroot}%{_sysconfdir}/udev/rules.d/70-cups-libusb.rules
+	%{buildroot}/lib/udev/rules.d/70-cups-libusb.rules
 
 %post
 /sbin/chkconfig --del cupsd 2>/dev/null || true # Make sure old versions aren't there anymore
 /sbin/chkconfig --add cups || true
 # Remove old-style certs directory; new-style is /var/run
 # (see bug #194581 for why this is necessary).
-/bin/rm -rf /etc/cups/certs
+/bin/rm -rf %{_sysconfdir}/cups/certs
 %if %use_alternatives
 /usr/sbin/alternatives --install %{_bindir}/lpr print %{_bindir}/lpr.cups 40 \
 	 --slave %{_bindir}/lp print-lp %{_bindir}/lp.cups \
@@ -426,7 +442,7 @@ if [ "$1" = "0" ]; then
 	/sbin/service cups stop > /dev/null 2>&1
 	/sbin/chkconfig --del cups
 %if %use_alternatives
-        /usr/sbin/alternatives --remove print %{_bindir}/lpr.cups
+	/usr/sbin/alternatives --remove print %{_bindir}/lpr.cups
 %endif
 fi
 exit 0
@@ -451,23 +467,23 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(-,root,root)
 %doc LICENSE.txt README.txt CREDITS.txt CHANGES.txt
-%{_sysconfdir}/udev/rules.d/70-cups-libusb.rules
-%dir %attr(0755,root,lp) /etc/cups
+/lib/udev/rules.d/70-cups-libusb.rules
+%dir %attr(0755,root,lp) %{_sysconfdir}/cups
 %dir %attr(0755,root,lp) /var/run/cups
 %dir %attr(0511,lp,sys) /var/run/cups/certs
-%verify(not md5 size mtime) %config(noreplace) %attr(0640,root,lp) /etc/cups/cupsd.conf
-%attr(0640,root,lp) /etc/cups/cupsd.conf.default
-%verify(not md5 size mtime) %config(noreplace) %attr(0644,root,lp) /etc/cups/client.conf
-%verify(not md5 size mtime) %config(noreplace) %attr(0600,root,lp) /etc/cups/classes.conf
-%verify(not md5 size mtime) %config(noreplace) %attr(0600,root,lp) /etc/cups/printers.conf
-%verify(not md5 size mtime) %config(noreplace) %attr(0644,root,lp) /etc/cups/snmp.conf
-%verify(not md5 size mtime) %config(noreplace) %attr(0644,root,lp) /etc/cups/subscriptions.conf
-/etc/cups/interfaces
-%verify(not md5 size mtime) %config(noreplace) %attr(0644,root,lp) /etc/cups/lpoptions
-%dir %attr(0755,root,lp) /etc/cups/ppd
-%dir %attr(0700,root,lp) /etc/cups/ssl
-/etc/cups/pstoraster.convs
-%config(noreplace) /etc/pam.d/cups
+%verify(not md5 size mtime) %config(noreplace) %attr(0640,root,lp) %{_sysconfdir}/cups/cupsd.conf
+%attr(0640,root,lp) %{_sysconfdir}/cups/cupsd.conf.default
+%verify(not md5 size mtime) %config(noreplace) %attr(0644,root,lp) %{_sysconfdir}/cups/client.conf
+%verify(not md5 size mtime) %config(noreplace) %attr(0600,root,lp) %{_sysconfdir}/cups/classes.conf
+%verify(not md5 size mtime) %config(noreplace) %attr(0600,root,lp) %{_sysconfdir}/cups/printers.conf
+%verify(not md5 size mtime) %config(noreplace) %attr(0644,root,lp) %{_sysconfdir}/cups/snmp.conf
+%verify(not md5 size mtime) %config(noreplace) %attr(0644,root,lp) %{_sysconfdir}/cups/subscriptions.conf
+%{_sysconfdir}/cups/interfaces
+%verify(not md5 size mtime) %config(noreplace) %attr(0644,root,lp) %{_sysconfdir}/cups/lpoptions
+%dir %attr(0755,root,lp) %{_sysconfdir}/cups/ppd
+%dir %attr(0700,root,lp) %{_sysconfdir}/cups/ssl
+%{_sysconfdir}/cups/pstoraster.convs
+%config(noreplace) %{_sysconfdir}/pam.d/cups
 %config(noreplace) %{_sysconfdir}/logrotate.d/cups
 %config(noreplace) %{_sysconfdir}/portreserve/%{name}
 %dir %{_datadir}/%{name}/www
@@ -484,10 +500,12 @@ rm -rf $RPM_BUILD_ROOT
 %config(noreplace) %doc %{_datadir}/%{name}/www/de/index.html
 %config(noreplace) %doc %{_datadir}/%{name}/www/es/index.html
 %config(noreplace) %doc %{_datadir}/%{name}/www/eu/index.html
+%config(noreplace) %doc %{_datadir}/%{name}/www/id/index.html
+%config(noreplace) %doc %{_datadir}/%{name}/www/it/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
+%{_initddir}/cups
 %{_bindir}/cupstestppd
 %{_bindir}/cupstestdsc
 %{_bindir}/cancel*
@@ -519,6 +537,8 @@ rm -rf $RPM_BUILD_ROOT
 %config(noreplace) %{_datadir}/cups/templates/de/*.tmpl
 %config(noreplace) %{_datadir}/cups/templates/es/*.tmpl
 %config(noreplace) %{_datadir}/cups/templates/eu/*.tmpl
+%config(noreplace) %{_datadir}/cups/templates/id/*.tmpl
+%config(noreplace) %{_datadir}/cups/templates/it/*.tmpl
 %config(noreplace) %{_datadir}/cups/templates/ja/*.tmpl
 %config(noreplace) %{_datadir}/cups/templates/pl/*.tmpl
 %config(noreplace) %{_datadir}/cups/templates/ru/*.tmpl
@@ -562,6 +582,52 @@ rm -rf $RPM_BUILD_ROOT
 %{php_extdir}/phpcups.so
 
 %changelog
+* Fri Jun 18 2010 Tim Waugh <twaugh at redhat.com> 1:1.4.4-1
+- 1.4.4.  Fixes several security vulnerabilities (bug #605399):
+  CVE-2010-0540, CVE-2010-0542, CVE-2010-1748.  No longer need str3503,
+  str3399, str3505, str3541, str3425p2 or CVE-2010-0302 patches.
+- Fix lpd provides.
+- Added comments for all sources and patches.
+- Reset status after successful ipp job (bug #548219, STR #3460).
+- Install udev rules in correct place (bug #530378).
+- Removed unapplied gnutls-gcrypt-threads patch.  Fixed typos in
+  descriptions for lpd and php sub-packages.
+- Add an SNMP query for Ricoh's device ID OID (STR #3552).
+- Mark DNS-SD Device IDs that have been guessed at with "FZY:1;".
+- Add an SNMP query for HP's device ID OID (STR #3552).
+- Don't mark initscript as config file.
+- Use %%{_initddir}, %%{_sysconfdir} and SMP make flags.
+- Use mode 0755 for binaries and libraries where appropriate.
+- Removed use of prereq and buildprereq.
+- Fixed use of '%%' in changelog.
+- Versioned explicit obsoletes/provides.
+- Use tabs throughout.
+- Install udev rules in correct place (bug #530378).
+- Fix locale code for Norwegian (bug #520379).
+- Fixed cups.init to be LSB compliant (bug #521641)
+- Changed cups.init to be LSB compliant (bug #521641), i.e.
+  return code "2" (instead of "3") if invalid arguments
+  return code "4" if restarting service under nonprivileged user
+  return code "5" if cupsd not exist or is not executable
+  return code "6" if cupsd.conf not exist
+- Use password-auth common PAM configuration instead of system-auth
+  when available.
+- Fixed 'service cups status' to check for correct subsys name
+  (bug #521641).
+- Renumbered patches and sources.
+- Use upstream method of handling SNMP quirks in PPDs (STR #3551,
+  bug #581825).
+- Added back still useful str3425.patch.
+  Second part of STR #3425 is still not fixed in 1.4.3
+- Use numeric addresses for interfaces unless HostNameLookups are
+  turned on (bug #583054).
+- Handle SNMP supply level quirks (bug #581825).
+- No longer need CVE-2009-3553, str3381, str3390, str3391,
+  str3403, str3407, str3413, str3418, str3422, str3425,
+  str3428, str3431, str3435, str3436, str3439, str3440,
+  str3442, str3448, str3458, str3460, cups-sidechannel-intrs,
+  negative-snmp-string-length, cups-media-empty-warning patches.
+
 * Tue May 18 2010 Tim Waugh <twaugh at redhat.com> 1:1.4.2-31
 - Adjust texttops output to be in natural orientation (STR #3563).
   This fixes page-label orientation when texttops is used in the
@@ -2074,7 +2140,7 @@ rm -rf $RPM_BUILD_ROOT
 - Start cupsd before nfs server processes (bug #97767).
 
 * Tue Jun 17 2003 Tim Waugh <twaugh at redhat.com> 1:1.1.19-7
-- Add some %if %use_dbus / %endif's to make it compile without dbus
+- Add some %%if %%use_dbus / %%endif's to make it compile without dbus
   (bug #97397).  Patch from Jos Vos.
 
 * Mon Jun 16 2003 Tim Waugh <twaugh at redhat.com> 1:1.1.19-6
@@ -2293,8 +2359,8 @@ rm -rf $RPM_BUILD_ROOT
 
 * Thu Feb 28 2002 Bill Nottingham <notting at redhat.com> 1.1.14-7
 - lpc man page is alternative too
-- run ldconfig in -libs %post/%postun, not main
-- remove alternatives in %preun
+- run ldconfig in -libs %%post/%%postun, not main
+- remove alternatives in %%preun
 
 * Wed Feb 27 2002 Bill Nottingham <notting at redhat.com> 1.1.14-6
 - don't source /etc/sysconfig/network in cups.init, we don't use any
@@ -2386,7 +2452,7 @@ rm -rf $RPM_BUILD_ROOT
 - rebuilt against libpng-1.0.8
 
 * Tue Aug 01 2000 Than Ngo <than at redhat.de>
-- fix permission, add missing ldconfig in %post and %postun (Bug #14963)
+- fix permission, add missing ldconfig in %%post and %%postun (Bug #14963)
 
 * Sat Jul 29 2000 Bernhard Rosenkraenzer <bero at redhat.com>
 - 1.1.1 (this has some major bugfixes)


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/cups/F-11/sources,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -p -r1.53 -r1.54
--- sources	10 Nov 2009 13:26:17 -0000	1.53
+++ sources	18 Jun 2010 10:41:29 -0000	1.54
@@ -1 +1,2 @@
 d95e2d588e3d36e563027a963b117b1b  cups-1.4.2-source.tar.bz2
+8776403ad60fea9e85eab9c04d88560d  cups-1.4.4-source.tar.bz2


--- cups-CVE-2010-0302.patch DELETED ---


--- cups-str3399.patch DELETED ---


--- cups-str3505.patch DELETED ---


--- cups-str3541.patch DELETED ---



More information about the scm-commits mailing list