From 2a9eaf741d8c169b8f06ee6498a6879acc654506 Mon Sep 17 00:00:00 2001
From: Jeremy Allison <jra@samba.org>
Date: Thu, 11 Nov 2010 09:44:21 -0800
Subject: [PATCH] Fix bug #7791 - gvfsd-smb (Gnome vfs) fails to copy files from a SMB share using SMB signing.
The underlying problem is that the old code invoked by cli_write() increments
cli->mid directly when issuing outstanding writes. This should now be done only
in libsmb/clientgen.c to make metze's new signing engine works correctly. Just
deleting this code fixes the problem.
Jeremy.
---
source3/libsmb/clireadwrite.c | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c
index 6342de4..1f5f925 100644
--- a/source3/libsmb/clireadwrite.c
+++ b/source3/libsmb/clireadwrite.c
@@ -704,8 +704,7 @@ static bool cli_issue_write(struct cli_state *cli,
off_t offset,
uint16 mode,
const char *buf,
- size_t size,
- int i)
+ size_t size)
{
char *p;
bool large_writex = false;
@@ -779,8 +778,6 @@ static bool cli_issue_write(struct cli_state *cli,
cli_setup_bcc(cli, p+size);
}
- SSVAL(cli->outbuf,smb_mid,cli->mid + i);
-
show_msg(cli->outbuf);
if (direct_writes) {
/* For direct writes we now need to write the data
@@ -829,7 +826,7 @@ ssize_t cli_write(struct cli_state *cli,
if (!cli_issue_write(cli, fnum, offset + bsent,
write_mode,
buf + bsent,
- size1, issued))
+ size1))
return -1;
issued++;
}
--
1.7.3.1