samba4: updated to 4.14.2

Samba 4.14.2

This is a follow-up release to depend on the correct ldb version. This is only
needed when building against a system ldb library.

This is a security release in order to address the following defects:

o CVE-2020-27840: Heap corruption via crafted DN strings.
o CVE-2021-20277: Out of bounds read in AD DC LDAP server.


Samba 4.14.1

This is a security release in order to address the following defects:

o CVE-2020-27840: Heap corruption via crafted DN strings.
o CVE-2021-20277: Out of bounds read in AD DC LDAP server.


Samba 4.14.0

This is the first stable release of the Samba 4.14 release series.
Please read the release notes carefully before upgrading.

NEW FEATURES/CHANGES
====================

Here is a copy of a clarification note added to the Samba code
in the file: VFS-License-clarification.txt.
--------------------------------------------------------------

A clarification of our GNU GPL License enforcement boundary within the Samba
Virtual File System (VFS) layer.

Samba is licensed under the GNU GPL. All code committed to the Samba
project or that creates a "modified version" or software "based on" Samba must
be either licensed under the GNU GPL or a compatible license.

Samba has several plug-in interfaces where external code may be called
from Samba GNU GPL licensed code. The most important of these is the
Samba VFS layer.

Samba VFS modules are intimately connected by header files and API
definitions to the part of the Samba code that provides file services,
and as such, code that implements a plug-in Samba VFS module must be
licensed under the GNU GPL or a compatible license.

However, Samba VFS modules may themselves call third-party external
libraries that are not part of the Samba project and are externally
developed and maintained.

As long as these third-party external libraries do not use any of the
Samba internal structure, APIs or interface definitions created by the
Samba project (to the extent that they would be considered subject to the GNU
GPL), then the Samba Team will not consider such third-party external
libraries called from Samba VFS modules as "based on" and/or creating a
"modified version" of the Samba code for the purposes of GNU GPL.
Accordingly, we do not require such libraries be licensed under the GNU GPL
or a GNU GPL compatible license.

VFS
---

The effort to modernize Samba's VFS interface has reached a major milestone with
the next release Samba 4.14.

For details please refer to the documentation at source3/modules/The_New_VFS.txt or
visit the <https://wiki.samba.org/index.php/The_New_VFS>.

Printing
--------

Publishing printers in AD is more reliable and more printer features are
added to the published information in AD. Samba now also supports Windows
drivers for the ARM64 architecture.

Client Group Policy
-------------------
This release extends Samba to support Group Policy functionality for Winbind
clients. Active Directory Administrators can set policies that apply Sudoers
configuration, and cron jobs to run hourly, daily, weekly or monthly.

To enable the application of Group Policies on a client, set the global
smb.conf option 'apply group policies' to 'yes'. Policies are applied on an
interval of every 90 minutes, plus a random offset between 0 and 30 minutes.

Policies applied by Samba are 'non-tattooing', meaning that changes can be
reverted by executing the `samba-gpupdate --unapply` command. Policies can be
re-applied using the `samba-gpupdate --force` command.
To view what policies have been or will be applied to a system, use the
`samba-gpupdate --rsop` command.

Administration of Samba policy requires that a Samba ADMX template be uploaded
to the SYSVOL share. The samba-tool command `samba-tool gpo admxload` is
provided as a convenient method for adding this policy. Once uploaded, policies
can be modified in the Group Policy Management Editor under Computer
Configuration/Policies/Administrative Templates. Alternatively, Samba policy
may be managed using the `samba-tool gpo manage` command. This tool does not
require the admx templates to be installed.

Python 3.6 or later required
----------------------------

Samba's minimum runtime requirement for python was raised to Python
3.6 with samba 4.13.  Samba 4.14 raises this minimum version to Python
3.6 also to build Samba. It is no longer possible to build Samba
(even just the file server) with Python versions 2.6 and 2.7.

As Python 2.7 has been End Of Life upstream since April 2020, Samba
is dropping ALL Python 2.x support in this release.

