summaryrefslogtreecommitdiff
path: root/source4/libnet/libnet_become_dc.c
diff options
context:
space:
mode:
Diffstat (limited to 'source4/libnet/libnet_become_dc.c')
-rw-r--r--source4/libnet/libnet_become_dc.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/source4/libnet/libnet_become_dc.c b/source4/libnet/libnet_become_dc.c
index 97be186f72..afc02c729c 100644
--- a/source4/libnet/libnet_become_dc.c
+++ b/source4/libnet/libnet_become_dc.c
@@ -1618,13 +1618,15 @@ static void becomeDC_drsuapi_pull_partition_send(struct libnet_BecomeDC_state *s
struct composite_context *c = s->creq;
struct rpc_request *req;
struct drsuapi_DsGetNCChanges *r;
+ int32_t level;
r = talloc(s, struct drsuapi_DsGetNCChanges);
if (composite_nomem(r, c)) return;
+ r->in.level = &level;
r->in.bind_handle = &drsuapi_h->bind_handle;
if (drsuapi_h->remote_info28.supported_extensions & DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8) {
- r->in.level = 8;
+ level = 8;
r->in.req.req8.destination_dsa_guid = partition->destination_dsa_guid;
r->in.req.req8.source_dsa_invocation_id = partition->source_dsa_invocation_id;
r->in.req.req8.naming_context = &partition->nc;
@@ -1640,7 +1642,7 @@ static void becomeDC_drsuapi_pull_partition_send(struct libnet_BecomeDC_state *s
r->in.req.req8.mapping_ctr.num_mappings = 0;
r->in.req.req8.mapping_ctr.mappings = NULL;
} else {
- r->in.level = 5;
+ level = 5;
r->in.req.req5.destination_dsa_guid = partition->destination_dsa_guid;
r->in.req.req5.source_dsa_invocation_id = partition->source_dsa_invocation_id;
r->in.req.req5.naming_context = &partition->nc;
@@ -1679,16 +1681,16 @@ static WERROR becomeDC_drsuapi_pull_partition_recv(struct libnet_BecomeDC_state
return r->out.result;
}
- if (r->out.level == 1) {
+ if (*r->out.level == 1) {
ctr_level = 1;
ctr1 = &r->out.ctr.ctr1;
- } else if (r->out.level == 2) {
+ } else if (*r->out.level == 2) {
ctr_level = 1;
ctr1 = r->out.ctr.ctr2.ctr.mszip1.ctr1;
- } else if (r->out.level == 6) {
+ } else if (*r->out.level == 6) {
ctr_level = 6;
ctr6 = &r->out.ctr.ctr6;
- } else if (r->out.level == 7 &&
+ } else if (*r->out.level == 7 &&
r->out.ctr.ctr7.level == 6 &&
r->out.ctr.ctr7.type == DRSUAPI_COMPRESSION_TYPE_MSZIP) {
ctr_level = 6;