]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: sasl-server - Add sasl_server_request_get_extra_field()
authorStephan Bosch <stephan.bosch@open-xchange.com>
Mon, 6 Mar 2023 02:39:52 +0000 (03:39 +0100)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Thu, 9 Oct 2025 08:41:22 +0000 (08:41 +0000)
src/auth/sasl-server-mech-gssapi.c
src/auth/sasl-server-protected.h
src/auth/sasl-server-request.c

index f045aee829c69d8c5453883743ffe66a570cacdf..fa27a162635a3b590ffdcff9ba128b6efbf52415 100644 (file)
@@ -387,9 +387,8 @@ k5_principal_is_authorized(struct gssapi_auth_request *request, const char *name
        struct auth_request *auth_request = &request->auth_request;
        const char *value, *const *authorized_names, *const *tmp;
 
-       value = auth_fields_find(auth_request->fields.extra_fields,
-                                "k5principals");
-       if (value == NULL)
+       if (!sasl_server_request_get_extra_field(auth_request, "k5principals",
+                                                &value))
                return FALSE;
 
        authorized_names = t_strsplit_spaces(value, ",");
index b2f4902c1acec434400ffbc96c738bd0c7b6ea87..294496669e7bc0db29f97812e9b6197846ba95be 100644 (file)
@@ -75,6 +75,10 @@ bool sasl_server_request_set_authzid(struct auth_request *request,
 void sasl_server_request_set_realm(struct auth_request *request,
                                   const char *realm);
 
+bool sasl_server_request_get_extra_field(struct auth_request *request,
+                                        const char *name,
+                                        const char **field_r);
+
 void sasl_server_request_output(struct auth_request *request,
                                const void *data, size_t data_size);
 void sasl_server_request_success(struct auth_request *request,
index 35fcdad6c28985af658f29fe23f38ba2434a2c30..ccf28e909269af3b5a4ea1f0cdf10067dbcda068 100644 (file)
@@ -28,6 +28,13 @@ void sasl_server_request_set_realm(struct auth_request *request,
        auth_sasl_request_set_realm(request, realm);
 }
 
+bool sasl_server_request_get_extra_field(struct auth_request *request,
+                                        const char *name,
+                                        const char **field_r)
+{
+       return auth_sasl_request_get_extra_field(request, name, field_r);
+}
+
 void sasl_server_request_output(struct auth_request *request,
                                const void *data, size_t data_size)
 {