git.samba.org
/
samba.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "Fix signing bug found by Volker. That one was *subtle*."
[samba.git]
/
source
/
libsmb
/
clitrans.c
diff --git
a/source/libsmb/clitrans.c
b/source/libsmb/clitrans.c
index f43a2aa0284a6c5ccdf2d0444f369eafc45419a7..f212f499940620110264aa97c6ebd4b1da57a0e5 100644
(file)
--- a/
source/libsmb/clitrans.c
+++ b/
source/libsmb/clitrans.c
@@
-95,9
+95,14
@@
BOOL cli_send_trans(struct cli_state *cli, int trans,
return False;
}
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)) {
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);
}
return(False);
}
@@
-139,6
+144,7
@@
BOOL cli_send_trans(struct cli_state *cli, int trans,
show_msg(cli->outbuf);
if (!cli_send_smb(cli)) {
show_msg(cli->outbuf);
if (!cli_send_smb(cli)) {
+ client_set_trans_sign_state_off(cli, mid);
return False;
}
return False;
}
@@
-317,6
+323,7
@@
BOOL cli_receive_trans(struct cli_state *cli,int trans,
out:
out:
+ client_set_trans_sign_state_off(cli, SVAL(cli->inbuf,smb_mid));
return ret;
}
return ret;
}
@@
-384,9
+391,14
@@
BOOL cli_send_nt_trans(struct cli_state *cli,
return False;
}
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)) {
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);
}
return(False);
}
@@
-428,6
+440,7
@@
BOOL cli_send_nt_trans(struct cli_state *cli,
show_msg(cli->outbuf);
if (!cli_send_smb(cli)) {
show_msg(cli->outbuf);
if (!cli_send_smb(cli)) {
+ client_set_trans_sign_state_off(cli, mid);
return False;
}
return False;
}
@@
-627,5
+640,6
@@
BOOL cli_receive_nt_trans(struct cli_state *cli,
out:
out:
+ client_set_trans_sign_state_off(cli, SVAL(cli->inbuf,smb_mid));
return ret;
}
return ret;
}