aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-connectivity
diff options
context:
space:
mode:
authorYi Zhao <yi.zhao@windriver.com>2021-06-05 21:48:16 +0800
committerKhem Raj <raj.khem@gmail.com>2021-06-05 08:19:06 -0700
commitdd422c5467077c14fadec412750c369d2d273e0b (patch)
treec962b76809e58065d87394694f00fff2ced32397 /meta-networking/recipes-connectivity
parent861c0955dde202fbbc53e972293f449f72bb7a1a (diff)
downloadmeta-openembedded-contrib-dd422c5467077c14fadec412750c369d2d273e0b.tar.gz
samba: upgrade 4.10.18 -> 4.14.4
The 4.10.x is EOL: https://wiki.samba.org/index.php/Samba_Release_Planning Upgrade to latest 4.14.x. Remove PACKAGECONFIG[gnutls] since the gnutls is now the mandatory requirement for samba. See: https://wiki.samba.org/index.php/Package_Dependencies_Required_to_Build_Samba#Mandatory Refresh patches: 16-do-not-check-xsltproc-manpages.patch 20-do-not-import-target-module-while-cross-compile.patch 21-add-config-option-without-valgrind.patch 0001-Add-options-to-configure-the-use-of-libbsd.patch dnsserver-4.7.0.patch iconv-4.7.0.patch 0001-samba-fix-musl-lib-without-innetgr.patch Drop patches: 0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch 0001-nsswitch-nsstest.c-Avoid-nss-function-conflicts-with.patch 0001-waf-add-support-of-cross_compile.patch 0002-util_sec.c-Move-__thread-variable-to-global-scope.patch CVE-2020-14318.patch CVE-2020-14383.patch glibc_only.patch smb_conf-4.7.0.patch Add new patches: 0007-wscript_configure_system_gnutls-disable-check-gnutls.patch 0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch source3-wscript-disable-check-fcntl-RW_HINTS.patch Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-networking/recipes-connectivity')
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch (renamed from meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch)24
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch30
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0001-nsswitch-nsstest.c-Avoid-nss-function-conflicts-with.patch96
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch62
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0002-do-not-import-target-module-while-cross-compile.patch (renamed from meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch)8
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch58
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch (renamed from meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch)12
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0004-Add-options-to-configure-the-use-of-libbsd.patch (renamed from meta-networking/recipes-connectivity/samba/samba/0001-Add-options-to-configure-the-use-of-libbsd.patch)45
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0005-samba-build-dnsserver_common-code.patch (renamed from meta-networking/recipes-connectivity/samba/samba/dnsserver-4.7.0.patch)13
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0006-samba-defeat-iconv-test.patch (renamed from meta-networking/recipes-connectivity/samba/samba/iconv-4.7.0.patch)20
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0007-wscript_configure_system_gnutls-disable-check-gnutls.patch39
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch79
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/CVE-2020-14318.patch142
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/CVE-2020-14383.patch112
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/glibc_only.patch28
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/samba-fix-musl-lib-without-innetgr.patch (renamed from meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch)0
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch28
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/source3-wscript-disable-check-fcntl-RW_HINTS.patch92
-rw-r--r--meta-networking/recipes-connectivity/samba/samba_4.14.4.bb (renamed from meta-networking/recipes-connectivity/samba/samba_4.10.18.bb)66
19 files changed, 307 insertions, 647 deletions
diff --git a/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch b/meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch
index 8ca7a52ed8..f4668dc6fd 100644
--- a/meta-networking/recipes-connectivity/samba/samba/16-do-not-check-xsltproc-manpages.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch
@@ -1,12 +1,14 @@
-From 2214c2d1e455a38c891d17e421b438e3f7c495d8 Mon Sep 17 00:00:00 2001
+From 3bc1ebc3d2758af4067b3aace7ddd0ea0cb0b57b Mon Sep 17 00:00:00 2001
From: Bian Naimeng <biannm@cn.fujitsu.com>
Date: Mon, 18 Apr 2016 17:00:53 -0400
Subject: [PATCH] Don't check xsltproc manpages
Upstream-Status: Pending
-
+
Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
+Rebase to 4.14.4
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
lib/ldb/wscript | 2 +-
lib/talloc/wscript | 2 +-
@@ -14,10 +16,10 @@ Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/ldb/wscript b/lib/ldb/wscript
-index 5ea5231..d94086b 100644
+index bf6129b..c515deb 100644
--- a/lib/ldb/wscript
+++ b/lib/ldb/wscript
-@@ -98,7 +98,7 @@ def configure(conf):
+@@ -143,7 +143,7 @@ def configure(conf):
conf.DEFINE('EXPECTED_SYSTEM_LDB_VERSION_RELEASE', int(v[2]))
if conf.env.standalone_ldb:
@@ -27,10 +29,10 @@ index 5ea5231..d94086b 100644
# we need this for the ldap backend
if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'):
diff --git a/lib/talloc/wscript b/lib/talloc/wscript
-index df7e6be..b3305cf 100644
+index a767477..f754819 100644
--- a/lib/talloc/wscript
+++ b/lib/talloc/wscript
-@@ -49,7 +49,7 @@ def configure(conf):
+@@ -48,7 +48,7 @@ def configure(conf):
conf.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
conf.env.TALLOC_VERSION = VERSION
@@ -40,18 +42,18 @@ index df7e6be..b3305cf 100644
conf.CHECK_HEADERS('sys/auxv.h')
conf.CHECK_FUNCS('getauxval')
diff --git a/lib/tdb/wscript b/lib/tdb/wscript
-index 4782550..6bb3fa1 100644
+index e56ddd0..467dd65 100644
--- a/lib/tdb/wscript
+++ b/lib/tdb/wscript
-@@ -89,7 +89,7 @@ def configure(conf):
+@@ -95,7 +95,7 @@ def configure(conf):
not conf.env.disable_tdb_mutex_locking):
conf.define('USE_TDB_MUTEX_LOCKING', 1)
- conf.CHECK_XSLTPROC_MANPAGES()
+ #conf.CHECK_XSLTPROC_MANPAGES()
- if not conf.env.disable_python:
- # also disable if we don't have the python libs installed
+ conf.SAMBA_CHECK_PYTHON()
+ conf.SAMBA_CHECK_PYTHON_HEADERS()
--
-2.14.3
+2.17.1
diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch b/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch
deleted file mode 100644
index de7f311834..0000000000
--- a/meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 3a935c638605bfb392ca7780d22c08c1a0a71e71 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 5 Sep 2019 21:37:33 -0700
-Subject: [PATCH 1/2] lib/replace/wscript: Avoid generating nested main
- function
-
-clang is not happy when it sees another main nested inside the main
-function and fails the test for prctl syscall, therefore avoid adding
-implicit main() here
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/replace/wscript | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index a7fd25d..d6767fc 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -137,6 +137,7 @@ def configure(conf):
- }
- ''',
- 'HAVE_PRCTL',
-+ addmain=False,
- headers='sys/prctl.h',
- msg='Checking for prctl syscall')
-
---
-2.23.0
-
diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-nsswitch-nsstest.c-Avoid-nss-function-conflicts-with.patch b/meta-networking/recipes-connectivity/samba/samba/0001-nsswitch-nsstest.c-Avoid-nss-function-conflicts-with.patch
deleted file mode 100644
index 2dbabdaa47..0000000000
--- a/meta-networking/recipes-connectivity/samba/samba/0001-nsswitch-nsstest.c-Avoid-nss-function-conflicts-with.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 9aba5ac17bb822f91f6b214f5b82dd1eb8c47616 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 22 Jul 2020 22:42:09 -0700
-Subject: [PATCH] nsswitch/nsstest.c: Avoid nss function conflicts with glibc nss.h
-
-glibc 2.32 will define these varibles [1] which results in conflicts
-with these static function names, therefore prefix these function names
-with samba_ to avoid it
-
-[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=499a92df8b9fc64a054cf3b7f728f8967fc1da7d
-
-Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/-/merge_requests/1477]
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- nsswitch/nsstest.c | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/nsswitch/nsstest.c b/nsswitch/nsstest.c
-index 6d92806..46f9679 100644
---- a/nsswitch/nsstest.c
-+++ b/nsswitch/nsstest.c
-@@ -137,7 +137,7 @@ static struct passwd *nss_getpwuid(uid_t uid)
- return &pwd;
- }
-
--static void nss_setpwent(void)
-+static void samba_nss_setpwent(void)
- {
- NSS_STATUS (*_nss_setpwent)(void) =
- (NSS_STATUS(*)(void))find_fn("setpwent");
-@@ -152,7 +152,7 @@ static void nss_setpwent(void)
- }
- }
-
--static void nss_endpwent(void)
-+static void samba_nss_endpwent(void)
- {
- NSS_STATUS (*_nss_endpwent)(void) =
- (NSS_STATUS (*)(void))find_fn("endpwent");
-@@ -284,7 +284,7 @@ again:
- return &grp;
- }
-
--static void nss_setgrent(void)
-+static void samba_nss_setgrent(void)
- {
- NSS_STATUS (*_nss_setgrent)(void) =
- (NSS_STATUS (*)(void))find_fn("setgrent");
-@@ -299,7 +299,7 @@ static void nss_setgrent(void)
- }
- }
-
--static void nss_endgrent(void)
-+static void samba_nss_endgrent(void)
- {
- NSS_STATUS (*_nss_endgrent)(void) =
- (NSS_STATUS (*)(void))find_fn("endgrent");
-@@ -396,7 +396,7 @@ static void nss_test_users(void)
- {
- struct passwd *pwd;
-
-- nss_setpwent();
-+ samba_nss_setpwent();
- /* loop over all users */
- while ((pwd = nss_getpwent())) {
- printf("Testing user %s\n", pwd->pw_name);
-@@ -418,14 +418,14 @@ static void nss_test_users(void)
- printf("initgroups: "); nss_test_initgroups(pwd->pw_name, pwd->pw_gid);
- printf("\n");
- }
-- nss_endpwent();
-+ samba_nss_endpwent();
- }
-
- static void nss_test_groups(void)
- {
- struct group *grp;
-
-- nss_setgrent();
-+ samba_nss_setgrent();
- /* loop over all groups */
- while ((grp = nss_getgrent())) {
- printf("Testing group %s\n", grp->gr_name);
-@@ -446,7 +446,7 @@ static void nss_test_groups(void)
- printf("getgrgid: "); print_group(grp);
- printf("\n");
- }
-- nss_endgrent();
-+ samba_nss_endgrent();
- }
-
- static void nss_test_errors(void)
---
-2.27.0
-
diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch b/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch
deleted file mode 100644
index 23b35a8145..0000000000
--- a/meta-networking/recipes-connectivity/samba/samba/0001-waf-add-support-of-cross_compile.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 4b8463ff43f8983a706b181c5292491f9f954be1 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 25 Jan 2019 15:00:59 +0800
-Subject: [PATCH] waf: add support of cross_compile
-
-After upgrade, waf also upgraded
-
-on 1.5.19, for cross_compile, subprocess.Popen is set to be
-samba_cross.cross_Popen, which will not execute testprog on
-host, but only read result from cross-answers.txt which is
-passed by option --cross-answer
-
-part of old code:
- args = Utils.to_list(kw.get('exec_args', []))
- proc = Utils.pproc.Popen([lastprog] + args, stdout=Utils.pproc.PIPE, stderr=Utils.pproc.PIPE)
-
-but on new version, exec_args is not used and cause do_configure
-failed with Exec format error
-
-fixed by append cross anser related args to cmd
-
-Upstream-Status: Submitted [https://gitlab.com/samba-team/samba/merge_requests/211]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- third_party/waf/waflib/Tools/c_config.py | 11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
-diff --git a/third_party/waf/waflib/Tools/c_config.py b/third_party/waf/waflib/Tools/c_config.py
-index 7608215..767cf33 100644
---- a/third_party/waf/waflib/Tools/c_config.py
-+++ b/third_party/waf/waflib/Tools/c_config.py
-@@ -660,20 +660,21 @@ class test_exec(Task.Task):
- """
- color = 'PINK'
- def run(self):
-+ args = self.generator.bld.kw.get('exec_args', [])
- if getattr(self.generator, 'rpath', None):
- if getattr(self.generator, 'define_ret', False):
-- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()])
-- else:
-- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()])
-+ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args)
-+ else:
-+ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args)
- else:
- env = self.env.env or {}
- env.update(dict(os.environ))
- for var in ('LD_LIBRARY_PATH', 'DYLD_LIBRARY_PATH', 'PATH'):
- env[var] = self.inputs[0].parent.abspath() + os.path.pathsep + env.get(var, '')
- if getattr(self.generator, 'define_ret', False):
-- self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()], env=env)
-+ self.generator.bld.retval = self.generator.bld.cmd_and_log([self.inputs[0].abspath()] + args, env=env)
- else:
-- self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()], env=env)
-+ self.generator.bld.retval = self.generator.bld.exec_command([self.inputs[0].abspath()] + args, env=env)
-
- @feature('test_exec')
- @after_method('apply_link')
---
-2.7.4
-
diff --git a/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch b/meta-networking/recipes-connectivity/samba/samba/0002-do-not-import-target-module-while-cross-compile.patch
index 3f2921ed33..292e614ebf 100644
--- a/meta-networking/recipes-connectivity/samba/samba/20-do-not-import-target-module-while-cross-compile.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/0002-do-not-import-target-module-while-cross-compile.patch
@@ -1,4 +1,4 @@
-From cc0576405803bcae45ee353c4333c449cead9207 Mon Sep 17 00:00:00 2001
+From 9ebea97a52e4f70e831dd6402b865c77753ce1cc Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Tue, 25 Jun 2019 14:25:08 +0800
Subject: [PATCH] do not import target module while cross compile
@@ -12,10 +12,10 @@ update to version 4.10.5, and switch to python3
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
buildtools/wafsamba/samba_bundled.py | 27 +++++++++++++++++++--------
- 1 file changed, 18 insertions(+), 8 deletions(-)
+ 1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
-index 60ce7da..5468a36 100644
+index 5f080dd..cdc115e 100644
--- a/buildtools/wafsamba/samba_bundled.py
+++ b/buildtools/wafsamba/samba_bundled.py
@@ -4,6 +4,7 @@ import sys
@@ -63,5 +63,5 @@ index 60ce7da..5468a36 100644
Logs.error('ERROR: Python module %s of version %s not found, and bundling disabled' % (libname, minversion))
sys.exit(1)
--
-2.7.4
+2.17.1
diff --git a/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch b/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch
deleted file mode 100644
index 6fc849337c..0000000000
--- a/meta-networking/recipes-connectivity/samba/samba/0002-util_sec.c-Move-__thread-variable-to-global-scope.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From c62a6f32ab965de2ec77a614f20f04568116835b Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 5 Sep 2019 21:39:05 -0700
-Subject: [PATCH 2/2] util_sec.c: Move __thread variable to global scope
-
-Make clang happy otherwise it complains about variable scope
-
-fixes
-
-source3/./lib/util_sec.c:470:4: error: '__thread' variables must have global storage
- } __thread cache;
- ^
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- source3/lib/util_sec.c | 19 +++++++++++--------
- 1 file changed, 11 insertions(+), 8 deletions(-)
-
-diff --git a/source3/lib/util_sec.c b/source3/lib/util_sec.c
-index 9408269..7390318 100644
---- a/source3/lib/util_sec.c
-+++ b/source3/lib/util_sec.c
-@@ -444,6 +444,17 @@ void become_user_permanently(uid_t uid, gid_t gid)
- assert_gid(gid, gid);
- }
-
-+#ifdef HAVE___THREAD
-+ struct cache_t {
-+ bool active;
-+ uid_t uid;
-+ gid_t gid;
-+ size_t setlen;
-+ uintptr_t gidset;
-+ };
-+
-+static __thread struct cache_t cache;
-+#endif
- /**********************************************************
- Function to set thread specific credentials. Leave
- saved-set uid/gid alone.Must be thread-safe code.
-@@ -461,14 +472,6 @@ int set_thread_credentials(uid_t uid,
- * available.
- */
- #ifdef HAVE___THREAD
-- static struct {
-- bool active;
-- uid_t uid;
-- gid_t gid;
-- size_t setlen;
-- uintptr_t gidset;
-- } __thread cache;
--
- if (cache.active &&
- cache.uid == uid &&
- cache.gid == gid &&
---
-2.23.0
-
diff --git a/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch b/meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch
index 46a6f06267..93ca005d68 100644
--- a/meta-networking/recipes-connectivity/samba/samba/21-add-config-option-without-valgrind.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch
@@ -1,4 +1,4 @@
-From 87bc8e7eafc7d12a1d3a143ebb9e43cf5fbafb72 Mon Sep 17 00:00:00 2001
+From 6455448eb060d03a534539f1a424e2d3e44319e1 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Thu, 20 Jun 2019 14:11:16 +0800
Subject: [PATCH] Add config option without-valgrind
@@ -15,10 +15,10 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/lib/replace/wscript b/lib/replace/wscript
-index a7fd25d..a19ae68 100644
+index 2c856b6..bc726f7 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
-@@ -110,8 +110,9 @@ def configure(conf):
+@@ -121,8 +121,9 @@ def configure(conf):
conf.CHECK_HEADERS('sys/fileio.h sys/filesys.h sys/dustat.h sys/sysmacros.h')
conf.CHECK_HEADERS('xfs/libxfs.h netgroup.h')
@@ -31,10 +31,10 @@ index a7fd25d..a19ae68 100644
conf.CHECK_HEADERS('sys/extattr.h sys/ea.h sys/proplist.h sys/cdefs.h')
conf.CHECK_HEADERS('utmp.h utmpx.h lastlog.h')
diff --git a/wscript b/wscript
-index e38a8e9..38b7230 100644
+index 83d9421..969b07a 100644
--- a/wscript
+++ b/wscript
-@@ -105,6 +105,10 @@ def options(opt):
+@@ -123,6 +123,10 @@ def options(opt):
help=("Disable RELRO builds"),
action="store_false", dest='enable_relro')
@@ -46,5 +46,5 @@ index e38a8e9..38b7230 100644
opt.load('python') # options for disabling pyc or pyo compilation
--
-2.7.4
+2.17.1
diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-Add-options-to-configure-the-use-of-libbsd.patch b/meta-networking/recipes-connectivity/samba/samba/0004-Add-options-to-configure-the-use-of-libbsd.patch
index 80cdd3955f..5fd32f3851 100644
--- a/meta-networking/recipes-connectivity/samba/samba/0001-Add-options-to-configure-the-use-of-libbsd.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/0004-Add-options-to-configure-the-use-of-libbsd.patch
@@ -1,19 +1,21 @@
-From 1e8d31c138395122df4cc2a3e0edd6cd3fad736c Mon Sep 17 00:00:00 2001
+From 5abf3c2efa1cd4e16878b6b26068ff153973ebd3 Mon Sep 17 00:00:00 2001
From: Peter Kjellerstedt <pkj@axis.com>
Date: Tue, 28 Apr 2020 02:05:33 +0200
Subject: [PATCH] Add options to configure the use of libbsd
Upstream-Status: Inappropriate [oe deterministic build specific]
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
+
+Rebase to 4.14.4
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
- buildtools/wafsamba/wscript | 7 +++++++
- lib/crypto/wscript_configure | 2 +-
- lib/replace/wscript | 29 +++++++++++++++--------------
- lib/texpect/wscript | 7 ++++++-
- 4 files changed, 29 insertions(+), 16 deletions(-)
+ buildtools/wafsamba/wscript | 7 +++++++
+ lib/replace/wscript | 29 +++++++++++++++--------------
+ lib/texpect/wscript | 8 +++++++-
+ 3 files changed, 29 insertions(+), 15 deletions(-)
diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
-index 7b8fb01..a8e4b0a 100644
+index 1aadb95..e7b47c0 100644
--- a/buildtools/wafsamba/wscript
+++ b/buildtools/wafsamba/wscript
@@ -88,6 +88,13 @@ def options(opt):
@@ -30,24 +32,11 @@ index 7b8fb01..a8e4b0a 100644
gr = opt.option_group('developer options')
gr.add_option('-C',
-diff --git a/lib/crypto/wscript_configure b/lib/crypto/wscript_configure
-index 09dfe04..e871718 100644
---- a/lib/crypto/wscript_configure
-+++ b/lib/crypto/wscript_configure
-@@ -2,7 +2,7 @@
- from waflib import Options
- from waflib import Errors, Logs
-
--if not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h',
-+if not Options.options.enable_libbsd or not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h',
- checklibc=True):
- conf.CHECK_FUNCS_IN('MD5Init', 'md5', headers='sys/md5.h',
- checklibc=True)
diff --git a/lib/replace/wscript b/lib/replace/wscript
-index 0020d2a..cd9228f 100644
+index bc726f7..44ad0d6 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
-@@ -407,20 +407,21 @@ def configure(conf):
+@@ -419,20 +419,21 @@ def configure(conf):
strlcpy_in_bsd = False
@@ -84,13 +73,14 @@ index 0020d2a..cd9228f 100644
conf.CHECK_CODE('''
struct ucred cred;
diff --git a/lib/texpect/wscript b/lib/texpect/wscript
-index e14c048..a91de59 100644
+index 82f6b25..33eea64 100644
--- a/lib/texpect/wscript
+++ b/lib/texpect/wscript
-@@ -1,7 +1,12 @@
+@@ -1,7 +1,13 @@
#!/usr/bin/env python
-+from waflib import Options
++from waflib import Options
++
def configure(conf):
- conf.CHECK_FUNCS_IN('openpty', 'util', checklibc=True, headers='pty.h util.h bsd/libutil.h libutil.h')
+ hdrs = 'pty.h util.h'
@@ -100,4 +90,7 @@ index e14c048..a91de59 100644
+ conf.CHECK_FUNCS_IN('openpty', 'util', checklibc=True, headers=hdrs)
def build(bld):
- bld.SAMBA_BINARY('texpect', 'texpect.c', deps='popt util replace', install=False)
+ bld.SAMBA_BINARY('texpect',
+--
+2.17.1
+
diff --git a/meta-networking/recipes-connectivity/samba/samba/dnsserver-4.7.0.patch b/meta-networking/recipes-connectivity/samba/samba/0005-samba-build-dnsserver_common-code.patch
index 0c7592f8e2..2abbe563ae 100644
--- a/meta-networking/recipes-connectivity/samba/samba/dnsserver-4.7.0.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/0005-samba-build-dnsserver_common-code.patch
@@ -1,11 +1,19 @@
-samba: build dnsserver_common code
+From 10d7abc8f1aa99ae45209aeb704978d206f329c0 Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Tue, 1 Jun 2021 11:09:19 +0800
+Subject: [PATCH] samba: build dnsserver_common code
Just 'install' does not seem to do it.
Upstream-Status: Pending
Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ source4/dns_server/wscript_build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+diff --git a/source4/dns_server/wscript_build b/source4/dns_server/wscript_build
+index e97c85d..a49fbb9 100644
--- a/source4/dns_server/wscript_build
+++ b/source4/dns_server/wscript_build
@@ -4,7 +4,7 @@ bld.SAMBA_LIBRARY('dnsserver_common',
@@ -17,3 +25,6 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
)
bld.SAMBA_MODULE('service_dns',
+--
+2.17.1
+
diff --git a/meta-networking/recipes-connectivity/samba/samba/iconv-4.7.0.patch b/meta-networking/recipes-connectivity/samba/samba/0006-samba-defeat-iconv-test.patch
index 5ae8c59783..00b692b580 100644
--- a/meta-networking/recipes-connectivity/samba/samba/iconv-4.7.0.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/0006-samba-defeat-iconv-test.patch
@@ -1,4 +1,7 @@
-samba: defeat iconv test
+From 59f7098bfbd63f9b3c19d7d297a8f90870a1893d Mon Sep 17 00:00:00 2001
+From: Joe Slater <joe.slater@windriver.com>
+Date: Mon, 31 May 2021 14:50:38 +0800
+Subject: [PATCH] samba: defeat iconv test
A test was added when configuring samba which requires target code
to be executed. In general, this will not work, so we eliminate it.
@@ -6,10 +9,15 @@ to be executed. In general, this will not work, so we eliminate it.
Upstream-Status: Pending
Signed-off-by: Joe Slater <joe.slater@windriver.com>
+---
+ lib/util/charset/wscript_configure | 3 +++
+ 1 file changed, 3 insertions(+)
+diff --git a/lib/util/charset/wscript_configure b/lib/util/charset/wscript_configure
+index 9c27fc6..845eb36 100644
--- a/lib/util/charset/wscript_configure
+++ b/lib/util/charset/wscript_configure
-@@ -17,6 +17,8 @@ if (conf.CHECK_FUNCS_IN('iconv_open', 'i
+@@ -17,6 +17,8 @@ if (conf.CHECK_FUNCS_IN('iconv_open', 'iconv', checklibc=False, headers='iconv.h
conf.DEFINE('HAVE_NATIVE_ICONV', 1)
@@ -18,8 +26,14 @@ Signed-off-by: Joe Slater <joe.slater@windriver.com>
conf.CHECK_CODE('''
uint8_t inbuf[2] = { 0x30, 0xdf };
uint8_t outbuf[4] = { 0 };
-@@ -36,3 +38,4 @@ conf.CHECK_CODE('''
+@@ -36,6 +38,7 @@ conf.CHECK_CODE('''
msg='Checking errno of iconv for illegal multibyte sequence',
lib='iconv',
headers='errno.h iconv.h')
+"""
+
+ if conf.CHECK_CFG(package='icu-i18n',
+ args='--cflags --libs',
+--
+2.17.1
+
diff --git a/meta-networking/recipes-connectivity/samba/samba/0007-wscript_configure_system_gnutls-disable-check-gnutls.patch b/meta-networking/recipes-connectivity/samba/samba/0007-wscript_configure_system_gnutls-disable-check-gnutls.patch
new file mode 100644
index 0000000000..0f843af20a
--- /dev/null
+++ b/meta-networking/recipes-connectivity/samba/samba/0007-wscript_configure_system_gnutls-disable-check-gnutls.patch
@@ -0,0 +1,39 @@
+From a31a014c5d98501074fde1acb5c00162c927c361 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Mon, 31 May 2021 15:47:58 +0800
+Subject: [PATCH] wscript_configure_system_gnutls: disable check gnutls
+ AES_CFB8/AES_CMAC
+
+The CHECK_VALUEOF() can not work on cross-compilation.
+
+Fixes configure error:
+ Checking value of GNUTLS_CIPHER_AES_128_CFB8: UNKNOWN
+ Checking value of GNUTLS_MAC_AES_CMAC_128: UNKNOWN
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ wscript_configure_system_gnutls | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/wscript_configure_system_gnutls b/wscript_configure_system_gnutls
+index 2ec217f..cd91b55 100644
+--- a/wscript_configure_system_gnutls
++++ b/wscript_configure_system_gnutls
+@@ -39,6 +39,7 @@ if (parse_version(gnutls_version) > parse_version('3.6.14')):
+ if conf.CHECK_FUNCS_IN('gnutls_get_system_config_file', 'gnutls'):
+ conf.DEFINE('HAVE_GNUTLS_CRYPTO_POLICIES', 1)
+
++"""
+ if conf.CHECK_VALUEOF('GNUTLS_CIPHER_AES_128_CFB8', headers='gnutls/gnutls.h'):
+ conf.DEFINE('HAVE_GNUTLS_AES_CFB8', 1)
+ else:
+@@ -48,3 +49,4 @@ if conf.CHECK_VALUEOF('GNUTLS_MAC_AES_CMAC_128', headers='gnutls/gnutls.h'):
+ conf.DEFINE('HAVE_GNUTLS_AES_CMAC', 1)
+ else:
+ Logs.warn('No gnutls support for AES CMAC')
++"""
+--
+2.17.1
+
diff --git a/meta-networking/recipes-connectivity/samba/samba/0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch b/meta-networking/recipes-connectivity/samba/samba/0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch
new file mode 100644
index 0000000000..d4ceb5ce9b
--- /dev/null
+++ b/meta-networking/recipes-connectivity/samba/samba/0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch
@@ -0,0 +1,79 @@
+From ba6bc5459cf148dd617fd9cd38dd50c3a9b5d706 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Mon, 31 May 2021 15:50:48 +0800
+Subject: [PATCH] source3/wscript: disable check fcntl F_OWNER_EX
+
+It fails on cross-compilation.
+
+Fixes configure error:
+ Checking whether fcntl supports flags to send direct I/O availability signals: UNKNOWN
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ source3/wscript | 48 ------------------------------------------------
+ 1 file changed, 48 deletions(-)
+
+diff --git a/source3/wscript b/source3/wscript
+index adc31ce..f6de0a6 100644
+--- a/source3/wscript
++++ b/source3/wscript
+@@ -1168,54 +1168,6 @@ err:
+ #include <fcntl.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+-#include <sys/socket.h>
+-
+-int main(void)
+-{
+- int sockfd, ret;
+- struct f_owner_ex owner, get_owner;
+-
+- sockfd = socket(AF_UNIX, SOCK_STREAM, 0);
+- if (sockfd == -1) {
+- goto err;
+- }
+-
+- owner.type = F_OWNER_PID;
+- owner.pid = getpid();
+-
+- ret = fcntl(sockfd, F_SETOWN_EX, &owner);
+- if (ret == -1) {
+- goto err;
+- }
+-
+- ret = fcntl(sockfd, F_GETOWN_EX, &get_owner);
+- if (ret == -1) {
+- goto err;
+- }
+-
+- if (get_owner.type != F_OWNER_PID) {
+- goto err;
+- }
+-
+- if (get_owner.pid != getpid()) {
+- goto err;
+- }
+-
+- close(sockfd);
+- exit(0);
+-err:
+- close(sockfd);
+- exit(1);
+-}''',
+- 'HAVE_F_OWNER_EX',
+- addmain=False,
+- execute=True,
+- msg="Checking whether fcntl supports flags to send direct I/O availability signals")
+-
+- conf.CHECK_CODE('''
+-#include <fcntl.h>
+-#include <unistd.h>
+-#include <stdlib.h>
+ #include <stdint.h>
+
+ #define DATA "hinttest.fcntl"
+--
+2.17.1
+
diff --git a/meta-networking/recipes-connectivity/samba/samba/CVE-2020-14318.patch b/meta-networking/recipes-connectivity/samba/samba/CVE-2020-14318.patch
deleted file mode 100644
index ff1225db07..0000000000
--- a/meta-networking/recipes-connectivity/samba/samba/CVE-2020-14318.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From ccf53dfdcd39f3526dbc2f20e1245674155380ff Mon Sep 17 00:00:00 2001
-From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
-Date: Fri, 11 Dec 2020 11:32:44 +0900
-Subject: [PATCH] s4: torture: Add smb2.notify.handle-permissions test.
-
-s3: smbd: Ensure change notifies can't get set unless the
- directory handle is open for SEC_DIR_LIST.
-
-CVE-2020-14318
-
-BUG: https://bugzilla.samba.org/show_bug.cgi?id=14434
-
-Signed-off-by: Jeremy Allison <jra@samba.org>
-
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- source3/smbd/notify.c | 8 ++++
- source4/torture/smb2/notify.c | 82 ++++++++++++++++++++++++++++++++++-
- 2 files changed, 89 insertions(+), 1 deletion(-)
-
-diff --git a/source3/smbd/notify.c b/source3/smbd/notify.c
-index 44c0b09..d23c03b 100644
---- a/source3/smbd/notify.c
-+++ b/source3/smbd/notify.c
-@@ -283,6 +283,14 @@ NTSTATUS change_notify_create(struct files_struct *fsp, uint32_t filter,
- char fullpath[len+1];
- NTSTATUS status = NT_STATUS_NOT_IMPLEMENTED;
-
-+ /*
-+ * Setting a changenotify needs READ/LIST access
-+ * on the directory handle.
-+ */
-+ if (!(fsp->access_mask & SEC_DIR_LIST)) {
-+ return NT_STATUS_ACCESS_DENIED;
-+ }
-+
- if (fsp->notify != NULL) {
- DEBUG(1, ("change_notify_create: fsp->notify != NULL, "
- "fname = %s\n", fsp->fsp_name->base_name));
-diff --git a/source4/torture/smb2/notify.c b/source4/torture/smb2/notify.c
-index ebb4f8a..a5c9b94 100644
---- a/source4/torture/smb2/notify.c
-+++ b/source4/torture/smb2/notify.c
-@@ -2569,6 +2569,83 @@ done:
- return ok;
- }
-
-+/*
-+ Test asking for a change notify on a handle without permissions.
-+*/
-+
-+#define BASEDIR_HPERM BASEDIR "_HPERM"
-+
-+static bool torture_smb2_notify_handle_permissions(
-+ struct torture_context *torture,
-+ struct smb2_tree *tree)
-+{
-+ bool ret = true;
-+ NTSTATUS status;
-+ union smb_notify notify;
-+ union smb_open io;
-+ struct smb2_handle h1 = {{0}};
-+ struct smb2_request *req;
-+
-+ smb2_deltree(tree, BASEDIR_HPERM);
-+ smb2_util_rmdir(tree, BASEDIR_HPERM);
-+
-+ torture_comment(torture,
-+ "TESTING CHANGE NOTIFY "
-+ "ON A HANDLE WITHOUT PERMISSIONS\n");
-+
-+ /*
-+ get a handle on the directory
-+ */
-+ ZERO_STRUCT(io.smb2);
-+ io.generic.level = RAW_OPEN_SMB2;
-+ io.smb2.in.create_flags = 0;
-+ io.smb2.in.desired_access = SEC_FILE_READ_ATTRIBUTE;
-+ io.smb2.in.create_options = NTCREATEX_OPTIONS_DIRECTORY;
-+ io.smb2.in.file_attributes = FILE_ATTRIBUTE_NORMAL;
-+ io.smb2.in.share_access = NTCREATEX_SHARE_ACCESS_READ |
-+ NTCREATEX_SHARE_ACCESS_WRITE;
-+ io.smb2.in.alloc_size = 0;
-+ io.smb2.in.create_disposition = NTCREATEX_DISP_CREATE;
-+ io.smb2.in.impersonation_level = SMB2_IMPERSONATION_ANONYMOUS;
-+ io.smb2.in.security_flags = 0;
-+ io.smb2.in.fname = BASEDIR_HPERM;
-+
-+ status = smb2_create(tree, torture, &io.smb2);
-+ CHECK_STATUS(status, NT_STATUS_OK);
-+ h1 = io.smb2.out.file.handle;
-+
-+ /* ask for a change notify,
-+ on file or directory name changes */
-+ ZERO_STRUCT(notify.smb2);
-+ notify.smb2.level = RAW_NOTIFY_SMB2;
-+ notify.smb2.in.buffer_size = 1000;
-+ notify.smb2.in.completion_filter = FILE_NOTIFY_CHANGE_NAME;
-+ notify.smb2.in.file.handle = h1;
-+ notify.smb2.in.recursive = true;
-+
-+ req = smb2_notify_send(tree, &notify.smb2);
-+ torture_assert_goto(torture,
-+ req != NULL,
-+ ret,
-+ done,
-+ "smb2_notify_send failed\n");
-+
-+ /*
-+ * Cancel it, we don't really want to wait.
-+ */
-+ smb2_cancel(req);
-+ status = smb2_notify_recv(req, torture, &notify.smb2);
-+ /* Handle h1 doesn't have permissions for ChangeNotify. */
-+ CHECK_STATUS(status, NT_STATUS_ACCESS_DENIED);
-+
-+done:
-+ if (!smb2_util_handle_empty(h1)) {
-+ smb2_util_close(tree, h1);
-+ }
-+ smb2_deltree(tree, BASEDIR_HPERM);
-+ return ret;
-+}
-+
- /*
- basic testing of SMB2 change notify
- */
-@@ -2602,7 +2679,10 @@ struct torture_suite *torture_smb2_notify_init(TALLOC_CTX *ctx)
- torture_smb2_notify_rmdir3);
- torture_suite_add_2smb2_test(suite, "rmdir4",
- torture_smb2_notify_rmdir4);
--
-+ torture_suite_add_1smb2_test(suite,
-+ "handle-permissions",
-+ torture_smb2_notify_handle_permissions);
-+
- suite->description = talloc_strdup(suite, "SMB2-NOTIFY tests");
-
- return suite;
---
-2.25.1
-
diff --git a/meta-networking/recipes-connectivity/samba/samba/CVE-2020-14383.patch b/meta-networking/recipes-connectivity/samba/samba/CVE-2020-14383.patch
deleted file mode 100644
index 3341b80a38..0000000000
--- a/meta-networking/recipes-connectivity/samba/samba/CVE-2020-14383.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From ff17443fe761eda864d13957bec45f5bac478fe3 Mon Sep 17 00:00:00 2001
-From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
-Date: Fri, 11 Dec 2020 14:34:31 +0900
-Subject: [PATCH] CVE-2020-14383: s4/dns: Ensure variable initialization with
- NULL. do not crash when additional data not found
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Found by Francis Brosnan Blázquez <francis@aspl.es>.
-Based on patches from Francis Brosnan Blázquez <francis@aspl.es>
-and Jeremy Allison <jra@samba.org>
-
-BUG: https://bugzilla.samba.org/show_bug.cgi?id=14472
-BUG: https://bugzilla.samba.org/show_bug.cgi?id=12795
-
-Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
-Reviewed-by: Jeremy Allison <jra@samba.org>
-
-Autobuild-User(master): Douglas Bagnall <dbagnall@samba.org>
-Autobuild-Date(master): Mon Aug 24 00:21:41 UTC 2020 on sn-devel-184
-
-(based on commit df98e7db04c901259dd089e20cd557bdbdeaf379)
-(based on commit 7afe449e7201be92bed8e53cbb37b74af720ef4e
-
-Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
----
- .../rpc_server/dnsserver/dcerpc_dnsserver.c | 31 ++++++++++---------
- 1 file changed, 17 insertions(+), 14 deletions(-)
-
-diff --git a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
-index 910de9a1..618c7096 100644
---- a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
-+++ b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
-@@ -1754,15 +1754,17 @@ static WERROR dnsserver_enumerate_records(struct dnsserver_state *dsstate,
- TALLOC_CTX *tmp_ctx;
- char *name;
- const char * const attrs[] = { "name", "dnsRecord", NULL };
-- struct ldb_result *res;
-- struct DNS_RPC_RECORDS_ARRAY *recs;
-+ struct ldb_result *res = NULL;
-+ struct DNS_RPC_RECORDS_ARRAY *recs = NULL;
- char **add_names = NULL;
-- char *rname;
-+ char *rname = NULL;
- const char *preference_name = NULL;
- int add_count = 0;
- int i, ret, len;
- WERROR status;
-- struct dns_tree *tree, *base, *node;
-+ struct dns_tree *tree = NULL;
-+ struct dns_tree *base = NULL;
-+ struct dns_tree *node = NULL;
-
- tmp_ctx = talloc_new(mem_ctx);
- W_ERROR_HAVE_NO_MEMORY(tmp_ctx);
-@@ -1845,15 +1847,15 @@ static WERROR dnsserver_enumerate_records(struct dnsserver_state *dsstate,
- }
- }
-
-- talloc_free(res);
-- talloc_free(tree);
-- talloc_free(name);
-+ TALLOC_FREE(res);
-+ TALLOC_FREE(tree);
-+ TALLOC_FREE(name);
-
- /* Add any additional records */
- if (select_flag & DNS_RPC_VIEW_ADDITIONAL_DATA) {
- for (i=0; i<add_count; i++) {
-- struct dnsserver_zone *z2;
--
-+ struct dnsserver_zone *z2 = NULL;
-+ struct ldb_message *msg = NULL;
- /* Search all the available zones for additional name */
- for (z2 = dsstate->zones; z2; z2 = z2->next) {
- char *encoded_name;
-@@ -1865,14 +1867,15 @@ static WERROR dnsserver_enumerate_records(struct dnsserver_state *dsstate,
- LDB_SCOPE_ONELEVEL, attrs,
- "(&(objectClass=dnsNode)(name=%s)(!(dNSTombstoned=TRUE)))",
- encoded_name);
-- talloc_free(name);
-+ TALLOC_FREE(name);
- if (ret != LDB_SUCCESS) {
- continue;
- }
- if (res->count == 1) {
-+ msg = res->msgs[0];
- break;
- } else {
-- talloc_free(res);
-+ TALLOC_FREE(res);
- continue;
- }
- }
-@@ -1885,10 +1888,10 @@ static WERROR dnsserver_enumerate_records(struct dnsserver_state *dsstate,
- }
- status = dns_fill_records_array(tmp_ctx, NULL, DNS_TYPE_A,
- select_flag, rname,
-- res->msgs[0], 0, recs,
-+ msg, 0, recs,
- NULL, NULL);
-- talloc_free(rname);
-- talloc_free(res);
-+ TALLOC_FREE(rname);
-+ TALLOC_FREE(res);
- }
- }
-
---
-2.25.1
-
diff --git a/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch b/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
deleted file mode 100644
index d07ec0df18..0000000000
--- a/meta-networking/recipes-connectivity/samba/samba/glibc_only.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 062cf74b498c1d12fd76f9d9bca926ac806e0b99 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Thu, 20 Jun 2019 14:15:18 +0800
-Subject: [PATCH] glibc only fix
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- ctdb/tests/src/test_mutex_raw.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/ctdb/tests/src/test_mutex_raw.c b/ctdb/tests/src/test_mutex_raw.c
-index 926a525..814343f 100644
---- a/ctdb/tests/src/test_mutex_raw.c
-+++ b/ctdb/tests/src/test_mutex_raw.c
-@@ -291,8 +291,10 @@ int main(int argc, const char **argv)
- "failed\n");
- exit (EXIT_FAILURE);
- }
-+#ifdef __GLIBC__
- } else if (ret == EBUSY) {
- printf("INFO: pid=%u\n", mutex->__data.__owner);
-+#endif
- } else if (ret == 0) {
- pthread_mutex_unlock(mutex);
- }
---
-2.7.4
-
diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch b/meta-networking/recipes-connectivity/samba/samba/samba-fix-musl-lib-without-innetgr.patch
index fb12a10e26..fb12a10e26 100644
--- a/meta-networking/recipes-connectivity/samba/samba/0001-samba-fix-musl-lib-without-innetgr.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/samba-fix-musl-lib-without-innetgr.patch
diff --git a/meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch b/meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch
deleted file mode 100644
index 6ae292835b..0000000000
--- a/meta-networking/recipes-connectivity/samba/samba/smb_conf-4.7.0.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f99b6a8617df6a46f41fb68ffafb2608dbb6681e Mon Sep 17 00:00:00 2001
-From: Joe Slater <joe.slater@windriver.com>
-Date: Wed, 8 Nov 2017 11:58:05 -0800
-Subject: [PATCH] samba: correct log files location
-
-We use /var/log/samba.
-
-Upstream-Status: Pending
-
-Signed-off-by: Joe Slater <joe.slater@windriver.com>
-
----
- examples/smb.conf.default | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/examples/smb.conf.default b/examples/smb.conf.default
-index 2f20720..44c1aa8 100644
---- a/examples/smb.conf.default
-+++ b/examples/smb.conf.default
-@@ -52,7 +52,7 @@
-
- # this tells Samba to use a separate log file for each machine
- # that connects
-- log file = /usr/local/samba/var/log.%m
-+ log file = /var/log/samba/log.%m
-
- # Put a capping on the size of the log files (in Kb).
- max log size = 50
diff --git a/meta-networking/recipes-connectivity/samba/samba/source3-wscript-disable-check-fcntl-RW_HINTS.patch b/meta-networking/recipes-connectivity/samba/samba/source3-wscript-disable-check-fcntl-RW_HINTS.patch
new file mode 100644
index 0000000000..a0b7510346
--- /dev/null
+++ b/meta-networking/recipes-connectivity/samba/samba/source3-wscript-disable-check-fcntl-RW_HINTS.patch
@@ -0,0 +1,92 @@
+From 9942bca2e276c7b4c7696a08594258430c4c5bb5 Mon Sep 17 00:00:00 2001
+From: Yi Zhao <yi.zhao@windriver.com>
+Date: Thu, 3 Jun 2021 09:39:56 +0800
+Subject: [PATCH] source3/wscript: disable check fcntl RW_HINTS
+
+It fails on cross-compilation for musl.
+
+Fixes configure error:
+ Checking whether fcntl supports setting/geting hints: UNKNOWN
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+---
+ source3/wscript | 61 -------------------------------------------------
+ 1 file changed, 61 deletions(-)
+
+diff --git a/source3/wscript b/source3/wscript
+index f6de0a6..3e260c1 100644
+--- a/source3/wscript
++++ b/source3/wscript
+@@ -1164,67 +1164,6 @@ err:
+ execute=True,
+ msg="Checking whether fcntl lock supports open file description locks")
+
+- conf.CHECK_CODE('''
+-#include <fcntl.h>
+-#include <unistd.h>
+-#include <stdlib.h>
+-#include <stdint.h>
+-
+-#define DATA "hinttest.fcntl"
+-
+-int main(void)
+-{
+- uint64_t hint, get_hint;
+- int fd;
+-
+- fd = open(DATA, O_RDONLY | O_CREAT | O_EXCL);
+- if (fd == -1) {
+- goto err;
+- }
+-
+- hint = RWH_WRITE_LIFE_SHORT;
+- int ret = fcntl(fd, F_SET_RW_HINT, &hint);
+- if (ret == -1) {
+- goto err;
+- }
+-
+- ret = fcntl(fd, F_GET_RW_HINT, &get_hint);
+- if (ret == -1) {
+- goto err;
+- }
+-
+- if (get_hint != RWH_WRITE_LIFE_SHORT) {
+- goto err;
+- }
+-
+- hint = RWH_WRITE_LIFE_EXTREME;
+- ret = fcntl(fd, F_SET_FILE_RW_HINT, &hint);
+- if (ret == -1) {
+- goto err;
+- }
+-
+- ret = fcntl(fd, F_GET_FILE_RW_HINT, &get_hint);
+- if (ret == -1) {
+- goto err;
+- }
+-
+- if (get_hint != RWH_WRITE_LIFE_EXTREME) {
+- goto err;
+- }
+-
+- close(fd);
+- unlink(DATA);
+- exit(0);
+-err:
+- close(fd);
+- unlink(DATA);
+- exit(1);
+-}''',
+- 'HAVE_RW_HINTS',
+- addmain=False,
+- execute=True,
+- msg="Checking whether fcntl supports setting/geting hints")
+-
+ conf.CHECK_STRUCTURE_MEMBER('struct stat', 'st_mtim.tv_nsec',
+ define='HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC') # Linux, Solaris
+ conf.CHECK_STRUCTURE_MEMBER('struct stat', 'st_mtimensec',
+--
+2.17.1
+
diff --git a/meta-networking/recipes-connectivity/samba/samba_4.10.18.bb b/meta-networking/recipes-connectivity/samba/samba_4.14.4.bb
index 166bf57279..2e0bdceab2 100644
--- a/meta-networking/recipes-connectivity/samba/samba_4.10.18.bb
+++ b/meta-networking/recipes-connectivity/samba/samba_4.14.4.bb
@@ -14,40 +14,36 @@ ${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \
SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
file://smb.conf \
- file://16-do-not-check-xsltproc-manpages.patch \
- file://20-do-not-import-target-module-while-cross-compile.patch \
- file://21-add-config-option-without-valgrind.patch \
- file://netdb_defines.patch \
- file://glibc_only.patch \
- file://iconv-4.7.0.patch \
- file://dnsserver-4.7.0.patch \
- file://smb_conf-4.7.0.patch \
file://volatiles.03_samba \
- file://0001-waf-add-support-of-cross_compile.patch \
- file://0001-lib-replace-wscript-Avoid-generating-nested-main-fun.patch \
- file://0002-util_sec.c-Move-__thread-variable-to-global-scope.patch \
- file://0001-Add-options-to-configure-the-use-of-libbsd.patch \
- file://0001-nsswitch-nsstest.c-Avoid-nss-function-conflicts-with.patch \
- file://CVE-2020-14318.patch \
- file://CVE-2020-14383.patch \
+ file://0001-Don-t-check-xsltproc-manpages.patch \
+ file://0002-do-not-import-target-module-while-cross-compile.patch \
+ file://0003-Add-config-option-without-valgrind.patch \
+ file://0004-Add-options-to-configure-the-use-of-libbsd.patch \
+ file://0005-samba-build-dnsserver_common-code.patch \
+ file://0006-samba-defeat-iconv-test.patch \
+ file://0007-wscript_configure_system_gnutls-disable-check-gnutls.patch \
+ file://0008-source3-wscript-disable-check-fcntl-F_OWNER_EX.patch \
"
+
SRC_URI_append_libc-musl = " \
+ file://netdb_defines.patch \
file://samba-pam.patch \
file://samba-4.3.9-remove-getpwent_r.patch \
file://cmocka-uintptr_t.patch \
- file://0001-samba-fix-musl-lib-without-innetgr.patch \
- "
+ file://samba-fix-musl-lib-without-innetgr.patch \
+ file://source3-wscript-disable-check-fcntl-RW_HINTS.patch \
+ "
-SRC_URI[md5sum] = "f006a3d1876113e4a049015969d20fe6"
-SRC_URI[sha256sum] = "7dcfc2aaaac565b959068788e6a43fc79ce2a03e7d523f5843f7a9fddffc7c2c"
+SRC_URI[md5sum] = "171629ad42b4b303107e8b0fff942a1f"
+SRC_URI[sha256sum] = "89af092a0b00f5354ed287f0aa37b8c2cf9ba2ce67ea6464192e2c18528f89b9"
-UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.10(\.\d+)+).tar.gz"
+UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.14(\.\d+)+).tar.gz"
inherit systemd waf-samba cpan-base perlnative update-rc.d
# remove default added RDEPENDS on perl
RDEPENDS_${PN}_remove = "perl"
-DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libaio libpam libtasn1 jansson"
+DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libaio libpam libtasn1 jansson libparse-yapp-perl-native gnutls"
inherit features_check
REQUIRED_DISTRO_FEATURES = "pam"
@@ -56,6 +52,8 @@ DEPENDS_append_libc-musl = " libtirpc"
CFLAGS_append_libc-musl = " -I${STAGING_INCDIR}/tirpc"
LDFLAGS_append_libc-musl = " -ltirpc"
+COMPATIBLE_HOST_riscv32 = "null"
+
INITSCRIPT_NAME = "samba"
INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
@@ -76,7 +74,7 @@ export WAF_NO_PREFORK="yes"
# Use krb5. Build active domain controller.
#
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd zeroconf', d)} \
- acl cups ad-dc gnutls ldap mitkrb5 \
+ acl cups ad-dc ldap mitkrb5 \
"
RDEPENDS_${PN}-ctdb-tests += "bash util-linux-getopt"
@@ -96,19 +94,7 @@ PACKAGECONFIG[libunwind] = ", , libunwind"
PACKAGECONFIG[gpgme] = ",--without-gpgme,,"
PACKAGECONFIG[lmdb] = ",--without-ldb-lmdb,lmdb,"
PACKAGECONFIG[libbsd] = "--with-libbsd, --without-libbsd, libbsd"
-
-# Building the AD (Active Directory) DC (Domain Controller) requires GnuTLS,
-# And ad-dc doesn't work with mitkrb5 for versions prior to 4.7.0 according to:
-# http://samba.2283325.n4.nabble.com/samba-4-6-6-Unknown-dependency-kdc-in-service-kdc-objlist-td4722096.html
-# So the working combination is:
-# 1) ad-dc: enable, gnutls: enable, mitkrb5: disable
-# 2) ad-dc: disable, gnutls: enable/disable, mitkrb5: enable
-#
-# We are now at 4.7.0, so take the above with a grain of salt. We do not need to know where
-# krb5kdc is unless ad-dc is enabled, but we tell configure anyhow.
-#
-PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,,"
-PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls,"
+PACKAGECONFIG[ad-dc] = "--with-experimental-mit-ad-dc,--without-ad-dc,python3-markdown python3-dnspython,"
PACKAGECONFIG[mitkrb5] = "--with-system-mitkrb5 --with-system-mitkdc=/usr/sbin/krb5kdc,,krb5,"
SAMBA4_IDMAP_MODULES="idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2"
@@ -182,11 +168,11 @@ do_install_append() {
install -m644 packaging/systemd/samba.sysconfig ${D}${sysconfdir}/default/samba
# the items are from ctdb/tests/run_tests.sh
- for d in onnode takeover tool eventscripts cunit simple complex; do
- testdir=${D}${datadir}/ctdb-tests/$d
+ for d in cunit eventd eventscripts onnode shellcheck takeover takeover_helper tool; do
+ testdir=${D}${datadir}/ctdb-tests/UNIT/$d
install -d $testdir
- cp ${S}/ctdb/tests/$d/*.sh $testdir
- cp -r ${S}/ctdb/tests/$d/scripts ${S}/ctdb/tests/$d/stubs $testdir || true
+ cp ${S}/ctdb/tests/UNIT/$d/*.sh $testdir
+ cp -r ${S}/ctdb/tests/UNIT/$d/scripts ${S}/ctdb/tests/UNIT/$d/stubs $testdir || true
done
# fix file-rdeps qa warning
@@ -197,7 +183,7 @@ do_install_append() {
chmod 0750 ${D}${sysconfdir}/sudoers.d || true
rm -rf ${D}/run ${D}${localstatedir}/run ${D}${localstatedir}/log
- for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate; do
+ for f in samba-gpupdate samba_upgradedns samba_spnupdate samba_kcc samba_dnsupdate samba_downgrade_db; do
if [ -f "${D}${sbindir}/$f" ]; then
sed -i -e 's,${PYTHON},/usr/bin/env python3,g' ${D}${sbindir}/$f
fi