deleted file mode 100644
@@ -1,91 +0,0 @@
-From fba2c1dfb3b1f474a78e2613f150a9efc6d9b6c2 Mon Sep 17 00:00:00 2001
-From: Andreas Schneider <asn@samba.org>
-Date: Thu, 16 Oct 2025 11:06:56 +0200
-Subject: [PATCH 1/4] lib:replace: Implement memset_explicit()
-
-The memset_s() implementation is a bit obscure, as it requires a
-constraint handler to be set up. You don't really find any
-implmentations out there.
-
-With C23 memset_explicit() was added and this has been implemented
-for glibc 2.43 and also in FreeBSD.
-
-See https://sourceware.org/bugzilla/show_bug.cgi?id=32378
-See https://reviews.freebsd.org/D47286
-
-Upstream-Status: Backport [https://gitlab.com/samba-team/samba/-/commit/ef08be24e9114b4477cc2b3f7a28a816ec66802c]
-Signed-off-by: Andreas Schneider <asn@samba.org>
-Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/replace/README | 1 +
- lib/replace/replace.c | 13 +++++++++++++
- lib/replace/replace.h | 5 +++++
- lib/replace/wscript | 2 +-
- 4 files changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/lib/replace/README b/lib/replace/README
-index 6612eab..bb9d008 100644
---- a/lib/replace/README
-+++ b/lib/replace/README
-@@ -73,6 +73,7 @@ symlink
- realpath
- poll
- setproctitle
-+memset_explicit
- memset_s
-
- Types:
-diff --git a/lib/replace/replace.c b/lib/replace/replace.c
-index 68829f2..8615899 100644
---- a/lib/replace/replace.c
-+++ b/lib/replace/replace.c
-@@ -952,6 +952,19 @@ void rep_setproctitle_init(int argc, char *argv[], char *envp[])
- }
- #endif
-
-+#ifndef HAVE_MEMSET_EXPLICIT
-+void *rep_memset_explicit(void *block, int c, size_t size)
-+{
-+ void *ptr = memset(block, c, size);
-+#ifdef HAVE_GCC_VOLATILE_MEMORY_PROTECTION
-+ /* See http://llvm.org/bugs/show_bug.cgi?id=15495 */
-+ __asm__ volatile("" : : "g"(block) : "memory");
-+#endif /* HAVE_GCC_VOLATILE_MEMORY_PROTECTION */
-+
-+ return ptr;
-+}
-+#endif
-+
- #ifndef HAVE_MEMSET_S
- # ifndef RSIZE_MAX
- # define RSIZE_MAX (SIZE_MAX >> 1)
-diff --git a/lib/replace/replace.h b/lib/replace/replace.h
-index 25e6e14..1a8336d 100644
---- a/lib/replace/replace.h
-+++ b/lib/replace/replace.h
-@@ -994,6 +994,11 @@ void rep_setproctitle(const char *fmt, ...) PRINTF_ATTRIBUTE(1, 2);
- void rep_setproctitle_init(int argc, char *argv[], char *envp[]);
- #endif
-
-+#ifndef HAVE_MEMSET_EXPLICIT
-+#define memset_explicit rep_memset_explicit
-+void *rep_memset_explicit(void *block, int c, size_t size);
-+#endif
-+
- #ifndef HAVE_MEMSET_S
- #define memset_s rep_memset_s
- int rep_memset_s(void *dest, size_t destsz, int ch, size_t count);
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index a22ae59..574740a 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -881,7 +881,7 @@ REPLACEMENT_FUNCTIONS = {
- 'utime', 'utimes', 'dup2', 'chown', 'link', 'readlink',
- 'symlink', 'lchown', 'realpath', 'memmem', 'vdprintf',
- 'dprintf', 'get_current_dir_name', 'copy_file_range',
-- 'strerror_r', 'clock_gettime', 'memset_s'],
-+ 'strerror_r', 'clock_gettime', 'memset_explicit', 'memset_s'],
- 'timegm.c': ['timegm'],
- # Note: C99_VSNPRINTF is not a function, but a special condition
- # for replacement
deleted file mode 100644
@@ -1,154 +0,0 @@
-From ac2ee18b081483430b42c2cf35e423634aebbeb8 Mon Sep 17 00:00:00 2001
-From: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
-Date: Thu, 30 Oct 2025 16:01:36 +0100
-Subject: [PATCH 2/4] lib:replace: Add test for memset_explicit()
-
-Upstream-Status: Backport [https://gitlab.com/samba-team/samba/-/commit/2b17c9816d4373eba365de803eec10435ea038d4]
-Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
-Reviewed-by: Andreas Schneider <asn@samba.org>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/replace/tests/test_memset_explicit.c | 99 ++++++++++++++++++++++++
- lib/replace/wscript | 5 ++
- selftest/tests.py | 6 ++
- 3 files changed, 110 insertions(+)
- create mode 100644 lib/replace/tests/test_memset_explicit.c
-
-diff --git a/lib/replace/tests/test_memset_explicit.c b/lib/replace/tests/test_memset_explicit.c
-new file mode 100644
-index 0000000..4e56d7a
---- /dev/null
-+++ b/lib/replace/tests/test_memset_explicit.c
-@@ -0,0 +1,99 @@
-+#include <stdarg.h>
-+#include <stddef.h>
-+#include <stdint.h>
-+#include <setjmp.h>
-+#include <cmocka.h>
-+
-+#include "lib/replace/replace.h"
-+
-+
-+/*
-+ * To check that a memset_explicit string is being memset when it
-+ * appears unused, we meed to be sneaky in our check -- otherwise the
-+ * check counts as a use.
-+ *
-+ * We are sneaky by using a function that seens to take an int
-+ * argument which is really a pointer, and we hide that it is a
-+ * pointer by masking it.
-+ *
-+ * For these tests we don't use talloc because the talloc magic gets
-+ * in the way a little bit.
-+ */
-+
-+#define MASK 0x12345678
-+
-+__attribute__((noinline))
-+static void check_memset_explicit(intmax_t p, const char *expected, size_t len)
-+{
-+ size_t i;
-+ char *secret = (char *) (p ^ MASK);
-+ for (i = 0; i < len; i++) {
-+ assert_int_equal(secret[i], expected[i]);
-+ }
-+}
-+
-+
-+__attribute__((noinline))
-+static char *get_secret(off_t offset)
-+{
-+ char * secret = malloc(7 + offset);
-+ memset(secret, 0, 7 + offset);
-+ memcpy(secret + offset, "secret", 7);
-+ /* avoiding *this* being elided */
-+ print_message("secret is '%s'\n", secret);
-+ asm("");
-+ return secret;
-+}
-+
-+
-+static void test_memset_explicit(void ** state)
-+{
-+ uintptr_t p;
-+ char zeros[7] = {0};
-+ char *secret = get_secret(0);
-+ p = ((uintptr_t)secret) ^ MASK;
-+ memset_explicit(secret, 'o', 3);
-+ check_memset_explicit(p, "oooret", 7);
-+ memset_explicit(secret, 0, 7);
-+ check_memset_explicit(p, zeros, 7);
-+ free(secret);
-+}
-+
-+static void test_memset_explicit_double_alloc(void ** state)
-+{
-+ size_t i, found;
-+ uintptr_t p, q;
-+ char *secret = get_secret(20);
-+ p = (uintptr_t)secret ^ MASK;
-+ memset_explicit(secret, 'x', 23);
-+ free(secret);
-+ /*
-+ * Now we malloc the same size again, and hope we got the
-+ * block we just freed.
-+ */
-+ found = 0;
-+ for (i = 0; i < 1000; i++) {
-+ secret = malloc(27);
-+ q = (uintptr_t)secret ^ MASK;
-+ if (q == p) {
-+ q = (uintptr_t)(secret + 20) ^ MASK;
-+ check_memset_explicit(q, "xxxret", 7);
-+ found ++;
-+ }
-+ free(secret);
-+ }
-+ print_message("found freed pointer %zu/1000 times \n",
-+ found);
-+}
-+
-+int main(void)
-+{
-+ const struct CMUnitTest tests[] = {
-+ cmocka_unit_test(test_memset_explicit),
-+ cmocka_unit_test(test_memset_explicit_double_alloc),
-+ };
-+ if (! isatty(1)) {
-+ cmocka_set_message_output(CM_OUTPUT_SUBUNIT);
-+ }
-+ return cmocka_run_group_tests(tests, NULL, NULL);
-+}
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index 574740a..9acebd3 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -964,6 +964,11 @@ def build(bld):
- deps='replace replace-test',
- install=False)
-
-+ bld.SAMBA_BINARY('test_memset_explicit',
-+ source='tests/test_memset_explicit.c',
-+ deps='cmocka replace',
-+ for_selftest=True)
-+
- # build replacements for stdint.h and stdbool.h if needed
- bld.SAMBA_GENERATOR('replace_stdint_h',
- rule='cp ${SRC} ${TGT}',
-diff --git a/selftest/tests.py b/selftest/tests.py
-index deb3c0b..3131905 100644
---- a/selftest/tests.py
-+++ b/selftest/tests.py
-@@ -414,6 +414,12 @@ plantestsuite("samba.unittests.smb1cli_session", "none",
- plantestsuite("samba.unittests.smb_util_translate", "none",
- [os.path.join(bindir(), "default/libcli/smb/test_util_translate")])
-
-+plantestsuite(
-+ "samba.unittests.memset_explicit",
-+ "none",
-+ [os.path.join(bindir(), "default/lib/replace/test_memset_explicit")],
-+)
-+
- plantestsuite("samba.unittests.talloc_keep_secret", "none",
- [os.path.join(bindir(), "default/lib/util/test_talloc_keep_secret")])
-
@@ -12,16 +12,19 @@ Signed-off-by: Changqing Li <changqing.li@windriver.com>
Rebase to 4.19.3
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
+
+Rebase to 4.25.1
+Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
---
lib/replace/wscript | 5 +++--
wscript | 7 +++++++
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/lib/replace/wscript b/lib/replace/wscript
-index 37d7759..9dd9b48 100644
+index be2a6ae..afbe16e 100644
--- a/lib/replace/wscript
+++ b/lib/replace/wscript
-@@ -113,8 +113,9 @@ def configure(conf):
+@@ -134,8 +134,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')
@@ -34,13 +37,13 @@ index 37d7759..9dd9b48 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 95ddd9e..6d9577a 100644
+index 5a98b6d..57b391f 100644
--- a/wscript
+++ b/wscript
-@@ -131,6 +131,13 @@
- help=('Disable kernely keyring support for credential storage'),
+@@ -131,6 +131,13 @@ def options(opt):
+ help=('Disable kernel keyring support for credential storage'),
action='store_false', dest='enable_keyring')
-
+
+ opt.add_option('--with-valgrind',
+ help=("Enable use of valgrind"),
+ action="store_true", dest='enable_valgrind')
@@ -49,5 +52,5 @@ index 95ddd9e..6d9577a 100644
+ action="store_false", dest='enable_valgrind', default=False)
+
opt.samba_add_onoff_option('ldap')
-
+
opt.option_group('developer options')
deleted file mode 100644
@@ -1,195 +0,0 @@
-From 8174382fe7a278309fc98b6e11ff99b6f41a8719 Mon Sep 17 00:00:00 2001
-From: Andreas Schneider <asn@samba.org>
-Date: Thu, 16 Oct 2025 11:19:51 +0200
-Subject: [PATCH 3/4] Replace memset_s() with memset_explicit()
-
-Upstream-Status: Backport [https://gitlab.com/samba-team/samba/-/commit/3e81b73a050e511c658afc786478431ceef175ee]
-Signed-off-by: Andreas Schneider <asn@samba.org>
-Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/replace/replace.h | 18 +++++++++---------
- lib/util/memory.h | 16 +++++++++-------
- lib/util/tests/test_talloc_keep_secret.c | 19 ++++++++-----------
- 3 files changed, 26 insertions(+), 27 deletions(-)
-
---- a/lib/replace/replace.h
-+++ b/lib/replace/replace.h
-@@ -811,50 +811,50 @@ typedef unsigned long long ptrdiff_t ;
- /**
- * Zero a structure.
- */
--#define ZERO_STRUCT(x) memset_s((char *)&(x), sizeof(x), 0, sizeof(x))
-+#define ZERO_STRUCT(x) memset_explicit((char *)&(x), 0, sizeof(x))
-
- /**
- * Zero a structure given a pointer to the structure.
- */
- #define ZERO_STRUCTP(x) do { \
- if ((x) != NULL) { \
-- memset_s((char *)(x), sizeof(*(x)), 0, sizeof(*(x))); \
-+ memset_explicit((char *)(x), 0, sizeof(*(x))); \
- } \
- } while(0)
-
- /**
- * Zero a structure given a pointer to the structure - no zero check
- */
--#define ZERO_STRUCTPN(x) memset_s((char *)(x), sizeof(*(x)), 0, sizeof(*(x)))
-+#define ZERO_STRUCTPN(x) memset_explicit((char *)(x), 0, sizeof(*(x)))
-
- /**
- * Zero an array - note that sizeof(array) must work - ie. it must not be a
- * pointer
- */
--#define ZERO_ARRAY(x) memset_s((char *)(x), sizeof(x), 0, sizeof(x))
-+#define ZERO_ARRAY(x) memset_explicit((char *)(x), 0, sizeof(x))
-
- /**
- * Zero a given len of an array
- */
--#define ZERO_ARRAY_LEN(x, l) memset_s((char *)(x), (l), 0, (l))
-+#define ZERO_ARRAY_LEN(x, l) memset_explicit((char *)(x), 0, (l))
-
- /**
- * Explicitly zero data from memory. This is guaranteed to be not optimized
- * away.
- */
--#define BURN_DATA(x) memset_s((char *)&(x), sizeof(x), 0, sizeof(x))
-+#define BURN_DATA(x) memset_explicit((char *)&(x), 0, sizeof(x))
-
- /**
- * Explicitly zero data from memory. This is guaranteed to be not optimized
- * away.
- */
--#define BURN_DATA_SIZE(x, s) memset_s((char *)&(x), (s), 0, (s))
-+#define BURN_DATA_SIZE(x, s) memset_explicit((char *)&(x), 0, (s))
-
- /**
- * Explicitly zero data from memory. This is guaranteed to be not optimized
- * away.
- */
--#define BURN_PTR_SIZE(x, s) memset_s((x), (s), 0, (s))
-+#define BURN_PTR_SIZE(x, s) memset_explicit((x), 0, (s))
-
- /**
- * Explicitly zero data in string. This is guaranteed to be not optimized
-@@ -863,7 +863,7 @@ typedef unsigned long long ptrdiff_t ;
- #define BURN_STR(x) do { \
- if ((x) != NULL) { \
- size_t s = strlen(x); \
-- memset_s((x), s, 0, s); \
-+ memset_explicit((x), 0, s); \
- } \
- } while(0)
-
---- a/lib/util/memory.h
-+++ b/lib/util/memory.h
-@@ -40,7 +40,7 @@
- #define BURN_FREE_STR(x) do { \
- if ((x) != NULL) { \
- size_t s = strlen(x); \
-- memset_s((x), s, 0, s); \
-+ memset_explicit((x), 0, s); \
- free(x); (x) = NULL; \
- } \
- } while(0)
-@@ -53,7 +53,7 @@
- **/
- #define BURN_FREE(x, s) do { \
- if ((x) != NULL) { \
-- memset_s((x), (s), 0, (s)); \
-+ memset_explicit((x), 0, (s)); \
- free(x); (x) = NULL; \
- } \
- } while(0)
-@@ -78,7 +78,7 @@
- * Zero a structure.
- */
- #ifndef ZERO_STRUCT
--#define ZERO_STRUCT(x) memset_s((char *)&(x), sizeof(x), 0, sizeof(x))
-+#define ZERO_STRUCT(x) memset_explicit((char *)&(x), 0, sizeof(x))
- #endif
-
- /**
-@@ -87,7 +87,7 @@
- #ifndef ZERO_STRUCTP
- #define ZERO_STRUCTP(x) do { \
- if ((x) != NULL) { \
-- memset_s((char *)(x), sizeof(*(x)), 0, sizeof(*(x))); \
-+ memset_explicit((char *)(x), 0, sizeof(*(x))); \
- } \
- } while(0)
- #endif
-@@ -96,7 +96,7 @@
- * Zero a structure given a pointer to the structure - no zero check.
- */
- #ifndef ZERO_STRUCTPN
--#define ZERO_STRUCTPN(x) memset_s((char *)(x), sizeof(*(x)), 0, sizeof(*(x)))
-+#define ZERO_STRUCTPN(x) memset_explicit((char *)(x), 0, sizeof(*(x)))
- #endif
-
- /**
-@@ -104,13 +104,15 @@
- * pointer.
- */
- #ifndef ZERO_ARRAY
--#define ZERO_ARRAY(x) memset_s((char *)(x), sizeof(x), 0, sizeof(x))
-+#define ZERO_ARRAY(x) memset_explicit((char *)(x), 0, sizeof(x))
- #endif
-
- /**
- * Zero a given len of an array
- */
--#define ZERO_ARRAY_LEN(x, l) memset_s((char *)(x), (l), 0, (l))
-+#ifndef ZERO_ARRAY_LEN
-+#define ZERO_ARRAY_LEN(x, l) memset_explicit((char *)(x), 0, (l))
-+#endif
-
- /**
- * Work out how many elements there are in a static array
---- a/lib/util/tests/test_talloc_keep_secret.c
-+++ b/lib/util/tests/test_talloc_keep_secret.c
-@@ -8,12 +8,11 @@
- #include <talloc.h>
- #include "lib/util/talloc_keep_secret.h"
-
--int rep_memset_s(void *dest, size_t destsz, int ch, size_t count);
-+int rep_memset_explicit(void *dest, int ch, size_t count);
-
--int rep_memset_s(void *dest, size_t destsz, int ch, size_t count)
-+int rep_memset_explicit(void *dest, int ch, size_t count)
- {
- check_expected_ptr(dest);
-- check_expected(destsz);
- check_expected(ch);
- check_expected(count);
-
-@@ -44,10 +43,9 @@ static void test_talloc_keep_secret(void
- ptr1_size = talloc_get_size(ptr1);
- assert_int_equal(ptr1_size, strlen(ptr1) + 1);
-
-- expect_string(rep_memset_s, dest, "secret");
-- expect_value(rep_memset_s, destsz, strlen(ptr1) + 1);
-- expect_value(rep_memset_s, ch, (int)'\0');
-- expect_value(rep_memset_s, count, strlen(ptr1) + 1);
-+ expect_string(rep_memset_explicit, dest, "secret");
-+ expect_value(rep_memset_explicit, ch, (int)'\0');
-+ expect_value(rep_memset_explicit, count, strlen(ptr1) + 1);
-
- talloc_free(ptr1);
-
-@@ -73,10 +71,9 @@ static void test_talloc_keep_secret_vali
- assert_non_null(password);
- talloc_keep_secret(password);
-
-- expect_string(rep_memset_s, dest, "secret");
-- expect_value(rep_memset_s, destsz, strlen(password) + 1);
-- expect_value(rep_memset_s, ch, (int)'\0');
-- expect_value(rep_memset_s, count, strlen(password) + 1);
-+ expect_string(rep_memset_explicit, dest, "secret");
-+ expect_value(rep_memset_explicit, ch, (int)'\0');
-+ expect_value(rep_memset_explicit, count, strlen(password) + 1);
-
- talloc_free(mem_ctx);
- }
deleted file mode 100644
@@ -1,136 +0,0 @@
-From 06b9291b4a351c5d3a40f6c80ee11713840b1039 Mon Sep 17 00:00:00 2001
-From: Andreas Schneider <asn@samba.org>
-Date: Thu, 16 Oct 2025 11:22:46 +0200
-Subject: [PATCH 4/4] lib:replace: Remove memset_s()
-
-Upstream-Status: Backport [https://gitlab.com/samba-team/samba/-/commit/f3b380b8a3866286244725903287211cf54a4e74]
-Signed-off-by: Andreas Schneider <asn@samba.org>
-Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
-
-Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
-Autobuild-Date(master): Tue Nov 11 14:51:45 UTC 2025 on atb-devel-224
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- lib/replace/README | 1 -
- lib/replace/replace.c | 87 ++++++++-----------------
- lib/replace/replace.h | 5 --
- lib/replace/wscript | 2 +-
- third_party/heimdal_build/roken.h | 4 --
- third_party/heimdal_build/wscript_build | 5 ++
- 6 files changed, 34 insertions(+), 70 deletions(-)
-
-diff --git a/lib/replace/README b/lib/replace/README
-index bb9d008..d8431e7 100644
---- a/lib/replace/README
-+++ b/lib/replace/README
-@@ -73,7 +73,6 @@ realpath
- poll
- setproctitle
- memset_explicit
--memset_s
-
- Types:
- bool
-diff --git a/lib/replace/replace.c b/lib/replace/replace.c
-index 8615899..a419837 100644
---- a/lib/replace/replace.c
-+++ b/lib/replace/replace.c
-@@ -965,37 +965,6 @@
- }
- #endif
-
--#ifndef HAVE_MEMSET_S
--# ifndef RSIZE_MAX
--# define RSIZE_MAX (SIZE_MAX >> 1)
--# endif
--
--int rep_memset_s(void *dest, size_t destsz, int ch, size_t count)
--{
-- if (dest == NULL) {
-- return EINVAL;
-- }
--
-- if (destsz > RSIZE_MAX ||
-- count > RSIZE_MAX ||
-- count > destsz) {
-- return ERANGE;
-- }
--
--#if defined(HAVE_MEMSET_EXPLICIT)
-- memset_explicit(dest, ch, count);
--#else /* HAVE_MEMSET_EXPLICIT */
-- memset(dest, ch, count);
--# if defined(HAVE_GCC_VOLATILE_MEMORY_PROTECTION)
-- /* See http://llvm.org/bugs/show_bug.cgi?id=15495 */
-- __asm__ volatile("" : : "g"(dest) : "memory");
--# endif /* HAVE_GCC_VOLATILE_MEMORY_PROTECTION */
--#endif /* HAVE_MEMSET_EXPLICIT */
--
-- return 0;
--}
--#endif /* HAVE_MEMSET_S */
--
- #ifndef HAVE_GETPROGNAME
- # ifndef HAVE_PROGRAM_INVOCATION_SHORT_NAME
- # define PROGNAME_SIZE 32
-diff --git a/lib/replace/replace.h b/lib/replace/replace.h
-index 6b72c1f..24b2d8c 100644
---- a/lib/replace/replace.h
-+++ b/lib/replace/replace.h
-@@ -999,11 +999,6 @@ void rep_setproctitle_init(int argc, char *argv[], char *envp[]);
- void *rep_memset_explicit(void *block, int c, size_t size);
- #endif
-
--#ifndef HAVE_MEMSET_S
--#define memset_s rep_memset_s
--int rep_memset_s(void *dest, size_t destsz, int ch, size_t count);
--#endif
--
- #ifndef HAVE_GETPROGNAME
- #define getprogname rep_getprogname
- const char *rep_getprogname(void);
-diff --git a/lib/replace/wscript b/lib/replace/wscript
-index 9acebd3..faef185 100644
---- a/lib/replace/wscript
-+++ b/lib/replace/wscript
-@@ -881,7 +881,7 @@ REPLACEMENT_FUNCTIONS = {
- 'utime', 'utimes', 'dup2', 'chown', 'link', 'readlink',
- 'symlink', 'lchown', 'realpath', 'memmem', 'vdprintf',
- 'dprintf', 'get_current_dir_name', 'copy_file_range',
-- 'strerror_r', 'clock_gettime', 'memset_explicit', 'memset_s'],
-+ 'strerror_r', 'clock_gettime', 'memset_explicit'],
- 'timegm.c': ['timegm'],
- # Note: C99_VSNPRINTF is not a function, but a special condition
- # for replacement
-diff --git a/third_party/heimdal_build/roken.h b/third_party/heimdal_build/roken.h
-index 3870609..4740a3d 100644
---- a/third_party/heimdal_build/roken.h
-+++ b/third_party/heimdal_build/roken.h
-@@ -123,10 +123,6 @@
- #define HAVE_SETEUID
- #endif
-
--#ifndef HAVE_MEMSET_S
--#define HAVE_MEMSET_S
--#endif
--
- #ifndef HAVE_DIRFD
- #ifdef HAVE_DIR_DD_FD
- #define dirfd(x) ((x)->dd_fd)
-diff --git a/third_party/heimdal_build/wscript_build b/third_party/heimdal_build/wscript_build
-index 8aea52b..1988535 100644
---- a/third_party/heimdal_build/wscript_build
-+++ b/third_party/heimdal_build/wscript_build
-@@ -366,6 +366,11 @@ if not bld.CONFIG_SET('USING_SYSTEM_ROKEN'):
- lib/roken/getuserinfo.c
- '''
-
-+ if not bld.CONFIG_SET('HAVE_MEMSET_S'):
-+ ROKEN_SOURCE += '''
-+ lib/roken/memset_s.c
-+ '''
-+
- HEIMDAL_LIBRARY('roken',
- ROKEN_SOURCE,
- includes='../heimdal/lib/roken ../heimdal/include ../heimdal_build/include',
similarity index 97%
rename from meta-networking/recipes-connectivity/samba/samba_4.23.11.bb
rename to meta-networking/recipes-connectivity/samba/samba_4.25.1.bb
@@ -28,10 +28,6 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
file://0005-Fix-pyext_PATTERN-for-cross-compilation.patch \
file://0006-smbtorture-skip-test-case-tfork_cmd_send.patch \
file://0007-Deleted-settiong-of-python-to-fix-the-install-confli.patch \
- file://0001-lib-replace-Implement-memset_explicit.patch \
- file://0002-lib-replace-Add-test-for-memset_explicit.patch \
- file://0003-Replace-memset_s-with-memset_explicit.patch \
- file://0004-lib-replace-Remove-memset_s.patch \
"
SRC_URI:append:libc-musl = " \
@@ -39,7 +35,7 @@ SRC_URI:append:libc-musl = " \
file://samba-4.3.9-remove-getpwent_r.patch \
"
-SRC_URI[sha256sum] = "089fdeeaf83593d8f9a16847a86b6cad2fc90f7a893eb8d9d5f509bbecadc0d4"
+SRC_URI[sha256sum] = "7f367545bca69aa96897628f82f0f04d4b66b3bcb36cb978b9bb952c4b4c428d"
UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>\d+\.\d+(\.\d+)+).tar.gz"
Drop the memset_explicit backports, included in this release, and refresh 0003-Add-config-option-without-valgrind.patch. The bundled talloc, tevent and tdb versions are unchanged (2.5.0, 0.17.2, 1.4.15). AI-Generated: Uses Claude Code Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> --- ...ib-replace-Implement-memset_explicit.patch | 91 -------- ...replace-Add-test-for-memset_explicit.patch | 154 -------------- ...3-Add-config-option-without-valgrind.patch | 17 +- ...eplace-memset_s-with-memset_explicit.patch | 195 ------------------ .../0004-lib-replace-Remove-memset_s.patch | 136 ------------ .../{samba_4.23.11.bb => samba_4.25.1.bb} | 6 +- 6 files changed, 11 insertions(+), 588 deletions(-) delete mode 100644 meta-networking/recipes-connectivity/samba/samba/0001-lib-replace-Implement-memset_explicit.patch delete mode 100644 meta-networking/recipes-connectivity/samba/samba/0002-lib-replace-Add-test-for-memset_explicit.patch delete mode 100644 meta-networking/recipes-connectivity/samba/samba/0003-Replace-memset_s-with-memset_explicit.patch delete mode 100644 meta-networking/recipes-connectivity/samba/samba/0004-lib-replace-Remove-memset_s.patch rename meta-networking/recipes-connectivity/samba/{samba_4.23.11.bb => samba_4.25.1.bb} (97%)