diff options
author | Volker Lendecke <vl@samba.org> | 2008-05-13 15:19:46 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2008-05-13 16:29:47 +0200 |
commit | 8ef2ada0ef36f946c79e5523db90f8d1d03d6607 (patch) | |
tree | fad013bae19c17a0c0bbc1f6582f25778123d6eb /source3/libsmb/clitrans.c | |
parent | 5d6528e44fc49924b99ac9b49db298d5fa6ac920 (diff) | |
download | samba-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.c | 14 |
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; } |