Index: src/racoon/grabmyaddr.c
===================================================================
RCS file: /cvsroot/ipsec-tools/ipsec-tools/src/racoon/grabmyaddr.c,v
retrieving revision 1.22
diff -u -r1.22 grabmyaddr.c
--- src/racoon/grabmyaddr.c	16 Nov 2004 15:48:19 -0000	1.22
+++ src/racoon/grabmyaddr.c	18 Nov 2004 18:01:52 -0000
@@ -117,7 +117,7 @@
 	return 0;
 }
 
-static void recvaddrs(int fd, struct ifaddrs **ifa, __u32 seq)
+static void recvaddrs(int fd, int family, struct ifaddrs **ifa, __u32 seq)
 {
 	char	buf[8192];
 	struct sockaddr_nl nladdr;
@@ -164,8 +164,7 @@
 
 			m = NLMSG_DATA(h);
 
-			if (m->ifa_family != AF_INET &&
-			    m->ifa_family != AF_INET6)
+			if (m->ifa_family != family)
 				goto skip_it;
 
 			if (m->ifa_flags&IFA_F_TENTATIVE)
@@ -240,13 +239,13 @@
 
 	*ifa0 = NULL;
 
-	recvaddrs(fd, ifa0, seq);
+	recvaddrs(fd, AF_INET, ifa0, seq);
 
 	req.nlh.nlmsg_seq = ++seq;
 	req.g.rtgen_family = AF_INET6;
 
 	if (sendto(fd, (void*)&req, sizeof(req), 0, (struct sockaddr*)&nladdr, sizeof(nladdr)) >= 0)
-		recvaddrs(fd, ifa0, seq);
+		recvaddrs(fd, AF_INET6, ifa0, seq);
 
 	close(fd);
 
