]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib, global: Rename var_expand() to var_expand_with_table()
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 6 Mar 2024 18:07:58 +0000 (20:07 +0200)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:39:58 +0000 (10:39 +0200)
23 files changed:
src/auth/db-oauth2.c
src/auth/db-passwd-file.c
src/auth/test-auth-cache.c
src/auth/test-auth-request-var-expand.c
src/doveadm/doveadm-dsync.c
src/doveadm/doveadm-print-formatted.c
src/lib-dict-backend/dict-ldap.c
src/lib-lda/mail-deliver.c
src/lib-lda/mail-send.c
src/lib-master/master-service.c
src/lib-sql/driver-cassandra.c
src/lib-storage/index/shared/shared-storage.c
src/lib/test-var-expand.c
src/lib/var-expand.c
src/lib/var-expand.h
src/login-common/client-common.c
src/master/service-process.c
src/plugins/acl/acl-shared-storage.c
src/plugins/notify-status/notify-status-plugin.c
src/plugins/var-expand-crypt/test-var-expand-crypt.c
src/pop3/pop3-commands.c
src/stats/stats-metrics.c
src/stats/stats-settings.c

index d3ee1fdb1ee1a3ec1919ef0add3e9ee355c64e86..13e3e409ad6a0545ef228353520114f0e472ce06 100644 (file)
@@ -494,7 +494,8 @@ db_oauth2_validate_username(struct db_oauth2_request *req,
        string_t *username_val = t_str_new(strlen(username_value));
 
        if (auth_request_var_expand(username_req, req->db->set.username_format, req->auth_request, escape_none, &error) <= 0 ||
-           var_expand(username_val, req->db->set.username_format, table, &error) <= 0) {
+           var_expand_with_table(username_val, req->db->set.username_format,
+                                 table, &error) <= 0) {
                *error_r = t_strdup_printf("var_expand(%s) failed: %s",
                                        req->db->set.username_format, error);
                *result_r = PASSDB_RESULT_INTERNAL_FAILURE;
index 1df960f16cfb673f0cf4f4741c067f263c7329c5..4e494d04aa8e51f71b01c33fe3cddb3f437f7eac 100644 (file)
@@ -380,7 +380,7 @@ db_passwd_file_init(const char *path, bool userdb, bool debug)
                const char *error;
 
                dest = t_str_new(256);
-               if (var_expand(dest, path, empty_table, &error) <= 0)
+               if (var_expand_with_table(dest, path, empty_table, &error) <= 0)
                        i_unreached();
                path = str_c(dest);
        }
index 05efcf2353d71cff6fe7d48f0e240e2f758084b0..6c862491f9a646cd86c70c6cb318ac1b309afb4e 100644 (file)
@@ -36,7 +36,9 @@ int auth_request_var_expand_with_table(string_t *dest, const char *str,
                                       auth_request_escape_func_t *escape_func ATTR_UNUSED,
                                       const char **error_r ATTR_UNUSED)
 {
-       return var_expand(dest, str, auth_request_var_expand_static_tab, error_r);
+       return var_expand_with_table(dest, str,
+                                    auth_request_var_expand_static_tab,
+                                    error_r);
 }
 
 static void test_auth_cache_parse_key(void)
index 3066e1051c0c4c55406c0c507f4ab18eac27fb83..137c5afdd5c464c78a98ee04512be0c677c72553 100644 (file)
@@ -76,7 +76,7 @@ static bool test_empty_request(string_t *str, const char *input)
        const char *error;
 
        str_truncate(str, 0);
-       test_assert(var_expand(str, input, tab, &error) == 1);
+       test_assert(var_expand_with_table(str, input, tab, &error) == 1);
        return strspn(str_c(str), "\n0") == str_len(str);
 }
 
@@ -104,11 +104,11 @@ static void test_auth_request_var_expand_shortlong(void)
        test_begin("auth request var expand short and long");
 
        tab = auth_request_get_var_expand_table(&test_request, test_escape);
-       test_assert(var_expand(str, test_input_short, tab, &error) == 1);
+       test_assert(var_expand_with_table(str, test_input_short, tab, &error) == 1);
        test_assert(strcmp(str_c(str), test_output) == 0);
 
        str_truncate(str, 0);
