diff options
author | Julien Kerihuel <j.kerihuel@openchange.org> | 2008-05-15 13:54:07 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2008-05-16 08:54:27 +0200 |
commit | 25a82b8fc93ca01b7f142a680ad9a327e8cb8fa9 (patch) | |
tree | 500d6260d1d680b54bc414a7345f09bcd23bb961 /source4 | |
parent | 8113bb07a8eaee2bce1290bff1f06856bc7c76e6 (diff) | |
download | samba-25a82b8fc93ca01b7f142a680ad9a327e8cb8fa9.tar.gz samba-25a82b8fc93ca01b7f142a680ad9a327e8cb8fa9.tar.bz2 samba-25a82b8fc93ca01b7f142a680ad9a327e8cb8fa9.zip |
This patch adds remaining padding bytes to the dcerpc_fault IDL structure and adds a const 4 bytes blob to pkt.u.fault.
Signed-off-by: Stefan Metzmacher <metze@samba.org>
(This used to be commit 652b8c5f156b357e231057a5a0fbded88f4f9c5f)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/librpc/idl/dcerpc.idl | 1 | ||||
-rw-r--r-- | source4/rpc_server/dcerpc_server.c | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/source4/librpc/idl/dcerpc.idl b/source4/librpc/idl/dcerpc.idl index b2c67542f5..e228d85c46 100644 --- a/source4/librpc/idl/dcerpc.idl +++ b/source4/librpc/idl/dcerpc.idl @@ -116,6 +116,7 @@ interface dcerpc uint16 context_id; uint8 cancel_count; uint32 status; + [flag(NDR_REMAINING)] DATA_BLOB _pad; } dcerpc_fault; /* the auth types we know about */ diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c index 1962a97d5b..eb467709c9 100644 --- a/source4/rpc_server/dcerpc_server.c +++ b/source4/rpc_server/dcerpc_server.c @@ -445,6 +445,7 @@ static NTSTATUS dcesrv_fault(struct dcesrv_call_state *call, uint32_t fault_code { struct ncacn_packet pkt; struct data_blob_list_item *rep; + uint8_t zeros[4]; NTSTATUS status; /* setup a bind_ack */ @@ -458,6 +459,9 @@ static NTSTATUS dcesrv_fault(struct dcesrv_call_state *call, uint32_t fault_code pkt.u.fault.cancel_count = 0; pkt.u.fault.status = fault_code; + ZERO_STRUCT(zeros); + pkt.u.fault._pad = data_blob_const(zeros, sizeof(zeros)); + rep = talloc(call, struct data_blob_list_item); if (!rep) { return NT_STATUS_NO_MEMORY; |