From a72750731c392b41fe3a34fa98c7db708a0ac012 Mon Sep 17 00:00:00 2001 From: Guenther Deschner Date: Thu, 20 Aug 2009 15:38:45 +0000 Subject: [PATCH] Fix cli_read() resolves: #516165 Guenther --- samba-3.4.0-cliread.patch | 31 +++++++++++++++++++++++++++++++ samba.spec | 8 +++++++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 samba-3.4.0-cliread.patch diff --git a/samba-3.4.0-cliread.patch b/samba-3.4.0-cliread.patch new file mode 100644 index 0000000..92c8e67 --- /dev/null +++ b/samba-3.4.0-cliread.patch @@ -0,0 +1,31 @@ +commit 33d27797d3ae9ab3ff7e1aa940941cc450f5ad1d +Author: Jeremy Allison +AuthorDate: Wed Aug 19 15:33:08 2009 -0700 +Commit: Jeremy Allison +CommitDate: Wed Aug 19 15:33:08 2009 -0700 + + Fix Red Hat bugzilla bug : https://bugzilla.redhat.com/show_bug.cgi?id=516165 + nautilus fails to copy files from an SMB share. This is a show-stopper + for 3.4.1 (I'll open a Samba.org bug). Although gnome-vfs is doing + *incredibly* stupid things by asking for a read size of 65535 - this + translates on the wire to a 65534 byte read followed by a 1 byte + read. Please send this back to the gnome developers that they + will ge horrid on the wire performance for this. + Jeremy. +--- + source3/libsmb/clireadwrite.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c +index d38de19..0d1f9e5 100644 +--- a/source3/libsmb/clireadwrite.c ++++ b/source3/libsmb/clireadwrite.c +@@ -200,7 +200,7 @@ static void cli_read_andx_done(struct tevent_req *subreq) + state->buf = (uint8_t *)smb_base(inbuf) + SVAL(vwv+6, 0); + + if (trans_oob(smb_len(inbuf), SVAL(vwv+6, 0), state->received) +- || (state->buf < bytes)) { ++ || (state->received && (state->buf < bytes))) { + DEBUG(5, ("server returned invalid read&x data offset\n")); + tevent_req_nterror(req, NT_STATUS_INVALID_NETWORK_RESPONSE); + return; diff --git a/samba.spec b/samba.spec index c8e7674..e11ec3f 100644 --- a/samba.spec +++ b/samba.spec @@ -1,4 +1,4 @@ -%define main_release 42 +%define main_release 43 %define samba_version 3.4.0 %define tdb_version 1.1.3 %define talloc_version 1.3.0 @@ -50,6 +50,7 @@ Patch107: samba-3.2.0pre1-grouppwd.patch Patch200: samba-3.2.5-inotify.patch Patch201: samba-3.4.0-build.patch Patch202: samba-3.4.0-bug6551.patch +Patch203: samba-3.4.0-cliread.patch Requires(pre): samba-common = %{epoch}:%{samba_version}-%{release} Requires: pam >= 0:0.64 @@ -262,6 +263,7 @@ cp %{SOURCE11} packaging/Fedora/ %patch200 -p0 -b .inotify %patch201 -p1 -b .build %patch202 -p1 -b .bug6551 +%patch203 -p1 -b .cliread mv %samba_source/VERSION %samba_source/VERSION.orig sed -e 's/SAMBA_VERSION_VENDOR_SUFFIX=$/&\"%{samba_release}\"/' < %samba_source/VERSION.orig > %samba_source/VERSION @@ -888,6 +890,10 @@ exit 0 %{_datadir}/pixmaps/samba/logo-small.png %changelog +* Thu Aug 20 2009 Guenther Deschner - 3.4.0-0.43 +- Fix cli_read() +- resolves: #516165 + * Thu Aug 06 2009 Guenther Deschner - 3.4.0-0.42 - Fix required talloc version number - resolves: #516086