Miscellaneous samba-tool changes
--------------------------------

The 'samba-tool' subcommands to manage AD objects (e.g. users, computers and
groups) now consistently use the "add" command when adding a new object to
the AD. The previous deprecation warnings when using the 'add' commands
have been removed. For compatibility reasons, both the 'add' and 'create'
commands can be used now.

Users, groups and contacts can now be renamed with the respective rename
commands.

Locked users can be unlocked with the new 'samba-tool user unlock' command.

The 'samba-tool user list' and 'samba-tool group listmembers' commands
provide additional options to hide expired and disabled user accounts
(--hide-expired and --hide-disabled).


CTDB CHANGES
============

* The NAT gateway and LVS features now uses the term "leader" to refer
  to the main node in a group through which traffic is routed and
  "follower" for other members of a group.  The command for
  determining the leader has changed to "ctdb natgw leader" (from
  "ctdb natgw master").  The configuration keyword for indicating that
  a node can not be the leader of a group has changed to
  "follower-only" (from "slave-only").  Identical changes were made
  for LVS.

* Remove "ctdb isnotrecmaster" command.  It isn't used by CTDB's
  scripts and can be checked by users with "ctdb pnn" and "ctdb
  recmaster".
This commit is contained in:
adam 2021-04-14 19:11:20 +00:00
parent a1e7674ff7
commit 3e33524790
6 changed files with 51 additions and 87 deletions

View file

