diff options
author | Stefan Metzmacher <metze@samba.org> | 2005-10-14 06:07:23 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:39:51 -0500 |
commit | 18bd47742880424f4f0621b665c47f2c26617f21 (patch) | |
tree | d67ddd6f2e54ab40d2ae9d6f3cb00c077e2b6849 /source4/torture | |
parent | 8dfa59372ff8a9348d1ffc5a8a840f82f05a49d1 (diff) | |
download | samba-18bd47742880424f4f0621b665c47f2c26617f21.tar.gz samba-18bd47742880424f4f0621b665c47f2c26617f21.tar.bz2 samba-18bd47742880424f4f0621b665c47f2c26617f21.zip |
r10986: loop also when we use mszip compression
metze
(This used to be commit e32488667c59c30d66528e8fa31c55037f36cd01)
Diffstat (limited to 'source4/torture')
-rw-r--r-- | source4/torture/rpc/dssync.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/source4/torture/rpc/dssync.c b/source4/torture/rpc/dssync.c index 757a2dcc7c..77551998c3 100644 --- a/source4/torture/rpc/dssync.c +++ b/source4/torture/rpc/dssync.c @@ -279,6 +279,8 @@ static BOOL test_FetchData(struct DsSyncTest *ctx) const char *partition = NULL; struct drsuapi_DsGetNCChanges r; struct drsuapi_DsReplicaObjectIdentifier nc; + struct drsuapi_DsGetNCChangesCtr6 *ctr6 = NULL; + int32_t out_level = 0; struct GUID null_guid; struct dom_sid null_sid; struct { @@ -403,15 +405,26 @@ static BOOL test_FetchData(struct DsSyncTest *ctx) } if (ret == True && r.out.level == 6) { + out_level = 6; + ctr6 = &r.out.ctr.ctr6; + } else if (ret == True && r.out.level == 7 + && r.out.ctr.ctr7.level == 6 + && r.out.ctr.ctr7.type == DRSUAPI_COMPRESSION_TYPE_MSZIP) { + out_level = 6; + ctr6 = r.out.ctr.ctr7.ctr.mszip6.ctr6; + } + + if (out_level == 6) { DEBUG(0,("end[%d] tmp_highest_usn: %llu , highest_usn: %llu\n",y, - r.out.ctr.ctr6.new_highwatermark.tmp_highest_usn, - r.out.ctr.ctr6.new_highwatermark.highest_usn)); + ctr6->new_highwatermark.tmp_highest_usn, + ctr6->new_highwatermark.highest_usn)); - if (r.out.ctr.ctr6.new_highwatermark.tmp_highest_usn > r.out.ctr.ctr6.new_highwatermark.highest_usn) { - r.in.req.req8.highwatermark = r.out.ctr.ctr6.new_highwatermark; + if (ctr6->new_highwatermark.tmp_highest_usn > ctr6->new_highwatermark.highest_usn) { + r.in.req.req8.highwatermark = ctr6->new_highwatermark; continue; } } + break; } } |