diff options
| author | Peter Marko <peter.marko@siemens.com> | 2026-01-01 13:14:43 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2026-01-26 09:45:39 +0000 |
| commit | 8df07c56620109ce2d7092139c99327f0ead08f1 (patch) | |
| tree | b312fe989551e1a2a9dde4f0c6d334840bc112ba /meta | |
| parent | bfe84d74fe04e261854525b6a2f53fdc3c9ac93c (diff) | |
| download | poky-8df07c56620109ce2d7092139c99327f0ead08f1.tar.gz | |
cups: allow unknown directives in conf files
Patch for CVE-2025-61915 by mistake causes fatal error on unknown
directives in configuration files.
The default configuration already contains unknown directive in
non-systemd setups:
Unknown directive IdleExitTimeout on line 32 of /etc/cups/cupsd.conf
Backport fix for this from 2.4.x branch which reverts this behavior.
(From OE-Core rev: 2f36a12a72cf1f91a2d6ee68bd04292979608eb9)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/recipes-extended/cups/cups.inc | 1 | ||||
| -rw-r--r-- | meta/recipes-extended/cups/cups/0001-conf.c-Fix-stopping-scheduler-on-unknown-directive.patch | 43 |
2 files changed, 44 insertions, 0 deletions
diff --git a/meta/recipes-extended/cups/cups.inc b/meta/recipes-extended/cups/cups.inc index 12668ca023..c7475d2b81 100644 --- a/meta/recipes-extended/cups/cups.inc +++ b/meta/recipes-extended/cups/cups.inc | |||
| @@ -19,6 +19,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/cups-${PV}-source.tar.gz \ | |||
| 19 | file://CVE-2025-58364.patch \ | 19 | file://CVE-2025-58364.patch \ |
| 20 | file://CVE-2025-58436.patch \ | 20 | file://CVE-2025-58436.patch \ |
| 21 | file://CVE-2025-61915.patch \ | 21 | file://CVE-2025-61915.patch \ |
| 22 | file://0001-conf.c-Fix-stopping-scheduler-on-unknown-directive.patch \ | ||
| 22 | " | 23 | " |
| 23 | 24 | ||
| 24 | GITHUB_BASE_URI = "https://github.com/OpenPrinting/cups/releases" | 25 | GITHUB_BASE_URI = "https://github.com/OpenPrinting/cups/releases" |
diff --git a/meta/recipes-extended/cups/cups/0001-conf.c-Fix-stopping-scheduler-on-unknown-directive.patch b/meta/recipes-extended/cups/cups/0001-conf.c-Fix-stopping-scheduler-on-unknown-directive.patch new file mode 100644 index 0000000000..cf01c82cd6 --- /dev/null +++ b/meta/recipes-extended/cups/cups/0001-conf.c-Fix-stopping-scheduler-on-unknown-directive.patch | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | From 277d3b1c49895f070bbf4b73cada011d71fbf9f3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Zdenek Dohnal <zdohnal@redhat.com> | ||
| 3 | Date: Thu, 4 Dec 2025 09:04:37 +0100 | ||
| 4 | Subject: [PATCH] conf.c: Fix stopping scheduler on unknown directive | ||
| 5 | |||
| 6 | Change the return value to do not trigger stopping the scheduler in case | ||
| 7 | of unknown directive, because stopping the scheduler on config errors | ||
| 8 | should only happen in case of syntax errors. | ||
| 9 | |||
| 10 | Upstream-Status: Backport [https://github.com/OpenPrinting/cups/commit/277d3b1c49895f070bbf4b73cada011d71fbf9f3] | ||
| 11 | Signed-off-by: Peter Marko <peter.marko@siemens.com> | ||
| 12 | --- | ||
| 13 | scheduler/conf.c | 14 +++++++------- | ||
| 14 | 1 file changed, 7 insertions(+), 7 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/scheduler/conf.c b/scheduler/conf.c | ||
| 17 | index 7d6da0252..0e7be0ef4 100644 | ||
| 18 | --- a/scheduler/conf.c | ||
| 19 | +++ b/scheduler/conf.c | ||
| 20 | @@ -2697,16 +2697,16 @@ parse_variable( | ||
| 21 | { | ||
| 22 | /* | ||
| 23 | * Unknown directive! Output an error message and continue... | ||
| 24 | + * | ||
| 25 | + * Return value 1 is on purpose - we ignore unknown directives to log | ||
| 26 | + * error, but do not stop the scheduler in case error in configuration | ||
| 27 | + * is set to be fatal. | ||
| 28 | */ | ||
| 29 | |||
| 30 | - if (!value) | ||
| 31 | - cupsdLogMessage(CUPSD_LOG_ERROR, "Missing value for %s on line %d of %s.", | ||
| 32 | - line, linenum, filename); | ||
| 33 | - else | ||
| 34 | - cupsdLogMessage(CUPSD_LOG_ERROR, "Unknown directive %s on line %d of %s.", | ||
| 35 | - line, linenum, filename); | ||
| 36 | + cupsdLogMessage(CUPSD_LOG_ERROR, "Unknown directive %s on line %d of %s.", | ||
| 37 | + line, linenum, filename); | ||
| 38 | |||
| 39 | - return (0); | ||
| 40 | + return (1); | ||
| 41 | } | ||
| 42 | |||
| 43 | switch (var->type) | ||
