summaryrefslogtreecommitdiff
path: root/source4/rpc_server/drsuapi
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2004-11-29 11:13:56 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:06:12 -0500
commit114b43a167e8470666125ff0b2ac08c4b5c4f14d (patch)
tree99d167dab0a227d910abf03fc6a7ae01fb55a9cf /source4/rpc_server/drsuapi
parentee0d68dc30a18b86a9d56e41e84903c2750c0173 (diff)
downloadsamba-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.c21
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;
}