From 9f53820de731ca1a7f06341958b43fcfccf82600 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Sun, 7 Mar 2010 20:20:02 -0500 Subject: s3:tldap add own filter parsing Also add torture test to check filter parsing. --- source3/torture/torture.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'source3/torture') diff --git a/source3/torture/torture.c b/source3/torture/torture.c index 1bb6ad0339..d45209714d 100644 --- a/source3/torture/torture.c +++ b/source3/torture/torture.c @@ -6283,6 +6283,7 @@ static bool run_tldap(int dummy) struct tevent_context *ev; struct tevent_req *req; char *basedn; + const char *filter; if (!resolve_name(host, &addr, 0, false)) { d_printf("could not find host %s\n", host); @@ -6336,6 +6337,19 @@ static bool run_tldap(int dummy) TALLOC_FREE(req); + /* test search filters against rootDSE */ + filter = "(&(|(name=samba)(nextRid<=10000000)(usnChanged>=10)(samba~=ambas)(!(name=s*m*a)))" + "(|(name:=samba)(name:dn:2.5.13.5:=samba)(:dn:2.5.13.5:=samba)(!(name=*samba))))"; + + rc = tldap_search(ld, "", TLDAP_SCOPE_BASE, filter, + NULL, 0, 0, NULL, 0, NULL, 0, 0, 0, 0, + talloc_tos(), NULL, NULL); + if (rc != TLDAP_SUCCESS) { + d_printf("tldap_search with complex filter failed: %s\n", + tldap_errstr(talloc_tos(), ld, rc)); + return false; + } + TALLOC_FREE(ld); return true; } -- cgit