[Pkg-samba-maint] r3391 - in branches/samba/experimental: . packaging/RHEL packaging/RHEL-CTDB source3 source3/include source3/lib source3/smbd
bubulle at alioth.debian.org
bubulle at alioth.debian.org
Tue Mar 9 09:50:30 UTC 2010
Author: bubulle
Date: 2010-03-09 09:50:30 +0000 (Tue, 09 Mar 2010)
New Revision: 3391
Modified:
branches/samba/experimental/WHATSNEW.txt
branches/samba/experimental/packaging/RHEL-CTDB/samba.spec
branches/samba/experimental/packaging/RHEL/makerpms.sh
branches/samba/experimental/packaging/RHEL/samba.spec
branches/samba/experimental/source3/VERSION
branches/samba/experimental/source3/include/smb.h
branches/samba/experimental/source3/include/version.h
branches/samba/experimental/source3/lib/system.c
branches/samba/experimental/source3/smbd/server.c
Log:
Merge upstream 3.5.1
Modified: branches/samba/experimental/WHATSNEW.txt
===================================================================
--- branches/samba/experimental/WHATSNEW.txt 2010-03-09 08:46:52 UTC (rev 3390)
+++ branches/samba/experimental/WHATSNEW.txt 2010-03-09 09:50:30 UTC (rev 3391)
@@ -1,4 +1,55 @@
=============================
+ Release Notes for Samba 3.5.1
+ March 8, 2010
+ =============================
+
+
+This is a security release in order to address CVE-2010-0728.
+
+
+o CVE-2010-0728:
+ In Samba releases 3.5.0, 3.4.6 and 3.3.11, new code
+ was added to fix a problem with Linux asynchronous IO handling.
+ This code introduced a bad security flaw on Linux platforms if the
+ binaries were built on Linux platforms with libcap support.
+ The flaw caused all smbd processes to inherit CAP_DAC_OVERRIDE
+ capabilities, allowing all file system access to be allowed
+ even when permissions should have denied access.
+
+
+Changes since 3.5.0
+-------------------
+
+
+o Jeremy Allison <jra at samba.org>
+ * BUG 7222: Fix for CVE-2010-0728.
+
+
+######################################################################
+Reporting bugs & Development Discussion
+#######################################
+
+Please discuss this release on the samba-technical mailing list or by
+joining the #samba-technical IRC channel on irc.freenode.net.
+
+If you do report problems then please try to send high quality
+feedback. If you don't provide vital information to help us track down
+the problem then you will probably be ignored. All bug reports should
+be filed under the Samba 3.5 product in the project's Bugzilla
+database (https://bugzilla.samba.org/).
+
+
+======================================================================
+== Our Code, Our Bugs, Our Responsibility.
+== The Samba Team
+======================================================================
+
+
+Release notes for older releases follow:
+----------------------------------------
+
+
+ =============================
Release Notes for Samba 3.5.0
March 1, 2010
===============================
@@ -479,4 +530,3 @@
== Our Code, Our Bugs, Our Responsibility.
== The Samba Team
======================================================================
-
Modified: branches/samba/experimental/packaging/RHEL/makerpms.sh
===================================================================
--- branches/samba/experimental/packaging/RHEL/makerpms.sh 2010-03-09 08:46:52 UTC (rev 3390)
+++ branches/samba/experimental/packaging/RHEL/makerpms.sh 2010-03-09 09:50:30 UTC (rev 3391)
@@ -20,7 +20,7 @@
USERID=`id -u`
GRPID=`id -g`
-VERSION='3.5.0'
+VERSION='3.5.1'
REVISION=''
SPECFILE="samba.spec"
RPMVER=`rpm --version | awk '{print $3}'`
Modified: branches/samba/experimental/packaging/RHEL/samba.spec
===================================================================
--- branches/samba/experimental/packaging/RHEL/samba.spec 2010-03-09 08:46:52 UTC (rev 3390)
+++ branches/samba/experimental/packaging/RHEL/samba.spec 2010-03-09 09:50:30 UTC (rev 3391)
@@ -5,7 +5,7 @@
Vendor: Samba Team
Packager: Samba Team <samba at samba.org>
Name: samba
-Version: 3.5.0
+Version: 3.5.1
Release: 1
Epoch: 0
License: GNU GPL version 3
Modified: branches/samba/experimental/packaging/RHEL-CTDB/samba.spec
===================================================================
--- branches/samba/experimental/packaging/RHEL-CTDB/samba.spec 2010-03-09 08:46:52 UTC (rev 3390)
+++ branches/samba/experimental/packaging/RHEL-CTDB/samba.spec 2010-03-09 09:50:30 UTC (rev 3391)
@@ -5,7 +5,7 @@
Vendor: Samba Team
Packager: Samba Team <samba at samba.org>
Name: samba
-Version: 3.5.0
+Version: 3.5.1
Release: 1GITHASH
Epoch: 0
License: GNU GPL version 3
Modified: branches/samba/experimental/source3/VERSION
===================================================================
--- branches/samba/experimental/source3/VERSION 2010-03-09 08:46:52 UTC (rev 3390)
+++ branches/samba/experimental/source3/VERSION 2010-03-09 09:50:30 UTC (rev 3391)
@@ -25,7 +25,7 @@
########################################################
SAMBA_VERSION_MAJOR=3
SAMBA_VERSION_MINOR=5
-SAMBA_VERSION_RELEASE=0
+SAMBA_VERSION_RELEASE=1
########################################################
# Bug fix releases use a letter for the patch revision #
Modified: branches/samba/experimental/source3/include/smb.h
===================================================================
--- branches/samba/experimental/source3/include/smb.h 2010-03-09 08:46:52 UTC (rev 3390)
+++ branches/samba/experimental/source3/include/smb.h 2010-03-09 09:50:30 UTC (rev 3391)
@@ -1723,8 +1723,7 @@
enum smbd_capability {
KERNEL_OPLOCK_CAPABILITY,
DMAPI_ACCESS_CAPABILITY,
- LEASE_CAPABILITY,
- KILL_CAPABILITY
+ LEASE_CAPABILITY
};
/*
Modified: branches/samba/experimental/source3/include/version.h
===================================================================
--- branches/samba/experimental/source3/include/version.h 2010-03-09 08:46:52 UTC (rev 3390)
+++ branches/samba/experimental/source3/include/version.h 2010-03-09 09:50:30 UTC (rev 3391)
@@ -1,8 +1,8 @@
/* Autogenerated by script/mkversion.sh */
#define SAMBA_VERSION_MAJOR 3
#define SAMBA_VERSION_MINOR 5
-#define SAMBA_VERSION_RELEASE 0
-#define SAMBA_VERSION_OFFICIAL_STRING "3.5.0"
+#define SAMBA_VERSION_RELEASE 1
+#define SAMBA_VERSION_OFFICIAL_STRING "3.5.1"
#ifdef SAMBA_VERSION_VENDOR_FUNCTION
# define SAMBA_VERSION_STRING SAMBA_VERSION_VENDOR_FUNCTION
#else /* SAMBA_VERSION_VENDOR_FUNCTION */
Modified: branches/samba/experimental/source3/lib/system.c
===================================================================
--- branches/samba/experimental/source3/lib/system.c 2010-03-09 08:46:52 UTC (rev 3390)
+++ branches/samba/experimental/source3/lib/system.c 2010-03-09 09:50:30 UTC (rev 3391)
@@ -883,11 +883,6 @@
#if defined(HAVE_POSIX_CAPABILITIES)
-/* This define hasn't made it into the glibc capabilities header yet. */
-#ifndef SECURE_NO_SETUID_FIXUP
-#define SECURE_NO_SETUID_FIXUP 2
-#endif
-
/**************************************************************************
Try and abstract process capabilities (for systems that have them).
****************************************************************************/
@@ -918,32 +913,6 @@
}
#endif
-#if defined(HAVE_PRCTL) && defined(PR_SET_SECUREBITS) && defined(SECURE_NO_SETUID_FIXUP)
- /* New way of setting capabilities as "sticky". */
-
- /*
- * Use PR_SET_SECUREBITS to prevent setresuid()
- * atomically dropping effective capabilities on
- * uid change. Only available in Linux kernels
- * 2.6.26 and above.
- *
- * See here:
- * http://www.kernel.org/doc/man-pages/online/pages/man7/capabilities.7.html
- * for details.
- *
- * Specifically the CAP_KILL capability we need
- * to allow Linux threads under different euids
- * to send signals to each other.
- */
-
- if (prctl(PR_SET_SECUREBITS, 1 << SECURE_NO_SETUID_FIXUP)) {
- DEBUG(0,("set_process_capability: "
- "prctl PR_SET_SECUREBITS failed with error %s\n",
- strerror(errno) ));
- return false;
- }
-#endif
-
cap = cap_get_proc();
if (cap == NULL) {
DEBUG(0,("set_process_capability: cap_get_proc failed: %s\n",
@@ -972,11 +941,6 @@
cap_vals[num_cap_vals++] = CAP_LEASE;
#endif
break;
- case KILL_CAPABILITY:
-#ifdef CAP_KILL
- cap_vals[num_cap_vals++] = CAP_KILL;
-#endif
- break;
}
SMB_ASSERT(num_cap_vals <= ARRAY_SIZE(cap_vals));
@@ -986,37 +950,16 @@
return True;
}
- /*
- * Ensure the capability is effective. We assume that as a root
- * process it's always permitted.
- */
+ cap_set_flag(cap, CAP_EFFECTIVE, num_cap_vals, cap_vals,
+ enable ? CAP_SET : CAP_CLEAR);
- if (cap_set_flag(cap, CAP_EFFECTIVE, num_cap_vals, cap_vals,
- enable ? CAP_SET : CAP_CLEAR) == -1) {
- DEBUG(0, ("set_process_capability: cap_set_flag effective "
- "failed (%d): %s\n",
- (int)capability,
- strerror(errno)));
- cap_free(cap);
- return false;
- }
-
/* We never want to pass capabilities down to our children, so make
* sure they are not inherited.
*/
- if (cap_set_flag(cap, CAP_INHERITABLE, num_cap_vals,
- cap_vals, CAP_CLEAR) == -1) {
- DEBUG(0, ("set_process_capability: cap_set_flag inheritable "
- "failed (%d): %s\n",
- (int)capability,
- strerror(errno)));
- cap_free(cap);
- return false;
- }
+ cap_set_flag(cap, CAP_INHERITABLE, num_cap_vals, cap_vals, CAP_CLEAR);
if (cap_set_proc(cap) == -1) {
- DEBUG(0, ("set_process_capability: cap_set_flag (%d) failed: %s\n",
- (int)capability,
+ DEBUG(0, ("set_process_capability: cap_set_proc failed: %s\n",
strerror(errno)));
cap_free(cap);
return False;
Modified: branches/samba/experimental/source3/smbd/server.c
===================================================================
--- branches/samba/experimental/source3/smbd/server.c 2010-03-09 08:46:52 UTC (rev 3390)
+++ branches/samba/experimental/source3/smbd/server.c 2010-03-09 09:50:30 UTC (rev 3391)
@@ -1047,14 +1047,6 @@
gain_root_privilege();
gain_root_group_privilege();
- /*
- * Ensure we have CAP_KILL capability set on Linux,
- * where we need this to communicate with threads.
- * This is inherited by new threads, but not by new
- * processes across exec().
- */
- set_effective_capability(KILL_CAPABILITY);
-
fault_setup((void (*)(void *))exit_server_fault);
dump_core_setup("smbd");
More information about the Pkg-samba-maint
mailing list