summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_utils.c
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2014-02-18 13:19:33 +0100
committerJakub Hrozek <jhrozek@redhat.com>2014-02-18 22:57:53 +0100
commit430cc9ad62e0d7d1bd8dc7c65be2bfcf087c5e5c (patch)
tree386efc201d3ac1c1140aed5d042c195cb71e332b /src/providers/ldap/sdap_utils.c
parent44d0fd9bfdcab991f00ba33c91f49527f8cce595 (diff)
downloadsssd-430cc9ad62e0d7d1bd8dc7c65be2bfcf087c5e5c.tar.gz
sssd-430cc9ad62e0d7d1bd8dc7c65be2bfcf087c5e5c.tar.xz
sssd-430cc9ad62e0d7d1bd8dc7c65be2bfcf087c5e5c.zip
sdap: move sdap_get_id_specific_filter() to sdap_utils.c
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src/providers/ldap/sdap_utils.c')
-rw-r--r--src/providers/ldap/sdap_utils.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/providers/ldap/sdap_utils.c b/src/providers/ldap/sdap_utils.c
index d1e886d4c..9653639c9 100644
--- a/src/providers/ldap/sdap_utils.c
+++ b/src/providers/ldap/sdap_utils.c
@@ -158,3 +158,23 @@ errno_t deref_string_to_val(const char *str, int *val)
return EOK;
}
+
+char *sdap_get_id_specific_filter(TALLOC_CTX *mem_ctx,
+ const char *base_filter,
+ const 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 */
+}