s4:librpc/rpc/pyrpc.c: map NT_STATUS_NET_WRITE_FAULT to the matching NT_STATUS_RPC_...
authorStefan Metzmacher <metze@samba.org>
Mon, 12 Apr 2010 12:10:24 +0000 (14:10 +0200)
committerStefan Metzmacher <metze@samba.org>
Thu, 15 Apr 2010 07:34:04 +0000 (09:34 +0200)
metze

source4/librpc/rpc/pyrpc.c

index 718c749ef8db9cab867f84a7ccf813ca9785ce37..10f1d4be257e459b2b3ef765b7c872c5e3891ec7 100644 (file)
@@ -207,14 +207,10 @@ static PyMemberDef dcerpc_interface_members[] = {
 
 static void PyErr_SetDCERPCStatus(struct dcerpc_pipe *p, NTSTATUS status)
 {
-       if (p != NULL && NT_STATUS_EQUAL(status, NT_STATUS_NET_WRITE_FAULT)) {
-               const char *errstr = dcerpc_errstr(NULL, p->last_fault_code);
-               PyErr_SetObject(PyExc_RuntimeError, 
-                       Py_BuildValue("(i,s)", p->last_fault_code,
-                                     errstr));
-       } else {
-               PyErr_SetNTSTATUS(status);
+       if (p && NT_STATUS_EQUAL(status, NT_STATUS_NET_WRITE_FAULT)) {
+               status = dcerpc_fault_to_nt_status(p->last_fault_code);
        }
+       PyErr_SetNTSTATUS(status);
 }
 
 static PyObject *py_iface_request(PyObject *self, PyObject *args, PyObject *kwargs)