summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--recipes-security/selinux/libsemanage/0001-libsemanage-fix-swig-bindings-for-4.3.0.patch422
-rw-r--r--recipes-security/selinux/libsemanage_3.7.bb1
2 files changed, 423 insertions, 0 deletions
diff --git a/recipes-security/selinux/libsemanage/0001-libsemanage-fix-swig-bindings-for-4.3.0.patch b/recipes-security/selinux/libsemanage/0001-libsemanage-fix-swig-bindings-for-4.3.0.patch
new file mode 100644
index 0000000..cba77c9
--- /dev/null
+++ b/recipes-security/selinux/libsemanage/0001-libsemanage-fix-swig-bindings-for-4.3.0.patch
@@ -0,0 +1,422 @@
1From e38815d7b44cac435195c82a54d2bf2517bc4b1a Mon Sep 17 00:00:00 2001
2From: Petr Lautrbach <lautrbach@redhat.com>
3Date: Wed, 16 Oct 2024 20:48:12 +0200
4Subject: [PATCH] libsemanage: fix swig bindings for 4.3.0
5
6https://github.com/swig/swig/blob/master/CHANGES.current
7
8"[Python] #2907 Fix returning null from functions with output
9parameters. Ensures OUTPUT and INOUT typemaps are handled
10consistently wrt return type.
11
12New declaration of SWIG_Python_AppendOutput is now:
13
14 SWIG_Python_AppendOutput(PyObject* result, PyObject* obj, int is_void);
15
16The 3rd parameter is new and the new $isvoid special variable
17should be passed to it, indicating whether or not the wrapped
18function returns void.
19
20Also consider replacing with:
21
22 SWIG_AppendOutput(PyObject* result, PyObject* obj);
23
24which calls SWIG_Python_AppendOutput with same parameters but adding $isvoid
25for final parameter."
26
27Fixes: https://github.com/SELinuxProject/selinux/issues/447
28
29Suggested-by: Jitka Plesnikova <jplesnik@redhat.com>
30Signed-off-by: Petr Lautrbach <lautrbach@redhat.com>
31Acked-by: James Carter <jwcart2@gmail.com>
32
33Upstream-Status: Backport
34[https://github.com/SELinuxProject/selinux/commit/e38815d7b44cac435195c82a54d2bf2517bc4b1a]
35
36Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
37---
38 src/semanageswig_python.i | 64 +++++++++++++--------------
39 src/semanageswig_ruby.i | 32 +++++++-------
40 2 files changed, 48 insertions(+), 48 deletions(-)
41
42diff --git a/src/semanageswig_python.i b/src/semanageswig_python.i
43index 5f011396..0e27424f 100644
44--- a/src/semanageswig_python.i
45+++ b/src/semanageswig_python.i
46@@ -111,7 +111,7 @@
47 }
48
49 %typemap(argout) char** {
50- $result = SWIG_Python_AppendOutput($result, SWIG_FromCharPtr(*$1));
51+ $result = SWIG_AppendOutput($result, SWIG_FromCharPtr(*$1));
52 free(*$1);
53 }
54
55@@ -134,7 +134,7 @@
56 NULL, NULL, &plist) < 0)
57 $result = SWIG_From_int(STATUS_ERR);
58 else
59- $result = SWIG_Python_AppendOutput($result, plist);
60+ $result = SWIG_AppendOutput($result, plist);
61 }
62 }
63 }
64@@ -148,7 +148,7 @@
65 }
66
67 %typemap(argout) semanage_module_info_t ** {
68- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
69+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
70 }
71
72 /** module key typemaps **/
73@@ -160,7 +160,7 @@
74 }
75
76 %typemap(argout) semanage_module_key_t ** {
77- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
78+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
79 }
80
81 /** context typemaps **/
82@@ -172,7 +172,7 @@
83 }
84
85 %typemap(argout) semanage_context_t** {
86- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
87+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
88 }
89
90 /** boolean typemaps **/
91@@ -197,7 +197,7 @@
92 (void (*) (void*)) &semanage_bool_free, &plist) < 0)
93 $result = SWIG_From_int(STATUS_ERR);
94 else
95- $result = SWIG_Python_AppendOutput($result, plist);
96+ $result = SWIG_AppendOutput($result, plist);
97 }
98 }
99 }
100@@ -207,11 +207,11 @@
101 }
102
103 %typemap(argout) semanage_bool_t ** {
104- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
105+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
106 }
107
108 %typemap(argout) semanage_bool_key_t ** {
109- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
110+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
111 }
112
113 %typemap(in, numinputs=0) semanage_bool_key_t **(semanage_bool_key_t *temp=NULL) {
114@@ -240,7 +240,7 @@
115 (void (*) (void*)) &semanage_fcontext_free, &plist) < 0)
116 $result = SWIG_From_int(STATUS_ERR);
117 else
118- $result = SWIG_Python_AppendOutput($result, plist);
119+ $result = SWIG_AppendOutput($result, plist);
120 }
121 }
122 }
123@@ -250,11 +250,11 @@
124 }
125
126 %typemap(argout) semanage_fcontext_t ** {
127- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
128+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
129 }
130
131 %typemap(argout) semanage_fcontext_key_t ** {
132- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
133+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
134 }
135
136 %typemap(in, numinputs=0) semanage_fcontext_key_t **(semanage_fcontext_key_t *temp=NULL) {
137@@ -284,7 +284,7 @@
138 (void (*) (void*)) &semanage_iface_free, &plist) < 0)
139 $result = SWIG_From_int(STATUS_ERR);
140 else
141- $result = SWIG_Python_AppendOutput($result, plist);
142+ $result = SWIG_AppendOutput($result, plist);
143 }
144 }
145 }
146@@ -294,11 +294,11 @@
147 }
148
149 %typemap(argout) semanage_iface_t ** {
150- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
151+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
152 }
153
154 %typemap(argout) semanage_iface_key_t ** {
155- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
156+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
157 }
158
159 %typemap(in, numinputs=0) semanage_iface_key_t **(semanage_iface_key_t *temp=NULL) {
160@@ -328,7 +328,7 @@
161 (void (*) (void*)) &semanage_seuser_free, &plist) < 0)
162 $result = SWIG_From_int(STATUS_ERR);
163 else
164- $result = SWIG_Python_AppendOutput($result, plist);
165+ $result = SWIG_AppendOutput($result, plist);
166 }
167 }
168 }
169@@ -338,11 +338,11 @@
170 }
171
172 %typemap(argout) semanage_seuser_t ** {
173- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
174+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
175 }
176
177 %typemap(argout) semanage_seuser_key_t ** {
178- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
179+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
180 }
181
182 %typemap(in, numinputs=0) semanage_seuser_key_t **(semanage_seuser_key_t *temp=NULL) {
183@@ -371,7 +371,7 @@
184 (void (*) (void*)) &semanage_user_free, &plist) < 0)
185 $result = SWIG_From_int(STATUS_ERR);
186 else
187- $result = SWIG_Python_AppendOutput($result, plist);
188+ $result = SWIG_AppendOutput($result, plist);
189 }
190 }
191 }
192@@ -381,11 +381,11 @@
193 }
194
195 %typemap(argout) semanage_user_t ** {
196- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
197+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
198 }
199
200 %typemap(argout) semanage_user_key_t ** {
201- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
202+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
203 }
204
205 %typemap(in, numinputs=0) semanage_user_key_t **(semanage_user_key_t *temp=NULL) {
206@@ -414,7 +414,7 @@
207 (void (*) (void*)) &semanage_port_free, &plist) < 0)
208 $result = SWIG_From_int(STATUS_ERR);
209 else
210- $result = SWIG_Python_AppendOutput($result, plist);
211+ $result = SWIG_AppendOutput($result, plist);
212 }
213 }
214 }
215@@ -424,11 +424,11 @@
216 }
217
218 %typemap(argout) semanage_port_t ** {
219- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
220+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
221 }
222
223 %typemap(argout) semanage_port_key_t ** {
224- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
225+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
226 }
227
228 %typemap(in, numinputs=0) semanage_port_key_t **(semanage_port_key_t *temp=NULL) {
229@@ -457,7 +457,7 @@
230 (void (*) (void*)) &semanage_ibpkey_free, &plist) < 0)
231 $result = SWIG_From_int(STATUS_ERR);
232 else
233- $result = SWIG_Python_AppendOutput($result, plist);
234+ $result = SWIG_AppendOutput($result, plist);
235 }
236 }
237 }
238@@ -467,11 +467,11 @@
239 }
240
241 %typemap(argout) semanage_ibpkey_t ** {
242- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
243+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
244 }
245
246 %typemap(argout) semanage_ibpkey_key_t ** {
247- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
248+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
249 }
250
251 %typemap(in, numinputs=0) semanage_ibpkey_key_t **(semanage_ibpkey_key_t *temp=NULL) {
252@@ -500,7 +500,7 @@
253 (void (*) (void*)) &semanage_ibendport_free, &plist) < 0)
254 $result = SWIG_From_int(STATUS_ERR);
255 else
256- $result = SWIG_Python_AppendOutput($result, plist);
257+ $result = SWIG_AppendOutput($result, plist);
258 }
259 }
260 }
261@@ -510,11 +510,11 @@
262 }
263
264 %typemap(argout) semanage_ibendport_t ** {
265- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
266+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
267 }
268
269 %typemap(argout) semanage_ibendport_key_t ** {
270- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
271+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
272 }
273
274 %typemap(in, numinputs=0) semanage_ibendport_key_t **(semanage_ibendport_key_t *temp=NULL) {
275@@ -543,7 +543,7 @@
276 (void (*) (void*)) &semanage_node_free, &plist) < 0)
277 $result = SWIG_From_int(STATUS_ERR);
278 else
279- $result = SWIG_Python_AppendOutput($result, plist);
280+ $result = SWIG_AppendOutput($result, plist);
281 }
282 }
283 }
284@@ -553,12 +553,12 @@
285 }
286
287 %typemap(argout) semanage_node_t ** {
288- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
289+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
290 }
291
292
293 %typemap(argout) semanage_node_key_t ** {
294- $result = SWIG_Python_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
295+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
296 }
297
298 %typemap(in, numinputs=0) semanage_node_key_t **(semanage_node_key_t *temp=NULL) {
299diff --git a/src/semanageswig_ruby.i b/src/semanageswig_ruby.i
300index e030e4ae..9010b545 100644
301--- a/src/semanageswig_ruby.i
302+++ b/src/semanageswig_ruby.i
303@@ -38,7 +38,7 @@
304 }
305
306 %typemap(argout) semanage_module_info_t ** {
307- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
308+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
309 }
310
311 /** context typemaps **/
312@@ -50,7 +50,7 @@
313 }
314
315 %typemap(argout) semanage_context_t** {
316- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
317+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
318 }
319
320 /** boolean typemaps **/
321@@ -66,11 +66,11 @@
322 }
323
324 %typemap(argout) semanage_bool_t ** {
325- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
326+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
327 }
328
329 %typemap(argout) semanage_bool_key_t ** {
330- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
331+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
332 }
333
334 %typemap(in, numinputs=0) semanage_bool_key_t **(semanage_bool_key_t *temp=NULL) {
335@@ -90,11 +90,11 @@
336 }
337
338 %typemap(argout) semanage_fcontext_t ** {
339- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
340+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
341 }
342
343 %typemap(argout) semanage_fcontext_key_t ** {
344- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
345+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
346 }
347
348 %typemap(in, numinputs=0) semanage_fcontext_key_t **(semanage_fcontext_key_t *temp=NULL) {
349@@ -114,11 +114,11 @@
350 }
351
352 %typemap(argout) semanage_iface_t ** {
353- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
354+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
355 }
356
357 %typemap(argout) semanage_iface_key_t ** {
358- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
359+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
360 }
361
362 %typemap(in, numinputs=0) semanage_iface_key_t **(semanage_iface_key_t *temp=NULL) {
363@@ -138,11 +138,11 @@
364 }
365
366 %typemap(argout) semanage_seuser_t ** {
367- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
368+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
369 }
370
371 %typemap(argout) semanage_seuser_key_t ** {
372- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
373+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
374 }
375
376 %typemap(in, numinputs=0) semanage_seuser_key_t **(semanage_seuser_key_t *temp=NULL) {
377@@ -162,11 +162,11 @@
378 }
379
380 %typemap(argout) semanage_user_t ** {
381- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
382+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
383 }
384
385 %typemap(argout) semanage_user_key_t ** {
386- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
387+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
388 }
389
390 %typemap(in, numinputs=0) semanage_user_key_t **(semanage_user_key_t *temp=NULL) {
391@@ -186,11 +186,11 @@
392 }
393
394 %typemap(argout) semanage_port_t ** {
395- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
396+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
397 }
398
399 %typemap(argout) semanage_port_key_t ** {
400- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
401+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
402 }
403
404 %typemap(in, numinputs=0) semanage_port_key_t **(semanage_port_key_t *temp=NULL) {
405@@ -210,12 +210,12 @@
406 }
407
408 %typemap(argout) semanage_node_t ** {
409- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
410+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
411 }
412
413
414 %typemap(argout) semanage_node_key_t ** {
415- $result = SWIG_Ruby_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
416+ $result = SWIG_AppendOutput($result, SWIG_NewPointerObj(*$1, $*1_descriptor, 0));
417 }
418
419 %typemap(in, numinputs=0) semanage_node_key_t **(semanage_node_key_t *temp=NULL) {
420--
4212.25.1
422
diff --git a/recipes-security/selinux/libsemanage_3.7.bb b/recipes-security/selinux/libsemanage_3.7.bb
index 93eb870..7e6c91f 100644
--- a/recipes-security/selinux/libsemanage_3.7.bb
+++ b/recipes-security/selinux/libsemanage_3.7.bb
@@ -14,6 +14,7 @@ inherit lib_package python3native
14SRC_URI += "file://libsemanage-Fix-execve-segfaults-on-Ubuntu.patch \ 14SRC_URI += "file://libsemanage-Fix-execve-segfaults-on-Ubuntu.patch \
15 file://libsemanage-allow-to-disable-audit-support.patch \ 15 file://libsemanage-allow-to-disable-audit-support.patch \
16 file://libsemanage-disable-expand-check-on-policy-load.patch \ 16 file://libsemanage-disable-expand-check-on-policy-load.patch \
17 file://0001-libsemanage-fix-swig-bindings-for-4.3.0.patch \
17 " 18 "
18 19
19DEPENDS = "libsepol libselinux python3 bison-native swig-native" 20DEPENDS = "libsepol libselinux python3 bison-native swig-native"