From 1d68a2e1684f14c885449569c6b2d95d34ee965d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 14 Apr 2022 18:01:28 +0200 Subject: [PATCH] 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. --- src/core/execute.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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) -- 2.47.3