diff options
author | Stefan Metzmacher <metze@samba.org> | 2004-11-29 11:13:56 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:06:12 -0500 |
commit | 114b43a167e8470666125ff0b2ac08c4b5c4f14d (patch) | |
tree | 99d167dab0a227d910abf03fc6a7ae01fb55a9cf /source4/rpc_server/drsuapi | |
parent | ee0d68dc30a18b86a9d56e41e84903c2750c0173 (diff) | |
download | samba-114b43a167e8470666125ff0b2ac08c4b5c4f14d.tar.gz samba-114b43a167e8470666125ff0b2ac08c4b5c4f14d.tar.bz2 samba-114b43a167e8470666125ff0b2ac08c4b5c4f14d.zip |
r3999: - reply with the same DsBindInfo blob as w2k3 in the server function
- add idl for drsuapi_DsReplicaSync() not yet complete
- just return WERR_OK for the drsuapi_DsReplicaSync() server function
metze
(This used to be commit e896925ac0b58bd48b5b9cc2d675682409d09ae1)
Diffstat (limited to 'source4/rpc_server/drsuapi')
-rw-r--r-- | source4/rpc_server/drsuapi/dcesrv_drsuapi.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/source4/rpc_server/drsuapi/dcesrv_drsuapi.c b/source4/rpc_server/drsuapi/dcesrv_drsuapi.c index eb38a22f43..f033c07ff7 100644 --- a/source4/rpc_server/drsuapi/dcesrv_drsuapi.c +++ b/source4/rpc_server/drsuapi/dcesrv_drsuapi.c @@ -42,6 +42,8 @@ static WERROR drsuapi_DsBind(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem { struct drsuapi_bind_state *b_state; struct dcesrv_handle *handle; + struct drsuapi_DsBindInfo *bind_info; + const uint8_t bind_info_data[] = DRSUAPI_DS_BIND_INFO_RESPONSE_W2K3; r->out.bind_info = NULL; ZERO_STRUCTP(r->out.bind_handle); @@ -64,6 +66,14 @@ static WERROR drsuapi_DsBind(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem handle->data = b_state; handle->destroy = drsuapi_handle_destroy; + bind_info = talloc_p(mem_ctx, struct drsuapi_DsBindInfo); + WERR_TALLOC_CHECK(bind_info); + + bind_info->length = sizeof(bind_info_data); + bind_info->data = talloc_memdup(mem_ctx, bind_info_data, sizeof(bind_info_data)); + WERR_TALLOC_CHECK(bind_info->data); + + r->out.bind_info = bind_info; *r->out.bind_handle = handle->wire_handle; return WERR_OK; @@ -94,12 +104,15 @@ static WERROR drsuapi_DsUnbind(struct dcesrv_call_state *dce_call, TALLOC_CTX *m /* - DRSUAPI_REPLICA_SYNC + drsuapi_DsReplicaSync */ -static WERROR DRSUAPI_REPLICA_SYNC(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, - struct DRSUAPI_REPLICA_SYNC *r) +static WERROR drsuapi_DsReplicaSync(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, + struct drsuapi_DsReplicaSync *r) { - DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); + /* TODO: implment this call correct! + * for now we just say yes + */ + return WERR_OK; } |