@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.117 2021/03/24 16:33:46 adam Exp $
# $NetBSD: Makefile,v 1.118 2021/04/14 19:11:20 adam Exp $
DISTNAME= samba-4.13.7
DISTNAME= samba-4.14.2
CATEGORIES= net
MASTER_SITES= https://download.samba.org/pub/samba/stable/
@ -21,6 +21,7 @@ DEPENDS+= p5-Parse-Yapp>=1.05:../../devel/p5-Parse-Yapp
DEPENDS+= ${PYPKGPREFIX}-dns-[0-9]*:../../net/py-dns
DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
DEPENDS+= ${PYPKGPREFIX}-iso8601-[0-9]*:../../time/py-iso8601
DEPENDS+= ${PYPKGPREFIX}-markdown-[0-9]*:../../textproc/py-markdown
BUILD_DEFS+= VARBASE

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.35 2021/01/28 13:17:16 adam Exp $
@comment $NetBSD: PLIST,v 1.36 2021/04/14 19:11:20 adam Exp $
bin/cifsdd
bin/dbwrap_tool
bin/dumpmscat
@ -111,7 +111,6 @@ include/util/genrand.h
include/util/idtree.h
include/util/idtree_random.h
include/util/signal.h
include/util/string_wrappers.h
include/util/substitute.h
include/util/tevent_ntstatus.h
include/util/tevent_unix.h
@ -146,13 +145,13 @@ lib/libndr-standard.so.0
lib/libndr-standard.so.0.0.1
lib/libndr.so
lib/libndr.so.1
lib/libndr.so.1.0.0
lib/libndr.so.1.0.1
lib/libnetapi.so
lib/libnetapi.so.0
lib/libnss_winbind.so
lib/libsamba-credentials.so
lib/libsamba-credentials.so.0
lib/libsamba-credentials.so.0.0.1
lib/libsamba-credentials.so.1
lib/libsamba-credentials.so.1.0.0
lib/libsamba-errors.so
lib/libsamba-errors.so.1
lib/libsamba-hostconfig.so
@ -172,11 +171,12 @@ lib/libsamdb.so.0
lib/libsamdb.so.0.0.1
lib/libsmbclient.so
lib/libsmbclient.so.0
lib/libsmbclient.so.0.6.0
lib/libsmbclient.so.0.7.0
lib/libsmbconf.so
lib/libsmbconf.so.0
${PLIST.ldap}lib/libsmbldap.so
${PLIST.ldap}lib/libsmbldap.so.2
lib/libsmbldap.so.2.1.0
lib/libtevent-util.so
lib/libtevent-util.so.0
lib/libtevent-util.so.0.0.1
@ -205,7 +205,6 @@ ${PYSITELIB}/samba/auth.so
${PYSITELIB}/samba/auth_util.py
${PYSITELIB}/samba/colour.py
${PYSITELIB}/samba/common.py
${PYSITELIB}/samba/compat.py
${PYSITELIB}/samba/credentials.so
${PYSITELIB}/samba/crypto.so
${PYSITELIB}/samba/dbchecker.py
@ -265,6 +264,7 @@ ${PYSITELIB}/samba/forest_update.py
${PYSITELIB}/samba/gensec.so
${PYSITELIB}/samba/getopt.py
${PYSITELIB}/samba/gp_ext_loader.py
${PYSITELIB}/samba/gp_msgs_ext.py
${PYSITELIB}/samba/gp_parse/__init__.py
${PYSITELIB}/samba/gp_parse/gp_aas.py
${PYSITELIB}/samba/gp_parse/gp_csv.py
@ -273,6 +273,8 @@ ${PYSITELIB}/samba/gp_parse/gp_ini.py
${PYSITELIB}/samba/gp_parse/gp_pol.py
${PYSITELIB}/samba/gp_scripts_ext.py
${PYSITELIB}/samba/gp_sec_ext.py
${PYSITELIB}/samba/gp_smb_conf_ext.py
${PYSITELIB}/samba/gp_sudoers_ext.py
${PYSITELIB}/samba/gpclass.py
${PYSITELIB}/samba/gpo.so
${PYSITELIB}/samba/graph.py
@ -338,7 +340,8 @@ ${PYSITELIB}/samba/provision/sambadns.py
${PYSITELIB}/samba/registry.so
${PYSITELIB}/samba/remove_dc.py
${PYSITELIB}/samba/samba3/__init__.py
${PYSITELIB}/samba/samba3/libsmb_samba_internal.so
${PYSITELIB}/samba/samba3/libsmb_samba_cwrapper.so
${PYSITELIB}/samba/samba3/libsmb_samba_internal.py
${PYSITELIB}/samba/samba3/mdscli.so
${PYSITELIB}/samba/samba3/param.so
${PYSITELIB}/samba/samba3/passdb.so
@ -375,6 +378,8 @@ ${PYSITELIB}/samba/tests/blackbox/netads_json.py
${PYSITELIB}/samba/tests/blackbox/samba_dnsupdate.py
${PYSITELIB}/samba/tests/blackbox/smbcacls.py
${PYSITELIB}/samba/tests/blackbox/smbcacls_basic.py
${PYSITELIB}/samba/tests/blackbox/smbcacls_dfs_propagate_inherit.py
${PYSITELIB}/samba/tests/blackbox/smbcacls_propagate_inhertance.py
${PYSITELIB}/samba/tests/blackbox/smbcontrol.py
${PYSITELIB}/samba/tests/blackbox/smbcontrol_process.py
${PYSITELIB}/samba/tests/blackbox/traffic_learner.py
@ -383,10 +388,13 @@ ${PYSITELIB}/samba/tests/blackbox/traffic_summary.py
${PYSITELIB}/samba/tests/common.py
${PYSITELIB}/samba/tests/complex_expressions.py
${PYSITELIB}/samba/tests/core.py
${PYSITELIB}/samba/tests/cred_opt.py
${PYSITELIB}/samba/tests/credentials.py
${PYSITELIB}/samba/tests/dcerpc/__init__.py
${PYSITELIB}/samba/tests/dcerpc/array.py
${PYSITELIB}/samba/tests/dcerpc/bare.py
${PYSITELIB}/samba/tests/dcerpc/binding.py
${PYSITELIB}/samba/tests/dcerpc/createtrustrelax.py
${PYSITELIB}/samba/tests/dcerpc/dnsserver.py
${PYSITELIB}/samba/tests/dcerpc/integer.py
${PYSITELIB}/samba/tests/dcerpc/mdssvc.py
@ -397,6 +405,7 @@ ${PYSITELIB}/samba/tests/dcerpc/registry.py
${PYSITELIB}/samba/tests/dcerpc/rpc_talloc.py
${PYSITELIB}/samba/tests/dcerpc/rpcecho.py
${PYSITELIB}/samba/tests/dcerpc/sam.py
${PYSITELIB}/samba/tests/dcerpc/samr_change_password.py
${PYSITELIB}/samba/tests/dcerpc/srvsvc.py
${PYSITELIB}/samba/tests/dcerpc/string_tests.py
${PYSITELIB}/samba/tests/dcerpc/testrpc.py
@ -434,8 +443,14 @@ ${PYSITELIB}/samba/tests/kcc/graph.py
${PYSITELIB}/samba/tests/kcc/graph_utils.py
${PYSITELIB}/samba/tests/kcc/kcc_utils.py
${PYSITELIB}/samba/tests/kcc/ldif_import_export.py
${PYSITELIB}/samba/tests/krb5/as_canonicalization_tests.py
${PYSITELIB}/samba/tests/krb5/compatability_tests.py
${PYSITELIB}/samba/tests/krb5/kcrypto.py
${PYSITELIB}/samba/tests/krb5/kdc_base_test.py
${PYSITELIB}/samba/tests/krb5/kdc_tests.py
${PYSITELIB}/samba/tests/krb5/kdc_tgs_tests.py
${PYSITELIB}/samba/tests/krb5/raw_testcase.py
${PYSITELIB}/samba/tests/krb5/rfc4120_constants.py
${PYSITELIB}/samba/tests/krb5/rfc4120_pyasn1.py
${PYSITELIB}/samba/tests/krb5/s4u_tests.py
${PYSITELIB}/samba/tests/krb5/simple_tests.py
@ -523,6 +538,7 @@ ${PYSITELIB}/samba/tests/samdb.py
${PYSITELIB}/samba/tests/samdb_api.py
${PYSITELIB}/samba/tests/security.py
${PYSITELIB}/samba/tests/segfault.py
${PYSITELIB}/samba/tests/smb-notify.py
${PYSITELIB}/samba/tests/smb.py
${PYSITELIB}/samba/tests/smbd_base.py
${PYSITELIB}/samba/tests/smbd_fuzztest.py
@ -535,10 +551,11 @@ ${PYSITELIB}/samba/tests/upgradeprovision.py
${PYSITELIB}/samba/tests/upgradeprovisionneeddc.py
${PYSITELIB}/samba/tests/usage.py
${PYSITELIB}/samba/tests/xattr.py
${PYSITELIB}/samba/third_party/__init__.py
${PYSITELIB}/samba/trust_utils.py
${PYSITELIB}/samba/upgrade.py
${PYSITELIB}/samba/upgradehelpers.py
${PYSITELIB}/samba/uptodateness.py
${PYSITELIB}/samba/vgp_sudoers_ext.py
${PYSITELIB}/samba/werror.so
${PYSITELIB}/samba/xattr.py
${PYSITELIB}/samba/xattr_native.so
@ -558,6 +575,7 @@ ${PLIST.ads}lib/samba/idmap/rfc2307.${SOEXT}
lib/samba/idmap/rid.${SOEXT}
lib/samba/idmap/script.${SOEXT}
lib/samba/idmap/tdb2.${SOEXT}
lib/samba/krb5/async_dns_krb5_locator.${SOEXT}
lib/samba/krb5/winbind_krb5_locator.${SOEXT}
lib/samba/ldb/acl.${SOEXT}
lib/samba/ldb/aclread.${SOEXT}

