diff options
71 files changed, 993 insertions, 623 deletions
@@ -1,3 +1,77 @@ +2011-04-16 Ulrich Drepper <drepper@gmail.com> + + * Makefile: Add rules to build linkobj/libc.so. + * include/libc-symbols.h: Define libc_hidden_nolink. + * include/rpc/auth.h: Mark functions which are to be hidden. + * include/rpc/auth_des.h: Likewise. + * include/rpc/auth_unix.h: Likewise. + * include/rpc/clnt.h: Likewise. + * include/rpc/des_crypt.h: Likewise. + * include/rpc/key_prot.h: Likewise. + * include/rpc/pmap_clnt.h: Likewise. + * include/rpc/pmap_prot.h: Likewise. + * include/rpc/pmap_rmt.h: Likewise. + * include/rpc/rpc_msg.h: Likewise. + * include/rpc/svc.h: Likewise. + * include/rpc/svc_auth.h: Likewise. + * include/rpc/xdr.h: Likewise. + * nis/Makefile: Link all DSOs against linkobj/libc.so. + * nss/Makefile: Likewise. + * sunrpc/Makefile: Don't install headers. Build library with normal + entry points. Don't build rpcinfo. Link RPC tests appropriately. + * sunrpc/auth_des.c: Hide exported symbols by default, export some + for the compat linking library. Remove use of INTDEF/INTUSE. + * sunrpc/auth_none.c: Likewise. + * sunrpc/auth_unix.c: Likewise. + * sunrpc/authdes_prot.c: Likewise. + * sunrpc/authuxprot.c: Likewise. + * sunrpc/clnt_gen.c: Likewise. + * sunrpc/clnt_perr.c: Likewise. + * sunrpc/clnt_raw.c: Likewise. + * sunrpc/clnt_simp.c: Likewise. + * sunrpc/clnt_tcp.c: Likewise. + * sunrpc/clnt_udp.c: Likewise. + * sunrpc/clnt_unix.c: Likewise. + * sunrpc/des_crypt.c: Likewise. + * sunrpc/des_soft.c: Likewise. + * sunrpc/get_myaddr.c: Likewise. + * sunrpc/key_call.c: Likewise. + * sunrpc/key_prot.c: Likewise. + * sunrpc/netname.c: Likewise. + * sunrpc/pm_getmaps.c: Likewise. + * sunrpc/pm_getport.c: Likewise. + * sunrpc/pmap_clnt.c: Likewise. + * sunrpc/pmap_prot.c: Likewise. + * sunrpc/pmap_prot2.c: Likewise. + * sunrpc/pmap_rmt.c: Likewise. + * sunrpc/publickey.c: Likewise. + * sunrpc/rpc_cmsg.c: Likewise. + * sunrpc/rpc_common.c: Likewise. + * sunrpc/rpc_dtable.c: Likewise. + * sunrpc/rpc_prot.c: Likewise. + * sunrpc/rpc_thread.c: Likewise. + * sunrpc/rtime.c: Likewise. + * sunrpc/svc.c: Likewise. + * sunrpc/svc_auth.c: Likewise. + * sunrpc/svc_authux.c: Likewise. + * sunrpc/svc_raw.c: Likewise. + * sunrpc/svc_run.c: Likewise. + * sunrpc/svc_simple.c: Likewise. + * sunrpc/svc_tcp.c: Likewise. + * sunrpc/svc_udp.c: Likewise. + * sunrpc/svc_unix.c: Likewise. + * sunrpc/svcauth_des.c: Likewise. + * sunrpc/xcrypt.c: Likewise. + * sunrpc/xdr.c: Likewise. + * sunrpc/xdr_array.c: Likewise. + * sunrpc/xdr_float.c: Likewise. + * sunrpc/xdr_intXX_t.c: Likewise. + * sunrpc/xdr_mem.c: Likewise. + * sunrpc/xdr_rec.c: Likewise. + * sunrpc/xdr_ref.c: Likewise. + * sunrpc/xdr_sizeof.c: Likewise. + * sunrpc/xdr_stdio.c: Likewise. + 2011-04-10 Ulrich Drepper <drepper@gmail.com> [BZ #12650] @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2002,2003,2004,2005,2006,2008,2009 +# Copyright (C) 1991-2002,2003,2004,2005,2006,2008,2009,2011 # Free Software Foundation, Inc. # This file is part of the GNU C Library. @@ -63,8 +63,8 @@ endif # $(AUTOCONF) = no +subdir_targets := subdir_lib objects objs others subdir_mostlyclean \ subdir_clean subdir_distclean subdir_realclean \ tests xtests subdir_lint.out \ - subdir_update-abi subdir_check-abi \ - subdir_echo-headers \ + subdir_update-abi subdir_check-abi \ + subdir_echo-headers \ subdir_install \ subdir_objs subdir_stubs subdir_testclean \ $(addprefix install-, no-libc.a bin lib data headers others) @@ -135,6 +135,20 @@ lib-noranlib: subdir_lib ifeq (yes,$(build-shared)) # Build the shared object from the PIC object library. lib: $(common-objpfx)libc.so + +lib: $(common-objpfx)linkobj/libc.so + +$(common-objpfx)linkobj/libc.so: $(elfobjdir)/soinit.os $(common-objpfx)linkobj/libc_pic.a $(elfobjdir)/sofini.os $(elfobjdir)/interp.os $(elfobjdir)/ld.so $(common-objpfx)shlib.lds $(common-objpfx)elf/ld.so + $(build-shlib) + +$(common-objpfx)linkobj/libc_pic.a: $(common-objpfx)libc_pic.a $(common-objpfx)sunrpc/librpc_compat_pic.a + $(..)./scripts/mkinstalldirs $(common-objpfx)linkobj + (cd $(common-objpfx)linkobj; \ + $(AR) x ../libc_pic.a; \ + rm $$($(AR) t ../sunrpc/librpc_compat_pic.a | sed 's/^compat-//'); \ + $(AR) x ../sunrpc/librpc_compat_pic.a; \ + $(AR) cr libc_pic.a *.os; \ + rm *.os) endif @@ -247,11 +261,11 @@ tests-clean: tests: $(objpfx)c++-types-check.out $(objpfx)check-local-headers.out ifneq ($(CXX),no) check-data := $(firstword $(wildcard \ - $(foreach D,$(add-ons) scripts,\ - $(patsubst %,$D/data/c++-types-%.data,\ - $(abi-name) \ - $(addsuffix -$(config-os),\ - $(config-machine) \ + $(foreach D,$(add-ons) scripts,\ + $(patsubst %,$D/data/c++-types-%.data,\ + $(abi-name) \ + $(addsuffix -$(config-os),\ + $(config-machine) \ $(base-machine)))))) ifneq (,$(check-data)) $(objpfx)c++-types-check.out: $(check-data) scripts/check-c++-types.sh @@ -408,18 +422,18 @@ install: remove-old-headers endif endif -headers2_0 := __math.h bytesex.h confname.h direntry.h elfclass.h \ - errnos.h fcntlbits.h huge_val.h ioctl-types.h \ - ioctls.h iovec.h jmp_buf.h libc-lock.h local_lim.h \ - mathcalls.h mpool.h nan.h ndbm.h posix1_lim.h \ - posix2_lim.h posix_opt.h resourcebits.h schedbits.h \ - selectbits.h semaphorebits.h sigaction.h sigcontext.h \ - signum.h sigset.h sockaddrcom.h socketbits.h stab.def \ - statbuf.h statfsbuf.h stdio-lock.h stdio_lim.h \ - syscall-list.h termbits.h timebits.h ustatbits.h \ - utmpbits.h utsnamelen.h waitflags.h waitstatus.h \ - xopen_lim.h gnu/types.h sys/ipc_buf.h \ - sys/kernel_termios.h sys/msq_buf.h sys/sem_buf.h \ +headers2_0 := __math.h bytesex.h confname.h direntry.h elfclass.h \ + errnos.h fcntlbits.h huge_val.h ioctl-types.h \ + ioctls.h iovec.h jmp_buf.h libc-lock.h local_lim.h \ + mathcalls.h mpool.h nan.h ndbm.h posix1_lim.h \ + posix2_lim.h posix_opt.h resourcebits.h schedbits.h \ + selectbits.h semaphorebits.h sigaction.h sigcontext.h \ + signum.h sigset.h sockaddrcom.h socketbits.h stab.def \ + statbuf.h statfsbuf.h stdio-lock.h stdio_lim.h \ + syscall-list.h termbits.h timebits.h ustatbits.h \ + utmpbits.h utsnamelen.h waitflags.h waitstatus.h \ + xopen_lim.h gnu/types.h sys/ipc_buf.h \ + sys/kernel_termios.h sys/msq_buf.h sys/sem_buf.h \ sys/shm_buf.h sys/socketcall.h sigstack.h .PHONY: remove-old-headers @@ -1,4 +1,4 @@ -GNU C Library NEWS -- history of user-visible changes. 2011-4-10 +GNU C Library NEWS -- history of user-visible changes. 2011-4-16 Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc. See the end for copying conditions. @@ -7,6 +7,12 @@ using `glibc' in the "product" field. Version 2.14 +* The RPC implementation in libc is obsoleted. Old programs keep working + but new programs cannot be linked with the routines in libc anymore. + Programs in need of RPC functionality must be linked against TI-RPC. + The TI-RPC implemtation is IPv6 enabled and there are other benefits. + Implemented by Ulrich Drepper. + * New Linux interfaces: clock_adjtime, name_to_handle_at, open_by_handle_at, syncfs diff --git a/include/libc-symbols.h b/include/libc-symbols.h index 252141e..67e1ca2 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -1,6 +1,7 @@ /* Support macros for making weak and strong aliases for symbols, and for using symbol sets and linker warnings with GNU ld. - Copyright (C) 1995-1998,2000-2006,2008,2009 Free Software Foundation, Inc. + Copyright (C) 1995-1998,2000-2006,2008,2009,2011 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -266,7 +267,7 @@ # else # define link_warning(symbol, msg) \ asm (".stabs \"" msg "\",30,0,0,0\n\t" \ - ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); + ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); # endif /* XCOFF */ # define libc_freeres_ptr(decl) decl # define __libc_freeres_fn_section @@ -585,6 +586,15 @@ for linking") # define hidden_weak(name) \ __hidden_ver1(__GI_##name, name, name) __attribute__((weak)); # define hidden_data_weak(name) hidden_weak(name) +# define hidden_nolink(name, lib, version) \ + __hidden_nolink1 (__GI_##name, __EI_##name, name, VERSION_##lib##_##version) +# define __hidden_nolink1(local, internal, name, version) \ + __hidden_nolink2 (local, internal, name, version) +# define __hidden_nolink2(local, internal, name, version) \ + extern __typeof (name) internal __attribute__ ((alias (#local))); \ + __hidden_nolink3 (local, internal, #name "@" #version) +# define __hidden_nolink3(local, internal, vername) \ + __asm__ (".symver " #internal ", " vername); # else /* For assembly, we need to do the opposite of what we do in C: in assembly gcc __REDIRECT stuff is not in place, so functions @@ -625,6 +635,7 @@ for linking") # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) # define libc_hidden_def(name) hidden_def (name) # define libc_hidden_weak(name) hidden_weak (name) +# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version) # define libc_hidden_ver(local, name) hidden_ver (local, name) # define libc_hidden_data_def(name) hidden_data_def (name) # define libc_hidden_data_weak(name) hidden_data_weak (name) diff --git a/include/rpc/auth.h b/include/rpc/auth.h index a03188e..0219fd9 100644 --- a/include/rpc/auth.h +++ b/include/rpc/auth.h @@ -13,7 +13,7 @@ extern int key_setnet (struct key_netstarg *arg); #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ##service ## _netname2user \ - (char netname[MAXNETNAMELEN + 1], uid_t *uidp, \ + (char netname[MAXNETNAMELEN + 1], uid_t *uidp, \ gid_t *gidp, int *gidlenp, gid_t *gidlist, \ int *errnop); @@ -22,23 +22,23 @@ DECLARE_NSS_PROTOTYPES (nisplus) #undef DECLARE_NSS_PROTOTYPES -extern bool_t xdr_des_block_internal (XDR *__xdrs, des_block *__blkp) - attribute_hidden; -extern bool_t xdr_opaque_auth_internal (XDR *, struct opaque_auth *) - attribute_hidden; - -extern AUTH *authunix_create_internal (char *__machname, __uid_t __uid, - __gid_t __gid, int __len, - __gid_t *__aup_gids) attribute_hidden; -extern AUTH *authunix_create_default_internal (void) attribute_hidden; -extern AUTH *authnone_create_internal (void) attribute_hidden; -extern AUTH *authdes_pk_create_internal (const char *, netobj *, u_int, - struct sockaddr *, - des_block *) attribute_hidden; - libc_hidden_proto (key_encryptsession_pk) libc_hidden_proto (key_decryptsession_pk) libc_hidden_proto (_null_auth) +libc_hidden_proto (authnone_create) +libc_hidden_proto (authunix_create) +libc_hidden_proto (authunix_create_default) +libc_hidden_proto (xdr_des_block) +libc_hidden_proto (xdr_opaque_auth) +libc_hidden_proto (authdes_create) +libc_hidden_proto (authdes_pk_create) +libc_hidden_proto (key_decryptsession) +libc_hidden_proto (key_encryptsession) +libc_hidden_proto (key_get_conv) +libc_hidden_proto (key_secretkey_is_set) +libc_hidden_proto (key_setnet) +libc_hidden_proto (key_setsecret) +libc_hidden_proto (netname2host) #endif diff --git a/include/rpc/auth_des.h b/include/rpc/auth_des.h index 6dee059..c14f069 100644 --- a/include/rpc/auth_des.h +++ b/include/rpc/auth_des.h @@ -3,6 +3,7 @@ #include <sunrpc/rpc/auth_des.h> libc_hidden_proto (getpublickey) +libc_hidden_proto (getsecretkey) libc_hidden_proto (rtime) extern bool_t xdr_authdes_cred (XDR *xdrs, struct authdes_cred *cred); @@ -16,9 +17,9 @@ extern enum auth_stat _svcauth_des (register struct svc_req *rqst, #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ## service ## _getpublickey \ - (const char *netname, char *pkey, int *errnop); \ + (const char *netname, char *pkey, int *errnop); \ extern enum nss_status _nss_ ## service ## _getsecretkey \ - (const char *netname, char *skey, char *passwd, \ + (const char *netname, char *skey, char *passwd, \ int *errnop); DECLARE_NSS_PROTOTYPES (files) @@ -27,4 +28,8 @@ DECLARE_NSS_PROTOTYPES (nisplus) #undef DECLARE_NSS_PROTOTYPES +libc_hidden_proto (authdes_getucred) +libc_hidden_proto (xdr_authdes_cred) +libc_hidden_proto (xdr_authdes_verf) + #endif diff --git a/include/rpc/auth_unix.h b/include/rpc/auth_unix.h index 14928cc..07031c9 100644 --- a/include/rpc/auth_unix.h +++ b/include/rpc/auth_unix.h @@ -1,4 +1,3 @@ #include <sunrpc/rpc/auth_unix.h> -extern bool_t xdr_authunix_parms_internal (XDR *__xdrs, - struct authunix_parms *__p); +libc_hidden_proto (xdr_authunix_parms) diff --git a/include/rpc/clnt.h b/include/rpc/clnt.h index 75d88a6..d79a6a7 100644 --- a/include/rpc/clnt.h +++ b/include/rpc/clnt.h @@ -4,44 +4,27 @@ /* Now define the internal interfaces. */ extern int _openchild (const char *command, FILE **fto, FILE **ffrom); -extern CLIENT *clnt_create_internal (__const char *__host, - __const u_long __prog, - __const u_long __vers, - __const char *__prot) attribute_hidden; -extern CLIENT *clnttcp_create_internal (struct sockaddr_in *__raddr, - u_long __prog, u_long __version, - int *__sockp, u_int __sendsz, - u_int __recvsz) attribute_hidden; -extern CLIENT *clntudp_create_internal (struct sockaddr_in *__raddr, - u_long __program, u_long __version, - struct timeval __wait_resend, - int *__sockp) attribute_hidden; -extern CLIENT *clntudp_bufcreate_internal (struct sockaddr_in *__raddr, - u_long __program, u_long __version, - struct timeval __wait_resend, - int *__sockp, u_int __sendsz, - u_int __recvsz) attribute_hidden; extern CLIENT *__libc_clntudp_bufcreate (struct sockaddr_in *__raddr, u_long __program, u_long __version, struct timeval __wait_resend, int *__sockp, u_int __sendsz, u_int __recvsz, int __flags); -extern CLIENT *__libc_clntudp_bufcreate_internal (struct sockaddr_in *__raddr, - u_long __program, - u_long __version, - struct timeval __wait_resend, - int *__sockp, u_int __sendsz, - u_int __recvsz, int __flags) - attribute_hidden; -extern CLIENT *clntunix_create_internal (struct sockaddr_un *__raddr, - u_long __program, u_long __version, - int *__sockp, u_int __sendsz, - u_int __recvsz) attribute_hidden; libc_hidden_proto (clnt_sperrno) libc_hidden_proto (clnt_spcreateerror) libc_hidden_proto (clnt_perror) libc_hidden_proto (clnt_sperror) libc_hidden_proto (_rpc_dtablesize) +libc_hidden_proto (callrpc) +libc_hidden_proto (clnt_create) +libc_hidden_proto (clnt_pcreateerror) +libc_hidden_proto (clnt_perrno) +libc_hidden_proto (clntraw_create) +libc_hidden_proto (clnttcp_create) +libc_hidden_proto (clntudp_bufcreate) +libc_hidden_proto (clntudp_create) +libc_hidden_proto (get_myaddress) +libc_hidden_proto (clntunix_create) +libc_hidden_proto (__libc_clntudp_bufcreate) #endif diff --git a/include/rpc/des_crypt.h b/include/rpc/des_crypt.h index 8c4a60e..44f7e66 100644 --- a/include/rpc/des_crypt.h +++ b/include/rpc/des_crypt.h @@ -9,5 +9,7 @@ extern int xdecrypt (char *secret, char *passwd); libc_hidden_proto (des_setparity) libc_hidden_proto (ecb_crypt) libc_hidden_proto (cbc_crypt) +libc_hidden_proto (xencrypt) +libc_hidden_proto (xdecrypt) #endif diff --git a/include/rpc/key_prot.h b/include/rpc/key_prot.h index 2da5de7..29d14cc 100644 --- a/include/rpc/key_prot.h +++ b/include/rpc/key_prot.h @@ -1,15 +1,12 @@ #include <sunrpc/rpc/key_prot.h> -extern bool_t xdr_cryptkeyres_internal (XDR *xdrs, cryptkeyres *objp) - attribute_hidden; -extern bool_t xdr_keystatus_internal (XDR *, keystatus*) attribute_hidden; -extern bool_t xdr_keybuf_internal (XDR *, keybuf) attribute_hidden; -extern bool_t xdr_cryptkeyarg_internal (XDR *, cryptkeyarg*) attribute_hidden; -extern bool_t xdr_cryptkeyarg2_internal (XDR *, cryptkeyarg2*) - attribute_hidden; -extern bool_t xdr_key_netstres_internal (XDR *, key_netstres*) - attribute_hidden; -extern bool_t xdr_key_netstarg_internal (XDR *, key_netstarg*) - attribute_hidden; -extern bool_t xdr_netnamestr_internal (XDR *, netnamestr*) attribute_hidden; -extern bool_t xdr_unixcred_internal (XDR *, unixcred*) attribute_hidden; +libc_hidden_proto (xdr_cryptkeyarg) +libc_hidden_proto (xdr_cryptkeyarg2) +libc_hidden_proto (xdr_cryptkeyres) +libc_hidden_proto (xdr_key_netstarg) +libc_hidden_proto (xdr_key_netstres) +libc_hidden_proto (xdr_keybuf) +libc_hidden_proto (xdr_keystatus) +libc_hidden_proto (xdr_getcredres) +libc_hidden_proto (xdr_netnamestr) +libc_hidden_proto (xdr_unixcred) diff --git a/include/rpc/pmap_clnt.h b/include/rpc/pmap_clnt.h index b9a7063..67628e0 100644 --- a/include/rpc/pmap_clnt.h +++ b/include/rpc/pmap_clnt.h @@ -14,4 +14,8 @@ extern u_short __libc_rpc_getport (struct sockaddr_in *address, u_long program, internal_function; libc_hidden_proto (__libc_rpc_getport) +libc_hidden_proto (clnt_broadcast) +libc_hidden_proto (pmap_getmaps) +libc_hidden_proto (pmap_rmtcall) + #endif diff --git a/include/rpc/pmap_prot.h b/include/rpc/pmap_prot.h index 902faba..2e9076e 100644 --- a/include/rpc/pmap_prot.h +++ b/include/rpc/pmap_prot.h @@ -1,7 +1,4 @@ #include <sunrpc/rpc/pmap_prot.h> - -extern bool_t xdr_pmap_internal (XDR *__xdrs, struct pmap *__regs) - attribute_hidden; -extern bool_t xdr_pmaplist_internal (XDR *__xdrs, struct pmaplist **__rp) - attribute_hidden; +libc_hidden_proto (xdr_pmap) +libc_hidden_proto (xdr_pmaplist) diff --git a/include/rpc/pmap_rmt.h b/include/rpc/pmap_rmt.h index 63e41ca..e8822da 100644 --- a/include/rpc/pmap_rmt.h +++ b/include/rpc/pmap_rmt.h @@ -1,7 +1,4 @@ #include <sunrpc/rpc/pmap_rmt.h> -extern bool_t xdr_rmtcall_args_internal (XDR *__xdrs, - struct rmtcallargs *__crp) - attribute_hidden; -extern bool_t xdr_rmtcallres_internal (XDR *__xdrs, struct rmtcallres *__crp) - attribute_hidden; +libc_hidden_proto (xdr_rmtcall_args) +libc_hidden_proto (xdr_rmtcallres) diff --git a/include/rpc/rpc_msg.h b/include/rpc/rpc_msg.h index 3e518c9..be1f483 100644 --- a/include/rpc/rpc_msg.h +++ b/include/rpc/rpc_msg.h @@ -7,8 +7,11 @@ libc_hidden_proto (_seterr_reply) extern bool_t xdr_rejected_reply (XDR *xdrs, struct rejected_reply *rr); extern bool_t xdr_accepted_reply (XDR *xdrs, struct accepted_reply *ar); -extern bool_t xdr_callmsg_internal (XDR *__xdrs, struct rpc_msg *__cmsg); -extern bool_t xdr_callhdr_internal (XDR *__xdrs, struct rpc_msg *__cmsg); -extern bool_t xdr_replymsg_internal (XDR *__xdrs, struct rpc_msg *__rmsg); + +libc_hidden_proto (xdr_accepted_reply) +libc_hidden_proto (xdr_callhdr) +libc_hidden_proto (xdr_callmsg) +libc_hidden_proto (xdr_rejected_reply) +libc_hidden_proto (xdr_replymsg) #endif diff --git a/include/rpc/svc.h b/include/rpc/svc.h index dc75839..141971e 100644 --- a/include/rpc/svc.h +++ b/include/rpc/svc.h @@ -10,24 +10,29 @@ libc_hidden_proto (svcerr_noprog) libc_hidden_proto (svcerr_progvers) /* Now define the internal interfaces. */ -extern int registerrpc (u_long prognum, u_long versnum, u_long procnum, - char *(*progname) (char *), xdrproc_t inproc, - xdrproc_t outproc); - extern SVCXPRT *svcfd_create (int fd, u_int sendsize, u_int recvsize); extern int svcudp_enablecache (SVCXPRT *transp, u_long size); extern SVCXPRT *svcunixfd_create (int fd, u_int sendsize, u_int recvsize); -extern bool_t svc_sendreply_internal (SVCXPRT *xprt, xdrproc_t __xdr_results, - caddr_t __xdr_location) attribute_hidden; -extern void svcerr_decode_internal (SVCXPRT *__xprt) attribute_hidden; -extern void svc_getreq_internal (int __rdfds) attribute_hidden; -extern void svc_getreq_common_internal (const int __fd) attribute_hidden; -extern void svc_getreqset_internal (fd_set *__readfds) attribute_hidden; -extern void svc_getreq_poll_internal (struct pollfd *, - const int) attribute_hidden; -extern SVCXPRT *svcudp_create_internal (int __sock) attribute_hidden; -extern SVCXPRT *svcudp_bufcreate_internal (int __sock, u_int __sendsz, - u_int __recvsz) attribute_hidden; + +libc_hidden_proto (svc_exit) +libc_hidden_proto (svc_getreq) +libc_hidden_proto (svc_getreqset) +libc_hidden_proto (svc_run) +libc_hidden_proto (svc_sendreply) +libc_hidden_proto (svcerr_decode) +libc_hidden_proto (svcerr_noproc) +libc_hidden_proto (svcerr_systemerr) +libc_hidden_proto (svcerr_weakauth) +libc_hidden_proto (svcfd_create) +libc_hidden_proto (svcraw_create) +libc_hidden_proto (svctcp_create) +libc_hidden_proto (svcudp_bufcreate) +libc_hidden_proto (svcudp_create) +libc_hidden_proto (svcudp_enablecache) +libc_hidden_proto (svcunix_create) +libc_hidden_proto (svcunixfd_create) +libc_hidden_proto (svc_getreq_common) +libc_hidden_proto (svc_getreq_poll) #endif diff --git a/include/rpc/svc_auth.h b/include/rpc/svc_auth.h index bf5ce91..582bb31 100644 --- a/include/rpc/svc_auth.h +++ b/include/rpc/svc_auth.h @@ -6,7 +6,7 @@ extern enum auth_stat _svcauth_unix (struct svc_req *rqst, struct rpc_msg *msg); extern enum auth_stat _svcauth_short (struct svc_req *rqst, struct rpc_msg *msg); -extern enum auth_stat _authenticate_internal (struct svc_req *__rqst, - struct rpc_msg *__msg) attribute_hidden; + +libc_hidden_proto (_authenticate) #endif diff --git a/include/rpc/xdr.h b/include/rpc/xdr.h index e10d53e..57971d0 100644 --- a/include/rpc/xdr.h +++ b/include/rpc/xdr.h @@ -1,54 +1,47 @@ #include <sunrpc/rpc/xdr.h> -extern bool_t xdr_void_internal (void) attribute_hidden; -extern bool_t xdr_bool_internal (XDR *__xdrs, bool_t *__bp) attribute_hidden; -extern bool_t xdr_u_hyper_internal (XDR *__xdrs, u_quad_t *__ullp) - attribute_hidden; -extern bool_t xdr_u_long_internal (XDR *__xdrs, u_long *__ulp) - attribute_hidden; -extern bool_t xdr_u_int_internal (XDR *__xdrs, u_int *__up) - attribute_hidden; -extern bool_t xdr_u_short_internal (XDR *__xdrs, u_short *__usp) - attribute_hidden; -extern bool_t xdr_hyper_internal (XDR *__xdrs, quad_t *__ullp) - attribute_hidden; -extern bool_t xdr_long_internal (XDR *__xdrs, long *__ulp) - attribute_hidden; -extern bool_t xdr_int_internal (XDR *__xdrs, int *__up) - attribute_hidden; -extern bool_t xdr_short_internal (XDR *__xdrs, short *__usp) - attribute_hidden; -extern bool_t xdr_enum_internal (XDR *__xdrs, enum_t *__ep) - attribute_hidden; -extern bool_t xdr_union_internal (XDR *__xdrs, enum_t *__dscmp, char *__unp, - const struct xdr_discrim *choices, - xdrproc_t dfault) attribute_hidden; -extern bool_t xdr_string_internal (XDR *__xdrs, char **__cpp, u_int __maxsize); -extern bool_t xdr_array_internal (XDR * _xdrs, caddr_t *__addrp, - u_int *__sizep, u_int __maxsize, - u_int __elsize, xdrproc_t __elproc) - attribute_hidden; -extern bool_t xdr_reference_internal (XDR *__xdrs, caddr_t *__xpp, - u_int __size, xdrproc_t __proc) - attribute_hidden; -extern bool_t xdr_bytes_internal (XDR *xdrs, char **cpp, u_int *sizep, - u_int maxsize) attribute_hidden; -extern bool_t xdr_netobj_internal (XDR *__xdrs, struct netobj *__np) - attribute_hidden; -extern bool_t xdr_opaque_internal (XDR *__xdrs, caddr_t __cp, u_int __cnt) - attribute_hidden; -extern void xdrrec_create_internal (XDR *__xdrs, u_int __sendsize, - u_int __recvsize, caddr_t __tcp_handle, - int (*__readit) (char *, char *, int), - int (*__writeit) (char *, char *, int)) - attribute_hidden; -extern void xdrmem_create_internal (XDR *, const caddr_t, u_int, enum xdr_op) - attribute_hidden; -extern bool_t xdrrec_endofrecord_internal (XDR *__xdrs, bool_t __sendnow) - attribute_hidden; -extern bool_t xdrrec_skiprecord_internal (XDR *__xdrs) - attribute_hidden; -extern bool_t xdrrec_eof_internal (XDR *__xdrs) - attribute_hidden; - libc_hidden_proto (xdrstdio_create) +libc_hidden_proto (xdr_array) +libc_hidden_proto (xdr_bool) +libc_hidden_proto (xdr_bytes) +libc_hidden_proto (xdr_char) +libc_hidden_proto (xdr_double) +libc_hidden_proto (xdr_enum) +libc_hidden_proto (xdr_float) +libc_hidden_proto (xdr_free) +libc_hidden_proto (xdr_int) +libc_hidden_proto (xdr_long) +libc_hidden_proto (xdr_netobj) +libc_hidden_proto (xdr_opaque) +libc_hidden_proto (xdr_pointer) +libc_hidden_proto (xdr_reference) +libc_hidden_proto (xdr_short) +libc_hidden_proto (xdr_string) +libc_hidden_proto (xdr_u_char) +libc_hidden_proto (xdr_u_int) +libc_hidden_proto (xdr_u_long) +libc_hidden_proto (xdr_u_short) +libc_hidden_proto (xdr_union) +libc_hidden_proto (xdr_vector) +libc_hidden_proto (xdr_void) +libc_hidden_proto (xdr_wrapstring) +libc_hidden_proto (xdrmem_create) +libc_hidden_proto (xdrrec_create) +libc_hidden_proto (xdrrec_endofrecord) +libc_hidden_proto (xdrrec_eof) +libc_hidden_proto (xdrrec_skiprecord) +libc_hidden_proto (xdr_int16_t) +libc_hidden_proto (xdr_int32_t) +libc_hidden_proto (xdr_int8_t) +libc_hidden_proto (xdr_sizeof) +libc_hidden_proto (xdr_uint16_t) +libc_hidden_proto (xdr_uint32_t) +libc_hidden_proto (xdr_uint8_t) +libc_hidden_proto (xdr_hyper) +libc_hidden_proto (xdr_u_hyper) +libc_hidden_proto (xdr_longlong_t) +libc_hidden_proto (xdr_u_longlong_t) +libc_hidden_proto (xdr_int64_t) +libc_hidden_proto (xdr_uint64_t) +libc_hidden_proto (xdr_quad_t) +libc_hidden_proto (xdr_u_quad_t) diff --git a/nis/Makefile b/nis/Makefile index 8083ee8..f63ada6 100644 --- a/nis/Makefile +++ b/nis/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1996,1997,1998,2001,2004,2006 Free Software Foundation, Inc. +# Copyright (C) 1996-1998,2001,2004,2006,2011 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -45,9 +45,9 @@ subdir-dirs = $(services:%=nss_%) vpath %.c $(subdir-dirs) libnsl-routines = yp_xdr ypclnt ypupdate_xdr \ - nis_subr nis_local_names nis_free nis_file \ - nis_print nis_error nis_call nis_lookup\ - nis_table nis_xdr nis_server nis_ping \ + nis_subr nis_local_names nis_free nis_file \ + nis_print nis_error nis_call nis_lookup\ + nis_table nis_xdr nis_server nis_ping \ nis_checkpoint nis_mkdir nis_rmdir nis_getservlist\ nis_verifygroup nis_ismember nis_addmember nis_util\ nis_removemember nis_creategroup nis_destroygroup\ @@ -78,7 +78,8 @@ $(objpfx)libnss_nisplus.so: $(objpfx)libnsl.so$(libnsl.so-version) # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(services:%=$(objpfx)libnss_%.so) $(objpfx)libnsl.so: $(common-objpfx)libc.so\ +libnsl-libc = $(common-objpfx)linkobj/libc.so +$(services:%=$(objpfx)libnss_%.so) $(objpfx)libnsl.so: $(libnsl-libc) \ $(common-objpfx)libc_nonshared.a diff --git a/nss/Makefile b/nss/Makefile index 04165b7..2b0432f 100644 --- a/nss/Makefile +++ b/nss/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1996-1998,2000-2002,2007,2009,2010 +# Copyright (C) 1996-1998,2000-2002,2007,2009,2010,2011 # Free Software Foundation, Inc. # This file is part of the GNU C Library. @@ -83,7 +83,8 @@ endif # Depend on libc.so so a DT_NEEDED is generated in the shared objects. # This ensures they will load libc.so for needed symbols if loaded by # a statically-linked program that hasn't already loaded it. -$(services:%=$(objpfx)libnss_%.so): $(common-objpfx)libc.so \ +libnss-libc = $(common-objpfx)linkobj/libc.so +$(services:%=$(objpfx)libnss_%.so): $(libnss-libc) \ $(common-objpfx)libc_nonshared.a diff --git a/sunrpc/Makefile b/sunrpc/Makefile index 30f74dc..f067e92 100644 --- a/sunrpc/Makefile +++ b/sunrpc/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1994-2004, 2005, 2006 Free Software Foundation, Inc. +# Copyright (C) 1994-2004, 2005, 2006, 2011 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -47,44 +47,52 @@ subdir := sunrpc rpcsvc = bootparam_prot.x nlm_prot.x rstat.x \ yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ rusers.x spray.x nfs_prot.x rquota.x key_prot.x -headers = $(addprefix rpc/,auth.h auth_unix.h clnt.h netdb.h pmap_clnt.h \ - pmap_prot.h pmap_rmt.h rpc.h rpc_msg.h svc.h \ - svc_auth.h types.h xdr.h auth_des.h \ - des_crypt.h key_prot.h rpc_des.h) \ - $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h +headers_in_tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \ + pmap_prot.h pmap_rmt.h rpc.h rpc_msg.h \ + svc.h svc_auth.h types.h xdr.h auth_des.h \ + des_crypt.h) +headers_not_in_tirpc = $(addprefix rpc/,netdb.h key_prot.h rpc_des.h) \ + $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h install-others = $(inst_sysconfdir)/rpc generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \ $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen generated-dirs := rpcsvc -routines := auth_none auth_unix authuxprot bindrsvprt \ - clnt_gen clnt_perr clnt_raw clnt_simp clnt_tcp \ - clnt_udp rpc_dtable get_myaddr getrpcport \ - pmap_clnt pm_getmaps pm_getport pmap_prot \ - pmap_prot2 pmap_rmt rpc_prot rpc_common rpc_cmsg rpc_thread \ - svc svc_auth svc_authux svc_raw svc_run svc_simple \ - svc_tcp svc_udp xdr xdr_array xdr_float xdr_mem \ - xdr_rec xdr_ref xdr_stdio publickey xdr_sizeof \ - auth_des authdes_prot des_crypt des_impl des_soft \ - key_call key_prot netname openchild rtime svcauth_des xcrypt\ - clnt_unix svc_unix create_xid xdr_intXX_t - -others := rpcinfo +include ../Makeconfig + +ifeq ($(versioning),yes) +need-export-routines := auth_des auth_unix clnt_gen clnt_perr clnt_tcp \ + clnt_udp get_myaddr key_call netname pm_getport \ + rpc_thread svc svc_tcp svc_udp xcrypt xdr_array xdr \ + xdr_intXX_t xdr_mem xdr_ref xdr_sizeof xdr_stdio + +routines := auth_none authuxprot bindrsvprt clnt_raw clnt_simp \ + rpc_dtable getrpcport pmap_clnt pm_getmaps pmap_prot pmap_prot2 \ + pmap_rmt rpc_prot rpc_common rpc_cmsg svc_auth svc_authux svc_raw \ + svc_run svc_simple xdr_float xdr_rec publickey authdes_prot \ + des_crypt des_impl des_soft key_prot openchild rtime svcauth_des \ + clnt_unix svc_unix create_xid $(need-export-routines) +# We only add the RPC for compatibility to libc.so. +shared-only-routines = $(routines) +endif + +# We do not build rpcinfo anymore. It is not needed for a bootstrap +# and not wanted on complete systems. +# others := rpcinfo +# install-sbin := rpcinfo install-bin := rpcgen -install-sbin := rpcinfo rpcgen-objs = rpc_main.o rpc_hout.o rpc_cout.o rpc_parse.o \ rpc_scan.o rpc_util.o rpc_svcout.o rpc_clntout.o \ rpc_tblout.o rpc_sample.o # These headers are part of rpcgen. distribute := proto.h rpc_util.h rpc_parse.h rpc_scan.h \ + $(headers_in_tirpc) $(headers_not_in_tirpc) \ $(rpcgen-objs:.o=.c) etc.rpc \ errqueue.h extra-objs = $(rpcgen-objs) all: # Make this the default target; it will be defined in Rules. -include ../Makeconfig - tests = tst-xdrmem tst-xdrmem2 xtests := tst-getmyaddr @@ -108,6 +116,17 @@ librpcsvc-inhibit-o = .os # Build no shared rpcsvc library. omit-deps = $(librpcsvc-routines) endif +ifeq (yes,$(build-shared)) +rpc-compat-routines = $(addprefix compat-,$(need-export-routines)) +rpc-compat-routines.os = $(addprefix $(objpfx), \ + $(addsuffix .os,$(rpc-compat-routines))) +subdir_lib: $(objpfx)librpc_compat_pic.a +$(objpfx)librpc_compat_pic.a: $(rpc-compat-routines.os) + $(AR) cr$(verbose) $@ $^ +$(rpc-compat-routines.os): $(objpfx)compat-%.os: %.c + $(compile-command.c) -DEXPORT_RPC_SYMBOLS +endif + CFLAGS-xbootparam_prot.c = -Wno-unused $(PIC-ccflag) CFLAGS-xnlm_prot.c = -Wno-unused $(PIC-ccflag) CFLAGS-xrstat.c = -Wno-unused $(PIC-ccflag) @@ -131,6 +150,10 @@ CPPFLAGS += -D_RPC_THREAD_SAFE_ include ../Rules +$(objpfx)tst-getmyaddr: $(common-objpfx)linkobj/libc.so +$(objpfx)tst-xdrmem: $(common-objpfx)linkobj/libc.so +$(objpfx)tst-xdrmem2: $(common-objpfx)linkobj/libc.so + $(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs)) \ $(sort $(filter $(common-objpfx)libc%,$(link-libc))) \ $(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit) diff --git a/sunrpc/auth_des.c b/sunrpc/auth_des.c index 0228562..96bbcfc 100644 --- a/sunrpc/auth_des.c +++ b/sunrpc/auth_des.c @@ -51,8 +51,6 @@ #define debug(msg) /* printf("%s\n", msg) */ -extern bool_t INTUSE(xdr_authdes_cred) (XDR *, struct authdes_cred *); -extern bool_t INTUSE(xdr_authdes_verf) (XDR *, struct authdes_verf *); /* * DES authenticator operations vector @@ -79,8 +77,8 @@ static const struct auth_ops authdes_ops = { */ struct ad_private { char *ad_fullname; /* client's full name */ - u_int ad_fullnamelen; /* length of name, rounded up */ - char *ad_servername; /* server's full name */ + u_int ad_fullnamelen; /* length of name, rounded up */ + char *ad_servername; /* server's full name */ u_int ad_servernamelen; /* length of name, rounded up */ uint32_t ad_window; /* client specified window */ bool_t ad_dosync; /* synchronize? */ @@ -91,7 +89,7 @@ struct ad_private { struct authdes_verf ad_verf; /* storage for verifier */ struct rpc_timeval ad_timestamp; /* timestamp sent */ des_block ad_xkey; /* encrypted conversation key */ - u_char ad_pkey[1024]; /* Servers actual public key */ + u_char ad_pkey[1024]; /* Servers actual public key */ }; @@ -114,8 +112,13 @@ authdes_create (const char *servername, u_int window, pkey.n_bytes = pkey_data; pkey.n_len = strlen (pkey_data) + 1; - return INTUSE(authdes_pk_create) (servername, &pkey, window, syncaddr, ckey); + return authdes_pk_create (servername, &pkey, window, syncaddr, ckey); } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (authdes_create) +#else +libc_hidden_nolink (authdes_create, GLIBC_2_1) +#endif AUTH * authdes_pk_create (const char *servername, netobj *pkey, u_int window, @@ -205,7 +208,11 @@ failed: } return NULL; } -INTDEF(authdes_pk_create) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (authdes_pk_create) +#else +libc_hidden_nolink (authdes_pk_create, GLIBC_2_1) +#endif /* * Implement the five authentication operations @@ -309,7 +316,7 @@ authdes_marshal (AUTH *auth, XDR *xdrs) ATTEMPT (xdr_putint32 (xdrs, &auth->ah_cred.oa_flavor)); ATTEMPT (xdr_putint32 (xdrs, &len)); } - ATTEMPT (INTUSE(xdr_authdes_cred) (xdrs, cred)); + ATTEMPT (xdr_authdes_cred (xdrs, cred)); len = (2 + 1) * BYTES_PER_XDR_UNIT; if ((ixdr = xdr_inline (xdrs, 2 * BYTES_PER_XDR_UNIT)) != NULL) @@ -322,7 +329,7 @@ authdes_marshal (AUTH *auth, XDR *xdrs) ATTEMPT (xdr_putint32 (xdrs, &auth->ah_verf.oa_flavor)); ATTEMPT (xdr_putint32 (xdrs, &len)); } - ATTEMPT (INTUSE(xdr_authdes_verf) (xdrs, verf)); + ATTEMPT (xdr_authdes_verf (xdrs, verf)); return TRUE; } diff --git a/sunrpc/auth_none.c b/sunrpc/auth_none.c index 57b3418..5f252a9 100644 --- a/sunrpc/auth_none.c +++ b/sunrpc/auth_none.c @@ -81,10 +81,10 @@ authnone_create_once (void) ap->no_client.ah_cred = ap->no_client.ah_verf = _null_auth; ap->no_client.ah_ops = (struct auth_ops *) &ops; xdrs = &xdr_stream; - INTUSE(xdrmem_create) (xdrs, ap->marshalled_client, - (u_int) MAX_MARSHAL_SIZE, XDR_ENCODE); - (void) INTUSE(xdr_opaque_auth) (xdrs, &ap->no_client.ah_cred); - (void) INTUSE(xdr_opaque_auth) (xdrs, &ap->no_client.ah_verf); + xdrmem_create (xdrs, ap->marshalled_client, + (u_int) MAX_MARSHAL_SIZE, XDR_ENCODE); + (void) xdr_opaque_auth (xdrs, &ap->no_client.ah_cred); + (void) xdr_opaque_auth (xdrs, &ap->no_client.ah_verf); ap->mcnt = XDR_GETPOS (xdrs); XDR_DESTROY (xdrs); } @@ -95,7 +95,7 @@ authnone_create (void) __libc_once (authnone_private_guard, authnone_create_once); return &authnone_private.no_client; } -INTDEF (authnone_create) +libc_hidden_nolink (authnone_create, GLIBC_2_0) static bool_t authnone_marshal (AUTH *client, XDR *xdrs) diff --git a/sunrpc/auth_unix.c b/sunrpc/auth_unix.c index 301055b..858523e 100644 --- a/sunrpc/auth_unix.c +++ b/sunrpc/auth_unix.c @@ -134,8 +134,8 @@ no_memory: /* * Serialize the parameters into origcred */ - INTUSE(xdrmem_create) (&xdrs, mymem, MAX_AUTH_BYTES, XDR_ENCODE); - if (!INTUSE(xdr_authunix_parms) (&xdrs, &aup)) + xdrmem_create (&xdrs, mymem, MAX_AUTH_BYTES, XDR_ENCODE); + if (!xdr_authunix_parms (&xdrs, &aup)) abort (); au->au_origcred.oa_length = len = XDR_GETPOS (&xdrs); au->au_origcred.oa_flavor = AUTH_UNIX; @@ -151,7 +151,7 @@ no_memory: marshal_new_auth (auth); return auth; } -INTDEF (authunix_create) +libc_hidden_nolink (authunix_create, GLIBC_2_0) /* * Returns an auth handle with parameters determined by doing lots of @@ -208,15 +208,18 @@ authunix_create_default (void) /* This braindamaged Sun code forces us here to truncate the list of groups to NGRPS members since the code in authuxprot.c transforms a fixed array. Grrr. */ - AUTH *result = INTUSE(authunix_create) (machname, uid, gid, MIN (NGRPS, len), - gids); + AUTH *result = authunix_create (machname, uid, gid, MIN (NGRPS, len), gids); if (max_nr_groups >= ALLOCA_LIMIT || retry) free (gids); return result; } -INTDEF (authunix_create_default) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (authunix_create_default) +#else +libc_hidden_nolink (authunix_create_default, GLIBC_2_0) +#endif /* * authunix operations @@ -245,8 +248,7 @@ authunix_validate (AUTH *auth, struct opaque_auth *verf) if (verf->oa_flavor == AUTH_SHORT) { au = AUTH_PRIVATE (auth); - INTUSE(xdrmem_create) (&xdrs, verf->oa_base, verf->oa_length, - XDR_DECODE); + xdrmem_create (&xdrs, verf->oa_base, verf->oa_length, XDR_DECODE); if (au->au_shcred.oa_base != NULL) { @@ -254,14 +256,14 @@ authunix_validate (AUTH *auth, struct opaque_auth *verf) au->au_shcred.oa_length); au->au_shcred.oa_base = NULL; } - if (INTUSE(xdr_opaque_auth) (&xdrs, &au->au_shcred)) + if (xdr_opaque_auth (&xdrs, &au->au_shcred)) { auth->ah_cred = au->au_shcred; } else { xdrs.x_op = XDR_FREE; - (void) INTUSE(xdr_opaque_auth) (&xdrs, &au->au_shcred); + (void) xdr_opaque_auth (&xdrs, &au->au_shcred); au->au_shcred.oa_base = NULL; auth->ah_cred = au->au_origcred; } @@ -289,9 +291,9 @@ authunix_refresh (AUTH *auth) /* first deserialize the creds back into a struct authunix_parms */ aup.aup_machname = NULL; aup.aup_gids = (gid_t *) NULL; - INTUSE(xdrmem_create) (&xdrs, au->au_origcred.oa_base, - au->au_origcred.oa_length, XDR_DECODE); - stat = INTUSE(xdr_authunix_parms) (&xdrs, &aup); + xdrmem_create (&xdrs, au->au_origcred.oa_base, + au->au_origcred.oa_length, XDR_DECODE); + stat = xdr_authunix_parms (&xdrs, &aup); if (!stat) goto done; @@ -300,7 +302,7 @@ authunix_refresh (AUTH *auth) aup.aup_time = now.tv_sec; xdrs.x_op = XDR_ENCODE; XDR_SETPOS (&xdrs, 0); - stat = INTUSE(xdr_authunix_parms) (&xdrs, &aup); + stat = xdr_authunix_parms (&xdrs, &aup); if (!stat) goto done; auth->ah_cred = au->au_origcred; @@ -308,7 +310,7 @@ authunix_refresh (AUTH *auth) done: /* free the struct authunix_parms created by deserializing */ xdrs.x_op = XDR_FREE; - (void) INTUSE(xdr_authunix_parms) (&xdrs, &aup); + (void) xdr_authunix_parms (&xdrs, &aup); XDR_DESTROY (&xdrs); return stat; } @@ -343,9 +345,9 @@ marshal_new_auth (AUTH *auth) XDR *xdrs = &xdr_stream; struct audata *au = AUTH_PRIVATE (auth); - INTUSE(xdrmem_create) (xdrs, au->au_marshed, MAX_AUTH_BYTES, XDR_ENCODE); - if ((!INTUSE(xdr_opaque_auth) (xdrs, &(auth->ah_cred))) || - (!INTUSE(xdr_opaque_auth) (xdrs, &(auth->ah_verf)))) + xdrmem_create (xdrs, au->au_marshed, MAX_AUTH_BYTES, XDR_ENCODE); + if ((!xdr_opaque_auth (xdrs, &(auth->ah_cred))) || + (!xdr_opaque_auth (xdrs, &(auth->ah_verf)))) perror (_("auth_unix.c: Fatal marshalling problem")); else au->au_mpos = XDR_GETPOS (xdrs); diff --git a/sunrpc/authdes_prot.c b/sunrpc/authdes_prot.c index 0d1b535..0a25bac 100644 --- a/sunrpc/authdes_prot.c +++ b/sunrpc/authdes_prot.c @@ -45,26 +45,25 @@ xdr_authdes_cred (XDR *xdrs, struct authdes_cred *cred) /* * Unrolled xdr */ - ATTEMPT (INTUSE(xdr_enum) (xdrs, (enum_t *) & cred->adc_namekind)); + ATTEMPT (xdr_enum (xdrs, (enum_t *) & cred->adc_namekind)); switch (cred->adc_namekind) { case ADN_FULLNAME: - ATTEMPT (INTUSE(xdr_string) (xdrs, &cred->adc_fullname.name, - MAXNETNAMELEN)); - ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & cred->adc_fullname.key, - sizeof (des_block))); - ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & cred->adc_fullname.window, - sizeof (cred->adc_fullname.window))); + ATTEMPT (xdr_string (xdrs, &cred->adc_fullname.name, MAXNETNAMELEN)); + ATTEMPT (xdr_opaque (xdrs, (caddr_t) & cred->adc_fullname.key, + sizeof (des_block))); + ATTEMPT (xdr_opaque (xdrs, (caddr_t) & cred->adc_fullname.window, + sizeof (cred->adc_fullname.window))); return (TRUE); case ADN_NICKNAME: - ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & cred->adc_nickname, - sizeof (cred->adc_nickname))); + ATTEMPT (xdr_opaque (xdrs, (caddr_t) & cred->adc_nickname, + sizeof (cred->adc_nickname))); return TRUE; default: return FALSE; } } -INTDEF(xdr_authdes_cred) +libc_hidden_nolink (xdr_authdes_cred, GLIBC_2_1) bool_t @@ -73,10 +72,10 @@ xdr_authdes_verf (register XDR *xdrs, register struct authdes_verf *verf) /* * Unrolled xdr */ - ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & verf->adv_xtimestamp, - sizeof (des_block))); - ATTEMPT (INTUSE(xdr_opaque) (xdrs, (caddr_t) & verf->adv_int_u, - sizeof (verf->adv_int_u))); + ATTEMPT (xdr_opaque (xdrs, (caddr_t) & verf->adv_xtimestamp, + sizeof (des_block))); + ATTEMPT (xdr_opaque (xdrs, (caddr_t) & verf->adv_int_u, + sizeof (verf->adv_int_u))); return TRUE; } -INTDEF(xdr_authdes_verf) +libc_hidden_nolink (xdr_authdes_verf, GLIBC_2_1) diff --git a/sunrpc/authuxprot.c b/sunrpc/authuxprot.c index 74db8a2..64da179 100644 --- a/sunrpc/authuxprot.c +++ b/sunrpc/authuxprot.c @@ -45,22 +45,22 @@ bool_t xdr_authunix_parms (XDR * xdrs, struct authunix_parms *p) { - if (INTUSE(xdr_u_long) (xdrs, &(p->aup_time)) - && INTUSE(xdr_string) (xdrs, &(p->aup_machname), MAX_MACHINE_NAME) + if (xdr_u_long (xdrs, &(p->aup_time)) + && xdr_string (xdrs, &(p->aup_machname), MAX_MACHINE_NAME) && (sizeof (uid_t) == sizeof (short int) - ? INTUSE(xdr_u_short) (xdrs, (u_short *) & (p->aup_uid)) - : INTUSE(xdr_u_int) (xdrs, (u_int *) & (p->aup_uid))) + ? xdr_u_short (xdrs, (u_short *) & (p->aup_uid)) + : xdr_u_int (xdrs, (u_int *) & (p->aup_uid))) && (sizeof (gid_t) == sizeof (short int) - ? INTUSE(xdr_u_short) (xdrs, (u_short *) & (p->aup_gid)) - : INTUSE(xdr_u_int) (xdrs, (u_int *) & (p->aup_gid))) - && INTUSE(xdr_array) (xdrs, (caddr_t *) & (p->aup_gids), - & (p->aup_len), NGRPS, sizeof (gid_t), - (sizeof (gid_t) == sizeof (short int) - ? (xdrproc_t) INTUSE(xdr_u_short) - : (xdrproc_t) INTUSE(xdr_u_int)))) + ? xdr_u_short (xdrs, (u_short *) & (p->aup_gid)) + : xdr_u_int (xdrs, (u_int *) & (p->aup_gid))) + && xdr_array (xdrs, (caddr_t *) & (p->aup_gids), + & (p->aup_len), NGRPS, sizeof (gid_t), + (sizeof (gid_t) == sizeof (short int) + ? (xdrproc_t) xdr_u_short + : (xdrproc_t) xdr_u_int))) { return TRUE; } return FALSE; } -INTDEF(xdr_authunix_parms) +libc_hidden_nolink (xdr_authunix_parms, GLIBC_2_0) diff --git a/sunrpc/clnt_gen.c b/sunrpc/clnt_gen.c index a562f41..2b7096c 100644 --- a/sunrpc/clnt_gen.c +++ b/sunrpc/clnt_gen.c @@ -64,7 +64,7 @@ clnt_create (const char *hostname, u_long prog, u_long vers, sun.sun_family = AF_UNIX; strcpy (sun.sun_path, hostname); sock = RPC_ANYSOCK; - client = INTUSE(clntunix_create) (&sun, prog, vers, &sock, 0, 0); + client = clntunix_create (&sun, prog, vers, &sock, 0, 0); if (client == NULL) return NULL; #if 0 @@ -134,7 +134,7 @@ clnt_create (const char *hostname, u_long prog, u_long vers, case IPPROTO_UDP: tv.tv_sec = 5; tv.tv_usec = 0; - client = INTUSE(clntudp_create) (&sin, prog, vers, tv, &sock); + client = clntudp_create (&sin, prog, vers, tv, &sock); if (client == NULL) { return NULL; @@ -148,7 +148,7 @@ clnt_create (const char *hostname, u_long prog, u_long vers, #endif break; case IPPROTO_TCP: - client = INTUSE(clnttcp_create) (&sin, prog, vers, &sock, 0, 0); + client = clnttcp_create (&sin, prog, vers, &sock, 0, 0); if (client == NULL) { return NULL; @@ -172,4 +172,8 @@ clnt_create (const char *hostname, u_long prog, u_long vers, } return client; } -INTDEF (clnt_create) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (clnt_create) +#else +libc_hidden_nolink (clnt_create, GLIBC_2_0) +#endif diff --git a/sunrpc/clnt_perr.c b/sunrpc/clnt_perr.c index f48c53a..734c2b3 100644 --- a/sunrpc/clnt_perr.c +++ b/sunrpc/clnt_perr.c @@ -130,14 +130,18 @@ clnt_sperror (CLIENT * rpch, const char *msg) return str; } -libc_hidden_def (clnt_sperror) +libc_hidden_nolink (clnt_sperror, GLIBC_2_0) void clnt_perror (CLIENT * rpch, const char *msg) { (void) __fxprintf (NULL, "%s", clnt_sperror (rpch, msg)); } +#ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (clnt_perror) +#else +libc_hidden_nolink (clnt_perror, GLIBC_2_0) +#endif struct rpc_errtab @@ -266,7 +270,7 @@ clnt_perrno (enum clnt_stat num) { (void) __fxprintf (NULL, "%s", clnt_sperrno (num)); } - +libc_hidden_nolink (clnt_perrno, GLIBC_2_0) char * clnt_spcreateerror (const char *msg) @@ -303,13 +307,18 @@ clnt_spcreateerror (const char *msg) return str; } -libc_hidden_def (clnt_spcreateerror) +libc_hidden_nolink (clnt_spcreateerror, GLIBC_2_0) void clnt_pcreateerror (const char *msg) { (void) __fxprintf (NULL, "%s", clnt_spcreateerror (msg)); } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (clnt_pcreateerror) +#else +libc_hidden_nolink (clnt_pcreateerror, GLIBC_2_0) +#endif struct auth_errtab { diff --git a/sunrpc/clnt_raw.c b/sunrpc/clnt_raw.c index 7a8030e..95e3eae 100644 --- a/sunrpc/clnt_raw.c +++ b/sunrpc/clnt_raw.c @@ -109,9 +109,8 @@ clntraw_create (u_long prog, u_long vers) call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION; call_msg.rm_call.cb_prog = prog; call_msg.rm_call.cb_vers = vers; - INTUSE(xdrmem_create) (xdrs, clp->mashl_callmsg.msg, MCALL_MSG_SIZE, - XDR_ENCODE); - if (!INTUSE(xdr_callhdr) (xdrs, &call_msg)) + xdrmem_create (xdrs, clp->mashl_callmsg.msg, MCALL_MSG_SIZE, XDR_ENCODE); + if (!xdr_callhdr (xdrs, &call_msg)) { perror (_ ("clnt_raw.c: fatal header serialization error")); } @@ -121,15 +120,16 @@ clntraw_create (u_long prog, u_long vers) /* * Set xdrmem for client/server shared buffer */ - INTUSE(xdrmem_create) (xdrs, clp->_raw_buf, UDPMSGSIZE, XDR_FREE); + xdrmem_create (xdrs, clp->_raw_buf, UDPMSGSIZE, XDR_FREE); /* * create client handle */ client->cl_ops = (struct clnt_ops *) &client_ops; - client->cl_auth = INTUSE(authnone_create) (); + client->cl_auth = authnone_create (); return client; } +libc_hidden_nolink (clntraw_create, GLIBC_2_0) static enum clnt_stat clntraw_call (h, proc, xargs, argsp, xresults, resultsp, timeout) @@ -172,7 +172,7 @@ call_again: * We have to call server input routine here because this is * all going on in one process. Yuk. */ - INTUSE(svc_getreq) (1); + svc_getreq (1); /* * get results @@ -182,7 +182,7 @@ call_again: msg.acpted_rply.ar_verf = _null_auth; msg.acpted_rply.ar_results.where = resultsp; msg.acpted_rply.ar_results.proc = xresults; - if (!INTUSE(xdr_replymsg) (xdrs, &msg)) + if (!xdr_replymsg (xdrs, &msg)) return RPC_CANTDECODERES; _seterr_reply (&msg, &error); status = error.re_status; @@ -209,7 +209,7 @@ call_again: if (msg.acpted_rply.ar_verf.oa_base != NULL) { xdrs->x_op = XDR_FREE; - (void) INTUSE(xdr_opaque_auth) (xdrs, &(msg.acpted_rply.ar_verf)); + (void) xdr_opaque_auth (xdrs, &(msg.acpted_rply.ar_verf)); } } diff --git a/sunrpc/clnt_simp.c b/sunrpc/clnt_simp.c index b7a64e6..d2dd3b3 100644 --- a/sunrpc/clnt_simp.c +++ b/sunrpc/clnt_simp.c @@ -119,7 +119,7 @@ callrpc (const char *host, u_long prognum, u_long versnum, u_long procnum, memcpy ((char *) &server_addr.sin_addr, hp->h_addr, hp->h_length); server_addr.sin_family = AF_INET; server_addr.sin_port = 0; - if ((crp->client = INTUSE(clntudp_create) (&server_addr, (u_long) prognum, + if ((crp->client = clntudp_create (&server_addr, (u_long) prognum, (u_long) versnum, timeout, &crp->socket)) == NULL) return (int) get_rpc_createerr().cf_stat; crp->valid = 1; @@ -139,6 +139,7 @@ callrpc (const char *host, u_long prognum, u_long versnum, u_long procnum, crp->valid = 0; return (int) clnt_stat; } +libc_hidden_nolink (callrpc, GLIBC_2_0) #ifdef _RPC_THREAD_SAFE_ void diff --git a/sunrpc/clnt_tcp.c b/sunrpc/clnt_tcp.c index 8527868..a07f50a 100644 --- a/sunrpc/clnt_tcp.c +++ b/sunrpc/clnt_tcp.c @@ -188,9 +188,8 @@ clnttcp_create (struct sockaddr_in *raddr, u_long prog, u_long vers, /* * pre-serialize the static part of the call msg and stash it away */ - INTUSE(xdrmem_create) (&(ct->ct_xdrs), ct->ct_mcall, MCALL_MSG_SIZE, - XDR_ENCODE); - if (!INTUSE(xdr_callhdr) (&(ct->ct_xdrs), &call_msg)) + xdrmem_create (&(ct->ct_xdrs), ct->ct_mcall, MCALL_MSG_SIZE, XDR_ENCODE); + if (!xdr_callhdr (&(ct->ct_xdrs), &call_msg)) { if (ct->ct_closeit) { @@ -205,11 +204,11 @@ clnttcp_create (struct sockaddr_in *raddr, u_long prog, u_long vers, * Create a client handle which uses xdrrec for serialization * and authnone for authentication. */ - INTUSE(xdrrec_create) (&(ct->ct_xdrs), sendsz, recvsz, - (caddr_t) ct, readtcp, writetcp); + xdrrec_create (&(ct->ct_xdrs), sendsz, recvsz, + (caddr_t) ct, readtcp, writetcp); h->cl_ops = (struct clnt_ops *) &tcp_ops; h->cl_private = (caddr_t) ct; - h->cl_auth = INTUSE(authnone_create) (); + h->cl_auth = authnone_create (); return h; fooy: @@ -220,7 +219,11 @@ fooy: mem_free ((caddr_t) h, sizeof (CLIENT)); return ((CLIENT *) NULL); } -INTDEF (clnttcp_create) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (clnttcp_create) +#else +libc_hidden_nolink (clnttcp_create, GLIBC_2_0) +#endif static enum clnt_stat clnttcp_call (h, proc, xdr_args, args_ptr, xdr_results, results_ptr, timeout) @@ -260,10 +263,10 @@ call_again: { if (ct->ct_error.re_status == RPC_SUCCESS) ct->ct_error.re_status = RPC_CANTENCODEARGS; - (void) INTUSE(xdrrec_endofrecord) (xdrs, TRUE); + (void) xdrrec_endofrecord (xdrs, TRUE); return (ct->ct_error.re_status); } - if (!INTUSE(xdrrec_endofrecord) (xdrs, shipnow)) + if (!xdrrec_endofrecord (xdrs, shipnow)) return ct->ct_error.re_status = RPC_CANTSEND; if (!shipnow) return RPC_SUCCESS; @@ -284,11 +287,11 @@ call_again: { reply_msg.acpted_rply.ar_verf = _null_auth; reply_msg.acpted_rply.ar_results.where = NULL; - reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)INTUSE(xdr_void); - if (!INTUSE(xdrrec_skiprecord) (xdrs)) + reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; + if (!xdrrec_skiprecord (xdrs)) return (ct->ct_error.re_status); /* now decode and validate the response header */ - if (!INTUSE(xdr_replymsg) (xdrs, &reply_msg)) + if (!xdr_replymsg (xdrs, &reply_msg)) { if (ct->ct_error.re_status == RPC_SUCCESS) continue; @@ -318,8 +321,7 @@ call_again: if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) { xdrs->x_op = XDR_FREE; - (void) INTUSE(xdr_opaque_auth) (xdrs, - &(reply_msg.acpted_rply.ar_verf)); + (void) xdr_opaque_auth (xdrs, &(reply_msg.acpted_rply.ar_verf)); } } /* end successful completion */ else diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c index 6bb1ca3..7aa86a6 100644 --- a/sunrpc/clnt_udp.c +++ b/sunrpc/clnt_udp.c @@ -57,7 +57,6 @@ #include <kernel-features.h> -extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *); extern u_long _create_xid (void); /* @@ -165,8 +164,8 @@ __libc_clntudp_bufcreate (struct sockaddr_in *raddr, u_long program, call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION; call_msg.rm_call.cb_prog = program; call_msg.rm_call.cb_vers = version; - INTUSE(xdrmem_create) (&(cu->cu_outxdrs), cu->cu_outbuf, sendsz, XDR_ENCODE); - if (!INTUSE(xdr_callhdr) (&(cu->cu_outxdrs), &call_msg)) + xdrmem_create (&(cu->cu_outxdrs), cu->cu_outbuf, sendsz, XDR_ENCODE); + if (!xdr_callhdr (&(cu->cu_outxdrs), &call_msg)) { goto fooy; } @@ -229,7 +228,7 @@ __libc_clntudp_bufcreate (struct sockaddr_in *raddr, u_long program, cu->cu_closeit = FALSE; } cu->cu_sock = *sockp; - cl->cl_auth = INTUSE(authnone_create) (); + cl->cl_auth = authnone_create (); return cl; fooy: if (cu) @@ -238,17 +237,21 @@ fooy: mem_free ((caddr_t) cl, sizeof (CLIENT)); return (CLIENT *) NULL; } -INTDEF (__libc_clntudp_bufcreate) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (__libc_clntudp_bufcreate) +#else +libc_hidden_nolink (__libc_clntudp_bufcreate, GLIBC_PRIVATE) +#endif CLIENT * clntudp_bufcreate (struct sockaddr_in *raddr, u_long program, u_long version, struct timeval wait, int *sockp, u_int sendsz, u_int recvsz) { - return INTUSE(__libc_clntudp_bufcreate) (raddr, program, version, wait, - sockp, sendsz, recvsz, 0); + return __libc_clntudp_bufcreate (raddr, program, version, wait, + sockp, sendsz, recvsz, 0); } -INTDEF (clntudp_bufcreate) +libc_hidden_nolink (clntudp_bufcreate, GLIBC_2_0) CLIENT * clntudp_create (raddr, program, version, wait, sockp) @@ -258,10 +261,14 @@ clntudp_create (raddr, program, version, wait, sockp) struct timeval wait; int *sockp; { - return INTUSE(__libc_clntudp_bufcreate) (raddr, program, version, wait, - sockp, UDPMSGSIZE, UDPMSGSIZE, 0); + return __libc_clntudp_bufcreate (raddr, program, version, wait, + sockp, UDPMSGSIZE, UDPMSGSIZE, 0); } -INTDEF (clntudp_create) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (clntudp_create) +#else +libc_hidden_nolink (clntudp_create, GLIBC_2_0) +#endif static int is_network_up (int sock) @@ -465,7 +472,7 @@ send_again: continue; /* see if reply transaction id matches sent id. - Don't do this if we only wait for a replay */ + Don't do this if we only wait for a replay */ if (xargs != NULL && (*((u_int32_t *) (cu->cu_inbuf)) != *((u_int32_t *) (cu->cu_outbuf)))) @@ -477,8 +484,8 @@ send_again: /* * now decode and validate the response */ - INTUSE(xdrmem_create) (&reply_xdrs, cu->cu_inbuf, (u_int) inlen, XDR_DECODE); - ok = INTUSE(xdr_replymsg) (&reply_xdrs, &reply_msg); + xdrmem_create (&reply_xdrs, cu->cu_inbuf, (u_int) inlen, XDR_DECODE); + ok = xdr_replymsg (&reply_xdrs, &reply_msg); /* XDR_DESTROY(&reply_xdrs); save a few cycles on noop destroy */ if (ok) { @@ -494,8 +501,7 @@ send_again: if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) { xdrs->x_op = XDR_FREE; - (void) INTUSE(xdr_opaque_auth) (xdrs, - &(reply_msg.acpted_rply.ar_verf)); + (void) xdr_opaque_auth (xdrs, &(reply_msg.acpted_rply.ar_verf)); } } /* end successful completion */ else diff --git a/sunrpc/clnt_unix.c b/sunrpc/clnt_unix.c index 02b1489..5d361b3 100644 --- a/sunrpc/clnt_unix.c +++ b/sunrpc/clnt_unix.c @@ -173,9 +173,8 @@ clntunix_create (struct sockaddr_un *raddr, u_long prog, u_long vers, /* * pre-serialize the static part of the call msg and stash it away */ - INTUSE(xdrmem_create) (&(ct->ct_xdrs), ct->ct_mcall, MCALL_MSG_SIZE, - XDR_ENCODE); - if (!INTUSE(xdr_callhdr) (&(ct->ct_xdrs), &call_msg)) + xdrmem_create (&(ct->ct_xdrs), ct->ct_mcall, MCALL_MSG_SIZE, XDR_ENCODE); + if (!xdr_callhdr (&(ct->ct_xdrs), &call_msg)) { if (ct->ct_closeit) __close (*sockp); @@ -188,11 +187,11 @@ clntunix_create (struct sockaddr_un *raddr, u_long prog, u_long vers, * Create a client handle which uses xdrrec for serialization * and authnone for authentication. */ - INTUSE(xdrrec_create) (&(ct->ct_xdrs), sendsz, recvsz, - (caddr_t) ct, readunix, writeunix); + xdrrec_create (&(ct->ct_xdrs), sendsz, recvsz, + (caddr_t) ct, readunix, writeunix); h->cl_ops = (struct clnt_ops *) &unix_ops; h->cl_private = (caddr_t) ct; - h->cl_auth = INTUSE(authnone_create) (); + h->cl_auth = authnone_create (); return h; fooy: @@ -203,7 +202,7 @@ fooy: mem_free ((caddr_t) h, sizeof (CLIENT)); return (CLIENT *) NULL; } -INTDEF (clntunix_create) +libc_hidden_nolink (clntunix_create, GLIBC_2_1) static enum clnt_stat clntunix_call (h, proc, xdr_args, args_ptr, xdr_results, results_ptr, timeout) @@ -243,10 +242,10 @@ call_again: { if (ct->ct_error.re_status == RPC_SUCCESS) ct->ct_error.re_status = RPC_CANTENCODEARGS; - (void) INTUSE(xdrrec_endofrecord) (xdrs, TRUE); + (void) xdrrec_endofrecord (xdrs, TRUE); return ct->ct_error.re_status; } - if (!INTUSE(xdrrec_endofrecord) (xdrs, shipnow)) + if (!xdrrec_endofrecord (xdrs, shipnow)) return ct->ct_error.re_status = RPC_CANTSEND; if (!shipnow) return RPC_SUCCESS; @@ -265,11 +264,11 @@ call_again: { reply_msg.acpted_rply.ar_verf = _null_auth; reply_msg.acpted_rply.ar_results.where = NULL; - reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)INTUSE(xdr_void); - if (!INTUSE(xdrrec_skiprecord) (xdrs)) + reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; + if (!xdrrec_skiprecord (xdrs)) return ct->ct_error.re_status; /* now decode and validate the response header */ - if (!INTUSE(xdr_replymsg) (xdrs, &reply_msg)) + if (!xdr_replymsg (xdrs, &reply_msg)) { if (ct->ct_error.re_status == RPC_SUCCESS) continue; @@ -299,8 +298,7 @@ call_again: if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) { xdrs->x_op = XDR_FREE; - (void) INTUSE(xdr_opaque_auth) (xdrs, - &(reply_msg.acpted_rply.ar_verf)); + (void) xdr_opaque_auth (xdrs, &(reply_msg.acpted_rply.ar_verf)); } } /* end successful completion */ else @@ -549,18 +547,18 @@ readunix (char *ctptr, char *buf, int len) while (TRUE) { switch (__poll (&fd, 1, milliseconds)) - { - case 0: - ct->ct_error.re_status = RPC_TIMEDOUT; - return -1; - - case -1: - if (errno == EINTR) - continue; - ct->ct_error.re_status = RPC_CANTRECV; - ct->ct_error.re_errno = errno; - return -1; - } + { + case 0: + ct->ct_error.re_status = RPC_TIMEDOUT; + return -1; + + case -1: + if (errno == EINTR) + continue; + ct->ct_error.re_status = RPC_CANTRECV; + ct->ct_error.re_errno = errno; + return -1; + } break; } switch (len = __msgread (ct->ct_sock, buf, len)) diff --git a/sunrpc/des_crypt.c b/sunrpc/des_crypt.c index 57dce6a..8745900 100644 --- a/sunrpc/des_crypt.c +++ b/sunrpc/des_crypt.c @@ -32,6 +32,7 @@ #include <sys/types.h> #include <rpc/des_crypt.h> +#include <abi-versions.h> #include "des.h" extern int _des_crypt (char *, unsigned, struct desparams *); @@ -101,7 +102,7 @@ cbc_crypt (char *key, char *buf, unsigned int len, unsigned int mode, COPY8 (dp.des_ivec, ivec); return err; } -libc_hidden_def (cbc_crypt) +libc_hidden_nolink (cbc_crypt, GLIBC_2_1) /* * ECB mode encryption @@ -114,4 +115,4 @@ ecb_crypt (char *key, char *buf, unsigned int len, unsigned int mode) dp.des_mode = ECB; return common_crypt (key, buf, len, mode, &dp); } -libc_hidden_def (ecb_crypt) +libc_hidden_nolink (ecb_crypt, GLIBC_2_1) diff --git a/sunrpc/des_soft.c b/sunrpc/des_soft.c index 20a3214..27d918c 100644 --- a/sunrpc/des_soft.c +++ b/sunrpc/des_soft.c @@ -32,6 +32,7 @@ static char sccsid[] = "@(#)des_soft.c 2.2 88/08/10 4.0 RPCSRC; from 1.13 88/02/ */ #include <rpc/des_crypt.h> +#include <abi-versions.h> /* * Table giving odd parity in the low bit for ASCII characters */ @@ -69,4 +70,4 @@ des_setparity (char *p) p++; } } -libc_hidden_def (des_setparity) +libc_hidden_nolink (des_setparity, GLIBC_2_1) diff --git a/sunrpc/get_myaddr.c b/sunrpc/get_myaddr.c index 1906cfa..def5b7a 100644 --- a/sunrpc/get_myaddr.c +++ b/sunrpc/get_myaddr.c @@ -96,3 +96,8 @@ get_myaddress (struct sockaddr_in *addr) if no interface is up. Probably this won't happen (at least loopback is there) but still... */ } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (get_myaddress) +#else +libc_hidden_nolink (get_myaddress, GLIBC_2_0) +#endif diff --git a/sunrpc/key_call.c b/sunrpc/key_call.c index 4ab6b97..6d08bf8 100644 --- a/sunrpc/key_call.c +++ b/sunrpc/key_call.c @@ -70,8 +70,8 @@ key_setsecret (char *secretkey) { keystatus status; - if (!key_call ((u_long) KEY_SET, (xdrproc_t) INTUSE(xdr_keybuf), secretkey, - (xdrproc_t) INTUSE(xdr_keystatus), (char *) &status)) + if (!key_call ((u_long) KEY_SET, (xdrproc_t) xdr_keybuf, secretkey, + (xdrproc_t) xdr_keystatus, (char *) &status)) return -1; if (status != KEY_SUCCESS) { @@ -80,6 +80,7 @@ key_setsecret (char *secretkey) } return 0; } +libc_hidden_nolink (key_setsecret, GLIBC_2_1) /* key_secretkey_is_set() returns 1 if the keyserver has a secret key * stored for the caller's effective uid; it returns 0 otherwise @@ -93,8 +94,8 @@ key_secretkey_is_set (void) struct key_netstres kres; memset (&kres, 0, sizeof (kres)); - if (key_call ((u_long) KEY_NET_GET, (xdrproc_t) INTUSE(xdr_void), - (char *) NULL, (xdrproc_t) INTUSE(xdr_key_netstres), + if (key_call ((u_long) KEY_NET_GET, (xdrproc_t) xdr_void, + (char *) NULL, (xdrproc_t) xdr_key_netstres, (char *) &kres) && (kres.status == KEY_SUCCESS) && (kres.key_netstres_u.knet.st_priv_key[0] != 0)) @@ -105,6 +106,11 @@ key_secretkey_is_set (void) } return 0; } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (key_secretkey_is_set) +#else +libc_hidden_nolink (key_secretkey_is_set, GLIBC_2_1) +#endif int key_encryptsession (char *remotename, des_block *deskey) @@ -114,8 +120,8 @@ key_encryptsession (char *remotename, des_block *deskey) arg.remotename = remotename; arg.deskey = *deskey; - if (!key_call ((u_long) KEY_ENCRYPT, (xdrproc_t) INTUSE(xdr_cryptkeyarg), - (char *) &arg, (xdrproc_t) INTUSE(xdr_cryptkeyres), + if (!key_call ((u_long) KEY_ENCRYPT, (xdrproc_t) xdr_cryptkeyarg, + (char *) &arg, (xdrproc_t) xdr_cryptkeyres, (char *) &res)) return -1; @@ -127,6 +133,7 @@ key_encryptsession (char *remotename, des_block *deskey) *deskey = res.cryptkeyres_u.deskey; return 0; } +libc_hidden_nolink (key_encryptsession, GLIBC_2_1) int key_decryptsession (char *remotename, des_block *deskey) @@ -136,8 +143,8 @@ key_decryptsession (char *remotename, des_block *deskey) arg.remotename = remotename; arg.deskey = *deskey; - if (!key_call ((u_long) KEY_DECRYPT, (xdrproc_t) INTUSE(xdr_cryptkeyarg), - (char *) &arg, (xdrproc_t) INTUSE(xdr_cryptkeyres), + if (!key_call ((u_long) KEY_DECRYPT, (xdrproc_t) xdr_cryptkeyarg, + (char *) &arg, (xdrproc_t) xdr_cryptkeyres, (char *) &res)) return -1; if (res.status != KEY_SUCCESS) @@ -148,6 +155,7 @@ key_decryptsession (char *remotename, des_block *deskey) *deskey = res.cryptkeyres_u.deskey; return 0; } +libc_hidden_nolink (key_decryptsession, GLIBC_2_1) int key_encryptsession_pk (char *remotename, netobj *remotekey, @@ -159,8 +167,8 @@ key_encryptsession_pk (char *remotename, netobj *remotekey, arg.remotename = remotename; arg.remotekey = *remotekey; arg.deskey = *deskey; - if (!key_call ((u_long) KEY_ENCRYPT_PK, (xdrproc_t) INTUSE(xdr_cryptkeyarg2), - (char *) &arg, (xdrproc_t) INTUSE(xdr_cryptkeyres), + if (!key_call ((u_long) KEY_ENCRYPT_PK, (xdrproc_t) xdr_cryptkeyarg2, + (char *) &arg, (xdrproc_t) xdr_cryptkeyres, (char *) &res)) return -1; @@ -172,7 +180,7 @@ key_encryptsession_pk (char *remotename, netobj *remotekey, *deskey = res.cryptkeyres_u.deskey; return 0; } -libc_hidden_def (key_encryptsession_pk) +libc_hidden_nolink (key_encryptsession_pk, GLIBC_2_1) int key_decryptsession_pk (char *remotename, netobj *remotekey, @@ -184,8 +192,8 @@ key_decryptsession_pk (char *remotename, netobj *remotekey, arg.remotename = remotename; arg.remotekey = *remotekey; arg.deskey = *deskey; - if (!key_call ((u_long) KEY_DECRYPT_PK, (xdrproc_t) INTUSE(xdr_cryptkeyarg2), - (char *) &arg, (xdrproc_t) INTUSE(xdr_cryptkeyres), + if (!key_call ((u_long) KEY_DECRYPT_PK, (xdrproc_t) xdr_cryptkeyarg2, + (char *) &arg, (xdrproc_t) xdr_cryptkeyres, (char *) &res)) return -1; @@ -197,7 +205,7 @@ key_decryptsession_pk (char *remotename, netobj *remotekey, *deskey = res.cryptkeyres_u.deskey; return 0; } -libc_hidden_def (key_decryptsession_pk) +libc_hidden_nolink (key_decryptsession_pk, GLIBC_2_1) int key_gendes (des_block *key) @@ -212,14 +220,14 @@ key_gendes (des_block *key) sin.sin_addr.s_addr = htonl (INADDR_LOOPBACK); __bzero (sin.sin_zero, sizeof (sin.sin_zero)); socket = RPC_ANYSOCK; - client = INTUSE(clntudp_bufcreate) (&sin, (u_long) KEY_PROG, - (u_long) KEY_VERS, trytimeout, &socket, - RPCSMALLMSGSIZE, RPCSMALLMSGSIZE); + client = clntudp_bufcreate (&sin, (u_long) KEY_PROG, (u_long) KEY_VERS, + trytimeout, &socket, RPCSMALLMSGSIZE, + RPCSMALLMSGSIZE); if (client == NULL) return -1; - stat = clnt_call (client, KEY_GEN, (xdrproc_t) INTUSE(xdr_void), NULL, - (xdrproc_t) INTUSE(xdr_des_block), (caddr_t) key, + stat = clnt_call (client, KEY_GEN, (xdrproc_t) xdr_void, NULL, + (xdrproc_t) xdr_des_block, (caddr_t) key, tottimeout); clnt_destroy (client); __close (socket); @@ -228,15 +236,19 @@ key_gendes (des_block *key) return 0; } +#ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (key_gendes) +#else +libc_hidden_nolink (key_gendes, GLIBC_2_1) +#endif int key_setnet (struct key_netstarg *arg) { keystatus status; - if (!key_call ((u_long) KEY_NET_PUT, (xdrproc_t) INTUSE(xdr_key_netstarg), - (char *) arg,(xdrproc_t) INTUSE(xdr_keystatus), + if (!key_call ((u_long) KEY_NET_PUT, (xdrproc_t) xdr_key_netstarg, + (char *) arg,(xdrproc_t) xdr_keystatus, (char *) &status)) return -1; @@ -247,14 +259,15 @@ key_setnet (struct key_netstarg *arg) } return 1; } +libc_hidden_nolink (key_setnet, GLIBC_2_1) int key_get_conv (char *pkey, des_block *deskey) { cryptkeyres res; - if (!key_call ((u_long) KEY_GET_CONV, (xdrproc_t) INTUSE(xdr_keybuf), pkey, - (xdrproc_t) INTUSE(xdr_cryptkeyres), (char *) &res)) + if (!key_call ((u_long) KEY_GET_CONV, (xdrproc_t) xdr_keybuf, pkey, + (xdrproc_t) xdr_cryptkeyres, (char *) &res)) return -1; if (res.status != KEY_SUCCESS) @@ -265,6 +278,7 @@ key_get_conv (char *pkey, des_block *deskey) *deskey = res.cryptkeyres_u.deskey; return 0; } +libc_hidden_nolink (key_get_conv, GLIBC_2_1) /* * Hack to allow the keyserver to use AUTH_DES (for authenticated @@ -322,7 +336,7 @@ key_call_keyenvoy (u_long proc, xdrproc_t xdr_arg, char *arg, xdrstdio_create (&xdrargs, fargs, XDR_ENCODE); xdrstdio_create (&xdrrslt, frslt, XDR_DECODE); - if (!INTUSE(xdr_u_long) (&xdrargs, &proc) || !(*xdr_arg) (&xdrargs, arg)) + if (!xdr_u_long (&xdrargs, &proc) || !(*xdr_arg) (&xdrargs, arg)) { debug ("xdr args"); success = 0; @@ -421,16 +435,16 @@ getkeyserv_handle (int vers) /* if uid has changed, build client handle again */ if (kcp->uid != __geteuid ()) { - kcp->uid = __geteuid (); - auth_destroy (kcp->client->cl_auth); - kcp->client->cl_auth = - INTUSE(authunix_create) ((char *)"", kcp->uid, 0, 0, NULL); - if (kcp->client->cl_auth == NULL) - { - clnt_destroy (kcp->client); - kcp->client = NULL; - return ((CLIENT *) NULL); - } + kcp->uid = __geteuid (); + auth_destroy (kcp->client->cl_auth); + kcp->client->cl_auth = + authunix_create ((char *)"", kcp->uid, 0, 0, NULL); + if (kcp->client->cl_auth == NULL) + { + clnt_destroy (kcp->client); + kcp->client = NULL; + return ((CLIENT *) NULL); + } } /* Change the version number to the new one */ clnt_control (kcp->client, CLSET_VERS, (void *)&vers); @@ -439,16 +453,14 @@ getkeyserv_handle (int vers) if ((kcp->client == (CLIENT *) NULL)) /* Use the AF_UNIX transport */ - kcp->client = INTUSE(clnt_create) ("/var/run/keyservsock", KEY_PROG, vers, - "unix"); + kcp->client = clnt_create ("/var/run/keyservsock", KEY_PROG, vers, "unix"); if (kcp->client == (CLIENT *) NULL) return (CLIENT *) NULL; kcp->uid = __geteuid (); kcp->pid = __getpid (); - kcp->client->cl_auth = INTUSE(authunix_create) ((char *)"", kcp->uid, 0, 0, - NULL); + kcp->client->cl_auth = authunix_create ((char *)"", kcp->uid, 0, 0, NULL); if (kcp->client->cl_auth == NULL) { clnt_destroy (kcp->client); @@ -470,7 +482,7 @@ getkeyserv_handle (int vers) static int internal_function key_call_socket (u_long proc, xdrproc_t xdr_arg, char *arg, - xdrproc_t xdr_rslt, char *rslt) + xdrproc_t xdr_rslt, char *rslt) { CLIENT *clnt; struct timeval wait_time; diff --git a/sunrpc/key_prot.c b/sunrpc/key_prot.c index 8592bee..dd73f5e 100644 --- a/sunrpc/key_prot.c +++ b/sunrpc/key_prot.c @@ -28,73 +28,73 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#include "rpc/key_prot.h" +#include <rpc/key_prot.h> bool_t xdr_keystatus (XDR * xdrs, keystatus * objp) { - if (!INTUSE(xdr_enum) (xdrs, (enum_t *) objp)) + if (!xdr_enum (xdrs, (enum_t *) objp)) return FALSE; return TRUE; } -INTDEF(xdr_keystatus) +libc_hidden_nolink (xdr_keystatus, GLIBC_2_0) bool_t xdr_keybuf (XDR * xdrs, keybuf objp) { - if (!INTUSE(xdr_opaque) (xdrs, objp, HEXKEYBYTES)) + if (!xdr_opaque (xdrs, objp, HEXKEYBYTES)) return FALSE; return TRUE; } -INTDEF(xdr_keybuf) +libc_hidden_nolink (xdr_keybuf, GLIBC_2_0) bool_t xdr_netnamestr (XDR * xdrs, netnamestr * objp) { - if (!INTUSE(xdr_string) (xdrs, objp, MAXNETNAMELEN)) + if (!xdr_string (xdrs, objp, MAXNETNAMELEN)) return FALSE; return TRUE; } -INTDEF(xdr_netnamestr) +libc_hidden_nolink (xdr_netnamestr, GLIBC_2_1) bool_t xdr_cryptkeyarg (XDR * xdrs, cryptkeyarg * objp) { - if (!INTUSE(xdr_netnamestr) (xdrs, &objp->remotename)) + if (!xdr_netnamestr (xdrs, &objp->remotename)) return FALSE; - if (!INTUSE(xdr_des_block) (xdrs, &objp->deskey)) + if (!xdr_des_block (xdrs, &objp->deskey)) return FALSE; return TRUE; } -INTDEF(xdr_cryptkeyarg) +libc_hidden_nolink (xdr_cryptkeyarg, GLIBC_2_0) bool_t xdr_cryptkeyarg2 (XDR * xdrs, cryptkeyarg2 * objp) { - if (!INTUSE(xdr_netnamestr) (xdrs, &objp->remotename)) + if (!xdr_netnamestr (xdrs, &objp->remotename)) return FALSE; - if (!INTUSE(xdr_netobj) (xdrs, &objp->remotekey)) + if (!xdr_netobj (xdrs, &objp->remotekey)) return FALSE; - if (!INTUSE(xdr_des_block) (xdrs, &objp->deskey)) + if (!xdr_des_block (xdrs, &objp->deskey)) return FALSE; return TRUE; } -INTDEF(xdr_cryptkeyarg2) +libc_hidden_nolink (xdr_cryptkeyarg2, GLIBC_2_0) bool_t xdr_cryptkeyres (XDR * xdrs, cryptkeyres * objp) { - if (!INTUSE(xdr_keystatus) (xdrs, &objp->status)) + if (!xdr_keystatus (xdrs, &objp->status)) return FALSE; switch (objp->status) { case KEY_SUCCESS: - if (!INTUSE(xdr_des_block) (xdrs, &objp->cryptkeyres_u.deskey)) + if (!xdr_des_block (xdrs, &objp->cryptkeyres_u.deskey)) return FALSE; break; default: @@ -102,32 +102,32 @@ xdr_cryptkeyres (XDR * xdrs, cryptkeyres * objp) } return TRUE; } -INTDEF(xdr_cryptkeyres) +libc_hidden_nolink (xdr_cryptkeyres, GLIBC_2_0) bool_t xdr_unixcred (XDR * xdrs, unixcred * objp) { - if (!INTUSE(xdr_u_int) (xdrs, &objp->uid)) + if (!xdr_u_int (xdrs, &objp->uid)) return FALSE; - if (!INTUSE(xdr_u_int) (xdrs, &objp->gid)) + if (!xdr_u_int (xdrs, &objp->gid)) return FALSE; - if (!INTUSE(xdr_array) (xdrs, (void *) &objp->gids.gids_val, - (u_int *) & objp->gids.gids_len, MAXGIDS, - sizeof (u_int), (xdrproc_t) INTUSE(xdr_u_int))) + if (!xdr_array (xdrs, (void *) &objp->gids.gids_val, + (u_int *) & objp->gids.gids_len, MAXGIDS, + sizeof (u_int), (xdrproc_t) xdr_u_int)) return FALSE; return TRUE; } -INTDEF(xdr_unixcred) +libc_hidden_nolink (xdr_unixcred, GLIBC_2_1) bool_t xdr_getcredres (XDR * xdrs, getcredres * objp) { - if (!INTUSE(xdr_keystatus) (xdrs, &objp->status)) + if (!xdr_keystatus (xdrs, &objp->status)) return FALSE; switch (objp->status) { case KEY_SUCCESS: - if (!INTUSE(xdr_unixcred) (xdrs, &objp->getcredres_u.cred)) + if (!xdr_unixcred (xdrs, &objp->getcredres_u.cred)) return FALSE; break; default: @@ -135,29 +135,30 @@ xdr_getcredres (XDR * xdrs, getcredres * objp) } return TRUE; } +libc_hidden_nolink (xdr_getcredres, GLIBC_2_1) bool_t xdr_key_netstarg (XDR * xdrs, key_netstarg * objp) { - if (!INTUSE(xdr_keybuf) (xdrs, objp->st_priv_key)) + if (!xdr_keybuf (xdrs, objp->st_priv_key)) return FALSE; - if (!INTUSE(xdr_keybuf) (xdrs, objp->st_pub_key)) + if (!xdr_keybuf (xdrs, objp->st_pub_key)) return FALSE; - if (!INTUSE(xdr_netnamestr) (xdrs, &objp->st_netname)) + if (!xdr_netnamestr (xdrs, &objp->st_netname)) return FALSE; return TRUE; } -INTDEF(xdr_key_netstarg) +libc_hidden_nolink (xdr_key_netstarg, GLIBC_2_0) bool_t xdr_key_netstres (XDR * xdrs, key_netstres * objp) { - if (!INTUSE(xdr_keystatus) (xdrs, &objp->status)) + if (!xdr_keystatus (xdrs, &objp->status)) return FALSE; switch (objp->status) { case KEY_SUCCESS: - if (!INTUSE(xdr_key_netstarg) (xdrs, &objp->key_netstres_u.knet)) + if (!xdr_key_netstarg (xdrs, &objp->key_netstres_u.knet)) return FALSE; break; default: @@ -165,4 +166,4 @@ xdr_key_netstres (XDR * xdrs, key_netstres * objp) } return TRUE; } -INTDEF(xdr_key_netstres) +libc_hidden_nolink (xdr_key_netstres, GLIBC_2_0) diff --git a/sunrpc/netname.c b/sunrpc/netname.c index 07ff768..e1f1cf6 100644 --- a/sunrpc/netname.c +++ b/sunrpc/netname.c @@ -55,7 +55,7 @@ user2netname (char netname[MAXNETNAMELEN + 1], const uid_t uid, netname[i - 1] = '\0'; return 1; } -libc_hidden_def (user2netname) +libc_hidden_nolink (user2netname, GLIBC_2_1) int host2netname (char netname[MAXNETNAMELEN + 1], const char *host, @@ -116,7 +116,11 @@ host2netname (char netname[MAXNETNAMELEN + 1], const char *host, sprintf (netname, "%s.%s@%s", OPSYS, hostname, domainname); return 1; } +#ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (host2netname) +#else +libc_hidden_nolink (host2netname, GLIBC_2_1) +#endif int getnetname (char name[MAXNETNAMELEN + 1]) @@ -131,7 +135,7 @@ getnetname (char name[MAXNETNAMELEN + 1]) dummy = user2netname (name, uid, NULL); return (dummy); } -libc_hidden_def (getnetname) +libc_hidden_nolink (getnetname, GLIBC_2_1) /* Type of the lookup function for netname2user. */ typedef int (*netname2user_function) (const char netname[MAXNETNAMELEN + 1], @@ -181,7 +185,11 @@ netname2user (const char netname[MAXNETNAMELEN + 1], uid_t * uidp, gid_t * gidp, return status == NSS_STATUS_SUCCESS; } +#ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (netname2user) +#else +libc_hidden_nolink (netname2user, GLIBC_2_1) +#endif int netname2host (const char netname[MAXNETNAMELEN + 1], char *hostname, @@ -208,3 +216,4 @@ netname2host (const char netname[MAXNETNAMELEN + 1], char *hostname, return 1; } +libc_hidden_nolink (netname2host, GLIBC_2_1) diff --git a/sunrpc/pm_getmaps.c b/sunrpc/pm_getmaps.c index a62b3c7..6b61d32 100644 --- a/sunrpc/pm_getmaps.c +++ b/sunrpc/pm_getmaps.c @@ -43,6 +43,7 @@ #include <errno.h> #include <libintl.h> #include <unistd.h> +#include <not-cancel.h> /* @@ -66,12 +67,11 @@ pmap_getmaps (struct sockaddr_in *address) if (socket != -1) closeit = true; - client = INTUSE(clnttcp_create) (address, PMAPPROG, - PMAPVERS, &socket, 50, 500); + client = clnttcp_create (address, PMAPPROG, PMAPVERS, &socket, 50, 500); if (client != (CLIENT *) NULL) { - if (CLNT_CALL (client, PMAPPROC_DUMP, (xdrproc_t)INTUSE(xdr_void), NULL, - (xdrproc_t)INTUSE(xdr_pmaplist), (caddr_t)&head, + if (CLNT_CALL (client, PMAPPROC_DUMP, (xdrproc_t)xdr_void, NULL, + (xdrproc_t)xdr_pmaplist, (caddr_t)&head, minutetimeout) != RPC_SUCCESS) { clnt_perror (client, _("pmap_getmaps.c: rpc problem")); @@ -80,7 +80,8 @@ pmap_getmaps (struct sockaddr_in *address) } /* We only need to close the socket here if we opened it. */ if (closeit) - (void) __close (socket); + close_not_cancel (socket); address->sin_port = 0; return head; } +libc_hidden_nolink (pmap_getmaps, GLIBC_2_0) diff --git a/sunrpc/pm_getport.c b/sunrpc/pm_getport.c index da34776..58974a5 100644 --- a/sunrpc/pm_getport.c +++ b/sunrpc/pm_getport.c @@ -107,13 +107,12 @@ __libc_rpc_getport (address, program, version, protocol, timeout_sec, socket = __get_socket(address); if (socket != -1) closeit = true; - client = INTUSE(clnttcp_create) (address, PMAPPROG, PMAPVERS, &socket, - RPCSMALLMSGSIZE, RPCSMALLMSGSIZE); + client = clnttcp_create (address, PMAPPROG, PMAPVERS, &socket, + RPCSMALLMSGSIZE, RPCSMALLMSGSIZE); } else - client = INTUSE(clntudp_bufcreate) (address, PMAPPROG, PMAPVERS, timeout, - &socket, RPCSMALLMSGSIZE, - RPCSMALLMSGSIZE); + client = clntudp_bufcreate (address, PMAPPROG, PMAPVERS, timeout, + &socket, RPCSMALLMSGSIZE, RPCSMALLMSGSIZE); if (client != (CLIENT *) NULL) { struct rpc_createerr *ce = &get_rpc_createerr (); @@ -121,8 +120,8 @@ __libc_rpc_getport (address, program, version, protocol, timeout_sec, parms.pm_vers = version; parms.pm_prot = protocol; parms.pm_port = 0; /* not needed or used */ - if (CLNT_CALL (client, PMAPPROC_GETPORT, (xdrproc_t)INTUSE(xdr_pmap), - (caddr_t)&parms, (xdrproc_t)INTUSE(xdr_u_short), + if (CLNT_CALL (client, PMAPPROC_GETPORT, (xdrproc_t)xdr_pmap, + (caddr_t)&parms, (xdrproc_t)xdr_u_short, (caddr_t)&port, tottimeout) != RPC_SUCCESS) { ce->cf_stat = RPC_PMAPFAILURE; @@ -140,7 +139,11 @@ __libc_rpc_getport (address, program, version, protocol, timeout_sec, address->sin_port = 0; return port; } +#ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (__libc_rpc_getport) +#else +libc_hidden_nolink (__libc_rpc_getport, GLIBC_PRIVATE) +#endif /* @@ -157,4 +160,4 @@ pmap_getport (address, program, version, protocol) { return __libc_rpc_getport (address, program, version, protocol, 5, 60); } -libc_hidden_def (pmap_getport) +libc_hidden_nolink (pmap_getport, GLIBC_2_0) diff --git a/sunrpc/pmap_clnt.c b/sunrpc/pmap_clnt.c index 965469f..36479f0 100644 --- a/sunrpc/pmap_clnt.c +++ b/sunrpc/pmap_clnt.c @@ -112,17 +112,16 @@ pmap_set (u_long program, u_long version, int protocol, u_short port) if (!__get_myaddress (&myaddress)) return FALSE; - client = INTUSE(clntudp_bufcreate) (&myaddress, PMAPPROG, PMAPVERS, - timeout, &socket, RPCSMALLMSGSIZE, - RPCSMALLMSGSIZE); + client = clntudp_bufcreate (&myaddress, PMAPPROG, PMAPVERS, timeout, &socket, + RPCSMALLMSGSIZE, RPCSMALLMSGSIZE); if (client == (CLIENT *) NULL) return (FALSE); parms.pm_prog = program; parms.pm_vers = version; parms.pm_prot = protocol; parms.pm_port = port; - if (CLNT_CALL (client, PMAPPROC_SET, (xdrproc_t)INTUSE(xdr_pmap), - (caddr_t)&parms, (xdrproc_t)INTUSE(xdr_bool), (caddr_t)&rslt, + if (CLNT_CALL (client, PMAPPROC_SET, (xdrproc_t)xdr_pmap, + (caddr_t)&parms, (xdrproc_t)xdr_bool, (caddr_t)&rslt, tottimeout) != RPC_SUCCESS) { clnt_perror (client, _("Cannot register service")); @@ -132,7 +131,7 @@ pmap_set (u_long program, u_long version, int protocol, u_short port) /* (void)close(socket); CLNT_DESTROY closes it */ return rslt; } -libc_hidden_def (pmap_set) +libc_hidden_nolink (pmap_set, GLIBC_2_0) /* * Remove the mapping between program,version and port. @@ -149,19 +148,18 @@ pmap_unset (u_long program, u_long version) if (!__get_myaddress (&myaddress)) return FALSE; - client = INTUSE(clntudp_bufcreate) (&myaddress, PMAPPROG, PMAPVERS, - timeout, &socket, RPCSMALLMSGSIZE, - RPCSMALLMSGSIZE); + client = clntudp_bufcreate (&myaddress, PMAPPROG, PMAPVERS, timeout, &socket, + RPCSMALLMSGSIZE, RPCSMALLMSGSIZE); if (client == (CLIENT *) NULL) return FALSE; parms.pm_prog = program; parms.pm_vers = version; parms.pm_port = parms.pm_prot = 0; - CLNT_CALL (client, PMAPPROC_UNSET, (xdrproc_t)INTUSE(xdr_pmap), - (caddr_t)&parms, (xdrproc_t)INTUSE(xdr_bool), (caddr_t)&rslt, + CLNT_CALL (client, PMAPPROC_UNSET, (xdrproc_t)xdr_pmap, + (caddr_t)&parms, (xdrproc_t)xdr_bool, (caddr_t)&rslt, tottimeout); CLNT_DESTROY (client); /* (void)close(socket); CLNT_DESTROY already closed it */ return rslt; } -libc_hidden_def (pmap_unset) +libc_hidden_nolink (pmap_unset, GLIBC_2_0) diff --git a/sunrpc/pmap_prot.c b/sunrpc/pmap_prot.c index 8362e12..5a2e052 100644 --- a/sunrpc/pmap_prot.c +++ b/sunrpc/pmap_prot.c @@ -43,10 +43,10 @@ xdr_pmap (xdrs, regs) struct pmap *regs; { - if (INTUSE(xdr_u_long) (xdrs, ®s->pm_prog) && - INTUSE(xdr_u_long) (xdrs, ®s->pm_vers) && - INTUSE(xdr_u_long) (xdrs, ®s->pm_prot)) - return INTUSE(xdr_u_long) (xdrs, ®s->pm_port); + if (xdr_u_long (xdrs, ®s->pm_prog) && + xdr_u_long (xdrs, ®s->pm_vers) && + xdr_u_long (xdrs, ®s->pm_prot)) + return xdr_u_long (xdrs, ®s->pm_port); return FALSE; } -INTDEF(xdr_pmap) +libc_hidden_nolink (xdr_pmap, GLIBC_2_0) diff --git a/sunrpc/pmap_prot2.c b/sunrpc/pmap_prot2.c index bd180bc..3213898 100644 --- a/sunrpc/pmap_prot2.c +++ b/sunrpc/pmap_prot2.c @@ -92,7 +92,7 @@ xdr_pmaplist (xdrs, rp) while (TRUE) { more_elements = (bool_t) (*rp != NULL); - if (!INTUSE(xdr_bool) (xdrs, &more_elements)) + if (!xdr_bool (xdrs, &more_elements)) return FALSE; if (!more_elements) return TRUE; /* we are done */ @@ -103,11 +103,11 @@ xdr_pmaplist (xdrs, rp) */ if (freeing) next = (*rp)->pml_next; - if (!INTUSE(xdr_reference) (xdrs, (caddr_t *) rp, - (u_int) sizeof (struct pmaplist), - (xdrproc_t) INTUSE(xdr_pmap))) + if (!xdr_reference (xdrs, (caddr_t *) rp, + (u_int) sizeof (struct pmaplist), + (xdrproc_t) xdr_pmap)) return FALSE; rp = freeing ? &next : &((*rp)->pml_next); } } -INTDEF(xdr_pmaplist) +libc_hidden_nolink (xdr_pmaplist, GLIBC_2_0) diff --git a/sunrpc/pmap_rmt.c b/sunrpc/pmap_rmt.c index c07b4b1..16f3227 100644 --- a/sunrpc/pmap_rmt.c +++ b/sunrpc/pmap_rmt.c @@ -79,7 +79,7 @@ pmap_rmtcall (addr, prog, vers, proc, xdrargs, argsp, xdrres, resp, tout, port_p enum clnt_stat stat; addr->sin_port = htons (PMAPPORT); - client = INTUSE(clntudp_create) (addr, PMAPPROG, PMAPVERS, timeout, &socket); + client = clntudp_create (addr, PMAPPROG, PMAPVERS, timeout, &socket); if (client != (CLIENT *) NULL) { a.prog = prog; @@ -91,8 +91,8 @@ pmap_rmtcall (addr, prog, vers, proc, xdrargs, argsp, xdrres, resp, tout, port_p r.results_ptr = resp; r.xdr_results = xdrres; stat = CLNT_CALL (client, PMAPPROC_CALLIT, - (xdrproc_t)INTUSE(xdr_rmtcall_args), - (caddr_t)&a, (xdrproc_t)INTUSE(xdr_rmtcallres), + (xdrproc_t)xdr_rmtcall_args, + (caddr_t)&a, (xdrproc_t)xdr_rmtcallres, (caddr_t)&r, tout); CLNT_DESTROY (client); } @@ -104,6 +104,7 @@ pmap_rmtcall (addr, prog, vers, proc, xdrargs, argsp, xdrres, resp, tout, port_p addr->sin_port = 0; return stat; } +libc_hidden_nolink (pmap_rmtcall, GLIBC_2_0) /* @@ -115,13 +116,13 @@ xdr_rmtcall_args (XDR *xdrs, struct rmtcallargs *cap) { u_int lenposition, argposition, position; - if (INTUSE(xdr_u_long) (xdrs, &(cap->prog)) && - INTUSE(xdr_u_long) (xdrs, &(cap->vers)) && - INTUSE(xdr_u_long) (xdrs, &(cap->proc))) + if (xdr_u_long (xdrs, &(cap->prog)) && + xdr_u_long (xdrs, &(cap->vers)) && + xdr_u_long (xdrs, &(cap->proc))) { u_long dummy_arglen = 0; lenposition = XDR_GETPOS (xdrs); - if (!INTUSE(xdr_u_long) (xdrs, &dummy_arglen)) + if (!xdr_u_long (xdrs, &dummy_arglen)) return FALSE; argposition = XDR_GETPOS (xdrs); if (!(*(cap->xdr_args)) (xdrs, cap->args_ptr)) @@ -129,14 +130,14 @@ xdr_rmtcall_args (XDR *xdrs, struct rmtcallargs *cap) position = XDR_GETPOS (xdrs); cap->arglen = (u_long) position - (u_long) argposition; XDR_SETPOS (xdrs, lenposition); - if (!INTUSE(xdr_u_long) (xdrs, &(cap->arglen))) + if (!xdr_u_long (xdrs, &(cap->arglen))) return FALSE; XDR_SETPOS (xdrs, position); return TRUE; } return FALSE; } -INTDEF(xdr_rmtcall_args) +libc_hidden_nolink (xdr_rmtcall_args, GLIBC_2_0) /* * XDR remote call results @@ -150,16 +151,16 @@ xdr_rmtcallres (xdrs, crp) caddr_t port_ptr; port_ptr = (caddr_t) crp->port_ptr; - if (INTUSE(xdr_reference) (xdrs, &port_ptr, sizeof (u_long), - (xdrproc_t) INTUSE(xdr_u_long)) - && INTUSE(xdr_u_long) (xdrs, &crp->resultslen)) + if (xdr_reference (xdrs, &port_ptr, sizeof (u_long), + (xdrproc_t) xdr_u_long) + && xdr_u_long (xdrs, &crp->resultslen)) { crp->port_ptr = (u_long *) port_ptr; return (*(crp->xdr_results)) (xdrs, crp->results_ptr); } return FALSE; } -INTDEF(xdr_rmtcallres) +libc_hidden_nolink (xdr_rmtcallres, GLIBC_2_0) /* @@ -212,7 +213,7 @@ clnt_broadcast (prog, vers, proc, xargs, argsp, xresults, resultsp, eachresult) resultproc_t eachresult; /* call with each result obtained */ { enum clnt_stat stat = RPC_FAILED; - AUTH *unix_auth = INTUSE(authunix_create_default) (); + AUTH *unix_auth = authunix_create_default (); XDR xdr_stream; XDR *xdrs = &xdr_stream; struct timeval t; @@ -276,9 +277,9 @@ clnt_broadcast (prog, vers, proc, xargs, argsp, xresults, resultsp, eachresult) r.port_ptr = &port; r.xdr_results = xresults; r.results_ptr = resultsp; - INTUSE(xdrmem_create) (xdrs, outbuf, MAX_BROADCAST_SIZE, XDR_ENCODE); - if ((!INTUSE(xdr_callmsg) (xdrs, &msg)) - || (!INTUSE(xdr_rmtcall_args) (xdrs, &a))) + xdrmem_create (xdrs, outbuf, MAX_BROADCAST_SIZE, XDR_ENCODE); + if ((!xdr_callmsg (xdrs, &msg)) + || (!xdr_rmtcall_args (xdrs, &a))) { stat = RPC_CANTENCODEARGS; goto done_broad; @@ -311,7 +312,7 @@ clnt_broadcast (prog, vers, proc, xargs, argsp, xresults, resultsp, eachresult) recv_again: msg.acpted_rply.ar_verf = _null_auth; msg.acpted_rply.ar_results.where = (caddr_t) & r; - msg.acpted_rply.ar_results.proc = (xdrproc_t) INTUSE(xdr_rmtcallres); + msg.acpted_rply.ar_results.proc = (xdrproc_t) xdr_rmtcallres; milliseconds = t.tv_sec * 1000 + t.tv_usec / 1000; switch (__poll(&fd, 1, milliseconds)) { @@ -346,8 +347,8 @@ clnt_broadcast (prog, vers, proc, xargs, argsp, xresults, resultsp, eachresult) * see if reply transaction id matches sent id. * If so, decode the results. */ - INTUSE(xdrmem_create) (xdrs, inbuf, (u_int) inlen, XDR_DECODE); - if (INTUSE(xdr_replymsg) (xdrs, &msg)) + xdrmem_create (xdrs, inbuf, (u_int) inlen, XDR_DECODE); + if (xdr_replymsg (xdrs, &msg)) { if (((u_int32_t) msg.rm_xid == (u_int32_t) xid) && (msg.rm_reply.rp_stat == MSG_ACCEPTED) && @@ -368,8 +369,8 @@ clnt_broadcast (prog, vers, proc, xargs, argsp, xresults, resultsp, eachresult) #endif } xdrs->x_op = XDR_FREE; - msg.acpted_rply.ar_results.proc = (xdrproc_t)INTUSE(xdr_void); - (void) INTUSE(xdr_replymsg) (xdrs, &msg); + msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void; + (void) xdr_replymsg (xdrs, &msg); (void) (*xresults) (xdrs, resultsp); xdr_destroy (xdrs); if (done) @@ -387,3 +388,4 @@ done_broad: AUTH_DESTROY (unix_auth); return stat; } +libc_hidden_nolink (clnt_broadcast, GLIBC_2_0) diff --git a/sunrpc/publickey.c b/sunrpc/publickey.c index dbadaca..9e44199 100644 --- a/sunrpc/publickey.c +++ b/sunrpc/publickey.c @@ -76,7 +76,7 @@ getpublickey (const char *name, char *key) return status == NSS_STATUS_SUCCESS; } -libc_hidden_def (getpublickey) +libc_hidden_nolink (getpublickey, GLIBC_2_0) int @@ -119,3 +119,4 @@ getsecretkey (const char *name, char *key, const char *passwd) return status == NSS_STATUS_SUCCESS; } +libc_hidden_nolink (getsecretkey, GLIBC_2_0) diff --git a/sunrpc/rpc_cmsg.c b/sunrpc/rpc_cmsg.c index 2fe401c..ed70104 100644 --- a/sunrpc/rpc_cmsg.c +++ b/sunrpc/rpc_cmsg.c @@ -125,8 +125,8 @@ xdr_callmsg (XDR *xdrs, struct rpc_msg *cmsg) buf = XDR_INLINE (xdrs, RNDUP (oa->oa_length)); if (buf == NULL) { - if (INTUSE(xdr_opaque) (xdrs, oa->oa_base, - oa->oa_length) == FALSE) + if (xdr_opaque (xdrs, oa->oa_base, + oa->oa_length) == FALSE) return FALSE; } else @@ -142,8 +142,8 @@ xdr_callmsg (XDR *xdrs, struct rpc_msg *cmsg) buf = XDR_INLINE (xdrs, 2 * BYTES_PER_XDR_UNIT); if (buf == NULL) { - if (INTUSE(xdr_enum) (xdrs, &oa->oa_flavor) == FALSE || - INTUSE(xdr_u_int) (xdrs, &oa->oa_length) == FALSE) + if (xdr_enum (xdrs, &oa->oa_flavor) == FALSE || + xdr_u_int (xdrs, &oa->oa_length) == FALSE) { return FALSE; } @@ -165,8 +165,8 @@ xdr_callmsg (XDR *xdrs, struct rpc_msg *cmsg) buf = XDR_INLINE (xdrs, RNDUP (oa->oa_length)); if (buf == NULL) { - if (INTUSE(xdr_opaque) (xdrs, oa->oa_base, - oa->oa_length) == FALSE) + if (xdr_opaque (xdrs, oa->oa_base, + oa->oa_length) == FALSE) return FALSE; } else @@ -182,16 +182,16 @@ xdr_callmsg (XDR *xdrs, struct rpc_msg *cmsg) } } if ( - INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_xid)) && - INTUSE(xdr_enum) (xdrs, (enum_t *) & (cmsg->rm_direction)) && + xdr_u_long (xdrs, &(cmsg->rm_xid)) && + xdr_enum (xdrs, (enum_t *) & (cmsg->rm_direction)) && (cmsg->rm_direction == CALL) && - INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_rpcvers)) && + xdr_u_long (xdrs, &(cmsg->rm_call.cb_rpcvers)) && (cmsg->rm_call.cb_rpcvers == RPC_MSG_VERSION) && - INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_prog)) && - INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_vers)) && - INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_proc)) && - INTUSE(xdr_opaque_auth) (xdrs, &(cmsg->rm_call.cb_cred))) - return INTUSE(xdr_opaque_auth) (xdrs, &(cmsg->rm_call.cb_verf)); + xdr_u_long (xdrs, &(cmsg->rm_call.cb_prog)) && + xdr_u_long (xdrs, &(cmsg->rm_call.cb_vers)) && + xdr_u_long (xdrs, &(cmsg->rm_call.cb_proc)) && + xdr_opaque_auth (xdrs, &(cmsg->rm_call.cb_cred))) + return xdr_opaque_auth (xdrs, &(cmsg->rm_call.cb_verf)); return FALSE; } -INTDEF(xdr_callmsg) +libc_hidden_nolink (xdr_callmsg, GLIBC_2_0) diff --git a/sunrpc/rpc_common.c b/sunrpc/rpc_common.c index 9090402..44b4b38 100644 --- a/sunrpc/rpc_common.c +++ b/sunrpc/rpc_common.c @@ -28,6 +28,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include <rpc/rpc.h> +#include <shlib-compat.h> #ifdef _RPC_THREAD_SAFE_ #undef svc_fdset @@ -44,7 +45,7 @@ section but we cannot add const to the type because this isn't how the variable is declared. So we use the section attribute. */ struct opaque_auth _null_auth __attribute__ ((nocommon)); -libc_hidden_def (_null_auth) +libc_hidden_nolink (_null_auth, GLIBC_2_0) fd_set svc_fdset; struct rpc_createerr rpc_createerr; struct pollfd *svc_pollfd; diff --git a/sunrpc/rpc_dtable.c b/sunrpc/rpc_dtable.c index 44faa9f..9bee215 100644 --- a/sunrpc/rpc_dtable.c +++ b/sunrpc/rpc_dtable.c @@ -46,4 +46,4 @@ _rpc_dtablesize (void) return size; } -libc_hidden_def (_rpc_dtablesize) +libc_hidden_nolink (_rpc_dtablesize, GLIBC_2_0) diff --git a/sunrpc/rpc_prot.c b/sunrpc/rpc_prot.c index efbb353..b19dff7 100644 --- a/sunrpc/rpc_prot.c +++ b/sunrpc/rpc_prot.c @@ -52,12 +52,12 @@ bool_t xdr_opaque_auth (XDR *xdrs, struct opaque_auth *ap) { - if (INTUSE(xdr_enum) (xdrs, &(ap->oa_flavor))) - return INTUSE(xdr_bytes) (xdrs, &ap->oa_base, + if (xdr_enum (xdrs, &(ap->oa_flavor))) + return xdr_bytes (xdrs, &ap->oa_base, &ap->oa_length, MAX_AUTH_BYTES); return FALSE; } -INTDEF(xdr_opaque_auth) +libc_hidden_nolink (xdr_opaque_auth, GLIBC_2_0) /* * XDR a DES block @@ -65,9 +65,9 @@ INTDEF(xdr_opaque_auth) bool_t xdr_des_block (XDR *xdrs, des_block *blkp) { - return INTUSE(xdr_opaque) (xdrs, (caddr_t) blkp, sizeof (des_block)); + return xdr_opaque (xdrs, (caddr_t) blkp, sizeof (des_block)); } -INTDEF(xdr_des_block) +libc_hidden_nolink (xdr_des_block, GLIBC_2_0) /* * * * * * * * * * * * * * XDR RPC MESSAGE * * * * * * * * * * * * * * * */ @@ -78,24 +78,24 @@ bool_t xdr_accepted_reply (XDR *xdrs, struct accepted_reply *ar) { /* personalized union, rather than calling xdr_union */ - if (!INTUSE(xdr_opaque_auth) (xdrs, &(ar->ar_verf))) + if (!xdr_opaque_auth (xdrs, &(ar->ar_verf))) return FALSE; - if (!INTUSE(xdr_enum) (xdrs, (enum_t *) & (ar->ar_stat))) + if (!xdr_enum (xdrs, (enum_t *) & (ar->ar_stat))) return FALSE; switch (ar->ar_stat) { case SUCCESS: return ((*(ar->ar_results.proc)) (xdrs, ar->ar_results.where)); case PROG_MISMATCH: - if (!INTUSE(xdr_u_long) (xdrs, &(ar->ar_vers.low))) + if (!xdr_u_long (xdrs, &(ar->ar_vers.low))) return FALSE; - return (INTUSE(xdr_u_long) (xdrs, &(ar->ar_vers.high))); + return (xdr_u_long (xdrs, &(ar->ar_vers.high))); default: return TRUE; } return TRUE; /* TRUE => open ended set of problems */ } -INTDEF(xdr_accepted_reply) +libc_hidden_nolink (xdr_accepted_reply, GLIBC_2_0) /* * XDR the MSG_DENIED part of a reply message union @@ -104,26 +104,26 @@ bool_t xdr_rejected_reply (XDR *xdrs, struct rejected_reply *rr) { /* personalized union, rather than calling xdr_union */ - if (!INTUSE(xdr_enum) (xdrs, (enum_t *) & (rr->rj_stat))) + if (!xdr_enum (xdrs, (enum_t *) & (rr->rj_stat))) return FALSE; switch (rr->rj_stat) { case RPC_MISMATCH: - if (!INTUSE(xdr_u_long) (xdrs, &(rr->rj_vers.low))) + if (!xdr_u_long (xdrs, &(rr->rj_vers.low))) return FALSE; - return INTUSE(xdr_u_long) (xdrs, &(rr->rj_vers.high)); + return xdr_u_long (xdrs, &(rr->rj_vers.high)); case AUTH_ERROR: - return INTUSE(xdr_enum) (xdrs, (enum_t *) & (rr->rj_why)); + return xdr_enum (xdrs, (enum_t *) & (rr->rj_why)); } return FALSE; } -INTDEF(xdr_rejected_reply) +libc_hidden_nolink (xdr_rejected_reply, GLIBC_2_0) static const struct xdr_discrim reply_dscrm[3] = { - {(int) MSG_ACCEPTED, (xdrproc_t) INTUSE(xdr_accepted_reply)}, - {(int) MSG_DENIED, (xdrproc_t) INTUSE(xdr_rejected_reply)}, + {(int) MSG_ACCEPTED, (xdrproc_t) xdr_accepted_reply}, + {(int) MSG_DENIED, (xdrproc_t) xdr_rejected_reply}, {__dontcare__, NULL_xdrproc_t}}; /* @@ -134,15 +134,15 @@ xdr_replymsg (xdrs, rmsg) XDR *xdrs; struct rpc_msg *rmsg; { - if (INTUSE(xdr_u_long) (xdrs, &(rmsg->rm_xid)) && - INTUSE(xdr_enum) (xdrs, (enum_t *) & (rmsg->rm_direction)) && + if (xdr_u_long (xdrs, &(rmsg->rm_xid)) && + xdr_enum (xdrs, (enum_t *) & (rmsg->rm_direction)) && (rmsg->rm_direction == REPLY)) - return INTUSE(xdr_union) (xdrs, (enum_t *) & (rmsg->rm_reply.rp_stat), - (caddr_t) & (rmsg->rm_reply.ru), reply_dscrm, - NULL_xdrproc_t); + return xdr_union (xdrs, (enum_t *) & (rmsg->rm_reply.rp_stat), + (caddr_t) & (rmsg->rm_reply.ru), reply_dscrm, + NULL_xdrproc_t); return FALSE; } -INTDEF(xdr_replymsg) +libc_hidden_nolink (xdr_replymsg, GLIBC_2_0) /* @@ -160,14 +160,14 @@ xdr_callhdr (xdrs, cmsg) cmsg->rm_call.cb_rpcvers = RPC_MSG_VERSION; if ( (xdrs->x_op == XDR_ENCODE) && - INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_xid)) && - INTUSE(xdr_enum) (xdrs, (enum_t *) & (cmsg->rm_direction)) && - INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_rpcvers)) && - INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_prog))) - return INTUSE(xdr_u_long) (xdrs, &(cmsg->rm_call.cb_vers)); + xdr_u_long (xdrs, &(cmsg->rm_xid)) && + xdr_enum (xdrs, (enum_t *) & (cmsg->rm_direction)) && + xdr_u_long (xdrs, &(cmsg->rm_call.cb_rpcvers)) && + xdr_u_long (xdrs, &(cmsg->rm_call.cb_prog))) + return xdr_u_long (xdrs, &(cmsg->rm_call.cb_vers)); return FALSE; } -INTDEF(xdr_callhdr) +libc_hidden_nolink (xdr_callhdr, GLIBC_2_0) /* ************************** Client utility routine ************* */ @@ -277,4 +277,4 @@ _seterr_reply (struct rpc_msg *msg, break; } } -libc_hidden_def (_seterr_reply) +libc_hidden_nolink (_seterr_reply, GLIBC_2_0) diff --git a/sunrpc/rpc_thread.c b/sunrpc/rpc_thread.c index 796bf08..ac4c18f 100644 --- a/sunrpc/rpc_thread.c +++ b/sunrpc/rpc_thread.c @@ -97,7 +97,7 @@ __rpc_thread_svc_fdset (void) return &svc_fdset; return &tvp->svc_fdset_s; } -libc_hidden_def (__rpc_thread_svc_fdset) +libc_hidden_nolink (__rpc_thread_svc_fdset, GLIBC_2_2_3) struct rpc_createerr * __rpc_thread_createerr (void) @@ -109,7 +109,7 @@ __rpc_thread_createerr (void) return &rpc_createerr; return &tvp->rpc_createerr_s; } -libc_hidden_def (__rpc_thread_createerr) +libc_hidden_nolink (__rpc_thread_createerr, GLIBC_2_2_3) struct pollfd ** __rpc_thread_svc_pollfd (void) @@ -121,7 +121,11 @@ __rpc_thread_svc_pollfd (void) return &svc_pollfd; return &tvp->svc_pollfd_s; } +#ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (__rpc_thread_svc_pollfd) +#else +libc_hidden_nolink (__rpc_thread_svc_pollfd, GLIBC_2_2_3) +#endif int * __rpc_thread_svc_max_pollfd (void) @@ -133,6 +137,10 @@ __rpc_thread_svc_max_pollfd (void) return &svc_max_pollfd; return &tvp->svc_max_pollfd_s; } +#ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (__rpc_thread_svc_max_pollfd) +#else +libc_hidden_nolink (__rpc_thread_svc_max_pollfd, GLIBC_2_2_3) +#endif #endif /* _RPC_THREAD_SAFE_ */ diff --git a/sunrpc/rtime.c b/sunrpc/rtime.c index 768c621..8506df5 100644 --- a/sunrpc/rtime.c +++ b/sunrpc/rtime.c @@ -140,4 +140,4 @@ rtime (struct sockaddr_in *addrp, struct rpc_timeval *timep, timep->tv_usec = 0; return 0; } -libc_hidden_def (rtime) +libc_hidden_nolink (rtime, GLIBC_2_1) diff --git a/sunrpc/svc.c b/sunrpc/svc.c index f745417..e1f4a32 100644 --- a/sunrpc/svc.c +++ b/sunrpc/svc.c @@ -115,7 +115,7 @@ xprt_register (SVCXPRT *xprt) POLLRDNORM | POLLRDBAND); } } -libc_hidden_def (xprt_register) +libc_hidden_nolink (xprt_register, GLIBC_2_0) /* De-activate a transport handle. */ void @@ -136,7 +136,11 @@ xprt_unregister (SVCXPRT *xprt) svc_pollfd[i].fd = -1; } } +#ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xprt_unregister) +#else +libc_hidden_nolink (xprt_unregister, GLIBC_2_0) +#endif /* ********************** CALLOUT list related stuff ************* */ @@ -211,7 +215,11 @@ pmap_it: return TRUE; } +#ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (svc_register) +#else +libc_hidden_nolink (svc_register, GLIBC_2_0) +#endif /* Remove a service program from the callout list. */ void @@ -234,7 +242,7 @@ svc_unregister (rpcprog_t prog, rpcvers_t vers) if (! svc_is_mapped (prog, vers)) pmap_unset (prog, vers); } -libc_hidden_def (svc_unregister) +libc_hidden_nolink (svc_unregister, GLIBC_2_0) /* ******************* REPLY GENERATION ROUTINES ************ */ @@ -253,7 +261,11 @@ svc_sendreply (register SVCXPRT *xprt, xdrproc_t xdr_results, rply.acpted_rply.ar_results.proc = xdr_results; return SVC_REPLY (xprt, &rply); } -INTDEF (svc_sendreply) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (svc_sendreply) +#else +libc_hidden_nolink (svc_sendreply, GLIBC_2_0) +#endif /* No procedure error reply */ void @@ -267,6 +279,11 @@ svcerr_noproc (register SVCXPRT *xprt) rply.acpted_rply.ar_stat = PROC_UNAVAIL; SVC_REPLY (xprt, &rply); } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (svcerr_noproc) +#else +libc_hidden_nolink (svcerr_noproc, GLIBC_2_0) +#endif /* Can't decode args error reply */ void @@ -280,7 +297,11 @@ svcerr_decode (register SVCXPRT *xprt) rply.acpted_rply.ar_stat = GARBAGE_ARGS; SVC_REPLY (xprt, &rply); } -INTDEF (svcerr_decode) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (svcerr_decode) +#else +libc_hidden_nolink (svcerr_decode, GLIBC_2_0) +#endif /* Some system error */ void @@ -294,6 +315,11 @@ svcerr_systemerr (register SVCXPRT *xprt) rply.acpted_rply.ar_stat = SYSTEM_ERR; SVC_REPLY (xprt, &rply); } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (svcerr_systemerr) +#else +libc_hidden_nolink (svcerr_systemerr, GLIBC_2_0) +#endif /* Authentication error reply */ void @@ -307,7 +333,7 @@ svcerr_auth (SVCXPRT *xprt, enum auth_stat why) rply.rjcted_rply.rj_why = why; SVC_REPLY (xprt, &rply); } -libc_hidden_def (svcerr_auth) +libc_hidden_nolink (svcerr_auth, GLIBC_2_0) /* Auth too weak error reply */ void @@ -315,6 +341,7 @@ svcerr_weakauth (SVCXPRT *xprt) { svcerr_auth (xprt, AUTH_TOOWEAK); } +libc_hidden_nolink (svcerr_weakauth, GLIBC_2_0) /* Program unavailable error reply */ void @@ -328,7 +355,7 @@ svcerr_noprog (register SVCXPRT *xprt) rply.acpted_rply.ar_stat = PROG_UNAVAIL; SVC_REPLY (xprt, &rply); } -libc_hidden_def (svcerr_noprog) +libc_hidden_nolink (svcerr_noprog, GLIBC_2_0) /* Program version mismatch error reply */ void @@ -345,7 +372,7 @@ svcerr_progvers (register SVCXPRT *xprt, rpcvers_t low_vers, rply.acpted_rply.ar_vers.high = high_vers; SVC_REPLY (xprt, &rply); } -libc_hidden_def (svcerr_progvers) +libc_hidden_nolink (svcerr_progvers, GLIBC_2_0) /* ******************* SERVER INPUT STUFF ******************* */ @@ -372,9 +399,9 @@ svc_getreq (int rdfds) FD_ZERO (&readfds); readfds.fds_bits[0] = rdfds; - INTUSE(svc_getreqset) (&readfds); + svc_getreqset (&readfds); } -INTDEF (svc_getreq) +libc_hidden_nolink (svc_getreq, GLIBC_2_0) void svc_getreqset (fd_set *readfds) @@ -391,9 +418,9 @@ svc_getreqset (fd_set *readfds) maskp = readfds->fds_bits; for (sock = 0; sock < setsize; sock += NFDBITS) for (mask = *maskp++; (bit = ffsl (mask)); mask ^= (1L << (bit - 1))) - INTUSE(svc_getreq_common) (sock + bit - 1); + svc_getreq_common (sock + bit - 1); } -INTDEF (svc_getreqset) +libc_hidden_nolink (svc_getreqset, GLIBC_2_0) void svc_getreq_poll (struct pollfd *pfdp, int pollretval) @@ -412,14 +439,18 @@ svc_getreq_poll (struct pollfd *pfdp, int pollretval) if (p->revents & POLLNVAL) xprt_unregister (xports[p->fd]); else - INTUSE(svc_getreq_common) (p->fd); + svc_getreq_common (p->fd); if (++fds_found >= pollretval) break; } } } -INTDEF (svc_getreq_poll) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (svc_getreq_poll) +#else +libc_hidden_nolink (svc_getreq_poll, GLIBC_2_2) +#endif void @@ -465,7 +496,7 @@ svc_getreq_common (const int fd) r.rq_xprt->xp_verf.oa_flavor = _null_auth.oa_flavor; r.rq_xprt->xp_verf.oa_length = 0; } - else if ((why = INTUSE(_authenticate) (&r, &msg)) != AUTH_OK) + else if ((why = _authenticate (&r, &msg)) != AUTH_OK) { svcerr_auth (xprt, why); goto call_done; @@ -511,7 +542,7 @@ svc_getreq_common (const int fd) } while (stat == XPRT_MOREREQS); } -INTDEF (svc_getreq_common) +libc_hidden_nolink (svc_getreq_common, GLIBC_2_2) #ifdef _RPC_THREAD_SAFE_ diff --git a/sunrpc/svc_auth.c b/sunrpc/svc_auth.c index 2ccfdaa..facbb13 100644 --- a/sunrpc/svc_auth.c +++ b/sunrpc/svc_auth.c @@ -105,7 +105,7 @@ _authenticate (register struct svc_req *rqst, struct rpc_msg *msg) return AUTH_REJECTEDCRED; } -INTDEF(_authenticate) +libc_hidden_nolink (_authenticate, GLIBC_2_1) static enum auth_stat _svcauth_null (struct svc_req *rqst, struct rpc_msg *msg) diff --git a/sunrpc/svc_authux.c b/sunrpc/svc_authux.c index 1de08bc..0c6b024 100644 --- a/sunrpc/svc_authux.c +++ b/sunrpc/svc_authux.c @@ -67,8 +67,7 @@ _svcauth_unix (struct svc_req *rqst, struct rpc_msg *msg) aup->aup_machname = area->area_machname; aup->aup_gids = area->area_gids; auth_len = (u_int) msg->rm_call.cb_cred.oa_length; - INTUSE(xdrmem_create) (&xdrs, msg->rm_call.cb_cred.oa_base, auth_len, - XDR_DECODE); + xdrmem_create (&xdrs, msg->rm_call.cb_cred.oa_base, auth_len, XDR_DECODE); buf = XDR_INLINE (&xdrs, auth_len); if (buf != NULL) { @@ -106,10 +105,10 @@ _svcauth_unix (struct svc_req *rqst, struct rpc_msg *msg) goto done; } } - else if (!INTUSE(xdr_authunix_parms) (&xdrs, aup)) + else if (!xdr_authunix_parms (&xdrs, aup)) { xdrs.x_op = XDR_FREE; - (void) INTUSE(xdr_authunix_parms) (&xdrs, aup); + (void) xdr_authunix_parms (&xdrs, aup); stat = AUTH_BADCRED; goto done; } diff --git a/sunrpc/svc_raw.c b/sunrpc/svc_raw.c index 3dd4827..90f5d96 100644 --- a/sunrpc/svc_raw.c +++ b/sunrpc/svc_raw.c @@ -85,10 +85,10 @@ svcraw_create (void) srp->server.xp_port = 0; srp->server.xp_ops = (struct xp_ops *) &server_ops; srp->server.xp_verf.oa_base = srp->verf_body; - INTUSE(xdrmem_create) (&srp->xdr_stream, srp->_raw_buf, UDPMSGSIZE, - XDR_FREE); + xdrmem_create (&srp->xdr_stream, srp->_raw_buf, UDPMSGSIZE, XDR_FREE); return &srp->server; } +libc_hidden_nolink (svcraw_create, GLIBC_2_0) static enum xprt_stat svcraw_stat (SVCXPRT *xprt) @@ -109,7 +109,7 @@ svcraw_recv (xprt, msg) xdrs = &srp->xdr_stream; xdrs->x_op = XDR_DECODE; XDR_SETPOS (xdrs, 0); - if (!INTUSE(xdr_callmsg) (xdrs, msg)) + if (!xdr_callmsg (xdrs, msg)) return FALSE; return TRUE; } @@ -125,7 +125,7 @@ svcraw_reply (SVCXPRT *xprt, struct rpc_msg *msg) xdrs = &srp->xdr_stream; xdrs->x_op = XDR_ENCODE; XDR_SETPOS (xdrs, 0); - if (!INTUSE(xdr_replymsg) (xdrs, msg)) + if (!xdr_replymsg (xdrs, msg)) return FALSE; (void) XDR_GETPOS (xdrs); /* called just for overhead */ return TRUE; diff --git a/sunrpc/svc_run.c b/sunrpc/svc_run.c index de6c3c7..d92ad57 100644 --- a/sunrpc/svc_run.c +++ b/sunrpc/svc_run.c @@ -46,6 +46,7 @@ svc_exit (void) svc_pollfd = NULL; svc_max_pollfd = 0; } +libc_hidden_nolink (svc_exit, GLIBC_2_0) void svc_run (void) @@ -92,7 +93,7 @@ svc_run (void) case 0: continue; default: - INTUSE(svc_getreq_poll) (my_pollfd, i); + svc_getreq_poll (my_pollfd, i); continue; } break; @@ -100,3 +101,4 @@ svc_run (void) free (my_pollfd); } +libc_hidden_nolink (svc_run, GLIBC_2_0) diff --git a/sunrpc/svc_simple.c b/sunrpc/svc_simple.c index 4b178bf..49b1211 100644 --- a/sunrpc/svc_simple.c +++ b/sunrpc/svc_simple.c @@ -69,8 +69,8 @@ static SVCXPRT *transp; #endif int -registerrpc (u_long prognum, u_long versnum, u_long procnum, - char *(*progname) (char *), xdrproc_t inproc, xdrproc_t outproc) +__registerrpc (u_long prognum, u_long versnum, u_long procnum, + char *(*progname) (char *), xdrproc_t inproc, xdrproc_t outproc) { struct proglst_ *pl; char *buf; @@ -85,7 +85,7 @@ registerrpc (u_long prognum, u_long versnum, u_long procnum, } if (transp == 0) { - transp = INTUSE(svcudp_create) (RPC_ANYSOCK); + transp = svcudp_create (RPC_ANYSOCK); if (transp == NULL) { buf = strdup (_("couldn't create an rpc server\n")); @@ -123,6 +123,7 @@ registerrpc (u_long prognum, u_long versnum, u_long procnum, free (buf); return -1; } +compat_symbol (libc, __registerrpc, registerrpc, GLIBC_2_0); static void universal (struct svc_req *rqstp, SVCXPRT *transp_l) @@ -138,8 +139,8 @@ universal (struct svc_req *rqstp, SVCXPRT *transp_l) */ if (rqstp->rq_proc == NULLPROC) { - if (INTUSE(svc_sendreply) (transp_l, (xdrproc_t)INTUSE(xdr_void), - (char *) NULL) == FALSE) + if (svc_sendreply (transp_l, (xdrproc_t)xdr_void, + (char *) NULL) == FALSE) { __write (STDERR_FILENO, "xxx\n", 4); exit (1); @@ -155,14 +156,14 @@ universal (struct svc_req *rqstp, SVCXPRT *transp_l) __bzero (xdrbuf, sizeof (xdrbuf)); /* required ! */ if (!svc_getargs (transp_l, pl->p_inproc, xdrbuf)) { - INTUSE(svcerr_decode) (transp_l); + svcerr_decode (transp_l); return; } outdata = (*(pl->p_progname)) (xdrbuf); - if (outdata == NULL && pl->p_outproc != (xdrproc_t)INTUSE(xdr_void)) + if (outdata == NULL && pl->p_outproc != (xdrproc_t)xdr_void) /* there was an error */ return; - if (!INTUSE(svc_sendreply) (transp_l, pl->p_outproc, outdata)) + if (!svc_sendreply (transp_l, pl->p_outproc, outdata)) { if (__asprintf (&buf, _("trouble replying to prog %d\n"), pl->p_prognum) < 0) diff --git a/sunrpc/svc_tcp.c b/sunrpc/svc_tcp.c index dd66485..74f2cd9 100644 --- a/sunrpc/svc_tcp.c +++ b/sunrpc/svc_tcp.c @@ -186,6 +186,11 @@ svctcp_create (int sock, u_int sendsize, u_int recvsize) xprt_register (xprt); return xprt; } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (svctcp_create) +#else +libc_hidden_nolink (svctcp_create, GLIBC_2_0) +#endif /* * Like svtcp_create(), except the routine takes any *open* UNIX file @@ -196,6 +201,7 @@ svcfd_create (int fd, u_int sendsize, u_int recvsize) { return makefd_xprt (fd, sendsize, recvsize); } +libc_hidden_nolink (svcfd_create, GLIBC_2_0) static SVCXPRT * internal_function @@ -215,8 +221,8 @@ makefd_xprt (int fd, u_int sendsize, u_int recvsize) return NULL; } cd->strm_stat = XPRT_IDLE; - INTUSE(xdrrec_create) (&(cd->xdrs), sendsize, recvsize, - (caddr_t) xprt, readtcp, writetcp); + xdrrec_create (&(cd->xdrs), sendsize, recvsize, + (caddr_t) xprt, readtcp, writetcp); xprt->xp_p2 = NULL; xprt->xp_p1 = (caddr_t) cd; xprt->xp_verf.oa_base = cd->verf_body; @@ -308,9 +314,9 @@ readtcp (char *xprtptr, char *buf, int len) case 0: goto fatal_err; default: - if ((pollfd.revents & POLLERR) || (pollfd.revents & POLLHUP) - || (pollfd.revents & POLLNVAL)) - goto fatal_err; + if ((pollfd.revents & POLLERR) || (pollfd.revents & POLLHUP) + || (pollfd.revents & POLLNVAL)) + goto fatal_err; break; } } @@ -353,7 +359,7 @@ svctcp_stat (SVCXPRT *xprt) if (cd->strm_stat == XPRT_DIED) return XPRT_DIED; - if (!INTUSE(xdrrec_eof) (&(cd->xdrs))) + if (!xdrrec_eof (&(cd->xdrs))) return XPRT_MOREREQS; return XPRT_IDLE; } @@ -365,8 +371,8 @@ svctcp_recv (SVCXPRT *xprt, struct rpc_msg *msg) XDR *xdrs = &(cd->xdrs); xdrs->x_op = XDR_DECODE; - (void) INTUSE(xdrrec_skiprecord) (xdrs); - if (INTUSE(xdr_callmsg) (xdrs, msg)) + (void) xdrrec_skiprecord (xdrs); + if (xdr_callmsg (xdrs, msg)) { cd->x_id = msg->rm_xid; return TRUE; @@ -400,7 +406,7 @@ svctcp_reply (SVCXPRT *xprt, struct rpc_msg *msg) xdrs->x_op = XDR_ENCODE; msg->rm_xid = cd->x_id; - stat = INTUSE(xdr_replymsg) (xdrs, msg); - (void) INTUSE(xdrrec_endofrecord) (xdrs, TRUE); + stat = xdr_replymsg (xdrs, msg); + (void) xdrrec_endofrecord (xdrs, TRUE); return stat; } diff --git a/sunrpc/svc_udp.c b/sunrpc/svc_udp.c index f989484..1e6e456 100644 --- a/sunrpc/svc_udp.c +++ b/sunrpc/svc_udp.c @@ -152,8 +152,7 @@ svcudp_bufcreate (sock, sendsz, recvsz) } su->su_iosz = ((MAX (sendsz, recvsz) + 3) / 4) * 4; rpc_buffer (xprt) = buf; - INTUSE(xdrmem_create) (&(su->su_xdrs), rpc_buffer (xprt), su->su_iosz, - XDR_DECODE); + xdrmem_create (&(su->su_xdrs), rpc_buffer (xprt), su->su_iosz, XDR_DECODE); su->su_cache = NULL; xprt->xp_p2 = (caddr_t) su; xprt->xp_verf.oa_base = su->su_verfbody; @@ -184,15 +183,19 @@ svcudp_create: xp_pad is too small for IP_PKTINFO\n")); xprt_register (xprt); return xprt; } -INTDEF (svcudp_bufcreate) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (svcudp_bufcreate) +#else +libc_hidden_nolink (svcudp_bufcreate, GLIBC_2_0) +#endif SVCXPRT * svcudp_create (sock) int sock; { - return INTUSE(svcudp_bufcreate) (sock, UDPMSGSIZE, UDPMSGSIZE); + return svcudp_bufcreate (sock, UDPMSGSIZE, UDPMSGSIZE); } -INTDEF (svcudp_create) +libc_hidden_nolink (svcudp_create, GLIBC_2_0) static enum xprt_stat svcudp_stat (xprt) @@ -278,7 +281,7 @@ again: return FALSE; xdrs->x_op = XDR_DECODE; XDR_SETPOS (xdrs, 0); - if (!INTUSE(xdr_callmsg) (xdrs, msg)) + if (!xdr_callmsg (xdrs, msg)) return FALSE; su->su_xid = msg->rm_xid; if (su->su_cache != NULL) @@ -319,7 +322,7 @@ svcudp_reply (xprt, msg) xdrs->x_op = XDR_ENCODE; XDR_SETPOS (xdrs, 0); msg->rm_xid = su->su_xid; - if (INTUSE(xdr_replymsg) (xdrs, msg)) + if (xdr_replymsg (xdrs, msg)) { slen = (int) XDR_GETPOS (xdrs); #ifdef IP_PKTINFO @@ -495,6 +498,7 @@ svcudp_enablecache (SVCXPRT *transp, u_long size) su->su_cache = (char *) uc; return 1; } +libc_hidden_nolink (svcudp_enablecache, GLIBC_2_0) /* @@ -553,8 +557,7 @@ cache_set (SVCXPRT *xprt, u_long replylen) victim->cache_replylen = replylen; victim->cache_reply = rpc_buffer (xprt); rpc_buffer (xprt) = newbuf; - INTUSE(xdrmem_create) (&(su->su_xdrs), rpc_buffer (xprt), su->su_iosz, - XDR_ENCODE); + xdrmem_create (&(su->su_xdrs), rpc_buffer (xprt), su->su_iosz, XDR_ENCODE); victim->cache_xid = su->su_xid; victim->cache_proc = uc->uc_proc; victim->cache_vers = uc->uc_vers; diff --git a/sunrpc/svc_unix.c b/sunrpc/svc_unix.c index 29b71b2..c74b2cb 100644 --- a/sunrpc/svc_unix.c +++ b/sunrpc/svc_unix.c @@ -187,6 +187,7 @@ svcunix_create (int sock, u_int sendsize, u_int recvsize, char *path) xprt_register (xprt); return xprt; } +libc_hidden_nolink (svcunix_create, GLIBC_2_1) /* * Like svunix_create(), except the routine takes any *open* UNIX file @@ -197,6 +198,7 @@ svcunixfd_create (int fd, u_int sendsize, u_int recvsize) { return makefd_xprt (fd, sendsize, recvsize); } +libc_hidden_nolink (svcunixfd_create, GLIBC_2_1) static SVCXPRT * internal_function @@ -216,8 +218,8 @@ makefd_xprt (int fd, u_int sendsize, u_int recvsize) return NULL; } cd->strm_stat = XPRT_IDLE; - INTUSE(xdrrec_create) (&(cd->xdrs), sendsize, recvsize, - (caddr_t) xprt, readunix, writeunix); + xdrrec_create (&(cd->xdrs), sendsize, recvsize, + (caddr_t) xprt, readunix, writeunix); xprt->xp_p2 = NULL; xprt->xp_p1 = (caddr_t) cd; xprt->xp_verf.oa_base = cd->verf_body; @@ -332,9 +334,9 @@ __msgread (int sock, void *data, size_t cnt) if (len >= 0) { if (msg.msg_flags & MSG_CTRUNC || len == 0) - return 0; + return 0; else - return len; + return len; } if (errno == EINTR) goto restart; @@ -460,7 +462,7 @@ svcunix_stat (SVCXPRT *xprt) if (cd->strm_stat == XPRT_DIED) return XPRT_DIED; - if (!INTUSE(xdrrec_eof) (&(cd->xdrs))) + if (!xdrrec_eof (&(cd->xdrs))) return XPRT_MOREREQS; return XPRT_IDLE; } @@ -472,8 +474,8 @@ svcunix_recv (SVCXPRT *xprt, struct rpc_msg *msg) XDR *xdrs = &(cd->xdrs); xdrs->x_op = XDR_DECODE; - INTUSE(xdrrec_skiprecord) (xdrs); - if (INTUSE(xdr_callmsg) (xdrs, msg)) + xdrrec_skiprecord (xdrs); + if (xdr_callmsg (xdrs, msg)) { cd->x_id = msg->rm_xid; /* set up verifiers */ @@ -513,7 +515,7 @@ svcunix_reply (SVCXPRT *xprt, struct rpc_msg *msg) xdrs->x_op = XDR_ENCODE; msg->rm_xid = cd->x_id; - stat = INTUSE(xdr_replymsg) (xdrs, msg); - (void) INTUSE(xdrrec_endofrecord) (xdrs, TRUE); + stat = xdr_replymsg (xdrs, msg); + (void) xdrrec_endofrecord (xdrs, TRUE); return stat; } diff --git a/sunrpc/svcauth_des.c b/sunrpc/svcauth_des.c index 19d0f54..b9656e2 100644 --- a/sunrpc/svcauth_des.c +++ b/sunrpc/svcauth_des.c @@ -583,6 +583,7 @@ authdes_getucred (const struct authdes_cred *adc, uid_t * uid, gid_t * gid, groups[i] = cred->groups[i]; return 1; } +libc_hidden_nolink (authdes_getucred, GLIBC_2_1) static void internal_function diff --git a/sunrpc/xcrypt.c b/sunrpc/xcrypt.c index 337fd2c..8b7642b 100644 --- a/sunrpc/xcrypt.c +++ b/sunrpc/xcrypt.c @@ -89,7 +89,7 @@ passwd2des_internal (char *pw, char *key) #ifdef _LIBC libc_hidden_def (passwd2des_internal) -strong_alias (passwd2des_internal, passwd2des) +compat_symbol (libc, passwd2des_internal, passwd2des, GLIBC_2_1); #else void passwd2des (char *pw, char *key) { @@ -127,6 +127,7 @@ xencrypt (char *secret, char *passwd) free (buf); return 1; } +libc_hidden_nolink (xencrypt, GLIBC_2_0) /* * Decrypt secret key using passwd @@ -159,6 +160,11 @@ xdecrypt (char *secret, char *passwd) free (buf); return 1; } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdecrypt) +#else +libc_hidden_nolink (xdecrypt, GLIBC_2_1) +#endif /* * Hex to binary conversion diff --git a/sunrpc/xdr.c b/sunrpc/xdr.c index d8e782e..f770685 100644 --- a/sunrpc/xdr.c +++ b/sunrpc/xdr.c @@ -71,6 +71,11 @@ xdr_free (xdrproc_t proc, char *objp) x.x_op = XDR_FREE; (*proc) (&x, objp); } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_free) +#else +libc_hidden_nolink (xdr_free, GLIBC_2_0) +#endif /* * XDR nothing @@ -80,7 +85,11 @@ xdr_void (void) { return TRUE; } -INTDEF(xdr_void) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_void) +#else +libc_hidden_nolink (xdr_void, GLIBC_2_0) +#endif /* * XDR integers @@ -109,14 +118,18 @@ xdr_int (XDR *xdrs, int *ip) } return FALSE; #elif INT_MAX == LONG_MAX - return INTUSE(xdr_long) (xdrs, (long *) ip); + return xdr_long (xdrs, (long *) ip); #elif INT_MAX == SHRT_MAX - return INTUSE(xdr_short) (xdrs, (short *) ip); + return xdr_short (xdrs, (short *) ip); #else #error unexpected integer sizes in_xdr_int() #endif } -INTDEF(xdr_int) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_int) +#else +libc_hidden_nolink (xdr_int, GLIBC_2_0) +#endif /* * XDR unsigned integers @@ -144,14 +157,18 @@ xdr_u_int (XDR *xdrs, u_int *up) } return FALSE; #elif UINT_MAX == ULONG_MAX - return INTUSE(xdr_u_long) (xdrs, (u_long *) up); + return xdr_u_long (xdrs, (u_long *) up); #elif UINT_MAX == USHRT_MAX - return INTUSE(xdr_short) (xdrs, (short *) up); + return xdr_short (xdrs, (short *) up); #else #error unexpected integer sizes in_xdr_u_int() #endif } -INTDEF(xdr_u_int) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_u_int) +#else +libc_hidden_nolink (xdr_u_int, GLIBC_2_0) +#endif /* * XDR long integers @@ -175,7 +192,11 @@ xdr_long (XDR *xdrs, long *lp) return FALSE; } -INTDEF(xdr_long) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_long) +#else +libc_hidden_nolink (xdr_long, GLIBC_2_0) +#endif /* * XDR unsigned long integers @@ -210,7 +231,11 @@ xdr_u_long (XDR *xdrs, u_long *ulp) } return FALSE; } -INTDEF(xdr_u_long) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_u_long) +#else +libc_hidden_nolink (xdr_u_long, GLIBC_2_0) +#endif /* * XDR hyper integers @@ -242,8 +267,11 @@ xdr_hyper (XDR *xdrs, quad_t *llp) return FALSE; } -INTDEF(xdr_hyper) - +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_hyper) +#else +libc_hidden_nolink (xdr_hyper, GLIBC_2_1_1) +#endif /* * XDR hyper integers @@ -275,19 +303,33 @@ xdr_u_hyper (XDR *xdrs, u_quad_t *ullp) return FALSE; } -INTDEF(xdr_u_hyper) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_u_hyper) +#else +libc_hidden_nolink (xdr_u_hyper, GLIBC_2_1_1) +#endif bool_t xdr_longlong_t (XDR *xdrs, quad_t *llp) { - return INTUSE(xdr_hyper) (xdrs, llp); + return xdr_hyper (xdrs, llp); } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_longlong_t) +#else +libc_hidden_nolink (xdr_longlong_t, GLIBC_2_1_1) +#endif bool_t xdr_u_longlong_t (XDR *xdrs, u_quad_t *ullp) { - return INTUSE(xdr_u_hyper) (xdrs, ullp); + return xdr_u_hyper (xdrs, ullp); } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_u_longlong_t) +#else +libc_hidden_nolink (xdr_u_longlong_t, GLIBC_2_1_1) +#endif /* * XDR short integers @@ -316,7 +358,11 @@ xdr_short (XDR *xdrs, short *sp) } return FALSE; } -INTDEF(xdr_short) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_short) +#else +libc_hidden_nolink (xdr_short, GLIBC_2_0) +#endif /* * XDR unsigned short integers @@ -345,7 +391,11 @@ xdr_u_short (XDR *xdrs, u_short *usp) } return FALSE; } -INTDEF(xdr_u_short) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_u_short) +#else +libc_hidden_nolink (xdr_u_short, GLIBC_2_0) +#endif /* @@ -357,13 +407,18 @@ xdr_char (XDR *xdrs, char *cp) int i; i = (*cp); - if (!INTUSE(xdr_int) (xdrs, &i)) + if (!xdr_int (xdrs, &i)) { return FALSE; } *cp = i; return TRUE; } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_char) +#else +libc_hidden_nolink (xdr_char, GLIBC_2_0) +#endif /* * XDR an unsigned char @@ -374,13 +429,18 @@ xdr_u_char (XDR *xdrs, u_char *cp) u_int u; u = (*cp); - if (!INTUSE(xdr_u_int) (xdrs, &u)) + if (!xdr_u_int (xdrs, &u)) { return FALSE; } *cp = u; return TRUE; } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_u_char) +#else +libc_hidden_nolink (xdr_u_char, GLIBC_2_0) +#endif /* * XDR booleans @@ -409,7 +469,11 @@ xdr_bool (XDR *xdrs, bool_t *bp) } return FALSE; } -INTDEF(xdr_bool) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_bool) +#else +libc_hidden_nolink (xdr_bool, GLIBC_2_0) +#endif /* * XDR enumerations @@ -448,19 +512,23 @@ xdr_enum (XDR *xdrs, enum_t *ep) } return FALSE; #else - return INTUSE(xdr_long) (xdrs, (long *) ep); + return xdr_long (xdrs, (long *) ep); #endif } else if (sizeof (enum sizecheck) == sizeof (short)) { - return INTUSE(xdr_short) (xdrs, (short *) ep); + return xdr_short (xdrs, (short *) ep); } else { return FALSE; } } -INTDEF(xdr_enum) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_enum) +#else +libc_hidden_nolink (xdr_enum, GLIBC_2_0) +#endif /* * XDR opaque data @@ -511,7 +579,11 @@ xdr_opaque (XDR *xdrs, caddr_t cp, u_int cnt) } return FALSE; } -INTDEF(xdr_opaque) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_opaque) +#else +libc_hidden_nolink (xdr_opaque, GLIBC_2_0) +#endif /* * XDR counted bytes @@ -531,7 +603,7 @@ xdr_bytes (xdrs, cpp, sizep, maxsize) /* * first deal with the length since xdr bytes are counted */ - if (!INTUSE(xdr_u_int) (xdrs, sizep)) + if (!xdr_u_int (xdrs, sizep)) { return FALSE; } @@ -563,7 +635,7 @@ xdr_bytes (xdrs, cpp, sizep, maxsize) /* fall into ... */ case XDR_ENCODE: - return INTUSE(xdr_opaque) (xdrs, sp, nodesize); + return xdr_opaque (xdrs, sp, nodesize); case XDR_FREE: if (sp != NULL) @@ -575,7 +647,11 @@ xdr_bytes (xdrs, cpp, sizep, maxsize) } return FALSE; } -INTDEF(xdr_bytes) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_bytes) +#else +libc_hidden_nolink (xdr_bytes, GLIBC_2_0) +#endif /* * Implemented here due to commonality of the object. @@ -586,9 +662,13 @@ xdr_netobj (xdrs, np) struct netobj *np; { - return INTUSE(xdr_bytes) (xdrs, &np->n_bytes, &np->n_len, MAX_NETOBJ_SZ); + return xdr_bytes (xdrs, &np->n_bytes, &np->n_len, MAX_NETOBJ_SZ); } -INTDEF(xdr_netobj) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_netobj) +#else +libc_hidden_nolink (xdr_netobj, GLIBC_2_0) +#endif /* * XDR a discriminated union @@ -614,7 +694,7 @@ xdr_union (xdrs, dscmp, unp, choices, dfault) /* * we deal with the discriminator; it's an enum */ - if (!INTUSE(xdr_enum) (xdrs, dscmp)) + if (!xdr_enum (xdrs, dscmp)) { return FALSE; } @@ -636,7 +716,7 @@ xdr_union (xdrs, dscmp, unp, choices, dfault) return ((dfault == NULL_xdrproc_t) ? FALSE : (*dfault) (xdrs, unp, LASTUNSIGNED)); } -INTDEF(xdr_union) +libc_hidden_nolink (xdr_union, GLIBC_2_0) /* @@ -682,7 +762,7 @@ xdr_string (xdrs, cpp, maxsize) case XDR_DECODE: break; } - if (!INTUSE(xdr_u_int) (xdrs, &size)) + if (!xdr_u_int (xdrs, &size)) { return FALSE; } @@ -716,7 +796,7 @@ xdr_string (xdrs, cpp, maxsize) /* fall into ... */ case XDR_ENCODE: - return INTUSE(xdr_opaque) (xdrs, sp, size); + return xdr_opaque (xdrs, sp, size); case XDR_FREE: mem_free (sp, nodesize); @@ -725,7 +805,11 @@ xdr_string (xdrs, cpp, maxsize) } return FALSE; } -INTDEF(xdr_string) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_string) +#else +libc_hidden_nolink (xdr_string, GLIBC_2_0) +#endif /* * Wrapper for xdr_string that can be called directly from @@ -736,9 +820,14 @@ xdr_wrapstring (xdrs, cpp) XDR *xdrs; char **cpp; { - if (INTUSE(xdr_string) (xdrs, cpp, LASTUNSIGNED)) + if (xdr_string (xdrs, cpp, LASTUNSIGNED)) { return TRUE; } return FALSE; } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_wrapstring) +#else +libc_hidden_nolink (xdr_wrapstring, GLIBC_2_0) +#endif diff --git a/sunrpc/xdr_array.c b/sunrpc/xdr_array.c index 03df57b..05162ec 100644 --- a/sunrpc/xdr_array.c +++ b/sunrpc/xdr_array.c @@ -70,7 +70,7 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc) bool_t stat = TRUE; /* like strings, arrays are really counted arrays */ - if (!INTUSE(xdr_u_int) (xdrs, sizep)) + if (!xdr_u_int (xdrs, sizep)) { return FALSE; } @@ -127,7 +127,11 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc) } return stat; } -INTDEF(xdr_array) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_array) +#else +libc_hidden_nolink (xdr_array, GLIBC_2_0) +#endif /* * xdr_vector(): @@ -161,3 +165,4 @@ xdr_vector (xdrs, basep, nelem, elemsize, xdr_elem) } return TRUE; } +libc_hidden_nolink (xdr_vector, GLIBC_2_0) diff --git a/sunrpc/xdr_float.c b/sunrpc/xdr_float.c index 3925f5b..1a9c260 100644 --- a/sunrpc/xdr_float.c +++ b/sunrpc/xdr_float.c @@ -158,6 +158,7 @@ xdr_float(xdrs, fp) } return (FALSE); } +libc_hidden_nolink (xdr_float, GLIBC_2_0) /* * This routine works on Suns (Sky / 68000's) and Vaxen. @@ -299,3 +300,4 @@ xdr_double(xdrs, dp) } return (FALSE); } +libc_hidden_nolink (xdr_double, GLIBC_2_0) diff --git a/sunrpc/xdr_intXX_t.c b/sunrpc/xdr_intXX_t.c index 6c1fca2..ceba8be 100644 --- a/sunrpc/xdr_intXX_t.c +++ b/sunrpc/xdr_intXX_t.c @@ -20,11 +20,7 @@ #include <rpc/types.h> /* We play dirty tricks with aliases. */ -#define xdr_quad_t Xdr_quad_t -#define xdr_u_quad_t Xdr_u_quad_t #include <rpc/xdr.h> -#undef xdr_quad_t -#undef xdr_u_quad_t /* XDR 64bit integers */ @@ -41,7 +37,7 @@ xdr_int64_t (XDR *xdrs, int64_t *ip) return (XDR_PUTINT32(xdrs, &t1) && XDR_PUTINT32(xdrs, &t2)); case XDR_DECODE: if (!XDR_GETINT32(xdrs, &t1) || !XDR_GETINT32(xdrs, &t2)) - return FALSE; + return FALSE; *ip = ((int64_t) t1) << 32; *ip |= (uint32_t) t2; /* Avoid sign extension. */ return TRUE; @@ -51,7 +47,14 @@ xdr_int64_t (XDR *xdrs, int64_t *ip) return FALSE; } } -strong_alias (xdr_int64_t, xdr_quad_t) +libc_hidden_nolink (xdr_int64_t, GLIBC_2_1_1) + +bool_t +xdr_quad_t (XDR *xdrs, quad_t *ip) +{ + return xdr_int64_t (xdrs, (int64_t *) ip); +} +libc_hidden_nolink (xdr_quad_t, GLIBC_2_3_4) /* XDR 64bit unsigned integers */ bool_t @@ -70,7 +73,7 @@ xdr_uint64_t (XDR *xdrs, uint64_t *uip) case XDR_DECODE: if (!XDR_GETINT32(xdrs, (int32_t *) &t1) || !XDR_GETINT32(xdrs, (int32_t *) &t2)) - return FALSE; + return FALSE; *uip = ((uint64_t) t1) << 32; *uip |= t2; return TRUE; @@ -80,7 +83,14 @@ xdr_uint64_t (XDR *xdrs, uint64_t *uip) return FALSE; } } -strong_alias (xdr_int64_t, xdr_u_quad_t) +libc_hidden_nolink (xdr_uint64_t, GLIBC_2_1_1) + +bool_t +xdr_u_quad_t (XDR *xdrs, u_quad_t *ip) +{ + return xdr_uint64_t (xdrs, (uint64_t *) ip); +} +libc_hidden_nolink (xdr_u_quad_t, GLIBC_2_3_4) /* XDR 32bit integers */ bool_t @@ -98,6 +108,7 @@ xdr_int32_t (XDR *xdrs, int32_t *lp) return FALSE; } } +libc_hidden_nolink (xdr_int32_t, GLIBC_2_1) /* XDR 32bit unsigned integers */ bool_t @@ -115,6 +126,11 @@ xdr_uint32_t (XDR *xdrs, uint32_t *ulp) return FALSE; } } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_uint32_t) +#else +libc_hidden_nolink (xdr_uint32_t, GLIBC_2_1) +#endif /* XDR 16bit integers */ bool_t @@ -138,6 +154,7 @@ xdr_int16_t (XDR *xdrs, int16_t *ip) return FALSE; } } +libc_hidden_nolink (xdr_int16_t, GLIBC_2_1) /* XDR 16bit unsigned integers */ bool_t @@ -161,6 +178,7 @@ xdr_uint16_t (XDR *xdrs, uint16_t *uip) return FALSE; } } +libc_hidden_nolink (xdr_uint16_t, GLIBC_2_1) /* XDR 8bit integers */ bool_t @@ -184,6 +202,7 @@ xdr_int8_t (XDR *xdrs, int8_t *ip) return FALSE; } } +libc_hidden_nolink (xdr_int8_t, GLIBC_2_1) /* XDR 8bit unsigned integers */ bool_t @@ -207,3 +226,4 @@ xdr_uint8_t (XDR *xdrs, uint8_t *uip) return FALSE; } } +libc_hidden_nolink (xdr_uint8_t, GLIBC_2_1) diff --git a/sunrpc/xdr_mem.c b/sunrpc/xdr_mem.c index c4f4715..093a718 100644 --- a/sunrpc/xdr_mem.c +++ b/sunrpc/xdr_mem.c @@ -78,7 +78,11 @@ xdrmem_create (XDR *xdrs, const caddr_t addr, u_int size, enum xdr_op op) xdrs->x_private = xdrs->x_base = addr; xdrs->x_handy = size; } -INTDEF(xdrmem_create) +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdrmem_create) +#else +libc_hidden_nolink (xdrmem_create, GLIBC_2_0) +#endif /* * Nothing needs to be done for the memory case. The argument is clearly diff --git a/sunrpc/xdr_rec.c b/sunrpc/xdr_rec.c index 977b0bb..1e13d34 100644 --- a/sunrpc/xdr_rec.c +++ b/sunrpc/xdr_rec.c @@ -192,7 +192,7 @@ xdrrec_create (XDR *xdrs, u_int sendsize, rstrm->fbtbc = 0; rstrm->last_frag = TRUE; } -INTDEF(xdrrec_create) +libc_hidden_nolink (xdrrec_create, GLIBC_2_0) /* @@ -480,7 +480,7 @@ xdrrec_skiprecord (XDR *xdrs) rstrm->last_frag = FALSE; return TRUE; } -INTDEF(xdrrec_skiprecord) +libc_hidden_nolink (xdrrec_skiprecord, GLIBC_2_0) /* * Lookahead function. @@ -504,7 +504,7 @@ xdrrec_eof (XDR *xdrs) return TRUE; return FALSE; } -INTDEF(xdrrec_eof) +libc_hidden_nolink (xdrrec_eof, GLIBC_2_0) /* * The client must tell the package when an end-of-record has occurred. @@ -531,7 +531,7 @@ xdrrec_endofrecord (XDR *xdrs, bool_t sendnow) rstrm->out_finger += BYTES_PER_XDR_UNIT; return TRUE; } -INTDEF(xdrrec_endofrecord) +libc_hidden_nolink (xdrrec_endofrecord, GLIBC_2_0) /* diff --git a/sunrpc/xdr_ref.c b/sunrpc/xdr_ref.c index dda40ab..b4bdb52 100644 --- a/sunrpc/xdr_ref.c +++ b/sunrpc/xdr_ref.c @@ -93,7 +93,7 @@ xdr_reference (xdrs, pp, size, proc) } return stat; } -INTDEF(xdr_reference) +libc_hidden_nolink (xdr_reference, GLIBC_2_0) /* @@ -126,7 +126,7 @@ xdr_pointer (xdrs, objpp, obj_size, xdr_obj) bool_t more_data; more_data = (*objpp != NULL); - if (!INTUSE(xdr_bool) (xdrs, &more_data)) + if (!xdr_bool (xdrs, &more_data)) { return FALSE; } @@ -135,5 +135,10 @@ xdr_pointer (xdrs, objpp, obj_size, xdr_obj) *objpp = NULL; return TRUE; } - return INTUSE(xdr_reference) (xdrs, objpp, obj_size, xdr_obj); + return xdr_reference (xdrs, objpp, obj_size, xdr_obj); } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_pointer) +#else +libc_hidden_nolink (xdr_pointer, GLIBC_2_0) +#endif diff --git a/sunrpc/xdr_sizeof.c b/sunrpc/xdr_sizeof.c index 270121b..0119486 100644 --- a/sunrpc/xdr_sizeof.c +++ b/sunrpc/xdr_sizeof.c @@ -158,3 +158,8 @@ xdr_sizeof (xdrproc_t func, void *data) free (x.x_private); return stat == TRUE ? x.x_handy : 0; } +#ifdef EXPORT_RPC_SYMBOLS +libc_hidden_def (xdr_sizeof) +#else +libc_hidden_nolink (xdr_sizeof, GLIBC_2_1) +#endif diff --git a/sunrpc/xdr_stdio.c b/sunrpc/xdr_stdio.c index 9488601..c68f004 100644 --- a/sunrpc/xdr_stdio.c +++ b/sunrpc/xdr_stdio.c @@ -190,5 +190,8 @@ xdrstdio_putint32 (XDR *xdrs, const int32_t *ip) return FALSE; return TRUE; } - +#ifdef EXPORT_RPC_SYMBOLS libc_hidden_def (xdrstdio_create) +#else +libc_hidden_nolink (xdrstdio_create, GLIBC_2_0) +#endif |