From: Andreas Schneider Date: Tue, 3 Jul 2012 11:01:47 +0000 (+0200) Subject: s3-rpc: Return the correct ntstatus depending on the transport. X-Git-Url: http://git.samba.org/?p=mat%2Fsamba.git;a=commitdiff_plain;h=a866dcc4f6696ed409a219b5cdd1baf56ccb2ff0 s3-rpc: Return the correct ntstatus depending on the transport. --- diff --git a/source3/rpc_client/rpc_transport_tstream.c b/source3/rpc_client/rpc_transport_tstream.c index 01e7a5edc8..11cd8d44eb 100644 --- a/source3/rpc_client/rpc_transport_tstream.c +++ b/source3/rpc_client/rpc_transport_tstream.c @@ -186,7 +186,11 @@ static struct tevent_req *rpc_tstream_read_send(TALLOC_CTX *mem_ctx, return NULL; } if (!rpc_tstream_is_connected(transp)) { - tevent_req_nterror(req, NT_STATUS_CONNECTION_DISCONNECTED); + NTSTATUS status = NT_STATUS_CONNECTION_DISCONNECTED; + if (tstream_is_cli_np(transp->stream)) { + status = NT_STATUS_PIPE_DISCONNECTED; + } + tevent_req_nterror(req, status); return tevent_req_post(req, ev); } state->transp = transp; @@ -270,7 +274,11 @@ static struct tevent_req *rpc_tstream_write_send(TALLOC_CTX *mem_ctx, return NULL; } if (!rpc_tstream_is_connected(transp)) { - tevent_req_nterror(req, NT_STATUS_CONNECTION_DISCONNECTED); + NTSTATUS status = NT_STATUS_CONNECTION_DISCONNECTED; + if (tstream_is_cli_np(transp->stream)) { + status = NT_STATUS_PIPE_DISCONNECTED; + } + tevent_req_nterror(req, status); return tevent_req_post(req, ev); } state->ev = ev; @@ -366,7 +374,11 @@ static struct tevent_req *rpc_tstream_trans_send(TALLOC_CTX *mem_ctx, } if (!rpc_tstream_is_connected(transp)) { - tevent_req_nterror(req, NT_STATUS_CONNECTION_DISCONNECTED); + NTSTATUS status = NT_STATUS_CONNECTION_DISCONNECTED; + if (tstream_is_cli_np(transp->stream)) { + status = NT_STATUS_PIPE_DISCONNECTED; + } + tevent_req_nterror(req, status); return tevent_req_post(req, ev); } state->ev = ev;