From: Yu Watanabe Date: Sat, 28 Jun 2025 14:03:44 +0000 (+0900) Subject: Revert "conf-files: introduce CONF_FILES_CHASE_BASENAME flag" X-Git-Tag: v258-rc1~222^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=07c2fadbed66b26bef93cfc2221383640a434113;p=thirdparty%2Fsystemd.git Revert "conf-files: introduce CONF_FILES_CHASE_BASENAME flag" This reverts commit 49653adef3ff47c7bcd1098c763eb2a55297df15. The commit was merged without review, and has several issues. Let's revert the change now, and address the issue pointed out by the commit later in another way. --- diff --git a/src/basic/conf-files.c b/src/basic/conf-files.c index 48fabc04424..0f736202e5a 100644 --- a/src/basic/conf-files.c +++ b/src/basic/conf-files.c @@ -164,9 +164,6 @@ static int files_add( if (!n) return log_oom_debug(); - if (FLAGS_SET(flags, CONF_FILES_CHASE_BASENAME)) - free_and_replace(p, resolved_path); - r = hashmap_ensure_put(files, &string_hash_ops_free_free, n, p); if (r < 0) { assert(r == -ENOMEM); diff --git a/src/basic/conf-files.h b/src/basic/conf-files.h index 67489316b7f..710e74c959f 100644 --- a/src/basic/conf-files.h +++ b/src/basic/conf-files.h @@ -8,9 +8,8 @@ typedef enum ConfFilesFlags { CONF_FILES_REGULAR = 1 << 1, CONF_FILES_DIRECTORY = 1 << 2, CONF_FILES_BASENAME = 1 << 3, - CONF_FILES_CHASE_BASENAME = 1 << 4, /* If set, also resolve symlink files in config directories. */ - CONF_FILES_FILTER_MASKED_BY_SYMLINK = 1 << 5, - CONF_FILES_FILTER_MASKED_BY_EMPTY = 1 << 6, + CONF_FILES_FILTER_MASKED_BY_SYMLINK = 1 << 4, + CONF_FILES_FILTER_MASKED_BY_EMPTY = 1 << 5, CONF_FILES_FILTER_MASKED = CONF_FILES_FILTER_MASKED_BY_SYMLINK | CONF_FILES_FILTER_MASKED_BY_EMPTY, } ConfFilesFlags; diff --git a/src/test/test-conf-files.c b/src/test/test-conf-files.c index 90b2f2f9b91..44106ef7a81 100644 --- a/src/test/test-conf-files.c +++ b/src/test/test-conf-files.c @@ -185,14 +185,6 @@ TEST(conf_files_list) { strjoina(search3, "relative-non-empty.conf")))); result = strv_free(result); - ASSERT_OK(conf_files_list(&result, /* suffix = */ NULL, /* root = */ NULL, CONF_FILES_REGULAR | CONF_FILES_CHASE_BASENAME, search3)); - strv_print(result); - ASSERT_TRUE(strv_equal(result, STRV_MAKE(strjoina(t2, "/absolute-empty.real"), - strjoina(t2, "/absolute-non-empty.real"), - strjoina(t2, "/relative-empty.real"), - strjoina(t2, "/relative-non-empty.real")))); - result = strv_free(result); - ASSERT_OK(conf_files_list(&result, /* suffix = */ NULL, t, CONF_FILES_FILTER_MASKED, "/dir3/")); strv_print(result); ASSERT_TRUE(strv_equal(result, STRV_MAKE(strjoina(search3, "absolute-non-empty-for-root.conf"), @@ -221,14 +213,6 @@ TEST(conf_files_list) { strjoina(search3, "relative-non-empty-for-root.conf")))); result = strv_free(result); - ASSERT_OK(conf_files_list(&result, /* suffix = */ NULL, t, CONF_FILES_REGULAR | CONF_FILES_CHASE_BASENAME, "/dir3/")); - strv_print(result); - ASSERT_TRUE(strv_equal(result, STRV_MAKE(strjoina(t, "/absolute-empty-for-root.real"), - strjoina(t, "/absolute-non-empty-for-root.real"), - strjoina(t, "/relative-empty-for-root.real"), - strjoina(t, "/relative-non-empty-for-root.real")))); - result = strv_free(result); - ASSERT_OK(conf_files_list_at(&result, /* suffix = */ NULL, AT_FDCWD, CONF_FILES_FILTER_MASKED, search3)); strv_print(result); ASSERT_TRUE(strv_equal(result, STRV_MAKE(strjoina(search3, "absolute-non-empty.conf"), @@ -257,14 +241,6 @@ TEST(conf_files_list) { strjoina(search3, "relative-non-empty.conf")))); result = strv_free(result); - ASSERT_OK(conf_files_list_at(&result, /* suffix = */ NULL, AT_FDCWD, CONF_FILES_REGULAR | CONF_FILES_CHASE_BASENAME, search3)); - strv_print(result); - ASSERT_TRUE(strv_equal(result, STRV_MAKE(strjoina(t2, "/absolute-empty.real"), - strjoina(t2, "/absolute-non-empty.real"), - strjoina(t2, "/relative-empty.real"), - strjoina(t2, "/relative-non-empty.real")))); - result = strv_free(result); - ASSERT_OK(conf_files_list_at(&result, /* suffix = */ NULL, tfd, CONF_FILES_FILTER_MASKED, "/dir3/")); strv_print(result); ASSERT_TRUE(strv_equal(result, STRV_MAKE("dir3/absolute-non-empty-for-root.conf", @@ -293,14 +269,6 @@ TEST(conf_files_list) { "dir3/relative-non-empty-for-root.conf"))); result = strv_free(result); - ASSERT_OK(conf_files_list_at(&result, /* suffix = */ NULL, tfd, CONF_FILES_REGULAR | CONF_FILES_CHASE_BASENAME, "/dir3/")); - strv_print(result); - ASSERT_TRUE(strv_equal(result, STRV_MAKE("absolute-empty-for-root.real", - "absolute-non-empty-for-root.real", - "relative-empty-for-root.real", - "relative-non-empty-for-root.real"))); - result = strv_free(result); - /* filename only */ ASSERT_OK(conf_files_list_strv(&result, ".conf", NULL, CONF_FILES_FILTER_MASKED | CONF_FILES_BASENAME, STRV_MAKE_CONST(search1, search2))); strv_print(result);