drsuapi: get ctr6 out of xpress compressed level
authorStefan Metzmacher <metze@samba.org>
Wed, 16 Jul 2008 10:58:29 +0000 (12:58 +0200)
committerStefan Metzmacher <metze@samba.org>
Wed, 16 Jul 2008 12:42:06 +0000 (14:42 +0200)
metze

source/dsdb/repl/drepl_out_helpers.c
source/libnet/libnet_become_dc.c
source/torture/rpc/dssync.c

index d79d94fc12a7d7ec71134609c346ce2e8339fe0b..e0c3268f9d951ac0a97afd856adb223bd74259bd 100644 (file)
@@ -316,6 +316,11 @@ static void dreplsrv_op_pull_source_get_changes_recv(struct rpc_request *req)
                   r->out.ctr.ctr7.type == DRSUAPI_COMPRESSION_TYPE_MSZIP) {
                ctr_level = 6;
                ctr6 = r->out.ctr.ctr7.ctr.mszip6.ctr6;
+       } else if (*r->out.level == 7 &&
+                  r->out.ctr.ctr7.level == 6 &&
+                  r->out.ctr.ctr7.type == DRSUAPI_COMPRESSION_TYPE_XPRESS) {
+               ctr_level = 6;
+               ctr6 = r->out.ctr.ctr7.ctr.xpress6.ctr6;
        } else {
                composite_error(c, werror_to_ntstatus(WERR_BAD_NET_RESP));
                return;
index 3a437db4401c7150aa3dacdd1fc8d6d662e5c09b..556a51e8af8cccece0a8b8a762a3fc9aa8311dca 100644 (file)
@@ -2454,6 +2454,11 @@ static WERROR becomeDC_drsuapi_pull_partition_recv(struct libnet_BecomeDC_state
                   r->out.ctr.ctr7.type == DRSUAPI_COMPRESSION_TYPE_MSZIP) {
                ctr_level = 6;
                ctr6 = r->out.ctr.ctr7.ctr.mszip6.ctr6;
+       } else if (*r->out.level == 7 &&
+                  r->out.ctr.ctr7.level == 6 &&
+                  r->out.ctr.ctr7.type == DRSUAPI_COMPRESSION_TYPE_XPRESS) {
+               ctr_level = 6;
+               ctr6 = r->out.ctr.ctr7.ctr.xpress6.ctr6;
        } else {
                return WERR_BAD_NET_RESP;
        }
index ec527687c07a4910fe9ad192f7717b62af4db21b..9c07e5f532e2051d2186f0f718bc65e0c8cd7e4f 100644 (file)
@@ -725,6 +725,11 @@ static bool test_FetchData(struct torture_context *tctx, struct DsSyncTest *ctx)
                                   && r.out.ctr.ctr7.type == DRSUAPI_COMPRESSION_TYPE_MSZIP) {
                                out_level = 6;
                                ctr6 = r.out.ctr.ctr7.ctr.mszip6.ctr6;
+                       } else if (ret == true && *r.out.level == 7
+                                  && r.out.ctr.ctr7.level == 6
+                                  && r.out.ctr.ctr7.type == DRSUAPI_COMPRESSION_TYPE_XPRESS) {
+                               out_level = 6;
+                               ctr6 = r.out.ctr.ctr7.ctr.xpress6.ctr6;
                        }
 
                        if (out_level == 6) {