]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: sasl-server - Add sasl_server_request_internal_failure()
authorStephan Bosch <stephan.bosch@open-xchange.com>
Sat, 4 Mar 2023 03:32:42 +0000 (04:32 +0100)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Thu, 9 Oct 2025 08:41:22 +0000 (08:41 +0000)
Wraps auth_request_internal_failure().

src/auth/auth-sasl-mech-apop.c
src/auth/sasl-server-mech-cram-md5.c
src/auth/sasl-server-mech-digest-md5.c
src/auth/sasl-server-mech-gssapi.c
src/auth/sasl-server-mech-oauth2.c
src/auth/sasl-server-mech-otp.c
src/auth/sasl-server-mech-plain-common.c
src/auth/sasl-server-mech-scram.c
src/auth/sasl-server-protected.h
src/auth/sasl-server-request.c

index f3dd6f6f5012182efdea12744edd7bbdb18f1524..75b37720789e40283e5a9a0221719350d5fc4093 100644 (file)
@@ -58,7 +58,7 @@ apop_credentials_callback(enum passdb_result result,
                        sasl_server_request_failure(auth_request);
                break;
        case PASSDB_RESULT_INTERNAL_FAILURE:
-               auth_request_internal_failure(auth_request);
+               sasl_server_request_internal_failure(auth_request);
                break;
        default:
                sasl_server_request_failure(auth_request);
index 143f11af34e628629a9d0e0a0517d39d6a8b004d..7f54695ea10280f9a5a120d5f21528bd67fe6725 100644 (file)
@@ -119,7 +119,7 @@ credentials_callback(enum passdb_result result,
                verify_credentials(auth_request, credentials, size);
                break;
        case PASSDB_RESULT_INTERNAL_FAILURE:
-               auth_request_internal_failure(auth_request);
+               sasl_server_request_internal_failure(auth_request);
                break;
        default:
                sasl_server_request_failure(auth_request);
index c4bad4d104958488750efcbfd6ab1a4517724588..038c93063dc00193345b831b97b6be6d145b54ba 100644 (file)
@@ -538,7 +538,7 @@ credentials_callback(enum passdb_result result,
                verify_credentials(auth_request, credentials, size);
                break;
        case PASSDB_RESULT_INTERNAL_FAILURE:
-               auth_request_internal_failure(auth_request);
+               sasl_server_request_internal_failure(auth_request);
                break;
        default:
                sasl_server_request_failure(auth_request);
index 7d022243aade02499b878eadb03795295c39368d..ddd63c30e5ddbc4eb3d069c2e29afea03d04d4bf 100644 (file)
@@ -508,12 +508,12 @@ gssapi_credentials_callback(enum passdb_result result,
           now the k5principals field will have been filled in. */
        switch (result) {
        case PASSDB_RESULT_INTERNAL_FAILURE:
-               auth_request_internal_failure(auth_request);
+               sasl_server_request_internal_failure(auth_request);
                return;
        case PASSDB_RESULT_USER_DISABLED:
        case PASSDB_RESULT_PASS_EXPIRED:
                /* User is explicitly disabled, don't allow it to log in */
-               auth_request_fail(auth_request);
+               sasl_server_request_failure(auth_request);
                return;
        case PASSDB_RESULT_NEXT:
        case PASSDB_RESULT_SCHEME_NOT_AVAILABLE:
@@ -526,7 +526,7 @@ gssapi_credentials_callback(enum passdb_result result,
        if (mech_gssapi_userok(request, auth_request->fields.user) == 0)
                sasl_server_request_success(auth_request, NULL, 0);
        else
-               auth_request_fail(auth_request);
+               sasl_server_request_failure(auth_request);
 }
 
 static int
@@ -635,7 +635,7 @@ mech_gssapi_auth_continue(struct auth_request *auth_request,
                i_unreached();
        }
        if (ret < 0)
-               auth_request_fail(auth_request);
+               sasl_server_request_failure(auth_request);
 }
 
 static void
@@ -651,7 +651,7 @@ mech_gssapi_auth_initial(struct auth_request *auth_request,
                obtain_service_credentials(request, &request->service_cred);
 
        if (GSS_ERROR(major_status) != 0) {
-               auth_request_internal_failure(auth_request);
+               sasl_server_request_internal_failure(auth_request);
                return;
        }
        request->authn_name = GSS_C_NO_NAME;
index 5cd53c979bd0a9ff9e5165cf65df12249b976738..8fad0aef6ea59c21df0a7e4fa44ccd9227b31fa5 100644 (file)
@@ -33,7 +33,7 @@ oauth2_fail(struct oauth2_auth_request *oauth2_req,
        struct auth_request *request = &oauth2_req->request;
 
        if (failure == NULL) {
-               auth_request_internal_failure(request);
+               sasl_server_request_internal_failure(request);
                return;
        }
 
index e7a45a390a1ab7a23004e42d7b5f2f248bfb8f83..7804f0171104f42fe8c45fcc305116892858d463 100644 (file)
@@ -122,7 +122,7 @@ otp_credentials_callback(enum passdb_result result,
                otp_send_challenge(request, credentials, size);
                break;
        case PASSDB_RESULT_INTERNAL_FAILURE:
-               auth_request_internal_failure(auth_request);
+               sasl_server_request_internal_failure(auth_request);
                break;
        default:
                sasl_server_request_failure(auth_request);
@@ -176,7 +176,7 @@ otp_set_credentials_callback(bool success, struct auth_request *auth_request)
        if (success)
                sasl_server_request_success(auth_request, "", 0);
        else {
-               auth_request_internal_failure(auth_request);
+               sasl_server_request_internal_failure(auth_request);
                otp_unlock(request);
        }
 
index ce7b82524c3ebb9cbb37ccaafd45d115f2a0bddd..e18981aaad94f0286875179c8353a4d29a393a76 100644 (file)
@@ -13,7 +13,7 @@ void sasl_server_mech_plain_verify_callback(enum passdb_result result,
                sasl_server_request_success(request, "", 0);
                break;
        case PASSDB_RESULT_INTERNAL_FAILURE:
-               auth_request_internal_failure(request);
+               sasl_server_request_internal_failure(request);
                break;
        default:
                sasl_server_request_failure(request);
index ad8525c970372dc21e7bfa9482feef9aec00000c..e1f31c14357af818025411aa551049d25f7ddcbf 100644 (file)
@@ -52,7 +52,7 @@ credentials_callback(enum passdb_result result,
                sasl_server_request_output(auth_request, output, output_len);
                break;
        case PASSDB_RESULT_INTERNAL_FAILURE:
-               auth_request_internal_failure(auth_request);
+               sasl_server_request_internal_failure(auth_request);
                break;
        default:
                sasl_server_request_failure(auth_request);
index 96e6b56033bd91e31920bf01e5a3aa9daa1091b9..4bfbf5dbe7925356d992fc36d2bab9f5cc036300 100644 (file)
@@ -74,5 +74,6 @@ void sasl_server_request_success(struct auth_request *request,
 void sasl_server_request_failure_with_reply(struct auth_request *request,
                                            const void *data, size_t data_size);
 void sasl_server_request_failure(struct auth_request *request);
+void sasl_server_request_internal_failure(struct auth_request *request);
 
 #endif
index b9897179269390f6ea86c0f53813ada56caf1fc1..222cc85690d5812625185c8878a186983e8e564a 100644 (file)
@@ -31,18 +31,35 @@ void sasl_server_request_success(struct auth_request *request,
        auth_sasl_request_output(request, &output);
 }
 
-void sasl_server_request_failure_with_reply(struct auth_request *request,
-                                           const void *data, size_t data_size)
+static void
+sasl_server_request_failure_common(struct auth_request *request,
+                                  enum sasl_server_output_status status,
+                                  const void *data, size_t data_size)
 {
        const struct sasl_server_output output = {
-               .status = SASL_SERVER_OUTPUT_FAILURE,
+               .status = status,
                .data = data,
                .data_size = data_size,
        };
        auth_sasl_request_output(request, &output);
 }
 
+void sasl_server_request_failure_with_reply(struct auth_request *request,
+                                           const void *data, size_t data_size)
+{
+       sasl_server_request_failure_common(request, SASL_SERVER_OUTPUT_FAILURE,
+                                          data, data_size);
+}
+
 void sasl_server_request_failure(struct auth_request *request)
 {
-       sasl_server_request_failure_with_reply(request, "", 0);
+       sasl_server_request_failure_common(request, SASL_SERVER_OUTPUT_FAILURE,
+                                          "", 0);
+}
+
+void sasl_server_request_internal_failure(struct auth_request *request)
+{
+       sasl_server_request_failure_common(request,
+                                          SASL_SERVER_OUTPUT_INTERNAL_FAILURE,
+                                          "", 0);
 }