View file

@ -1,9 +1,9 @@
$NetBSD: distinfo,v 1.58 2021/03/24 16:33:46 adam Exp $
$NetBSD: distinfo,v 1.59 2021/04/14 19:11:20 adam Exp $
SHA1 (samba-4.13.7.tar.gz) = c9c2238b04cc2e93054628fcdf82335c6ca51967
RMD160 (samba-4.13.7.tar.gz) = e1baf0f450814cece012c00514f8abe2d9e35cb6
SHA512 (samba-4.13.7.tar.gz) = eac0c0b60d50591ecd8e730bd6f24ec3d5731a9dd4172640259d841cca988f20265e5a57967a070713ab7b4bd95766a21247cc8e6b32177b79eb766520a3288a
Size (samba-4.13.7.tar.gz) = 18432921 bytes
SHA1 (samba-4.14.2.tar.gz) = faf830e239d4b77d3130c2f7a3dbaeb4864d91a8
RMD160 (samba-4.14.2.tar.gz) = 90932f7fc49abdc0d7d2308af0a87801fc0d6ef4
SHA512 (samba-4.14.2.tar.gz) = 8dd97abb14d531c3865747512abdf4d2db84b4daa5c15b67cd4f03326e30270d947ba0154493c5897aaa357039b472cfa669c80698b0f572e46d730f70a29b43
Size (samba-4.14.2.tar.gz) = 18636757 bytes
SHA1 (patch-buildtools_wafsamba_samba__conftests.py) = d927db17124d2bb5b382885e70a41f84c3929926
SHA1 (patch-buildtools_wafsamba_samba__install.py) = d801340617da325e3bb70a90350e45cc8e383c2d
SHA1 (patch-buildtools_wafsamba_samba__pidl.py) = e4c0ed3dacfcf5613a5b397b3c6cf88509497da7
@ -18,19 +18,18 @@ SHA1 (patch-lib_tdb_common_mutex.c) = 12dbcf870e6ba17ef7f92a8ce7f0b7462f820232
SHA1 (patch-lib_tevent_tevent.c) = 4a20506e2bfbab85bad664299b884575326e73fd
SHA1 (patch-lib_tevent_tevent__threads.c) = 14867888dd0b7c4613914752ab368c39bfdbb943
SHA1 (patch-lib_tevent_wscript) = fbbe2024096b57d651d90064f53489a974db9d7a
SHA1 (patch-lib_util_charset_charset__macosxfs.c) = 9772fc52fff48aec2a7e279223f73bb791217c26
SHA1 (patch-lib_util_smb__threads.h) = 93bbc4276ad927ad6faf305af093064f47c09254
SHA1 (patch-lib_util_tfork.c) = cd70dcff5f2ce94ffe642e0f029f03ee07dff27d
SHA1 (patch-libcli_dns_wscript__build) = 4103a144aa1bb4662fd7a62270941f1a3d01fe89
SHA1 (patch-nsswitch_stress-nss-libwbclient.c) = bf327282a59aefeeb2d6bf9eccf9b3a832033066
SHA1 (patch-nsswitch_winbind__nss__netbsd.c) = 2773ec9269d1fe0d7ce7ed220f6a7122d187fabe
SHA1 (patch-nsswitch_wscript__build) = e8a6251e031ffa13d6347fade8891f7afd65d3eb
SHA1 (patch-source3_libsmb_libsmb__stat.c) = 1f88759babfd64b525df8087ea143c7bc3171549
SHA1 (patch-source3_libsmb_pylibsmb.c) = 50c3aaecf345449e02642e387eeac3dd7043e77a
SHA1 (patch-source3_smbd_process.c) = 532d2426b9bd2a215d133bc489741558aa07f849
SHA1 (patch-source4_dsdb_samdb_ldb__modules_wscript__build__server) = 47f55ec16b667a0a4d38de5ac89a117f2ac8f898
SHA1 (patch-source4_heimdal__build_roken.h) = f467a541fa09e2aa483d10ed9d49df9167a3443a
SHA1 (patch-source4_heimdal_include_heim__threads.h) = c93e0c80790ea2045333822c80e66d371bf2249c
SHA1 (patch-source4_scripting_wsript_build) = bd4feddcaadf1c3d2d25eb7914e7b5843e4e9511
SHA1 (patch-source4_torture_libsmbclient_libsmbclient.c) = 38bb8b53581d5f0b5b0e9f0fce58f51148e91c20
SHA1 (patch-source4_utils_oLschema2ldif_wscript__build) = b0cbbcd4ebedd443dc9f9a59d1dad2e039bb9663
SHA1 (patch-third__party_socket__wrapper_socket__wrapper.c) = 0cc01c932f21e9f6219fb9d204e6fdf3682938f8

