diff options
author | Garming Sam <garming@catalyst.net.nz> | 2019-07-31 15:29:07 +1200 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2019-08-07 10:57:33 +0000 |
commit | a1d0ce447e782b88386189969afa46f2dc4ed43a (patch) | |
tree | 2033d6c909c375d2b51f53c7ddfae3b3f8eea9c0 /source3/torture | |
parent | 23f8a8ee71b6aa2b88174e5d9556508ae48e733e (diff) | |
download | samba-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.c | 23 |
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))))"; |