diff options
author | Jeremy Allison <jra@samba.org> | 1998-10-16 00:54:16 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 1998-10-16 00:54:16 +0000 |
commit | 514e52e4b4d6c7db7ebe2265e60c77b4f18d11b3 (patch) | |
tree | 395df25b5f6c542d73c377b61ee9c7765b937c76 /source/libsmb | |
parent | fa86770d56fd4a3e280ee4f5685e29dee2a713fb (diff) | |
download | samba-514e52e4b4d6c7db7ebe2265e60c77b4f18d11b3.tar.gz samba-514e52e4b4d6c7db7ebe2265e60c77b4f18d11b3.tar.xz samba-514e52e4b4d6c7db7ebe2265e60c77b4f18d11b3.zip |
trans2.h: Added Thursby MAC extension.
smbd/trans2.c: Added Thursby MAX extension.
libsmb/clientgen.c: Fixed smbtorture lock code.
Jeremy.
Diffstat (limited to 'source/libsmb')
-rw-r--r-- | source/libsmb/clientgen.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source/libsmb/clientgen.c b/source/libsmb/clientgen.c index a6ffb57834e..3c2ad3e0eaa 100644 --- a/source/libsmb/clientgen.c +++ b/source/libsmb/clientgen.c @@ -1126,6 +1126,7 @@ BOOL cli_close(struct cli_state *cli, int fnum) BOOL cli_lock(struct cli_state *cli, int fnum, uint32 offset, uint32 len, int timeout) { char *p; + int saved_timeout = cli->timeout; bzero(cli->outbuf,smb_size); bzero(cli->inbuf,smb_size); @@ -1149,10 +1150,16 @@ BOOL cli_lock(struct cli_state *cli, int fnum, uint32 offset, uint32 len, int ti SIVAL(p, 6, len); send_smb(cli->fd,cli->outbuf); + + cli->timeout = (timeout == -1) ? 0x7FFFFFFF : timeout; + if (!client_receive_smb(cli->fd,cli->inbuf,cli->timeout)) { + cli->timeout = saved_timeout; return False; } + cli->timeout = saved_timeout; + if (CVAL(cli->inbuf,smb_rcls) != 0) { return False; } @@ -1315,6 +1322,7 @@ static void cli_issue_write(struct cli_state *cli, int fnum, off_t offset, uint1 CVAL(cli->outbuf,smb_vwv0) = 0xFF; SSVAL(cli->outbuf,smb_vwv2,fnum); + SIVAL(cli->outbuf,smb_vwv3,offset); SIVAL(cli->outbuf,smb_vwv5,IS_BITS_SET_ALL(mode, 0x0008) ? 0xFFFFFFFF : 0); SSVAL(cli->outbuf,smb_vwv7,mode); |