freebsd-dev/lib/libc/rpc/Symbol.map
John Baldwin 6f88d2a870 Use thr_once() with once_t controls to initialize various thread_key_t
objects used to provide per-thread storage in the RPC code.  Almost all
of these used double-checking with a dedicated mutex (tsd_lock) to do this
before.  However, that is not always safe with more relaxed memory orders.
There were also other bugs, such as one in __rpc_createrr() that caused a
new key to be allocated each time __rpc_createrr() was invoked.

PR:		threads/144558
Reported by:	Sam Robb  samrobb of averesystems com (key leak)
MFC after:	1 week
2010-03-10 13:23:25 +00:00

248 lines
4.1 KiB
Plaintext

/*
* $FreeBSD$
*/
FBSD_1.0 {
/* From crypt_clnt.c (generated by rpcgen - include/rpcsvc/crypt.x) */
des_crypt_1;
/* From crypt_xdr.c (generated by rpcgen - include/rpcsvc/crypt.x) */
xdr_des_dir;
xdr_des_mode;
xdr_desargs;
xdr_desresp;
/* From yp_xdr.c (generated by rpcgen - include/rpcsvc/yp.x) */
xdr_domainname;
xdr_keydat;
xdr_mapname;
xdr_peername;
xdr_valdat;
xdr_ypbind_binding;
xdr_ypbind_resp;
xdr_ypbind_resptype;
xdr_ypbind_setdom;
xdr_ypmap_parms;
xdr_ypmaplist;
xdr_yppush_status;
xdr_yppushresp_xfr;
xdr_ypreq_key;
xdr_ypreq_nokey;
xdr_ypreq_xfr;
xdr_ypreqtype;
xdr_yprequest;
xdr_ypresp_all;
xdr_ypresp_key_val;
xdr_ypresp_maplist;
xdr_ypresp_master;
xdr_ypresp_order;
xdr_ypresp_val;
xdr_ypresp_xfr;
xdr_ypresponse;
xdr_ypresptype;
xdr_ypstat;
xdr_ypxfrstat;
authdes_seccreate;
authdes_pk_seccreate;
authnone_create;
authunix_create;
authunix_create_default;
xdr_authdes_cred;
xdr_authdes_verf;
xdr_authunix_parms;
bindresvport;
bindresvport_sa;
rpc_broadcast_exp;
rpc_broadcast;
clnt_dg_create;
clnt_create_vers;
clnt_create_vers_timed;
clnt_create;
clnt_create_timed;
clnt_tp_create;
clnt_tp_create_timed;
clnt_tli_create;
clnt_sperror;
clnt_perror;
clnt_sperrno;
clnt_perrno;
clnt_spcreateerror;
clnt_pcreateerror;
clnt_raw_create;
rpc_call;
clnt_vc_create;
cbc_crypt;
ecb_crypt;
des_setparity;
setnetconfig;
getnetconfig;
endnetconfig;
getnetconfigent;
freenetconfigent;
nc_sperror;
nc_perror;
setnetpath;
getnetpath;
endnetpath;
getpublicandprivatekey;
getpublickey;
getrpcbynumber;
getrpcbyname;
setrpcent;
endrpcent;
getrpcent;
getrpcport;
key_setsecret;
key_secretkey_is_set;
key_encryptsession_pk;
key_decryptsession_pk;
key_encryptsession;
key_decryptsession;
key_gendes;
key_setnet;
key_get_conv;
xdr_keystatus;
xdr_keybuf;
xdr_netnamestr;
xdr_cryptkeyarg;
xdr_cryptkeyarg2;
xdr_cryptkeyres;
xdr_unixcred;
xdr_getcredres;
xdr_key_netstarg;
xdr_key_netstres;
rpc_createerr;
__rpc_createerr;
getnetname;
user2netname;
host2netname;
netname2user;
netname2host;
pmap_set;
pmap_unset;
pmap_getmaps;
pmap_getport;
xdr_pmap;
xdr_pmaplist;
xdr_pmaplist_ptr;
pmap_rmtcall;
xdr_rmtcall_args;
xdr_rmtcallres;
xdr_callmsg;
_null_auth;
svc_fdset;
svc_maxfd;
_rpc_dtablesize;
__rpc_get_t_size;
__rpc_getconfip;
__rpc_setconf;
__rpc_getconf;
__rpc_endconf;
rpc_nullproc;
__rpc_fd2sockinfo;
__rpc_nconf2sockinfo;
__rpc_nconf2fd;
taddr2uaddr;
uaddr2taddr;
xdr_opaque_auth;
xdr_des_block;
xdr_accepted_reply;
xdr_rejected_reply;
xdr_replymsg;
xdr_callhdr;
_seterr_reply;
clntudp_bufcreate;
clntudp_create;
clnttcp_create;
clntraw_create;
svctcp_create;
svcudp_bufcreate;
svcfd_create;
svcudp_create;
svcraw_create;
get_myaddress;
callrpc;
registerrpc;
clnt_broadcast;
authdes_create;
clntunix_create;
svcunix_create;
svcunixfd_create;
rpcb_set;
rpcb_unset;
rpcb_getaddr;
rpcb_getmaps;
rpcb_rmtcall;
rpcb_gettime;
rpcb_taddr2uaddr;
rpcb_uaddr2taddr;
xdr_rpcb;
xdr_rpcblist_ptr;
xdr_rpcblist;
xdr_rpcb_entry;
xdr_rpcb_entry_list_ptr;
xdr_rpcb_rmtcallargs;
xdr_rpcb_rmtcallres;
xdr_netbuf;
xdr_rpcbs_addrlist;
xdr_rpcbs_rmtcalllist;
xdr_rpcbs_proc;
xdr_rpcbs_addrlist_ptr;
xdr_rpcbs_rmtcalllist_ptr;
xdr_rpcb_stat;
xdr_rpcb_stat_byvers;
rtime;
xprt_register;
xprt_unregister;
svc_reg;
svc_unreg;
svc_register;
svc_unregister;
svc_sendreply;
svcerr_noproc;
svcerr_decode;
svcerr_systemerr;
svcerr_auth;
svcerr_weakauth;
svcerr_noprog;
svcerr_progvers;
svc_getreq;
svc_getreqset;
svc_getreq_common;
svc_getreq_poll;
rpc_control;
_authenticate;
_svcauth_null;
svc_auth_reg;
_svcauth_des;
authdes_getucred;
_svcauth_unix;
_svcauth_short;
svc_dg_create;
svc_dg_enablecache;
svc_create;
svc_tp_create;
svc_tli_create;
__rpc_rawcombuf;
svc_raw_create;
svc_run;
svc_exit;
rpc_reg;
svc_vc_create;
svc_fd_create;
__rpc_get_local_uid;
};
FBSDprivate_1.0 {
__des_crypt_LOCAL;
__key_encryptsession_pk_LOCAL;
__key_decryptsession_pk_LOCAL;
__key_gendes_LOCAL;
__svc_clean_idle;
__rpc_gss_unwrap;
__rpc_gss_unwrap_stub;
__rpc_gss_wrap;
__rpc_gss_wrap_stub;
};