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;
{
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) {
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;
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]);
}
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]);
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);
}
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;
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;
}
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);
}