aboutsummaryrefslogtreecommitdiff
path: root/nis/nss_nisplus
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-03-21 20:24:59 +0000
committerJakub Jelinek <jakub@redhat.com>2007-03-21 20:24:59 +0000
commit697d37b182040cc68cfc7785fddd340b2f51d9cc (patch)
tree9017cebb174e086addf14f7ff7bb9b047cde6fcc /nis/nss_nisplus
parent371f84a4dca19f1416c3f28db9980539d2f62905 (diff)
downloadglibc-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/nss_nisplus')
-rw-r--r--nis/nss_nisplus/nisplus-ethers.c9
-rw-r--r--nis/nss_nisplus/nisplus-network.c11
-rw-r--r--nis/nss_nisplus/nisplus-pwd.c6
-rw-r--r--nis/nss_nisplus/nisplus-rpc.c11
-rw-r--r--nis/nss_nisplus/nisplus-service.c11
-rw-r--r--nis/nss_nisplus/nisplus-spwd.c5
6 files changed, 33 insertions, 20 deletions
diff --git a/nis/nss_nisplus/nisplus-ethers.c b/nis/nss_nisplus/nisplus-ethers.c
index 8d69ad9..298869f 100644
--- a/nis/nss_nisplus/nisplus-ethers.c
+++ b/nis/nss_nisplus/nisplus-ethers.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997,1998,2000-2003,2005,2006 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,2000-2003,2005,2006,2007
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
@@ -256,7 +257,8 @@ _nss_nisplus_gethostton_r (const char *name, struct etherent *eth,
snprintf (buf, sizeof (buf), "[name=%s],%s", name, tablename_val);
- nis_result *result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS, NULL, NULL);
+ nis_result *result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS | USE_DGRAM,
+ NULL, NULL);
if (result == NULL)
{
@@ -322,7 +324,8 @@ _nss_nisplus_getntohost_r (const struct ether_addr *addr, struct etherent *eth,
addr->ether_addr_octet[4], addr->ether_addr_octet[5],
tablename_val);
- nis_result *result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS, NULL, NULL);
+ nis_result *result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS | USE_DGRAM,
+ NULL, NULL);
if (result == NULL)
{
diff --git a/nis/nss_nisplus/nisplus-network.c b/nis/nss_nisplus/nisplus-network.c
index 286a4cc..1cf652f 100644
--- a/nis/nss_nisplus/nisplus-network.c
+++ b/nis/nss_nisplus/nisplus-network.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997,1998,2000-2003,2005,2006 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,2000-2003,2005,2006,2007
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
@@ -338,7 +339,7 @@ _nss_nisplus_getnetbyname_r (const char *name, struct netent *network,
/* Search at first in the alias list, and use the correct name
for the next search */
snprintf (buf, sizeof (buf), "[name=%s],%s", name, tablename_val);
- result = nis_list (buf, FOLLOW_LINKS | FOLLOW_PATH, NULL, NULL);
+ result = nis_list (buf, FOLLOW_LINKS | FOLLOW_PATH | USE_DGRAM, NULL, NULL);
if (result != NULL)
{
@@ -366,7 +367,8 @@ _nss_nisplus_getnetbyname_r (const char *name, struct netent *network,
}
nis_freeresult (result);
- result = nis_list (bufptr, FOLLOW_LINKS | FOLLOW_PATH, NULL, NULL);
+ result = nis_list (bufptr, FOLLOW_LINKS | FOLLOW_PATH | USE_DGRAM,
+ NULL, NULL);
}
if (result == NULL)
@@ -438,7 +440,8 @@ _nss_nisplus_getnetbyaddr_r (uint32_t addr, const int type,
while (1)
{
snprintf (buf, sizeof (buf), "[addr=%s],%s", buf2, tablename_val);
- nis_result *result = nis_list (buf, EXPAND_NAME, NULL, NULL);
+ nis_result *result = nis_list (buf, EXPAND_NAME | USE_DGRAM,
+ NULL, NULL);
if (result == NULL)
{
diff --git a/nis/nss_nisplus/nisplus-pwd.c b/nis/nss_nisplus/nisplus-pwd.c
index 93e37dd..cd33aeb 100644
--- a/nis/nss_nisplus/nisplus-pwd.c
+++ b/nis/nss_nisplus/nisplus-pwd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1999, 2001, 2002, 2003, 2005, 2006
+/* Copyright (C) 1997, 1999, 2001, 2002, 2003, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
@@ -311,7 +311,7 @@ _nss_nisplus_getpwnam_r (const char *name, struct passwd *pw,
snprintf (buf, sizeof (buf), "[name=%s],%s", name, pwd_tablename_val);
- result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS, NULL, NULL);
+ result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS | USE_DGRAM, NULL, NULL);
if (result == NULL)
{
@@ -370,7 +370,7 @@ _nss_nisplus_getpwuid_r (const uid_t uid, struct passwd *pw,
snprintf (buf, sizeof (buf), "[uid=%lu],%s",
(unsigned long int) uid, pwd_tablename_val);
- result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS, NULL, NULL);
+ result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS | USE_DGRAM, NULL, NULL);
if (result == NULL)
{
diff --git a/nis/nss_nisplus/nisplus-rpc.c b/nis/nss_nisplus/nisplus-rpc.c
index 5875bbe..711c6bc 100644
--- a/nis/nss_nisplus/nisplus-rpc.c
+++ b/nis/nss_nisplus/nisplus-rpc.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2001, 2002, 2003, 2005, 2006
+/* Copyright (C) 1997, 1998, 2001, 2002, 2003, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
@@ -315,7 +315,8 @@ _nss_nisplus_getrpcbyname_r (const char *name, struct rpcent *rpc,
/* Search at first in the alias list, and use the correct name
for the next search */
snprintf (buf, sizeof (buf), "[name=%s],%s", name, tablename_val);
- nis_result *result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS, NULL, NULL);
+ nis_result *result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS | USE_DGRAM,
+ NULL, NULL);
if (result != NULL)
{
@@ -342,7 +343,8 @@ _nss_nisplus_getrpcbyname_r (const char *name, struct rpcent *rpc,
}
nis_freeresult (result);
- result = nis_list (bufptr, FOLLOW_PATH | FOLLOW_LINKS , NULL, NULL);
+ result = nis_list (bufptr, FOLLOW_PATH | FOLLOW_LINKS | USE_DGRAM,
+ NULL, NULL);
}
if (result == NULL)
@@ -402,7 +404,8 @@ _nss_nisplus_getrpcbynumber_r (const int number, struct rpcent *rpc,
snprintf (buf, sizeof (buf), "[number=%d],%s", number, tablename_val);
- nis_result *result = nis_list (buf, FOLLOW_LINKS | FOLLOW_PATH, NULL, NULL);
+ nis_result *result = nis_list (buf, FOLLOW_LINKS | FOLLOW_PATH | USE_DGRAM,
+ NULL, NULL);
if (result == NULL)
{
diff --git a/nis/nss_nisplus/nisplus-service.c b/nis/nss_nisplus/nisplus-service.c
index 51c1956..607ce80 100644
--- a/nis/nss_nisplus/nisplus-service.c
+++ b/nis/nss_nisplus/nisplus-service.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2005, 2006
+/* Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
@@ -322,7 +322,8 @@ _nss_nisplus_getservbyname_r (const char *name, const char *protocol,
for the next search */
snprintf (buf, sizeof (buf), "[name=%s,proto=%s],%s", name, protocol,
tablename_val);
- nis_result *result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS, NULL, NULL);
+ nis_result *result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS | USE_DGRAM,
+ NULL, NULL);
if (result != NULL)
{
@@ -351,7 +352,8 @@ _nss_nisplus_getservbyname_r (const char *name, const char *protocol,
}
nis_freeresult (result);
- result = nis_list (bufptr, FOLLOW_PATH | FOLLOW_LINKS, NULL, NULL);
+ result = nis_list (bufptr, FOLLOW_PATH | FOLLOW_LINKS | USE_DGRAM,
+ NULL, NULL);
}
if (result == NULL)
@@ -420,7 +422,8 @@ _nss_nisplus_getservbyport_r (const int number, const char *protocol,
snprintf (buf, sizeof (buf), "[port=%d,proto=%s],%s",
number, protocol, tablename_val);
- nis_result *result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS, NULL, NULL);
+ nis_result *result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS | USE_DGRAM,
+ NULL, NULL);
if (result == NULL)
{
diff --git a/nis/nss_nisplus/nisplus-spwd.c b/nis/nss_nisplus/nisplus-spwd.c
index e63e1ee..f256f3e 100644
--- a/nis/nss_nisplus/nisplus-spwd.c
+++ b/nis/nss_nisplus/nisplus-spwd.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997, 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 2001, 2002, 2003, 2005, 2007
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
@@ -182,7 +183,7 @@ _nss_nisplus_getspnam_r (const char *name, struct spwd *sp,
snprintf (buf, sizeof (buf), "[name=%s],%s", name, pwd_tablename_val);
- result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS, NULL, NULL);
+ result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS | USE_DGRAM, NULL, NULL);
if (result == NULL)
{