From: Nick Porter Date: Fri, 8 Sep 2023 10:01:08 +0000 (+0100) Subject: Handle rcode from previous async call X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b570e7dad702e52239f6f33fa08e7e3f0038febf;p=thirdparty%2Ffreeradius-server.git Handle rcode from previous async call --- diff --git a/src/modules/rlm_ldap/rlm_ldap.c b/src/modules/rlm_ldap/rlm_ldap.c index d2c594211e5..f4d2a401118 100644 --- a/src/modules/rlm_ldap/rlm_ldap.c +++ b/src/modules/rlm_ldap/rlm_ldap.c @@ -1424,6 +1424,22 @@ static unlang_action_t mod_authorize_resume(rlm_rcode_t *p_result, UNUSED int *p rlm_rcode_t rcode = RLM_MODULE_OK; LDAP *handle = fr_ldap_handle_thread_local(); + /* + * If a previous async call returned one of the "failure" results just return. + */ + switch (*p_result) { + case RLM_MODULE_REJECT: + case RLM_MODULE_FAIL: + case RLM_MODULE_HANDLED: + case RLM_MODULE_INVALID: + case RLM_MODULE_DISALLOW: + rcode = *p_result; + goto finish; + + default: + break; + } + switch (autz_ctx->status) { case LDAP_AUTZ_FIND: /*