summaryrefslogtreecommitdiff
path: root/sunrpc
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-09-30 02:24:51 +0000
committerUlrich Drepper <drepper@redhat.com>2004-09-30 02:24:51 +0000
commitf7e7a396812f5e6a6ec49ad84204d334630964a0 (patch)
treed1a47d6911b5992497cc8aa30d392e7c0f175e12 /sunrpc
parent04c785b27fd35c740cc9b759b324adb8d6ab9747 (diff)
Update.
* grp/initgroups.c: Move compat_call implementation... * grp/compat-initgroups.c: ...to here. New file. * grp/Makefile (distribute): Add compat-initgroups.c. (CFLAGS-initgroups.c): Add -DUSE_NSCD=1. * mscd/initgrcache.c: New file. * nscd/nscd_initgroups.c: New file. * nscd/Makefile (routines): Add nscd_initgroups. (nscd-modules): Add initgrcache. * nscd/cache.c (prune_cache): Add support for INITGROUPS entries. * nscd/connections.c: Handle INITGROUPS requests. * nscd/nscd-client.h: Define INITGROUPS, initgr_response_header. Add initgrdata element to struct datahead. Fix typo in comment. * nscd/nscd_proto.h: Declare __nscd_getgrouplist. Fix parameter type in __nscd_getgrgrid_r. * nscd/selinux.c (perms): Add INITGROUPS entry. * nscd/nscd_getai.c: No need to include <sys/mman.h>. * sunrpc/get_myaddr.c (get_myaddress): Account for interfaces without assigned addresses. * sunrpc/pmap_clnt.c (__get_myaddress): Likewise. * sunrpc/pmap_rmt.c (getbroadcastnets): Likewise. * sunrpc/clnt_udp.c (is_network_up): Likewise.
Diffstat (limited to 'sunrpc')
-rw-r--r--sunrpc/clnt_udp.c1
-rw-r--r--sunrpc/get_myaddr.c4
-rw-r--r--sunrpc/pmap_clnt.c4
-rw-r--r--sunrpc/pmap_rmt.c1
4 files changed, 8 insertions, 2 deletions
diff --git a/sunrpc/clnt_udp.c b/sunrpc/clnt_udp.c
index 1836ff3433..f3787dd1a5 100644
--- a/sunrpc/clnt_udp.c
+++ b/sunrpc/clnt_udp.c
@@ -244,6 +244,7 @@ is_network_up (int sock)
while (run != NULL)
{
if ((run->ifa_flags & IFF_UP) != 0
+ && run->ifa_addr != NULL
&& run->ifa_addr->sa_family == AF_INET)
break;
diff --git a/sunrpc/get_myaddr.c b/sunrpc/get_myaddr.c
index c0beee9c59..4449c53c06 100644
--- a/sunrpc/get_myaddr.c
+++ b/sunrpc/get_myaddr.c
@@ -76,7 +76,9 @@ get_myaddress (struct sockaddr_in *addr)
run = ifa;
while (run != NULL)
{
- if ((run->ifa_flags & IFF_UP) && run->ifa_addr->sa_family == AF_INET
+ if ((run->ifa_flags & IFF_UP)
+ && run->ifa_addr != NULL
+ && run->ifa_addr->sa_family == AF_INET
&& (!(run->ifa_flags & IFF_LOOPBACK)
|| (loopback == 1 && (run->ifa_flags & IFF_LOOPBACK))))
{
diff --git a/sunrpc/pmap_clnt.c b/sunrpc/pmap_clnt.c
index aa5740c8a0..3e42960893 100644
--- a/sunrpc/pmap_clnt.c
+++ b/sunrpc/pmap_clnt.c
@@ -70,7 +70,9 @@ __get_myaddress (struct sockaddr_in *addr)
run = ifa;
while (run != NULL)
{
- if ((run->ifa_flags & IFF_UP) && run->ifa_addr->sa_family == AF_INET
+ if ((run->ifa_flags & IFF_UP)
+ && run->ifa_addr != NULL
+ && run->ifa_addr->sa_family == AF_INET
&& ((run->ifa_flags & IFF_LOOPBACK) || loopback == 0))
{
*addr = *((struct sockaddr_in *) run->ifa_addr);
diff --git a/sunrpc/pmap_rmt.c b/sunrpc/pmap_rmt.c
index 4ff707ad15..644d503a1f 100644
--- a/sunrpc/pmap_rmt.c
+++ b/sunrpc/pmap_rmt.c
@@ -191,6 +191,7 @@ getbroadcastnets (struct in_addr *addrs, int naddrs)
{
if ((run->ifa_flags & IFF_BROADCAST) != 0
&& (run->ifa_flags & IFF_UP) != 0
+ && run->ifa_addr != NULL
&& run->ifa_addr->sa_family == AF_INET)
/* Copy the broadcast address. */
addrs[i++] = ((struct sockaddr_in *) run->ifa_broadaddr)->sin_addr;