View file

@ -0,0 +1,15 @@
$NetBSD: patch-lib_util_charset_charset__macosxfs.c,v 1.1 2021/04/14 19:11:21 adam Exp $
DEBUG is undefined.
--- lib/util/charset/charset_macosxfs.c.orig 2021-04-14 09:58:53.000000000 +0000
+++ lib/util/charset/charset_macosxfs.c
@@ -137,7 +137,7 @@ static inline UniChar *set_ucbuffer_with
/*
* A simple hexdump function for debugging error conditions.
*/
-#define debug_out(s) DEBUG(0,(s))
+#define debug_out(s) /* nothing */
#ifdef DEBUG_STRINGS

View file

@ -1,37 +0,0 @@
$NetBSD: patch-source3_libsmb_libsmb__stat.c,v 1.1 2020/11/12 06:37:18 adam Exp $
Compatibility fix.
--- source3/libsmb/libsmb_stat.c.orig 2020-11-11 15:02:40.000000000 +0000
+++ source3/libsmb/libsmb_stat.c
@@ -102,18 +102,30 @@ void setup_stat(struct stat *st,
}
st->st_dev = dev;
+#if defined(__APPLE__) || defined(__NetBSD__)
+ st->st_atimespec = access_time_ts;
+ st->st_ctimespec = change_time_ts;
+ st->st_mtimespec = write_time_ts;
+#else
st->st_atim = access_time_ts;
st->st_ctim = change_time_ts;
st->st_mtim = write_time_ts;
+#endif
}
void setup_stat_from_stat_ex(const struct stat_ex *stex,
const char *fname,
struct stat *st)
{
+#if defined(__APPLE__) || defined(__NetBSD__)
+ st->st_atimespec = stex->st_ex_atime;
+ st->st_ctimespec = stex->st_ex_ctime;
+ st->st_mtimespec = stex->st_ex_mtime;
+#else
st->st_atim = stex->st_ex_atime;
st->st_ctim = stex->st_ex_ctime;
st->st_mtim = stex->st_ex_mtime;
+#endif
st->st_mode = stex->st_ex_mode;
st->st_size = stex->st_ex_size;

View file

@ -1,32 +0,0 @@
$NetBSD: patch-source4_torture_libsmbclient_libsmbclient.c,v 1.1 2020/11/12 06:37:18 adam Exp $
Compatibility fix.
--- source4/torture/libsmbclient/libsmbclient.c.orig 2020-11-11 15:11:03.000000000 +0000
+++ source4/torture/libsmbclient/libsmbclient.c
@@ -1231,8 +1231,13 @@ static bool torture_libsmbclient_utimes(
ret = smbc_fstat(fhandle, &st);
torture_assert_int_not_equal(tctx, ret, -1, "smbc_fstat failed");
+#if defined(__APPLE__) || defined(__NetBSD__)
+ tbuf[0] = convert_timespec_to_timeval(st.st_atimespec);
+ tbuf[1] = convert_timespec_to_timeval(st.st_mtimespec);
+#else
tbuf[0] = convert_timespec_to_timeval(st.st_atim);
tbuf[1] = convert_timespec_to_timeval(st.st_mtim);
+#endif
tbuf[1] = timeval_add(&tbuf[1], 0, 100000); /* 100 msec */
@@ -1244,7 +1249,11 @@ static bool torture_libsmbclient_utimes(
torture_assert_int_equal(
tctx,
+#if defined(__APPLE__) || defined(__NetBSD__)
+ st.st_mtimespec.tv_nsec / 1000,
+#else
st.st_mtim.tv_nsec / 1000,
+#endif
tbuf[1].tv_usec,
"smbc_utimes did not update msec");