Blob Blame History Raw
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