]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Exclude rpcent functions and NSS backends for rpc, key when excluding sunrpc.
authorRoland McGrath <roland@hack.frob.com>
Fri, 6 Feb 2015 18:43:19 +0000 (10:43 -0800)
committerRoland McGrath <roland@hack.frob.com>
Fri, 6 Feb 2015 18:43:19 +0000 (10:43 -0800)
13 files changed:
ChangeLog
inet/Makefile
inet/Versions
nss/Makefile
nss/getent.c
sunrpc/Makefile
sunrpc/Versions
sunrpc/getrpcbyname.c [moved from inet/getrpcbyname.c with 100% similarity]
sunrpc/getrpcbyname_r.c [moved from inet/getrpcbyname_r.c with 100% similarity]
sunrpc/getrpcbynumber.c [moved from inet/getrpcbynumber.c with 100% similarity]
sunrpc/getrpcbynumber_r.c [moved from inet/getrpcbynumber_r.c with 100% similarity]
sunrpc/getrpcent.c [moved from inet/getrpcent.c with 100% similarity]
sunrpc/getrpcent_r.c [moved from inet/getrpcent_r.c with 100% similarity]

index 22b9d9801859fb5586ff3db1ad58f3fb61e2a01e..c68c02ccaf5d3e36f586a39566350af0a89482ba 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,33 @@
 2015-02-06  Roland McGrath  <roland@hack.frob.com>
 
+       * inet/Versions (libc: GLIBC_2.0): Move getrpcbyname, getrpcbyname_r,
+       getrpcbynumber, getrpcbynumber_r, getrpcent, getrpcent_r, endrpcent,
+       setrpcent, and getrpcport to ...
+       * sunrpc/Versions (libc: GLIBC_2.0): ... here.
+       * inet/Versions (libc: GLIBC_2.1.2): Move getrpcbyname_r,
+       getrpcbynumber_r, and getrpcent_r to ...
+       * sunrpc/Versions (libc: GLIBC_2.1.2): ... this new set.
+       * inet/getrpcbyname.c: Moved ...
+       * sunrpc/getrpcbyname.c: ... here.
+       * inet/getrpcbyname_r.c: Moved ...
+       * sunrpc/getrpcbyname_r.c: ... here.
+       * inet/getrpcbynumber.c: Moved ...
+       * sunrpc/getrpcbynumber.c: ... here.
+       * inet/getrpcbynumber_r.c: Moved ...
+       * sunrpc/getrpcbynumber_r.c: ... here.
+       * inet/getrpcent.c: Moved ...
+       * sunrpc/getrpcent.c: ... here.
+       * inet/getrpcent_r.c: Moved ...
+       * sunrpc/getrpcent_r.c: ... here.
+       * inet/Makefile (routines): Move those to ...
+       * sunrpc/Makefile (routines): ... here.
+       * nss/Makefile (databases): Add key and rpc only if sunrpc appears in
+       the $(subdirs) list.
+       (CPPFLAGS-getent.c): New variable.  Pass -D option to set HAVE_SUNRPC
+       to 0 or 1, indicating whether sunrpc appears in the $(subdirs) list.
+       * nss/getent.c (print_rpc, rpc_keys): Conditionalize on [HAVE_SUNRPC].
+       (databases): Conditionalize rpc entry on [HAVE_SUNRPC].
+
        * elf/Makefile (routines): Include $(all-dl-routines), not just
        $(dl-routines).
        (rtld-routines): Likewise.  Use = rather than :=.
index 267f0603c16e40e1a5289802f1f6a1a44a83448f..f1d871ff11de89de6de6ccc2adfcb3f67a97efb6 100644 (file)
@@ -37,8 +37,6 @@ routines := htonl htons               \
            getproto getproto_r getprtent getprtent_r getprtname getprtname_r \
            getsrvbynm getsrvbynm_r getsrvbypt getsrvbypt_r getservent \
            getservent_r        \
-           getrpcent getrpcbyname getrpcbynumber \
-           getrpcent_r getrpcbyname_r getrpcbynumber_r \
            ether_aton ether_aton_r ether_hton ether_line \
            ether_ntoa ether_ntoa_r ether_ntoh \
            rcmd rexec ruserpass \
