summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1998-10-20 18:27:49 +0000
committerLuke Leighton <lkcl@samba.org>1998-10-20 18:27:49 +0000
commit1ebeb54932de01323356e8201d465656b8723d46 (patch)
treeda41300fe2d31576f3efc0041739626b618fbb66 /source3/include
parent476d0fd23682452d0d9f56ff2e166243d74cfdbc (diff)
downloadsamba-1ebeb54932de01323356e8201d465656b8723d46.tar.gz
samba-1ebeb54932de01323356e8201d465656b8723d46.tar.bz2
samba-1ebeb54932de01323356e8201d465656b8723d46.zip
some quite important bug-fixes i missed because i transferred the wrong
smb.tgz file from my portable. particularly the call to mem_data followed by a realloc of that data in cli_pipe.c's rpc_read() function. smbd responses now use p->rdata_i which is a faked-up pointer into p->rdata's response data. rdata can be very long; rdata_i is limited to point to no more than max_tsize - 0x18 in length. this will make it an almost trivial task to add the encrypted rpc headers after rdata_i, and mem_buf_copy will cope admirably with rhdr chained to rdata_i chained to auth_verifier etc etc... (This used to be commit 05a297e3a98c14360782af4ad0d851638fb5da9a)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/ntdomain.h1
-rw-r--r--source3/include/proto.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/source3/include/ntdomain.h b/source3/include/ntdomain.h
index b7c3b5b577..97122c8169 100644
--- a/source3/include/ntdomain.h
+++ b/source3/include/ntdomain.h
@@ -67,6 +67,7 @@ typedef struct pipes_struct
prs_struct rhdr; /* output header */
prs_struct rdata; /* output data */
+ prs_struct rdata_i; /* output data (intermediate, for fragments) */
prs_struct rauth; /* output authentication verifier */
prs_struct rverf; /* output verifier */
prs_struct rntlm; /* output ntlmssp */
diff --git a/source3/include/proto.h b/source3/include/proto.h
index b1322f5e9f..2cec5f91f7 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -122,7 +122,7 @@ void mdfour(unsigned char *out, unsigned char *in, int n);
/*The following definitions come from lib/membuffer.c */
void mem_init(struct mem_buf *buf, int margin);
-void mem_create(struct mem_buf *buf, char *data, int size, int margin, BOOL dynamic);
+void mem_create(struct mem_buf *buf, char *data, int offset, int size, int margin, BOOL dynamic);
BOOL mem_alloc_data(struct mem_buf *buf, int size);
BOOL mem_buf_copy(char *copy_into, struct mem_buf *buf,
uint32 offset, uint32 len);