From 879a459f40ee554f795c674c796775852fb8895c Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: May 06 2021 14:15:46 +0000 Subject: import cups-2.2.6-39.el8 --- diff --git a/SOURCES/cups-logs.patch b/SOURCES/cups-logs.patch new file mode 100644 index 0000000..5698618 --- /dev/null +++ b/SOURCES/cups-logs.patch @@ -0,0 +1,100 @@ +diff --git a/scheduler/log.c b/scheduler/log.c +index 33cdac6..d66bbf9 100644 +--- a/scheduler/log.c ++++ b/scheduler/log.c +@@ -597,51 +597,6 @@ cupsdLogJob(cupsd_job_t *job, /* I - Job */ + if (level > LogLevel && LogDebugHistory <= 0) + return (1); + +-#ifdef HAVE_SYSTEMD_SD_JOURNAL_H +- if (!strcmp(ErrorLog, "syslog")) +- { +- cupsd_printer_t *printer = job ? (job->printer ? job->printer : (job->dest ? cupsdFindDest(job->dest) : NULL)) : NULL; +- static const char * const job_states[] = +- { /* job-state strings */ +- "Pending", +- "PendingHeld", +- "Processing", +- "ProcessingStopped", +- "Canceled", +- "Aborted", +- "Completed" +- }; +- +- va_start(ap, message); +- +- do +- { +- va_copy(ap2, ap); +- status = format_log_line(message, ap2); +- va_end(ap2); +- } +- while (status == 0); +- +- va_end(ap); +- +- if (job) +- sd_journal_send("MESSAGE=%s", log_line, +- "PRIORITY=%i", log_levels[level], +- PWG_Event"=JobStateChanged", +- PWG_ServiceURI"=%s", printer ? printer->uri : "", +- PWG_JobID"=%d", job->id, +- PWG_JobState"=%s", job->state_value < IPP_JSTATE_PENDING ? "" : job_states[job->state_value - IPP_JSTATE_PENDING], +- PWG_JobImpressionsCompleted"=%d", ippGetInteger(job->impressions, 0), +- NULL); +- else +- sd_journal_send("MESSAGE=%s", log_line, +- "PRIORITY=%i", log_levels[level], +- NULL); +- +- return (1); +- } +-#endif /* HAVE_SYSTEMD_SD_JOURNAL_H */ +- + /* + * Format and write the log message... + */ +@@ -705,7 +660,43 @@ cupsdLogJob(cupsd_job_t *job, /* I - Job */ + return (1); + } + else if (level <= LogLevel) ++ { ++#ifdef HAVE_SYSTEMD_SD_JOURNAL_H ++ if (!strcmp(ErrorLog, "syslog")) ++ { ++ cupsd_printer_t *printer = job ? (job->printer ? job->printer : (job->dest ? cupsdFindDest(job->dest) : NULL)) : NULL; ++ static const char * const job_states[] = ++ { /* job-state strings */ ++ "Pending", ++ "PendingHeld", ++ "Processing", ++ "ProcessingStopped", ++ "Canceled", ++ "Aborted", ++ "Completed" ++ }; ++ ++ if (job) ++ sd_journal_send("MESSAGE=%s", log_line, ++ "PRIORITY=%i", log_levels[level], ++ PWG_Event"=JobStateChanged", ++ PWG_ServiceURI"=%s", printer ? printer->uri : "", ++ PWG_JobID"=%d", job->id, ++ PWG_JobState"=%s", job->state_value < IPP_JSTATE_PENDING ? "" : job_states[job->state_value - IPP_JSTATE_PENDING], ++ PWG_JobImpressionsCompleted"=%d", ippGetInteger(job->impressions, 0), ++ NULL); ++ else ++ sd_journal_send("MESSAGE=%s", log_line, ++ "PRIORITY=%i", log_levels[level], ++ NULL); ++ ++ return (1); ++ } ++ else ++#endif /* HAVE_SYSTEMD_SD_JOURNAL_H */ ++ + return (cupsdWriteErrorLog(level, log_line)); ++ } + else + return (1); + } diff --git a/SOURCES/cups-sssd.patch b/SOURCES/cups-sssd.patch new file mode 100644 index 0000000..b0a7d76 --- /dev/null +++ b/SOURCES/cups-sssd.patch @@ -0,0 +1,13 @@ +diff --git a/scheduler/org.cups.cupsd.service.in b/scheduler/org.cups.cupsd.service.in +index 11e0662..6fb7a32 100644 +--- a/scheduler/org.cups.cupsd.service.in ++++ b/scheduler/org.cups.cupsd.service.in +@@ -1,7 +1,7 @@ + [Unit] + Description=CUPS Scheduler + Documentation=man:cupsd(8) +-After=network.target ypbind.service ++After=network.target nss-user-lookup.target + + [Service] + ExecStart=@sbindir@/cupsd -l diff --git a/SOURCES/cups-validate-1st.patch b/SOURCES/cups-validate-1st.patch new file mode 100644 index 0000000..e7b9070 --- /dev/null +++ b/SOURCES/cups-validate-1st.patch @@ -0,0 +1,28 @@ +diff --git a/backend/ipp.c b/backend/ipp.c +index 0a70a87..f8bf7e1 100644 +--- a/backend/ipp.c ++++ b/backend/ipp.c +@@ -327,6 +327,7 @@ main(int argc, /* I - Number of command-line args */ + get_job_attrs = 0, /* Does printer support Get-Job-Attributes? */ + send_document = 0, /* Does printer support Send-Document? */ + validate_job = 0, /* Does printer support Validate-Job? */ ++ validation_retried = 0, /* Indicate whether Validate-Job was retried */ + copies, /* Number of copies for job */ + copies_remaining; /* Number of copies remaining */ + const char *content_type, /* CONTENT_TYPE environment variable */ +@@ -1597,7 +1598,15 @@ main(int argc, /* I - Number of command-line args */ + ipp_status == IPP_BAD_REQUEST) + break; + else if (job_auth == NULL && ipp_status > IPP_BAD_REQUEST) ++ { ++ if (!validation_retried) ++ { ++ validation_retried = 1; ++ sleep(10); ++ continue; ++ } + goto cleanup; ++ } + } + + /* diff --git a/SPECS/cups.spec b/SPECS/cups.spec index 5110061..bccdd43 100644 --- a/SPECS/cups.spec +++ b/SPECS/cups.spec @@ -15,7 +15,7 @@ Summary: CUPS printing system Name: cups Epoch: 1 Version: 2.2.6 -Release: 38%{?dist} +Release: 39%{?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 @@ -101,6 +101,12 @@ Patch56: cups-failover-backend.patch Patch57: cups-dirtyclean.patch # 1775590 - rastertoepson filter crashes with paper size A6 Patch58: cups-rastertoepson-crash.patch +# 1941437 - cupsd doesn't log job ids when logging into journal +Patch59: cups-logs.patch +# 1782216 - Print queue is paused after ipp backend ends with CUPS_BACKEND_STOP +Patch60: cups-validate-1st.patch +# 1938384 - CUPS doesn't start if sssd starts after cupsd +Patch61: cups-sssd.patch Patch100: cups-lspp.patch @@ -345,6 +351,12 @@ Sends IPP requests to the specified URI and tests and/or displays the results. %patch57 -p1 -b .dirtyclean # 1775590 - rastertoepson filter crashes with paper size A6 %patch58 -p1 -b .rastertoepson-crash +# 1941437 - cupsd doesn't log job ids when logging into journal +%patch59 -p1 -b .logs +# 1782216 - Print queue is paused after ipp backend ends with CUPS_BACKEND_STOP +%patch60 -p1 -b .validate-1st +# 1938384 - CUPS doesn't start if sssd starts after cupsd +%patch61 -p1 -b .sssd sed -i -e '1iMaxLogSize 0' conf/cupsd.conf.in @@ -755,6 +767,11 @@ rm -f %{cups_serverbin}/backend/smb %{_mandir}/man5/ipptoolfile.5.gz %changelog +* Wed May 05 2021 Zdenek Dohnal - 1:2.2.6-39 +- 1941437 - cupsd doesn't log job ids when logging into journal +- 1782216 - Print queue is paused after ipp backend ends with CUPS_BACKEND_STOP +- 1938384 - CUPS doesn't start if sssd starts after cupsd + * Tue May 26 2020 Zdenek Dohnal - 1:2.2.6-38 - 1775590 - rastertoepson filter crashes with paper size A6