summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>2000-04-20 04:46:46 +0000
committerLuke Leighton <lkcl@samba.org>2000-04-20 04:46:46 +0000
commitffdfd030772764878fdf4403b244e36c46c62b24 (patch)
tree9e260766b32fbfaeea6f8f7d86ccc6a2b7cdb434 /source
parent5911ea829d8ee9b0df04a85cdc60c97705bcf337 (diff)
downloadsamba-ffdfd030772764878fdf4403b244e36c46c62b24.tar.gz
debugging data-transfer interface (again).
Diffstat (limited to 'source')
-rw-r--r--source/lib/msrpc-client.c14
-rw-r--r--source/msrpc/msrpcd_process.c10
2 files changed, 14 insertions, 10 deletions
diff --git a/source/lib/msrpc-client.c b/source/lib/msrpc-client.c
index e392b4ba590..e8bb803c4ce 100644
--- a/source/lib/msrpc-client.c
+++ b/source/lib/msrpc-client.c
@@ -92,16 +92,19 @@ BOOL msrpc_send(int fd, prs_struct * ps)
char *outbuf;
/* if there is no data then say success */
- if (!ps || !ps->data) return True;
-
- DEBUG(10, ("ncalrpc_l_send_prs: data: %p len %d\n", outbuf, len));
- dbgflush();
+ if (!ps || !ps->data) return False;
len = prs_buf_len(ps);
outbuf = ps->data;
+ DEBUG(10, ("ncalrpc_l_send_prs: data: %p len %d\n", outbuf, len));
dump_data(10, outbuf, len);
+ if (len == 0)
+ {
+ return False;
+ }
+
ret = write_socket(fd, outbuf, len);
prs_free_data(ps);
@@ -194,9 +197,6 @@ static BOOL ncalrpc_l_authenticate(struct msrpc_local *msrpc)
prs_struct ps;
uint32 status;
- char *in = msrpc->inbuf;
- char *out = msrpc->outbuf;
-
uint16 command;
command = AGENT_CMD_CON;
diff --git a/source/msrpc/msrpcd_process.c b/source/msrpc/msrpcd_process.c
index a7b383a6e25..627375e045d 100644
--- a/source/msrpc/msrpcd_process.c
+++ b/source/msrpc/msrpcd_process.c
@@ -123,10 +123,14 @@ static void process_msrpc(rpcsrv_struct * l, const char *name,
dump_data(10, pdu->data, len);
more = rpc_local(l, pdu->data, len, name);
- while (more) {
- msrpc_send(l->c, &l->rsmb_pdu);
+ while (more)
+ {
+ more = msrpc_send(l->c, &l->rsmb_pdu);
prs_free_data(&l->rsmb_pdu);
- more = rpc_local(l, NULL, 0, name);
+ if (more)
+ {
+ more = rpc_local(l, NULL, 0, name);
+ }
}
}