From: Yu Watanabe Date: Thu, 26 Jun 2025 00:42:16 +0000 (+0900) Subject: userdb: fix enumeration of .membership files X-Git-Tag: v258-rc1~231 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d6570eafe3b86584ca42979d1ced5bfd2228a5c7;p=thirdparty%2Fsystemd.git 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. --- 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");