diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2011-09-28 11:26:09 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-11-02 11:12:12 -0400 |
commit | 357efd33759fd1297723d9956a7f77226fe26871 (patch) | |
tree | e79696ada41330f3f78e45359bb4d404fd62170e /src/providers/ldap/ldap_common.c | |
parent | 74a7d5805499a95a868ab4f43f77d34ccf9854a3 (diff) | |
download | sssd-357efd33759fd1297723d9956a7f77226fe26871.tar.gz sssd-357efd33759fd1297723d9956a7f77226fe26871.tar.xz sssd-357efd33759fd1297723d9956a7f77226fe26871.zip |
LDAP: Convert ldap_*_search_filter
Instead of making this a global option for all user lookups, make
it only used if the search base is passed without an explicit
filter.
Diffstat (limited to 'src/providers/ldap/ldap_common.c')
-rw-r--r-- | src/providers/ldap/ldap_common.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/providers/ldap/ldap_common.c b/src/providers/ldap/ldap_common.c index 233d01947..8f5b8ac4f 100644 --- a/src/providers/ldap/ldap_common.c +++ b/src/providers/ldap/ldap_common.c @@ -508,6 +508,7 @@ errno_t sdap_parse_search_base(TALLOC_CTX *mem_ctx, char *unparsed_base; char **split_bases; char *filter; + const char *old_filter = NULL; int count; int i, c; @@ -519,9 +520,11 @@ errno_t sdap_parse_search_base(TALLOC_CTX *mem_ctx, break; case SDAP_USER_SEARCH_BASE: class_name = "USER"; + old_filter = dp_opt_get_string(opts->basic, SDAP_USER_SEARCH_FILTER); break; case SDAP_GROUP_SEARCH_BASE: class_name = "GROUP"; + old_filter = dp_opt_get_string(opts->basic, SDAP_GROUP_SEARCH_FILTER); break; case SDAP_NETGROUP_SEARCH_BASE: class_name = "NETGROUP"; @@ -601,8 +604,9 @@ errno_t sdap_parse_search_base(TALLOC_CTX *mem_ctx, talloc_zfree(ldn); search_bases[0]->scope = LDAP_SCOPE_SUBTREE; - search_bases[0]->filter = NULL; + /* Use a search filter specified in the old style if available */ + search_bases[0]->filter = old_filter; DEBUG(SSSDBG_CONF_SETTINGS, ("Search base added: [%s][%s][%s][%s]\n", |