summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch19
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch11
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0003-Replace-memset_s-with-memset_explicit.patch117
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0004-Add-options-to-configure-the-use-of-libbsd.patch50
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/0004-lib-replace-Remove-memset_s.patch217
-rw-r--r--meta-networking/recipes-connectivity/samba/samba/9aa5c43315d83c19514251a11c4fba5a137f2821.patch70
-rw-r--r--meta-networking/recipes-connectivity/samba/samba_4.23.5.bb (renamed from meta-networking/recipes-connectivity/samba/samba_4.19.9.bb)31
7 files changed, 74 insertions, 441 deletions
diff --git a/meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch b/meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch
index a498348c20..afa1154827 100644
--- a/meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/0001-Don-t-check-xsltproc-manpages.patch
@@ -9,25 +9,14 @@ Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
9 9
10Rebase to 4.14.4 10Rebase to 4.14.4
11Signed-off-by: Yi Zhao <yi.zhao@windriver.com> 11Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
12
13Rebase to 4.23.5
14Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
12--- 15---
13 lib/ldb/wscript | 2 +-
14 lib/talloc/wscript | 2 +- 16 lib/talloc/wscript | 2 +-
15 lib/tdb/wscript | 2 +- 17 lib/tdb/wscript | 2 +-
16 3 files changed, 3 insertions(+), 3 deletions(-) 18 2 files changed, 2 insertions(+), 2 deletions(-)
17 19
18diff --git a/lib/ldb/wscript b/lib/ldb/wscript
19index ed5d45f..de3c648 100644
20--- a/lib/ldb/wscript
21+++ b/lib/ldb/wscript
22@@ -144,7 +144,7 @@ def configure(conf):
23 conf.DEFINE('EXPECTED_SYSTEM_LDB_VERSION_RELEASE', int(v[2]))
24
25 if conf.env.standalone_ldb:
26- conf.CHECK_XSLTPROC_MANPAGES()
27+ #conf.CHECK_XSLTPROC_MANPAGES()
28
29 # we need this for the ldap backend
30 if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'):
31diff --git a/lib/talloc/wscript b/lib/talloc/wscript 20diff --git a/lib/talloc/wscript b/lib/talloc/wscript
32index 075f1ec..9bd9f73 100644 21index 075f1ec..9bd9f73 100644
33--- a/lib/talloc/wscript 22--- a/lib/talloc/wscript
diff --git a/meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch b/meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch
index 2c9d29c9fe..70e7f28cc7 100644
--- a/meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/0003-Add-config-option-without-valgrind.patch
@@ -37,10 +37,10 @@ diff --git a/wscript b/wscript
37index 95ddd9e..6d9577a 100644 37index 95ddd9e..6d9577a 100644
38--- a/wscript 38--- a/wscript
39+++ b/wscript 39+++ b/wscript
40@@ -123,6 +123,13 @@ def options(opt): 40@@ -131,6 +131,13 @@
41 help=('Disable kernely keyring support for credential storage'), 41 help=('Disable kernely keyring support for credential storage'),
42 action='store_false', dest='enable_keyring') 42 action='store_false', dest='enable_keyring')
43 43
44+ opt.add_option('--with-valgrind', 44+ opt.add_option('--with-valgrind',
45+ help=("Enable use of valgrind"), 45+ help=("Enable use of valgrind"),
46+ action="store_true", dest='enable_valgrind') 46+ action="store_true", dest='enable_valgrind')
@@ -48,9 +48,6 @@ index 95ddd9e..6d9577a 100644
48+ help=("Disable use of valgrind"), 48+ help=("Disable use of valgrind"),
49+ action="store_false", dest='enable_valgrind', default=False) 49+ action="store_false", dest='enable_valgrind', default=False)
50+ 50+
51 gr = opt.option_group('developer options') 51 opt.samba_add_onoff_option('ldap')
52
53 opt.load('python') # options for disabling pyc or pyo compilation
54--
552.25.1
56 52
53 opt.option_group('developer options')
diff --git a/meta-networking/recipes-connectivity/samba/samba/0003-Replace-memset_s-with-memset_explicit.patch b/meta-networking/recipes-connectivity/samba/samba/0003-Replace-memset_s-with-memset_explicit.patch
index a96cd062cd..74ea1a7ab4 100644
--- a/meta-networking/recipes-connectivity/samba/samba/0003-Replace-memset_s-with-memset_explicit.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/0003-Replace-memset_s-with-memset_explicit.patch
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
15 15
16--- a/lib/replace/replace.h 16--- a/lib/replace/replace.h
17+++ b/lib/replace/replace.h 17+++ b/lib/replace/replace.h
18@@ -815,50 +815,50 @@ typedef unsigned long long ptrdiff_t ; 18@@ -811,50 +811,50 @@ typedef unsigned long long ptrdiff_t ;
19 /** 19 /**
20 * Zero a structure. 20 * Zero a structure.
21 */ 21 */
@@ -74,7 +74,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
74 74
75 /** 75 /**
76 * Explicitly zero data in string. This is guaranteed to be not optimized 76 * Explicitly zero data in string. This is guaranteed to be not optimized
77@@ -867,7 +867,7 @@ typedef unsigned long long ptrdiff_t ; 77@@ -863,7 +863,7 @@ typedef unsigned long long ptrdiff_t ;
78 #define BURN_STR(x) do { \ 78 #define BURN_STR(x) do { \
79 if ((x) != NULL) { \ 79 if ((x) != NULL) { \
80 size_t s = strlen(x); \ 80 size_t s = strlen(x); \
@@ -193,116 +193,3 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
193 193
194 talloc_free(mem_ctx); 194 talloc_free(mem_ctx);
195 } 195 }
196--- a/lib/cmdline/cmdline.c
197+++ b/lib/cmdline/cmdline.c
198@@ -358,7 +358,7 @@ bool samba_cmdline_burn(int argc, char *
199 p += ulen;
200 }
201
202- memset_s(p, strlen(p), '\0', strlen(p));
203+ memset_explicit(p, '\0', strlen(p));
204 burnt = true;
205 }
206 }
207--- a/lib/util/data_blob.c
208+++ b/lib/util/data_blob.c
209@@ -1,19 +1,19 @@
210-/*
211+/*
212 Unix SMB/CIFS implementation.
213 Easy management of byte-length data
214 Copyright (C) Andrew Tridgell 2001
215 Copyright (C) Andrew Bartlett 2001
216-
217+
218 This program is free software; you can redistribute it and/or modify
219 it under the terms of the GNU General Public License as published by
220 the Free Software Foundation; either version 3 of the License, or
221 (at your option) any later version.
222-
223+
224 This program is distributed in the hope that it will be useful,
225 but WITHOUT ANY WARRANTY; without even the implied warranty of
226 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
227 GNU General Public License for more details.
228-
229+
230 You should have received a copy of the GNU General Public License
231 along with this program. If not, see <http://www.gnu.org/licenses/>.
232 */
233@@ -67,7 +67,7 @@ _PUBLIC_ DATA_BLOB data_blob_talloc_name
234 }
235
236 /**
237- construct a zero data blob, using supplied TALLOC_CTX.
238+ construct a zero data blob, using supplied TALLOC_CTX.
239 use this sparingly as it initialises data - better to initialise
240 yourself if you want specific data in the blob
241 **/
242@@ -95,7 +95,7 @@ clear a DATA_BLOB's contents
243 _PUBLIC_ void data_blob_clear(DATA_BLOB *d)
244 {
245 if (d->data) {
246- memset_s(d->data, d->length, 0, d->length);
247+ memset_explicit(d->data, 0, d->length);
248 }
249 }
250
251@@ -219,7 +219,7 @@ _PUBLIC_ DATA_BLOB data_blob_string_cons
252 }
253
254 /**
255- * Create a new data blob from const data
256+ * Create a new data blob from const data
257 */
258
259 _PUBLIC_ DATA_BLOB data_blob_const(const void *p, size_t length)
260@@ -266,7 +266,7 @@ _PUBLIC_ bool data_blob_append(TALLOC_CT
261 if ((const uint8_t *)p + length < (const uint8_t *)p) {
262 return false;
263 }
264-
265+
266 if (!data_blob_realloc(mem_ctx, blob, new_len)) {
267 return false;
268 }
269--- a/lib/util/talloc_keep_secret.c
270+++ b/lib/util/talloc_keep_secret.c
271@@ -22,27 +22,13 @@
272
273 static int talloc_keep_secret_destructor(void *ptr)
274 {
275- int ret;
276 size_t size = talloc_get_size(ptr);
277
278 if (unlikely(size == 0)) {
279 return 0;
280 }
281
282- ret = memset_s(ptr, size, 0, size);
283- if (unlikely(ret != 0)) {
284- char *msg = NULL;
285- int ret2;
286- ret2 = asprintf(&msg,
287- "talloc_keep_secret_destructor: memset_s() failed: %s",
288- strerror(ret));
289- if (ret2 != -1) {
290- smb_panic(msg);
291- } else {
292- smb_panic("talloc_keep_secret_destructor: memset_s() failed");
293- }
294- }
295-
296+ memset_explicit(ptr, 0, size);
297 return 0;
298 }
299
300--- a/librpc/ndr/util.c
301+++ b/librpc/ndr/util.c
302@@ -32,5 +32,5 @@ _PUBLIC_ void ndr_print_sockaddr_storage
303
304 _PUBLIC_ void ndr_zero_memory(void *ptr, size_t len)
305 {
306- memset_s(ptr, len, 0, len);
307+ memset_explicit(ptr, 0, len);
308 }
diff --git a/meta-networking/recipes-connectivity/samba/samba/0004-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 c72bd133ee..88acfeef07 100644
--- a/meta-networking/recipes-connectivity/samba/samba/0004-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
@@ -19,7 +19,7 @@ diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript
19index 30cb366..d167551 100644 19index 30cb366..d167551 100644
20--- a/buildtools/wafsamba/wscript 20--- a/buildtools/wafsamba/wscript
21+++ b/buildtools/wafsamba/wscript 21+++ b/buildtools/wafsamba/wscript
22@@ -145,6 +145,13 @@ Currently the only tested value is 'smbtorture,smbd/smbd' for Samba'''), 22@@ -155,6 +155,13 @@ Currently the only tested value is 'smbtorture,smbd/smbd' for Samba'''),
23 help=("Disable use of gettext"), 23 help=("Disable use of gettext"),
24 action="store_true", dest='disable_gettext', default=False) 24 action="store_true", dest='disable_gettext', default=False)
25 25
@@ -37,40 +37,60 @@ diff --git a/lib/replace/wscript b/lib/replace/wscript
37index 9dd9b48..a22ae59 100644 37index 9dd9b48..a22ae59 100644
38--- a/lib/replace/wscript 38--- a/lib/replace/wscript
39+++ b/lib/replace/wscript 39+++ b/lib/replace/wscript
40@@ -444,20 +444,21 @@ def configure(conf): 40@@ -444,31 +444,32 @@
41 41
42 strlcpy_in_bsd = False 42 strlcpy_in_bsd = False
43 43
44- # libbsd on some platforms provides strlcpy and strlcat 44- # libbsd on some platforms provides strlcpy and strlcat
45- if not conf.CHECK_FUNCS('strlcpy strlcat'): 45- if not conf.CHECK_FUNCS('strlcpy strlcat'):
46- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', 46- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
47- checklibc=True): 47- checklibc=True):
48- strlcpy_in_bsd = True 48- strlcpy_in_bsd = True
49- if not conf.CHECK_FUNCS('getpeereid'): 49- elif conf.env.enable_fuzzing:
50- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') 50- # Just to complicate it more, some versions of Honggfuzz have
51- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): 51- # got strlcpy and strlcat in libc, but not in <string.h>
52- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') 52- # (unless it is there coincidentally, on a BSD). Therefore we
53- if not conf.CHECK_FUNCS('setproctitle_init'): 53- # can't use CHECK_FUNCS alone to decide whether to add the
54- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') 54- # headers to replace.h.
55- 55- #
56- if not conf.CHECK_FUNCS('closefrom'): 56- # As this is only known to happen on a fuzzing compiler, we'll
57- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') 57- # skip the check when not in fuzzing mode.
58- conf.CHECK_HEADERS('bsd/string.h')
58+ if Options.options.enable_libbsd: 59+ if Options.options.enable_libbsd:
59+ # libbsd on some platforms provides strlcpy and strlcat 60+ # libbsd on some platforms provides strlcpy and strlcat
60+ if not conf.CHECK_FUNCS('strlcpy strlcat'): 61+ if not conf.CHECK_FUNCS('strlcpy strlcat'):
61+ if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', 62+ if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
62+ checklibc=True): 63+ checklibc=True):
63+ strlcpy_in_bsd = True 64+ strlcpy_in_bsd = True
65+ elif conf.env.enable_fuzzing:
66+ # Just to complicate it more, some versions of Honggfuzz have
67+ # got strlcpy and strlcat in libc, but not in <string.h>
68+ # (unless it is there coincidentally, on a BSD). Therefore we
69+ # can't use CHECK_FUNCS alone to decide whether to add the
70+ # headers to replace.h.
71+ #
72+ # As this is only known to happen on a fuzzing compiler, we'll
73+ # skip the check when not in fuzzing mode.
74+ conf.CHECK_HEADERS('bsd/string.h')
75
76- if not conf.CHECK_FUNCS('getpeereid'):
77- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
78- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
79- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
80- if not conf.CHECK_FUNCS('setproctitle_init'):
81- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
64+ if not conf.CHECK_FUNCS('getpeereid'): 82+ if not conf.CHECK_FUNCS('getpeereid'):
65+ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') 83+ conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h')
66+ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): 84+ if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'):
67+ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') 85+ conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h')
68+ if not conf.CHECK_FUNCS('setproctitle_init'): 86+ if not conf.CHECK_FUNCS('setproctitle_init'):
69+ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') 87+ conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h')
70+ 88
89- if not conf.CHECK_FUNCS('closefrom'):
90- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
71+ if not conf.CHECK_FUNCS('closefrom'): 91+ if not conf.CHECK_FUNCS('closefrom'):
72+ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') 92+ conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
73 93
74 conf.CHECK_CODE(''' 94 conf.CHECK_CODE('''
75 struct ucred cred; 95 struct ucred cred;
76diff --git a/lib/texpect/wscript b/lib/texpect/wscript 96diff --git a/lib/texpect/wscript b/lib/texpect/wscript
diff --git a/meta-networking/recipes-connectivity/samba/samba/0004-lib-replace-Remove-memset_s.patch b/meta-networking/recipes-connectivity/samba/samba/0004-lib-replace-Remove-memset_s.patch
index 409c36da7c..6e01ae35e7 100644
--- a/meta-networking/recipes-connectivity/samba/samba/0004-lib-replace-Remove-memset_s.patch
+++ b/meta-networking/recipes-connectivity/samba/samba/0004-lib-replace-Remove-memset_s.patch
@@ -24,7 +24,7 @@ diff --git a/lib/replace/README b/lib/replace/README
24index bb9d008..d8431e7 100644 24index bb9d008..d8431e7 100644
25--- a/lib/replace/README 25--- a/lib/replace/README
26+++ b/lib/replace/README 26+++ b/lib/replace/README
27@@ -74,7 +74,6 @@ realpath 27@@ -73,7 +73,6 @@ realpath
28 poll 28 poll
29 setproctitle 29 setproctitle
30 memset_explicit 30 memset_explicit
@@ -36,219 +36,10 @@ diff --git a/lib/replace/replace.c b/lib/replace/replace.c
36index 8615899..a419837 100644 36index 8615899..a419837 100644
37--- a/lib/replace/replace.c 37--- a/lib/replace/replace.c
38+++ b/lib/replace/replace.c 38+++ b/lib/replace/replace.c
39@@ -1,4 +1,4 @@ 39@@ -965,37 +965,6 @@
40-/*
41+/*
42 Unix SMB/CIFS implementation.
43 replacement routines for broken systems
44 Copyright (C) Andrew Tridgell 1992-1998
45@@ -8,7 +8,7 @@
46 ** NOTE! The following LGPL license applies to the replace
47 ** library. This does NOT imply that all of Samba is released
48 ** under the LGPL
49-
50+
51 This library is free software; you can redistribute it and/or
52 modify it under the terms of the GNU Lesser General Public
53 License as published by the Free Software Foundation; either
54@@ -91,7 +91,7 @@ size_t rep_strlcpy(char *d, const char *s, size_t bufsize)
55 #endif
56
57 #ifndef HAVE_STRLCAT
58-/* like strncat but does not 0 fill the buffer and always null
59+/* like strncat but does not 0 fill the buffer and always null
60 terminates. bufsize is the length of the buffer, which should
61 be one more than the maximum resulting string length */
62 size_t rep_strlcat(char *d, const char *s, size_t bufsize)
63@@ -116,7 +116,7 @@ size_t rep_strlcat(char *d, const char *s, size_t bufsize)
64
65 #ifndef HAVE_MKTIME
66 /*******************************************************************
67-a mktime() replacement for those who don't have it - contributed by
68+a mktime() replacement for those who don't have it - contributed by
69 C.A. Lademann <cal@zls.com>
70 Corrections by richard.kettlewell@kewill.com
71 ********************************************************************/
72@@ -137,7 +137,7 @@ time_t rep_mktime(struct tm *t)
73 return((time_t)-1);
74
75 n = t->tm_year + 1900 - 1;
76- epoch = (t->tm_year - 70) * YEAR +
77+ epoch = (t->tm_year - 70) * YEAR +
78 ((n / 4 - n / 100 + n / 400) - (1969 / 4 - 1969 / 100 + 1969 / 400)) * DAY;
79
80 y = t->tm_year + 1900;
81@@ -147,7 +147,7 @@ time_t rep_mktime(struct tm *t)
82 epoch += mon [m] * DAY;
83 if(m == 1 && y % 4 == 0 && (y % 100 != 0 || y % 400 == 0))
84 epoch += DAY;
85-
86+
87 if(++m > 11) {
88 m = 0;
89 y++;
90@@ -156,7 +156,7 @@ time_t rep_mktime(struct tm *t)
91
92 epoch += (t->tm_mday - 1) * DAY;
93 epoch += t->tm_hour * HOUR + t->tm_min * MINUTE + t->tm_sec;
94-
95+
96 if((u = localtime(&epoch)) != NULL) {
97 t->tm_sec = u->tm_sec;
98 t->tm_min = u->tm_min;
99@@ -176,7 +176,7 @@ time_t rep_mktime(struct tm *t)
100
101 #ifndef HAVE_INITGROUPS
102 /****************************************************************************
103- some systems don't have an initgroups call
104+ some systems don't have an initgroups call
105 ****************************************************************************/
106 int rep_initgroups(char *name, gid_t id)
107 {
108@@ -194,7 +194,7 @@ int rep_initgroups(char *name, gid_t id)
109 int i,j;
110 struct group *g;
111 char *gr;
112-
113+
114 if((grouplst = malloc(sizeof(gid_t) * max_gr)) == NULL) {
115 errno = ENOMEM;
116 return -1;
117@@ -250,9 +250,9 @@ void *rep_memmove(void *dest,const void *src,int size)
118
119 if (d < s) {
120 /* we can forward copy */
121- if (s-d >= sizeof(int) &&
122- !(s%sizeof(int)) &&
123- !(d%sizeof(int)) &&
124+ if (s-d >= sizeof(int) &&
125+ !(s%sizeof(int)) &&
126+ !(d%sizeof(int)) &&
127 !(size%sizeof(int))) {
128 /* do it all as words */
129 int *idest = (int *)dest;
130@@ -267,9 +267,9 @@ void *rep_memmove(void *dest,const void *src,int size)
131 }
132 } else {
133 /* must backward copy */
134- if (d-s >= sizeof(int) &&
135- !(s%sizeof(int)) &&
136- !(d%sizeof(int)) &&
137+ if (d-s >= sizeof(int) &&
138+ !(s%sizeof(int)) &&
139+ !(d%sizeof(int)) &&
140 !(size%sizeof(int))) {
141 /* do it all as words */
142 int *idest = (int *)dest;
143@@ -281,7 +281,7 @@ void *rep_memmove(void *dest,const void *src,int size)
144 char *cdest = (char *)dest;
145 char *csrc = (char *)src;
146 for (i=size-1;i>=0;i--) cdest[i] = csrc[i];
147- }
148+ }
149 }
150 return(dest);
151 }
152@@ -334,16 +334,16 @@ void rep_vsyslog (int facility_priority, const char *format, va_list arglist)
153 size_t rep_strnlen(const char *s, size_t max)
154 {
155 size_t len;
156-
157+
158 for (len = 0; len < max; len++) {
159 if (s[len] == '\0') {
160 break;
161 }
162 }
163- return len;
164+ return len;
165 } 40 }
166 #endif 41 #endif
167- 42
168+
169 #ifndef HAVE_STRNDUP
170 /**
171 Some platforms don't have strndup.
172@@ -351,7 +351,7 @@ void rep_vsyslog (int facility_priority, const char *format, va_list arglist)
173 char *rep_strndup(const char *s, size_t n)
174 {
175 char *ret;
176-
177+
178 n = strnlen(s, n);
179 ret = malloc(n+1);
180 if (!ret)
181@@ -407,7 +407,7 @@ int rep_chroot(const char *dname)
182
183 /*****************************************************************
184 Possibly replace mkstemp if it is broken.
185-*****************************************************************/
186+*****************************************************************/
187
188 #ifndef HAVE_SECURE_MKSTEMP
189 int rep_mkstemp(char *template)
190@@ -425,7 +425,7 @@ int rep_mkstemp(char *template)
191 char *rep_mkdtemp(char *template)
192 {
193 char *dname;
194-
195+
196 if ((dname = mktemp(template))) {
197 if (mkdir(dname, 0700) >= 0) {
198 return dname;
199@@ -532,7 +532,7 @@ long long int rep_strtoll(const char *str, char **endptr, int base)
200 {
201 #ifdef HAVE_STRTOQ
202 return strtoq(str, endptr, base);
203-#elif defined(HAVE___STRTOLL)
204+#elif defined(HAVE___STRTOLL)
205 return __strtoll(str, endptr, base);
206 #elif SIZEOF_LONG == SIZEOF_LONG_LONG
207 return (long long int) strtol(str, endptr, base);
208@@ -568,7 +568,7 @@ unsigned long long int rep_strtoull(const char *str, char **endptr, int base)
209 {
210 #ifdef HAVE_STRTOUQ
211 return strtouq(str, endptr, base);
212-#elif defined(HAVE___STRTOULL)
213+#elif defined(HAVE___STRTOULL)
214 return __strtoull(str, endptr, base);
215 #elif SIZEOF_LONG == SIZEOF_LONG_LONG
216 return (unsigned long long int) strtoul(str, endptr, base);
217@@ -599,7 +599,7 @@ unsigned long long int rep_strtoull(const char *str, char **endptr, int base)
218 #endif /* HAVE_STRTOULL */
219
220 #ifndef HAVE_SETENV
221-int rep_setenv(const char *name, const char *value, int overwrite)
222+int rep_setenv(const char *name, const char *value, int overwrite)
223 {
224 char *p;
225 size_t l1, l2;
226@@ -644,10 +644,10 @@ int rep_unsetenv(const char *name)
227 for (i=0;environ[i];i++) /* noop */ ;
228
229 count=i;
230-
231+
232 for (i=0;i<count;) {
233 if (strncmp(environ[i], name, len) == 0 && environ[i][len] == '=') {
234- /* note: we do _not_ free the old variable here. It is unsafe to
235+ /* note: we do _not_ free the old variable here. It is unsafe to
236 do so, as the pointer may not have come from malloc */
237 memmove(&environ[i], &environ[i+1], (count-i)*sizeof(char *));
238 count--;
239@@ -688,7 +688,7 @@ int rep_utimes(const char *filename, const struct timeval tv[2])
240 #endif
241
242 #ifndef HAVE_DUP2
243-int rep_dup2(int oldfd, int newfd)
244+int rep_dup2(int oldfd, int newfd)
245 {
246 errno = ENOSYS;
247 return -1;
248@@ -965,37 +965,6 @@ void *rep_memset_explicit(void *block, int c, size_t size)
249 }
250 #endif
251
252-#ifndef HAVE_MEMSET_S 43-#ifndef HAVE_MEMSET_S
253-# ifndef RSIZE_MAX 44-# ifndef RSIZE_MAX
254-# define RSIZE_MAX (SIZE_MAX >> 1) 45-# define RSIZE_MAX (SIZE_MAX >> 1)
@@ -267,7 +58,7 @@ index 8615899..a419837 100644
267- } 58- }
268- 59-
269-#if defined(HAVE_MEMSET_EXPLICIT) 60-#if defined(HAVE_MEMSET_EXPLICIT)
270- memset_explicit(dest, destsz, ch, count); 61- memset_explicit(dest, ch, count);
271-#else /* HAVE_MEMSET_EXPLICIT */ 62-#else /* HAVE_MEMSET_EXPLICIT */
272- memset(dest, ch, count); 63- memset(dest, ch, count);
273-# if defined(HAVE_GCC_VOLATILE_MEMORY_PROTECTION) 64-# if defined(HAVE_GCC_VOLATILE_MEMORY_PROTECTION)
diff --git a/meta-networking/recipes-connectivity/samba/samba/9aa5c43315d83c19514251a11c4fba5a137f2821.patch b/meta-networking/recipes-connectivity/samba/samba/9aa5c43315d83c19514251a11c4fba5a137f2821.patch
deleted file mode 100644
index e07e86e887..0000000000
--- a/meta-networking/recipes-connectivity/samba/samba/9aa5c43315d83c19514251a11c4fba5a137f2821.patch
+++ /dev/null
@@ -1,70 +0,0 @@
1From 9aa5c43315d83c19514251a11c4fba5a137f2821 Mon Sep 17 00:00:00 2001
2From: Andreas Schneider <asn@samba.org>
3Date: Tue, 21 Jan 2025 17:59:27 +0100
4Subject: [PATCH] lib:replace: Don't use deprecated readline CPPFunction cast
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9HAVE_RL_COMPLETION_FUNC_T was unused and not checking for the right
10function.
11
12libcli/smbreadline/smbreadline.c: In function ‘smb_readline’:
13libcli/smbreadline/smbreadline.c:139:17: warning: ‘CPPFunction’ is deprecated [-Wdeprecated-declarations]
14 139 | rl_attempted_completion_function = RL_COMPLETION_CAST completion_fn;
15 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
16libcli/smbreadline/smbreadline.c:139:50: error: assignment to ‘char ** (*)(const char *, int, int)’ from incompatible pointer type ‘char ** (*)(void)’ [-Wincompatible-pointer-types]
17 139 | rl_attempted_completion_function = RL_COMPLETION_CAST completion_fn;
18 | ^
19
20BUG: https://bugzilla.samba.org/show_bug.cgi?id=15788
21
22Signed-off-by: Andreas Schneider <asn@samba.org>
23Reviewed-by: Alexander Bokovoy <ab@samba.org>
24
25Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
26Autobuild-Date(master): Tue Jan 21 19:38:37 UTC 2025 on atb-devel-224
27
28Upstream-Status: Backport [https://github.com/samba-team/samba/commit/9aa5c43315d83c19514251a11c4fba5a137f2821]
29
30Signed-off-by: Markus Volk <f_l_k@t-online.de>
31---
32 lib/replace/system/readline.h | 4 +++-
33 libcli/smbreadline/wscript_configure | 8 +++++---
34 2 files changed, 8 insertions(+), 4 deletions(-)
35
36diff --git a/lib/replace/system/readline.h b/lib/replace/system/readline.h
37index 9a9af266ca6d..ac3604fc12e0 100644
38--- a/lib/replace/system/readline.h
39+++ b/lib/replace/system/readline.h
40@@ -46,7 +46,9 @@
41 #endif
42
43 #ifdef HAVE_NEW_LIBREADLINE
44-#ifdef HAVE_CPPFUNCTION
45+#if defined(HAVE_RL_COMPLETION_FUNC_T)
46+# define RL_COMPLETION_CAST (rl_completion_func_t *)
47+#elif defined(HAVE_CPPFUNCTION)
48 # define RL_COMPLETION_CAST (CPPFunction *)
49 #elif defined(HAVE_RL_COMPLETION_T)
50 # define RL_COMPLETION_CAST (rl_completion_t *)
51diff --git a/libcli/smbreadline/wscript_configure b/libcli/smbreadline/wscript_configure
52index 912ff53a150d..f5a401ebae00 100644
53--- a/libcli/smbreadline/wscript_configure
54+++ b/libcli/smbreadline/wscript_configure
55@@ -51,10 +51,12 @@ conf.CHECK_CODE('''
56 # endif
57 # endif
58 #endif
59-int main(void) {rl_completion_t f; return 0;}
60+int main(void) {rl_completion_func_t f; return 0;}
61 ''',
62-'HAVE_RL_COMPLETION_FUNC_T', execute=False, addmain=False,
63-msg='Checking for rl_completion_t')
64+ 'HAVE_RL_COMPLETION_FUNC_T',
65+ execute=False,
66+ addmain=False,
67+ msg='Checking for rl_completion_func_t')
68
69 conf.CHECK_CODE('''
70 #ifdef HAVE_READLINE_READLINE_H
diff --git a/meta-networking/recipes-connectivity/samba/samba_4.19.9.bb b/meta-networking/recipes-connectivity/samba/samba_4.23.5.bb
index 3ed1d46754..ec3149562a 100644
--- a/meta-networking/recipes-connectivity/samba/samba_4.19.9.bb
+++ b/meta-networking/recipes-connectivity/samba/samba_4.23.5.bb
@@ -14,6 +14,10 @@ ${SAMBA_MIRROR} http://www.mirrorservice.org/sites/ftp.samba.org \n \
14 14
15export PYTHONHASHSEED = "1" 15export PYTHONHASHSEED = "1"
16 16
17# If XML_CATALOG_FILES env var is not defined, waf defaults
18# to build host folders looking for catalogs.
19export XML_CATALOG_FILES = ""
20
17SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \ 21SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
18 file://smb.conf \ 22 file://smb.conf \
19 file://volatiles.03_samba \ 23 file://volatiles.03_samba \
@@ -24,7 +28,6 @@ SRC_URI = "${SAMBA_MIRROR}/stable/samba-${PV}.tar.gz \
24 file://0005-Fix-pyext_PATTERN-for-cross-compilation.patch \ 28 file://0005-Fix-pyext_PATTERN-for-cross-compilation.patch \
25 file://0006-smbtorture-skip-test-case-tfork_cmd_send.patch \ 29 file://0006-smbtorture-skip-test-case-tfork_cmd_send.patch \
26 file://0007-Deleted-settiong-of-python-to-fix-the-install-confli.patch \ 30 file://0007-Deleted-settiong-of-python-to-fix-the-install-confli.patch \
27 file://9aa5c43315d83c19514251a11c4fba5a137f2821.patch \
28 file://0001-lib-replace-Implement-memset_explicit.patch \ 31 file://0001-lib-replace-Implement-memset_explicit.patch \
29 file://0002-lib-replace-Add-test-for-memset_explicit.patch \ 32 file://0002-lib-replace-Add-test-for-memset_explicit.patch \
30 file://0003-Replace-memset_s-with-memset_explicit.patch \ 33 file://0003-Replace-memset_s-with-memset_explicit.patch \
@@ -36,7 +39,7 @@ SRC_URI:append:libc-musl = " \
36 file://samba-4.3.9-remove-getpwent_r.patch \ 39 file://samba-4.3.9-remove-getpwent_r.patch \
37 " 40 "
38 41
39SRC_URI[sha256sum] = "71ed406444714c90bb9d36c576d807b67af15449f297e91106d42b3ca2fa5549" 42SRC_URI[sha256sum] = "593a43ddd0d57902237dfa76888f7b02cb7fc7747111369cb31e126db4836b9f"
40 43
41UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.19(\.\d+)+).tar.gz" 44UPSTREAM_CHECK_REGEX = "samba\-(?P<pver>4\.19(\.\d+)+).tar.gz"
42 45
@@ -47,7 +50,7 @@ CVE_STATUS[CVE-2011-2411] = "not-applicable-platform: vulnerable only on HP NonS
47# remove default added RDEPENDS on perl 50# remove default added RDEPENDS on perl
48RDEPENDS:${PN}:remove = "perl" 51RDEPENDS:${PN}:remove = "perl"
49 52
50DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libldb libaio libpam libtasn1 libtasn1-native jansson libparse-yapp-perl-native gnutls cmocka" 53DEPENDS += "readline virtual/libiconv zlib popt libtalloc libtdb libtevent libaio libpam libtasn1 libtasn1-native jansson libparse-yapp-perl-native gnutls cmocka ngtcp2 bison-native"
51 54
52inherit features_check 55inherit features_check
53REQUIRED_DISTRO_FEATURES = "pam" 56REQUIRED_DISTRO_FEATURES = "pam"
@@ -62,7 +65,7 @@ INITSCRIPT_NAME = "samba"
62INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ." 65INITSCRIPT_PARAMS = "start 20 3 5 . stop 20 0 1 6 ."
63 66
64SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind ctdb" 67SYSTEMD_PACKAGES = "${PN}-base ${PN}-ad-dc winbind ctdb"
65SYSTEMD_SERVICE:${PN}-base = "nmb.service smb.service" 68SYSTEMD_SERVICE:${PN}-base = "nmb.service smb.service samba-bgqd.service"
66SYSTEMD_SERVICE:${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}" 69SYSTEMD_SERVICE:${PN}-ad-dc = "${@bb.utils.contains('PACKAGECONFIG', 'ad-dc', 'samba.service', '', d)}"
67SYSTEMD_SERVICE:winbind = "winbind.service" 70SYSTEMD_SERVICE:winbind = "winbind.service"
68SYSTEMD_SERVICE:ctdb = "ctdb.service" 71SYSTEMD_SERVICE:ctdb = "ctdb.service"
@@ -109,7 +112,7 @@ SAMBA4_MODULES = "${SAMBA4_IDMAP_MODULES},${SAMBA4_PDB_MODULES},${SAMBA4_AUTH_MO
109# .so files so there will not be a conflict. This is not done consistantly, so be very careful 112# .so files so there will not be a conflict. This is not done consistantly, so be very careful
110# when adding to this list. 113# when adding to this list.
111# 114#
112SAMBA4_LIBS = "heimdal,NONE" 115SAMBA4_LIBS = "heimdal,libquic,NONE"
113 116
114EXTRA_OECONF += "--enable-fhs \ 117EXTRA_OECONF += "--enable-fhs \
115 --with-piddir=/run \ 118 --with-piddir=/run \
@@ -132,6 +135,19 @@ EXTRA_OECONF += "--enable-fhs \
132 135
133LDFLAGS += "-Wl,-z,relro,-z,now" 136LDFLAGS += "-Wl,-z,relro,-z,now"
134 137
138do_configure:prepend() {
139 # The xsltproc tool is actually a wrapper script in OE, which exports its own XML_CATALOG_FILES env var
140 # However samba does that too. So here I'm trying to concatenate the variables.
141 # The original looks like this in the wrapper:
142 # export XML_CATALOG_FILES=oe-core-specific-thing
143 # and this sed prepends the value with $XML_CATALOG_FILES, and encloses it in quotes. So the end value is
144 # export XML_CATALOG_FILES="$XML_CATALOG FILES oe-core-specific-thing"
145 # The first grep just checks if it was already done, so it is not prepended multiple times.
146
147 grep \$XML_CATALOG_FILES ${STAGING_BINDIR_NATIVE}/xsltproc || \
148 sed -i 's,\(XML_CATALOG_FILES\)=\(.*\),\1="\$XML_CATALOG_FILES \2",' ${STAGING_BINDIR_NATIVE}/xsltproc
149}
150
135do_configure:append() { 151do_configure:append() {
136 cd ${S}/pidl/ 152 cd ${S}/pidl/
137 perl Makefile.PL PREFIX=${prefix} 153 perl Makefile.PL PREFIX=${prefix}
@@ -213,6 +229,9 @@ do_install:append() {
213 find ${D}${libdir}/perl5/ -type f -name "perllocal.pod" -delete 229 find ${D}${libdir}/perl5/ -type f -name "perllocal.pod" -delete
214 find ${D}${libdir}/perl5/ -type f -name ".packlist" -delete 230 find ${D}${libdir}/perl5/ -type f -name ".packlist" -delete
215 sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${bindir}/pidl 231 sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${bindir}/pidl
232
233 sed -i 's,${UNPACKDIR},,g' ${S}/bin/default/libcli/wsp/wsp_aqs_lexer.c
234 sed -i 's,${UNPACKDIR},,g' ${S}/bin/default/libcli/wsp/wsp_aqs_lexer.h
216} 235}
217 236
218PACKAGES =+ "${PN}-python3 ${PN}-pidl \ 237PACKAGES =+ "${PN}-python3 ${PN}-pidl \
@@ -245,7 +264,7 @@ PACKAGESPLITFUNCS:prepend = "samba_populate_packages "
245PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*" 264PACKAGES_DYNAMIC = "samba-auth-.* samba-pdb-.*"
246 265
247RDEPENDS:${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3" 266RDEPENDS:${PN} += "${PN}-base ${PN}-python3 ${PN}-dsdb-modules python3"
248RDEPENDS:${PN}-python3 += "pytalloc python3-tdb pyldb" 267RDEPENDS:${PN}-python3 += "pytalloc python3-tdb"
249 268
250FILES:${PN}-base = "${sbindir}/nmbd \ 269FILES:${PN}-base = "${sbindir}/nmbd \
251 ${sbindir}/smbd \ 270 ${sbindir}/smbd \