From: Nick Porter Date: Thu, 16 Feb 2023 12:30:29 +0000 (+0000) Subject: Differentiate between login failure and module failure X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4391581603b14c4e35caae038c16fdaeb924b47e;p=thirdparty%2Ffreeradius-server.git Differentiate between login failure and module failure --- diff --git a/src/modules/rlm_imap/rlm_imap.c b/src/modules/rlm_imap/rlm_imap.c index eb82a17135d..cbf00c78848 100644 --- a/src/modules/rlm_imap/rlm_imap.c +++ b/src/modules/rlm_imap/rlm_imap.c @@ -123,8 +123,15 @@ static unlang_action_t CC_HINT(nonnull) mod_authenticate_resume(rlm_rcode_t *p_r } if (randle->result != CURLE_OK) { + CURLcode result = randle->result; fr_imap_slab_release(randle); - RETURN_MODULE_REJECT; + switch(result) { + case CURLE_PEER_FAILED_VERIFICATION: + case CURLE_LOGIN_DENIED: + RETURN_MODULE_REJECT; + default: + RETURN_MODULE_FAIL; + } } if (tls->extract_cert_attrs) fr_curl_response_certinfo(request, randle);