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 - lmue...@suse.de +Tue Aug 30 21:38:12 UTC 2011 - lmue...@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 - lmue...@suse.de +Tue Aug 30 21:29:07 UTC 2011 - lmue...@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 - lmue...@suse.de +Tue Aug 30 18:41:20 UTC 2011 - lmue...@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 - lmue...@suse.de +Tue Aug 30 18:31:29 UTC 2011 - lmue...@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 - lmue...@suse.de +Mon Aug 29 19:28:54 UTC 2011 - lmue...@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 - lmue...@suse.de +Mon Aug 29 16:51:58 UTC 2011 - lmue...@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 - lmue...@suse.de +Sat Aug 27 19:38:01 UTC 2011 - lmue...@suse.de + +- Optimize serverid_exists() for Solaris; (bso#8395). + +------------------------------------------------------------------- +Sat Aug 27 19:29:37 UTC 2011 - lmue...@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 <sa...@samba.org> -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 <sa...@samba.org> -Source Timestamp: 2610 +Source Timestamp: 2622 Branch : trunk %package client @@ -224,7 +224,7 @@ -------- The Samba Team <sa...@samba.org> -Source Timestamp: 2610 +Source Timestamp: 2622 Branch : trunk %if 0%{?suse_version} == 0 || 0%{?suse_version} > 1020 @@ -251,7 +251,7 @@ The Samba Team <sa...@samba.org> -Source Timestamp: 2610 +Source Timestamp: 2622 Branch : trunk %endif @@ -281,7 +281,7 @@ -------- The Samba Team <sa...@samba.org> -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 <sa...@samba.org> -Source Timestamp: 2610 +Source Timestamp: 2622 Branch : trunk %endif @@ -362,7 +362,7 @@ -------- The Samba Team <sa...@samba.org> -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 <sa...@samba.org> -Source Timestamp: 2610 +Source Timestamp: 2622 Branch : trunk %package -n libnetapi0 @@ -460,7 +460,7 @@ -------- The Samba Team <sa...@samba.org> -Source Timestamp: 2610 +Source Timestamp: 2622 Branch : trunk %package -n libnetapi-devel @@ -485,7 +485,7 @@ -------- The Samba Team <sa...@samba.org> -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 <sa...@samba.org> -Source Timestamp: 2610 +Source Timestamp: 2622 Branch : trunk %package -n libwbclient0 @@ -569,7 +569,7 @@ -------- The Samba Team <sa...@samba.org> -Source Timestamp: 2610 +Source Timestamp: 2622 Branch : trunk %package -n libwbclient-devel @@ -594,7 +594,7 @@ -------- The Samba Team <sa...@samba.org> -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 <sa...@samba.org> -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 <sa...@samba.org> -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 <sa...@samba.org> -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 <sa...@samba.org> -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 <sa...@samba.org> -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 <sa...@samba.org> -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 <sa...@samba.org> -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 <sa...@samba.org> -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 <v...@samba.org> +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 <vlen...@samba.org> + 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 <v...@samba.org> +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 <j...@samba.org> +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 <v...@samba.org> +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 <v...@samba.org> +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 <j...@samba.org> + + Autobuild-User: Jeremy Allison <j...@samba.org> + 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 <j...@samba.org> +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 <v...@samba.org> +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 <vlen...@samba.org> + 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 <a...@samba.org> +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+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org