about summary refs log tree commit diff
path: root/sunrpc/getrpcent.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-06-25 08:56:57 +0000
committerRoland McGrath <roland@gnu.org>1996-06-25 08:56:57 +0000
commit5f0e6fc702296840d2daa39f83f6cb1e40073d58 (patch)
tree6e6c29e50f713eac4c87b54a6e5730fa0dedb65a /sunrpc/getrpcent.c
parent7f8116797fdb967571c00ec1d5b19d9d06813445 (diff)
downloadglibc-5f0e6fc702296840d2daa39f83f6cb1e40073d58.tar.gz
glibc-5f0e6fc702296840d2daa39f83f6cb1e40073d58.tar.xz
glibc-5f0e6fc702296840d2daa39f83f6cb1e40073d58.zip
Tue Jun 25 02:59:11 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> cvs/libc-960625
	* malloc/malloc.h: Declare malloc_object_allocated_size, malloc_walk.
	* malloc/Makefile (dist-routines): Add malloc-size, malloc-walk.
	* malloc/malloc-size.c: New file.
	* malloc/malloc-walk.c: New file.

	* malloc/malloc-find.c (malloc_find_object_address): Return null if
	PTR is outside the heap.

	* elf/dl-load.c (_dl_map_object): If the requested name matches the
 	soname of a loaded object, use that object.

Mon Jun 24 19:57:01 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* Makefile (subdirs): Add nss.

	* inet/Makefile (routines): Add getrpcent, getrpcbyname,
	getrpcbynumber, getrpcent_r, getrpcbyname_r, getrpcbynumber_r.
	* inet/getrpcbynumber_r.c: New file.
	* inet/getrpcbynumber.c: New file.
	* inet/getrpcbyname.c: New file.
	* inet/getrpcbyname_r.c: New file.
	* inet/getrpcent_r.c: New file.
	* inet/getrpcent.c: New file.
	* nss/rpc-lookup.c: New file.
	* nss/nss_files/files-rpc.c: New file.
	* nss/Makefile (routines): Add rpc-lookup.
	(libnss_files-routines): Add files-rpc.
	* sunrpc/Makefile (routines): Remove getrpcent.
	* sunrpc/getrpcent.c: File removed.

	* nss/getXXent_r.c (REENTRANT_GETNAME): Clear NO_MORE when NIP is
	non-null on entry.

	* Makeconfig (rpath-link): Add $(nssobjdir).
	(nssobjdir): New variable.

	* Makerules: Move shared library building before objects rules, so
	versions are known before extra-lib.mk gets included.
	* extra-lib.mk (lib-noranlib): Depend on the shared object too.

	* pwd/getpwuid.c: Rewritten using nss.
	* pwd/getpwnam.c: Likewise.
	* pwd/getpwent.c: Likewise.
	* grp/getgrnam.c: Likewise.
	* grp/getgrgid.c: Likewise.
	* grp/getgrent.c: Likewise.
	* pwd/Makefile (routines): Add getpwent_r, getpwnam_r, getpwuid_r.
	* pwd/getpwent_r.c: New file.
	* pwd/getpwnam_r.c: New file.
	* pwd/getpwuid_r.c: New file.
	* grp/Makefile (routines): Add getgrent_r, getgrgid_r, getgrnam_r.
	* grp/getgrnam_r.c: New file.
	* grp/getgrgid_r.c: New file.
	* grp/getgrent_r.c: New file.
	* grp/Makefile (routines): Remove grpopen, grpread.
	* pwd/Makefile (routines): Remove pwdopen, pwdread.
	* grp/grpopen.c, grp/grpread.c, pwd/pwdopen.c, pwd/pwdread.c: Removed.

	* pwd/fgetpwent.c: Rewritten using files-parse.c.
	* grp/fgetgrent.c: Likewise.

	* nss/Makefile (routines): Add grp-lookup and pwd-lookup.
	* nss/pwd-lookup.c, nss/grp-lookup.c: New files.
	* nss/nss_files/files-grp.c: New file.
	* nss/nss_files/files-pwd.c: New file.

	* nss/Makefile (subdir-dirs): New variable; use it in vpath.

	* nss/nss_files/files-parse.c: New file.
	* nss/nss_files/files-XXX.c: New file.
	* nss/nss_files/files-hosts.c, nss/nss_files/files-proto.c,
	nss/nss_files/files-service.c, nss/nss_files/files-network.c:
	Rewritten using them.

	* nss/Makefile (libnss_files-routines): Remove files-host.
	Add files-hosts, files-grp, files-pwd.

	* nss/nss_dns/dns-network.c: Don't include <pthread.h>.

