]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Revert "conf-files: introduce CONF_FILES_CHASE_BASENAME flag"
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 28 Jun 2025 14:03:44 +0000 (23:03 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 29 Jun 2025 01:15:56 +0000 (10:15 +0900)
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.

src/basic/conf-files.c
src/basic/conf-files.h
src/test/test-conf-files.c

index 48fabc04424d872f2fb1658cdc47b0d21136c89c..0f736202e5a8a7adeb80587bd891d2a9db255455 100644 (file)
@@ -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);
index 67489316b7f47ef8da096a82466fcea56eda0365..710e74c959fb776df95c050c82267e1af00cc3c3 100644 (file)
@@ -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;
 
index 90b2f2f9b91f469af796c66b49e916ca10419fa6..44106ef7a81a044aba43d697dba8b601367aba1d 100644 (file)
@@ -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);