about summary refs log tree commit diff
path: root/sunrpc
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2020-07-08 12:15:23 +0200
committerFlorian Weimer <fweimer@redhat.com>2020-07-08 17:25:57 +0200
commitacb527929d0c2b3bb0798472c42ddb3203729708 (patch)
tree811e3dccd989b71c1e44b18e9e790538725d2c29 /sunrpc
parenta2a83bf6d9f1d4d297c5378f0fda0d8f85bc75f2 (diff)
downloadglibc-acb527929d0c2b3bb0798472c42ddb3203729708.tar.gz
glibc-acb527929d0c2b3bb0798472c42ddb3203729708.tar.xz
glibc-acb527929d0c2b3bb0798472c42ddb3203729708.zip
Move non-deprecated RPC-related functions from sunrpc to inet
This includes bindresvport and the NSS-related RPC functions.  This will
simplify the removal of the sunrpc functionality because these functions
no longer have to be treated specially.
Diffstat (limited to 'sunrpc')
-rw-r--r--sunrpc/Makefile9
-rw-r--r--sunrpc/bindrsvprt.c110
-rw-r--r--sunrpc/etc.rpc70
-rw-r--r--sunrpc/getrpcbyname.c32
-rw-r--r--sunrpc/getrpcbyname_r.c31
-rw-r--r--sunrpc/getrpcbynumber.c32
-rw-r--r--sunrpc/getrpcbynumber_r.c31
-rw-r--r--sunrpc/getrpcent.c28
-rw-r--r--sunrpc/getrpcent_r.c32
9 files changed, 1 insertions, 374 deletions
diff --git a/sunrpc/Makefile b/sunrpc/Makefile
index d5840d0770..2d1861f3dc 100644
--- a/sunrpc/Makefile
+++ b/sunrpc/Makefile
@@ -32,7 +32,6 @@ include ../Makeconfig
 # file name limits:
 #
 #	authunix_prot.c -> authuxprot.c
-#	bindresvport.c -> bindrsvprt.c
 #	clnt_generic.c -> clnt_gen.c
 #	clnt_perror.c -> clnt_perr.c
 #	clnt_simple.c -> clnt_simp.c
@@ -54,7 +53,6 @@ headers-sunrpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
 				  key_prot.h) \
 		       $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
 headers = rpc/netdb.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
@@ -70,13 +68,11 @@ need-export-routines := auth_des auth_unix clnt_gen clnt_perr clnt_tcp \
 			xdr_intXX_t xdr_mem xdr_ref xdr_sizeof xdr_stdio \
 			svc_run
 
-routines := auth_none authuxprot bindrsvprt clnt_raw clnt_simp \
+routines := auth_none authuxprot 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_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) \
 	    rpc_gethostbyname
 ifneq ($(link-obsolete-rpc),yes)
@@ -188,9 +184,6 @@ include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left))
 # binary be the second dependency listed in each rule using rpcgen-cmd.
 rpcgen-cmd = CPP='$(CC) -E -x c-header' $(built-program-file) -Y ../scripts
 
-# Install the rpc data base file.
-$(inst_sysconfdir)/rpc: etc.rpc $(+force)
-	$(do-install)
 
 # Generate the rpcsvc headers with rpcgen.
 # We use a stamp file to avoid unnessary recompilation each time rpcgen is