Mon Jun 24 22:39:12 1996  Richard Henderson  <rth@tamu.edu>

	* sysdeps/alpha/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
	A .plt entry now loads the .rela.plt offset directly rather
	than making us calculate it.

Sun Jun 23 15:24:05 1996  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>

	* time/Makefile ($(installed-localtime-file) rule): Do
	$(make-target-directory) first.

	* resolv.h: Fix wrapper for resolv/resolv.h.

	* configure.in (ld --no-whole-archive check): Use AC_TRY_COMMAND.
	Compile dummy file and pass -nostdlib -nostartfiles so as not to
	require installed libraries.

	* shlib-versions (*-*-*): Set libresolv=2, libnss_files=1,
	libnss_dns=1.

Sun Jun 23 19:42:05 1996  Ulrich Drepper  <drepper@cygnus.com>

	* resolv/netdb.h (_PATH_NSSWITCH_CONF): New macro.

	* inet/herrno.c: New file.

	* resolv/res_init.c: Remove res_hconf calls.

	* nss/Makefile, nss/XXX-lookup.c, nss/file-lookup.c,
	nss/getXXbyYY.c, nss/getXXbyYY_r.c, nss/getXXent.c,
	nss/getXXent_r.c, nss/host-lookup.c, nss/network-lookup.c,
	nss/nsswitch.c, nss/nsswitch.h, nss/proto-lookup.c,
	nss/service-lookup.c: New files.  Implementation of name
	service switch, following the approach in Solaris.
	Interface specification and general structure inspired by Peter
	Eriksson <pen@lysator.liu.se>.
	* nss/nss_files/files-host.c, nss/nss_files/files-network.c,
	nss/nss_files/files-proto.c, nss/nss_files/files-service.c:
	Implementation of libnss_files.so module for file based databases
	in NSS service.
	* nss/nss_dns/dns-host.c, nss/nss_dns/dns-network.c: Implementation
        if libnss_dns.so module for DNS name lookup in NSS service.

	* inet/getproto.c, inet/getprtent.c, inet/getprtname.c,
	inet/getservent.c, inet/getsrvbynm.c, inet/getsrvbypt.c:
	Changed to serve as interface to NSS.
	* inet/gethstbyad.c, inet/gethstbyad_r.c, inet/gethstbynm.c,
	inet/gethstbynm2.c, inet/gethstbynm2_r.c, inet/gethstbynm_r.c,
	inet/gethstent.c, inet/gethstent_r.c, inet/getnetbynm.c,
	inet/getnetbynm_r.c, inet/getnetbypt.c, inet/getnetbypt_r.c,
	inet/getnetent.c, inet/getnetent_r.c, inet/getproto_r.c,
	inet/getprtent_r.c, inet/getprtname_r.c, inet/getservent_r.c,
	inet/getsrvbynm_r.c, inet/getsrvbypt_r.c: New files.  Implement
	interfaces to NSS, including reentrant functions.

	* resolv/getnetbyaddr.c, resolv/getnetbyname.c, resolv/getnetent.c,
	resolv/sethostent.c: Removed:  Obsoleted by NSS.

	* resolv/mapv4v6addr.h, resolv/mapv4v6hostent.h: Extracted from
	gethnamaddr.c.  These private functions are now used in more
	than one file.

	* resolv/inet_pton.c, resolv/gethnamaddr.c: Updated to bind-4.9.4-T5B.

Sat Jun 22 16:49:47 1996  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* rpm/Makefile ($(config)): Make sure the word list in the for
	loop is syntactically non-empty.
