summaryrefslogtreecommitdiff
path: root/src/providers/ldap/ldap_common.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2011-04-15 10:12:36 +0200
committerStephen Gallagher <sgallagh@redhat.com>2011-04-19 14:05:02 -0400
commit361b29ff4cc0eac948074cb0f54fdc7bd556a1b6 (patch)
tree09e467571fb460debf8cccd6ca8f9fd9c8ad3bcf /src/providers/ldap/ldap_common.c
parent5e88215456689003466c471605139cc41c154eb1 (diff)
downloadsssd-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.c20
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 */
+}