request->fields.skip_password_check = TRUE;
}
-void auth_request_init_userdb_reply(struct auth_request *request)
+void auth_request_init_userdb_reply(struct auth_request *request,
+ bool add_default_fields)
{
const char *error;
request->fields.userdb_reply = auth_fields_init(request->pool);
- if (userdb_template_export(request->userdb->default_fields_tmpl,
- request, &error) < 0) {
- e_error(authdb_event(request),
- "Failed to expand default_fields: %s", error);
+ if (add_default_fields) {
+ if (userdb_template_export(request->userdb->default_fields_tmpl,
+ request, &error) < 0) {
+ e_error(authdb_event(request),
+ "Failed to expand default_fields: %s", error);
+ }
}
}
request->userdb_lookup = TRUE;
request->userdb_result_from_cache = FALSE;
if (request->fields.userdb_reply == NULL)
- auth_request_init_userdb_reply(request);
+ auth_request_init_userdb_reply(request, TRUE);
else {
/* we still want to set default_fields. these override any
existing fields set by previous userdbs (because if that is
/* for prefetch userdb */
request->userdb_prefetch_set = TRUE;
if (request->fields.userdb_reply == NULL)
- auth_request_init_userdb_reply(request);
+ auth_request_init_userdb_reply(request, TRUE);
if (strcmp(name, "userdb_userdb_import") == 0) {
/* we can't put the whole userdb_userdb_import
value to extra_cache_fields or it doesn't work
const char *const *fields,
const char *default_scheme) ATTR_NULL(3);
-void auth_request_init_userdb_reply(struct auth_request *request);
+void auth_request_init_userdb_reply(struct auth_request *request,
+ bool add_default_fields);
void auth_request_set_userdb_field(struct auth_request *request,
const char *name, const char *value);
void auth_request_set_userdb_field_values(struct auth_request *request,
}
if (auth_request->fields.userdb_reply == NULL)
- auth_request_init_userdb_reply(auth_request);
+ auth_request_init_userdb_reply(auth_request, TRUE);
auth_request_userdb_lookup_begin(auth_request);
auth_request->userdb->userdb->iface->
lookup(auth_request, lookup_user_callback);