Diffstat (limited to 'sunrpc/getrpcent.c')
-rw-r--r--sunrpc/getrpcent.c217
1 files changed, 0 insertions, 217 deletions
diff --git a/sunrpc/getrpcent.c b/sunrpc/getrpcent.c
deleted file mode 100644
index 0fc7affdf9..0000000000
--- a/sunrpc/getrpcent.c
+++ /dev/null
@@ -1,217 +0,0 @@
-/* @(#)getrpcent.c	2.2 88/07/29 4.0 RPCSRC */
-#if !defined(lint) && defined(SCCSIDS)
-static  char sccsid[] = "@(#)getrpcent.c 1.9 87/08/11  Copyr 1984 Sun Micro";
-#endif
-
-/*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user.
- * 
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
- * 
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- * 
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- * 
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- * 
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
- */
-
-/*
- * Copyright (c) 1985 by Sun Microsystems, Inc.
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <rpc/rpc.h>
-#include <netdb.h>
-#include <sys/socket.h>
-
-/*
- * Internet version.
- */
-struct rpcdata {
-	FILE	*rpcf;
-	char	*current;
-	int	currentlen;
-	int	stayopen;
-#define	MAXALIASES	35
-	char	*rpc_aliases[MAXALIASES];
-	struct	rpcent rpc;
-	char	line[BUFSIZ+1];
-	char	*domain;
-} *rpcdata, *_rpcdata();
-
-static	struct rpcent *interpret();
-struct	hostent *gethostent();
-char	*inet_ntoa();
-extern	char *index();		/* Changed from static by roland@gnu */
-
-static char RPCDB[] = _PATH_RPC; /* Changed from "/etc/rpc" by roland@gnu */
-
-static struct rpcdata *
-_rpcdata()
-{
-	register struct rpcdata *d = rpcdata;
-
-	if (d == 0) {
-		d = (struct rpcdata *)calloc(1, sizeof (struct rpcdata));
-		rpcdata = d;
-	}
-	return (d);
-}
-
-struct rpcent *
-getrpcbynumber(number)
-	register int number;
-{
-	register struct rpcdata *d = _rpcdata();
-	register struct rpcent *p;
-	int reason;
-	char adrstr[16], *val = NULL;
-	int vallen;
-
-	if (d == 0)
-		return (0);
-	setrpcent(0);
-	while (p = getrpcent()) {
-		if (p->r_number == number)
-			break;
-	}
-	endrpcent();
-	return (p);
-}
-
-struct rpcent *
-getrpcbyname(name)
-     const char *name;		/* const added by roland@gnu */
-{
-	struct rpcent *rpc;
-	char **rp;
-
-	setrpcent(0);
-	while(rpc = getrpcent()) {
-		if (strcmp(rpc->r_name, name) == 0)
-			return (rpc);
-		for (rp = rpc->r_aliases; *rp != NULL; rp++) {
-			if (strcmp(*rp, name) == 0)
-				return (rpc);
-		}
-	}
-	endrpcent();
-	return (NULL);
-}
-
-setrpcent(f)
-	int f;
-{
-	register struct rpcdata *d = _rpcdata();
-
-	if (d == 0)
-		return;
-	if (d->rpcf == NULL)
-		d->rpcf = fopen(RPCDB, "r");
-	else
-		rewind(d->rpcf);
-	if (d->current)
-		free(d->current);
-	d->current = NULL;
-	d->stayopen |= f;
-}
-
-endrpcent()
-{
-	register struct rpcdata *d = _rpcdata();
-
-	if (d == 0)
-		return;
-	if (d->current && !d->stayopen) {
-		free(d->current);
-		d->current = NULL;
-	}
-	if (d->rpcf && !d->stayopen) {
-		fclose(d->rpcf);
-		d->rpcf = NULL;
-	}
-}
-
-struct rpcent *
-getrpcent()
-{
-	struct rpcent *hp;
-	int reason;
-	char *key = NULL, *val = NULL;
-	int keylen, vallen;
-	register struct rpcdata *d = _rpcdata();
-
-	if (d == 0)
-		return(NULL);
-	if (d->rpcf == NULL && (d->rpcf = fopen(RPCDB, "r")) == NULL)
-		return (NULL);
-	if (fgets(d->line, BUFSIZ, d->rpcf) == NULL)
-		return (NULL);
-	return interpret(d->line, strlen(d->line));
-}
-
-static struct rpcent *
-interpret(val, len)
-	char * val;
-	size_t len;
-{
-	register struct rpcdata *d = _rpcdata();
-	char *p;
-	register char *cp, **q;
-
-	if (d == 0)
-		return;
-	strncpy(d->line, val, len);
-	p = d->line;
-	d->line[len] = '\n';
-	if (*p == '#')
-		return (getrpcent());
-	cp = strpbrk(p, "#\n");
-	if (cp == NULL)
-		return (getrpcent());
-	*cp = '\0';
-	cp = strpbrk(p, " \t");
-	if (cp == NULL)
-		return (getrpcent());
-	*cp++ = '\0';
-	/* THIS STUFF IS INTERNET SPECIFIC */
-	d->rpc.r_name = d->line;
-	while (*cp == ' ' || *cp == '\t')
-		cp++;
-	d->rpc.r_number = atoi(cp);
-	q = d->rpc.r_aliases = d->rpc_aliases;
-	cp = strpbrk(p, " \t");
-	if (cp != NULL)
-		*cp++ = '\0';
-	while (cp && *cp) {
-		if (*cp == ' ' || *cp == '\t') {
-			cp++;
-			continue;
-		}
-		if (q < &(d->rpc_aliases[MAXALIASES - 1]))
-			*q++ = cp;
-		cp = strpbrk(p, " \t");
-		if (cp != NULL)
-			*cp++ = '\0';
-	}
-	*q = NULL;
-	return (&d->rpc);
-}