From 82f43dd2d11b5705ed5680f579f265781387a12d Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Sun, 4 Jun 2017 11:14:43 -0400 Subject: Include shlib-compat.h in many sunrpc/nis source files. Every file that uses libc_hidden_nolink_sunrpc or libnsl_hidden_nolink_def needs to include shlib-compat.h. Currently, most of them are getting it via stdio.h, because libio.h refers to SHLIB_COMPAT when _LIBC is defined, so it includes shlib-compat.h. My experimental patch to not install libio.h breaks that chain; stdio.h no longer pulls in libio.h even for internal users. Accordingly, this patch adds #include to many files in sunrpc/ and nis/. There are also a small number of really obvious fixups to includes that caught my eye while proofreading the patch - not including headers twice in a row, not worrying about portability to Ultrix anymore, sort of thing. * nis/nis_add.c, nis/nis_addmember.c, nis/nis_call.c * nis/nis_checkpoint.c, nis/nis_clone_dir.c, nis/nis_clone_obj.c * nis/nis_clone_res.c, nis/nis_creategroup.c, nis/nis_defaults.c * nis/nis_destroygroup.c, nis/nis_domain_of.c * nis/nis_domain_of_r.c, nis/nis_error.c, nis/nis_file.c * nis/nis_free.c, nis/nis_getservlist.c, nis/nis_ismember.c * nis/nis_local_names.c, nis/nis_lookup.c, nis/nis_mkdir.c * nis/nis_modify.c, nis/nis_ping.c, nis/nis_print.c * nis/nis_print_group_entry.c, nis/nis_remove.c * nis/nis_removemember.c, nis/nis_rmdir.c, nis/nis_server.c * nis/nis_subr.c, nis/nis_table.c, nis/nis_util.c * nis/nis_verifygroup.c, nis/nis_xdr.c, nis/yp_xdr.c * nis/ypclnt.c, nis/ypupdate_xdr.c, sunrpc/auth_des.c * sunrpc/auth_none.c, sunrpc/auth_unix.c, sunrpc/authdes_prot.c * sunrpc/authuxprot.c, sunrpc/clnt_gen.c, sunrpc/clnt_perr.c * sunrpc/clnt_raw.c, sunrpc/clnt_simp.c, sunrpc/clnt_tcp.c * sunrpc/clnt_udp.c, sunrpc/clnt_unix.c, sunrpc/des_crypt.c * sunrpc/des_soft.c, sunrpc/get_myaddr.c, sunrpc/key_call.c * sunrpc/key_prot.c, sunrpc/netname.c, sunrpc/pm_getmaps.c * sunrpc/pm_getport.c, sunrpc/pmap_clnt.c, sunrpc/pmap_prot.c * sunrpc/pmap_prot2.c, sunrpc/pmap_rmt.c, sunrpc/publickey.c * sunrpc/rpc_cmsg.c, sunrpc/rpc_dtable.c, sunrpc/rpc_prot.c * sunrpc/rpc_thread.c, sunrpc/rtime.c, sunrpc/svc.c * sunrpc/svc_auth.c, sunrpc/svc_raw.c, sunrpc/svc_run.c * sunrpc/svc_tcp.c, sunrpc/svc_udp.c, sunrpc/svc_unix.c * sunrpc/svcauth_des.c, sunrpc/xdr.c, sunrpc/xdr_array.c * sunrpc/xdr_float.c, sunrpc/xdr_intXX_t.c, sunrpc/xdr_mem.c * sunrpc/xdr_rec.c, sunrpc/xdr_ref.c, sunrpc/xdr_sizeof.c * sunrpc/xdr_stdio.c: Include shlib-compat.h. * sunrpc/des_crypt.c, sunrpc/des_soft.c: No need to include abi-versions.h as well as shlib-compat.h. * sunrpc/get_myaddr.c: Remove obsolete comment. * sunrpc/pmap_rmt.c: Remove obsolete comment and #undef. * sunrpc/rpc_thread.c: Include libc-lock.h only once. * resolv/res_libc.c: Include shlib-compat.h only once. --- sunrpc/auth_des.c | 1 + sunrpc/auth_none.c | 1 + sunrpc/auth_unix.c | 1 + sunrpc/authdes_prot.c | 1 + sunrpc/authuxprot.c | 1 + sunrpc/clnt_gen.c | 1 + sunrpc/clnt_perr.c | 1 + sunrpc/clnt_raw.c | 1 + sunrpc/clnt_simp.c | 1 + sunrpc/clnt_tcp.c | 1 + sunrpc/clnt_udp.c | 1 + sunrpc/clnt_unix.c | 1 + sunrpc/des_crypt.c | 2 +- sunrpc/des_soft.c | 3 ++- sunrpc/get_myaddr.c | 2 +- sunrpc/key_call.c | 1 + sunrpc/key_prot.c | 1 + sunrpc/netname.c | 1 + sunrpc/pm_getmaps.c | 1 + sunrpc/pm_getport.c | 1 + sunrpc/pmap_clnt.c | 1 + sunrpc/pmap_prot.c | 1 + sunrpc/pmap_prot2.c | 1 + sunrpc/pmap_rmt.c | 5 +++-- sunrpc/publickey.c | 1 + sunrpc/rpc_cmsg.c | 1 + sunrpc/rpc_dtable.c | 1 + sunrpc/rpc_prot.c | 2 +- sunrpc/rpc_thread.c | 2 +- sunrpc/rtime.c | 1 + sunrpc/svc.c | 1 + sunrpc/svc_auth.c | 1 + sunrpc/svc_raw.c | 1 + sunrpc/svc_run.c | 1 + sunrpc/svc_tcp.c | 1 + sunrpc/svc_udp.c | 1 + sunrpc/svc_unix.c | 1 + sunrpc/svcauth_des.c | 1 + sunrpc/xdr.c | 1 + sunrpc/xdr_array.c | 1 + sunrpc/xdr_float.c | 1 + sunrpc/xdr_intXX_t.c | 1 + sunrpc/xdr_mem.c | 1 + sunrpc/xdr_rec.c | 1 + sunrpc/xdr_ref.c | 1 + sunrpc/xdr_sizeof.c | 1 + sunrpc/xdr_stdio.c | 2 ++ 47 files changed, 51 insertions(+), 7 deletions(-) (limited to 'sunrpc') diff --git a/sunrpc/auth_des.c b/sunrpc/auth_des.c index b299c456d6..42d6b552f4 100644 --- a/sunrpc/auth_des.c +++ b/sunrpc/auth_des.c @@ -41,6 +41,7 @@ #include #include /* XXX: just to get htonl() and ntohl() */ #include +#include #define MILLION 1000000L #define RTIME_TIMEOUT 5 /* seconds to wait for sync */ diff --git a/sunrpc/auth_none.c b/sunrpc/auth_none.c index 3f8d52bafb..b1effb7a00 100644 --- a/sunrpc/auth_none.c +++ b/sunrpc/auth_none.c @@ -36,6 +36,7 @@ #include #include +#include #define MAX_MARSHAL_SIZE 20 diff --git a/sunrpc/auth_unix.c b/sunrpc/auth_unix.c index 68b42d7b1f..b71612cd80 100644 --- a/sunrpc/auth_unix.c +++ b/sunrpc/auth_unix.c @@ -46,6 +46,7 @@ #include #include #include +#include #include #include diff --git a/sunrpc/authdes_prot.c b/sunrpc/authdes_prot.c index 164c1223ca..93b7cfc04b 100644 --- a/sunrpc/authdes_prot.c +++ b/sunrpc/authdes_prot.c @@ -36,6 +36,7 @@ #include #include #include +#include #define ATTEMPT(xdr_op) if (!(xdr_op)) return (FALSE) diff --git a/sunrpc/authuxprot.c b/sunrpc/authuxprot.c index d37faee0c7..14fe9f56c8 100644 --- a/sunrpc/authuxprot.c +++ b/sunrpc/authuxprot.c @@ -37,6 +37,7 @@ #include #include #include +#include /* * XDR for unix authentication parameters. diff --git a/sunrpc/clnt_gen.c b/sunrpc/clnt_gen.c index 8dffaa9fa6..542f85dd35 100644 --- a/sunrpc/clnt_gen.c +++ b/sunrpc/clnt_gen.c @@ -35,6 +35,7 @@ #include #include #include +#include /* * Generic client creation: takes (hostname, program-number, protocol) and diff --git a/sunrpc/clnt_perr.c b/sunrpc/clnt_perr.c index b4f84c92e8..f682243eae 100644 --- a/sunrpc/clnt_perr.c +++ b/sunrpc/clnt_perr.c @@ -36,6 +36,7 @@ #include #include #include +#include static char *auth_errmsg (enum auth_stat stat) internal_function; diff --git a/sunrpc/clnt_raw.c b/sunrpc/clnt_raw.c index a149bf419b..d62a11a2ca 100644 --- a/sunrpc/clnt_raw.c +++ b/sunrpc/clnt_raw.c @@ -40,6 +40,7 @@ #include #include #include +#include #define MCALL_MSG_SIZE 24 diff --git a/sunrpc/clnt_simp.c b/sunrpc/clnt_simp.c index 0ecb64ca7b..bdf6322fc4 100644 --- a/sunrpc/clnt_simp.c +++ b/sunrpc/clnt_simp.c @@ -40,6 +40,7 @@ #include #include #include +#include struct callrpc_private_s { diff --git a/sunrpc/clnt_tcp.c b/sunrpc/clnt_tcp.c index 9bcd9125ea..e311b35a25 100644 --- a/sunrpc/clnt_tcp.c +++ b/sunrpc/clnt_tcp.c @@ -54,6 +54,7 @@ #include #include #include +#include extern u_long _create_xid (void); diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c index 6ce16eb298..df21e28f64 100644 --- a/sunrpc/clnt_udp.c +++ b/sunrpc/clnt_udp.c @@ -56,6 +56,7 @@ #include #include +#include extern u_long _create_xid (void); diff --git a/sunrpc/clnt_unix.c b/sunrpc/clnt_unix.c index 1b8c179319..8591be5580 100644 --- a/sunrpc/clnt_unix.c +++ b/sunrpc/clnt_unix.c @@ -55,6 +55,7 @@ #include #include #include +#include extern u_long _create_xid (void); diff --git a/sunrpc/des_crypt.c b/sunrpc/des_crypt.c index 22a34b7f3a..a4d8b2936b 100644 --- a/sunrpc/des_crypt.c +++ b/sunrpc/des_crypt.c @@ -32,7 +32,7 @@ #include #include -#include +#include #include "des.h" extern int _des_crypt (char *, unsigned, struct desparams *); diff --git a/sunrpc/des_soft.c b/sunrpc/des_soft.c index cddef5d76b..f884f8f21b 100644 --- a/sunrpc/des_soft.c +++ b/sunrpc/des_soft.c @@ -32,7 +32,8 @@ static char sccsid[] = "@(#)des_soft.c 2.2 88/08/10 4.0 RPCSRC; from 1.13 88/02/ */ #include -#include +#include + /* * Table giving odd parity in the low bit for ASCII characters */ diff --git a/sunrpc/get_myaddr.c b/sunrpc/get_myaddr.c index 24407b53ec..df334e4134 100644 --- a/sunrpc/get_myaddr.c +++ b/sunrpc/get_myaddr.c @@ -42,9 +42,9 @@ #include #include #include -/* Order of following two #includes reversed by roland@gnu */ #include #include +#include /* * don't use gethostbyname, which would invoke yellow pages diff --git a/sunrpc/key_call.c b/sunrpc/key_call.c index a0d9a2a0d1..b871c04648 100644 --- a/sunrpc/key_call.c +++ b/sunrpc/key_call.c @@ -49,6 +49,7 @@ #include #include #include +#include #define KEY_TIMEOUT 5 /* per-try timeout in seconds */ #define KEY_NRETRY 12 /* number of retries */ diff --git a/sunrpc/key_prot.c b/sunrpc/key_prot.c index 2899c9a448..3659bab1d3 100644 --- a/sunrpc/key_prot.c +++ b/sunrpc/key_prot.c @@ -29,6 +29,7 @@ */ #include +#include bool_t xdr_keystatus (XDR * xdrs, keystatus * objp) diff --git a/sunrpc/netname.c b/sunrpc/netname.c index c694311372..9aee3e4042 100644 --- a/sunrpc/netname.c +++ b/sunrpc/netname.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "nsswitch.h" diff --git a/sunrpc/pm_getmaps.c b/sunrpc/pm_getmaps.c index 6f7ad10ef6..88c44f0154 100644 --- a/sunrpc/pm_getmaps.c +++ b/sunrpc/pm_getmaps.c @@ -44,6 +44,7 @@ #include #include #include +#include /* diff --git a/sunrpc/pm_getport.c b/sunrpc/pm_getport.c index 000a01fa81..54d2e439d2 100644 --- a/sunrpc/pm_getport.c +++ b/sunrpc/pm_getport.c @@ -38,6 +38,7 @@ #include #include #include +#include /* * Create a socket that is locally bound to a non-reserve port. For diff --git a/sunrpc/pmap_clnt.c b/sunrpc/pmap_clnt.c index 5d7d185766..69b4907b3a 100644 --- a/sunrpc/pmap_clnt.c +++ b/sunrpc/pmap_clnt.c @@ -45,6 +45,7 @@ #include #include #include +#include /* * Same as get_myaddress, but we try to use the loopback diff --git a/sunrpc/pmap_prot.c b/sunrpc/pmap_prot.c index 0919d0917d..d8d75a7b47 100644 --- a/sunrpc/pmap_prot.c +++ b/sunrpc/pmap_prot.c @@ -35,6 +35,7 @@ #include #include #include +#include bool_t diff --git a/sunrpc/pmap_prot2.c b/sunrpc/pmap_prot2.c index 01f158d6b8..c414db0298 100644 --- a/sunrpc/pmap_prot2.c +++ b/sunrpc/pmap_prot2.c @@ -35,6 +35,7 @@ #include #include #include +#include /* diff --git a/sunrpc/pmap_rmt.c b/sunrpc/pmap_rmt.c index e54fe14470..c036d889ef 100644 --- a/sunrpc/pmap_rmt.c +++ b/sunrpc/pmap_rmt.c @@ -44,12 +44,13 @@ #include #include #include -#undef _POSIX_SOURCE /* Ultrix needs --roland@gnu */ -#include /* Ultrix needs before net/if --roland@gnu */ +#include #include #include #include #include +#include + #define MAX_BROADCAST_SIZE 1400 extern u_long _create_xid (void); diff --git a/sunrpc/publickey.c b/sunrpc/publickey.c index 5209f7bdf2..ca6e4303d4 100644 --- a/sunrpc/publickey.c +++ b/sunrpc/publickey.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "nsswitch.h" diff --git a/sunrpc/rpc_cmsg.c b/sunrpc/rpc_cmsg.c index 62d95fcc83..ec8cc6ccca 100644 --- a/sunrpc/rpc_cmsg.c +++ b/sunrpc/rpc_cmsg.c @@ -34,6 +34,7 @@ #include #include #include +#include /* * XDR a call message diff --git a/sunrpc/rpc_dtable.c b/sunrpc/rpc_dtable.c index 81ddf8f55a..7fe48e1811 100644 --- a/sunrpc/rpc_dtable.c +++ b/sunrpc/rpc_dtable.c @@ -31,6 +31,7 @@ #include #include +#include /* * Cache the result of getdtablesize(), so we don't have to do an diff --git a/sunrpc/rpc_prot.c b/sunrpc/rpc_prot.c index f47c6befe4..46582f2a35 100644 --- a/sunrpc/rpc_prot.c +++ b/sunrpc/rpc_prot.c @@ -39,8 +39,8 @@ */ #include - #include +#include /* * * * * * * * * * * * * * XDR Authentication * * * * * * * * * * * */ diff --git a/sunrpc/rpc_thread.c b/sunrpc/rpc_thread.c index e5225c5caf..ccbf9bb69b 100644 --- a/sunrpc/rpc_thread.c +++ b/sunrpc/rpc_thread.c @@ -1,10 +1,10 @@ #include -#include #include #include #include #include +#include #ifdef _RPC_THREAD_SAFE_ diff --git a/sunrpc/rtime.c b/sunrpc/rtime.c index d224624f8b..e3cffe26d4 100644 --- a/sunrpc/rtime.c +++ b/sunrpc/rtime.c @@ -49,6 +49,7 @@ #include #include #include +#include #define NYEARS (u_long)(1970 - 1900) #define TOFFSET (u_long)(60*60*24*(365*NYEARS + (NYEARS/4))) diff --git a/sunrpc/svc.c b/sunrpc/svc.c index 03f963018c..f713e2eb72 100644 --- a/sunrpc/svc.c +++ b/sunrpc/svc.c @@ -59,6 +59,7 @@ #include #include #include +#include #ifdef _RPC_THREAD_SAFE_ #define xports RPC_THREAD_VARIABLE(svc_xports_s) diff --git a/sunrpc/svc_auth.c b/sunrpc/svc_auth.c index f33bda2f20..5bca9557e3 100644 --- a/sunrpc/svc_auth.c +++ b/sunrpc/svc_auth.c @@ -34,6 +34,7 @@ #include #include #include +#include /* * svcauthsw is the bdevsw of server side authentication. diff --git a/sunrpc/svc_raw.c b/sunrpc/svc_raw.c index 99bfdfebe8..4787203613 100644 --- a/sunrpc/svc_raw.c +++ b/sunrpc/svc_raw.c @@ -36,6 +36,7 @@ #include #include +#include /* * This is the "network" that we will be moving data over diff --git a/sunrpc/svc_run.c b/sunrpc/svc_run.c index 90dfc94056..e563707fcc 100644 --- a/sunrpc/svc_run.c +++ b/sunrpc/svc_run.c @@ -36,6 +36,7 @@ #include #include #include +#include /* This function can be used as a signal handler to terminate the server loop. */ diff --git a/sunrpc/svc_tcp.c b/sunrpc/svc_tcp.c index db855a3f51..fd9c1e83ca 100644 --- a/sunrpc/svc_tcp.c +++ b/sunrpc/svc_tcp.c @@ -64,6 +64,7 @@ #include #include +#include /* * Ops vector for TCP/IP based rpc service handle diff --git a/sunrpc/svc_udp.c b/sunrpc/svc_udp.c index 5f6219f91c..1592bcca9e 100644 --- a/sunrpc/svc_udp.c +++ b/sunrpc/svc_udp.c @@ -64,6 +64,7 @@ #include #include +#include #define rpc_buffer(xprt) ((xprt)->xp_p1) #ifndef MAX diff --git a/sunrpc/svc_unix.c b/sunrpc/svc_unix.c index 47f1f8487d..a8da3b2262 100644 --- a/sunrpc/svc_unix.c +++ b/sunrpc/svc_unix.c @@ -64,6 +64,7 @@ #include #include #include +#include /* * Ops vector for AF_UNIX based rpc service handle diff --git a/sunrpc/svcauth_des.c b/sunrpc/svcauth_des.c index a0f961db12..8e6cb86e39 100644 --- a/sunrpc/svcauth_des.c +++ b/sunrpc/svcauth_des.c @@ -53,6 +53,7 @@ #include #include #include +#include #define debug(msg) /*printf("svcauth_des: %s\n", msg) */ diff --git a/sunrpc/xdr.c b/sunrpc/xdr.c index bfabf337c7..8b0b91995b 100644 --- a/sunrpc/xdr.c +++ b/sunrpc/xdr.c @@ -44,6 +44,7 @@ #include #include +#include /* diff --git a/sunrpc/xdr_array.c b/sunrpc/xdr_array.c index 99a1d5d245..18383d437e 100644 --- a/sunrpc/xdr_array.c +++ b/sunrpc/xdr_array.c @@ -41,6 +41,7 @@ #include #include #include +#include #define LASTUNSIGNED ((u_int)0-1) diff --git a/sunrpc/xdr_float.c b/sunrpc/xdr_float.c index 4ce8ae7a9c..844a96e56e 100644 --- a/sunrpc/xdr_float.c +++ b/sunrpc/xdr_float.c @@ -40,6 +40,7 @@ #include #include +#include /* * NB: Not portable. diff --git a/sunrpc/xdr_intXX_t.c b/sunrpc/xdr_intXX_t.c index 1eb7d03901..4fd9ada687 100644 --- a/sunrpc/xdr_intXX_t.c +++ b/sunrpc/xdr_intXX_t.c @@ -22,6 +22,7 @@ #include #include +#include /* XDR 64bit integers */ bool_t diff --git a/sunrpc/xdr_mem.c b/sunrpc/xdr_mem.c index 8b98589594..46a1f6f190 100644 --- a/sunrpc/xdr_mem.c +++ b/sunrpc/xdr_mem.c @@ -38,6 +38,7 @@ #include #include #include +#include static bool_t xdrmem_getlong (XDR *, long *); static bool_t xdrmem_putlong (XDR *, const long *); diff --git a/sunrpc/xdr_rec.c b/sunrpc/xdr_rec.c index 9d79ace4b7..fafa591c7c 100644 --- a/sunrpc/xdr_rec.c +++ b/sunrpc/xdr_rec.c @@ -50,6 +50,7 @@ #include #include #include +#include static bool_t xdrrec_getlong (XDR *, long *); static bool_t xdrrec_putlong (XDR *, const long *); diff --git a/sunrpc/xdr_ref.c b/sunrpc/xdr_ref.c index 2b7ebc8e11..eab3b74227 100644 --- a/sunrpc/xdr_ref.c +++ b/sunrpc/xdr_ref.c @@ -41,6 +41,7 @@ #include #include #include +#include #define LASTUNSIGNED ((u_int)0-1) diff --git a/sunrpc/xdr_sizeof.c b/sunrpc/xdr_sizeof.c index 56e870a455..1592406d64 100644 --- a/sunrpc/xdr_sizeof.c +++ b/sunrpc/xdr_sizeof.c @@ -38,6 +38,7 @@ #include #include #include +#include /* ARGSUSED */ static bool_t diff --git a/sunrpc/xdr_stdio.c b/sunrpc/xdr_stdio.c index faa646d29a..6ab514b664 100644 --- a/sunrpc/xdr_stdio.c +++ b/sunrpc/xdr_stdio.c @@ -40,6 +40,8 @@ #include #include +#include + #define fflush(s) _IO_fflush (s) #define fread(p, m, n, s) _IO_fread (p, m, n, s) #define ftell(s) _IO_ftell (s) -- cgit 1.4.1