diff options
-rw-r--r-- | meta/recipes-extended/libtirpc/libtirpc/0001-Add-conditional-version-script-support.patch | 810 | ||||
-rw-r--r-- | meta/recipes-extended/libtirpc/libtirpc_1.3.6.bb | 4 |
2 files changed, 814 insertions, 0 deletions
diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-Add-conditional-version-script-support.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-Add-conditional-version-script-support.patch new file mode 100644 index 0000000000..2764f65284 --- /dev/null +++ b/meta/recipes-extended/libtirpc/libtirpc/0001-Add-conditional-version-script-support.patch | |||
@@ -0,0 +1,810 @@ | |||
1 | From 8ae9a335d56fc4aba8454159b326d809efca597f Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 11 Aug 2025 21:13:59 -0700 | ||
4 | Subject: [PATCH] Add conditional version script support | ||
5 | |||
6 | This patch adds conditional symbol versioning to libtirpc, allowing | ||
7 | GSS-API, DES crypto, and RPC database symbols to be conditionally | ||
8 | included in the version script based on build configuration. | ||
9 | |||
10 | LLD is strict about undefined symbols referenced in a version script. | ||
11 | Some libtirpc symbols (rpcsec_gss, old DES helpers, rpc database | ||
12 | helpers) are optional and may not be built depending on configure | ||
13 | options or missing deps. GNU ld tolerated this; LLD errors out. | ||
14 | |||
15 | This change keeps the canonical symbol map in src/libtirpc.map, but | ||
16 | adds a make-time rule to generate a filtered copy | ||
17 | where names from disabled features are deleted. The lib is then linked | ||
18 | against the generated linker map file. | ||
19 | |||
20 | Fixes linking errors when these features are not available. | ||
21 | |||
22 | Upstream-Status: Submitted [https://lore.kernel.org/linux-nfs/20250812180809.2182301-1-raj.khem@gmail.com/T/#u] | ||
23 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
24 | --- | ||
25 | configure.ac | 50 +++++++++++++++++++++++++++ | ||
26 | src/Makefile.am | 21 +++++++++-- | ||
27 | src/{libtirpc.map => libtirpc.map.in} | 48 +++++-------------------- | ||
28 | 3 files changed, 77 insertions(+), 42 deletions(-) | ||
29 | rename src/{libtirpc.map => libtirpc.map.in} (84%) | ||
30 | |||
31 | --- a/configure.ac | ||
32 | +++ b/configure.ac | ||
33 | @@ -77,6 +77,19 @@ if test "x$enable_ipv6" != xno; then | ||
34 | AC_DEFINE(INET6, 1, [Define to 1 if IPv6 is available]) | ||
35 | fi | ||
36 | |||
37 | +# RPC database support | ||
38 | +AC_ARG_ENABLE(rpcdb, | ||
39 | + [AS_HELP_STRING([--enable-rpcdb], [Enable RPC Database support @<:@default=no@:>@])], | ||
40 | + [], [enable_rpcdb=no]) | ||
41 | +AM_CONDITIONAL(RPCDB, test "x$enable_rpcdb" = xyes) | ||
42 | +if test "x$enable_rpcdb" != "xno"; then | ||
43 | + AC_CHECK_FUNCS([getrpcent getrpcbyname getrpcbynumber], [have_rpcdb=yes]) | ||
44 | + | ||
45 | + if test "x$have_rpcdb" = "xyes"; then | ||
46 | + AC_DEFINE([RPCDB], [1], [Define if RPC database support is available]) | ||
47 | + fi | ||
48 | +fi | ||
49 | + | ||
50 | AC_ARG_ENABLE(symvers, | ||
51 | [AS_HELP_STRING([--disable-symvers],[Disable symbol versioning @<:@default=no@:>@])], | ||
52 | [],[enable_symvers=maybe]) | ||
53 | @@ -97,6 +110,33 @@ fi | ||
54 | |||
55 | AM_CONDITIONAL(SYMVERS, test "x$enable_symvers" = xyes) | ||
56 | |||
57 | +# Generate symbol lists for version script | ||
58 | +if test "x$enable_gssapi" = "xyes"; then | ||
59 | + GSS_SYMBOLS="_svcauth_gss; authgss_create; authgss_create_default; authgss_free_private_data; authgss_get_private_data; authgss_service; gss_log_debug; gss_log_hexdump; gss_log_status; rpc_gss_get_error; rpc_gss_get_mech_info; rpc_gss_get_mechanisms; rpc_gss_get_principal_name; rpc_gss_get_versions; rpc_gss_qop_to_num; rpc_gss_seccreate; rpc_gss_set_callback; rpc_gss_set_defaults; rpc_gss_set_svc_name; rpc_gss_svc_max_data_length;" | ||
60 | + | ||
61 | + GSS_SYMBOLS_031="svcauth_gss_get_principal; svcauth_gss_set_svc_name;" | ||
62 | +else | ||
63 | + GSS_SYMBOLS="" | ||
64 | + GSS_SYMBOLS_031="" | ||
65 | +fi | ||
66 | + | ||
67 | +if test "x$enable_authdes" = "xyes"; then | ||
68 | + DES_SYMBOLS="cbc_crypt; ecb_crypt; xdr_authdes_cred; xdr_authdes_verf; xdr_rpc_gss_cred; xdr_rpc_gss_data; xdr_rpc_gss_init_args; xdr_rpc_gss_init_res;" | ||
69 | +else | ||
70 | + DES_SYMBOLS="" | ||
71 | +fi | ||
72 | + | ||
73 | +if test "x$enable_rpcdb" = "xyes"; then | ||
74 | + RPCDB_SYMBOLS="endrpcent; getrpcent; getrpcbynumber; getrpcbyname; setrpcent;" | ||
75 | +else | ||
76 | + RPCDB_SYMBOLS="" | ||
77 | +fi | ||
78 | + | ||
79 | +AC_SUBST([GSS_SYMBOLS]) | ||
80 | +AC_SUBST([GSS_SYMBOLS_031]) | ||
81 | +AC_SUBST([DES_SYMBOLS]) | ||
82 | +AC_SUBST([RPCDB_SYMBOLS]) | ||
83 | + | ||
84 | AC_CANONICAL_BUILD | ||
85 | # Check for which host we are on and setup a few things | ||
86 | # specifically based on the host | ||
87 | @@ -167,7 +207,16 @@ AC_CHECK_FUNCS([getpeereid getrpcbyname | ||
88 | AC_CHECK_TYPES(struct rpcent,,, [ | ||
89 | #include <netdb.h>]) | ||
90 | AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile]) | ||
91 | +AC_CONFIG_FILES([src/libtirpc.map]) | ||
92 | AC_CONFIG_FILES([libtirpc.pc]) | ||
93 | AC_OUTPUT | ||
94 | |||
95 | +# Configuration summary | ||
96 | +AC_MSG_NOTICE([ | ||
97 | +libtirpc configuration summary: | ||
98 | + GSS-API support: $enable_gssapi | ||
99 | + DES crypto support: $enable_authdes | ||
100 | + RPC database support: $enable_rpcdb | ||
101 | + Symbol versioning: $enable_symvers | ||
102 | +]) | ||
103 | |||
104 | --- a/src/Makefile.am | ||
105 | +++ b/src/Makefile.am | ||
106 | @@ -6,6 +6,9 @@ | ||
107 | ## anything like that. | ||
108 | |||
109 | noinst_HEADERS = rpc_com.h debug.h | ||
110 | +EXTRA_DIST = libtirpc.map.in | ||
111 | +# Generated files | ||
112 | +BUILT_SOURCES = libtirpc.map | ||
113 | |||
114 | AM_CPPFLAGS = -I$(top_srcdir)/tirpc -include config.h -DPORTMAP -DINET6 \ | ||
115 | -D_GNU_SOURCE -Wall -pipe | ||
116 | @@ -15,10 +18,19 @@ lib_LTLIBRARIES = libtirpc.la | ||
117 | libtirpc_la_LDFLAGS = @LDFLAG_NOUNDEFINED@ -no-undefined @PTHREAD_LIBS@ | ||
118 | libtirpc_la_LDFLAGS += -version-info @LT_VERSION_INFO@ | ||
119 | |||
120 | +# Generate version script from template | ||
121 | +libtirpc.map: $(srcdir)/libtirpc.map.in | ||
122 | + $(AM_V_GEN)$(SED) \ | ||
123 | + -e 's|@GSS_SYMBOLS@|$(GSS_SYMBOLS)|g' \ | ||
124 | + -e 's|@GSS_SYMBOLS_031@|$(GSS_SYMBOLS_031)|g' \ | ||
125 | + -e 's|@DES_SYMBOLS@|$(DES_SYMBOLS)|g' \ | ||
126 | + -e 's|@RPCDB_SYMBOLS@|$(RPCDB_SYMBOLS)|g' \ | ||
127 | + < $(srcdir)/libtirpc.map.in > $@ || rm -f $@ | ||
128 | + | ||
129 | libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c \ | ||
130 | binddynport.c bindresvport.c \ | ||
131 | clnt_bcast.c clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \ | ||
132 | - clnt_vc.c rpc_dtablesize.c getnetconfig.c getnetpath.c getrpcent.c \ | ||
133 | + clnt_vc.c rpc_dtablesize.c getnetconfig.c getnetpath.c \ | ||
134 | getrpcport.c mt_misc.c pmap_clnt.c pmap_getmaps.c pmap_getport.c \ | ||
135 | pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \ | ||
136 | rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \ | ||
137 | @@ -34,19 +46,23 @@ endif | ||
138 | libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c xdr_sizeof.c | ||
139 | |||
140 | if SYMVERS | ||
141 | - libtirpc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libtirpc.map | ||
142 | + libtirpc_la_LDFLAGS += -Wl,--version-script=$(builddir)/libtirpc.map | ||
143 | endif | ||
144 | |||
145 | ## Secure-RPC | ||
146 | if GSS | ||
147 | - libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c \ | ||
148 | - rpc_gss_utils.c | ||
149 | - libtirpc_la_LIBADD = $(GSSAPI_LIBS) | ||
150 | - libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS) | ||
151 | +libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c rpc_gss_utils.c | ||
152 | +libtirpc_la_LIBADD = $(GSSAPI_LIBS) | ||
153 | +libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS) | ||
154 | +endif | ||
155 | + | ||
156 | +# Conditionally add RPC database sources | ||
157 | +if RPCDB | ||
158 | +libtirpc_la_SOURCES += getrpcent.c | ||
159 | endif | ||
160 | |||
161 | libtirpc_la_SOURCES += key_call.c key_prot_xdr.c getpublickey.c | ||
162 | libtirpc_la_SOURCES += netname.c netnamer.c rpcdname.c rtime.c | ||
163 | |||
164 | -CLEANFILES = cscope.* *~ | ||
165 | +CLEANFILES = cscope.* libtirpc.map *~ | ||
166 | DISTCLEANFILES = Makefile.in | ||
167 | --- a/src/libtirpc.map | ||
168 | +++ /dev/null | ||
169 | @@ -1,335 +0,0 @@ | ||
170 | -TIRPC_0.3.0 { | ||
171 | - global: | ||
172 | - # __* | ||
173 | - __rpc_createerr; | ||
174 | - __rpc_dtbsize; | ||
175 | - __rpc_endconf; | ||
176 | - __rpc_fd2sockinfo; | ||
177 | - __rpc_fixup_addr; | ||
178 | - __rpc_get_a_size; | ||
179 | - __rpc_get_local_uid; | ||
180 | - __rpc_get_t_size; | ||
181 | - __rpc_getconf; | ||
182 | - __rpc_getconfip; | ||
183 | - __rpc_nconf2fd; | ||
184 | - __rpc_nconf2fd_flags; | ||
185 | - __rpc_nconf2sockinfo; | ||
186 | - __rpc_rawcombuf; | ||
187 | - __rpc_seman2socktype; | ||
188 | - __rpc_setconf; | ||
189 | - __rpc_sockinfo2netid; | ||
190 | - __rpc_sockisbound; | ||
191 | - __rpc_socktype2seman; | ||
192 | - __rpc_taddr2uaddr_af; | ||
193 | - __rpc_uaddr2taddr_af; | ||
194 | - __rpcgettp; | ||
195 | - | ||
196 | - # _* | ||
197 | - _authenticate; | ||
198 | - _get_next_token; | ||
199 | - _gss_authenticate; | ||
200 | - _null_auth; | ||
201 | - _rpc_dtablesize; | ||
202 | - _seterr_reply; | ||
203 | - _svcauth_none; | ||
204 | - _svcauth_short; | ||
205 | - _svcauth_unix; | ||
206 | - _svcauth_gss; | ||
207 | - | ||
208 | - # a* | ||
209 | - authdes_create; | ||
210 | - authdes_seccreate; | ||
211 | - authgss_create; | ||
212 | - authgss_create_default; | ||
213 | - authgss_free_private_data; | ||
214 | - authgss_get_private_data; | ||
215 | - authgss_service; | ||
216 | - authnone_create; | ||
217 | - authunix_create; | ||
218 | - authunix_create_default; | ||
219 | - | ||
220 | - # b* | ||
221 | - bindresvport; | ||
222 | - bindresvport_sa; | ||
223 | - | ||
224 | - # c* | ||
225 | - callrpc; | ||
226 | - cbc_crypt; | ||
227 | - clnt_broadcast; | ||
228 | - clnt_create; | ||
229 | - clnt_create_timed; | ||
230 | - clnt_create_vers; | ||
231 | - clnt_create_vers_timed; | ||
232 | - clnt_dg_create; | ||
233 | - clnt_pcreateerror; | ||
234 | - clnt_perrno; | ||
235 | - clnt_perror; | ||
236 | - clnt_raw_create; | ||
237 | - clnt_spcreateerror; | ||
238 | - clnt_sperrno; | ||
239 | - clnt_sperror; | ||
240 | - clnt_tli_create; | ||
241 | - clnt_tp_create; | ||
242 | - clnt_tp_create_timed; | ||
243 | - clnt_vc_create; | ||
244 | - clntraw_create; | ||
245 | - clnttcp_create; | ||
246 | - clntudp_bufcreate; | ||
247 | - clntudp_create; | ||
248 | - clntunix_create; | ||
249 | - | ||
250 | - # e* | ||
251 | - ecb_crypt; | ||
252 | - endnetconfig; | ||
253 | - endnetpath; | ||
254 | - endrpcent; | ||
255 | - | ||
256 | - # f* | ||
257 | - freenetconfigent; | ||
258 | - | ||
259 | - # g* | ||
260 | - get_myaddress; | ||
261 | - getnetconfig; | ||
262 | - getnetconfigent; | ||
263 | - getnetpath; | ||
264 | - getrpcent; | ||
265 | - getrpcbynumber; | ||
266 | - getrpcbyname; | ||
267 | - getrpcport; | ||
268 | - gss_log_debug; | ||
269 | - gss_log_hexdump; | ||
270 | - gss_log_status; | ||
271 | - | ||
272 | - # n* | ||
273 | - nc_perror; | ||
274 | - nc_sperror; | ||
275 | - | ||
276 | - # p* | ||
277 | - pmap_getmaps; | ||
278 | - pmap_getport; | ||
279 | - pmap_rmtcall; | ||
280 | - pmap_set; | ||
281 | - pmap_unset; | ||
282 | - | ||
283 | - # r* | ||
284 | - registerrpc; | ||
285 | - rpc_broadcast; | ||
286 | - rpc_broadcast_exp; | ||
287 | - rpc_call; | ||
288 | - rpc_control; | ||
289 | - rpc_createerr; | ||
290 | - rpc_gss_get_error; | ||
291 | - rpc_gss_get_mech_info; | ||
292 | - rpc_gss_get_mechanisms; | ||
293 | - rpc_gss_get_principal_name; | ||
294 | - rpc_gss_get_versions; | ||
295 | - rpc_gss_getcred; | ||
296 | - rpc_gss_is_installed; | ||
297 | - rpc_gss_max_data_length; | ||
298 | - rpc_gss_mech_to_oid; | ||
299 | - rpc_gss_qop_to_num; | ||
300 | - rpc_gss_seccreate; | ||
301 | - rpc_gss_set_callback; | ||
302 | - rpc_gss_set_defaults; | ||
303 | - rpc_gss_set_svc_name; | ||
304 | - rpc_gss_svc_max_data_length; | ||
305 | - rpc_nullproc; | ||
306 | - rpc_reg; | ||
307 | - rpcb_getaddr; | ||
308 | - rpcb_getmaps; | ||
309 | - rpcb_gettime; | ||
310 | - rpcb_rmtcall; | ||
311 | - rpcb_set; | ||
312 | - rpcb_taddr2uaddr; | ||
313 | - rpcb_uaddr2taddr; | ||
314 | - rpcb_unset; | ||
315 | - | ||
316 | - # s* | ||
317 | - setnetconfig; | ||
318 | - setnetpath; | ||
319 | - setrpcent; | ||
320 | - svc_auth_reg; | ||
321 | - svc_create; | ||
322 | - svc_dg_create; | ||
323 | - svc_dg_enablecache; | ||
324 | - svc_exit; | ||
325 | - svc_fd_create; | ||
326 | - svc_fdset; | ||
327 | - svc_getreq; | ||
328 | - svc_getreq_common; | ||
329 | - svc_getreq_poll; | ||
330 | - svc_getreqset; | ||
331 | - svc_maxfd; | ||
332 | - svc_raw_create; | ||
333 | - svc_reg; | ||
334 | - svc_register; | ||
335 | - svc_run; | ||
336 | - svc_sendreply; | ||
337 | - svc_tli_create; | ||
338 | - svc_tp_create; | ||
339 | - svc_unreg; | ||
340 | - svc_unregister; | ||
341 | - svc_vc_create; | ||
342 | - svcerr_auth; | ||
343 | - svcerr_decode; | ||
344 | - svcerr_noproc; | ||
345 | - svcerr_noprog; | ||
346 | - svcerr_progvers; | ||
347 | - svcerr_systemerr; | ||
348 | - svcerr_weakauth; | ||
349 | - svcfd_create; | ||
350 | - svcraw_create; | ||
351 | - svctcp_create; | ||
352 | - svcudp_bufcreate; | ||
353 | - svcudp_create; | ||
354 | - svcunix_create; | ||
355 | - svcunixfd_create; | ||
356 | - | ||
357 | - # t* | ||
358 | - taddr2uaddr; | ||
359 | - | ||
360 | - # u* | ||
361 | - uaddr2taddr; | ||
362 | - | ||
363 | - # x* | ||
364 | - xdr_accepted_reply; | ||
365 | - xdr_array; | ||
366 | - xdr_authdes_cred; | ||
367 | - xdr_authdes_verf; | ||
368 | - xdr_authunix_parms; | ||
369 | - xdr_bool; | ||
370 | - xdr_bytes; | ||
371 | - xdr_callhdr; xdr_callmsg; | ||
372 | - xdr_char; | ||
373 | - xdr_des_block; | ||
374 | - xdr_double; | ||
375 | - xdr_enum; | ||
376 | - xdr_float; | ||
377 | - xdr_free; | ||
378 | - xdr_hyper; | ||
379 | - xdr_int16_t; | ||
380 | - xdr_int32_t; | ||
381 | - xdr_int64_t; | ||
382 | - xdr_int8_t; | ||
383 | - xdr_int; | ||
384 | - xdr_long; | ||
385 | - xdr_longlong_t; | ||
386 | - xdr_netbuf; | ||
387 | - xdr_netobj; | ||
388 | - xdr_opaque; | ||
389 | - xdr_opaque_auth; | ||
390 | - xdr_pmap; | ||
391 | - xdr_pmaplist; | ||
392 | - xdr_pmaplist_ptr; | ||
393 | - xdr_pointer; | ||
394 | - xdr_quad_t; | ||
395 | - xdr_reference; | ||
396 | - xdr_rejected_reply; | ||
397 | - xdr_replymsg; | ||
398 | - xdr_rmtcall_args; | ||
399 | - xdr_rmtcallres; | ||
400 | - xdr_rpc_gss_cred; | ||
401 | - xdr_rpc_gss_data; | ||
402 | - xdr_rpc_gss_init_args; | ||
403 | - xdr_rpc_gss_init_res; | ||
404 | - xdr_rpcb; | ||
405 | - xdr_rpcb_entry; | ||
406 | - xdr_rpcb_entry_list_ptr; | ||
407 | - xdr_rpcb_rmtcallargs; | ||
408 | - xdr_rpcb_rmtcallres; | ||
409 | - xdr_rpcb_stat; | ||
410 | - xdr_rpcb_stat_byvers; | ||
411 | - xdr_rpcblist; | ||
412 | - xdr_rpcblist_ptr; | ||
413 | - xdr_rpcbs_addrlist; | ||
414 | - xdr_rpcbs_addrlist_ptr; | ||
415 | - xdr_rpcbs_proc; | ||
416 | - xdr_rpcbs_rmtcalllist; | ||
417 | - xdr_rpcbs_rmtcalllist_ptr; | ||
418 | - xdr_short; | ||
419 | - xdr_string; | ||
420 | - xdr_u_char; | ||
421 | - xdr_u_hyper; | ||
422 | - xdr_u_int16_t; | ||
423 | - xdr_u_int32_t; | ||
424 | - xdr_u_int64_t; | ||
425 | - xdr_u_int8_t; | ||
426 | - xdr_u_int; | ||
427 | - xdr_u_long; | ||
428 | - xdr_u_longlong_t; | ||
429 | - xdr_u_quad_t; | ||
430 | - xdr_u_short; | ||
431 | - xdr_uint16_t; | ||
432 | - xdr_uint32_t; | ||
433 | - xdr_uint64_t; | ||
434 | - xdr_uint8_t; | ||
435 | - xdr_union; | ||
436 | - xdr_vector; | ||
437 | - xdr_void; | ||
438 | - xdr_wrapstring; | ||
439 | - xdrmem_create; | ||
440 | - xdrrec_create; | ||
441 | - xdrrec_endofrecord; | ||
442 | - xdrrec_eof; | ||
443 | - xdrrec_skiprecord; | ||
444 | - xdrstdio_create; | ||
445 | - xprt_register; | ||
446 | - xprt_unregister; | ||
447 | - | ||
448 | - local: | ||
449 | - *; | ||
450 | -}; | ||
451 | - | ||
452 | -TIRPC_0.3.1 { | ||
453 | - svcauth_gss_get_principal; | ||
454 | - svcauth_gss_set_svc_name; | ||
455 | -} TIRPC_0.3.0; | ||
456 | - | ||
457 | -TIRPC_0.3.2 { | ||
458 | - getnetname; | ||
459 | - getpublicandprivatekey; | ||
460 | - getpublickey; | ||
461 | - host2netname; | ||
462 | - key_call_destroy; | ||
463 | - key_decryptsession; | ||
464 | - key_decryptsession_pk; | ||
465 | - key_encryptsession; | ||
466 | - key_encryptsession_pk; | ||
467 | - key_gendes; | ||
468 | - key_get_conv; | ||
469 | - key_setsecret; | ||
470 | - key_secretkey_is_set; | ||
471 | - key_setnet; | ||
472 | - netname2host; | ||
473 | - netname2user; | ||
474 | - rtime; | ||
475 | - user2netname; | ||
476 | - xdr_cryptkeyarg; | ||
477 | - xdr_cryptkeyarg2; | ||
478 | - xdr_cryptkeyres; | ||
479 | - xdr_getcredres; | ||
480 | - xdr_key_netstarg; | ||
481 | - xdr_key_netstres; | ||
482 | - xdr_keybuf; | ||
483 | - xdr_keystatus; | ||
484 | - xdr_netnamestr; | ||
485 | - xdr_unixcred; | ||
486 | -} TIRPC_0.3.1; | ||
487 | - | ||
488 | -TIRPC_0.3.3 { | ||
489 | - __getpublickey_LOCAL; | ||
490 | - __key_decryptsession_pk_LOCAL; | ||
491 | - __key_encryptsession_pk_LOCAL; | ||
492 | - __key_gendes_LOCAL; | ||
493 | - xdr_sizeof; | ||
494 | - authdes_pk_create; | ||
495 | - svc_pollfd; | ||
496 | - svc_max_pollfd; | ||
497 | -} TIRPC_0.3.2; | ||
498 | - | ||
499 | -TIRPC_PRIVATE { | ||
500 | - global: | ||
501 | - __libc_clntudp_bufcreate; | ||
502 | - # private, but used by rpcbind: | ||
503 | - __svc_clean_idle; svc_auth_none; libtirpc_set_debug; | ||
504 | -}; | ||
505 | --- /dev/null | ||
506 | +++ b/src/libtirpc.map.in | ||
507 | @@ -0,0 +1,303 @@ | ||
508 | +TIRPC_0.3.0 { | ||
509 | + global: | ||
510 | + # __* | ||
511 | + __rpc_createerr; | ||
512 | + __rpc_dtbsize; | ||
513 | + __rpc_endconf; | ||
514 | + __rpc_fd2sockinfo; | ||
515 | + __rpc_fixup_addr; | ||
516 | + __rpc_get_a_size; | ||
517 | + __rpc_get_local_uid; | ||
518 | + __rpc_get_t_size; | ||
519 | + __rpc_getconf; | ||
520 | + __rpc_getconfip; | ||
521 | + __rpc_nconf2fd; | ||
522 | + __rpc_nconf2fd_flags; | ||
523 | + __rpc_nconf2sockinfo; | ||
524 | + __rpc_rawcombuf; | ||
525 | + __rpc_seman2socktype; | ||
526 | + __rpc_setconf; | ||
527 | + __rpc_sockinfo2netid; | ||
528 | + __rpc_sockisbound; | ||
529 | + __rpc_socktype2seman; | ||
530 | + __rpc_taddr2uaddr_af; | ||
531 | + __rpc_uaddr2taddr_af; | ||
532 | + __rpcgettp; | ||
533 | + | ||
534 | + # _* | ||
535 | + _authenticate; | ||
536 | + _get_next_token; | ||
537 | + _gss_authenticate; | ||
538 | + _null_auth; | ||
539 | + _rpc_dtablesize; | ||
540 | + _seterr_reply; | ||
541 | + _svcauth_none; | ||
542 | + _svcauth_short; | ||
543 | + _svcauth_unix; | ||
544 | + | ||
545 | + # a* | ||
546 | + authdes_create; | ||
547 | + authdes_seccreate; | ||
548 | + authnone_create; | ||
549 | + authunix_create; | ||
550 | + authunix_create_default; | ||
551 | + | ||
552 | + # b* | ||
553 | + bindresvport; | ||
554 | + bindresvport_sa; | ||
555 | + | ||
556 | + # c* | ||
557 | + callrpc; | ||
558 | + clnt_broadcast; | ||
559 | + clnt_create; | ||
560 | + clnt_create_timed; | ||
561 | + clnt_create_vers; | ||
562 | + clnt_create_vers_timed; | ||
563 | + clnt_dg_create; | ||
564 | + clnt_pcreateerror; | ||
565 | + clnt_perrno; | ||
566 | + clnt_perror; | ||
567 | + clnt_raw_create; | ||
568 | + clnt_spcreateerror; | ||
569 | + clnt_sperrno; | ||
570 | + clnt_sperror; | ||
571 | + clnt_tli_create; | ||
572 | + clnt_tp_create; | ||
573 | + clnt_tp_create_timed; | ||
574 | + clnt_vc_create; | ||
575 | + clntraw_create; | ||
576 | + clnttcp_create; | ||
577 | + clntudp_bufcreate; | ||
578 | + clntudp_create; | ||
579 | + clntunix_create; | ||
580 | + | ||
581 | + # e* | ||
582 | + endnetconfig; | ||
583 | + endnetpath; | ||
584 | + | ||
585 | + # f* | ||
586 | + freenetconfigent; | ||
587 | + | ||
588 | + # g* | ||
589 | + get_myaddress; | ||
590 | + getnetconfig; | ||
591 | + getnetconfigent; | ||
592 | + getnetpath; | ||
593 | + getrpcport; | ||
594 | + | ||
595 | + # n* | ||
596 | + nc_perror; | ||
597 | + nc_sperror; | ||
598 | + | ||
599 | + # p* | ||
600 | + pmap_getmaps; | ||
601 | + pmap_getport; | ||
602 | + pmap_rmtcall; | ||
603 | + pmap_set; | ||
604 | + pmap_unset; | ||
605 | + | ||
606 | + # r* | ||
607 | + registerrpc; | ||
608 | + rpc_broadcast; | ||
609 | + rpc_broadcast_exp; | ||
610 | + rpc_call; | ||
611 | + rpc_control; | ||
612 | + rpc_createerr; | ||
613 | + rpc_nullproc; | ||
614 | + rpc_reg; | ||
615 | + rpcb_getaddr; | ||
616 | + rpcb_getmaps; | ||
617 | + rpcb_gettime; | ||
618 | + rpcb_rmtcall; | ||
619 | + rpcb_set; | ||
620 | + rpcb_taddr2uaddr; | ||
621 | + rpcb_uaddr2taddr; | ||
622 | + rpcb_unset; | ||
623 | + | ||
624 | + # s* | ||
625 | + setnetconfig; | ||
626 | + setnetpath; | ||
627 | + svc_auth_reg; | ||
628 | + svc_create; | ||
629 | + svc_dg_create; | ||
630 | + svc_dg_enablecache; | ||
631 | + svc_exit; | ||
632 | + svc_fd_create; | ||
633 | + svc_fdset; | ||
634 | + svc_getreq; | ||
635 | + svc_getreq_common; | ||
636 | + svc_getreq_poll; | ||
637 | + svc_getreqset; | ||
638 | + svc_maxfd; | ||
639 | + svc_raw_create; | ||
640 | + svc_reg; | ||
641 | + svc_register; | ||
642 | + svc_run; | ||
643 | + svc_sendreply; | ||
644 | + svc_tli_create; | ||
645 | + svc_tp_create; | ||
646 | + svc_unreg; | ||
647 | + svc_unregister; | ||
648 | + svc_vc_create; | ||
649 | + svcerr_auth; | ||
650 | + svcerr_decode; | ||
651 | + svcerr_noproc; | ||
652 | + svcerr_noprog; | ||
653 | + svcerr_progvers; | ||
654 | + svcerr_systemerr; | ||
655 | + svcerr_weakauth; | ||
656 | + svcfd_create; | ||
657 | + svcraw_create; | ||
658 | + svctcp_create; | ||
659 | + svcudp_bufcreate; | ||
660 | + svcudp_create; | ||
661 | + svcunix_create; | ||
662 | + svcunixfd_create; | ||
663 | + | ||
664 | + # t* | ||
665 | + taddr2uaddr; | ||
666 | + | ||
667 | + # u* | ||
668 | + uaddr2taddr; | ||
669 | + | ||
670 | + # x* | ||
671 | + xdr_accepted_reply; | ||
672 | + xdr_array; | ||
673 | + xdr_authunix_parms; | ||
674 | + xdr_bool; | ||
675 | + xdr_bytes; | ||
676 | + xdr_callhdr; xdr_callmsg; | ||
677 | + xdr_char; | ||
678 | + xdr_des_block; | ||
679 | + xdr_double; | ||
680 | + xdr_enum; | ||
681 | + xdr_float; | ||
682 | + xdr_free; | ||
683 | + xdr_hyper; | ||
684 | + xdr_int16_t; | ||
685 | + xdr_int32_t; | ||
686 | + xdr_int64_t; | ||
687 | + xdr_int8_t; | ||
688 | + xdr_int; | ||
689 | + xdr_long; | ||
690 | + xdr_longlong_t; | ||
691 | + xdr_netbuf; | ||
692 | + xdr_netobj; | ||
693 | + xdr_opaque; | ||
694 | + xdr_opaque_auth; | ||
695 | + xdr_pmap; | ||
696 | + xdr_pmaplist; | ||
697 | + xdr_pmaplist_ptr; | ||
698 | + xdr_pointer; | ||
699 | + xdr_quad_t; | ||
700 | + xdr_reference; | ||
701 | + xdr_rejected_reply; | ||
702 | + xdr_replymsg; | ||
703 | + xdr_rmtcall_args; | ||
704 | + xdr_rmtcallres; | ||
705 | + xdr_rpcb; | ||
706 | + xdr_rpcb_entry; | ||
707 | + xdr_rpcb_entry_list_ptr; | ||
708 | + xdr_rpcb_rmtcallargs; | ||
709 | + xdr_rpcb_rmtcallres; | ||
710 | + xdr_rpcb_stat; | ||
711 | + xdr_rpcb_stat_byvers; | ||
712 | + xdr_rpcblist; | ||
713 | + xdr_rpcblist_ptr; | ||
714 | + xdr_rpcbs_addrlist; | ||
715 | + xdr_rpcbs_addrlist_ptr; | ||
716 | + xdr_rpcbs_proc; | ||
717 | + xdr_rpcbs_rmtcalllist; | ||
718 | + xdr_rpcbs_rmtcalllist_ptr; | ||
719 | + xdr_short; | ||
720 | + xdr_string; | ||
721 | + xdr_u_char; | ||
722 | + xdr_u_hyper; | ||
723 | + xdr_u_int16_t; | ||
724 | + xdr_u_int32_t; | ||
725 | + xdr_u_int64_t; | ||
726 | + xdr_u_int8_t; | ||
727 | + xdr_u_int; | ||
728 | + xdr_u_long; | ||
729 | + xdr_u_longlong_t; | ||
730 | + xdr_u_quad_t; | ||
731 | + xdr_u_short; | ||
732 | + xdr_uint16_t; | ||
733 | + xdr_uint32_t; | ||
734 | + xdr_uint64_t; | ||
735 | + xdr_uint8_t; | ||
736 | + xdr_union; | ||
737 | + xdr_vector; | ||
738 | + xdr_void; | ||
739 | + xdr_wrapstring; | ||
740 | + xdrmem_create; | ||
741 | + xdrrec_create; | ||
742 | + xdrrec_endofrecord; | ||
743 | + xdrrec_eof; | ||
744 | + xdrrec_skiprecord; | ||
745 | + xdrstdio_create; | ||
746 | + xprt_register; | ||
747 | + xprt_unregister; | ||
748 | + # GSS-API symbols (conditionally included) | ||
749 | +@GSS_SYMBOLS@ | ||
750 | + # DES crypto symbols (conditionally included) | ||
751 | +@DES_SYMBOLS@ | ||
752 | + # RPC database symbols (conditionally included) | ||
753 | +@RPCDB_SYMBOLS@ | ||
754 | + | ||
755 | + local: | ||
756 | + *; | ||
757 | +}; | ||
758 | + | ||
759 | +TIRPC_0.3.1 { | ||
760 | +# GSS-API symbols (conditionally included) | ||
761 | +@GSS_SYMBOLS_031@ | ||
762 | +} TIRPC_0.3.0; | ||
763 | + | ||
764 | +TIRPC_0.3.2 { | ||
765 | + getnetname; | ||
766 | + getpublicandprivatekey; | ||
767 | + getpublickey; | ||
768 | + host2netname; | ||
769 | + key_decryptsession; | ||
770 | + key_decryptsession_pk; | ||
771 | + key_encryptsession; | ||
772 | + key_encryptsession_pk; | ||
773 | + key_gendes; | ||
774 | + key_get_conv; | ||
775 | + key_setsecret; | ||
776 | + key_secretkey_is_set; | ||
777 | + key_setnet; | ||
778 | + netname2host; | ||
779 | + netname2user; | ||
780 | + rtime; | ||
781 | + user2netname; | ||
782 | + xdr_cryptkeyarg; | ||
783 | + xdr_cryptkeyarg2; | ||
784 | + xdr_cryptkeyres; | ||
785 | + xdr_getcredres; | ||
786 | + xdr_key_netstarg; | ||
787 | + xdr_key_netstres; | ||
788 | + xdr_keybuf; | ||
789 | + xdr_keystatus; | ||
790 | + xdr_netnamestr; | ||
791 | + xdr_unixcred; | ||
792 | +} TIRPC_0.3.1; | ||
793 | + | ||
794 | +TIRPC_0.3.3 { | ||
795 | + __getpublickey_LOCAL; | ||
796 | + __key_decryptsession_pk_LOCAL; | ||
797 | + __key_encryptsession_pk_LOCAL; | ||
798 | + __key_gendes_LOCAL; | ||
799 | + xdr_sizeof; | ||
800 | + authdes_pk_create; | ||
801 | + svc_pollfd; | ||
802 | + svc_max_pollfd; | ||
803 | +} TIRPC_0.3.2; | ||
804 | + | ||
805 | +TIRPC_PRIVATE { | ||
806 | + global: | ||
807 | + __libc_clntudp_bufcreate; | ||
808 | + # private, but used by rpcbind: | ||
809 | + __svc_clean_idle; svc_auth_none; libtirpc_set_debug; | ||
810 | +}; | ||
diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.3.6.bb b/meta/recipes-extended/libtirpc/libtirpc_1.3.6.bb index 6ea9a725db..31521bbcca 100644 --- a/meta/recipes-extended/libtirpc/libtirpc_1.3.6.bb +++ b/meta/recipes-extended/libtirpc/libtirpc_1.3.6.bb | |||
@@ -12,6 +12,7 @@ PROVIDES = "virtual/librpc" | |||
12 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \ | 12 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \ |
13 | file://0001-Update-declarations-to-allow-compile-with-gcc-15.patch \ | 13 | file://0001-Update-declarations-to-allow-compile-with-gcc-15.patch \ |
14 | file://0002-update-signal-and-key_call-declarations-to-allow-com.patch \ | 14 | file://0002-update-signal-and-key_call-declarations-to-allow-com.patch \ |
15 | file://0001-Add-conditional-version-script-support.patch \ | ||
15 | " | 16 | " |
16 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/" | 17 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/" |
17 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/" | 18 | UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/" |
@@ -24,8 +25,11 @@ inherit autotools pkgconfig | |||
24 | PACKAGECONFIG ??= "\ | 25 | PACKAGECONFIG ??= "\ |
25 | ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ | 26 | ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \ |
26 | " | 27 | " |
28 | PACKAGECONFIG:append:libc-musl = " rpcdb" | ||
29 | |||
27 | PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6" | 30 | PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6" |
28 | PACKAGECONFIG[gssapi] = "--enable-gssapi,--disable-gssapi,krb5" | 31 | PACKAGECONFIG[gssapi] = "--enable-gssapi,--disable-gssapi,krb5" |
32 | PACKAGECONFIG[rpcdb] = "--enable-rpcdb,--disable-rpcdb," | ||
29 | 33 | ||
30 | do_install:append() { | 34 | do_install:append() { |
31 | test -e ${D}${sysconfdir}/netconfig && chown root:root ${D}${sysconfdir}/netconfig | 35 | test -e ${D}${sysconfdir}/netconfig && chown root:root ${D}${sysconfdir}/netconfig |