From: Jorge Pereira Date: Thu, 4 Jul 2019 18:29:39 +0000 (-0300) Subject: rlm_ldap: separare "noop" from "invalid". X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b3fa3c513f778ba41ca98632c0e2ce893ade7226;p=thirdparty%2Ffreeradius-server.git rlm_ldap: separare "noop" from "invalid". --- diff --git a/src/modules/rlm_ldap/groups.c b/src/modules/rlm_ldap/groups.c index f4dbf6cffcf..2902b74e9fd 100644 --- a/src/modules/rlm_ldap/groups.c +++ b/src/modules/rlm_ldap/groups.c @@ -224,7 +224,7 @@ static rlm_rcode_t rlm_ldap_group_dn2name(rlm_ldap_t const *inst, REQUEST *reque case LDAP_PROC_NO_RESULT: REDEBUG("Group DN \"%s\" did not resolve to an object", dn); - return RLM_MODULE_INVALID; + return RLM_MODULE_NOOP; default: return RLM_MODULE_FAIL; @@ -359,6 +359,9 @@ rlm_rcode_t rlm_ldap_cacheable_userobj(rlm_ldap_t const *inst, REQUEST *request, dn = fr_ldap_berval_to_string(value_ctx, values[i]); rcode = rlm_ldap_group_dn2name(inst, request, pconn, dn, &name); talloc_free(dn); + + if (rcode == RLM_MODULE_NOOP) continue; + if (rcode != RLM_MODULE_OK) { ldap_value_free_len(values); talloc_free(value_ctx); @@ -747,6 +750,9 @@ rlm_rcode_t rlm_ldap_check_userobj_dynamic(rlm_ldap_t const *inst, REQUEST *requ RINDENT(); ret = rlm_ldap_group_dn2name(inst, request, pconn, check->vp_strvalue, &resolved); REXDENT(); + + if (ret == RLM_MODULE_NOOP) continue; + if (ret != RLM_MODULE_OK) { rcode = ret; goto finish; @@ -781,6 +787,9 @@ rlm_rcode_t rlm_ldap_check_userobj_dynamic(rlm_ldap_t const *inst, REQUEST *requ ret = rlm_ldap_group_dn2name(inst, request, pconn, value, &resolved); REXDENT(); talloc_free(value); + + if (ret == RLM_MODULE_NOOP) continue; + if (ret != RLM_MODULE_OK) { rcode = ret; goto finish;