[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#626895: pu: package samba/2:3..6~dfsg-3squeeze4



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: pu

Hello release team,

Here's another samba bug for which I would like to cherrypick the
upstream fix.

In #605728, it is reported fail to copy files to an SMB share using
signed SMB. This breaks Gnome desktop copying which is, IMHO,
important enough to deserve being fixed in squeeze.

I attach the relevant  upstream commit to this request. Please
consider allowing this into s-p-u.


-- System Information:
Debian Release: wheezy/sid
Architecture: i386 (i686)

Kernel: Linux 2.6.38-2-686 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
commit 0afb2995a2177afa2eb7b8f99887a39cdaf23a15
Author: Jeremy Allison <jra@samba.org>
Date:   Wed Nov 10 17:59:05 2010 -0800

    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.
    
    Autobuild-User: Jeremy Allison <jra@samba.org>
    Autobuild-Date: Thu Nov 11 02:50:08 UTC 2010 on sn-devel-104

diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c
index 370c068..cd95b17 100644
--- a/source3/libsmb/clireadwrite.c
+++ b/source3/libsmb/clireadwrite.c
@@ -703,8 +703,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;
@@ -778,8 +777,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
@@ -828,7 +825,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++;
 		}

Reply to: