diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2011-04-15 10:12:36 +0200 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-04-19 14:05:02 -0400 |
commit | 361b29ff4cc0eac948074cb0f54fdc7bd556a1b6 (patch) | |
tree | 09e467571fb460debf8cccd6ca8f9fd9c8ad3bcf /src/providers/ldap/ldap_common.c | |
parent | 5e88215456689003466c471605139cc41c154eb1 (diff) | |
download | sssd-361b29ff4cc0eac948074cb0f54fdc7bd556a1b6.tar.gz sssd-361b29ff4cc0eac948074cb0f54fdc7bd556a1b6.tar.bz2 sssd-361b29ff4cc0eac948074cb0f54fdc7bd556a1b6.zip |
Add user and group search LDAP filter options
https://fedorahosted.org/sssd/ticket/647
Diffstat (limited to 'src/providers/ldap/ldap_common.c')
-rw-r--r-- | src/providers/ldap/ldap_common.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/providers/ldap/ldap_common.c b/src/providers/ldap/ldap_common.c index 68b8e153..39e9b71d 100644 --- a/src/providers/ldap/ldap_common.c +++ b/src/providers/ldap/ldap_common.c @@ -1013,3 +1013,23 @@ bool sdap_is_secure_uri(const char *uri) } return false; } + +char *sdap_get_id_specific_filter(TALLOC_CTX *mem_ctx, + char *base_filter, + char *extra_filter) +{ + char *filter = NULL; + + if (!extra_filter) { + return talloc_strdup(mem_ctx, base_filter); + } + + if (extra_filter[0] == '(') { + filter = talloc_asprintf(mem_ctx, "(&%s%s)", + base_filter, extra_filter); + } else { + filter = talloc_asprintf(mem_ctx, "(&%s(%s))", + base_filter, extra_filter); + } + return filter; /* NULL or not */ +} |