Author: metze Date: 2004-08-17 09:07:44 +0000 (Tue, 17 Aug 2004) New Revision: 1845
WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source&rev=1845&nolog=1 Log: map DCERPC_FAULT_LOGON_FAILURE to NT_STATUS_LOGON_FAILURE metze Modified: branches/SAMBA_4_0/source/build/pidl/server.pm branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c Changeset: Modified: branches/SAMBA_4_0/source/build/pidl/server.pm =================================================================== --- branches/SAMBA_4_0/source/build/pidl/server.pm 2004-08-17 08:28:15 UTC (rev 1844) +++ branches/SAMBA_4_0/source/build/pidl/server.pm 2004-08-17 09:07:44 UTC (rev 1845) @@ -102,7 +102,7 @@ } if (dce_call->fault_code != 0) { - return NT_STATUS_NET_WRITE_FAULT; + return dcerpc_map_fault2ntstatus(dce_call->fault_code); } return NT_STATUS_OK; } Modified: branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c =================================================================== --- branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c 2004-08-17 08:28:15 UTC (rev 1844) +++ branches/SAMBA_4_0/source/librpc/rpc/dcerpc.c 2004-08-17 09:07:44 UTC (rev 1845) @@ -95,7 +95,16 @@ } } +NTSTATUS dcerpc_map_fault2ntstatus(uint32_t fault_code) +{ + switch (fault_code) { + case DCERPC_FAULT_LOGON_FAILURE: + return NT_STATUS_LOGON_FAILURE; + } + return NT_STATUS_NET_WRITE_FAULT; +} + /* parse a data blob into a dcerpc_packet structure. This handles both input and output packets @@ -617,7 +626,7 @@ if (pkt.ptype == DCERPC_PKT_FAULT) { DEBUG(5,("rpc fault 0x%x\n", pkt.u.fault.status)); p->last_fault_code = pkt.u.fault.status; - return NT_STATUS_NET_WRITE_FAULT; + return dcerpc_map_fault2ntstatus(pkt.u.fault.status); } if (pkt.ptype != DCERPC_PKT_RESPONSE) { @@ -652,7 +661,7 @@ if (pkt.ptype == DCERPC_PKT_FAULT) { p->last_fault_code = pkt.u.fault.status; - return NT_STATUS_NET_WRITE_FAULT; + return dcerpc_map_fault2ntstatus(pkt.u.fault.status); } if (pkt.ptype != DCERPC_PKT_RESPONSE) {
