From: Timo Sirainen Date: Wed, 6 Mar 2024 18:07:58 +0000 (+0200) Subject: lib, global: Rename var_expand() to var_expand_with_table() X-Git-Tag: 2.4.0~678 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c73fbdd3f84c4f42cd6e0143ad844f7efc6c2469;p=thirdparty%2Fdovecot%2Fcore.git lib, global: Rename var_expand() to var_expand_with_table() --- diff --git a/src/auth/db-oauth2.c b/src/auth/db-oauth2.c index d3ee1fdb1e..13e3e409ad 100644 --- a/src/auth/db-oauth2.c +++ b/src/auth/db-oauth2.c @@ -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; diff --git a/src/auth/db-passwd-file.c b/src/auth/db-passwd-file.c index 1df960f16c..4e494d04aa 100644 --- a/src/auth/db-passwd-file.c +++ b/src/auth/db-passwd-file.c @@ -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); } diff --git a/src/auth/test-auth-cache.c b/src/auth/test-auth-cache.c index 05efcf2353..6c862491f9 100644 --- a/src/auth/test-auth-cache.c +++ b/src/auth/test-auth-cache.c @@ -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) diff --git a/src/auth/test-auth-request-var-expand.c b/src/auth/test-auth-request-var-expand.c index 3066e1051c..137c5afdd5 100644 --- a/src/auth/test-auth-request-var-expand.c +++ b/src/auth/test-auth-request-var-expand.c @@ -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); diff --git a/src/doveadm/doveadm-dsync.c b/src/doveadm/doveadm-dsync.c index 2259cb7d47..be043c130d 100644 --- a/src/doveadm/doveadm-dsync.c +++ b/src/doveadm/doveadm-dsync.c @@ -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); diff --git a/src/doveadm/doveadm-print-formatted.c b/src/doveadm/doveadm-print-formatted.c index 71f28a60d8..19540b9502 100644 --- a/src/doveadm/doveadm-print-formatted.c +++ b/src/doveadm/doveadm-print-formatted.c @@ -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); } diff --git a/src/lib-dict-backend/dict-ldap.c b/src/lib-dict-backend/dict-ldap.c index 7868b0c3ac..aa15505e9e 100644 --- a/src/lib-dict-backend/dict-ldap.c +++ b/src/lib-dict-backend/dict-ldap.c @@ -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; } diff --git a/src/lib-lda/mail-deliver.c b/src/lib-lda/mail-deliver.c index 8ead6c3c8d..e5820c676e 100644 --- a/src/lib-lda/mail-deliver.c +++ b/src/lib-lda/mail-deliver.c @@ -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); diff --git a/src/lib-lda/mail-send.c b/src/lib-lda/mail-send.c index e4aa1175ed..21b5ad7819 100644 --- a/src/lib-lda/mail-send.c +++ b/src/lib-lda/mail-send.c @@ -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); diff --git a/src/lib-master/master-service.c b/src/lib-master/master-service.c index c321c3f480..342babde97 100644 --- a/src/lib-master/master-service.c +++ b/src/lib-master/master-service.c @@ -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); diff --git a/src/lib-sql/driver-cassandra.c b/src/lib-sql/driver-cassandra.c index 15b97f106b..97aa918c81 100644 --- a/src/lib-sql/driver-cassandra.c +++ b/src/lib-sql/driver-cassandra.c @@ -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; diff --git a/src/lib-storage/index/shared/shared-storage.c b/src/lib-storage/index/shared/shared-storage.c index ed03c9e913..e4697051ce 100644 --- a/src/lib-storage/index/shared/shared-storage.c +++ b/src/lib-storage/index/shared/shared-storage.c @@ -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); diff --git a/src/lib/test-var-expand.c b/src/lib/test-var-expand.c index 77d29d9717..089adab162 100644 --- a/src/lib/test-var-expand.c +++ b/src/lib/test-var-expand.c @@ -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(); diff --git a/src/lib/var-expand.c b/src/lib/var-expand.c index 883bb3bff0..e7bd02adcc 100644 --- a/src/lib/var-expand.c +++ b/src/lib/var-expand.c @@ -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); } diff --git a/src/lib/var-expand.h b/src/lib/var-expand.h index 73a5a3303d..ee46af703f 100644 --- a/src/lib/var-expand.h +++ b/src/lib/var-expand.h @@ -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, diff --git a/src/login-common/client-common.c b/src/login-common/client-common.c index f067c2d9e0..d5782b6de0 100644 --- a/src/login-common/client-common.c +++ b/src/login-common/client-common.c @@ -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", diff --git a/src/master/service-process.c b/src/master/service-process.c index c74a7e5221..7bbf6f0337 100644 --- a/src/master/service-process.c +++ b/src/master/service-process.c @@ -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 diff --git a/src/plugins/acl/acl-shared-storage.c b/src/plugins/acl/acl-shared-storage.c index 0d22b75a85..7bd4042388 100644 --- a/src/plugins/acl/acl-shared-storage.c +++ b/src/plugins/acl/acl-shared-storage.c @@ -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); diff --git a/src/plugins/notify-status/notify-status-plugin.c b/src/plugins/notify-status/notify-status-plugin.c index b7a50a9b89..7a1bce45bc 100644 --- a/src/plugins/notify-status/notify-status-plugin.c +++ b/src/plugins/notify-status/notify-status-plugin.c @@ -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 { diff --git a/src/plugins/var-expand-crypt/test-var-expand-crypt.c b/src/plugins/var-expand-crypt/test-var-expand-crypt.c index 73a2fee179..72c564aece 100644 --- a/src/plugins/var-expand-crypt/test-var-expand-crypt.c +++ b/src/plugins/var-expand-crypt/test-var-expand-crypt.c @@ -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); }; diff --git a/src/pop3/pop3-commands.c b/src/pop3/pop3-commands.c index 9c6fac7ef6..4e7718e6dd 100644 --- a/src/pop3/pop3-commands.c +++ b/src/pop3/pop3-commands.c @@ -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); diff --git a/src/stats/stats-metrics.c b/src/stats/stats-metrics.c index 5b21b3e205..739f2403ff 100644 --- a/src/stats/stats-metrics.c +++ b/src/stats/stats-metrics.c @@ -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); } diff --git a/src/stats/stats-settings.c b/src/stats/stats-settings.c index b8f44dd8af..205fdbb791 100644 --- a/src/stats/stats-settings.c +++ b/src/stats/stats-settings.c @@ -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);