diff options
author | Jakub Jelinek <jakub@redhat.com> | 2007-03-21 20:24:59 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2007-03-21 20:24:59 +0000 |
commit | 697d37b182040cc68cfc7785fddd340b2f51d9cc (patch) | |
tree | 9017cebb174e086addf14f7ff7bb9b047cde6fcc /nis/nis_lookup.c | |
parent | 371f84a4dca19f1416c3f28db9980539d2f62905 (diff) | |
download | glibc-697d37b182040cc68cfc7785fddd340b2f51d9cc.zip glibc-697d37b182040cc68cfc7785fddd340b2f51d9cc.tar.gz glibc-697d37b182040cc68cfc7785fddd340b2f51d9cc.tar.bz2 |
* nis/nis_call.c: Include bits/libc-lock.h, sys/stat.h, unistd.h.
(nis_server_cache, nis_server_cache_lock, nis_cold_start_mtime): New
variables.
(nis_server_cache_search, nis_server_cache_add): New functions.
(__nisfind_server): Use them. Add dbp and flags argument, if
call __nisbind_create.
(__nisbind_create): Add server_used and current_ep arguments,
only call __nis_findfastest if server_used is ~0.
(__do_niscall2, __prepare_niscall): Adjust callers.
(ckey_cache, ckey_cache_size, ckey_cache_allocated, ckey_cache_pid,
ckey_cache_euid, ckey_cache_lock): New variables.
(get_ckey): New function.
(__nisbind_connect): If not dbp->use_udp, pass IPPROTO_TCP to
__pmap_getnisport. Save __pmap_getnisport result in
dbp->addr.sin_port if non-zero. Use get_ckey to create conversation
key.
* nis/nis_lookup.c (nis_lookup): Likewise.
* nis/nis_table.c (nis_list): Likewise.
* nis/rpcsvc/nislib.h (__nisbind_create, __nisfind_server): Adjust
prototypes.
* nis/nss_nisplus/nisplus-pwd.c (_nss_nisplus_getpwnam_r,
_nss_nisplus_getpwuid_r): Pass USE_DGRAM flag to nis_list.
* nis/nss_nisplus/nisplus-service.c (_nss_nisplus_getservbyname_r,
_nss_nisplus_getservbyport_r): Likewise.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyname_r,
_nss_nisplus_getnetbyaddr_r): Likewise.
* nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_getspnam_r): Likewise.
* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_gethostton_r,
_nss_nisplus_getntohost_r): Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_getrpcbyname_r,
_nss_nisplus_getrpcbynumber_r): Likewise.
2007-03-21 Jakub Jelinek <jakub@redhat.com>
* nis/nis_call.c: Include bits/libc-lock.h, sys/stat.h, unistd.h.
(nis_server_cache, nis_server_cache_lock, nis_cold_start_mtime): New
variables.
(nis_server_cache_search, nis_server_cache_add): New functions.
(__nisfind_server): Use them. Add dbp and flags argument, if
call __nisbind_create.
(__nisbind_create): Add server_used and current_ep arguments,
only call __nis_findfastest if server_used is ~0.
(__do_niscall2, __prepare_niscall): Adjust callers.
(ckey_cache, ckey_cache_size, ckey_cache_allocated, ckey_cache_pid,
ckey_cache_euid, ckey_cache_lock): New variables.
(get_ckey): New function.
(__nisbind_connect): If not dbp->use_udp, pass IPPROTO_TCP to
__pmap_getnisport. Save __pmap_getnisport result in
dbp->addr.sin_port if non-zero. Use get_ckey to create conversation
key.
* nis/nis_lookup.c (nis_lookup): Likewise.
* nis/nis_table.c (nis_list): Likewise.
* nis/rpcsvc/nislib.h (__nisbind_create, __nisfind_server): Adjust
prototypes.
* nis/nss_nisplus/nisplus-pwd.c (_nss_nisplus_getpwnam_r,
_nss_nisplus_getpwuid_r): Pass USE_DGRAM flag to nis_list.
* nis/nss_nisplus/nisplus-service.c (_nss_nisplus_getservbyname_r,
_nss_nisplus_getservbyport_r): Likewise.
* nis/nss_nisplus/nisplus-network.c (_nss_nisplus_getnetbyname_r,
_nss_nisplus_getnetbyaddr_r): Likewise.
* nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_getspnam_r): Likewise.
* nis/nss_nisplus/nisplus-ethers.c (_nss_nisplus_gethostton_r,
_nss_nisplus_getntohost_r): Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_nisplus_getrpcbyname_r,
_nss_nisplus_getrpcbynumber_r): Likewise.
Diffstat (limited to 'nis/nis_lookup.c')
-rw-r--r-- | nis/nis_lookup.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/nis/nis_lookup.c b/nis/nis_lookup.c index 839ee4e..2075caa 100644 --- a/nis/nis_lookup.c +++ b/nis/nis_lookup.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1997-1999, 2004, 2005, 2006 Free Software Foundation, Inc. +/* Copyright (C) 1997-1999, 2004, 2005, 2006, 2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@uni-paderborn.de>, 1997. @@ -127,18 +128,10 @@ nis_lookup (const_nis_name name, const unsigned int flags) /* Otherwise __nisfind_server will not do anything. */ dir = NULL; - if (__nisfind_server (req.ns_name, 1, &dir) + if (__nisfind_server (req.ns_name, 1, &dir, &bptr, + flags & ~MASTER_ONLY) != NIS_SUCCESS) goto out; - - if (__nisbind_create (&bptr, - dir->do_servers.do_servers_val, - dir->do_servers.do_servers_len, - flags) != NIS_SUCCESS) - { - nis_free_directory (dir); - goto out; - } } else if (__nisbind_next (&bptr) != NIS_SUCCESS) |