diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2011-09-19 16:58:55 +1000 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2011-09-19 16:58:55 +1000 |
commit | 33766a124dd569222c9dd1d2a3b39bc38855b783 (patch) | |
tree | 62e16892e3e5449ee73ca66d268c543228330089 /src/eldap | |
parent | Fix dialyzer warnings (diff) |
New option support: ldap_deref_aliases (EJAB-639)
Diffstat (limited to 'src/eldap')
-rw-r--r-- | src/eldap/eldap.erl | 10 | ||||
-rw-r--r-- | src/eldap/eldap.hrl | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/eldap/eldap.erl b/src/eldap/eldap.erl index a134a4c95..aa22e1849 100644 --- a/src/eldap/eldap.erl +++ b/src/eldap/eldap.erl @@ -323,6 +323,14 @@ parse_search_args([{timeout, Timeout}|T],A) when is_integer(Timeout) -> parse_search_args(T,A#eldap_search{timeout = Timeout}); parse_search_args([{limit, Limit}|T],A) when is_integer(Limit) -> parse_search_args(T,A#eldap_search{limit = Limit}); +parse_search_args([{deref_aliases, never}|T],A) -> + parse_search_args(T,A#eldap_search{deref_aliases = neverDerefAliases}); +parse_search_args([{deref_aliases, searching}|T],A) -> + parse_search_args(T,A#eldap_search{deref_aliases = derefInSearching}); +parse_search_args([{deref_aliases, finding}|T],A) -> + parse_search_args(T,A#eldap_search{deref_aliases = derefFindingBaseObj}); +parse_search_args([{deref_aliases, always}|T],A) -> + parse_search_args(T,A#eldap_search{deref_aliases = derefAlways}); parse_search_args([H|_],_) -> throw({error,{unknown_arg, H}}); parse_search_args([],A) -> @@ -700,7 +708,7 @@ gen_req({search, A}) -> {searchRequest, #'SearchRequest'{baseObject = A#eldap_search.base, scope = v_scope(A#eldap_search.scope), - derefAliases = neverDerefAliases, + derefAliases = A#eldap_search.deref_aliases, sizeLimit = A#eldap_search.limit, timeLimit = v_timeout(A#eldap_search.timeout), typesOnly = v_bool(A#eldap_search.types_only), diff --git a/src/eldap/eldap.hrl b/src/eldap/eldap.hrl index 5436fa794..23b498435 100644 --- a/src/eldap/eldap.hrl +++ b/src/eldap/eldap.hrl @@ -28,6 +28,7 @@ limit = 0, attributes = [], types_only = false, + deref_aliases = neverDerefAliases, timeout = 0}). |