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 |
