diff --git a/.gitignore b/.gitignore index 4d3f368..fa9ec7c 100644 --- a/.gitignore +++ b/.gitignore @@ -87,3 +87,4 @@ cups-1.4.4-source.tar.bz2 /cups-2.2.6-source.tar.gz /cups-2.2.7-source.tar.gz /cups-2.2.8-source.tar.gz +/cups-2.2.10-source.tar.gz diff --git a/cups-eggcups.patch b/cups-eggcups.patch index b1eb218..20422c0 100644 --- a/cups-eggcups.patch +++ b/cups-eggcups.patch @@ -1,7 +1,7 @@ -diff -up cups-2.2.5/backend/ipp.c.eggcups cups-2.2.5/backend/ipp.c ---- cups-2.2.5/backend/ipp.c.eggcups 2017-10-13 20:22:26.000000000 +0200 -+++ cups-2.2.5/backend/ipp.c 2017-10-17 18:56:42.409024451 +0200 -@@ -149,6 +149,70 @@ static char tmpfilename[1024] = ""; +diff -up cups-2.2.10/backend/ipp.c.eggcups cups-2.2.10/backend/ipp.c +--- cups-2.2.10/backend/ipp.c.eggcups 2018-12-07 20:41:56.000000000 +0100 ++++ cups-2.2.10/backend/ipp.c 2018-12-14 14:17:25.594421897 +0100 +@@ -152,6 +152,70 @@ static char tmpfilename[1024] = ""; static char mandatory_attrs[1024] = ""; /* cupsMandatory value */ @@ -72,7 +72,7 @@ diff -up cups-2.2.5/backend/ipp.c.eggcups cups-2.2.5/backend/ipp.c /* * Local functions... -@@ -1743,6 +1807,15 @@ main(int argc, /* I - Number of comm +@@ -1753,6 +1817,15 @@ main(int argc, /* I - Number of comm fprintf(stderr, "DEBUG: Print job accepted - job ID %d.\n", job_id); } @@ -88,21 +88,21 @@ diff -up cups-2.2.5/backend/ipp.c.eggcups cups-2.2.5/backend/ipp.c ippDelete(response); if (job_canceled) -diff -up cups-2.2.5/backend/Makefile.eggcups cups-2.2.5/backend/Makefile ---- cups-2.2.5/backend/Makefile.eggcups 2017-10-17 18:56:42.409024451 +0200 -+++ cups-2.2.5/backend/Makefile 2017-10-17 18:59:11.696781116 +0200 -@@ -262,7 +262,7 @@ dnssd: dnssd.o ../cups/$(LIBCUPS) libbac +diff -up cups-2.2.10/backend/Makefile.eggcups cups-2.2.10/backend/Makefile +--- cups-2.2.10/backend/Makefile.eggcups 2018-12-14 14:17:25.595421889 +0100 ++++ cups-2.2.10/backend/Makefile 2018-12-14 14:18:52.465712525 +0100 +@@ -263,7 +263,7 @@ dnssd: dnssd.o ../cups/$(LIBCUPS) libbac ipp: ipp.o ../cups/$(LIBCUPS) libbackend.a echo Linking $@... - $(LD_CC) $(LDFLAGS) -o ipp ipp.o libbackend.a $(LIBS) + $(LD_CC) $(LDFLAGS) -o ipp ipp.o libbackend.a $(LIBS) $(SERVERLIBS) + $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ $(RM) http $(LN) ipp http - -diff -up cups-2.2.5/scheduler/subscriptions.c.eggcups cups-2.2.5/scheduler/subscriptions.c ---- cups-2.2.5/scheduler/subscriptions.c.eggcups 2017-10-13 20:22:26.000000000 +0200 -+++ cups-2.2.5/scheduler/subscriptions.c 2017-10-17 18:56:42.409024451 +0200 +diff -up cups-2.2.10/scheduler/subscriptions.c.eggcups cups-2.2.10/scheduler/subscriptions.c +--- cups-2.2.10/scheduler/subscriptions.c.eggcups 2018-12-07 20:41:56.000000000 +0100 ++++ cups-2.2.10/scheduler/subscriptions.c 2018-12-14 14:17:25.595421889 +0100 @@ -1291,13 +1291,13 @@ cupsd_send_dbus(cupsd_eventmask_t event, what = "PrinterAdded"; else if (event & CUPSD_EVENT_PRINTER_DELETED) diff --git a/cups-lspp.patch b/cups-lspp.patch index 667cda1..0869beb 100644 --- a/cups-lspp.patch +++ b/cups-lspp.patch @@ -1,6 +1,6 @@ -diff -up cups-2.2.8/config.h.in.lspp cups-2.2.8/config.h.in ---- cups-2.2.8/config.h.in.lspp 2018-06-05 18:06:54.000000000 +0200 -+++ cups-2.2.8/config.h.in 2018-06-08 17:34:38.682653959 +0200 +diff -up cups-2.2.10/config.h.in.lspp cups-2.2.10/config.h.in +--- cups-2.2.10/config.h.in.lspp 2018-12-07 20:41:56.000000000 +0100 ++++ cups-2.2.10/config.h.in 2018-12-14 14:19:25.513442664 +0100 @@ -730,4 +730,11 @@ static __inline int _cups_abs(int i) { r # endif /* __GNUC__ || __STDC_VERSION__ */ #endif /* !HAVE_ABS && !abs */ @@ -13,9 +13,9 @@ diff -up cups-2.2.8/config.h.in.lspp cups-2.2.8/config.h.in + + #endif /* !_CUPS_CONFIG_H_ */ -diff -up cups-2.2.8/config-scripts/cups-lspp.m4.lspp cups-2.2.8/config-scripts/cups-lspp.m4 ---- cups-2.2.8/config-scripts/cups-lspp.m4.lspp 2018-06-08 17:34:38.682653959 +0200 -+++ cups-2.2.8/config-scripts/cups-lspp.m4 2018-06-08 17:34:38.682653959 +0200 +diff -up cups-2.2.10/config-scripts/cups-lspp.m4.lspp cups-2.2.10/config-scripts/cups-lspp.m4 +--- cups-2.2.10/config-scripts/cups-lspp.m4.lspp 2018-12-14 14:19:25.513442664 +0100 ++++ cups-2.2.10/config-scripts/cups-lspp.m4 2018-12-14 14:19:25.513442664 +0100 @@ -0,0 +1,36 @@ +dnl +dnl LSPP code for the Common UNIX Printing System (CUPS). @@ -53,9 +53,9 @@ diff -up cups-2.2.8/config-scripts/cups-lspp.m4.lspp cups-2.2.8/config-scripts/c + ;; + esac +fi -diff -up cups-2.2.8/configure.ac.lspp cups-2.2.8/configure.ac ---- cups-2.2.8/configure.ac.lspp 2018-06-05 18:06:54.000000000 +0200 -+++ cups-2.2.8/configure.ac 2018-06-08 17:34:38.682653959 +0200 +diff -up cups-2.2.10/configure.ac.lspp cups-2.2.10/configure.ac +--- cups-2.2.10/configure.ac.lspp 2018-12-07 20:41:56.000000000 +0100 ++++ cups-2.2.10/configure.ac 2018-12-14 14:19:25.513442664 +0100 @@ -38,6 +38,8 @@ sinclude(config-scripts/cups-startup.m4) sinclude(config-scripts/cups-defaults.m4) sinclude(config-scripts/cups-scripting.m4) @@ -65,9 +65,9 @@ diff -up cups-2.2.8/configure.ac.lspp cups-2.2.8/configure.ac INSTALL_LANGUAGES="" UNINSTALL_LANGUAGES="" LANGFILES="" -diff -up cups-2.2.8/filter/common.c.lspp cups-2.2.8/filter/common.c ---- cups-2.2.8/filter/common.c.lspp 2018-06-05 18:06:54.000000000 +0200 -+++ cups-2.2.8/filter/common.c 2018-06-08 17:34:38.682653959 +0200 +diff -up cups-2.2.10/filter/common.c.lspp cups-2.2.10/filter/common.c +--- cups-2.2.10/filter/common.c.lspp 2018-12-07 20:41:56.000000000 +0100 ++++ cups-2.2.10/filter/common.c 2018-12-14 14:19:25.513442664 +0100 @@ -17,6 +17,12 @@ * Include necessary headers... */ @@ -236,10 +236,10 @@ diff -up cups-2.2.8/filter/common.c.lspp cups-2.2.8/filter/common.c /* -diff -up cups-2.2.8/filter/pstops.c.lspp cups-2.2.8/filter/pstops.c ---- cups-2.2.8/filter/pstops.c.lspp 2018-06-05 18:06:54.000000000 +0200 -+++ cups-2.2.8/filter/pstops.c 2018-06-08 17:34:38.683653951 +0200 -@@ -3176,6 +3176,18 @@ write_label_prolog(pstops_doc_t *doc, /* +diff -up cups-2.2.10/filter/pstops.c.lspp cups-2.2.10/filter/pstops.c +--- cups-2.2.10/filter/pstops.c.lspp 2018-12-07 20:41:56.000000000 +0100 ++++ cups-2.2.10/filter/pstops.c 2018-12-14 14:19:25.514442656 +0100 +@@ -3175,6 +3175,18 @@ write_label_prolog(pstops_doc_t *doc, /* { const char *classification; /* CLASSIFICATION environment variable */ const char *ptr; /* Temporary string pointer */ @@ -258,7 +258,7 @@ diff -up cups-2.2.8/filter/pstops.c.lspp cups-2.2.8/filter/pstops.c /* -@@ -3198,6 +3210,124 @@ write_label_prolog(pstops_doc_t *doc, /* +@@ -3197,6 +3209,124 @@ write_label_prolog(pstops_doc_t *doc, /* return; } @@ -383,7 +383,7 @@ diff -up cups-2.2.8/filter/pstops.c.lspp cups-2.2.8/filter/pstops.c /* * Set the classification + page label string... */ -@@ -3276,7 +3406,10 @@ write_label_prolog(pstops_doc_t *doc, /* +@@ -3275,7 +3405,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"); @@ -394,10 +394,10 @@ diff -up cups-2.2.8/filter/pstops.c.lspp cups-2.2.8/filter/pstops.c /* -diff -up cups-2.2.8/Makedefs.in.lspp cups-2.2.8/Makedefs.in ---- cups-2.2.8/Makedefs.in.lspp 2018-06-05 18:06:54.000000000 +0200 -+++ cups-2.2.8/Makedefs.in 2018-06-08 17:34:38.683653951 +0200 -@@ -161,7 +161,7 @@ LDFLAGS = -L../cgi-bin -L../cups -L../f +diff -up cups-2.2.10/Makedefs.in.lspp cups-2.2.10/Makedefs.in +--- cups-2.2.10/Makedefs.in.lspp 2018-12-07 20:41:56.000000000 +0100 ++++ cups-2.2.10/Makedefs.in 2018-12-14 14:19:25.514442656 +0100 +@@ -165,7 +165,7 @@ LDFLAGS = -L../cgi-bin -L../cups -L../f @LDFLAGS@ @RELROFLAGS@ @PIEFLAGS@ $(OPTIM) LINKCUPS = @LINKCUPS@ $(LIBGSSAPI) $(DNSSDLIBS) $(SSLLIBS) $(LIBZ) LINKCUPSIMAGE = @LINKCUPSIMAGE@ @@ -406,9 +406,9 @@ diff -up cups-2.2.8/Makedefs.in.lspp cups-2.2.8/Makedefs.in ONDEMANDFLAGS = @ONDEMANDFLAGS@ ONDEMANDLIBS = @ONDEMANDLIBS@ OPTIM = @OPTIM@ -diff -up cups-2.2.8/scheduler/client.c.lspp cups-2.2.8/scheduler/client.c ---- cups-2.2.8/scheduler/client.c.lspp 2018-06-05 18:06:54.000000000 +0200 -+++ cups-2.2.8/scheduler/client.c 2018-06-08 17:34:38.729653586 +0200 +diff -up cups-2.2.10/scheduler/client.c.lspp cups-2.2.10/scheduler/client.c +--- cups-2.2.10/scheduler/client.c.lspp 2018-12-07 20:41:56.000000000 +0100 ++++ cups-2.2.10/scheduler/client.c 2018-12-14 14:19:25.516442640 +0100 @@ -22,12 +22,20 @@ #define _HTTP_NO_PRIVATE #include "cupsd.h" @@ -578,7 +578,7 @@ diff -up cups-2.2.8/scheduler/client.c.lspp cups-2.2.8/scheduler/client.c if (httpGetState(con->http) != HTTP_STATE_POST_SEND) { if (!httpWait(con->http, 0)) -@@ -3485,6 +3620,49 @@ is_path_absolute(const char *path) /* I +@@ -3484,6 +3619,49 @@ is_path_absolute(const char *path) /* I return (1); } @@ -628,9 +628,9 @@ diff -up cups-2.2.8/scheduler/client.c.lspp cups-2.2.8/scheduler/client.c /* * 'pipe_command()' - Pipe the output of a command to the remote client. -diff -up cups-2.2.8/scheduler/client.h.lspp cups-2.2.8/scheduler/client.h ---- cups-2.2.8/scheduler/client.h.lspp 2018-06-05 18:06:54.000000000 +0200 -+++ cups-2.2.8/scheduler/client.h 2018-06-08 17:34:38.729653586 +0200 +diff -up cups-2.2.10/scheduler/client.h.lspp cups-2.2.10/scheduler/client.h +--- cups-2.2.10/scheduler/client.h.lspp 2018-12-07 20:41:56.000000000 +0100 ++++ cups-2.2.10/scheduler/client.h 2018-12-14 14:19:25.516442640 +0100 @@ -16,6 +16,13 @@ #endif /* HAVE_AUTHORIZATION_H */ @@ -666,9 +666,9 @@ diff -up cups-2.2.8/scheduler/client.h.lspp cups-2.2.8/scheduler/client.h #ifdef HAVE_SSL extern int cupsdEndTLS(cupsd_client_t *con); -diff -up cups-2.2.8/scheduler/conf.c.lspp cups-2.2.8/scheduler/conf.c ---- cups-2.2.8/scheduler/conf.c.lspp 2018-06-08 17:34:38.676654007 +0200 -+++ cups-2.2.8/scheduler/conf.c 2018-06-08 17:34:38.730653578 +0200 +diff -up cups-2.2.10/scheduler/conf.c.lspp cups-2.2.10/scheduler/conf.c +--- cups-2.2.10/scheduler/conf.c.lspp 2018-12-14 14:19:25.510442689 +0100 ++++ cups-2.2.10/scheduler/conf.c 2018-12-14 14:19:25.517442632 +0100 @@ -40,6 +40,9 @@ # define INADDR_NONE 0xffffffff #endif /* !INADDR_NONE */ @@ -765,9 +765,9 @@ diff -up cups-2.2.8/scheduler/conf.c.lspp cups-2.2.8/scheduler/conf.c /* * 'read_policy()' - Read a definition. -diff -up cups-2.2.8/scheduler/conf.h.lspp cups-2.2.8/scheduler/conf.h ---- cups-2.2.8/scheduler/conf.h.lspp 2018-06-05 18:06:54.000000000 +0200 -+++ cups-2.2.8/scheduler/conf.h 2018-06-08 17:34:38.730653578 +0200 +diff -up cups-2.2.10/scheduler/conf.h.lspp cups-2.2.10/scheduler/conf.h +--- cups-2.2.10/scheduler/conf.h.lspp 2018-12-07 20:41:56.000000000 +0100 ++++ cups-2.2.10/scheduler/conf.h 2018-12-14 14:19:25.518442624 +0100 @@ -246,6 +246,13 @@ VAR char *ServerKeychain VALUE(NULL); /* Keychain holding cert + key */ #endif /* HAVE_SSL */ @@ -792,9 +792,9 @@ diff -up cups-2.2.8/scheduler/conf.h.lspp cups-2.2.8/scheduler/conf.h /* * Prototypes... -diff -up cups-2.2.8/scheduler/cupsd.h.lspp cups-2.2.8/scheduler/cupsd.h ---- cups-2.2.8/scheduler/cupsd.h.lspp 2018-06-05 18:06:54.000000000 +0200 -+++ cups-2.2.8/scheduler/cupsd.h 2018-06-08 17:34:38.730653578 +0200 +diff -up cups-2.2.10/scheduler/cupsd.h.lspp cups-2.2.10/scheduler/cupsd.h +--- cups-2.2.10/scheduler/cupsd.h.lspp 2018-12-07 20:41:56.000000000 +0100 ++++ cups-2.2.10/scheduler/cupsd.h 2018-12-14 14:21:04.298636007 +0100 @@ -11,6 +11,8 @@ * file is missing or damaged, see the license at "http://www.cups.org/". */ @@ -804,9 +804,9 @@ diff -up cups-2.2.8/scheduler/cupsd.h.lspp cups-2.2.8/scheduler/cupsd.h /* * Include necessary headers. -@@ -36,13 +38,20 @@ +@@ -36,6 +38,14 @@ # include - #endif /* WIN32 */ + #endif /* _WIN32 */ +#include "config.h" +#ifdef WITH_LSPP @@ -819,16 +819,9 @@ diff -up cups-2.2.8/scheduler/cupsd.h.lspp cups-2.2.8/scheduler/cupsd.h #include "mime.h" #if defined(HAVE_CDSASSL) - # include - #endif /* HAVE_CDSASSL */ - -- - /* - * Some OS's don't have hstrerror(), most notably Solaris... - */ -diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c ---- cups-2.2.8/scheduler/ipp.c.lspp 2018-06-08 17:34:38.652654197 +0200 -+++ cups-2.2.8/scheduler/ipp.c 2018-06-08 17:37:19.166378937 +0200 +diff -up cups-2.2.10/scheduler/ipp.c.lspp cups-2.2.10/scheduler/ipp.c +--- cups-2.2.10/scheduler/ipp.c.lspp 2018-12-14 14:19:25.478442950 +0100 ++++ cups-2.2.10/scheduler/ipp.c 2018-12-14 14:19:25.520442607 +0100 @@ -14,6 +14,9 @@ * missing or damaged, see the license at "http://www.cups.org/". */ @@ -864,7 +857,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c static int check_quotas(cupsd_client_t *con, cupsd_printer_t *p); static void close_job(cupsd_client_t *con, ipp_attribute_t *uri); static void copy_attrs(ipp_t *to, ipp_t *from, cups_array_t *ra, -@@ -1250,6 +1264,21 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1248,6 +1262,21 @@ add_job(cupsd_client_t *con, /* I - Cl "time-at-creation", "time-at-processing" }; @@ -886,7 +879,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c cupsdLogMessage(CUPSD_LOG_DEBUG2, "add_job(%p[%d], %p(%s), %p(%s/%s))", -@@ -1578,6 +1607,106 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1576,6 +1605,106 @@ add_job(cupsd_client_t *con, /* I - Cl attr = ippFindAttribute(con->request, "requesting-user-name", IPP_TAG_NAME); @@ -993,7 +986,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c if ((job = cupsdAddJob(priority, printer->name)) == NULL) { send_ipp_status(con, IPP_INTERNAL_ERROR, -@@ -1586,6 +1715,32 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1584,6 +1713,32 @@ add_job(cupsd_client_t *con, /* I - Cl return (NULL); } @@ -1026,7 +1019,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c job->dtype = printer->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE); job->attrs = con->request; job->dirty = 1; -@@ -1773,6 +1928,29 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1771,6 +1926,29 @@ add_job(cupsd_client_t *con, /* I - Cl ippSetString(job->attrs, &attr, 0, printer->job_sheets[0]); ippSetString(job->attrs, &attr, 1, printer->job_sheets[1]); } @@ -1056,7 +1049,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c job->job_sheets = attr; -@@ -1803,6 +1981,9 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1801,6 +1979,9 @@ add_job(cupsd_client_t *con, /* I - Cl "job-sheets=\"%s,none\", " "job-originating-user-name=\"%s\"", Classification, job->username); @@ -1066,7 +1059,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c } else if (attr->num_values == 2 && strcmp(attr->values[0].string.text, -@@ -1821,6 +2002,9 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1819,6 +2000,9 @@ add_job(cupsd_client_t *con, /* I - Cl "job-originating-user-name=\"%s\"", attr->values[0].string.text, attr->values[1].string.text, job->username); @@ -1076,7 +1069,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c } else if (strcmp(attr->values[0].string.text, Classification) && strcmp(attr->values[0].string.text, "none") && -@@ -1841,6 +2025,9 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1839,6 +2023,9 @@ add_job(cupsd_client_t *con, /* I - Cl "job-originating-user-name=\"%s\"", attr->values[0].string.text, attr->values[1].string.text, job->username); @@ -1086,7 +1079,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c } } else if (strcmp(attr->values[0].string.text, Classification) && -@@ -1881,8 +2068,52 @@ add_job(cupsd_client_t *con, /* I - Cl +@@ -1879,8 +2066,52 @@ add_job(cupsd_client_t *con, /* I - Cl "job-sheets=\"%s\", " "job-originating-user-name=\"%s\"", Classification, job->username); @@ -1139,7 +1132,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c /* * See if we need to add the starting sheet... -@@ -3656,6 +3887,128 @@ check_rss_recipient( +@@ -3654,6 +3885,128 @@ check_rss_recipient( } @@ -1268,7 +1261,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c /* * 'check_quotas()' - Check quotas for a printer and user. */ -@@ -4112,6 +4465,15 @@ copy_banner(cupsd_client_t *con, /* I - +@@ -4110,6 +4463,15 @@ copy_banner(cupsd_client_t *con, /* I - char attrname[255], /* Name of attribute */ *s; /* Pointer into name */ ipp_attribute_t *attr; /* Attribute */ @@ -1284,7 +1277,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c cupsdLogMessage(CUPSD_LOG_DEBUG2, -@@ -4147,6 +4509,85 @@ copy_banner(cupsd_client_t *con, /* I - +@@ -4145,6 +4507,85 @@ copy_banner(cupsd_client_t *con, /* I - fchmod(cupsFileNumber(out), 0640); fchown(cupsFileNumber(out), RunUser, Group); @@ -1370,7 +1363,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c /* * Try the localized banner file under the subdirectory... -@@ -4241,6 +4682,24 @@ copy_banner(cupsd_client_t *con, /* I - +@@ -4239,6 +4680,24 @@ copy_banner(cupsd_client_t *con, /* I - else s = attrname; @@ -1395,7 +1388,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c if (!strcmp(s, "printer-name")) { cupsFilePuts(out, job->dest); -@@ -6480,6 +6939,22 @@ get_job_attrs(cupsd_client_t *con, /* I +@@ -6470,6 +6929,22 @@ get_job_attrs(cupsd_client_t *con, /* I exclude = cupsdGetPrivateAttrs(policy, con, printer, job->username); @@ -1418,7 +1411,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c /* * Copy attributes... */ -@@ -6877,6 +7352,11 @@ get_jobs(cupsd_client_t *con, /* I - C +@@ -6867,6 +7342,11 @@ get_jobs(cupsd_client_t *con, /* I - C if (username[0] && _cups_strcasecmp(username, job->username)) continue; @@ -1430,7 +1423,7 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c if (count > 0) ippAddSeparator(con->response); -@@ -11475,6 +11955,11 @@ validate_user(cupsd_job_t *job, /* I +@@ -11465,6 +11945,11 @@ validate_user(cupsd_job_t *job, /* I strlcpy(username, get_username(con), userlen); @@ -1442,9 +1435,9 @@ diff -up cups-2.2.8/scheduler/ipp.c.lspp cups-2.2.8/scheduler/ipp.c /* * Check the username against the owner... */ -diff -up cups-2.2.8/scheduler/job.c.lspp cups-2.2.8/scheduler/job.c ---- cups-2.2.8/scheduler/job.c.lspp 2018-06-08 17:34:38.657654158 +0200 -+++ cups-2.2.8/scheduler/job.c 2018-06-08 17:34:38.733653554 +0200 +diff -up cups-2.2.10/scheduler/job.c.lspp cups-2.2.10/scheduler/job.c +--- cups-2.2.10/scheduler/job.c.lspp 2018-12-14 14:19:25.486442885 +0100 ++++ cups-2.2.10/scheduler/job.c 2018-12-14 14:19:25.521442599 +0100 @@ -11,6 +11,9 @@ * missing or damaged, see the license at "http://www.cups.org/". */ @@ -1576,7 +1569,7 @@ diff -up cups-2.2.8/scheduler/job.c.lspp cups-2.2.8/scheduler/job.c job->impressions = ippFindAttribute(job->attrs, "job-impressions-completed", IPP_TAG_INTEGER); job->sheets = ippFindAttribute(job->attrs, "job-media-sheets-completed", IPP_TAG_INTEGER); job->job_sheets = ippFindAttribute(job->attrs, "job-sheets", IPP_TAG_NAME); -@@ -2275,6 +2371,14 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J +@@ -2277,6 +2373,14 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J { char filename[1024]; /* Job control filename */ cups_file_t *fp; /* Job file */ @@ -1591,7 +1584,7 @@ diff -up cups-2.2.8/scheduler/job.c.lspp cups-2.2.8/scheduler/job.c cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdSaveJob(job=%p(%d)): job->attrs=%p", -@@ -2297,6 +2401,78 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J +@@ -2299,6 +2403,78 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J fchown(cupsFileNumber(fp), RunUser, Group); @@ -1670,7 +1663,7 @@ diff -up cups-2.2.8/scheduler/job.c.lspp cups-2.2.8/scheduler/job.c job->attrs->state = IPP_IDLE; if (ippWriteIO(fp, (ipp_iocb_t)cupsFileWrite, 1, NULL, -@@ -3943,6 +4119,19 @@ get_options(cupsd_job_t *job, /* I - Jo +@@ -3980,6 +4156,19 @@ get_options(cupsd_job_t *job, /* I - Jo banner_page) continue; @@ -1690,7 +1683,7 @@ diff -up cups-2.2.8/scheduler/job.c.lspp cups-2.2.8/scheduler/job.c /* * Otherwise add them to the list... */ -@@ -4704,6 +4893,18 @@ start_job(cupsd_job_t *job, /* I - +@@ -4741,6 +4930,18 @@ start_job(cupsd_job_t *job, /* I - cupsd_printer_t *printer) /* I - Printer to print job */ { const char *filename; /* Support filename */ @@ -1709,7 +1702,7 @@ diff -up cups-2.2.8/scheduler/job.c.lspp cups-2.2.8/scheduler/job.c ipp_attribute_t *cancel_after = ippFindAttribute(job->attrs, "job-cancel-after", IPP_TAG_INTEGER); -@@ -4892,6 +5093,113 @@ start_job(cupsd_job_t *job, /* I - +@@ -4929,6 +5130,113 @@ start_job(cupsd_job_t *job, /* I - fcntl(job->side_pipes[1], F_SETFD, fcntl(job->side_pipes[1], F_GETFD) | FD_CLOEXEC); @@ -1823,9 +1816,9 @@ diff -up cups-2.2.8/scheduler/job.c.lspp cups-2.2.8/scheduler/job.c /* * Now start the first file in the job... */ -diff -up cups-2.2.8/scheduler/job.h.lspp cups-2.2.8/scheduler/job.h ---- cups-2.2.8/scheduler/job.h.lspp 2018-06-05 18:06:54.000000000 +0200 -+++ cups-2.2.8/scheduler/job.h 2018-06-08 17:34:38.733653554 +0200 +diff -up cups-2.2.10/scheduler/job.h.lspp cups-2.2.10/scheduler/job.h +--- cups-2.2.10/scheduler/job.h.lspp 2018-12-07 20:41:56.000000000 +0100 ++++ cups-2.2.10/scheduler/job.h 2018-12-14 14:19:25.521442599 +0100 @@ -11,6 +11,13 @@ * missing or damaged, see the license at "http://www.cups.org/". */ @@ -1851,10 +1844,10 @@ diff -up cups-2.2.8/scheduler/job.h.lspp cups-2.2.8/scheduler/job.h }; typedef struct cupsd_joblog_s /**** Job log message ****/ -diff -up cups-2.2.8/scheduler/main.c.lspp cups-2.2.8/scheduler/main.c ---- cups-2.2.8/scheduler/main.c.lspp 2018-06-08 17:34:38.663654110 +0200 -+++ cups-2.2.8/scheduler/main.c 2018-06-08 17:34:38.734653546 +0200 -@@ -56,6 +56,9 @@ +diff -up cups-2.2.10/scheduler/main.c.lspp cups-2.2.10/scheduler/main.c +--- cups-2.2.10/scheduler/main.c.lspp 2018-12-14 14:19:25.499442779 +0100 ++++ cups-2.2.10/scheduler/main.c 2018-12-14 14:19:25.522442591 +0100 +@@ -59,6 +59,9 @@ # include #endif /* HAVE_SYS_PARAM_H */ @@ -1864,7 +1857,7 @@ diff -up cups-2.2.8/scheduler/main.c.lspp cups-2.2.8/scheduler/main.c /* * Local functions... -@@ -122,6 +125,9 @@ main(int argc, /* I - Number of comm +@@ -125,6 +128,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 */ @@ -1874,7 +1867,7 @@ diff -up cups-2.2.8/scheduler/main.c.lspp cups-2.2.8/scheduler/main.c #ifdef __APPLE__ int use_sysman = 1; /* Use system management functions? */ #else -@@ -495,6 +501,25 @@ main(int argc, /* I - Number of comm +@@ -488,6 +494,25 @@ main(int argc, /* I - Number of comm exit(errno); } @@ -1900,7 +1893,7 @@ diff -up cups-2.2.8/scheduler/main.c.lspp cups-2.2.8/scheduler/main.c /* * Let the system know we are busy while we bring up cupsd... */ -@@ -1188,6 +1213,11 @@ main(int argc, /* I - Number of comm +@@ -1181,6 +1206,11 @@ main(int argc, /* I - Number of comm cupsdStopSelect(); @@ -1912,9 +1905,9 @@ diff -up cups-2.2.8/scheduler/main.c.lspp cups-2.2.8/scheduler/main.c return (!stop_scheduler); } -diff -up cups-2.2.8/scheduler/printers.c.lspp cups-2.2.8/scheduler/printers.c ---- cups-2.2.8/scheduler/printers.c.lspp 2018-06-05 18:06:54.000000000 +0200 -+++ cups-2.2.8/scheduler/printers.c 2018-06-08 17:34:38.734653546 +0200 +diff -up cups-2.2.10/scheduler/printers.c.lspp cups-2.2.10/scheduler/printers.c +--- cups-2.2.10/scheduler/printers.c.lspp 2018-12-07 20:41:56.000000000 +0100 ++++ cups-2.2.10/scheduler/printers.c 2018-12-14 14:19:25.522442591 +0100 @@ -11,6 +11,8 @@ * missing or damaged, see the license at "http://www.cups.org/". */ diff --git a/cups.spec b/cups.spec index de0ce60..a027993 100644 --- a/cups.spec +++ b/cups.spec @@ -14,8 +14,8 @@ Summary: CUPS printing system Name: cups Epoch: 1 -Version: 2.2.8 -Release: 10%{?dist} +Version: 2.2.10 +Release: 1%{?dist} License: GPLv2+ and LGPLv2+ with exceptions and AML Url: http://www.cups.org/ Source0: https://github.com/apple/cups/releases/download/v%{VERSION}/cups-%{VERSION}-source.tar.gz @@ -91,24 +91,6 @@ Patch9: cups-lpr-help.patch Patch18: cups-filter-debug.patch # add device id for dymo printer Patch29: cups-dymo-deviceid.patch -# cupsd LogLevel ignored when logging to journald (syslog) (#1589593) - -# cups logging ignored log level when logging was set to syslog and -# it did not support job logging history (upstream https://github.com/apple/cups/pull/5337) -Patch40: cups-journal-history.patch -# cupsd crashes when AccessLog is NULL (upstream https://github.com/apple/cups/issues/5309) -Patch41: cups-accesslog-null.patch -# printing with epson crashes when page size is A4/A6 (upstream https://github.com/apple/cups/issues/5323) -Patch42: cups-epson-A6-crash.patch -# gnome-control-center eats a lot CPU - regression in ippValidateAttribute (upstream https://github.com/apple/cups/issues/5330 , https://github.com/apple/cups/issues/5322) -Patch43: cups-ippvalidateattr-regression.patch -# IPP everywhere driver isn't in web UI (upstream https://github.com/apple/cups/issues/5338) -Patch44: cups-ippeve-webui.patch -# fixed covscan issues from upstream -Patch45: 0001-Fix-memory-leaks-found-by-Coverity-Issue-5375.patch -# 1622432 - multiple file job can stuck when data transfer is interrupted, so now it is aborted (https://github.com/apple/cups/pull/5413) -Patch46: 0001-Fix-stuck-multi-file-jobs-Issue-5359-Issue-5413.patch -# 1657750 - CVE-2018-4700 cups: Predictable session cookie breaks CSRF protection [fedora-all] -Patch47: 0001-CVE-2018-4700-Linux-session-cookies-used-a-predictab.patch ##### Patches removed because IMHO they aren't no longer needed ##### but still I'll leave them in git in case their removal @@ -349,17 +331,6 @@ Sends IPP requests to the specified URI and tests and/or displays the results. %patch100 -p1 -b .lspp %endif -# cupsd LogLevel ignored when logging to journald (syslog) (bug #1589593) -%patch40 -p1 -b .journal-history -%patch41 -p1 -b .accesslog-null -%patch42 -p1 -b .epson-A6-crash -%patch43 -p1 -b .ippvalidateattr-regression -%patch44 -p1 -b .ippeve-webui -# fixed covscan issues from upstream -%patch45 -p1 -b .covscan -%patch46 -p1 -b .multifile-stuck -%patch47 -p1 -b .predictable-cookie - # if cupsd is set to log into /var/log/cups, then 'MaxLogSize 0' needs to be # in cupsd.conf to disable cupsd logrotate functionality and use logrotated sed -i -e '1iMaxLogSize 0' conf/cupsd.conf.in @@ -723,10 +694,7 @@ rm -f %{cups_serverbin}/backend/smb %files libs %{license} LICENSE.txt %{_libdir}/libcups.so.2 -%{_libdir}/libcupscgi.so.1 %{_libdir}/libcupsimage.so.2 -%{_libdir}/libcupsmime.so.1 -%{_libdir}/libcupsppdc.so.1 %files filesystem %dir %{cups_serverbin} @@ -765,6 +733,9 @@ rm -f %{cups_serverbin}/backend/smb %{_mandir}/man5/ipptoolfile.5.gz %changelog +* Fri Dec 14 2018 Zdenek Dohnal - 1:2.2.10-1 +- 2.2.10, libcupsmime, libcupsppdc and libcupscgi libraries were removed + * Fri Dec 14 2018 Zdenek Dohnal - 1:2.2.8-10 - previous commit - fix for previous releases diff --git a/sources b/sources index bdc8847..30ad13e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cups-2.2.8-source.tar.gz) = 6ed44c5e6f1c46c85b06691713ce476330c93834243720ad2c04fa983e20cde9f6ebfc2eb2ba8bb3700f11320471b99856d6402d3641038da690f89c49fbd261 +SHA512 (cups-2.2.10-source.tar.gz) = 1393987a263ebf20089dd3008ae4ed770a27a1f289032604eb9e18f2e863bd0e4215a70118f5a6d3940875625278b6798fbc9070e791ec559179c6cf7dc7b05f