glibc/nscd/gethstbynm3_r.c
Ulrich Drepper 384ca55174 * nscd/Makefile (nscd-modules): Replace gethstbynm2_r with
gethstbynm3_r.
	* nscd/gethstbynm2_r.c: Remove.
	* nscd/gethstbynm3_r.c: New file.
	* nscd/aicache.c (addhstaiX): Use __gethostbyaddr2_r instead of
	__gethostbyaddr_r.
	* nscd/gethstbyad_r.c: Generate __gethostbyaddr2_r function.  Define
	__gethostbyaddr_r compatibility wrapper.
	* nscd/hstcache.c (cache_addhst): Add ttl parameter.  Use it when
	determining timeout of entry.
	(lookup): Take new parameter and pass it to __gethostbyname3_r and
	__gethostbyaddr2_r.
	(addhstbyX): Pass reference to variable for TTL to lookup and
	cache_addhst.
	* nss/Versions [glibc] (GLIBC_PRIVATE): Export __nss_passwd_lookup2,
	__nss_group_lookup2, __nss_hosts_lookup2, __nss_services_lookup2,
	and __nss_next2.  Remove __nss_services_lookup.
	* nss/XXX-lookup.c: Name function now *_lookup2.  Add new parameter.
	Add compat wrapper.
	* nss/getXXbyYY_r.c: Changes to call new *_lookup2 functions and
	__nss_next2.
	* nss/getXXent_r.c: Likewise.
	* nss/getnssent_r.c: Likewise.
	* nss/nsswitch.c (__nss_lookup): Add new parameter.  If first function
	does not exist in module, try the optional second name.
	(__nss_next2): New function.
	(__nss_next): Now wrapper around __nss_next2.
	* nss/nsswitch.h: Adjust __nss_lookup prototype.
	Declare __nss_next2.
	Adjust definition of db_lookup_function type.
	* nss/service-lookup.c: Define NO_COMPAT.
	* include/netdb.h: Declare __gethostbyaddr2_r and __gethostbyname3_r.
	* inet/ether_hton.c: Use __nss_next2 instead of __nss_next.
	* inet/ether_ntoh.c: Likewise.
	* sunrpc/netname.c: Likewise.
	* sunrpc/publickey.c: Likewise.
	* inet/getnetgrent.c: Likewise.  Adjust calls to __nss_lookup.
	* inet/gethstbyad_r.c (DB_LOOKUP_FCT): Change to __nss_hosts_lookup2.
	* inet/gethstbynm2_r.c (DB_LOOKUP_FCT): Likewise.
	* inet/gethstbynm_r.c (DB_LOOKUP_FCT): Likewise.
	* inet/gethstent_r.c (DB_LOOKUP_FCT): Likewise.

	* nscd/aicache.c (addhstaiX): Fix default TTL handling.

	* inet/getnetgrent.c (setup): Encrypt static pointer.
2007-10-30 00:48:09 +00:00

54 lines
1.7 KiB
C

/* Copyright (C) 1996-1998, 2000, 2005, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
by the Free Software Foundation; version 2 of the License, or
(at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <ctype.h>
#include <errno.h>
#include <netdb.h>
#include <string.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#define LOOKUP_TYPE struct hostent
#define FUNCTION_NAME gethostbyname3
#define FUNCTION2_NAME gethostbyname2
#define DATABASE_NAME hosts
#define ADD_PARAMS const char *name, int af
#define EXTRA_PARAMS , int32_t *ttlp, char **canonp
#define ADD_VARIABLES name, af
#define EXTRA_VARIABLES , ttlp, canonp
#define NEED_H_ERRNO 1
#define NEED__RES_HCONF 1
#define HANDLE_DIGITS_DOTS 1
#define HAVE_LOOKUP_BUFFER 1
#define HAVE_AF 1
#define __inet_aton inet_aton
#include "../nss/getXXbyYY_r.c"
int
__gethostbyname2_r (const char *name, int af, struct hostent *ret, char *buf,
size_t buflen, struct hostent **result, int *h_errnop)
{
return __gethostbyname3_r (name, af, ret, buf, buflen, result, h_errnop,
NULL, NULL);
}