6f88d2a870
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
248 lines
4.1 KiB
Plaintext
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;
|
|
};
|