From: Timo Sirainen Date: Sun, 5 Feb 2017 22:48:18 +0000 (+0200) Subject: auth: Pass through passdb extra fields to auth-worker requests X-Git-Tag: 2.3.0.rc1~2188 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ea7f7e1a7f428aff99404d68f989b8accc5d7c8a;p=thirdparty%2Fdovecot%2Fcore.git auth: Pass through passdb extra fields to auth-worker requests --- diff --git a/src/auth/auth-request.c b/src/auth/auth-request.c index 5c05a7b570..f7567a8f81 100644 --- a/src/auth/auth-request.c +++ b/src/auth/auth-request.c @@ -355,6 +355,8 @@ void auth_request_export(struct auth_request *request, string_t *dest) str_append(dest, "\tsuccessful"); if (request->mech_name != NULL) auth_str_add_keyvalue(dest, "mech", request->mech_name); + /* export passdb extra fields */ + auth_request_export_fields(dest, request->extra_fields, "passdb_"); /* export any userdb fields */ if (request->userdb_reply != NULL) auth_request_export_fields(dest, request->userdb_reply, "userdb_"); @@ -476,6 +478,8 @@ bool auth_request_import(struct auth_request *request, request->skip_password_check = TRUE; else if (strcmp(key, "mech") == 0) request->mech_name = p_strdup(request->pool, value); + else if (strncmp(key, "passdb_", 7) == 0) + auth_fields_add(request->extra_fields, key+7, value, 0); else if (strncmp(key, "userdb_", 7) == 0) { if (request->userdb_reply == NULL) request->userdb_reply = auth_fields_init(request->pool);