From: Lennart Poettering Date: Thu, 14 Apr 2022 16:01:28 +0000 (+0200) Subject: execute: restore ability that SetCredential= can act as fallback for LoadCredential= X-Git-Tag: v251-rc2~75^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1d68a2e1684f14c885449569c6b2d95d34ee965d;p=thirdparty%2Fsystemd.git execute: restore ability that SetCredential= can act as fallback for LoadCredential= If SetCredential= and LoadCredentials= are combined for the same credential name, then the former shall act as fallback for the latter in case the source file does not exist. That's documented, but didn't work. Let's fix that. --- diff --git a/src/core/execute.c b/src/core/execute.c index 5e6b1131e47..fac3be8e29f 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -2792,8 +2792,10 @@ static int acquire_credentials( if (path_is_absolute(lc->path)) { sub_fd = open(lc->path, O_DIRECTORY|O_CLOEXEC|O_RDONLY); - if (sub_fd < 0 && errno != ENOTDIR) - return -errno; + if (sub_fd < 0 && !IN_SET(errno, + ENOTDIR, /* Not a directory */ + ENOENT)) /* Doesn't exist? */ + return log_debug_errno(errno, "Failed to open '%s': %m", lc->path); } if (sub_fd < 0)