This commit is contained in:
Jiri Popelka 2011-06-28 12:12:17 +02:00
parent 28f2e3ad02
commit 993cfb6a8a
9 changed files with 297 additions and 336 deletions

View File

@ -1,15 +0,0 @@
diff -up cups-1.4.4/scheduler/ipp.c.autotype-crash cups-1.4.4/scheduler/ipp.c
--- cups-1.4.4/scheduler/ipp.c.autotype-crash 2010-10-15 15:25:15.093421917 +0100
+++ cups-1.4.4/scheduler/ipp.c 2010-10-15 15:25:49.645296947 +0100
@@ -10481,8 +10481,9 @@ send_document(cupsd_client_t *con, /* I
if (!filetype)
filetype = mimeType(MimeDatabase, super, type);
- cupsdLogJob(job, CUPSD_LOG_DEBUG, "Request file type is %s/%s.",
- filetype->super, filetype->type);
+ if (filetype)
+ cupsdLogJob(job, CUPSD_LOG_DEBUG, "Request file type is %s/%s.",
+ filetype->super, filetype->type);
}
else
filetype = mimeType(MimeDatabase, super, type);

View File

@ -1,6 +1,6 @@
diff -up cups-1.4.6/backend/dnssd.c.avahi cups-1.4.6/backend/dnssd.c
--- cups-1.4.6/backend/dnssd.c.avahi 2011-01-25 13:26:16.607114570 +0000
+++ cups-1.4.6/backend/dnssd.c 2011-01-25 13:26:16.633115058 +0000
diff -up cups-1.4.7/backend/dnssd.c.avahi cups-1.4.7/backend/dnssd.c
--- cups-1.4.7/backend/dnssd.c.avahi 2011-06-28 11:55:27.024868568 +0200
+++ cups-1.4.7/backend/dnssd.c 2011-06-28 11:55:27.033868442 +0200
@@ -15,14 +15,21 @@
*
* Contents:
@ -824,10 +824,10 @@ diff -up cups-1.4.6/backend/dnssd.c.avahi cups-1.4.6/backend/dnssd.c
/*
* 'sigterm_handler()' - Handle termination signals...
*/
diff -up cups-1.4.6/config.h.in.avahi cups-1.4.6/config.h.in
--- cups-1.4.6/config.h.in.avahi 2010-08-13 05:11:46.000000000 +0100
+++ cups-1.4.6/config.h.in 2011-01-25 13:26:16.635115097 +0000
@@ -344,6 +344,13 @@
diff -up cups-1.4.7/config.h.in.avahi cups-1.4.7/config.h.in
--- cups-1.4.7/config.h.in.avahi 2011-01-10 08:39:37.000000000 +0100
+++ cups-1.4.7/config.h.in 2011-06-28 11:55:27.033868442 +0200
@@ -345,6 +345,13 @@
/*
@ -841,9 +841,9 @@ diff -up cups-1.4.6/config.h.in.avahi cups-1.4.6/config.h.in
* Do we have <sys/ioctl.h>?
*/
diff -up cups-1.4.6/config-scripts/cups-dnssd.m4.avahi cups-1.4.6/config-scripts/cups-dnssd.m4
--- cups-1.4.6/config-scripts/cups-dnssd.m4.avahi 2009-08-28 23:54:34.000000000 +0100
+++ cups-1.4.6/config-scripts/cups-dnssd.m4 2011-01-25 13:26:16.636115116 +0000
diff -up cups-1.4.7/config-scripts/cups-dnssd.m4.avahi cups-1.4.7/config-scripts/cups-dnssd.m4
--- cups-1.4.7/config-scripts/cups-dnssd.m4.avahi 2009-08-29 00:54:34.000000000 +0200
+++ cups-1.4.7/config-scripts/cups-dnssd.m4 2011-06-28 11:55:27.034868428 +0200
@@ -27,6 +27,21 @@ AC_ARG_WITH(dnssd-includes, [ --with-dn
DNSSDLIBS=""
DNSSD_BACKEND=""
@ -866,9 +866,9 @@ diff -up cups-1.4.6/config-scripts/cups-dnssd.m4.avahi cups-1.4.6/config-scripts
if test x$enable_dnssd != xno; then
AC_CHECK_HEADER(dns_sd.h, [
case "$uname" in
diff -up cups-1.4.6/cups/http-support.c.avahi cups-1.4.6/cups/http-support.c
--- cups-1.4.6/cups/http-support.c.avahi 2010-10-01 23:40:38.000000000 +0100
+++ cups-1.4.6/cups/http-support.c 2011-01-25 13:26:16.638115152 +0000
diff -up cups-1.4.7/cups/http-support.c.avahi cups-1.4.7/cups/http-support.c
--- cups-1.4.7/cups/http-support.c.avahi 2010-10-02 00:40:38.000000000 +0200
+++ cups-1.4.7/cups/http-support.c 2011-06-28 11:55:27.035868414 +0200
@@ -41,6 +41,10 @@
* http_copy_decode() - Copy and decode a URI.
* http_copy_encode() - Copy and encode a URI.
@ -1136,9 +1136,9 @@ diff -up cups-1.4.6/cups/http-support.c.avahi cups-1.4.6/cups/http-support.c
/*
* End of "$Id: http-support.c 9322 2010-10-01 22:40:38Z mike $".
*/
diff -up cups-1.4.6/scheduler/avahi.c.avahi cups-1.4.6/scheduler/avahi.c
--- cups-1.4.6/scheduler/avahi.c.avahi 2011-01-25 13:26:16.640115190 +0000
+++ cups-1.4.6/scheduler/avahi.c 2011-01-25 13:26:16.640115190 +0000
diff -up cups-1.4.7/scheduler/avahi.c.avahi cups-1.4.7/scheduler/avahi.c
--- cups-1.4.7/scheduler/avahi.c.avahi 2011-06-28 11:55:27.036868400 +0200
+++ cups-1.4.7/scheduler/avahi.c 2011-06-28 11:55:27.036868400 +0200
@@ -0,0 +1,445 @@
+/*
+ * "$Id$"
@ -1585,9 +1585,9 @@ diff -up cups-1.4.6/scheduler/avahi.c.avahi cups-1.4.6/scheduler/avahi.c
+/*
+ * End of "$Id$".
+ */
diff -up cups-1.4.6/scheduler/avahi.h.avahi cups-1.4.6/scheduler/avahi.h
--- cups-1.4.6/scheduler/avahi.h.avahi 2011-01-25 13:26:16.640115190 +0000
+++ cups-1.4.6/scheduler/avahi.h 2011-01-25 13:26:16.641115209 +0000
diff -up cups-1.4.7/scheduler/avahi.h.avahi cups-1.4.7/scheduler/avahi.h
--- cups-1.4.7/scheduler/avahi.h.avahi 2011-06-28 11:55:27.037868386 +0200
+++ cups-1.4.7/scheduler/avahi.h 2011-06-28 11:55:27.037868386 +0200
@@ -0,0 +1,49 @@
+/*
+ * "$Id$"
@ -1638,9 +1638,9 @@ diff -up cups-1.4.6/scheduler/avahi.h.avahi cups-1.4.6/scheduler/avahi.h
+/*
+ * End of "$Id$".
+ */
diff -up cups-1.4.6/scheduler/cupsd.h.avahi cups-1.4.6/scheduler/cupsd.h
--- cups-1.4.6/scheduler/cupsd.h.avahi 2010-09-21 23:34:57.000000000 +0100
+++ cups-1.4.6/scheduler/cupsd.h 2011-01-25 13:26:16.641115209 +0000
diff -up cups-1.4.7/scheduler/cupsd.h.avahi cups-1.4.7/scheduler/cupsd.h
--- cups-1.4.7/scheduler/cupsd.h.avahi 2011-01-11 08:05:58.000000000 +0100
+++ cups-1.4.7/scheduler/cupsd.h 2011-06-28 11:55:27.037868386 +0200
@@ -147,6 +147,15 @@ extern const char *cups_hstrerror(int);
typedef void (*cupsd_selfunc_t)(void *data);
@ -1667,7 +1667,7 @@ diff -up cups-1.4.6/scheduler/cupsd.h.avahi cups-1.4.6/scheduler/cupsd.h
@@ -240,6 +252,18 @@ extern void cupsdRemoveSelect(int fd);
@@ -241,6 +253,18 @@ extern void cupsdRemoveSelect(int fd);
extern void cupsdStartSelect(void);
extern void cupsdStopSelect(void);
@ -1686,9 +1686,9 @@ diff -up cups-1.4.6/scheduler/cupsd.h.avahi cups-1.4.6/scheduler/cupsd.h
extern int cupsdRemoveFile(const char *filename);
diff -up cups-1.4.6/scheduler/dirsvc.c.avahi cups-1.4.6/scheduler/dirsvc.c
--- cups-1.4.6/scheduler/dirsvc.c.avahi 2011-01-25 13:26:16.534113189 +0000
+++ cups-1.4.6/scheduler/dirsvc.c 2011-01-25 17:39:15.062315327 +0000
diff -up cups-1.4.7/scheduler/dirsvc.c.avahi cups-1.4.7/scheduler/dirsvc.c
--- cups-1.4.7/scheduler/dirsvc.c.avahi 2011-06-28 11:55:26.971869301 +0200
+++ cups-1.4.7/scheduler/dirsvc.c 2011-06-28 12:04:15.066420076 +0200
@@ -27,6 +27,7 @@
* ldap_connect() - Start new LDAP connection
* ldap_reconnect() - Reconnect to LDAP Server
@ -2159,7 +2159,7 @@ diff -up cups-1.4.6/scheduler/dirsvc.c.avahi cups-1.4.6/scheduler/dirsvc.c
/*
* Remove the printer from the array of DNS-SD printers, then clear the
@@ -2526,133 +2493,46 @@ dnssdDeregisterPrinter(
@@ -2526,136 +2493,46 @@ dnssdDeregisterPrinter(
/*
@ -2205,12 +2205,14 @@ diff -up cups-1.4.6/scheduler/dirsvc.c.avahi cups-1.4.6/scheduler/dirsvc.c
+ if (!DNSSDRef)
+ return;
- if (count <= 0)
- return (NULL);
+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name,
+ !p->ipp_ref ? "new" : "update");
- for (length = i = 0; i < count; i++)
- length += 1 + strlen(keyvalue[i][0]) +
- (keyvalue[i][1] ? 1 + strlen(keyvalue[i][1]) : 0);
+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name,
+ !p->ipp_ref ? "new" : "update");
+
+#endif /* HAVE_DNSSD */
+#ifdef HAVE_AVAHI
+ cupsdLogMessage(CUPSD_LOG_DEBUG2, "dnssdRegisterPrinter(%s) %s", p->name,
@ -2325,7 +2327,7 @@ diff -up cups-1.4.6/scheduler/dirsvc.c.avahi cups-1.4.6/scheduler/dirsvc.c
*/
if (!p->shared)
@@ -2694,6 +2574,7 @@ dnssdRegisterPrinter(cupsd_printer_t *p)
@@ -2697,6 +2574,7 @@ dnssdRegisterPrinter(cupsd_printer_t *p)
* Register IPP and (optionally) LPD...
*/
@ -2333,7 +2335,7 @@ diff -up cups-1.4.6/scheduler/dirsvc.c.avahi cups-1.4.6/scheduler/dirsvc.c
ipp_len = 0; /* anti-compiler-warning-code */
ipp_txt = dnssdBuildTxtRecord(&ipp_len, p, 0);
@@ -2860,6 +2741,146 @@ dnssdRegisterPrinter(cupsd_printer_t *p)
@@ -2863,6 +2741,146 @@ dnssdRegisterPrinter(cupsd_printer_t *p)
if (printer_txt)
free(printer_txt);
}
@ -2480,7 +2482,7 @@ diff -up cups-1.4.6/scheduler/dirsvc.c.avahi cups-1.4.6/scheduler/dirsvc.c
}
@@ -2872,6 +2893,10 @@ dnssdStop(void)
@@ -2875,6 +2893,10 @@ dnssdStop(void)
{
cupsd_printer_t *p; /* Current printer */
@ -2491,7 +2493,7 @@ diff -up cups-1.4.6/scheduler/dirsvc.c.avahi cups-1.4.6/scheduler/dirsvc.c
/*
* De-register the individual printers
@@ -2882,6 +2907,7 @@ dnssdStop(void)
@@ -2885,6 +2907,7 @@ dnssdStop(void)
p = (cupsd_printer_t *)cupsArrayNext(Printers))
dnssdDeregisterPrinter(p);
@ -2499,7 +2501,7 @@ diff -up cups-1.4.6/scheduler/dirsvc.c.avahi cups-1.4.6/scheduler/dirsvc.c
/*
* Shutdown the rest of the service refs...
*/
@@ -2902,6 +2928,7 @@ dnssdStop(void)
@@ -2905,6 +2928,7 @@ dnssdStop(void)
DNSServiceRefDeallocate(DNSSDRef);
DNSSDRef = NULL;
@ -2507,7 +2509,7 @@ diff -up cups-1.4.6/scheduler/dirsvc.c.avahi cups-1.4.6/scheduler/dirsvc.c
cupsArrayDelete(DNSSDPrinters);
DNSSDPrinters = NULL;
@@ -2911,6 +2938,272 @@ dnssdStop(void)
@@ -2914,6 +2938,272 @@ dnssdStop(void)
/*
@ -2780,7 +2782,7 @@ diff -up cups-1.4.6/scheduler/dirsvc.c.avahi cups-1.4.6/scheduler/dirsvc.c
* 'dnssdUpdate()' - Handle DNS-SD queries.
*/
@@ -2931,6 +3224,146 @@ dnssdUpdate(void)
@@ -2934,6 +3224,146 @@ dnssdUpdate(void)
#endif /* HAVE_DNSSD */
@ -2927,9 +2929,9 @@ diff -up cups-1.4.6/scheduler/dirsvc.c.avahi cups-1.4.6/scheduler/dirsvc.c
/*
* 'get_auth_info_required()' - Get the auth-info-required value to advertise.
*/
diff -up cups-1.4.6/scheduler/dirsvc.h.avahi cups-1.4.6/scheduler/dirsvc.h
--- cups-1.4.6/scheduler/dirsvc.h.avahi 2009-05-14 18:54:37.000000000 +0100
+++ cups-1.4.6/scheduler/dirsvc.h 2011-01-25 17:39:15.063315332 +0000
diff -up cups-1.4.7/scheduler/dirsvc.h.avahi cups-1.4.7/scheduler/dirsvc.h
--- cups-1.4.7/scheduler/dirsvc.h.avahi 2009-05-14 19:54:37.000000000 +0200
+++ cups-1.4.7/scheduler/dirsvc.h 2011-06-28 11:55:27.042868318 +0200
@@ -32,6 +32,10 @@
# endif /* HAVE_LDAP_SSL_H */
#endif /* HAVE_LDAP */
@ -3002,9 +3004,9 @@ diff -up cups-1.4.6/scheduler/dirsvc.h.avahi cups-1.4.6/scheduler/dirsvc.h
#ifdef HAVE_LDAP
extern void cupsdUpdateLDAPBrowse(void);
#endif /* HAVE_LDAP */
diff -up cups-1.4.6/scheduler/main.c.avahi cups-1.4.6/scheduler/main.c
--- cups-1.4.6/scheduler/main.c.avahi 2011-01-25 13:26:16.487112302 +0000
+++ cups-1.4.6/scheduler/main.c 2011-01-25 13:26:16.650115377 +0000
diff -up cups-1.4.7/scheduler/main.c.avahi cups-1.4.7/scheduler/main.c
--- cups-1.4.7/scheduler/main.c.avahi 2011-06-28 11:55:26.943869690 +0200
+++ cups-1.4.7/scheduler/main.c 2011-06-28 11:55:27.043868305 +0200
@@ -135,6 +135,10 @@ main(int argc, /* I - Number of comm
cupsd_listener_t *lis; /* Current listener */
time_t current_time, /* Current time */
@ -3110,9 +3112,9 @@ diff -up cups-1.4.6/scheduler/main.c.avahi cups-1.4.6/scheduler/main.c
/*
* Check whether we are accepting new connections...
*/
diff -up cups-1.4.6/scheduler/Makefile.avahi cups-1.4.6/scheduler/Makefile
--- cups-1.4.6/scheduler/Makefile.avahi 2011-01-25 13:26:16.591114269 +0000
+++ cups-1.4.6/scheduler/Makefile 2011-01-25 13:26:16.657115510 +0000
diff -up cups-1.4.7/scheduler/Makefile.avahi cups-1.4.7/scheduler/Makefile
--- cups-1.4.7/scheduler/Makefile.avahi 2011-06-28 11:55:27.007868803 +0200
+++ cups-1.4.7/scheduler/Makefile 2011-06-28 11:55:27.044868291 +0200
@@ -17,6 +17,7 @@ include ../Makedefs
CUPSDOBJS = \
@ -3131,10 +3133,10 @@ diff -up cups-1.4.6/scheduler/Makefile.avahi cups-1.4.6/scheduler/Makefile
LIBOBJS = \
filter.o \
mime.o \
diff -up cups-1.4.6/scheduler/printers.c.avahi cups-1.4.6/scheduler/printers.c
--- cups-1.4.6/scheduler/printers.c.avahi 2011-01-25 13:26:16.628114966 +0000
+++ cups-1.4.6/scheduler/printers.c 2011-01-25 13:26:16.659115546 +0000
@@ -929,10 +929,10 @@ cupsdDeletePrinter(
diff -up cups-1.4.7/scheduler/printers.c.avahi cups-1.4.7/scheduler/printers.c
--- cups-1.4.7/scheduler/printers.c.avahi 2011-06-28 11:55:26.928869897 +0200
+++ cups-1.4.7/scheduler/printers.c 2011-06-28 11:55:27.046868263 +0200
@@ -932,10 +932,10 @@ cupsdDeletePrinter(
cupsdClearString(&p->alert);
cupsdClearString(&p->alert_description);
@ -3147,7 +3149,7 @@ diff -up cups-1.4.6/scheduler/printers.c.avahi cups-1.4.6/scheduler/printers.c
cupsArrayDelete(p->filetypes);
@@ -1301,9 +1301,9 @@ cupsdLoadAllPrinters(void)
@@ -1304,9 +1304,9 @@ cupsdLoadAllPrinters(void)
{
if (value)
{
@ -3159,7 +3161,7 @@ diff -up cups-1.4.6/scheduler/printers.c.avahi cups-1.4.6/scheduler/printers.c
}
else
cupsdLogMessage(CUPSD_LOG_ERROR,
@@ -1717,10 +1717,10 @@ cupsdSaveAllPrinters(void)
@@ -1720,10 +1720,10 @@ cupsdSaveAllPrinters(void)
cupsFilePrintf(fp, "Type %d\n", printer->type);
@ -3172,7 +3174,7 @@ diff -up cups-1.4.6/scheduler/printers.c.avahi cups-1.4.6/scheduler/printers.c
for (ptr = (char *)cupsArrayFirst(printer->filters);
ptr;
@@ -3860,7 +3860,7 @@ add_printer_formats(cupsd_printer_t *p)
@@ -3858,7 +3858,7 @@ add_printer_formats(cupsd_printer_t *p)
attr->values[i].string.text = _cupsStrAlloc(mimetype);
}
@ -3181,7 +3183,7 @@ diff -up cups-1.4.6/scheduler/printers.c.avahi cups-1.4.6/scheduler/printers.c
{
char pdl[1024]; /* Buffer to build pdl list */
mime_filter_t *filter; /* MIME filter looping var */
@@ -3914,7 +3914,7 @@ add_printer_formats(cupsd_printer_t *p)
@@ -3912,7 +3912,7 @@ add_printer_formats(cupsd_printer_t *p)
cupsdSetString(&p->pdl, pdl);
}
@ -3190,7 +3192,7 @@ diff -up cups-1.4.6/scheduler/printers.c.avahi cups-1.4.6/scheduler/printers.c
}
@@ -4951,9 +4951,9 @@ load_ppd(cupsd_printer_t *p) /* I - Pri
@@ -4979,9 +4979,9 @@ load_ppd(cupsd_printer_t *p) /* I - Pri
attr->values[i].string.text = _cupsStrAlloc("bcp");
}
@ -3202,9 +3204,9 @@ diff -up cups-1.4.6/scheduler/printers.c.avahi cups-1.4.6/scheduler/printers.c
if (ppdFindAttr(ppd, "APRemoteQueueID", NULL))
p->type |= CUPS_PRINTER_REMOTE;
diff -up cups-1.4.6/scheduler/printers.h.avahi cups-1.4.6/scheduler/printers.h
--- cups-1.4.6/scheduler/printers.h.avahi 2010-03-30 23:07:33.000000000 +0100
+++ cups-1.4.6/scheduler/printers.h 2011-01-25 13:26:16.665115661 +0000
diff -up cups-1.4.7/scheduler/printers.h.avahi cups-1.4.7/scheduler/printers.h
--- cups-1.4.7/scheduler/printers.h.avahi 2010-03-31 00:07:33.000000000 +0200
+++ cups-1.4.7/scheduler/printers.h 2011-06-28 11:55:27.048868235 +0200
@@ -16,6 +16,9 @@
#ifdef HAVE_DNSSD
# include <dns_sd.h>
@ -3244,9 +3246,9 @@ diff -up cups-1.4.6/scheduler/printers.h.avahi cups-1.4.6/scheduler/printers.h
} cupsd_printer_t;
diff -up cups-1.4.6/scheduler/timeout.c.avahi cups-1.4.6/scheduler/timeout.c
--- cups-1.4.6/scheduler/timeout.c.avahi 2011-01-25 13:26:16.668115715 +0000
+++ cups-1.4.6/scheduler/timeout.c 2011-01-25 13:26:16.668115715 +0000
diff -up cups-1.4.7/scheduler/timeout.c.avahi cups-1.4.7/scheduler/timeout.c
--- cups-1.4.7/scheduler/timeout.c.avahi 2011-06-28 11:55:27.049868221 +0200
+++ cups-1.4.7/scheduler/timeout.c 2011-06-28 11:55:27.049868221 +0200
@@ -0,0 +1,195 @@
+/*
+ * "$Id$"

View File

@ -1,24 +0,0 @@
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)))

View File

@ -1,12 +0,0 @@
diff -up cups-1.4.6/notifier/dbus.c.job-state-changed cups-1.4.6/notifier/dbus.c
--- cups-1.4.6/notifier/dbus.c.job-state-changed 2011-02-25 12:42:11.084127808 +0000
+++ cups-1.4.6/notifier/dbus.c 2011-02-25 12:42:31.312811947 +0000
@@ -332,7 +332,7 @@ main(int argc, /* I - Number of comm
const char *word2 = event + 4; /* Second word */
params = PARAMS_JOB;
- if (!strcmp(word2, "state"))
+ if (!strcmp(word2, "state-changed"))
signame = "JobState";
else if (!strcmp(word2, "created"))
signame = "JobCreated";

View File

@ -1,7 +1,7 @@
diff -urNp cups-1.4.6.old/config.h.in cups-1.4.6/config.h.in
--- cups-1.4.6.old/config.h.in 2011-03-07 13:34:52.585876279 +0000
+++ cups-1.4.6/config.h.in 2011-03-07 13:35:07.138875913 +0000
@@ -672,6 +672,12 @@
diff -up cups-1.4.7/config.h.in.lspp cups-1.4.7/config.h.in
--- cups-1.4.7/config.h.in.lspp 2011-06-28 12:05:58.524936215 +0200
+++ cups-1.4.7/config.h.in 2011-06-28 12:05:58.566935614 +0200
@@ -673,6 +673,12 @@
#undef HAVE_SYS_STATVFS_H
#undef HAVE_SYS_VFS_H
@ -14,9 +14,9 @@ diff -urNp cups-1.4.6.old/config.h.in cups-1.4.6/config.h.in
#endif /* !_CUPS_CONFIG_H_ */
diff -urNp cups-1.4.6.old/config-scripts/cups-lspp.m4 cups-1.4.6/config-scripts/cups-lspp.m4
--- cups-1.4.6.old/config-scripts/cups-lspp.m4 1970-01-01 01:00:00.000000000 +0100
+++ cups-1.4.6/config-scripts/cups-lspp.m4 2011-03-07 13:35:07.139875938 +0000
diff -up cups-1.4.7/config-scripts/cups-lspp.m4.lspp cups-1.4.7/config-scripts/cups-lspp.m4
--- cups-1.4.7/config-scripts/cups-lspp.m4.lspp 2011-06-28 12:05:58.566935614 +0200
+++ cups-1.4.7/config-scripts/cups-lspp.m4 2011-06-28 12:05:58.566935614 +0200
@@ -0,0 +1,36 @@
+dnl
+dnl LSPP code for the Common UNIX Printing System (CUPS).
@ -54,9 +54,9 @@ diff -urNp cups-1.4.6.old/config-scripts/cups-lspp.m4 cups-1.4.6/config-scripts/
+ ;;
+ esac
+fi
diff -urNp cups-1.4.6.old/configure.in cups-1.4.6/configure.in
--- cups-1.4.6.old/configure.in 2011-03-07 13:34:52.521876279 +0000
+++ cups-1.4.6/configure.in 2011-03-07 13:35:07.139875938 +0000
diff -up cups-1.4.7/configure.in.lspp cups-1.4.7/configure.in
--- cups-1.4.7/configure.in.lspp 2010-06-22 23:42:44.000000000 +0200
+++ cups-1.4.7/configure.in 2011-06-28 12:05:58.567935599 +0200
@@ -42,6 +42,8 @@ sinclude(config-scripts/cups-pap.m4)
sinclude(config-scripts/cups-pdf.m4)
sinclude(config-scripts/cups-scripting.m4)
@ -66,9 +66,9 @@ diff -urNp cups-1.4.6.old/configure.in cups-1.4.6/configure.in
INSTALL_LANGUAGES=""
UNINSTALL_LANGUAGES=""
LANGFILES=""
diff -urNp cups-1.4.6.old/cups/cups.h cups-1.4.6/cups/cups.h
--- cups-1.4.6.old/cups/cups.h 2011-03-07 13:34:53.042876279 +0000
+++ cups-1.4.6/cups/cups.h 2011-03-07 13:35:07.140875960 +0000
diff -up cups-1.4.7/cups/cups.h.lspp cups-1.4.7/cups/cups.h
--- cups-1.4.7/cups/cups.h.lspp 2011-01-06 23:48:42.000000000 +0100
+++ cups-1.4.7/cups/cups.h 2011-06-28 12:05:58.567935599 +0200
@@ -15,6 +15,9 @@
* This file is subject to the Apple OS-Developed Software exception.
*/
@ -92,9 +92,9 @@ diff -urNp cups-1.4.6.old/cups/cups.h cups-1.4.6/cups/cups.h
/*
* Types and structures...
*/
diff -urNp cups-1.4.6.old/data/Makefile cups-1.4.6/data/Makefile
--- cups-1.4.6.old/data/Makefile 2011-03-07 13:34:52.596876279 +0000
+++ cups-1.4.6/data/Makefile 2011-03-07 13:35:07.140875960 +0000
diff -up cups-1.4.7/data/Makefile.lspp cups-1.4.7/data/Makefile
--- cups-1.4.7/data/Makefile.lspp 2008-11-12 20:30:57.000000000 +0100
+++ cups-1.4.7/data/Makefile 2011-06-28 12:05:58.568935584 +0200
@@ -25,7 +25,10 @@ BANNERS = \
secret \
standard \
@ -107,9 +107,9 @@ diff -urNp cups-1.4.6.old/data/Makefile cups-1.4.6/data/Makefile
CHARMAPS = \
euc-cn.txt \
diff -urNp cups-1.4.6.old/data/mls cups-1.4.6/data/mls
--- cups-1.4.6.old/data/mls 1970-01-01 01:00:00.000000000 +0100
+++ cups-1.4.6/data/mls 2011-03-07 13:35:07.141875981 +0000
diff -up cups-1.4.7/data/mls.lspp cups-1.4.7/data/mls
--- cups-1.4.7/data/mls.lspp 2011-06-28 12:05:58.569935569 +0200
+++ cups-1.4.7/data/mls 2011-06-28 12:05:58.569935569 +0200
@@ -0,0 +1,261 @@
+%!PS-Adobe-3.0
+%%BoundingBox: 0 0 612 792
@ -372,9 +372,9 @@ diff -urNp cups-1.4.6.old/data/mls cups-1.4.6/data/mls
+% End of "$Id: mls_template,v 1.1 2005/06/27 18:44:46 colmo Exp $".
+%
+%%EOF
diff -urNp cups-1.4.6.old/data/selinux cups-1.4.6/data/selinux
--- cups-1.4.6.old/data/selinux 1970-01-01 01:00:00.000000000 +0100
+++ cups-1.4.6/data/selinux 2011-03-07 13:35:07.141875981 +0000
diff -up cups-1.4.7/data/selinux.lspp cups-1.4.7/data/selinux
--- cups-1.4.7/data/selinux.lspp 2011-06-28 12:05:58.576935469 +0200
+++ cups-1.4.7/data/selinux 2011-06-28 12:05:58.576935469 +0200
@@ -0,0 +1,261 @@
+%!PS-Adobe-3.0
+%%BoundingBox: 0 0 612 792
@ -637,9 +637,9 @@ diff -urNp cups-1.4.6.old/data/selinux cups-1.4.6/data/selinux
+% End of "$Id: mls_template,v 1.1 2005/06/27 18:44:46 colmo Exp $".
+%
+%%EOF
diff -urNp cups-1.4.6.old/data/te cups-1.4.6/data/te
--- cups-1.4.6.old/data/te 1970-01-01 01:00:00.000000000 +0100
+++ cups-1.4.6/data/te 2011-03-07 13:35:07.142875996 +0000
diff -up cups-1.4.7/data/te.lspp cups-1.4.7/data/te
--- cups-1.4.7/data/te.lspp 2011-06-28 12:05:58.576935469 +0200
+++ cups-1.4.7/data/te 2011-06-28 12:05:58.576935469 +0200
@@ -0,0 +1,261 @@
+%!PS-Adobe-3.0
+%%BoundingBox: 0 0 612 792
@ -902,9 +902,9 @@ diff -urNp cups-1.4.6.old/data/te cups-1.4.6/data/te
+% End of "$Id: mls_template,v 1.1 2005/06/27 18:44:46 colmo Exp $".
+%
+%%EOF
diff -urNp cups-1.4.6.old/filter/common.c cups-1.4.6/filter/common.c
--- cups-1.4.6.old/filter/common.c 2011-03-07 13:34:53.361876279 +0000
+++ cups-1.4.6/filter/common.c 2011-03-07 13:35:07.143876025 +0000
diff -up cups-1.4.7/filter/common.c.lspp cups-1.4.7/filter/common.c
--- cups-1.4.7/filter/common.c.lspp 2007-07-11 23:46:42.000000000 +0200
+++ cups-1.4.7/filter/common.c 2011-06-28 12:05:58.580935412 +0200
@@ -30,6 +30,12 @@
* Include necessary headers...
*/
@ -957,7 +957,7 @@ diff -urNp cups-1.4.6.old/filter/common.c cups-1.4.6/filter/common.c
+ {
+ lines = 1 + (int)(label_len / max_width);
+ line_len = (int)(label_len / lines);
+ wrapped_label = malloc(sizeof(*wrapped_label) * lines);
+ wrapped_label = malloc(sizeof(wrapped_label) * lines);
+ label_index = i = n = 0;
+ while (classification[label_index])
+ {
@ -989,7 +989,7 @@ diff -urNp cups-1.4.6.old/filter/common.c cups-1.4.6/filter/common.c
+ else
+ {
+ lines = 1;
+ wrapped_label = malloc(sizeof(*wrapped_label));
+ wrapped_label = malloc(sizeof(wrapped_label));
+ wrapped_label[0] = (char*)classification;
+ }
+
@ -1073,10 +1073,10 @@ diff -urNp cups-1.4.6.old/filter/common.c cups-1.4.6/filter/common.c
/*
diff -urNp cups-1.4.6.old/filter/pstops.c cups-1.4.6/filter/pstops.c
--- cups-1.4.6.old/filter/pstops.c 2011-03-07 13:34:53.372876279 +0000
+++ cups-1.4.6/filter/pstops.c 2011-03-07 13:35:07.144876057 +0000
@@ -3326,6 +3326,18 @@ write_label_prolog(pstops_doc_t *doc, /*
diff -up cups-1.4.7/filter/pstops.c.lspp cups-1.4.7/filter/pstops.c
--- cups-1.4.7/filter/pstops.c.lspp 2011-06-28 12:05:58.442937394 +0200
+++ cups-1.4.7/filter/pstops.c 2011-06-28 12:05:58.582935382 +0200
@@ -3330,6 +3330,18 @@ write_label_prolog(pstops_doc_t *doc, /*
{
const char *classification; /* CLASSIFICATION environment variable */
const char *ptr; /* Temporary string pointer */
@ -1095,7 +1095,7 @@ diff -urNp cups-1.4.6.old/filter/pstops.c cups-1.4.6/filter/pstops.c
/*
@@ -3348,6 +3360,124 @@ write_label_prolog(pstops_doc_t *doc, /*
@@ -3352,6 +3364,124 @@ write_label_prolog(pstops_doc_t *doc, /*
return;
}
@ -1115,7 +1115,7 @@ diff -urNp cups-1.4.6.old/filter/pstops.c cups-1.4.6/filter/pstops.c
+ {
+ lines = 1 + (int)(label_len / max_width);
+ line_len = (int)(label_len / lines);
+ wrapped_label = malloc(sizeof(*wrapped_label) * lines);
+ wrapped_label = malloc(sizeof(wrapped_label) * lines);
+ label_index = i = n = 0;
+ while (classification[label_index])
+ {
@ -1147,7 +1147,7 @@ diff -urNp cups-1.4.6.old/filter/pstops.c cups-1.4.6/filter/pstops.c
+ else
+ {
+ lines = 1;
+ wrapped_label = malloc(sizeof(*wrapped_label));
+ wrapped_label = malloc(sizeof(wrapped_label));
+ wrapped_label[0] = (char*)classification;
+ }
+
@ -1220,7 +1220,7 @@ diff -urNp cups-1.4.6.old/filter/pstops.c cups-1.4.6/filter/pstops.c
/*
* Set the classification + page label string...
*/
@@ -3426,7 +3556,10 @@ write_label_prolog(pstops_doc_t *doc, /*
@@ -3430,7 +3560,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");
@ -1231,9 +1231,9 @@ diff -urNp cups-1.4.6.old/filter/pstops.c cups-1.4.6/filter/pstops.c
/*
diff -urNp cups-1.4.6.old/Makedefs.in cups-1.4.6/Makedefs.in
--- cups-1.4.6.old/Makedefs.in 2011-03-07 13:34:53.424876279 +0000
+++ cups-1.4.6/Makedefs.in 2011-03-07 13:35:07.145876086 +0000
diff -up cups-1.4.7/Makedefs.in.lspp cups-1.4.7/Makedefs.in
--- cups-1.4.7/Makedefs.in.lspp 2011-06-28 12:05:58.507936462 +0200
+++ cups-1.4.7/Makedefs.in 2011-06-28 12:05:58.583935367 +0200
@@ -146,7 +146,7 @@ LIBCUPSORDER = @LIBCUPSORDER@
LIBCUPSIMAGEORDER = @LIBCUPSIMAGEORDER@
LINKCUPS = @LINKCUPS@ $(SSLLIBS) $(DNSSDLIBS)
@ -1243,9 +1243,18 @@ diff -urNp cups-1.4.6.old/Makedefs.in cups-1.4.6/Makedefs.in
OPTIM = @OPTIM@
OPTIONS =
PAMLIBS = @PAMLIBS@
diff -urNp cups-1.4.6.old/scheduler/client.c cups-1.4.6/scheduler/client.c
--- cups-1.4.6.old/scheduler/client.c 2011-03-07 13:34:53.733876279 +0000
+++ cups-1.4.6/scheduler/client.c 2011-03-07 13:35:07.150876188 +0000
@@ -258,7 +258,7 @@ DBUSDIR = @DBUSDIR@
# Rules...
#
-.SILENT:
+
.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.7/scheduler/client.c.lspp cups-1.4.7/scheduler/client.c
--- cups-1.4.7/scheduler/client.c.lspp 2011-01-22 01:07:22.000000000 +0100
+++ cups-1.4.7/scheduler/client.c 2011-06-28 12:05:58.585935339 +0200
@@ -44,6 +44,7 @@
* valid_host() - Is the Host: field valid?
* write_file() - Send a file via HTTP.
@ -1261,8 +1270,8 @@ diff -urNp cups-1.4.6.old/scheduler/client.c cups-1.4.6/scheduler/client.c
+#define _GNU_SOURCE
#ifdef HAVE_CDSASSL
# include <Security/Security.h>
# include <Security/SecItem.h>
@@ -90,6 +92,12 @@ extern const char *cssmErrorString(int e
# ifdef HAVE_SECITEM_H
@@ -92,6 +94,12 @@ extern const char *cssmErrorString(int e
# include <tcpd.h>
#endif /* HAVE_TCPD_H */
@ -1275,7 +1284,7 @@ diff -urNp cups-1.4.6.old/scheduler/client.c cups-1.4.6/scheduler/client.c
/*
* Local functions...
@@ -391,6 +399,57 @@ cupsdAcceptClient(cupsd_listener_t *lis)
@@ -393,6 +401,57 @@ cupsdAcceptClient(cupsd_listener_t *lis)
}
#endif /* HAVE_TCPD_H */
@ -1333,7 +1342,7 @@ diff -urNp cups-1.4.6.old/scheduler/client.c cups-1.4.6/scheduler/client.c
#ifdef AF_INET6
if (con->http.hostaddr->addr.sa_family == AF_INET6)
cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdAcceptClient: %d from %s:%d (IPv6)",
@@ -781,6 +840,13 @@ cupsdReadClient(cupsd_client_t *con) /*
@@ -783,6 +842,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 */
@ -1347,7 +1356,7 @@ diff -urNp cups-1.4.6.old/scheduler/client.c cups-1.4.6/scheduler/client.c
status = HTTP_CONTINUE;
@@ -2135,6 +2201,67 @@ cupsdReadClient(cupsd_client_t *con) /*
@@ -2137,6 +2203,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);
@ -1415,7 +1424,7 @@ diff -urNp cups-1.4.6.old/scheduler/client.c cups-1.4.6/scheduler/client.c
}
if (con->http.state != HTTP_POST_SEND)
@@ -4641,6 +4768,50 @@ make_certificate(cupsd_client_t *con) /*
@@ -4647,6 +4774,50 @@ make_certificate(cupsd_client_t *con) /*
#endif /* HAVE_SSL */
@ -1466,9 +1475,9 @@ diff -urNp cups-1.4.6.old/scheduler/client.c cups-1.4.6/scheduler/client.c
/*
* 'pipe_command()' - Pipe the output of a command to the remote client.
*/
diff -urNp cups-1.4.6.old/scheduler/client.h cups-1.4.6/scheduler/client.h
--- cups-1.4.6.old/scheduler/client.h 2011-03-07 13:34:53.708876279 +0000
+++ cups-1.4.6/scheduler/client.h 2011-03-07 13:35:07.155876256 +0000
diff -up cups-1.4.7/scheduler/client.h.lspp cups-1.4.7/scheduler/client.h
--- cups-1.4.7/scheduler/client.h.lspp 2009-05-27 00:01:23.000000000 +0200
+++ cups-1.4.7/scheduler/client.h 2011-06-28 12:05:58.586935325 +0200
@@ -18,6 +18,13 @@
#endif /* HAVE_AUTHORIZATION_H */
@ -1504,9 +1513,9 @@ diff -urNp cups-1.4.6.old/scheduler/client.h cups-1.4.6/scheduler/client.h
/*
diff -urNp cups-1.4.6.old/scheduler/conf.c cups-1.4.6/scheduler/conf.c
--- cups-1.4.6.old/scheduler/conf.c 2011-03-07 13:34:53.540876279 +0000
+++ cups-1.4.6/scheduler/conf.c 2011-03-07 13:35:07.157876274 +0000
diff -up cups-1.4.7/scheduler/conf.c.lspp cups-1.4.7/scheduler/conf.c
--- cups-1.4.7/scheduler/conf.c.lspp 2011-06-28 12:05:58.560935698 +0200
+++ cups-1.4.7/scheduler/conf.c 2011-06-28 12:05:58.588935297 +0200
@@ -29,6 +29,7 @@
* read_configuration() - Read a configuration file.
* read_location() - Read a <Location path> definition.
@ -1546,7 +1555,7 @@ diff -urNp cups-1.4.6.old/scheduler/conf.c cups-1.4.6/scheduler/conf.c
/*
@@ -713,6 +724,25 @@ cupsdReadConfiguration(void)
@@ -719,6 +730,25 @@ cupsdReadConfiguration(void)
RunUser = getuid();
@ -1572,7 +1581,7 @@ diff -urNp cups-1.4.6.old/scheduler/conf.c cups-1.4.6/scheduler/conf.c
cupsdLogMessage(CUPSD_LOG_INFO, "Remote access is %s.",
RemotePort ? "enabled" : "disabled");
@@ -1081,11 +1111,23 @@ cupsdReadConfiguration(void)
@@ -1087,11 +1117,23 @@ cupsdReadConfiguration(void)
* Update classification setting as needed...
*/
@ -1597,7 +1606,7 @@ diff -urNp cups-1.4.6.old/scheduler/conf.c cups-1.4.6/scheduler/conf.c
/*
* Check the MaxClients setting, and then allocate memory for it...
@@ -3657,6 +3699,18 @@ read_location(cups_file_t *fp, /* I - C
@@ -3663,6 +3705,18 @@ read_location(cups_file_t *fp, /* I - C
return ((FatalErrors & CUPSD_FATAL_CONFIG) ? 0 : linenum);
}
@ -1616,9 +1625,9 @@ diff -urNp cups-1.4.6.old/scheduler/conf.c cups-1.4.6/scheduler/conf.c
/*
* 'read_policy()' - Read a <Policy name> definition.
diff -urNp cups-1.4.6.old/scheduler/conf.h cups-1.4.6/scheduler/conf.h
--- cups-1.4.6.old/scheduler/conf.h 2011-03-07 13:34:53.561876277 +0000
+++ cups-1.4.6/scheduler/conf.h 2011-03-07 13:35:07.158876277 +0000
diff -up cups-1.4.7/scheduler/conf.h.lspp cups-1.4.7/scheduler/conf.h
--- cups-1.4.7/scheduler/conf.h.lspp 2011-06-28 12:05:58.411937841 +0200
+++ cups-1.4.7/scheduler/conf.h 2011-06-28 12:05:58.589935283 +0200
@@ -250,6 +250,12 @@ VAR char *ServerKey VALUE(NULL);
VAR int SSLOptions VALUE(CUPSD_SSL_NONE);
/* SSL/TLS options */
@ -1642,9 +1651,9 @@ diff -urNp cups-1.4.6.old/scheduler/conf.h cups-1.4.6/scheduler/conf.h
/*
* Prototypes...
diff -urNp cups-1.4.6.old/scheduler/ipp.c cups-1.4.6/scheduler/ipp.c
--- cups-1.4.6.old/scheduler/ipp.c 2011-03-07 13:34:53.720876279 +0000
+++ cups-1.4.6/scheduler/ipp.c 2011-03-07 13:35:07.167876275 +0000
diff -up cups-1.4.7/scheduler/ipp.c.lspp cups-1.4.7/scheduler/ipp.c
--- cups-1.4.7/scheduler/ipp.c.lspp 2011-06-28 12:05:58.547935884 +0200
+++ cups-1.4.7/scheduler/ipp.c 2011-06-28 12:05:58.593935224 +0200
@@ -41,6 +41,7 @@
* cancel_all_jobs() - Cancel all print jobs.
* cancel_job() - Cancel a print job.
@ -1963,7 +1972,7 @@ diff -urNp cups-1.4.6.old/scheduler/ipp.c cups-1.4.6/scheduler/ipp.c
/*
* See if we need to add the starting sheet...
@@ -4295,6 +4527,111 @@ check_rss_recipient(
@@ -4308,6 +4540,107 @@ check_rss_recipient(
}
@ -2022,11 +2031,7 @@ diff -urNp cups-1.4.6.old/scheduler/ipp.c cups-1.4.6/scheduler/ipp.c
+ cupsdLogMessage(CUPSD_LOG_ERROR, "check_context: unable to convert %s to SELinux sid", con->scon);
+ return -1;
+ }
+ if (avc_context_to_sid(job->scon, &jobsid) != 0)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "check_context: unable to convert %s to SELinux sid", job->scon);
+ return -1;
+ }
+ avc_context_to_sid(job->scon, &jobsid);
+ avc_entry_ref_init(&avcref);
+ tclass = SECCLASS_FILE;
+ avr = FILE__READ;
@ -2075,7 +2080,7 @@ diff -urNp cups-1.4.6.old/scheduler/ipp.c cups-1.4.6/scheduler/ipp.c
/*
* 'check_quotas()' - Check quotas for a printer and user.
*/
@@ -4849,6 +5182,15 @@ copy_banner(cupsd_client_t *con, /* I -
@@ -4862,6 +5195,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 +2096,7 @@ diff -urNp cups-1.4.6.old/scheduler/ipp.c cups-1.4.6/scheduler/ipp.c
cupsdLogMessage(CUPSD_LOG_DEBUG2,
@@ -4884,6 +5226,82 @@ copy_banner(cupsd_client_t *con, /* I -
@@ -4897,6 +5239,82 @@ copy_banner(cupsd_client_t *con, /* I -
fchmod(cupsFileNumber(out), 0640);
fchown(cupsFileNumber(out), RunUser, Group);
@ -2174,7 +2179,7 @@ diff -urNp cups-1.4.6.old/scheduler/ipp.c cups-1.4.6/scheduler/ipp.c
/*
* Try the localized banner file under the subdirectory...
@@ -4978,6 +5396,24 @@ copy_banner(cupsd_client_t *con, /* I -
@@ -4991,6 +5409,24 @@ copy_banner(cupsd_client_t *con, /* I -
else
s = attrname;
@ -2199,7 +2204,7 @@ diff -urNp cups-1.4.6.old/scheduler/ipp.c cups-1.4.6/scheduler/ipp.c
if (!strcmp(s, "printer-name"))
{
cupsFilePuts(out, job->dest);
@@ -6957,6 +7393,22 @@ get_job_attrs(cupsd_client_t *con, /* I
@@ -6975,6 +7411,22 @@ get_job_attrs(cupsd_client_t *con, /* I
return;
}
@ -2222,7 +2227,7 @@ diff -urNp cups-1.4.6.old/scheduler/ipp.c cups-1.4.6/scheduler/ipp.c
/*
* Copy attributes...
*/
@@ -7187,6 +7639,11 @@ get_jobs(cupsd_client_t *con, /* I - C
@@ -7205,6 +7657,11 @@ get_jobs(cupsd_client_t *con, /* I - C
if (username[0] && strcasecmp(username, job->username))
continue;
@ -2234,7 +2239,7 @@ diff -urNp cups-1.4.6.old/scheduler/ipp.c cups-1.4.6/scheduler/ipp.c
if (count > 0)
ippAddSeparator(con->response);
@@ -11606,6 +12063,11 @@ validate_user(cupsd_job_t *job, /* I
@@ -11624,6 +12081,11 @@ validate_user(cupsd_job_t *job, /* I
strlcpy(username, get_username(con), userlen);
@ -2246,10 +2251,10 @@ diff -urNp cups-1.4.6.old/scheduler/ipp.c cups-1.4.6/scheduler/ipp.c
/*
* Check the username against the owner...
*/
diff -urNp cups-1.4.6.old/scheduler/job.c cups-1.4.6/scheduler/job.c
--- cups-1.4.6.old/scheduler/job.c 2011-03-07 13:34:53.553876279 +0000
+++ cups-1.4.6/scheduler/job.c 2011-03-07 13:35:07.175876275 +0000
@@ -66,6 +66,9 @@
diff -up cups-1.4.7/scheduler/job.c.lspp cups-1.4.7/scheduler/job.c
--- cups-1.4.7/scheduler/job.c.lspp 2011-06-28 12:05:58.476936905 +0200
+++ cups-1.4.7/scheduler/job.c 2011-06-28 12:05:58.596935180 +0200
@@ -64,6 +64,9 @@
* update_job_attrs() - Update the job-printer-* attributes.
*/
@ -2259,7 +2264,7 @@ diff -urNp cups-1.4.6.old/scheduler/job.c cups-1.4.6/scheduler/job.c
/*
* Include necessary headers...
*/
@@ -75,6 +78,14 @@
@@ -73,6 +76,14 @@
#include <cups/backend.h>
#include <cups/dir.h>
@ -2274,7 +2279,7 @@ diff -urNp cups-1.4.6.old/scheduler/job.c cups-1.4.6/scheduler/job.c
/*
* Design Notes for Job Management
@@ -508,6 +519,14 @@ cupsdContinueJob(cupsd_job_t *job) /* I
@@ -505,6 +516,14 @@ cupsdContinueJob(cupsd_job_t *job) /* I
/* PRINTER env variable */
rip_max_cache[255];
/* RIP_MAX_CACHE env variable */
@ -2289,7 +2294,7 @@ diff -urNp cups-1.4.6.old/scheduler/job.c cups-1.4.6/scheduler/job.c
cupsdLogMessage(CUPSD_LOG_DEBUG2,
@@ -932,6 +951,67 @@ cupsdContinueJob(cupsd_job_t *job) /* I
@@ -929,6 +948,67 @@ cupsdContinueJob(cupsd_job_t *job) /* I
}
}
@ -2357,7 +2362,32 @@ diff -urNp cups-1.4.6.old/scheduler/job.c cups-1.4.6/scheduler/job.c
if (Classification && !banner_page)
{
if ((attr = ippFindAttribute(job->attrs, "job-sheets",
@@ -1629,6 +1709,20 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J
@@ -1165,13 +1245,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
@@ -1179,7 +1259,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__ */
@@ -1634,6 +1714,20 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J
goto error;
}
@ -2378,7 +2408,7 @@ diff -urNp cups-1.4.6.old/scheduler/job.c cups-1.4.6/scheduler/job.c
job->sheets = ippFindAttribute(job->attrs, "job-media-sheets-completed",
IPP_TAG_INTEGER);
job->job_sheets = ippFindAttribute(job->attrs, "job-sheets", IPP_TAG_NAME);
@@ -2016,6 +2110,14 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J
@@ -2021,6 +2115,14 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J
{
char filename[1024]; /* Job control filename */
cups_file_t *fp; /* Job file */
@ -2393,7 +2423,7 @@ diff -urNp cups-1.4.6.old/scheduler/job.c cups-1.4.6/scheduler/job.c
cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdSaveJob(job=%p(%d)): job->attrs=%p",
@@ -2034,6 +2136,76 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J
@@ -2039,6 +2141,76 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J
fchmod(cupsFileNumber(fp), 0600);
fchown(cupsFileNumber(fp), RunUser, Group);
@ -2470,7 +2500,7 @@ diff -urNp cups-1.4.6.old/scheduler/job.c cups-1.4.6/scheduler/job.c
job->attrs->state = IPP_IDLE;
if (ippWriteIO(fp, (ipp_iocb_t)cupsFileWrite, 1, NULL,
@@ -3341,6 +3513,18 @@ get_options(cupsd_job_t *job, /* I - Jo
@@ -3353,6 +3525,18 @@ get_options(cupsd_job_t *job, /* I - Jo
banner_page)
continue;
@ -2489,7 +2519,7 @@ diff -urNp cups-1.4.6.old/scheduler/job.c cups-1.4.6/scheduler/job.c
/*
* Otherwise add them to the list...
*/
@@ -4029,6 +4213,19 @@ static void
@@ -3989,6 +4173,19 @@ static void
start_job(cupsd_job_t *job, /* I - Job ID */
cupsd_printer_t *printer) /* I - Printer to print job */
{
@ -2509,7 +2539,7 @@ diff -urNp cups-1.4.6.old/scheduler/job.c cups-1.4.6/scheduler/job.c
cupsdLogMessage(CUPSD_LOG_DEBUG2, "start_job(job=%p(%d), printer=%p(%s))",
job, job->id, printer, printer->name);
@@ -4151,6 +4348,108 @@ start_job(cupsd_job_t *job, /* I -
@@ -4111,6 +4308,108 @@ start_job(cupsd_job_t *job, /* I -
fcntl(job->side_pipes[1], F_SETFD,
fcntl(job->side_pipes[1], F_GETFD) | FD_CLOEXEC);
@ -2618,9 +2648,9 @@ diff -urNp cups-1.4.6.old/scheduler/job.c cups-1.4.6/scheduler/job.c
/*
* Now start the first file in the job...
*/
diff -urNp cups-1.4.6.old/scheduler/job.h cups-1.4.6/scheduler/job.h
--- cups-1.4.6.old/scheduler/job.h 2011-03-07 13:34:53.530876279 +0000
+++ cups-1.4.6/scheduler/job.h 2011-03-07 13:35:07.177876275 +0000
diff -up cups-1.4.7/scheduler/job.h.lspp cups-1.4.7/scheduler/job.h
--- cups-1.4.7/scheduler/job.h.lspp 2009-05-12 00:46:01.000000000 +0200
+++ cups-1.4.7/scheduler/job.h 2011-06-28 12:05:58.605935048 +0200
@@ -13,6 +13,13 @@
* file is missing or damaged, see the license at "http://www.cups.org/".
*/
@ -2646,9 +2676,9 @@ diff -urNp cups-1.4.6.old/scheduler/job.h cups-1.4.6/scheduler/job.h
};
typedef struct cupsd_joblog_s /**** Job log message ****/
diff -urNp cups-1.4.6.old/scheduler/main.c cups-1.4.6/scheduler/main.c
--- cups-1.4.6.old/scheduler/main.c 2011-03-07 13:34:53.671876279 +0000
+++ cups-1.4.6/scheduler/main.c 2011-03-07 13:35:07.179876275 +0000
diff -up cups-1.4.7/scheduler/main.c.lspp cups-1.4.7/scheduler/main.c
--- cups-1.4.7/scheduler/main.c.lspp 2011-06-28 12:05:58.533936087 +0200
+++ cups-1.4.7/scheduler/main.c 2011-06-28 12:06:45.061266687 +0200
@@ -37,6 +37,8 @@
* usage() - Show scheduler usage.
*/
@ -2668,16 +2698,16 @@ diff -urNp cups-1.4.6.old/scheduler/main.c cups-1.4.6/scheduler/main.c
/*
* Local functions...
@@ -149,6 +154,9 @@ main(int argc, /* I - Number of comm
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
struct sigaction action; /* Actions for POSIX signals */
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
@@ -170,6 +175,9 @@ main(int argc, /* I - Number of comm
long tmo_delay; /* Time before it must be called */
#endif /* HAVE_AVAHI */
+#if WITH_LSPP
+ auditfail_t failmode; /* Action for audit_open failure */
+#endif /* WITH_LSPP */
#ifdef __sgi
cups_file_t *fp; /* Fake lpsched lock file */
struct stat statbuf; /* Needed for checking lpsched FIFO */
#ifdef HAVE_GETEUID
/*
@@ -478,6 +486,25 @@ main(int argc, /* I - Number of comm
#endif /* DEBUG */
}
@ -2716,10 +2746,10 @@ diff -urNp cups-1.4.6.old/scheduler/main.c cups-1.4.6/scheduler/main.c
return (!stop_scheduler);
}
diff -urNp cups-1.4.6.old/scheduler/printers.c cups-1.4.6/scheduler/printers.c
--- cups-1.4.6.old/scheduler/printers.c 2011-03-07 13:34:53.708876279 +0000
+++ cups-1.4.6/scheduler/printers.c 2011-03-07 13:35:07.182876275 +0000
@@ -59,6 +59,8 @@
diff -up cups-1.4.7/scheduler/printers.c.lspp cups-1.4.7/scheduler/printers.c
--- cups-1.4.7/scheduler/printers.c.lspp 2011-06-28 12:05:58.551935828 +0200
+++ cups-1.4.7/scheduler/printers.c 2011-06-28 12:05:58.608935007 +0200
@@ -61,6 +61,8 @@
* write_xml_string() - Write a string with XML escaping.
*/
@ -2728,19 +2758,18 @@ diff -urNp cups-1.4.6.old/scheduler/printers.c cups-1.4.6/scheduler/printers.c
/*
* Include necessary headers...
*/
@@ -81,6 +83,11 @@
# include <sys/vfs.h>
#endif /* HAVE_SYS_VFS_H */
@@ -108,6 +110,10 @@ static void write_irix_state(cupsd_print
#endif /* __sgi */
static void write_xml_string(cups_file_t *fp, const char *s);
+#ifdef WITH_LSPP
+# include <libaudit.h>
+# include <selinux/context.h>
+#endif /* WITH_LSPP */
+
#ifdef HAVE_DBUS
# include "colord.h"
#endif /* HAVE_DBUS */
@@ -2329,6 +2336,13 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
/*
* 'cupsdAddPrinter()' - Add a printer to the system.
@@ -2332,6 +2338,13 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
"username",
"password"
};
@ -2754,7 +2783,7 @@ diff -urNp cups-1.4.6.old/scheduler/printers.c cups-1.4.6/scheduler/printers.c
DEBUG_printf(("cupsdSetPrinterAttrs: entering name = %s, type = %x\n", p->name,
@@ -2459,6 +2473,45 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
@@ -2462,6 +2475,45 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
attr->values[1].string.text = _cupsStrAlloc(Classification ?
Classification : p->job_sheets[1]);
}
@ -2800,7 +2829,7 @@ diff -urNp cups-1.4.6.old/scheduler/printers.c cups-1.4.6/scheduler/printers.c
}
p->raw = 0;
@@ -5605,7 +5658,6 @@ write_irix_state(cupsd_printer_t *p) /*
@@ -5654,7 +5706,6 @@ write_irix_state(cupsd_printer_t *p) /*
}
#endif /* __sgi */

View File

@ -1,6 +1,6 @@
diff -up cups-1.4.6/scheduler/conf.c.serverbin-compat cups-1.4.6/scheduler/conf.c
--- cups-1.4.6/scheduler/conf.c.serverbin-compat 2010-08-31 05:18:38.000000000 +0100
+++ cups-1.4.6/scheduler/conf.c 2011-01-12 16:28:47.233270999 +0000
diff -up cups-1.4.7/scheduler/conf.c.serverbin-compat cups-1.4.7/scheduler/conf.c
--- cups-1.4.7/scheduler/conf.c.serverbin-compat 2011-01-11 08:05:58.000000000 +0100
+++ cups-1.4.7/scheduler/conf.c 2011-06-28 10:43:24.677053741 +0200
@@ -488,6 +488,9 @@ cupsdReadConfiguration(void)
cupsdClearString(&ServerName);
cupsdClearString(&ServerAdmin);
@ -11,7 +11,7 @@ diff -up cups-1.4.6/scheduler/conf.c.serverbin-compat cups-1.4.6/scheduler/conf.
cupsdSetString(&RequestRoot, CUPS_REQUESTS);
cupsdSetString(&CacheDir, CUPS_CACHEDIR);
cupsdSetString(&DataDir, CUPS_DATADIR);
@@ -1331,7 +1334,12 @@ cupsdReadConfiguration(void)
@@ -1337,7 +1340,12 @@ cupsdReadConfiguration(void)
* Read the MIME type and conversion database...
*/
@ -24,9 +24,9 @@ diff -up cups-1.4.6/scheduler/conf.c.serverbin-compat cups-1.4.6/scheduler/conf.
snprintf(mimedir, sizeof(mimedir), "%s/mime", DataDir);
MimeDatabase = mimeLoadTypes(NULL, mimedir);
diff -up cups-1.4.6/scheduler/conf.h.serverbin-compat cups-1.4.6/scheduler/conf.h
--- cups-1.4.6/scheduler/conf.h.serverbin-compat 2010-04-23 19:56:34.000000000 +0100
+++ cups-1.4.6/scheduler/conf.h 2011-01-12 16:28:47.233270999 +0000
diff -up cups-1.4.7/scheduler/conf.h.serverbin-compat cups-1.4.7/scheduler/conf.h
--- cups-1.4.7/scheduler/conf.h.serverbin-compat 2010-04-23 20:56:34.000000000 +0200
+++ cups-1.4.7/scheduler/conf.h 2011-06-28 10:43:24.678053725 +0200
@@ -105,6 +105,10 @@ VAR char *ConfigurationFile VALUE(NULL)
/* Root directory for scheduler */
*ServerBin VALUE(NULL),
@ -38,13 +38,13 @@ diff -up cups-1.4.6/scheduler/conf.h.serverbin-compat cups-1.4.6/scheduler/conf.
*StateDir VALUE(NULL),
/* Root directory for state data */
*RequestRoot VALUE(NULL),
diff -up cups-1.4.6/scheduler/env.c.serverbin-compat cups-1.4.6/scheduler/env.c
--- cups-1.4.6/scheduler/env.c.serverbin-compat 2009-06-15 18:13:52.000000000 +0100
+++ cups-1.4.6/scheduler/env.c 2011-01-12 16:28:47.234270949 +0000
@@ -87,8 +87,13 @@ cupsdInitEnv(void)
cupsdSetEnv("LD_LIBRARY_PATH", NULL);
cupsdSetEnv("LD_PRELOAD", NULL);
cupsdSetEnv("NLSPATH", NULL);
diff -up cups-1.4.7/scheduler/env.c.serverbin-compat cups-1.4.7/scheduler/env.c
--- cups-1.4.7/scheduler/env.c.serverbin-compat 2011-01-11 08:05:58.000000000 +0100
+++ cups-1.4.7/scheduler/env.c 2011-06-28 10:49:25.638319580 +0200
@@ -218,8 +218,13 @@ cupsdUpdateEnv(void)
set_if_undefined("LD_PRELOAD", NULL);
set_if_undefined("NLSPATH", NULL);
if (find_env("PATH") < 0)
+#ifdef __x86_64__
+ cupsdSetEnvf("PATH", "%s/filter:%s/filter:" CUPS_BINDIR ":" CUPS_SBINDIR
+ ":/bin:/usr/bin", ServerBin, ServerBin_compat);
@ -52,12 +52,12 @@ diff -up cups-1.4.6/scheduler/env.c.serverbin-compat cups-1.4.6/scheduler/env.c
cupsdSetEnvf("PATH", "%s/filter:" CUPS_BINDIR ":" CUPS_SBINDIR
":/bin:/usr/bin", ServerBin);
+#endif
cupsdSetEnv("SERVER_ADMIN", ServerAdmin);
cupsdSetEnv("SHLIB_PATH", NULL);
cupsdSetEnv("SOFTWARE", CUPS_MINIMAL);
diff -up cups-1.4.6/scheduler/ipp.c.serverbin-compat cups-1.4.6/scheduler/ipp.c
--- cups-1.4.6/scheduler/ipp.c.serverbin-compat 2010-10-06 21:07:44.000000000 +0100
+++ cups-1.4.6/scheduler/ipp.c 2011-01-12 16:28:47.246270349 +0000
set_if_undefined("SERVER_ADMIN", ServerAdmin);
set_if_undefined("SHLIB_PATH", NULL);
set_if_undefined("SOFTWARE", CUPS_MINIMAL);
diff -up cups-1.4.7/scheduler/ipp.c.serverbin-compat cups-1.4.7/scheduler/ipp.c
--- cups-1.4.7/scheduler/ipp.c.serverbin-compat 2011-02-15 00:47:29.000000000 +0100
+++ cups-1.4.7/scheduler/ipp.c 2011-06-28 10:43:24.682053664 +0200
@@ -2602,9 +2602,18 @@ add_printer(cupsd_client_t *con, /* I -
* Could not find device in list!
*/
@ -77,10 +77,10 @@ diff -up cups-1.4.6/scheduler/ipp.c.serverbin-compat cups-1.4.6/scheduler/ipp.c
}
}
diff -up cups-1.4.6/scheduler/job.c.serverbin-compat cups-1.4.6/scheduler/job.c
--- cups-1.4.6/scheduler/job.c.serverbin-compat 2010-11-30 22:35:02.000000000 +0000
+++ cups-1.4.6/scheduler/job.c 2011-01-12 16:31:43.515443755 +0000
@@ -975,8 +975,32 @@ cupsdContinueJob(cupsd_job_t *job) /* I
diff -up cups-1.4.7/scheduler/job.c.serverbin-compat cups-1.4.7/scheduler/job.c
--- cups-1.4.7/scheduler/job.c.serverbin-compat 2011-04-23 00:38:01.000000000 +0200
+++ cups-1.4.7/scheduler/job.c 2011-06-28 10:43:24.686053600 +0200
@@ -972,8 +972,32 @@ cupsdContinueJob(cupsd_job_t *job) /* I
i ++, filter = (mime_filter_t *)cupsArrayNext(filters))
{
if (filter->filter[0] != '/')
@ -115,7 +115,7 @@ diff -up cups-1.4.6/scheduler/job.c.serverbin-compat cups-1.4.6/scheduler/job.c
else
strlcpy(command, filter->filter, sizeof(command));
@@ -1122,6 +1146,28 @@ cupsdContinueJob(cupsd_job_t *job) /* I
@@ -1119,6 +1143,28 @@ cupsdContinueJob(cupsd_job_t *job) /* I
cupsdClosePipe(job->print_pipes);
cupsdClosePipe(job->back_pipes);
cupsdClosePipe(job->side_pipes);
@ -123,13 +123,13 @@ diff -up cups-1.4.6/scheduler/job.c.serverbin-compat cups-1.4.6/scheduler/job.c
+ if (access(command, F_OK))
+ {
+ snprintf(command, sizeof(command), "%s/backend/%s", ServerBin_compat,
+ scheme);
+ method);
+ 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!", scheme,
+ "Backend '%s' not in %s/backend!", method,
+ ServerBin);
+ }
+ else
@ -137,17 +137,17 @@ diff -up cups-1.4.6/scheduler/job.c.serverbin-compat cups-1.4.6/scheduler/job.c
+ /* Not in the compat directory either; make any error
+ messages use the correct directory name then. */
+ snprintf(command, sizeof(command), "%s/backend/%s", ServerBin,
+ scheme);
+ method);
+ }
+ }
+#endif /* __x86_64__ */
close(job->status_pipes[1]);
job->status_pipes[1] = -1;
diff -up cups-1.4.6/scheduler/printers.c.serverbin-compat cups-1.4.6/scheduler/printers.c
--- cups-1.4.6/scheduler/printers.c.serverbin-compat 2010-09-22 19:35:07.000000000 +0100
+++ cups-1.4.6/scheduler/printers.c 2011-01-12 16:28:47.261269599 +0000
@@ -1114,9 +1114,19 @@ cupsdLoadAllPrinters(void)
diff -up cups-1.4.7/scheduler/printers.c.serverbin-compat cups-1.4.7/scheduler/printers.c
--- cups-1.4.7/scheduler/printers.c.serverbin-compat 2011-03-04 20:28:38.000000000 +0100
+++ cups-1.4.7/scheduler/printers.c 2011-06-28 10:43:24.688053568 +0200
@@ -1118,9 +1118,19 @@ cupsdLoadAllPrinters(void)
* Backend does not exist, stop printer...
*/
@ -167,7 +167,7 @@ diff -up cups-1.4.6/scheduler/printers.c.serverbin-compat cups-1.4.6/scheduler/p
}
}
@@ -3658,6 +3668,14 @@ add_printer_filter(
@@ -3657,6 +3667,14 @@ add_printer_filter(
if (stat(filename, &fileinfo))
{
@ -182,7 +182,7 @@ diff -up cups-1.4.6/scheduler/printers.c.serverbin-compat cups-1.4.6/scheduler/p
memset(&fileinfo, 0, sizeof(fileinfo));
snprintf(p->state_message, sizeof(p->state_message),
@@ -3666,6 +3684,9 @@ add_printer_filter(
@@ -3665,6 +3683,9 @@ add_printer_filter(
cupsdSetPrinterReasons(p, "+cups-missing-filter-warning");
cupsdLogMessage(CUPSD_LOG_ERROR, "%s", p->state_message);

View File

@ -1,7 +1,7 @@
diff -up cups-1.4.3/backend/snmp-supplies.c.snmp-quirks cups-1.4.3/backend/snmp-supplies.c
--- cups-1.4.3/backend/snmp-supplies.c.snmp-quirks 2009-11-20 01:27:57.000000000 +0000
+++ cups-1.4.3/backend/snmp-supplies.c 2010-06-09 16:27:05.515019804 +0100
@@ -38,6 +38,13 @@
diff -up cups-1.4.7/backend/snmp-supplies.c.snmp-quirks cups-1.4.7/backend/snmp-supplies.c
--- cups-1.4.7/backend/snmp-supplies.c.snmp-quirks 2011-03-10 04:50:59.000000000 +0100
+++ cups-1.4.7/backend/snmp-supplies.c 2011-06-28 11:11:57.944155996 +0200
@@ -49,6 +49,13 @@
/*
@ -15,7 +15,7 @@ diff -up cups-1.4.3/backend/snmp-supplies.c.snmp-quirks cups-1.4.3/backend/snmp-
* Local structures...
*/
@@ -57,6 +64,12 @@ typedef struct /**** Printer state ta
@@ -68,6 +75,12 @@ typedef struct /**** Printer state ta
const char *keyword; /* IPP printer-state-reasons keyword */
} backend_state_t;
@ -28,16 +28,16 @@ diff -up cups-1.4.3/backend/snmp-supplies.c.snmp-quirks cups-1.4.3/backend/snmp-
/*
* Local globals...
@@ -68,6 +81,7 @@ static int current_state = -1;
@@ -79,6 +92,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 int supply_state = -1;
@@ -180,6 +194,15 @@ static const backend_state_t const suppl
{ CUPS_TONER_EMPTY, "toner-empty-warning" }
};
+static const quirk_name_t const quirk_names[] =
@ -52,17 +52,17 @@ diff -up cups-1.4.3/backend/snmp-supplies.c.snmp-quirks cups-1.4.3/backend/snmp-
/*
* Local functions...
@@ -208,6 +231,9 @@ backendSNMPSupplies(
if (i)
*ptr++ = ',';
@@ -233,6 +256,9 @@ backendSNMPSupplies(
for (i = 0, ptr = value; i < num_supplies; i ++, ptr += strlen(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(
percent = 100 * supplies[i].level / supplies[i].max_capacity;
if (percent <= 10)
@@ -406,6 +432,7 @@ backend_init_supplies(
http_addr_t *addr) /* I - Printer address */
{
int i, /* Looping var */
@ -70,7 +70,7 @@ diff -up cups-1.4.3/backend/snmp-supplies.c.snmp-quirks cups-1.4.3/backend/snmp-
type; /* Current marker type */
cups_file_t *cachefile; /* Cache file */
const char *cachedir; /* CUPS_CACHEDIR value */
@@ -366,6 +393,7 @@ backend_init_supplies(
@@ -467,6 +494,7 @@ backend_init_supplies(
current_state = -1;
num_supplies = -1;
charset = -1;
@ -78,7 +78,7 @@ diff -up cups-1.4.3/backend/snmp-supplies.c.snmp-quirks cups-1.4.3/backend/snmp-
memset(supplies, 0, sizeof(supplies));
@@ -381,6 +409,34 @@ backend_init_supplies(
@@ -482,6 +510,34 @@ backend_init_supplies(
return;
}

View File

@ -1,11 +0,0 @@
diff -up cups-1.4.5/scheduler/printers.c.printer-timeout cups-1.4.5/scheduler/printers.c
--- cups-1.4.5/scheduler/printers.c.printer-timeout 2010-12-16 14:42:07.048865052 +0000
+++ cups-1.4.5/scheduler/printers.c 2010-12-16 14:43:05.325684376 +0000
@@ -785,6 +785,7 @@ cupsdDeletePrinter(
*/
cupsdSetPrinterState(p, IPP_PRINTER_STOPPED, update);
+ p->state = IPP_PRINTER_STOPPED;
if (p->job)
cupsdSetJobState(p->job, IPP_JOB_PENDING, CUPSD_JOB_FORCE,

View File

@ -12,8 +12,8 @@
Summary: Common Unix Printing System
Name: cups
Version: 1.4.6
Release: 20%{?dist}
Version: 1.4.7
Release: 1%{?dist}
License: GPLv2
Group: System Environment/Daemons
Source: http://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.bz2
@ -59,23 +59,20 @@ Patch20: cups-res_init.patch
Patch21: cups-filter-debug.patch
Patch22: cups-uri-compat.patch
Patch23: cups-cups-get-classes.patch
Patch25: cups-str3382.patch
Patch26: cups-force-gnutls.patch
Patch27: cups-serialize-gnutls.patch
Patch29: cups-0755.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
Patch38: cups-autotype-crash.patch
Patch39: cups-str3754.patch
Patch24: cups-str3382.patch
Patch25: cups-force-gnutls.patch
Patch26: cups-serialize-gnutls.patch
Patch27: cups-0755.patch
Patch28: cups-snmp-quirks.patch
Patch29: cups-hp-deviceid-oid.patch
Patch30: cups-dnssd-deviceid.patch
Patch31: cups-ricoh-deviceid-oid.patch
Patch32: cups-texttops-rotate-page.patch
Patch33: cups-usb-parallel.patch
Patch34: cups-str3535.patch
Patch40: cups-avahi.patch
Patch41: cups-icc.patch
Patch42: cups-usb-parallel.patch
Patch43: cups-job-state-changed.patch
Patch44: cups-str3535.patch
Patch100: cups-lspp.patch
@ -261,43 +258,35 @@ module.
# Fix support for older CUPS servers in cupsGetDests.
%patch23 -p1 -b .cups-get-classes
# Fix temporary filename creation.
%patch25 -p1 -b .str3382
%patch24 -p1 -b .str3382
# Force the use of gnutls despite thread-safety concerns (bug #607159).
%patch26 -p1 -b .force-gnutls
%patch25 -p1 -b .force-gnutls
# Perform locking for gnutls and avoid libgcrypt's broken
# locking (bug #607159).
%patch27 -p1 -b .serialize-gnutls
%patch26 -p1 -b .serialize-gnutls
# Use mode 0755 for binaries and libraries where appropriate.
%patch29 -p1 -b .0755
# Use numeric addresses for interfaces unless HostNameLookups are
# turned on (bug #583054).
%patch31 -p1 -b .hostnamelookups
%patch27 -p1 -b .0755
# Handle SNMP supply level quirks (bug #581825).
%patch33 -p1 -b .snmp-quirks
%patch28 -p1 -b .snmp-quirks
# Add an SNMP query for HP's device ID OID (STR #3552).
%patch34 -p1 -b .hp-deviceid-oid
%patch29 -p1 -b .hp-deviceid-oid
# Mark DNS-SD Device IDs that have been guessed at with "FZY:1;".
%patch35 -p1 -b .dnssd-deviceid
%patch30 -p1 -b .dnssd-deviceid
# Add an SNMP query for Ricoh's device ID OID (STR #3552).
%patch36 -p1 -b .ricoh-deviceid-oid
%patch31 -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
# Don't crash when MIME database could not be loaded (bug #610088).
%patch38 -p1 -b .autotype-crash
# Don't crash when job queued for printer that times out (bug #660604).
%patch39 -p1 -b .str3754
%patch32 -p1 -b .texttops-rotate-page
# Till's patch to fix USB-Parallel adapter cable problem (bug #624564).
%patch33 -p1 -b .usb-parallel
# Set the default RIPCache to 128m (STR #3535, bug #549901).
%patch34 -p1 -b .str3535
# Avahi support in the dnssd backend.
%patch40 -p1 -b .avahi
# ICC colord support.
%patch41 -p1 -b .icc
# Till's patch to fix USB-Parallel adapter cable problem (bug #624564).
%patch42 -p1 -b .usb-parallel
# Fixed dbus notifier support for job-state-changed.
%patch43 -p1 -b .job-state-changed
# Set the default RIPCache to 128m (STR #3535, bug #549901).
%patch44 -p1 -b .str3535
%if %lspp
# LSPP support.
@ -617,6 +606,9 @@ rm -rf $RPM_BUILD_ROOT
%{php_extdir}/phpcups.so
%changelog
* Tue Jun 28 2011 Jiri Popelka <jpopelka@redhat.com> 1:1.4.7-1
- 1.4.7.
* Fri Jun 3 2011 Tim Waugh <twaugh@redhat.com> 1:1.4.6-20
- Use correct port number when publishing services through Avahi
(Ubuntu #792309).