]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
*-login: Add all returned passdb fields to struct client_auth_reply.all_fields
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 26 Jan 2016 23:12:21 +0000 (01:12 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 26 Jan 2016 23:12:21 +0000 (01:12 +0200)
These will be mainly useful to plugins.

src/login-common/client-common-auth.c
src/login-common/client-common.h

index e0e9bb9010af747c10d7193961ac357b77edc663..801938a83168877dc60dca2d68e9e954fe238003 100644 (file)
@@ -558,6 +558,7 @@ sasl_callback(struct client *client, enum sasl_server_reply sasl_reply,
                        timeout_remove(&client->to_auth_waiting);
                if (args != NULL) {
                        client_auth_parse_args(client, args, &reply);
+                       reply.all_fields = args;
                        if (client_auth_handle_reply(client, &reply, TRUE))
                                break;
                }
@@ -572,6 +573,7 @@ sasl_callback(struct client *client, enum sasl_server_reply sasl_reply,
                if (args != NULL) {
                        client_auth_parse_args(client, args, &reply);
                        reply.nologin = TRUE;
+                       reply.all_fields = args;
                        if (client_auth_handle_reply(client, &reply, FALSE))
                                break;
                }
index 18b885b1c585fa3d0712759e02a34b30e11a2802..ba511a44fe9c8383b4f41f15331b7309c7085b8b 100644 (file)
@@ -65,6 +65,9 @@ struct client_auth_reply {
        unsigned int proxy_refresh_secs;
        enum login_proxy_ssl_flags ssl_flags;
 
+       /* all the key=value fields returned by passdb */
+       const char *const *all_fields;
+
        unsigned int proxy:1;
        unsigned int proxy_nopipelining:1;
        unsigned int temp:1;