index 06507199a92b3c516baacf9dff69eda3052bf949..56eb274634616a335dce5c251d1f23fc111745f6 100644 (file)
@@ -7,8 +7,7 @@ libc {
     rexecoptions;
 
     # e*
-    endaliasent; endhostent; endnetent; endnetgrent; endprotoent; endrpcent;
-    endservent;
+    endaliasent; endhostent; endnetent; endnetgrent; endprotoent; endservent;
 
     # e*
     ether_aton; ether_aton_r; ether_hostton; ether_line; ether_ntoa;
@@ -21,9 +20,8 @@ libc {
     gethostent_r; getnetbyaddr; getnetbyaddr_r; getnetbyname;
     getnetbyname_r; getnetent; getnetent_r; getnetgrent; getnetgrent_r;
     getprotobyname; getprotobyname_r; getprotobynumber;
-    getprotobynumber_r; getprotoent; getprotoent_r; getrpcbyname;
-    getrpcbyname_r; getrpcbynumber; getrpcbynumber_r; getrpcent; getrpcent_r;
-    getrpcport; getservbyname; getservbyname_r; getservbyport;
+    getprotobynumber_r; getprotoent; getprotoent_r;
+    getservbyname; getservbyname_r; getservbyport;
     getservbyport_r; getservent; getservent_r;
 
     # h*
@@ -41,7 +39,7 @@ libc {
     rcmd; rexec; rresvport; ruserok; ruserpass;
 
     # s*
-    setaliasent; setnetent; setnetgrent; setprotoent; setrpcent; setservent;
+    setaliasent; setnetent; setnetgrent; setprotoent; setservent;
   }
   GLIBC_2.1 {
     # variables in normal name space
@@ -55,8 +53,7 @@ libc {
     getaliasbyname_r; getaliasent_r; gethostbyaddr_r; gethostbyname2_r;
     gethostbyname_r; gethostent_r; getnetbyaddr_r; getnetbyname_r;
     getnetent_r; getnetgrent_r; getprotobyname_r; getprotobynumber_r;
-    getprotoent_r; getrpcbyname_r; getrpcbynumber_r; getrpcent_r;
-    getservbyname_r;
+    getprotoent_r; getservbyname_r;
   }
   GLIBC_2.2 {
     # i*
index d419baf4fd09eb980046e98b4e447d3efaf592d8..d75dad2ee648fe70b0ed531fcdedf7e8d6b5254f 100644 (file)
@@ -31,8 +31,16 @@ routines             = nsswitch getnssent getnssent_r digits_dots \
 # These are the databases that go through nss dispatch.
 # Caution: if you add a database here, you must add its real name
 # in databases.def, too.
-databases              = proto service hosts network grp pwd rpc ethers \
-                         spwd netgrp key alias sgrp
+databases              = proto service hosts network grp pwd ethers \
+                         spwd netgrp alias sgrp
+
+ifneq (,$(filter sunrpc,$(subdirs)))
+databases              += key rpc
+have-sunrpc            := 1
+else
+have-sunrpc            := 0
+endif
+CPPFLAGS-getent.c      = -DHAVE_SUNRPC=$(have-sunrpc)
 
 others                  := getent makedb
 install-bin             := getent makedb
index 901ec5e676697cdf26e3ac8f15e7f7c6c2ba6f46..34df8487a9814f3b02b3dce3cf4897319070addc 100644 (file)
@@ -700,6 +700,7 @@ protocols_keys (int number, char *key[])
   return result;
 }
 
+#if HAVE_SUNRPC
 /* Now is all for rpc */
 static void
 print_rpc (struct rpcent *rpc)
@@ -745,6 +746,7 @@ rpc_keys (int number, char *key[])
 
   return result;
 }
+#endif
 
 /* for services */
 static void
@@ -884,7 +886,9 @@ D(netgroup)
 D(networks)
 D(passwd)
 D(protocols)
+#if HAVE_SUNRPC
 D(rpc)
+#endif
 D(services)
 D(shadow)
 #undef D
index b65f2f559a1b0c0f78db4400e4555f6c0496db1f..c29f4a96b8ef727b8c5d5c35b2d65b922cd05040 100644 (file)
@@ -76,6 +76,8 @@ routines := auth_none authuxprot bindrsvprt clnt_raw clnt_simp \
            pmap_rmt rpc_prot rpc_common rpc_cmsg svc_auth svc_authux svc_raw \
            svc_simple xdr_float xdr_rec publickey authdes_prot \
            des_crypt des_impl des_soft key_prot openchild rtime svcauth_des \
+           getrpcent getrpcbyname getrpcbynumber \
+           getrpcent_r getrpcbyname_r getrpcbynumber_r \
            clnt_unix svc_unix create_xid $(need-export-routines)
 ifneq ($(link-obsolete-rpc),yes)
 # We only add the RPC for compatibility to libc.so.
index a11dd8d36c046561e0b56b5b3a32325e7bc8d75b..77bc6a4c9b2b2e2948df0ce7ddb94212c93e85d6 100644 (file)
@@ -21,8 +21,13 @@ libc {
     clnt_perror; clnt_spcreateerror; clnt_sperrno; clnt_sperror;
     clntraw_create; clnttcp_create; clntudp_bufcreate; clntudp_create;
 
+    # e*
+    endrpcent;
+
     # g*
     get_myaddress; getpublickey; getsecretkey;
+    getrpcbyname; getrpcbyname_r; getrpcbynumber; getrpcbynumber_r;
+    getrpcent; getrpcent_r; getrpcport;
 
     # p*
     pmap_getmaps; pmap_getport; pmap_rmtcall; pmap_set; pmap_unset;
@@ -31,6 +36,7 @@ libc {
     registerrpc;
 
     # s*
+    setrpcent;
     svc_exit; svc_getreq; svc_getreqset; svc_register; svc_run;
     svc_sendreply; svc_unregister; svcerr_auth; svcerr_decode;
     svcerr_noproc; svcerr_noprog; svcerr_progvers; svcerr_systemerr;
@@ -106,6 +112,9 @@ libc {
     xdr_hyper; xdr_u_hyper; xdr_longlong_t; xdr_u_longlong_t;
     xdr_int64_t; xdr_uint64_t;
   }
+  GLIBC_2.1.2 {
+    getrpcbyname_r; getrpcbynumber_r; getrpcent_r;
+  }
   GLIBC_2.2 {
     svc_getreq_common; svc_getreq_poll; svc_max_pollfd; svc_pollfd;
   }
similarity index 100%
rename from inet/getrpcbyname.c
rename to sunrpc/getrpcbyname.c
similarity index 100%
rename from inet/getrpcent.c
rename to sunrpc/getrpcent.c
similarity index 100%
rename from inet/getrpcent_r.c
rename to sunrpc/getrpcent_r.c