summaryrefslogtreecommitdiff
path: root/source3/torture
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2019-07-31 15:29:07 +1200
committerAndrew Bartlett <abartlet@samba.org>2019-08-01 05:01:15 +0000
commit85a7b594c56f7729bdfa194fee9299a08f6b4785 (patch)
tree0f7e89b3c73a3a6e9e76bf7f2b37b4bf0922220e /source3/torture
parentbff466943e01540b4d3210392e0fd5b1c882c0b9 (diff)
downloadsamba-85a7b594c56f7729bdfa194fee9299a08f6b4785.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
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 17020328eaf..e16656022aa 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -11555,6 +11555,8 @@ static bool run_shortname_test(int dummy)
return correct;
}
+TLDAPRC callback_code;
+
static void pagedsearch_cb(struct tevent_req *req)
{
TLDAPRC rc;
@@ -11565,6 +11567,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) {
@@ -11629,6 +11632,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,
@@ -11643,6 +11658,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))))";