summaryrefslogtreecommitdiff
path: root/source4/torture/rpc/dsgetinfo.c
diff options
context:
space:
mode:
authorErick Nogueira do Nascimento <erick.nogueira.nascimento@gmail.com>2010-02-11 19:04:00 -0200
committerAndrew Tridgell <tridge@samba.org>2010-02-16 08:34:28 +1100
commit23d1dd5189e0662efb532c31b26c71434a00cff4 (patch)
treefa5fb3ded2e3e4abc670fcc71d14d48f110e718e /source4/torture/rpc/dsgetinfo.c
parent3e2a8676c3beff03c9eb3507b0d3bacbd97c147e (diff)
downloadsamba-23d1dd5189e0662efb532c31b26c71434a00cff4.tar.gz
samba-23d1dd5189e0662efb532c31b26c71434a00cff4.tar.bz2
samba-23d1dd5189e0662efb532c31b26c71434a00cff4.zip
s4-drs: DsGetReplInfo() refactoring
Diffstat (limited to 'source4/torture/rpc/dsgetinfo.c')
-rw-r--r--source4/torture/rpc/dsgetinfo.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/source4/torture/rpc/dsgetinfo.c b/source4/torture/rpc/dsgetinfo.c
index acad1a0916..03bda7e70e 100644
--- a/source4/torture/rpc/dsgetinfo.c
+++ b/source4/torture/rpc/dsgetinfo.c
@@ -172,6 +172,7 @@ static bool test_getinfo(struct torture_context *tctx,
union drsuapi_DsReplicaInfo info;
enum drsuapi_DsReplicaInfoType info_type;
int i;
+ int invalid_levels = 0;
struct {
int32_t level;
int32_t infotype;
@@ -278,14 +279,24 @@ static bool test_getinfo(struct torture_context *tctx,
r.out.info_type = &info_type;
status = dcerpc_drsuapi_DsReplicaGetInfo(p, tctx, &r);
- torture_drsuapi_assert_call(tctx, p, status, &r, "dcerpc_drsuapi_DsReplicaGetInfo");
- if (!NT_STATUS_IS_OK(status) && p->last_fault_code == DCERPC_FAULT_INVALID_TAG) {
+
+ if (W_ERROR_EQUAL(r.out.result, WERR_INVALID_LEVEL)) {
+ /* this is a not yet supported level */
+ torture_comment(tctx,
+ "DsReplicaGetInfo level %d and/or infotype %d not yet supported by server\n",
+ array[i].level, array[i].infotype);
+ invalid_levels++;
+ } else if (!NT_STATUS_IS_OK(status) && p->last_fault_code == DCERPC_FAULT_INVALID_TAG) {
torture_comment(tctx,
"DsReplicaGetInfo level %d and/or infotype %d not supported by server\n",
array[i].level, array[i].infotype);
- } else {
+ }/* else {
torture_drsuapi_assert_call(tctx, p, status, &r, "dcerpc_drsuapi_DsReplicaGetInfo");
- }
+ }*/
+ }
+
+ if (invalid_levels > 0) {
+ return false;
}
return true;