summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-11-30 19:40:53 +0000
committerJeremy Allison <jra@samba.org>2003-11-30 19:40:53 +0000
commit03f1bdbb72f63ea709a54059206e69da5f56c822 (patch)
tree1a6ae8107f805b1357c7f90a10285c79cd61d33b
parent958f1e54f71191d94498da45fc505d96b1528c78 (diff)
downloadsamba-03f1bdbb72f63ea709a54059206e69da5f56c822.tar.gz
samba-03f1bdbb72f63ea709a54059206e69da5f56c822.tar.bz2
samba-03f1bdbb72f63ea709a54059206e69da5f56c822.zip
Fix signing bug with secondary client trans requests. Turns out the last
packet is the one that matters for checking the signing replies. Need to check the server code does this correctly too.... Bug #832 reported by Volker. Jeremy. (This used to be commit 315f25fc1710e20051414bbf084cb5648129c3bb)
-rw-r--r--source3/libsmb/clitrans.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/source3/libsmb/clitrans.c b/source3/libsmb/clitrans.c
index 92c1cc99ee..3eb7fcc216 100644
--- a/source3/libsmb/clitrans.c
+++ b/source3/libsmb/clitrans.c
@@ -134,6 +134,16 @@ BOOL cli_send_trans(struct cli_state *cli, int trans,
* the primary. Important in signing. JRA. */
cli->mid = mid;
+ /*
+ * Turns out that we need to increment the
+ * sequence number for each packet until the
+ * last one in the signing sequence. That's
+ * the one that matters to check signing replies. JRA.
+ */
+
+ cli_signing_trans_stop(cli);
+ cli_signing_trans_start(cli);
+
show_msg(cli->outbuf);
if (!cli_send_smb(cli)) {
cli_signing_trans_stop(cli);
@@ -427,6 +437,16 @@ BOOL cli_send_nt_trans(struct cli_state *cli,
* the primary. Important in signing. JRA. */
cli->mid = mid;
+ /*
+ * Turns out that we need to increment the
+ * sequence number for each packet until the
+ * last one in the signing sequence. That's
+ * the one that matters to check signing replies. JRA.
+ */
+
+ cli_signing_trans_stop(cli);
+ cli_signing_trans_start(cli);
+
show_msg(cli->outbuf);
if (!cli_send_smb(cli)) {