diff --git a/sunrpc/bindrsvprt.c b/sunrpc/bindrsvprt.c
deleted file mode 100644
index da33c05101..0000000000
--- a/sunrpc/bindrsvprt.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2010, Oracle America, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- *     * Redistributions of source code must retain the above copyright
- *       notice, this list of conditions and the following disclaimer.
- *     * Redistributions in binary form must reproduce the above
- *       copyright notice, this list of conditions and the following
- *       disclaimer in the documentation and/or other materials
- *       provided with the distribution.
- *     * Neither the name of the "Oracle America, Inc." nor the names of its
- *       contributors may be used to endorse or promote products derived
- *       from this software without specific prior written permission.
- *
- *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- *   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- *   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- *   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- *   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- *   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <errno.h>
-#include <unistd.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <libc-lock.h>
-
-/*
- * Locks the static variables in this file.
- */
-__libc_lock_define_initialized (static, lock);
-
-/*
- * Bind a socket to a privileged IP port
- */
-int
-bindresvport (int sd, struct sockaddr_in *sin)
-{
-  static short port;
-  struct sockaddr_in myaddr;
-  int i;
-
-#define STARTPORT 600
-#define LOWPORT 512
-#define ENDPORT (IPPORT_RESERVED - 1)
-#define NPORTS	(ENDPORT - STARTPORT + 1)
-  static short startport = STARTPORT;
-
-  if (sin == (struct sockaddr_in *) 0)
-    {
-      sin = &myaddr;
-      memset (sin, 0, sizeof (*sin));
-      sin->sin_family = AF_INET;
-    }
-  else if (sin->sin_family != AF_INET)
-    {
-      __set_errno (EAFNOSUPPORT);
-      return -1;
-    }
-
-  if (port == 0)
-    {
-      port = (__getpid () % NPORTS) + STARTPORT;
-    }
-
-  /* Initialize to make gcc happy.  */
-  int res = -1;
-
-  int nports = ENDPORT - startport + 1;
-  int endport = ENDPORT;
-
-  __libc_lock_lock (lock);
-
- again:
-  for (i = 0; i < nports; ++i)
-    {
-      sin->sin_port = htons (port++);
-      if (port > endport)
-	port = startport;
-      res = __bind (sd, sin, sizeof (struct sockaddr_in));
-      if (res >= 0 || errno != EADDRINUSE)
-	break;
-    }
-
-  if (i == nports && startport != LOWPORT)
-    {
-      startport = LOWPORT;
-      endport = STARTPORT - 1;
-      nports = STARTPORT - LOWPORT;
-      port = LOWPORT + port % (STARTPORT - LOWPORT);
-      goto again;
-    }
-
-  __libc_lock_unlock (lock);
-
-  return res;
-}
-libc_hidden_def (bindresvport)
diff --git a/sunrpc/etc.rpc b/sunrpc/etc.rpc
deleted file mode 100644
index e099ebb289..0000000000
--- a/sunrpc/etc.rpc
+++ /dev/null
@@ -1,70 +0,0 @@
-#ident	"@(#)rpc	1.11	95/07/14 SMI"	/* SVr4.0 1.2	*/
-#
-#	rpc
-#
-portmapper	100000	portmap sunrpc rpcbind
-rstatd		100001	rstat rup perfmeter rstat_svc
-rusersd		100002	rusers
-nfs		100003	nfsprog
-ypserv		100004	ypprog
-mountd		100005	mount showmount
-ypbind		100007
-walld		100008	rwall shutdown
-yppasswdd	100009	yppasswd
-etherstatd	100010	etherstat
-rquotad		100011	rquotaprog quota rquota
-sprayd		100012	spray
-3270_mapper	100013
-rje_mapper	100014
-selection_svc	100015	selnsvc
-database_svc	100016
-rexd		100017	rex
-alis		100018
-sched		100019
-llockmgr	100020
-nlockmgr	100021
-x25.inr		100022
-statmon		100023
-status		100024
-bootparam	100026
-ypupdated	100028	ypupdate
-keyserv		100029	keyserver
-sunlink_mapper	100033
-tfsd		100037
-nsed		100038
-nsemntd		100039
-showfhd		100043	showfh
-ioadmd		100055	rpc.ioadmd
-NETlicense	100062
-sunisamd	100065
-debug_svc 	100066  dbsrv
-ypxfrd		100069  rpc.ypxfrd
-bugtraqd	100071
-kerbd		100078
-event		100101	na.event	# SunNet Manager
-logger		100102	na.logger	# SunNet Manager
-sync		100104	na.sync
-hostperf	100107	na.hostperf
-activity	100109	na.activity	# SunNet Manager
-hostmem		100112	na.hostmem
-sample		100113	na.sample
-x25		100114	na.x25
-ping		100115	na.ping
-rpcnfs		100116	na.rpcnfs
-hostif		100117	na.hostif
-etherif		100118	na.etherif
-iproutes	100120	na.iproutes
-layers		100121	na.layers
-snmp		100122	na.snmp snmp-cmc snmp-synoptics snmp-unisys snmp-utk
-traffic		100123	na.traffic
-nfs_acl		100227
-sadmind		100232
-nisd		100300	rpc.nisd
-nispasswd	100303	rpc.nispasswdd
-ufsd		100233	ufsd
-fedfs_admin	100418
-pcnfsd		150001	pcnfs
-amd		300019  amq
-sgi_fam		391002	fam
-bwnfsd		545580417
-fypxfrd		600100069 freebsd-ypxfrd
diff --git a/sunrpc/getrpcbyname.c b/sunrpc/getrpcbyname.c
deleted file mode 100644
index c82d121c30..0000000000
--- a/sunrpc/getrpcbyname.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#include <rpc/netdb.h>
-
-
-#define LOOKUP_TYPE	struct rpcent
-#define FUNCTION_NAME	getrpcbyname
-#define DATABASE_NAME	rpc
-#define ADD_PARAMS	const char *name
-#define ADD_VARIABLES	name
-#define BUFLEN		1024
-
-/* There is no nscd support for the rpc file.  */
-#undef	USE_NSCD
-
-#include "../nss/getXXbyYY.c"
diff --git a/sunrpc/getrpcbyname_r.c b/sunrpc/getrpcbyname_r.c
deleted file mode 100644
index d87639a3cd..0000000000
--- a/sunrpc/getrpcbyname_r.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#include <rpc/netdb.h>
-
-
-#define LOOKUP_TYPE		struct rpcent
-#define FUNCTION_NAME		getrpcbyname
-#define DATABASE_NAME		rpc
-#define ADD_PARAMS		const char *name
-#define ADD_VARIABLES		name
-
-/* There is no nscd support for the rpc file.  */
-#undef	USE_NSCD
-
-#include "../nss/getXXbyYY_r.c"
diff --git a/sunrpc/getrpcbynumber.c b/sunrpc/getrpcbynumber.c
deleted file mode 100644
index 8eced2e422..0000000000
--- a/sunrpc/getrpcbynumber.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#include <rpc/netdb.h>
-
-
-#define LOOKUP_TYPE	struct rpcent
-#define FUNCTION_NAME	getrpcbynumber
-#define DATABASE_NAME	rpc
-#define ADD_PARAMS	int number
-#define ADD_VARIABLES	number
-#define BUFLEN		1024
-
-/* There is no nscd support for the rpc file.  */
-#undef	USE_NSCD
-
-#include "../nss/getXXbyYY.c"
diff --git a/sunrpc/getrpcbynumber_r.c b/sunrpc/getrpcbynumber_r.c
deleted file mode 100644
index d10f2636b0..0000000000
--- a/sunrpc/getrpcbynumber_r.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#include <rpc/netdb.h>
-
-
-#define LOOKUP_TYPE		struct rpcent
-#define FUNCTION_NAME		getrpcbynumber
-#define DATABASE_NAME		rpc
-#define ADD_PARAMS		int number
-#define ADD_VARIABLES		number
-
-/* There is no nscd support for the rpc file.  */
-#undef	USE_NSCD
-
-#include "../nss/getXXbyYY_r.c"
diff --git a/sunrpc/getrpcent.c b/sunrpc/getrpcent.c
deleted file mode 100644
index 16b1c32d4c..0000000000
--- a/sunrpc/getrpcent.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 1996-2020 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
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#include <rpc/netdb.h>
-
-
-#define LOOKUP_TYPE	struct rpcent
-#define	GETFUNC_NAME	getrpcent
-#define BUFLEN		1024
-
-/* There is no nscd support for the rpc file.  */
-#undef	USE_NSCD
-
-#include "../nss/getXXent.c"
diff --git a/sunrpc/getrpcent_r.c b/sunrpc/getrpcent_r.c
deleted file mode 100644
index 419b78c33c..0000000000
--- a/sunrpc/getrpcent_r.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1996-2020 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
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#include <netdb.h>
-
-
-#define LOOKUP_TYPE		struct rpcent
-#define SETFUNC_NAME		setrpcent
-#define	GETFUNC_NAME		getrpcent
-#define	ENDFUNC_NAME		endrpcent
-#define DATABASE_NAME		rpc
-#define STAYOPEN		int stayopen
-#define STAYOPEN_VAR		stayopen
-
-/* There is no nscd support for the rpc file.  */
-#undef	USE_NSCD
-
-#include "../nss/getXXent_r.c"