-       test_assert(var_expand(str, test_input_long, tab, &error) == 1);
+       test_assert(var_expand_with_table(str, test_input_long, tab, &error) == 1);
        test_assert(strcmp(str_c(str), test_output) == 0);
 
        /* test with empty input that it won't crash */
@@ -129,7 +129,7 @@ static void test_auth_request_var_expand_flags(void)
        test_request.userdb_lookup = FALSE;
        test_request.fields.conn_secured = AUTH_REQUEST_CONN_SECURED_NONE;
        test_request.fields.valid_client_cert = FALSE;
-       test_assert(var_expand(str, test_input,
+       test_assert(var_expand_with_table(str, test_input,
                auth_request_get_var_expand_table(&test_request, test_escape),
                &error) == 1);
        test_assert(strcmp(str_c(str), "40\n\n\n") == 0);
@@ -139,7 +139,7 @@ static void test_auth_request_var_expand_flags(void)
        test_request.fields.valid_client_cert = TRUE;
 
        str_truncate(str, 0);
-       test_assert(var_expand(str, test_input,
+       test_assert(var_expand_with_table(str, test_input,
                auth_request_get_var_expand_table(&test_request, test_escape),
                &error) == 1);
        test_assert(strcmp(str_c(str), "41\nsecured\nvalid\n") == 0);
@@ -169,7 +169,7 @@ static void test_auth_request_var_expand_long(void)
 
        test_begin("auth request var expand long-only");
 
-       test_assert(var_expand(str, test_input,
+       test_assert(var_expand_with_table(str, test_input,
                auth_request_get_var_expand_table(&test_request, test_escape),
                &error) == 1);
        test_assert(strcmp(str_c(str), test_output) == 0);
@@ -197,7 +197,7 @@ static void test_auth_request_var_expand_usernames(void)
        for (i = 0; i < N_ELEMENTS(tests); i++) {
                test_request.fields.user = t_strdup_noconst(tests[i].username);
                str_truncate(str, 0);
-               test_assert(var_expand(str, test_input,
+               test_assert(var_expand_with_table(str, test_input,
                        auth_request_get_var_expand_table(&test_request, test_escape),
                        &error) == 1);
                test_assert_idx(strcmp(str_c(str), tests[i].output) == 0, i);
index 2259cb7d475c8ee3aa5e5e6316f55df453dcff22..be043c130dbff82c3eb5223c0e7c5d843a0bcffb 100644 (file)
@@ -298,8 +298,8 @@ get_ssh_cmd_args(const char *host, const char *login, const char *mail_user,
                           text in the parameter, skip it. */
                        str_truncate(str, 0);
                        str_truncate(str2, 0);
-                       if (var_expand(str, *args, tab, &error) <= 0 ||
-                           var_expand(str2, *args, static_tab, &error) <= 0) {
+                       if (var_expand_with_table(str, *args, tab, &error) <= 0 ||
+                           var_expand_with_table(str2, *args, static_tab, &error) <= 0) {
                                e_error(event,
                                        "Failed to expand dsync_remote_cmd=%s: %s",
                                        *args, error);
index 71f28a60d84fde6631469f0f89683e3ddf0fa45b..19540b950231529a9b7ef747198073f3b0f32bff 100644 (file)
@@ -63,7 +63,9 @@ static void doveadm_print_formatted_print(const char *value)
        entry->value = value;
 
        if (ctx.idx >= array_count(&ctx.headers)) {
-               if (var_expand(ctx.buf, ctx.format, array_front(&ctx.headers), &error) <= 0) {
+               if (var_expand_with_table(ctx.buf, ctx.format,
+                                         array_front(&ctx.headers),
+                                         &error) <= 0) {
                        i_error("Failed to expand print format '%s': %s",
                                ctx.format, error);
                }
index 7868b0c3acdc32ba8943b4e2eaa44eaf611c8927..aa15505e9ed064591b0be98b3aefd346a0d8330d 100644 (file)
@@ -226,7 +226,8 @@ ldap_dict_build_query(const struct dict_op_settings *set,
 
        array_append_zero(&exp);
 
-       if (var_expand(query_r, template, array_front(&exp), &error) <= 0) {
+       if (var_expand_with_table(query_r, template,
+                                 array_front(&exp), &error) <= 0) {
                *error_r = t_strdup_printf("Failed to expand %s: %s", template, error);
                return FALSE;
        }
index 8ead6c3c8d84271fb8cac9bc92ef5a95f58524bf..e5820c676e01f23de9240a42893778d4e25697a4 100644 (file)
@@ -195,7 +195,8 @@ void mail_deliver_log(struct mail_deliver_context *ctx, const char *fmt, ...)
 
        str = t_str_new(256);
        tab = mail_deliver_ctx_get_log_var_expand_table(ctx, msg);
-       if (var_expand(str, ctx->set->deliver_log_format, tab, &error) <= 0) {
+       if (var_expand_with_table(str, ctx->set->deliver_log_format,
+                                 tab, &error) <= 0) {
                e_error(ctx->event,
                        "Failed to expand deliver_log_format=%s: %s",
                        ctx->set->deliver_log_format, error);
index e4aa1175ed7a715936fd0d12aa207df9817013d1..21b5ad7819e67ee8825b804c35b4e4fc87c92162 100644 (file)
@@ -119,8 +119,8 @@ int mail_send_rejection(struct mail_deliver_context *ctx,
                ctx->dsn ? "delivery-status" : "disposition-notification",
                boundary);
        str_append(str, "Subject: ");
-       if (var_expand(str, ctx->set->rejection_subject,
-               vtable, &error) <= 0) {
+       if (var_expand_with_table(str, ctx->set->rejection_subject,
+                                 vtable, &error) <= 0) {
                e_error(ctx->event,
                        "Failed to expand rejection_subject=%s: %s",
                        ctx->set->rejection_subject, error);
@@ -137,8 +137,8 @@ int mail_send_rejection(struct mail_deliver_context *ctx,
        str_append(str, "Content-Disposition: inline\r\n");
        str_append(str, "Content-Transfer-Encoding: 8bit\r\n\r\n");
 
-       if (var_expand(str, ctx->set->rejection_reason,
-               vtable, &error) <= 0) {
+       if (var_expand_with_table(str, ctx->set->rejection_reason,
+                                 vtable, &error) <= 0) {
                e_error(ctx->event,
                        "Failed to expand rejection_reason=%s: %s",
                        ctx->set->rejection_reason, error);
index c321c3f480d8b6f1fbd5f772ac15428eb15fe4ff..342babde9734caecc68b23af3634838c504683a8 100644 (file)
@@ -1048,7 +1048,8 @@ static void master_service_import_environment_real(const char *import_environmen
                        key = *envs;
                else {
                        key = t_strdup_until(*envs, value++);
-                       if (var_expand(expanded, value, table, &error) <= 0)
+                       if (var_expand_with_table(expanded, value, table,
+                                                 &error) <= 0)
                                i_fatal("Cannot expand variable %s", value);
                        if (str_len(expanded) > 0) {
                                value = str_c(expanded);
index 15b97f106b1749c0ae249e8719b888284762988b..97aa918c8132e0b344af63f056da14d017e01676 100644 (file)
@@ -1194,7 +1194,8 @@ static void driver_cassandra_metrics_write(struct cassandra_db *db)
        const char *error;
        int fd;
 
-       if (var_expand(path, db->set->metrics_path, tab, &error) <= 0) {
+       if (var_expand_with_table(path, db->set->metrics_path,
+                                 tab, &error) <= 0) {
                e_error(db->api.event, "Failed to expand metrics_path=%s: %s",
                        db->set->metrics_path, error);
                return;
index ed03c9e913c3905133f7ae25b3c8783ca979176f..e4697051ce43f4715adf05b9edf139d580f005fb 100644 (file)
@@ -221,7 +221,8 @@ int shared_storage_get_namespace(struct mail_namespace **_ns,
 
        prefix = t_str_new(128);
        str_append(prefix, ns->prefix);
-       if (var_expand(prefix, storage->ns_prefix_pattern, tab, &error) <= 0) {
+       if (var_expand_with_table(prefix, storage->ns_prefix_pattern, tab,
+                                 &error) <= 0) {
                mailbox_list_set_critical(list,
                        "Failed to expand namespace prefix '%s': %s",
                        storage->ns_prefix_pattern, error);
index 77d29d9717ecc50d726ab1ab11b4c469fe9bfb36..089adab162e4f42473490d69aad8414fe924d02f 100644 (file)
@@ -47,7 +47,7 @@ static void test_var_expand_ranges(void)
        test_begin("var_expand - ranges");
        for (i = 0; i < N_ELEMENTS(tests); i++) {
                str_truncate(str, 0);
-               test_assert(var_expand(str, tests[i].in, table, &error) == tests[i].ret);
+               test_assert(var_expand_with_table(str, tests[i].in, table, &error) == tests[i].ret);
                test_assert(strcmp(tests[i].out, str_c(str)) == 0);
        }
        test_end();
@@ -91,7 +91,7 @@ static void test_var_expand_builtin(void)
        test_begin("var_expand - builtin");
        for (i = 0; i < N_ELEMENTS(tests); i++) {
                str_truncate(str, 0);
-               test_assert_idx(var_expand(str, tests[i].in, table, &error) == tests[i].ret, i);
+               test_assert_idx(var_expand_with_table(str, tests[i].in, table, &error) == tests[i].ret, i);
                test_assert_strcmp_idx(tests[i].out, str_c(str), i);
        }
        test_end();
@@ -504,7 +504,7 @@ static void test_var_expand_if(void)
                int ret;
                error = NULL;
                str_truncate(dest, 0);
-               ret = var_expand(dest, tests[i].in, table, &error);
+               ret = var_expand_with_table(dest, tests[i].in, table, &error);
                test_assert_idx(tests[i].ret == ret, i);
                test_assert_idx(strcmp(tests[i].out, str_c(dest)) == 0, i);
        }
@@ -566,7 +566,7 @@ static void test_var_expand_system()
                const struct var_expand_test *test = &tests[i];
                const char *error ATTR_UNUSED;
                str_truncate(dest, 0);
-               int ret = var_expand(dest, test->in, table, &error);
+               int ret = var_expand_with_table(dest, test->in, table, &error);
                test_assert_cmp_idx(ret, ==, test->ret, i);
                test_assert_strcmp_idx(str_c(dest), test->out, i);
        }
@@ -576,11 +576,11 @@ static void test_var_expand_system()
        struct utsname utsname_result;
        if (uname(&utsname_result) == 0) {
                str_truncate(dest, 0);
-               test_assert(var_expand(dest, "%{system:os}", table, &error) == 1);
+               test_assert(var_expand_with_table(dest, "%{system:os}", table, &error) == 1);
                test_assert(strcmp(utsname_result.sysname, str_c(dest)) == 0);
 
                str_truncate(dest, 0);
-               test_assert(var_expand(dest, "%{system:os-version}", table, &error) == 1);
+               test_assert(var_expand_with_table(dest, "%{system:os-version}", table, &error) == 1);
                test_assert(strcmp(utsname_result.release, str_c(dest)) == 0);
        }
 
@@ -611,14 +611,14 @@ test_var_expand_dovecot(void)
        for (size_t i = 0; i < N_ELEMENTS(tests); i++) {
                str_truncate(dest, 0);
 
-               ret = var_expand(dest, tests[i].in, table, &error);
+               ret = var_expand_with_table(dest, tests[i].in, table, &error);
                test_assert_idx(tests[i].ret == ret, i);
                test_assert_idx(strcmp(tests[i].out, str_c(dest)) == 0, i);
        }
 
        /* Make sure invalid keys are rejected. */
        str_truncate(dest, 0);
-       test_assert(var_expand(dest, "%{dovecot:invalid}", table, &error) == 0);
+       test_assert(var_expand_with_table(dest, "%{dovecot:invalid}", table, &error) == 0);
        test_assert(strcmp(error, "Unsupported dovecot key 'invalid'") == 0);
 
        test_end();
index 883bb3bff0ecc5e99dab3acd3f62e2a2f965e3c7..e7bd02adcc76b6f0adf76c122ecf20b14bf4a0bf 100644 (file)
@@ -781,8 +781,9 @@ int var_expand_with_arrays(string_t *dest, const char *str,
        return final_ret;
 }
 
-int var_expand(string_t *dest, const char *str,
-              const struct var_expand_table *table, const char **error_r)
+int var_expand_with_table(string_t *dest, const char *str,
+                         const struct var_expand_table *table,
+                         const char **error_r)
 {
        return var_expand_with_funcs(dest, str, table, NULL, NULL, error_r);
 }
index 73a5a3303db3140286f5638897586e52472a5bc2..ee46af703f06df684e8e859d0dcc57133ec042b3 100644 (file)
@@ -20,10 +20,10 @@ struct var_expand_func_table {
    contained invalid/unknown %variables, -1 if one of the functions returned
    temporary error. Even in case of errors the dest string is still written as
    fully as possible. */
-int var_expand(string_t *dest, const char *str,
-              const struct var_expand_table *table,
-              const char **error_r);
-/* Like var_expand(), but support also callback functions for
+int var_expand_with_table(string_t *dest, const char *str,
+                         const struct var_expand_table *table,
+                         const char **error_r);
+/* Like var_expand_with_table(), but support also callback functions for
    variable expansion. */
 int var_expand_with_funcs(string_t *dest, const char *str,
                          const struct var_expand_table *table,
index f067c2d9e079ba2676808d43ce102502b3a8d1ec..d5782b6de063f9439fd076885f3216bcee7c840b 100644 (file)
@@ -1220,8 +1220,9 @@ client_get_log_str(struct client *client, const char *msg)
                        /* username is added even if it's empty */
                } else {
                        str_truncate(str2, 0);
-                       if (var_expand(str2, *e, login_var_expand_empty_tab,
-                                      &error) <= 0) {
+                       if (var_expand_with_table(str2, *e,
+                                                 login_var_expand_empty_tab,
+                                                 &error) <= 0) {
                                /* we just logged this error above. no need
                                   to do it again. */
                        }
@@ -1246,7 +1247,8 @@ client_get_log_str(struct client *client, const char *msg)
        };
 
        str_truncate(str, 0);
-       if (var_expand(str, client->set->login_log_format, tab, &error) <= 0) {
+       if (var_expand_with_table(str, client->set->login_log_format, tab,
+                                 &error) <= 0) {
                /* NOTE: Don't log via client->event - it would cause
                   recursion */
                i_error("Failed to expand login_log_format=%s: %s",
index c74a7e5221c9a205ce9f6640fb0de5fa4fd39ca4..7bbf6f0337d9be926af6004fc06401d831d6475d 100644 (file)
@@ -62,7 +62,8 @@ service_unix_pid_listener_get_path(struct service_listener *l, pid_t pid,
        };
 
        str_truncate(path, 0);
-       return var_expand(path, l->set.fileset.set->path, var_table, error_r);
+       return var_expand_with_table(path, l->set.fileset.set->path, var_table,
+                                    error_r);
 }
 
 static void
index 0d22b75a855faa63997144869ae258b9c7521336..7bd4042388afc58d85f18533fa1e179c9c01890b 100644 (file)
@@ -56,7 +56,8 @@ acl_shared_namespace_add(struct mail_namespace *ns,
        };
 
        str = t_str_new(128);
-       if (var_expand(str, sstorage->ns_prefix_pattern, tab, &error) <= 0) {
+       if (var_expand_with_table(str, sstorage->ns_prefix_pattern, tab,
+                                 &error) <= 0) {
                e_error(storage->event,
                        "Failed to expand namespace prefix %s: %s",
                        sstorage->ns_prefix_pattern, error);
index b7a50a9b8994f29fbeca25ba3a0f01f17e3b0111..7a1bce45bc7b3b866af13bf2d19cd0f0e722f96d 100644 (file)
@@ -167,7 +167,8 @@ static void notify_update_mailbox_status(struct mailbox *box)
                const char *key =
                        t_strdup_printf(NOTIFY_STATUS_KEY, mailbox_get_vname(box));
                string_t *dest = t_str_new(64);
-               if (var_expand(dest, nuser->set->notify_status_value, values, &error) <= 0) {
+               if (var_expand_with_table(dest, nuser->set->notify_status_value,
+                                         values, &error) <= 0) {
                        e_error(box->event, "notify-status: var_expand(%s) failed: %s",
                                nuser->set->notify_status_value, error);
                } else {
index 73a2fee1798ad232122ff931aa7cf50e7d558220..72c564aece5751e01d97374819746873a6a84e45 100644 (file)
@@ -47,7 +47,8 @@ static void test_var_expand_crypt(void)
        for(i=0; i < N_ELEMENTS(test_cases); i++) T_BEGIN {
                const char *error;
                string_t *dest = t_str_new(32);
-               int ret = var_expand(dest, test_cases[i].input, table, &error);
+               int ret = var_expand_with_table(dest, test_cases[i].input,
+                                               table, &error);
                if (ret < 0) {
                        if (test_cases[i].expect_ret == -1)
                                i_info("Expected: var_expand(%s): %s", test_cases[i].input, error);
@@ -70,9 +71,9 @@ static void test_var_expand_crypt(void)
                str_truncate(input, 0);
                str_truncate(output, 0);
 
-               test_assert_idx(var_expand(input, "%{encrypt;algo=aes-128-cbc,key=%{key}:decrypted}", table, &error) == 1, i);
+               test_assert_idx(var_expand_with_table(input, "%{encrypt;algo=aes-128-cbc,key=%{key}:decrypted}", table, &error) == 1, i);
                table[5].value = str_c(input);
-               test_assert_idx(var_expand(output, "%{decrypt;algo=aes-128-cbc,key=%{key}:encrypted2}", table, &error) == 1, i);
+               test_assert_idx(var_expand_with_table(output, "%{decrypt;algo=aes-128-cbc,key=%{key}:encrypted2}", table, &error) == 1, i);
                test_assert_idx(strcmp(str_c(output), table[4].value)==0, i);
        };
 
index 9c6fac7ef6bf8cbec291f24dd4da7a294343de5b..4e7718e6ddc5a2f3a41f08f8d764e0b8d09f97a5 100644 (file)
@@ -678,8 +678,8 @@ pop3_get_uid(struct client *client, struct mail *mail, string_t *str,
        };
        const char *error;
 
-       if (var_expand(str, client->mail_set->pop3_uidl_format,
-                      tab, &error) <= 0) {
+       if (var_expand_with_table(str, client->mail_set->pop3_uidl_format,
+                                 tab, &error) <= 0) {
                e_error(client->event,
                        "UIDL: Failed to expand pop3_uidl_format=%s: %s",
                        client->mail_set->pop3_uidl_format, error);
index 5b21b3e20526f69ee4ac205c0c360330a7d4a8a0..739f2403ffe295b5df045a152d8746603612a12f 100644 (file)
@@ -519,7 +519,8 @@ label_by_mod_str(const struct stats_metric_settings_group_by *group_by,
                { '\0', NULL, NULL }
        };
        string_t *str = t_str_new(128);
-       if (var_expand(str, group_by->discrete_modifier, table, &error) < 0) {
+       if (var_expand_with_table(str, group_by->discrete_modifier,
+                                 table, &error) < 0) {
                i_error("Failed to expand discrete modifier for %s: %s",
                        group_by->field, error);
        }
index b8f44dd8af00c8002bcf3804508d0e35cf7102c8..205fdbb791218e01778f54be44245b01bf26c7ae 100644 (file)
@@ -441,7 +441,8 @@ parse_metric_group_by_mod(pool_t pool,
        };
        const char *error;
        string_t *str = t_str_new(128);
-       if (var_expand(str, group_by->discrete_modifier, table, &error) <= 0) {
+       if (var_expand_with_table(str, group_by->discrete_modifier,
+                                 table, &error) <= 0) {
                *error_r = t_strdup_printf(
                        "Failed to expand discrete modifier for %s: %s",
                        group_by->field, error);