]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Have ldap_request instead of auth_request in db_ldap_result_iterate_context
authorMartti Rannanjärvi <martti.rannanjarvi@dovecot.fi>
Mon, 11 Dec 2017 10:47:32 +0000 (12:47 +0200)
committerMartti Rannanjärvi <martti.rannanjarvi@dovecot.fi>
Mon, 11 Dec 2017 10:47:32 +0000 (12:47 +0200)
This makes it easier to access ldap_request where needed later.

src/auth/db-ldap.c

index c0e57a1725016c0893c5ea54aa5be5831faf82a1..3b3eb52dea7f9ae409c3a6ca319bc58282cdce54 100644 (file)
@@ -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);
 }