Hello community, here is the log from the commit of package samba for openSUSE:Factory checked in at 2014-03-18 13:38:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/samba (Old) and /work/SRC/openSUSE:Factory/.samba.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "samba" Changes: -------- --- /work/SRC/openSUSE:Factory/samba/samba.changes 2014-03-01 14:38:42.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.samba.new/samba.changes 2014-03-18 13:38:18.000000000 +0100 @@ -1,0 +2,37 @@ +Wed Mar 12 13:57:29 UTC 2014 - [email protected] + +- Depend only on %version with all manual Provides and Requires; (bnc#844307). + +------------------------------------------------------------------- +Tue Mar 11 18:07:47 UTC 2014 - [email protected] + +- Update to 4.1.6. + + Password lockout not enforced for SAMR password changes; CVE-2013-4496; + (bnc#849224). + + smbcacls can remove a file or directory ACL by mistake; CVE-2013-6442; + (bnc#855866). + +------------------------------------------------------------------- +Tue Mar 11 13:10:59 UTC 2014 - [email protected] + +- Password lockout not enforced for SAMR password changes; + CVE-2013-4496; (bnc#849224). + +------------------------------------------------------------------- +Tue Mar 11 10:21:46 UTC 2014 - [email protected] + +- Call update-apparmor-samba-profile via ExecStartPre too; (bnc#867665). + +------------------------------------------------------------------- +Mon Mar 10 16:00:03 UTC 2014 - [email protected] + +- samba4 smbcalcs --chown | --chgrp dacl regression; CVE-2013-6442; + (bnc#855866). + +------------------------------------------------------------------- +Tue Mar 4 17:20:33 UTC 2014 - [email protected] + +- Retry named pipe open requests on STATUS_PIPE_NOT_AVAILABLE; (bso#10484); + (bnc#865095). + +------------------------------------------------------------------- Old: ---- samba-4.1.5.tar.asc samba-4.1.5.tar.gz New: ---- samba-4.1.6.tar.asc samba-4.1.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ samba.spec ++++++ --- /var/tmp/diff_new_pack.zTLniJ/_old 2014-03-18 13:38:20.000000000 +0100 +++ /var/tmp/diff_new_pack.zTLniJ/_new 2014-03-18 13:38:20.000000000 +0100 @@ -117,7 +117,7 @@ BuildRequires: gpg-offline BuildRequires: systemd %endif -%define samba_ver 4.1.5 +%define samba_ver 4.1.6 %define samba_ver_suffix %nil %if "%{samba_ver_suffix}" == "" %define samba_source_location http://ftp.samba.org/pub/samba/stable/samba-%{version}.tar.gz @@ -144,17 +144,17 @@ %else %define build_make_smp_mflags %{?jobs:-j%jobs} %endif -%define SOURCE_TIMESTAMP 3193 +%define SOURCE_TIMESTAMP 3208 %define BRANCH %{version} %global with_mitkrb5 1 %global with_dc 0 %global with_get_printing_ticket 0 -Version: 4.1.5 +Version: 4.1.6 Release: 0 License: GPL-3.0+ Url: http://www.samba.org/ Group: Productivity/Networking/Samba -Provides: samba-gplv3 = %{version}-%{release} +Provides: samba-gplv3 = %{version} Obsoletes: samba-gplv3 < %{version} Requires: samba-client >= %{version} %if 0%{?suse_version} > 1030 @@ -254,10 +254,10 @@ License: GPL-3.0+ Summary: Samba Client Utilities Group: Productivity/Networking/Samba -Provides: samba-gplv3-client = %{version}-%{release} +Provides: samba-gplv3-client = %{version} Provides: smbfs Obsoletes: samba-gplv3-client < %{version} -Provides: samba-client-gplv2 = %{version}-%{release} +Provides: samba-client-gplv2 = %{version} Obsoletes: samba-client-gplv2 < %{version} %if 0%{?suse_version} > 0 PreReq: %{?fillup_prereq} @@ -313,9 +313,9 @@ Group: Documentation/Other PreReq: coreutils PreReq: findutils -Provides: samba-gplv3-doc = %{version}-%{release} +Provides: samba-gplv3-doc = %{version} Obsoletes: samba-gplv3-doc < %{version} -Provides: samba-doc-gplv2 = %{version}-%{release} +Provides: samba-doc-gplv2 = %{version} Obsoletes: samba-doc-gplv2 < %{version} %if 0%{?suse_version} > 1110 BuildArch: noarch @@ -337,7 +337,7 @@ Summary: Wrapper binary for kerberized printing Group: Productivity/Networking/Samba PreReq: coreutils -Provides: samba-gplv3-krb-printing = %{version}-%{release} +Provides: samba-gplv3-krb-printing = %{version} Obsoletes: samba-gplv3-krb-printing < %{version} %if 0%{?suse_version} > 1000 PreReq: permissions @@ -388,7 +388,7 @@ License: GPL-3.0+ Summary: Samba Python libraries Group: Applications/System -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{version} Requires: python-tevent Requires: python-tdb Requires: pyldb @@ -406,8 +406,8 @@ License: GPL-3.0+ Summary: Testing tools for Samba servers and clients Group: Applications/System -Requires: samba = %{version}-%{release} -Requires: samba-winbind = %{version}-%{release} +Requires: samba = %{version} +Requires: samba-winbind = %{version} PreReq: /sbin/ldconfig %description test @@ -435,7 +435,7 @@ License: GPL-3.0+ Summary: Winbind Daemon and Tool Group: Productivity/Networking/Samba -Provides: samba-gplv3-winbind = %{version}-%{release} +Provides: samba-gplv3-winbind = %{version} Obsoletes: samba-gplv3-winbind < %{version} Provides: samba-client:/usr/sbin/winbindd Requires: samba-client >= %{version} @@ -479,7 +479,7 @@ License: GPL-3.0+ Summary: Development files for the DCE/RPC ATSVC library Group: Development/Libraries/C and C++ -Requires: libdcerpc-atsvc0 = %{version}-%{release} +Requires: libdcerpc-atsvc0 = %{version} %description -n libdcerpc-atsvc-devel ATSVC is a DCE/RPC based protocol used by CIFS hosts to @@ -518,7 +518,7 @@ License: GPL-3.0+ Summary: Development files for the SAMR protocol library Group: Development/Libraries/C and C++ -Requires: libdcerpc-samr0 = %{version}-%{release} +Requires: libdcerpc-samr0 = %{version} %description -n libdcerpc-samr-devel This subpackage contains libraries and header files for developing @@ -549,9 +549,9 @@ License: GPL-3.0+ Summary: Development files for the DCE/RPC library Group: Development/Libraries/C and C++ -Requires: libdcerpc0 = %{version}-%{release} -Requires: libdcerpc-binding0 = %{version}-%{release} -Requires: samba-core-devel = %{version}-%{release} +Requires: libdcerpc0 = %{version} +Requires: libdcerpc-binding0 = %{version} +Requires: samba-core-devel = %{version} %description -n libdcerpc-devel DCE/RPC, short for "Distributed Computing Environment / Remote @@ -583,8 +583,8 @@ License: GPL-3.0+ Summary: Development files for Samba's generic security library Group: Development/Libraries/C and C++ -Requires: libgensec0 = %{version}-%{release} -Requires: samba-core-devel = %{version}-%{release} +Requires: libgensec0 = %{version} +Requires: samba-core-devel = %{version} %description -n libgensec-devel This subpackage contains libraries and header files for developing @@ -609,8 +609,8 @@ License: GPL-3.0+ Summary: Development files for the ndr-krb5pac library Group: Development/Libraries/C and C++ -Requires: libndr-krb5pac0 = %{version}-%{release} -Requires: samba-core-devel = %{version}-%{release} +Requires: libndr-krb5pac0 = %{version} +Requires: samba-core-devel = %{version} %description -n libndr-krb5pac-devel This subpackage contains libraries and header files for developing @@ -635,8 +635,8 @@ License: GPL-3.0+ Summary: Development files for the ndr-nbt library Group: Development/Libraries/C and C++ -Requires: libndr-nbt0 = %{version}-%{release} -Requires: samba-core-devel = %{version}-%{release} +Requires: libndr-nbt0 = %{version} +Requires: samba-core-devel = %{version} %description -n libndr-nbt-devel This subpackage contains libraries and header files for developing @@ -661,8 +661,8 @@ License: GPL-3.0+ Summary: Development files for the libndr-standard library Group: Development/Libraries/C and C++ -Requires: libndr-standard0 = %{version}-%{release} -Requires: samba-core-devel = %{version}-%{release} +Requires: libndr-standard0 = %{version} +Requires: samba-core-devel = %{version} %description -n libndr-standard-devel This subpackage contains libraries and header files for developing @@ -689,8 +689,8 @@ License: GPL-3.0+ Summary: Development files for the Network Data Representation library Group: Development/Libraries/C and C++ -Requires: libndr0 = %{version}-%{release} -Requires: samba-core-devel = %{version}-%{release} +Requires: libndr0 = %{version} +Requires: samba-core-devel = %{version} %description -n libndr-devel Network Data Representation (NDR) is an implementation of the @@ -718,8 +718,8 @@ License: GPL-3.0+ Summary: Development files for the Samba3 password database library Group: Development/Libraries/C and C++ -Requires: libpdb0 = %{version}-%{release} -Requires: libndr-standard-devel = %{version}-%{release} +Requires: libpdb0 = %{version} +Requires: libndr-standard-devel = %{version} Requires: libtevent-devel %description -n libpdb-devel @@ -745,8 +745,8 @@ License: GPL-3.0+ Summary: Development files for the Samba Windows-style registry library Group: Development/Libraries/C and C++ -Requires: libregistry0 = %{version}-%{release} -Requires: samba-core-devel = %{version}-%{release} +Requires: libregistry0 = %{version} +Requires: samba-core-devel = %{version} %description -n libregistry-devel This subpackage contains libraries and header files for developing @@ -771,7 +771,7 @@ License: GPL-3.0+ Summary: Development files for the Samba credential management library Group: Development/Libraries/C and C++ -Requires: libsamba-credentials0 = %{version}-%{release} +Requires: libsamba-credentials0 = %{version} %description -n libsamba-credentials-devel This subpackage contains libraries and header files for developing @@ -796,8 +796,8 @@ License: GPL-3.0+ Summary: Development files for the host-wide Samba configuration library Group: Development/Libraries/C and C++ -Requires: libsamba-hostconfig0 = %{version}-%{release} -Requires: samba-core-devel = %{version}-%{release} +Requires: libsamba-hostconfig0 = %{version} +Requires: samba-core-devel = %{version} %description -n libsamba-hostconfig-devel This subpackage contains libraries and header files for developing @@ -822,7 +822,7 @@ License: GPL-3.0+ Summary: Development files for the Samba AD Group Policy library Group: Development/Libraries/C and C++ -Requires: libsamba-policy0 = %{version}-%{release} +Requires: libsamba-policy0 = %{version} %description -n libsamba-policy-devel This subpackage contains libraries and header files for developing @@ -847,8 +847,8 @@ License: GPL-3.0+ Summary: Development files for the Samba utility function library Group: Development/Libraries/C and C++ -Requires: libsamba-util0 = %{version}-%{release} -Requires: samba-core-devel = %{version}-%{release} +Requires: libsamba-util0 = %{version} +Requires: samba-core-devel = %{version} %description -n libsamba-util-devel This subpackage contains libraries and header files for developing @@ -873,7 +873,7 @@ License: GPL-3.0+ Summary: Development files for Samba's SAM database library Group: Development/Libraries/C and C++ -Requires: libsamdb0 = %{version}-%{release} +Requires: libsamdb0 = %{version} %description -n libsamdb-devel This subpackage contains libraries and header files for developing @@ -898,8 +898,8 @@ License: GPL-3.0+ Summary: Development files for Samba4's raw SMB client library Group: Development/Libraries/C and C++ -Requires: libsmbclient-raw0 = %{version}-%{release} -Requires: samba-core-devel = %{version}-%{release} +Requires: libsmbclient-raw0 = %{version} +Requires: samba-core-devel = %{version} %description -n libsmbclient-raw-devel This subpackage contains libraries and header files for developing @@ -926,7 +926,7 @@ License: GPL-3.0+ Summary: Development files for the Samba3 configuration library Group: Development/Libraries/C and C++ -Requires: libsmbconf0 = %{version}-%{release} +Requires: libsmbconf0 = %{version} %description -n libsmbconf-devel libsmbconf is a library to read or, based on the backend, modify the @@ -955,7 +955,7 @@ License: GPL-3.0+ Summary: Development files for the smbldap library Group: Development/Libraries/C and C++ -Requires: libsmbldap0 = %{version}-%{release} +Requires: libsmbldap0 = %{version} Requires: libtalloc-devel Requires: libtevent-devel Requires: openldap2-devel @@ -988,8 +988,8 @@ Summary: Development files for the Samba tevent utility library Group: Development/Libraries/C and C++ Requires: libtevent-devel -Requires: libtevent-util0 = %{version}-%{release} -Requires: samba-core-devel = %{version}-%{release} +Requires: libtevent-util0 = %{version} +Requires: samba-core-devel = %{version} %description -n libtevent-util-devel The libtevent-util library contains functions to convert tevent error @@ -1005,7 +1005,7 @@ %package -n %{libsmbclient_name} License: GPL-3.0+ %if 0%{?suse_version} > 1030 -Provides: libsmbclient = %{version}-%{release} +Provides: libsmbclient = %{version} Obsoletes: libsmbclient %endif Summary: Samba Client Library @@ -1027,7 +1027,7 @@ Group: Development/Libraries/C and C++ BuildRequires: %{pkgconfig_req} Requires: krb5-devel -Requires: %{libsmbclient_name} = %{version}-%{release} +Requires: %{libsmbclient_name} = %{version} %description -n libsmbclient-devel This package contains the static libraries and header files needed to @@ -1055,7 +1055,7 @@ Summary: Libraries and Header Files to Develop Programs with netapi Support Group: Development/Libraries/C and C++ BuildRequires: %{pkgconfig_req} -Requires: %{libnetapi_name} = %{version}-%{release} +Requires: %{libnetapi_name} = %{version} %description -n libnetapi-devel This package contains the static libraries and header files needed to @@ -1068,7 +1068,7 @@ %package -n %{libsmbsharemodes_name} License: GPL-3.0+ %if 0%{?suse_version} > 1030 -Provides: libsmbsharemodes = %{version}-%{release} +Provides: libsmbsharemodes = %{version} Obsoletes: libsmbsharemodes %endif Summary: Samba smbsharemodes Library @@ -1087,7 +1087,7 @@ Summary: Libraries and Header Files to Develop Programs with smbsharemodes Support Group: Development/Libraries/C and C++ BuildRequires: %{pkgconfig_req} -Requires: %{libsmbsharemodes_name} = %{version}-%{release} +Requires: %{libsmbsharemodes_name} = %{version} %description -n libsmbsharemodes-devel This package contains the static libraries and header files needed to @@ -1115,7 +1115,7 @@ Summary: Libraries and Header Files to Develop Programs with wbclient Support Group: Development/Libraries/C and C++ BuildRequires: %{pkgconfig_req} -Requires: %{libwbclient_name} = %{version}-%{release} +Requires: %{libwbclient_name} = %{version} %description -n libwbclient-devel This package contains the static libraries and header files needed to @@ -1366,6 +1366,8 @@ ${srv_name^^}DOPTIONS=\"-D\"\n" >>SUSE.sysconfig.${srv_name} ln -s ../../%{_sbindir}/service %{buildroot}/%{_sbindir}/rc${srv_name} done +sed -i -e "s@EnvironmentFile=-/etc/sysconfig/samba@EnvironmentFile=-/etc/sysconfig/samba\nExecStartPre=/usr/share/samba/update-apparmor-samba-profile@g" \ + %{buildroot}/%{_unitdir}/smb.service head -n 2 ../packaging/systemd/samba.sysconfig > \ %{buildroot}%_var/adm/fillup-templates/sysconfig.samba cat SUSE.sysconfig.{nmb,smb} >>\ ++++++ patches.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/ca3998d0436747f637b04eb32eb6c17fce3e2159 new/patches/samba.org/ca3998d0436747f637b04eb32eb6c17fce3e2159 --- old/patches/samba.org/ca3998d0436747f637b04eb32eb6c17fce3e2159 1970-01-01 01:00:00.000000000 +0100 +++ new/patches/samba.org/ca3998d0436747f637b04eb32eb6c17fce3e2159 2014-03-11 15:25:27.000000000 +0100 @@ -0,0 +1,86 @@ +From dc33e95df1583849afb46947734cb59646667b88 Mon Sep 17 00:00:00 2001 +From: David Disseldorp <[email protected]> +Date: Thu, 27 Feb 2014 19:46:14 +0100 +Subject: [PATCH] vfs: propagate snapshot enumeration errors + +The current FSCTL_GET_SHADOW_COPY_DATA/FSCTL_SRV_ENUMERATE_SNAPSHOTS +handler squashes all non-ENOSYS errors into an NT_STATUS_UNSUCCESSFUL +response. +This commit ensures that all errors are propagated up to the client, to +aid debugging. +The Windows Explorer "Previous Versions" dialogue doesn't appear to +distinguish between error codes. It displays "There are no previous +versions available". + +Signed-off-by: David Disseldorp <[email protected]> +Reviewed-by: Jeremy Allison <[email protected]> + +Autobuild-User(master): Jeremy Allison <[email protected]> +Autobuild-Date(master): Thu Feb 27 22:42:50 CET 2014 on sn-devel-104 + +(cherry picked from commit ca3998d0436747f637b04eb32eb6c17fce3e2159) +--- + source3/modules/vfs_default.c | 26 ++++++++++++++++---------- + 1 file changed, 16 insertions(+), 10 deletions(-) + +diff --git source3/modules/vfs_default.c source3/modules/vfs_default.c +index bf64dbd..38b8b54 100644 +--- source3/modules/vfs_default.c ++++ source3/modules/vfs_default.c +@@ -1021,12 +1021,12 @@ static NTSTATUS vfswrap_fsctl(struct vfs_handle_struct *handle, + { + const char *in_data = (const char *)_in_data; + char **out_data = (char **)_out_data; ++ NTSTATUS status; + + switch (function) { + case FSCTL_SET_SPARSE: + { + bool set_sparse = true; +- NTSTATUS status; + + if (in_len >= 1 && in_data[0] == 0) { + set_sparse = false; +@@ -1123,16 +1123,23 @@ static NTSTATUS vfswrap_fsctl(struct vfs_handle_struct *handle, + * Call the VFS routine to actually do the work. + */ + if (SMB_VFS_GET_SHADOW_COPY_DATA(fsp, shadow_data, labels)!=0) { +- TALLOC_FREE(shadow_data); +- if (errno == ENOSYS) { +- DEBUG(5,("FSCTL_GET_SHADOW_COPY_DATA: connectpath %s, not supported.\n", +- fsp->conn->connectpath)); +- return NT_STATUS_NOT_SUPPORTED; ++ int log_lev = 0; ++ if (errno == 0) { ++ /* broken module didn't set errno on error */ ++ status = NT_STATUS_UNSUCCESSFUL; + } else { +- DEBUG(0,("FSCTL_GET_SHADOW_COPY_DATA: connectpath %s, failed.\n", +- fsp->conn->connectpath)); +- return NT_STATUS_UNSUCCESSFUL; ++ status = map_nt_error_from_unix(errno); ++ if (NT_STATUS_EQUAL(status, ++ NT_STATUS_NOT_SUPPORTED)) { ++ log_lev = 5; ++ } + } ++ DEBUG(log_lev, ("FSCTL_GET_SHADOW_COPY_DATA: " ++ "connectpath %s, failed - %s.\n", ++ fsp->conn->connectpath, ++ nt_errstr(status))); ++ TALLOC_FREE(shadow_data); ++ return status; + } + + labels_data_count = (shadow_data->num_volumes * 2 * +@@ -1260,7 +1267,6 @@ static NTSTATUS vfswrap_fsctl(struct vfs_handle_struct *handle, + * and SEEK_DATA/SEEK_HOLE on Solaris is needed to make + * this FSCTL correct for sparse files. + */ +- NTSTATUS status; + uint64_t offset, length; + char *out_data_tmp = NULL; + +-- +1.8.4.5 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/samba.org/ebe6627c1f0e6b488a0c456860a055fd5701e84d new/patches/samba.org/ebe6627c1f0e6b488a0c456860a055fd5701e84d --- old/patches/samba.org/ebe6627c1f0e6b488a0c456860a055fd5701e84d 1970-01-01 01:00:00.000000000 +0100 +++ new/patches/samba.org/ebe6627c1f0e6b488a0c456860a055fd5701e84d 2014-03-11 15:25:27.000000000 +0100 @@ -0,0 +1,132 @@ +From a357ecdadec723d2f61076f3d6589c908f872682 Mon Sep 17 00:00:00 2001 +From: David Disseldorp <[email protected]> +Date: Mon, 3 Mar 2014 19:49:35 +0100 +Subject: [PATCH] rpc_client: retry open on STATUS_PIPE_NOT_AVAILABLE + +Windows Server starts some named pipe services on demand, and responds +to initial open requests with STATUS_PIPE_NOT_AVAILABLE. The FssagentRpc +named pipe on Windows Server 2012 exhibits this behaviour. + +This change sees rpcclient retry named pipe open requests when the +server responds with STATUS_PIPE_NOT_AVAILABLE. The retry logic is +contained in an asynchronous tevent_timer callback, to allow for +non-blocking callers. + +Signed-off-by: David Disseldorp <[email protected]> +Reviewed-by: Jeremy Allison <[email protected]> +(cherry picked from commit ebe6627c1f0e6b488a0c456860a055fd5701e84d) +[[email protected]: rebasead for 4.1 without 46d29d46bc065d51e3f7ca6892] +--- + source3/rpc_client/rpc_transport_np.c | 57 ++++++++++++++++++++++++++++++----- + 1 file changed, 50 insertions(+), 7 deletions(-) + +diff --git source3/rpc_client/rpc_transport_np.c source3/rpc_client/rpc_transport_np.c +index 78caa5b..f0696ad 100644 +--- source3/rpc_client/rpc_transport_np.c ++++ source3/rpc_client/rpc_transport_np.c +@@ -21,12 +21,18 @@ + #include "../lib/util/tevent_ntstatus.h" + #include "rpc_client/rpc_transport.h" + #include "libsmb/cli_np_tstream.h" ++#include "client.h" + + #undef DBGC_CLASS + #define DBGC_CLASS DBGC_RPC_CLI + + struct rpc_transport_np_init_state { + struct rpc_cli_transport *transport; ++ int retries; ++ struct tevent_context *ev; ++ struct cli_state *cli; ++ struct timeval abs_timeout; ++ const char *pipe_name; + }; + + static void rpc_transport_np_init_pipe_open(struct tevent_req *subreq); +@@ -38,7 +44,6 @@ struct tevent_req *rpc_transport_np_init_send(TALLOC_CTX *mem_ctx, + { + struct tevent_req *req; + struct rpc_transport_np_init_state *state; +- const char *pipe_name; + struct tevent_req *subreq; + + req = tevent_req_create(mem_ctx, &state, +@@ -47,16 +52,19 @@ struct tevent_req *rpc_transport_np_init_send(TALLOC_CTX *mem_ctx, + return NULL; + } + +- pipe_name = get_pipe_name_from_syntax(state, abstract_syntax); +- if (tevent_req_nomem(pipe_name, req)) { ++ state->ev = ev; ++ state->cli = cli; ++ state->abs_timeout = timeval_current_ofs_msec(cli->timeout); ++ state->pipe_name = get_pipe_name_from_syntax(state, abstract_syntax); ++ if (tevent_req_nomem(state->pipe_name, req)) { + return tevent_req_post(req, ev); + } + +- while (pipe_name[0] == '\\') { +- pipe_name++; ++ while (state->pipe_name[0] == '\\') { ++ state->pipe_name++; + } + +- subreq = tstream_cli_np_open_send(state, ev, cli, pipe_name); ++ subreq = tstream_cli_np_open_send(state, ev, cli, state->pipe_name); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } +@@ -65,6 +73,25 @@ struct tevent_req *rpc_transport_np_init_send(TALLOC_CTX *mem_ctx, + return req; + } + ++static void rpc_transport_np_init_pipe_open_retry(struct tevent_context *ev, ++ struct tevent_timer *te, ++ struct timeval t, ++ void *priv_data) ++{ ++ struct tevent_req *subreq; ++ struct tevent_req *req = talloc_get_type(priv_data, struct tevent_req); ++ struct rpc_transport_np_init_state *state = tevent_req_data( ++ req, struct rpc_transport_np_init_state); ++ ++ subreq = tstream_cli_np_open_send(state, ev, state->cli, ++ state->pipe_name); ++ if (tevent_req_nomem(subreq, req)) { ++ return; ++ } ++ tevent_req_set_callback(subreq, rpc_transport_np_init_pipe_open, req); ++ state->retries++; ++} ++ + static void rpc_transport_np_init_pipe_open(struct tevent_req *subreq) + { + struct tevent_req *req = tevent_req_callback_data( +@@ -76,7 +103,23 @@ static void rpc_transport_np_init_pipe_open(struct tevent_req *subreq) + + status = tstream_cli_np_open_recv(subreq, state, &stream); + TALLOC_FREE(subreq); +- if (!NT_STATUS_IS_OK(status)) { ++ if (NT_STATUS_EQUAL(status, NT_STATUS_PIPE_NOT_AVAILABLE) ++ && (!timeval_expired(&state->abs_timeout))) { ++ struct tevent_timer *te; ++ /* ++ * Retry on STATUS_PIPE_NOT_AVAILABLE, Windows starts some ++ * servers (FssagentRpc) on demand. ++ */ ++ DEBUG(2, ("RPC pipe %s not available, retry %d\n", ++ state->pipe_name, state->retries)); ++ te = tevent_add_timer(state->ev, state, ++ timeval_current_ofs_msec(100 * state->retries), ++ rpc_transport_np_init_pipe_open_retry, req); ++ if (tevent_req_nomem(te, req)) { ++ return; ++ } ++ return; ++ } else if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } +-- +1.8.4.5 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/series new/patches/series --- old/patches/series 2014-02-27 16:58:58.000000000 +0100 +++ new/patches/series 2014-03-11 19:22:37.000000000 +0100 @@ -72,6 +72,8 @@ samba.org/59b09564a7edac8dc241269587146342244ce58b -p0 # bnc 860809 samba.org/d433ad077f354de4fc1d5a155d991f417ae9967c -p0 # bnc 860809 samba.org/4f979525e4137c536118a9c2b2b4ef798c270e27 -p0 # bnc 860809 +samba.org/ca3998d0436747f637b04eb32eb6c17fce3e2159 -p0 # bnc 865641 +samba.org/ebe6627c1f0e6b488a0c456860a055fd5701e84d -p0 # bso 10484, bnc 865095 samba.org/fix_pc_dependencies.diff -p0 # SuSE specific changes @@ -115,7 +117,6 @@ suse/0035-torture-add-timeout-sleeps-to-fsrvp-create-helper.patch -p0 # fate 313346 suse/0036-torture-add-FSRVP-message-sequence-timeout-test.patch -p0 # fate 313346 suse/0037-selftest-use-short-FSRVP-message-sequence-timeouts.patch -p0 # fate 313346 -suse/0038-vfs-propagate-snapshot-enumeration-permissions-error.patch -p0 # bnc 865641 suse/0001-smbcacls-parse-config-file-argument-prior-to-load.patch -p0 # fate 316474 suse/0002-add-new-propagate-inheritance-option-for-smbcacls.patch -p0 # fate 316474 suse/0003-doc-describe-smbcacls-propagate-inheritance.patch -p0 # fate 316474 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/suse/0008-vfs-add-snapshot-create-delete-hooks.patch new/patches/suse/0008-vfs-add-snapshot-create-delete-hooks.patch --- old/patches/suse/0008-vfs-add-snapshot-create-delete-hooks.patch 2014-02-27 16:58:58.000000000 +0100 +++ new/patches/suse/0008-vfs-add-snapshot-create-delete-hooks.patch 2014-03-11 16:47:42.000000000 +0100 @@ -348,7 +348,7 @@ /* Directory operations */ static DIR *vfswrap_opendir(vfs_handle_struct *handle, const char *fname, const char *mask, uint32 attr) -@@ -2479,6 +2536,11 @@ static struct vfs_fn_pointers vfs_default_fns = { +@@ -2485,6 +2542,11 @@ static struct vfs_fn_pointers vfs_default_fns = { .statvfs_fn = vfswrap_statvfs, .fs_capabilities_fn = vfswrap_fs_capabilities, .get_dfs_referrals_fn = vfswrap_get_dfs_referrals, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches/suse/0038-vfs-propagate-snapshot-enumeration-permissions-error.patch new/patches/suse/0038-vfs-propagate-snapshot-enumeration-permissions-error.patch --- old/patches/suse/0038-vfs-propagate-snapshot-enumeration-permissions-error.patch 2014-02-27 16:58:58.000000000 +0100 +++ new/patches/suse/0038-vfs-propagate-snapshot-enumeration-permissions-error.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,85 +0,0 @@ -From 581a70000abea0d3657d27dec2494d51c7481711 Mon Sep 17 00:00:00 2001 -From: David Disseldorp <[email protected]> -Date: Wed, 26 Feb 2014 17:53:11 +0100 -Subject: [PATCH 38/38] vfs: propagate snapshot enumeration permissions errors - -The current FSCTL_GET_SHADOW_COPY_DATA/FSCTL_SRV_ENUMERATE_SNAPSHOTS -handler squashes all non-ENOSYS errors into an NT_STATUS_UNSUCCESSFUL -response. -This commit ensures that permissions errors are propagated up to the -client as NT_STATUS_ACCESS_DENIED, to aid debugging. -The Windows Explorer "Previous Versions" dialogue doesn't appear to -distinguish between error codes. It displays "There are no previous -versions available" in both cases. - -Signed-off-by: David Disseldorp <[email protected]> ---- - source3/modules/vfs_default.c | 24 ++++++++++++++---------- - 1 file changed, 14 insertions(+), 10 deletions(-) - -diff --git source3/modules/vfs_default.c source3/modules/vfs_default.c -index 56f95a0..ac61a5b 100644 ---- source3/modules/vfs_default.c -+++ source3/modules/vfs_default.c -@@ -1078,19 +1078,19 @@ static NTSTATUS vfswrap_fsctl(struct vfs_handle_struct *handle, - { - const char *in_data = (const char *)_in_data; - char **out_data = (char **)_out_data; -+ NTSTATUS status; - - switch (function) { - case FSCTL_SET_SPARSE: - { - bool set_sparse = true; -- NTSTATUS status; - - if (in_len >= 1 && in_data[0] == 0) { - set_sparse = false; - } - - status = file_set_sparse(handle->conn, fsp, set_sparse); -- -+ - DEBUG(NT_STATUS_IS_OK(status) ? 10 : 9, - ("FSCTL_SET_SPARSE: fname[%s] set[%u] - %s\n", - smb_fname_str_dbg(fsp->fsp_name), set_sparse, -@@ -1180,16 +1180,21 @@ static NTSTATUS vfswrap_fsctl(struct vfs_handle_struct *handle, - * Call the VFS routine to actually do the work. - */ - if (SMB_VFS_GET_SHADOW_COPY_DATA(fsp, shadow_data, labels)!=0) { -- TALLOC_FREE(shadow_data); -+ int log_lev = 0; - if (errno == ENOSYS) { -- DEBUG(5,("FSCTL_GET_SHADOW_COPY_DATA: connectpath %s, not supported.\n", -- fsp->conn->connectpath)); -- return NT_STATUS_NOT_SUPPORTED; -+ log_lev = 5; -+ status = NT_STATUS_NOT_SUPPORTED; -+ } else if ((errno == EPERM) || (errno == EACCES)) { -+ status = NT_STATUS_ACCESS_DENIED; - } else { -- DEBUG(0,("FSCTL_GET_SHADOW_COPY_DATA: connectpath %s, failed.\n", -- fsp->conn->connectpath)); -- return NT_STATUS_UNSUCCESSFUL; -+ status = NT_STATUS_UNSUCCESSFUL; - } -+ DEBUG(log_lev, ("FSCTL_GET_SHADOW_COPY_DATA: " -+ "connectpath %s, failed - %s.\n", -+ fsp->conn->connectpath, -+ nt_errstr(status))); -+ TALLOC_FREE(shadow_data); -+ return status; - } - - labels_data_count = (shadow_data->num_volumes * 2 * -@@ -1317,7 +1322,6 @@ static NTSTATUS vfswrap_fsctl(struct vfs_handle_struct *handle, - * and SEEK_DATA/SEEK_HOLE on Solaris is needed to make - * this FSCTL correct for sparse files. - */ -- NTSTATUS status; - uint64_t offset, length; - char *out_data_tmp = NULL; - --- -1.8.4.5 - ++++++ samba-4.1.5.tar.gz -> samba-4.1.6.tar.gz ++++++ /work/SRC/openSUSE:Factory/samba/samba-4.1.5.tar.gz /work/SRC/openSUSE:Factory/.samba.new/samba-4.1.6.tar.gz differ: char 5, line 1 ++++++ 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 2014-02-27 16:59:27.000000000 +0100 +++ new/vendor-files/tools/package-data 2014-03-12 15:03:41.000000000 +0100 @@ -1,2 +1,2 @@ # This is an autogenrated file. -SAMBA_PACKAGE_SVN_VERSION="3193" +SAMBA_PACKAGE_SVN_VERSION="3208" -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
