summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-12-14 12:21:21 +0000
committerAndrew Tridgell <tridge@samba.org>2003-12-14 12:21:21 +0000
commita05882b34beffae26723a6b22a467ab10ee28dfe (patch)
tree43d4d5adff04920d67c95e238cb1ddc3074ef842 /source4/librpc
parentb356f3e43e360a409cd30fac97a0902d9b7ef11f (diff)
downloadsamba-a05882b34beffae26723a6b22a467ab10ee28dfe.tar.gz
samba-a05882b34beffae26723a6b22a467ab10ee28dfe.tar.bz2
samba-a05882b34beffae26723a6b22a467ab10ee28dfe.zip
fixed fragmented signed connections to our rpc server over SMB
(This used to be commit f5df126c254bcb96dfb42096d7247215c7e7a89a)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/dcerpc.idl1
-rw-r--r--source4/librpc/rpc/dcerpc.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/source4/librpc/idl/dcerpc.idl b/source4/librpc/idl/dcerpc.idl
index afe4b3003f..cf195b6aea 100644
--- a/source4/librpc/idl/dcerpc.idl
+++ b/source4/librpc/idl/dcerpc.idl
@@ -36,6 +36,7 @@ interface dcerpc
const uint8 DCERPC_REQUEST_LENGTH = 24;
+ const uint8 DCERPC_MAX_SIGN_SIZE = 32;
typedef struct {
uint32 alloc_hint;
diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c
index f1756215b1..3dcaca83ec 100644
--- a/source4/librpc/rpc/dcerpc.c
+++ b/source4/librpc/rpc/dcerpc.c
@@ -426,7 +426,7 @@ NTSTATUS dcerpc_request(struct dcerpc_pipe *p,
/* we can write a full max_recv_frag size, minus the dcerpc
request header size */
- chunk_size = p->srv_max_recv_frag - DCERPC_REQUEST_LENGTH;
+ chunk_size = p->srv_max_recv_frag - (DCERPC_MAX_SIGN_SIZE+DCERPC_REQUEST_LENGTH);
pkt.ptype = DCERPC_PKT_REQUEST;
pkt.call_id = p->call_id++;