summaryrefslogtreecommitdiff
path: root/source3/torture
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2019-07-31 15:29:07 +1200
committerKarolin Seeger <kseeger@samba.org>2019-08-07 10:57:33 +0000
commita1d0ce447e782b88386189969afa46f2dc4ed43a (patch)
tree2033d6c909c375d2b51f53c7ddfae3b3f8eea9c0 /source3/torture
parent23f8a8ee71b6aa2b88174e5d9556508ae48e733e (diff)
downloadsamba-a1d0ce447e782b88386189969afa46f2dc4ed43a.tar.gz
tests/tldap: Actually check the paging return code
The test never worked correctly because the code was overlooked. It was also the case that the connection was never authenticated, and so an LDAP BIND call has now been added. Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> BUG: https://bugzilla.samba.org/show_bug.cgi?id=14029 (cherry picked from commit 85a7b594c56f7729bdfa194fee9299a08f6b4785)
Diffstat (limited to 'source3/torture')
-rw-r--r--source3/torture/torture.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index 2cb32efea46..20a7459b4db 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -11286,6 +11286,8 @@ static bool run_shortname_test(int dummy)
return correct;
}
+TLDAPRC callback_code;
+
static void pagedsearch_cb(struct tevent_req *req)
{
TLDAPRC rc;
@@ -11296,6 +11298,7 @@ static void pagedsearch_cb(struct tevent_req *req)
if (!TLDAP_RC_IS_SUCCESS(rc)) {
d_printf("tldap_search_paged_recv failed: %s\n",
tldap_rc2string(rc));
+ callback_code = rc;
return;
}
if (tldap_msg_type(msg) != TLDAP_RES_SEARCH_ENTRY) {
@@ -11360,6 +11363,18 @@ static bool run_tldap(int dummy)
return false;
}
+ rc = tldap_gensec_bind(ld, torture_creds, "ldap", host, NULL,
+ loadparm_init_s3(talloc_tos(),
+ loadparm_s3_helpers()),
+ GENSEC_FEATURE_SIGN | GENSEC_FEATURE_SEAL);
+
+ if (!TLDAP_RC_IS_SUCCESS(rc)) {
+ d_printf("tldap_gensec_bind failed\n");
+ return false;
+ }
+
+ callback_code = TLDAP_SUCCESS;
+
req = tldap_search_paged_send(talloc_tos(), ev, ld, basedn,
TLDAP_SCOPE_SUB, "(objectclass=*)",
NULL, 0, 0,
@@ -11374,6 +11389,14 @@ static bool run_tldap(int dummy)
TALLOC_FREE(req);
+ rc = callback_code;
+
+ if (!TLDAP_RC_IS_SUCCESS(rc)) {
+ d_printf("tldap_search with paging failed: %s\n",
+ tldap_errstr(talloc_tos(), ld, rc));
+ return false;
+ }
+
/* 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))))";