From d6570eafe3b86584ca42979d1ced5bfd2228a5c7 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 26 Jun 2025 09:42:16 +0900 Subject: [PATCH] userdb: fix enumeration of .membership files The man page nss-systemd(8) says > The contents of these files are currently not read, and the files > should be created empty. But previously we filtered out such files, as the CONF_FILES_FILTER_MASKED flag checks if a file is empty (or symlink to null), thus any empty files were ignored. To accept empty .membership files, let's use CONF_FILES_FILTER_MASKED_BY_SYMLINK. Fixes #37945. --- src/shared/userdb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/userdb.c b/src/shared/userdb.c index 2238073e01f..49850ff216f 100644 --- a/src/shared/userdb.c +++ b/src/shared/userdb.c @@ -1669,7 +1669,7 @@ static void discover_membership_dropins(UserDBIterator *i, UserDBFlags flags) { &i->dropins, ".membership", NULL, - CONF_FILES_REGULAR|CONF_FILES_BASENAME|CONF_FILES_FILTER_MASKED, + CONF_FILES_REGULAR|CONF_FILES_BASENAME|CONF_FILES_FILTER_MASKED_BY_SYMLINK, USERDB_DROPIN_DIR_NULSTR("userdb")); if (r < 0) log_debug_errno(r, "Failed to find membership drop-ins, ignoring: %m"); -- 2.47.3