summaryrefslogtreecommitdiff
path: root/source3/libsmb/clitrans.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2008-05-13 15:19:46 +0200
committerVolker Lendecke <vl@samba.org>2008-05-13 16:29:47 +0200
commit8ef2ada0ef36f946c79e5523db90f8d1d03d6607 (patch)
treefad013bae19c17a0c0bbc1f6582f25778123d6eb /source3/libsmb/clitrans.c
parent5d6528e44fc49924b99ac9b49db298d5fa6ac920 (diff)
downloadsamba-8ef2ada0ef36f946c79e5523db90f8d1d03d6607.tar.gz
samba-8ef2ada0ef36f946c79e5523db90f8d1d03d6607.tar.bz2
samba-8ef2ada0ef36f946c79e5523db90f8d1d03d6607.zip
Revert "Fix signing bug found by Volker. That one was *subtle*."
This reverts commit 816aea6c1a426eb2450061b847729e22bdac33a0. (This used to be commit e402e6508ca0806deef4c4044cfa6461b682850a)
Diffstat (limited to 'source3/libsmb/clitrans.c')
-rw-r--r--source3/libsmb/clitrans.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/source3/libsmb/clitrans.c b/source3/libsmb/clitrans.c
index bfb31fdb74..aa9c2fb296 100644
--- a/source3/libsmb/clitrans.c
+++ b/source3/libsmb/clitrans.c
@@ -94,9 +94,14 @@ bool cli_send_trans(struct cli_state *cli, int trans,
return False;
}
+ /* Note we're in a trans state. Save the sequence
+ * numbers for replies. */
+ client_set_trans_sign_state_on(cli, mid);
+
if (this_ldata < ldata || this_lparam < lparam) {
/* receive interim response */
if (!cli_receive_smb(cli) || cli_is_error(cli)) {
+ client_set_trans_sign_state_off(cli, mid);
return(False);
}
@@ -138,6 +143,7 @@ bool cli_send_trans(struct cli_state *cli, int trans,
show_msg(cli->outbuf);
if (!cli_send_smb(cli)) {
+ client_set_trans_sign_state_off(cli, mid);
return False;
}
@@ -344,6 +350,7 @@ bool cli_receive_trans(struct cli_state *cli,int trans,
}
}
+ client_set_trans_sign_state_off(cli, SVAL(cli->inbuf,smb_mid));
return ret;
}
@@ -411,9 +418,14 @@ bool cli_send_nt_trans(struct cli_state *cli,
return False;
}
+ /* Note we're in a trans state. Save the sequence
+ * numbers for replies. */
+ client_set_trans_sign_state_on(cli, mid);
+
if (this_ldata < ldata || this_lparam < lparam) {
/* receive interim response */
if (!cli_receive_smb(cli) || cli_is_error(cli)) {
+ client_set_trans_sign_state_off(cli, mid);
return(False);
}
@@ -455,6 +467,7 @@ bool cli_send_nt_trans(struct cli_state *cli,
show_msg(cli->outbuf);
if (!cli_send_smb(cli)) {
+ client_set_trans_sign_state_off(cli, mid);
return False;
}
@@ -682,5 +695,6 @@ bool cli_receive_nt_trans(struct cli_state *cli,
}
}
+ client_set_trans_sign_state_off(cli, SVAL(cli->inbuf,smb_mid));
return ret;
}