From bccac81d8792f85ae37d4a6617a92e2fae75aa50 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 14 Jun 2004 08:12:50 +0000 Subject: r1136: - added IDL for netr_LogonGetDomainInfo() - added workstation to auth_session_info in rpc servers - added session key fetch hook in crypto backends in dcesrv - store and fetch seed as well as a session key in schannel ldb - when a client uses schannel to setup a netlogon pipe connection we also need to setup the credentials from the schannel negotiation so credentials chaining works - added server side netr_LogonGetDomainInfo() call (This used to be commit a35459387de3b6a422c5af6f658338fc7e4314b0) --- source4/rpc_server/dcerpc_server.c | 42 ++++---------------------------------- 1 file changed, 4 insertions(+), 38 deletions(-) (limited to 'source4/rpc_server/dcerpc_server.c') diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c index 20ed50d128..d5d291dab5 100644 --- a/source4/rpc_server/dcerpc_server.c +++ b/source4/rpc_server/dcerpc_server.c @@ -547,40 +547,6 @@ static NTSTATUS dcesrv_auth3(struct dcesrv_call_state *call) } -/* - log a rpc packet in a format suitable for ndrdump. This is especially useful - for sealed packets, where ethereal cannot easily see the contents - - this triggers on a debug level of >= 10 -*/ -static void log_rpc_packet(const struct dcesrv_interface *iface, - uint32_t opnum, uint32_t flags, DATA_BLOB *pkt) -{ - const int num_examples = 20; - int i; - - if (DEBUGLEVEL < 10) return; - - for (i=0;indr->name, opnum, i, - (flags&NDR_IN)?"in":"out"); - if (name == NULL) { - return; - } - if (!file_exist(name, NULL)) { - if (file_save(name, pkt->data, pkt->length)) { - DEBUG(10,("Logged rpc packet to %s\n", name)); - } - free(name); - break; - } - free(name); - } -} - - /* handle a dcerpc request packet */ @@ -622,8 +588,8 @@ static NTSTATUS dcesrv_request(struct dcesrv_call_state *call) /* unravel the NDR for the packet */ status = call->conn->iface->ndr->calls[opnum].ndr_pull(pull, NDR_IN, r); if (!NT_STATUS_IS_OK(status)) { - log_rpc_packet(call->conn->iface, opnum, NDR_IN, - &call->pkt.u.request.stub_and_verifier); + dcerpc_log_packet(call->conn->iface->ndr, opnum, NDR_IN, + &call->pkt.u.request.stub_and_verifier); return dcesrv_fault(call, DCERPC_FAULT_NDR); } @@ -632,8 +598,8 @@ static NTSTATUS dcesrv_request(struct dcesrv_call_state *call) /* call the dispatch function */ status = call->conn->iface->dispatch(call, call->mem_ctx, r); if (!NT_STATUS_IS_OK(status)) { - log_rpc_packet(call->conn->iface, opnum, NDR_IN, - &call->pkt.u.request.stub_and_verifier); + dcerpc_log_packet(call->conn->iface->ndr, opnum, NDR_IN, + &call->pkt.u.request.stub_and_verifier); return dcesrv_fault(call, call->fault_code); } -- cgit