fix(ldap): no crash when no query result is empty list
This commit is contained in:
parent
b59a7ff2dd
commit
02ef854f0f
|
@ -262,10 +262,12 @@ do_ldap_query(
|
||||||
ldap_connector_query_return,
|
ldap_connector_query_return,
|
||||||
#{result => Result}
|
#{result => Result}
|
||||||
),
|
),
|
||||||
case Result#eldap_search_result.entries of
|
Entries = Result#eldap_search_result.entries,
|
||||||
[_] = Entry ->
|
Count = length(Entries),
|
||||||
{ok, Entry};
|
case Count =< 1 of
|
||||||
[_ | _] = L ->
|
true ->
|
||||||
|
{ok, Entries};
|
||||||
|
false ->
|
||||||
%% Accept only a single exact match.
|
%% Accept only a single exact match.
|
||||||
%% Multiple matches likely indicate:
|
%% Multiple matches likely indicate:
|
||||||
%% 1. A misconfiguration in EMQX, allowing overly broad query conditions.
|
%% 1. A misconfiguration in EMQX, allowing overly broad query conditions.
|
||||||
|
@ -276,7 +278,7 @@ do_ldap_query(
|
||||||
error,
|
error,
|
||||||
LogMeta#{
|
LogMeta#{
|
||||||
msg => "ldap_query_found_more_than_one_match",
|
msg => "ldap_query_found_more_than_one_match",
|
||||||
count => length(L)
|
count => length(Entries)
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
{error, {unrecoverable_error, Msg}}
|
{error, {unrecoverable_error, Msg}}
|
||||||
|
|
Loading…
Reference in New Issue