summaryrefslogtreecommitdiff
path: root/source4/rpc_server/drsuapi
diff options
context:
space:
mode:
authorAnatoliy Atanasov <anatoliy.atanasov@postpath.com>2009-09-23 16:58:58 -0700
committerAnatoliy Atanasov <anatoliy.atanasov@postpath.com>2009-09-23 17:10:12 -0700
commit97a9ae15b581be85bec260b3875343811f315fe6 (patch)
tree0b69a90a81e418c565ae9617832f715838a6b624 /source4/rpc_server/drsuapi
parent71c862cd91969f238f4d63c8b1178621714d0cc4 (diff)
downloadsamba-97a9ae15b581be85bec260b3875343811f315fe6.tar.gz
samba-97a9ae15b581be85bec260b3875343811f315fe6.tar.bz2
samba-97a9ae15b581be85bec260b3875343811f315fe6.zip
s4: Handle DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET in getncchanges
When this flag is specified in the request we shouldn't use the uptodateness vector in the request.
Diffstat (limited to 'source4/rpc_server/drsuapi')
-rw-r--r--source4/rpc_server/drsuapi/getncchanges.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source4/rpc_server/drsuapi/getncchanges.c b/source4/rpc_server/drsuapi/getncchanges.c
index 75f5651791..22e82fb4e8 100644
--- a/source4/rpc_server/drsuapi/getncchanges.c
+++ b/source4/rpc_server/drsuapi/getncchanges.c
@@ -332,6 +332,12 @@ WERROR dcesrv_drsuapi_DsGetNCChanges(struct dcesrv_call_state *dce_call, TALLOC_
return WERR_DS_DRA_BAD_NC;
}
+ if ((r->in.req->req8.replica_flags & DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET)
+ == DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET) {
+ /* Ignore the _in_ uptpdateness vector*/
+ r->in.req->req8.uptodateness_vector = NULL;
+ }
+
werr = drs_security_level_check(dce_call, "DsGetNCChanges");
if (!W_ERROR_IS_OK(werr)) {
return werr;