summaryrefslogtreecommitdiff
path: root/source3/rpc_server/srv_pipe.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2006-10-10 07:53:41 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:15:22 -0500
commitb71a0be998c0171a01c632f3e14e9764c2dda6c2 (patch)
treec3b682a315f9f3ac979c2bc884884b82bb19d990 /source3/rpc_server/srv_pipe.c
parentced840640220cff14f02a78420a343f830ee09b6 (diff)
downloadsamba-b71a0be998c0171a01c632f3e14e9764c2dda6c2.tar.gz
samba-b71a0be998c0171a01c632f3e14e9764c2dda6c2.tar.bz2
samba-b71a0be998c0171a01c632f3e14e9764c2dda6c2.zip
r19220: Check if a backend has set rng_fault_state and send a dce-level fault pdu.
Volker (This used to be commit 21c08e7ef460ae7eaf1f441e8aadcfe0502fa1ad)
Diffstat (limited to 'source3/rpc_server/srv_pipe.c')
-rw-r--r--source3/rpc_server/srv_pipe.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/source3/rpc_server/srv_pipe.c b/source3/rpc_server/srv_pipe.c
index b60ee37f40..50ef195015 100644
--- a/source3/rpc_server/srv_pipe.c
+++ b/source3/rpc_server/srv_pipe.c
@@ -2310,6 +2310,13 @@ BOOL api_rpcTNP(pipes_struct *p, const char *rpc_name,
return True;
}
+ if (p->rng_fault_state) {
+ DEBUG(4, ("api_rpcTNP: rng fault return\n"));
+ p->rng_fault_state = False;
+ setup_fault_pdu(p, NT_STATUS(DCERPC_FAULT_OP_RNG_ERROR));
+ return True;
+ }
+
slprintf(name, sizeof(name)-1, "out_%s", rpc_name);
offset2 = prs_offset(&p->out_data.rdata);
prs_set_offset(&p->out_data.rdata, offset1);