From: Martti Rannanjärvi Date: Mon, 11 Dec 2017 10:47:32 +0000 (+0200) Subject: auth: Have ldap_request instead of auth_request in db_ldap_result_iterate_context X-Git-Tag: 2.3.0.rc1~161 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5ced9eb9ef70b745462ff3ac238fb7af94581cb2;p=thirdparty%2Fdovecot%2Fcore.git auth: Have ldap_request instead of auth_request in db_ldap_result_iterate_context This makes it easier to access ldap_request where needed later. --- diff --git a/src/auth/db-ldap.c b/src/auth/db-ldap.c index c0e57a1725..3b3eb52dea 100644 --- a/src/auth/db-ldap.c +++ b/src/auth/db-ldap.c @@ -64,7 +64,7 @@ struct db_ldap_value { struct db_ldap_result_iterate_context { pool_t pool; - struct auth_request *auth_request; + struct ldap_request *ldap_request; const ARRAY_TYPE(ldap_field) *attr_map; unsigned int attr_idx; @@ -1499,7 +1499,7 @@ ldap_field_hide_password(struct db_ldap_result_iterate_context *ctx, { const struct ldap_field *field; - if (ctx->auth_request->set->debug_passwords) + if (ctx->ldap_request->auth_request->set->debug_passwords) return FALSE; array_foreach(ctx->attr_map, field) { @@ -1577,13 +1577,13 @@ db_ldap_result_iterate_init_full(struct ldap_connection *conn, pool = pool_alloconly_create(MEMPOOL_GROWING"ldap result iter", 1024); ctx = p_new(pool, struct db_ldap_result_iterate_context, 1); ctx->pool = pool; - ctx->auth_request = ldap_request->request.auth_request; + ctx->ldap_request = &ldap_request->request; ctx->attr_map = ldap_request->attr_map; ctx->skip_null_values = skip_null_values; ctx->iter_dn_values = iter_dn_values; hash_table_create(&ctx->ldap_attrs, pool, 0, strcase_hash, strcasecmp); ctx->var = str_new(ctx->pool, 256); - if (ctx->auth_request->debug) + if (ctx->ldap_request->auth_request->debug) ctx->debug = t_str_new(256); ctx->ldap_msg = res; ctx->ld = conn->ld; @@ -1647,7 +1647,8 @@ db_ldap_field_expand(const char *data, void *context, return 1; } if (ldap_value->values[1] != NULL) { - auth_request_log_warning(ctx->auth_request, AUTH_SUBSYS_DB, + auth_request_log_warning(ctx->ldap_request->auth_request, + AUTH_SUBSYS_DB, "Multiple values found for '%s', using value '%s'", field_name, ldap_value->values[0]); } @@ -1718,7 +1719,8 @@ db_ldap_result_return_value(struct db_ldap_result_iterate_context *ctx, return values; } if (values[0] != NULL && values[1] != NULL) { - auth_request_log_warning(ctx->auth_request, AUTH_SUBSYS_DB, + auth_request_log_warning(ctx->ldap_request->auth_request, + AUTH_SUBSYS_DB, "Multiple values found for '%s', " "using value '%s'", field->name, values[0]); @@ -1728,11 +1730,12 @@ db_ldap_result_return_value(struct db_ldap_result_iterate_context *ctx, 1) the values are allocated from data stack 2) if "user" field is updated, we want %u/%n/%d updated (and less importantly the same for other variables) */ - var_table = db_ldap_value_get_var_expand_table(ctx->auth_request, - values[0]); + var_table = db_ldap_value_get_var_expand_table( + ctx->ldap_request->auth_request, values[0]); if (var_expand_with_funcs(ctx->var, field->value, var_table, ldap_var_funcs_table, ctx, &error) <= 0) { - auth_request_log_warning(ctx->auth_request, AUTH_SUBSYS_DB, + auth_request_log_warning(ctx->ldap_request->auth_request, + AUTH_SUBSYS_DB, "Failed to expand template %s: %s", field->value, error); } @@ -1777,10 +1780,12 @@ bool db_ldap_result_iterate_next(struct db_ldap_result_iterate_context *ctx, str_append_c(ctx->var, '\0'); pos = str_len(ctx->var); - tab = auth_request_get_var_expand_table(ctx->auth_request, NULL); + tab = auth_request_get_var_expand_table( + ctx->ldap_request->auth_request, NULL); if (var_expand_with_funcs(ctx->var, field->name, tab, ldap_var_funcs_table, ctx, &error) <= 0) { - auth_request_log_warning(ctx->auth_request, AUTH_SUBSYS_DB, + auth_request_log_warning(ctx->ldap_request->auth_request, + AUTH_SUBSYS_DB, "Failed to expand %s: %s", field->name, error); } *name_r = str_c(ctx->var) + pos; @@ -1804,7 +1809,8 @@ db_ldap_result_finish_debug(struct db_ldap_result_iterate_context *ctx) orig_len = str_len(ctx->debug); if (orig_len == 0) { - auth_request_log_debug(ctx->auth_request, AUTH_SUBSYS_DB, + auth_request_log_debug(ctx->ldap_request->auth_request, + AUTH_SUBSYS_DB, "no fields returned by the server"); return; } @@ -1826,7 +1832,7 @@ db_ldap_result_finish_debug(struct db_ldap_result_iterate_context *ctx) str_truncate(ctx->debug, str_len(ctx->debug)-1); str_append(ctx->debug, " unused"); } - auth_request_log_debug(ctx->auth_request, AUTH_SUBSYS_DB, + auth_request_log_debug(ctx->ldap_request->auth_request, AUTH_SUBSYS_DB, "result: %s", str_c(ctx->debug) + 1); }