changeset 21474:6318f9e9b737

auth: Pass through passdb extra fields to auth-worker requests
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Mon, 06 Feb 2017 00:48:18 +0200
parents 1797e9ead19b
children 011fc620d6f6
files src/auth/auth-request.c
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/auth-request.c	Mon Feb 06 00:46:55 2017 +0200
+++ b/src/auth/auth-request.c	Mon Feb 06 00:48:18 2017 +0200
@@ -355,6 +355,8 @@
 		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_");
@@ -468,6 +470,8 @@
 		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);