diff options
-rw-r--r-- | source4/librpc/idl/drsuapi.idl | 25 | ||||
-rw-r--r-- | source4/rpc_server/drsuapi/dcesrv_drsuapi.c | 6 |
2 files changed, 27 insertions, 4 deletions
diff --git a/source4/librpc/idl/drsuapi.idl b/source4/librpc/idl/drsuapi.idl index 0504c0d442..a01e082267 100644 --- a/source4/librpc/idl/drsuapi.idl +++ b/source4/librpc/idl/drsuapi.idl @@ -945,7 +945,30 @@ interface drsuapi /*****************/ /* Function 0x0e */ - WERROR DRSUAPI_REMOVE_DS_SERVER(); + typedef struct { + [charset(UTF16),string] uint16 *server_dn; + [charset(UTF16),string] uint16 *domain_dn; + uint32 unknown; /* 0x000000001 */ + } drsuapi_DsRemoveDSServerRequest1; + + typedef [switch_type(int32)] union { + [case(1)] drsuapi_DsRemoveDSServerRequest1 req1; + } drsuapi_DsRemoveDSServerRequest; + + typedef struct { + WERROR status; + } drsuapi_DsRemoveDSServerResult1; + + typedef [switch_type(int32)] union { + [case(1)] drsuapi_DsRemoveDSServerResult1 res1; + } drsuapi_DsRemoveDSServerResult; + + WERROR drsuapi_DsRemoveDSServer( + [in] policy_handle *bind_handle, + [in,out] int32 level, + [in,switch_is(level)] drsuapi_DsRemoveDSServerRequest req, + [out,switch_is(level)] drsuapi_DsRemoveDSServerResult res + ); /*****************/ /* Function 0x0f */ diff --git a/source4/rpc_server/drsuapi/dcesrv_drsuapi.c b/source4/rpc_server/drsuapi/dcesrv_drsuapi.c index 1eb106066b..1773c61629 100644 --- a/source4/rpc_server/drsuapi/dcesrv_drsuapi.c +++ b/source4/rpc_server/drsuapi/dcesrv_drsuapi.c @@ -327,10 +327,10 @@ static WERROR drsuapi_DsWriteAccountSpn(struct dcesrv_call_state *dce_call, TALL /* - DRSUAPI_REMOVE_DS_SERVER + drsuapi_DsRemoveDSServer */ -static WERROR DRSUAPI_REMOVE_DS_SERVER(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, - struct DRSUAPI_REMOVE_DS_SERVER *r) +static WERROR drsuapi_DsRemoveDSServer(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, + struct drsuapi_DsRemoveDSServer *r) { DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR); } |