From 993cfb6a8aee335ed9cd00e917d217f2b184fdb6 Mon Sep 17 00:00:00 2001 From: Jiri Popelka Date: Jun 28 2011 10:12:17 +0000 Subject: 1.4.7. --- diff --git a/cups-autotype-crash.patch b/cups-autotype-crash.patch deleted file mode 100644 index ed6cb15..0000000 --- a/cups-autotype-crash.patch +++ /dev/null @@ -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); diff --git a/cups-avahi.patch b/cups-avahi.patch index 031eb84..072f889 100644 --- a/cups-avahi.patch +++ b/cups-avahi.patch @@ -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 ? */ -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 @@ -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$" diff --git a/cups-hostnamelookups.patch b/cups-hostnamelookups.patch deleted file mode 100644 index 75b6abf..0000000 --- a/cups-hostnamelookups.patch +++ /dev/null @@ -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))) diff --git a/cups-job-state-changed.patch b/cups-job-state-changed.patch deleted file mode 100644 index 16b5677..0000000 --- a/cups-job-state-changed.patch +++ /dev/null @@ -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"; diff --git a/cups-lspp.patch b/cups-lspp.patch index 5ab87bd..f8a3b22 100644 --- a/cups-lspp.patch +++ b/cups-lspp.patch @@ -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 - # include -@@ -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 #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 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 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 #include @@ -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 - #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 +# include +#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 */ diff --git a/cups-serverbin-compat.patch b/cups-serverbin-compat.patch index bf1bc99..5e95509 100644 --- a/cups-serverbin-compat.patch +++ b/cups-serverbin-compat.patch @@ -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,26 +38,26 @@ 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); ++ cupsdSetEnvf("PATH", "%s/filter:%s/filter:" CUPS_BINDIR ":" CUPS_SBINDIR ++ ":/bin:/usr/bin", ServerBin, ServerBin_compat); +#else /* ! defined(__x86_64__) */ - cupsdSetEnvf("PATH", "%s/filter:" CUPS_BINDIR ":" CUPS_SBINDIR - ":/bin:/usr/bin", ServerBin); + 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); diff --git a/cups-snmp-quirks.patch b/cups-snmp-quirks.patch index 0308676..d7c82a4 100644 --- a/cups-snmp-quirks.patch +++ b/cups-snmp-quirks.patch @@ -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; ++ 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; } diff --git a/cups-str3754.patch b/cups-str3754.patch deleted file mode 100644 index 148575a..0000000 --- a/cups-str3754.patch +++ /dev/null @@ -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, diff --git a/cups.spec b/cups.spec index 078f0c2..4ce6d57 100644 --- a/cups.spec +++ b/cups.spec @@ -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 1:1.4.7-1 +- 1.4.7. + * Fri Jun 3 2011 Tim Waugh 1:1.4.6-20 - Use correct port number when publishing services through Avahi (Ubuntu #792309).