Hello community,
here is the log from the commit of package samba for openSUSE:Factory
checked in at Thu Sep 1 12:05:56 CEST 2011.
--------
--- samba/samba.changes 2011-08-27 22:40:56.000000000 +0200
+++ /mounts/work_src_done/STABLE/samba/samba.changes 2011-08-31 00:10:50.000000000 +0200
@@ -2 +2 @@
-Sat Aug 27 19:38:01 UTC 2011 - lmuelle@suse.de
+Tue Aug 30 21:38:12 UTC 2011 - lmuelle@suse.de
@@ -4 +4,2 @@
-- Optimize serverid_exists() for Solaris; (bso#8395).
+- Microsoft Word from Microsoft Office 2007 fails to save as on a share with
+ SMB2; (bso#8412).
@@ -7 +8 @@
-Sat Aug 27 19:29:37 UTC 2011 - lmuelle@suse.de
+Tue Aug 30 21:29:07 UTC 2011 - lmuelle@suse.de
@@ -9 +10,2 @@
-- talloc: check block count after references test.
+- Use sys_write and sys_read in fork_domain_child to fix a winbind race
+ leading to 100% CPU usage; (bso#8409).
@@ -12 +14 @@
-Sat Aug 27 19:26:06 UTC 2011 - lmuelle@suse.de
+Tue Aug 30 18:41:20 UTC 2011 - lmuelle@suse.de
@@ -14 +16 @@
-- talloc: added test suite for talloc_free_children().
+- Fix wrong reply to smb2 durable handle reconnect (DHnC) request; (bso#8428).
@@ -17 +19 @@
-Sat Aug 27 19:21:58 UTC 2011 - lmuelle@suse.de
+Tue Aug 30 18:31:29 UTC 2011 - lmuelle@suse.de
@@ -19 +21 @@
-- talloc: license info erratum in the manpage.
+- Fix infinite loop in ACL module code; (bso#8422).
@@ -22 +24 @@
-Sat Aug 27 19:08:11 UTC 2011 - lmuelle@suse.de
+Mon Aug 29 19:28:54 UTC 2011 - lmuelle@suse.de
@@ -24 +26 @@
-- talloc: fix typos and better differentiation between versions 1 and 2.
+- Fix getent group if trusted domains are not reachable; (bso#8420).
@@ -27 +29 @@
-Sat Aug 27 19:05:09 UTC 2011 - lmuelle@suse.de
+Mon Aug 29 16:51:58 UTC 2011 - lmuelle@suse.de
@@ -29 +31 @@
-- talloc: preserve context name on talloc_free_children().
+- smbclient can't access a NT4 share since 3.6.0; (bso#8385).
@@ -32 +34,6 @@
-Sat Aug 27 19:01:41 UTC 2011 - lmuelle@suse.de
+Sat Aug 27 19:38:01 UTC 2011 - lmuelle@suse.de
+
+- Optimize serverid_exists() for Solaris; (bso#8395).
+
+-------------------------------------------------------------------
+Sat Aug 27 19:29:37 UTC 2011 - lmuelle@suse.de
@@ -34 +41,7 @@
-- talloc: ensure the sibling linked list remains valid during a free.
+- talloc:
+ + check block count after references test.
+ + added test suite for talloc_free_children().
+ + license info erratum in the manpage.
+ + fix typos and better differentiation between versions 1 and 2.
+ + preserve context name on talloc_free_children().
+ + ensure the sibling linked list remains valid during a free.
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ samba-doc.spec ++++++
--- /var/tmp/diff_new_pack.PZFNY5/_old 2011-09-01 12:05:20.000000000 +0200
+++ /var/tmp/diff_new_pack.PZFNY5/_new 2011-09-01 12:05:20.000000000 +0200
@@ -82,7 +82,7 @@
%endif
Url: http://www.samba.org/
Version: 3.6.0
-Release: 2
+Release: 3
License: GPLv3+
Summary: Samba Documentation
Group: Documentation/Other
@@ -414,7 +414,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%changelog
++++++ samba.spec ++++++
--- /var/tmp/diff_new_pack.PZFNY5/_old 2011-09-01 12:05:21.000000000 +0200
+++ /var/tmp/diff_new_pack.PZFNY5/_new 2011-09-01 12:05:21.000000000 +0200
@@ -86,7 +86,7 @@
Url: http://www.samba.org/
AutoReqProv: on
Version: 3.6.0
-Release: 2
+Release: 3
Provides: samba-gplv3 = %{version}-%{release}
Obsoletes: samba-gplv3 < %{version}
%ifarch ppc64
@@ -184,7 +184,7 @@
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%package client
@@ -224,7 +224,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%if 0%{?suse_version} == 0 || 0%{?suse_version} > 1020
@@ -251,7 +251,7 @@
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%endif
@@ -281,7 +281,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%endif
@@ -308,7 +308,7 @@
--------
Jeremy Allison <jra at samba dot org>
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%if %{make_utils}
@@ -331,7 +331,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%endif
@@ -362,7 +362,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%if 0%{?suse_version} && 0%{?suse_version} < 1031
@@ -389,13 +389,13 @@
%if 0%{?suse_version} && 0%{?suse_version} < 1031
%description -n libsmbclient
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%else
%description -n libsmbclient0
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%endif
@@ -441,7 +441,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%package -n libnetapi0
@@ -460,7 +460,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%package -n libnetapi-devel
@@ -485,7 +485,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%if 0%{?suse_version} && 0%{?suse_version} < 1031
@@ -507,13 +507,13 @@
%if 0%{?suse_version} && 0%{?suse_version} < 1031
%description -n libsmbsharemodes
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%else
%description -n libsmbsharemodes0
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%endif
@@ -550,7 +550,7 @@
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%package -n libwbclient0
@@ -569,7 +569,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%package -n libwbclient-devel
@@ -594,7 +594,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%package -n libtalloc2
@@ -603,7 +603,7 @@
Group: System/Libraries
AutoReqProv: on
Version: %{libtalloc_ver}
-Release: 2
+Release: 3
PreReq: /sbin/ldconfig
%description -n libtalloc2
@@ -615,7 +615,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%package -n libtalloc-devel
@@ -624,7 +624,7 @@
Group: Development/Libraries/C and C++
AutoReqProv: on
Version: %{libtalloc_ver}
-Release: 2
+Release: 3
%if 0%{?suse_version} > 1020
BuildRequires: pkg-config
%else
@@ -642,7 +642,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%package -n libtdb1
@@ -651,7 +651,7 @@
Group: System/Libraries
AutoReqProv: on
Version: %{libtdb_ver}
-Release: 2
+Release: 3
PreReq: /sbin/ldconfig
%description -n libtdb1
@@ -663,7 +663,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%package -n libtdb-devel
@@ -672,7 +672,7 @@
Group: Development/Libraries/C and C++
AutoReqProv: on
Version: %{libtdb_ver}
-Release: 2
+Release: 3
#BuildRequires: pkg-config
Requires: libtdb1 = %{libtdb_ver}
@@ -686,7 +686,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%package -n libtevent0
@@ -695,7 +695,7 @@
Group: System/Libraries
AutoReqProv: on
Version: %{libtevent_ver}
-Release: 2
+Release: 3
PreReq: /sbin/ldconfig
%description -n libtevent0
@@ -707,7 +707,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%package -n libtevent-devel
@@ -716,7 +716,7 @@
Group: Development/Libraries/C and C++
AutoReqProv: on
Version: %{libtevent_ver}
-Release: 2
+Release: 3
%if 0%{?suse_version} > 1020
BuildRequires: pkg-config
%else
@@ -735,7 +735,7 @@
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%package -n libldb1
@@ -744,7 +744,7 @@
Group: System/Libraries
AutoReqProv: on
Version: %{libldb_ver}
-Release: 2
+Release: 3
PreReq: /sbin/ldconfig
BuildRequires: popt-devel
@@ -758,7 +758,7 @@
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%package -n libldb-devel
@@ -767,7 +767,7 @@
Group: Development/Libraries/C and C++
AutoReqProv: on
Version: %{libldb_ver}
-Release: 2
+Release: 3
%if 0%{?suse_version} > 1020
BuildRequires: pkg-config
%else
@@ -785,7 +785,7 @@
--------
The Samba Team
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%if %{make_ldapsmb}
@@ -796,7 +796,7 @@
Group: Productivity/Networking/Samba
AutoReqProv: on
Version: 1.34b
-Release: 304
+Release: 305
Requires: perl-ldap
%description -n ldapsmb
@@ -809,7 +809,7 @@
--------
Guenther Deschner <guenther at deschner dot de>
-Source Timestamp: 2610
+Source Timestamp: 2622
Branch : trunk
%endif
++++++ build-source-timestamp ++++++
--- /var/tmp/diff_new_pack.PZFNY5/_old 2011-09-01 12:05:21.000000000 +0200
+++ /var/tmp/diff_new_pack.PZFNY5/_new 2011-09-01 12:05:21.000000000 +0200
@@ -1,2 +1,2 @@
-2610
+2622
Branch : trunk
++++++ patches.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/11ab2d68023dbfd9089a7e2ec2d36ef4f1f7974e new/patches/samba.org/11ab2d68023dbfd9089a7e2ec2d36ef4f1f7974e
--- old/patches/samba.org/11ab2d68023dbfd9089a7e2ec2d36ef4f1f7974e 1970-01-01 01:00:00.000000000 +0100
+++ new/patches/samba.org/11ab2d68023dbfd9089a7e2ec2d36ef4f1f7974e 2011-08-30 23:33:46.000000000 +0200
@@ -0,0 +1,25 @@
+commit 11ab2d68023dbfd9089a7e2ec2d36ef4f1f7974e
+Author: Volker Lendecke
+Date: Fri Aug 26 11:39:41 2011 +0200
+
+ s3: Use sys_write in fork_domain_child
+
+ Counterpart for last checkin. A lot less likely, but not impossible in a child.
+
+ Autobuild-User: Volker Lendecke
+ Autobuild-Date: Fri Aug 26 13:14:27 CEST 2011 on sn-devel-104
+ (cherry picked from commit e0e3d215b1902ecbeb3d469af9a196856711921e)
+
+Index: source3/winbindd/winbindd_dual.c
+===================================================================
+--- source3/winbindd/winbindd_dual.c.orig
++++ source3/winbindd/winbindd_dual.c
+@@ -1361,7 +1361,7 @@ static bool fork_domain_child(struct win
+
+ status = winbindd_reinit_after_fork(child, child->logfilename);
+
+- nwritten = write(state.sock, &status, sizeof(status));
++ nwritten = sys_write(state.sock, &status, sizeof(status));
+ if (nwritten != sizeof(status)) {
+ DEBUG(1, ("fork_domain_child: Could not write status: "
+ "nwritten=%d, error=%s\n", (int)nwritten,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/1a996fe1d12a55e68b7266ce5db8972b6e5f101a new/patches/samba.org/1a996fe1d12a55e68b7266ce5db8972b6e5f101a
--- old/patches/samba.org/1a996fe1d12a55e68b7266ce5db8972b6e5f101a 1970-01-01 01:00:00.000000000 +0100
+++ new/patches/samba.org/1a996fe1d12a55e68b7266ce5db8972b6e5f101a 2011-08-30 23:55:18.000000000 +0200
@@ -0,0 +1,28 @@
+commit 1a996fe1d12a55e68b7266ce5db8972b6e5f101a
+Author: Volker Lendecke
+Date: Thu Aug 25 20:13:09 2011 +0200
+
+ s3: Fix getent group if trusted domains are not reachable
+
+ Fix bug #8420 (wb_group_members: non-resistance against garbage).
+
+Index: source3/winbindd/wb_group_members.c
+===================================================================
+--- source3/winbindd/wb_group_members.c.orig
++++ source3/winbindd/wb_group_members.c
+@@ -209,8 +209,13 @@ static void wb_groups_members_done(struc
+ * and just continue if an error occured.
+ */
+
+- if (tevent_req_nterror(req, status)) {
+- return;
++ if (!NT_STATUS_IS_OK(status)) {
++ if (!NT_STATUS_EQUAL(
++ status, NT_STATUS_TRUSTED_DOMAIN_FAILURE)) {
++ tevent_req_nterror(req, status);
++ return;
++ }
++ num_members = 0;
+ }
+
+ num_all_members = talloc_array_length(state->all_members);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/225c66ada497449a55d2eed6dfb27cedf3a863c0 new/patches/samba.org/225c66ada497449a55d2eed6dfb27cedf3a863c0
--- old/patches/samba.org/225c66ada497449a55d2eed6dfb27cedf3a863c0 1970-01-01 01:00:00.000000000 +0100
+++ new/patches/samba.org/225c66ada497449a55d2eed6dfb27cedf3a863c0 2011-08-30 23:02:29.000000000 +0200
@@ -0,0 +1,23 @@
+commit 225c66ada497449a55d2eed6dfb27cedf3a863c0
+Author: Jeremy Allison
+Date: Mon Aug 29 16:46:15 2011 -0700
+
+ Fix bug Bug 8422 - Infinite loop in ACL module code.
+
+ Missing assignment means this loop will never terminate. Need to be applied
+ to 3.5.x and 3.6.1.
+ (cherry picked from commit 218cccfdf1820a9840a5cbc7df3915b6b58a762d)
+
+Index: source3/modules/vfs_acl_common.c
+===================================================================
+--- source3/modules/vfs_acl_common.c.orig
++++ source3/modules/vfs_acl_common.c
+@@ -868,7 +868,7 @@ static int acl_common_remove_object(vfs_
+ /* Ensure we have this file open with DELETE access. */
+ id = vfs_file_id_from_sbuf(conn, &local_fname.st);
+ for (fsp = file_find_di_first(conn->sconn, id); fsp;
+- file_find_di_next(fsp)) {
++ fsp = file_find_di_next(fsp)) {
+ if (fsp->access_mask & DELETE_ACCESS &&
+ fsp->delete_on_close) {
+ /* We did open this for delete,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/2f0a5b477f58378c3505631d15b422057b037efe new/patches/samba.org/2f0a5b477f58378c3505631d15b422057b037efe
--- old/patches/samba.org/2f0a5b477f58378c3505631d15b422057b037efe 1970-01-01 01:00:00.000000000 +0100
+++ new/patches/samba.org/2f0a5b477f58378c3505631d15b422057b037efe 2011-08-30 23:34:03.000000000 +0200
@@ -0,0 +1,29 @@
+commit 2f0a5b477f58378c3505631d15b422057b037efe
+Author: Volker Lendecke
+Date: Fri Aug 26 11:38:21 2011 +0200
+
+ s3: Use sys_read in fork_domain_child
+
+ I've seen
+
+ [2011/08/26 01:44:10.872057, 1] winbindd/winbindd_dual.c:1336(fork_domain_child)
+ fork_domain_child: Could not read child status: nread=-1, error=Interrupted system call
+
+ on a customer box. Not good.
+ (cherry picked from commit 964e809ce2069ad888e0fb12dfe51bac5a461508)
+
+ The last 3 patches address bug #8409 (f7d97868 created a new race condition).
+
+Index: source3/winbindd/winbindd_dual.c
+===================================================================
+--- source3/winbindd/winbindd_dual.c.orig
++++ source3/winbindd/winbindd_dual.c
+@@ -1330,7 +1330,7 @@ static bool fork_domain_child(struct win
+
+ close(fdpair[0]);
+
+- nread = read(fdpair[1], &status, sizeof(status));
++ nread = sys_read(fdpair[1], &status, sizeof(status));
+ if (nread != sizeof(status)) {
+ DEBUG(1, ("fork_domain_child: Could not read child status: "
+ "nread=%d, error=%s\n", (int)nread,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/45392d05ff059987fb76d3818969177b5a5de6b0 new/patches/samba.org/45392d05ff059987fb76d3818969177b5a5de6b0
--- old/patches/samba.org/45392d05ff059987fb76d3818969177b5a5de6b0 1970-01-01 01:00:00.000000000 +0100
+++ new/patches/samba.org/45392d05ff059987fb76d3818969177b5a5de6b0 2011-08-30 23:12:07.000000000 +0200
@@ -0,0 +1,72 @@
+commit 45392d05ff059987fb76d3818969177b5a5de6b0
+Author: Volker Lendecke
+Date: Mon Aug 22 14:16:26 2011 +0200
+
+ s3: Fix bug 8385
+
+ Poll and select behave differently regarding error handling. When doing the
+ connect(2), we can not rely on poll telling us both readability and writability
+ upon error. Just always try a second connect(2). At least on Linux it returns 0
+ when it succeeded.
+
+ Signed-off-by: Jeremy Allison
+
+ Autobuild-User: Jeremy Allison
+ Autobuild-Date: Thu Aug 25 19:39:12 CEST 2011 on sn-devel-104
+ (cherry picked from commit 50e30afa608dfdeae8a260730ead9761ed424dad)
+
+Index: lib/async_req/async_sock.c
+===================================================================
+--- lib/async_req/async_sock.c.orig
++++ lib/async_req/async_sock.c
+@@ -325,36 +325,24 @@ static void async_connect_connected(stru
+ priv, struct tevent_req);
+ struct async_connect_state *state =
+ tevent_req_data(req, struct async_connect_state);
++ int ret;
+
+- /*
+- * Stevens, Network Programming says that if there's a
+- * successful connect, the socket is only writable. Upon an
+- * error, it's both readable and writable.
+- */
+- if ((flags & (TEVENT_FD_READ|TEVENT_FD_WRITE))
+- == (TEVENT_FD_READ|TEVENT_FD_WRITE)) {
+- int ret;
+-
+- ret = connect(state->fd,
+- (struct sockaddr *)(void *)&state->address,
+- state->address_len);
+- if (ret == 0) {
+- TALLOC_FREE(fde);
+- tevent_req_done(req);
+- return;
+- }
+-
+- if (errno == EINPROGRESS) {
+- /* Try again later, leave the fde around */
+- return;
+- }
++ ret = connect(state->fd, (struct sockaddr *)(void *)&state->address,
++ state->address_len);
++ if (ret == 0) {
++ state->sys_errno = 0;
+ TALLOC_FREE(fde);
+- tevent_req_error(req, errno);
++ tevent_req_done(req);
+ return;
+ }
+-
+- state->sys_errno = 0;
+- tevent_req_done(req);
++ if (errno == EINPROGRESS) {
++ /* Try again later, leave the fde around */
++ return;
++ }
++ state->sys_errno = errno;
++ TALLOC_FREE(fde);
++ tevent_req_error(req, errno);
++ return;
+ }
+
+ int async_connect_recv(struct tevent_req *req, int *perrno)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/a0a799663bd4780bb9f948e2dd0635dadb4e2c40 new/patches/samba.org/a0a799663bd4780bb9f948e2dd0635dadb4e2c40
--- old/patches/samba.org/a0a799663bd4780bb9f948e2dd0635dadb4e2c40 1970-01-01 01:00:00.000000000 +0100
+++ new/patches/samba.org/a0a799663bd4780bb9f948e2dd0635dadb4e2c40 2011-08-30 23:44:07.000000000 +0200
@@ -0,0 +1,87 @@
+commit a0a799663bd4780bb9f948e2dd0635dadb4e2c40
+Author: Jeremy Allison
+Date: Mon Aug 29 16:47:16 2011 -0700
+
+ Fix bug 8412 - Microsoft Office 2007 (Microsoft Word) fails to save as on a Samba share with SMB2. (cherry picked from commit dec3b21cd1737b317749e7ebced5aa1c2115ebdf)
+
+Index: source3/smbd/reply.c
+===================================================================
+--- source3/smbd/reply.c.orig
++++ source3/smbd/reply.c
+@@ -5936,6 +5936,47 @@ static void notify_rename(connection_str
+ }
+
+ /****************************************************************************
++ Returns an error if the parent directory for a filename is open in an
++ incompatible way.
++****************************************************************************/
++
++static NTSTATUS parent_dirname_compatible_open(connection_struct *conn,
++ const struct smb_filename *smb_fname_dst_in)
++{
++ char *parent_dir = NULL;
++ struct smb_filename smb_fname_parent;
++ struct file_id id;
++ files_struct *fsp = NULL;
++ int ret;
++
++ if (!parent_dirname(talloc_tos(), smb_fname_dst_in->base_name,
++ &parent_dir, NULL)) {
++ return NT_STATUS_NO_MEMORY;
++ }
++ ZERO_STRUCT(smb_fname_parent);
++ smb_fname_parent.base_name = parent_dir;
++
++ ret = SMB_VFS_LSTAT(conn, &smb_fname_parent);
++ if (ret == -1) {
++ return map_nt_error_from_unix(errno);
++ }
++
++ /*
++ * We're only checking on this smbd here, mostly good
++ * enough.. and will pass tests.
++ */
++
++ id = vfs_file_id_from_sbuf(conn, &smb_fname_parent.st);
++ for (fsp = file_find_di_first(conn->sconn, id); fsp;
++ fsp = file_find_di_next(fsp)) {
++ if (fsp->access_mask & DELETE_ACCESS) {
++ return NT_STATUS_SHARING_VIOLATION;
++ }
++ }
++ return NT_STATUS_OK;
++}
++
++/****************************************************************************
+ Rename an open file - given an fsp.
+ ****************************************************************************/
+
+@@ -5955,6 +5996,11 @@ NTSTATUS rename_internals_fsp(connection
+ if (!NT_STATUS_IS_OK(status)) {
+ return status;
+ }
++
++ status = parent_dirname_compatible_open(conn, smb_fname_dst_in);
++ if (!NT_STATUS_IS_OK(status)) {
++ return status;
++ }
+
+ /* Make a copy of the dst smb_fname structs */
+
+Index: source3/smbd/smb2_setinfo.c
+===================================================================
+--- source3/smbd/smb2_setinfo.c.orig
++++ source3/smbd/smb2_setinfo.c
+@@ -219,12 +219,6 @@ static struct tevent_req *smbd_smb2_seti
+ if (file_info_level == SMB_FILE_RENAME_INFORMATION) {
+ /* SMB2_FILE_RENAME_INFORMATION_INTERNAL == 0xFF00 + in_file_info_class */
+ file_info_level = SMB2_FILE_RENAME_INFORMATION_INTERNAL;
+- if (fsp->oplock_type != FAKE_LEVEL_II_OPLOCK &&
+- fsp->oplock_type != NO_OPLOCK) {
+- /* No break, but error. */
+- tevent_req_nterror(req, NT_STATUS_SHARING_VIOLATION);
+- return tevent_req_post(req, ev);
+- }
+ }
+
+ if (fsp->fh->fd == -1) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/b181fe9ec50ff63074b217143b6daa5cddfb8853 new/patches/samba.org/b181fe9ec50ff63074b217143b6daa5cddfb8853
--- old/patches/samba.org/b181fe9ec50ff63074b217143b6daa5cddfb8853 1970-01-01 01:00:00.000000000 +0100
+++ new/patches/samba.org/b181fe9ec50ff63074b217143b6daa5cddfb8853 2011-08-30 23:33:34.000000000 +0200
@@ -0,0 +1,58 @@
+commit b181fe9ec50ff63074b217143b6daa5cddfb8853
+Author: Volker Lendecke
+Date: Fri Aug 26 16:54:18 2011 +0200
+
+ s3: Fix a winbind race leading to 100% CPU
+
+ This fixes a race condition that leads to the winbindd_children list becoming
+ corrupted. It happens when on a busy winbind SIGCHLD is a bit late.
+
+ Imagine a winbind with multiple requests in the queue for a single child. Child
+ dies, and before the SIGCHLD handler is called we find the socket to be dead.
+ wb_child_request_done is called, receiving an error from wb_simple_trans_recv.
+ It closes the socket. Then immediately the wb_child_request_trigger will do
+ another fork_domain_child before the signal handler is called. This means that
+ we do another fork_domain_child, we have child->sock==-1 at this point.
+ fork_domain_child will do a DLIST_ADD(winbindd_children, child) a second time
+ where the child is already part of that list. This corrupts the list. Then the
+ signal handler kicks in, spinning in
+
+ for (child = winbindd_children; child != NULL; child = child->next) {
+
+ forever. Not good. This patch makes sure that both conditions (sock==-1 and not
+ part of the list) for a winbindd_child struct match up.
+
+ Autobuild-User: Volker Lendecke
+ Autobuild-Date: Fri Aug 26 18:51:24 CEST 2011 on sn-devel-104
+ (cherry picked from commit ed058f4dc3e059967f3c0538bc220866e9c63588)
+
+Index: source3/winbindd/winbindd_dual.c
+===================================================================
+--- source3/winbindd/winbindd_dual.c.orig
++++ source3/winbindd/winbindd_dual.c
+@@ -43,6 +43,8 @@
+ extern bool override_logfile;
+ extern struct winbindd_methods cache_methods;
+
++static struct winbindd_child *winbindd_children = NULL;
++
+ /* Read some data from a client connection */
+
+ static NTSTATUS child_read_request(struct winbindd_cli_state *state)
+@@ -171,6 +173,7 @@ static void wb_child_request_done(struct
+ */
+ close(state->child->sock);
+ state->child->sock = -1;
++ DLIST_REMOVE(winbindd_children, state->child);
+ tevent_req_error(req, err);
+ return;
+ }
+@@ -489,8 +492,6 @@ void setup_child(struct winbindd_domain
+ SMB_ASSERT(child->binding_handle != NULL);
+ }
+
+-static struct winbindd_child *winbindd_children = NULL;
+-
+ void winbind_child_died(pid_t pid)
+ {
+ struct winbindd_child *child;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/fc8c5880d9785103e3345781bfca48e67a92cc33 new/patches/samba.org/fc8c5880d9785103e3345781bfca48e67a92cc33
--- old/patches/samba.org/fc8c5880d9785103e3345781bfca48e67a92cc33 1970-01-01 01:00:00.000000000 +0100
+++ new/patches/samba.org/fc8c5880d9785103e3345781bfca48e67a92cc33 2011-08-31 00:04:24.000000000 +0200
@@ -0,0 +1,75 @@
+commit fc8c5880d9785103e3345781bfca48e67a92cc33
+Author: Christian Ambach
+Date: Tue Aug 30 17:39:56 2011 +0200
+
+ s3:smb2 fix Bug 8428 - wrong reply to DHnC (durable handle reconnect)
+
+ According to [MS-SMB2] 3.3.5.9.7
+ (http://msdn.microsoft.com/en-us/library/cc246784%28v=PROT.13%29.aspx),
+ smbd must reply with NT_STATUS_OBJECT_NAME_NOT_FOUND as it does not
+ support durable file-handles yet.
+
+ I have seen w2k8r2 running xcopy /C ending up in an endless loop
+ trying to get back the original file handle from smbd sending the same
+ requests over and over.
+
+ Metze, Jeremy, please check!
+
+Index: source3/smbd/smb2_create.c
+===================================================================
+--- source3/smbd/smb2_create.c.orig
++++ source3/smbd/smb2_create.c
+@@ -537,7 +537,7 @@ static struct tevent_req *smbd_smb2_crea
+
+ if (exta) {
+ if (dhnc) {
+- tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
++ tevent_req_nterror(req,NT_STATUS_OBJECT_NAME_NOT_FOUND);
+ return tevent_req_post(req, ev);
+ }
+
+@@ -552,7 +552,7 @@ static struct tevent_req *smbd_smb2_crea
+
+ if (mxac) {
+ if (dhnc) {
+- tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
++ tevent_req_nterror(req, NT_STATUS_OBJECT_NAME_NOT_FOUND);
+ return tevent_req_post(req, ev);
+ }
+
+@@ -570,7 +570,7 @@ static struct tevent_req *smbd_smb2_crea
+ enum ndr_err_code ndr_err;
+
+ if (dhnc) {
+- tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
++ tevent_req_nterror(req, NT_STATUS_OBJECT_NAME_NOT_FOUND);
+ return tevent_req_post(req, ev);
+ }
+
+@@ -592,7 +592,7 @@ static struct tevent_req *smbd_smb2_crea
+
+ if (dhnq) {
+ if (dhnc) {
+- tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
++ tevent_req_nterror(req, NT_STATUS_OBJECT_NAME_NOT_FOUND);
+ return tevent_req_post(req, ev);
+ }
+
+@@ -618,7 +618,7 @@ static struct tevent_req *smbd_smb2_crea
+
+ if (alsi) {
+ if (dhnc) {
+- tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
++ tevent_req_nterror(req, NT_STATUS_OBJECT_NAME_NOT_FOUND);
+ return tevent_req_post(req, ev);
+ }
+
+@@ -635,7 +635,7 @@ static struct tevent_req *smbd_smb2_crea
+ struct tm *tm;
+
+ if (dhnc) {
+- tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
++ tevent_req_nterror(req, NT_STATUS_OBJECT_NAME_NOT_FOUND);
+ return tevent_req_post(req, ev);
+ }
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/series new/patches/series
--- old/patches/series 2011-08-27 21:38:56.000000000 +0200
+++ new/patches/series 2011-08-31 00:04:20.000000000 +0200
@@ -25,6 +25,14 @@
samba.org/2e07c662b08f8bba5cc03efcdcc13165e392b6e8 -p0 # test suite for talloc_free_children()
samba.org/8d46b29595c4da27b175b25a08b945fbeeeab3ec -p0 # check block count after references test
samba.org/9bf2b3034b4c9523bfac779e518a2a1a6d76ef46 -p0 # bso 8395
+samba.org/225c66ada497449a55d2eed6dfb27cedf3a863c0 -p0 # bso 8422
+samba.org/45392d05ff059987fb76d3818969177b5a5de6b0 -p0 # bso 8385
+samba.org/b181fe9ec50ff63074b217143b6daa5cddfb8853 -p0 # bso 8409
+samba.org/11ab2d68023dbfd9089a7e2ec2d36ef4f1f7974e -p0 # bso 8409
+samba.org/2f0a5b477f58378c3505631d15b422057b037efe -p0 # bso 8409
+samba.org/a0a799663bd4780bb9f948e2dd0635dadb4e2c40 -p0 # bso 8412
+samba.org/1a996fe1d12a55e68b7266ce5db8972b6e5f101a -p0 # bso 8420
+samba.org/fc8c5880d9785103e3345781bfca48e67a92cc33 -p0 # bso 8428
# SuSE specific changes
# disabled -> WIP lmuelle
++++++ vendor-files.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor-files/tools/package-data new/vendor-files/tools/package-data
--- old/vendor-files/tools/package-data 2011-08-27 21:40:37.000000000 +0200
+++ new/vendor-files/tools/package-data 2011-08-31 00:07:01.000000000 +0200
@@ -1,2 +1,2 @@
# This is an autogenrated file.
-SAMBA_PACKAGE_SVN_VERSION="2610"
+SAMBA_PACKAGE_SVN_VERSION="2622"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org