summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjca <jca@openbsd.org>2015-11-30 20:58:08 +0000
committerjca <jca@openbsd.org>2015-11-30 20:58:08 +0000
commit003953da8ce63b8b2635819c0a77e1c32c36c78b (patch)
tree0c90fdc129c7e8ab4b39a89449d8cdab73fc4da3
parentRemove the already disabled Router Renumbering support (RFC2894). (diff)
downloadwireguard-openbsd-003953da8ce63b8b2635819c0a77e1c32c36c78b.tar.xz
wireguard-openbsd-003953da8ce63b8b2635819c0a77e1c32c36c78b.zip
Clean up get_next_msg(): kill dead argument/code
The "ifindex" argument has always been zero, making the interface index checks within get_next_msg() useless. The caller already properly retrieves and handle the interface index of the routing messages. ok florian@
-rw-r--r--usr.sbin/rtadvd/if.c15
-rw-r--r--usr.sbin/rtadvd/if.h4
-rw-r--r--usr.sbin/rtadvd/rtadvd.c4
3 files changed, 7 insertions, 16 deletions
diff --git a/usr.sbin/rtadvd/if.c b/usr.sbin/rtadvd/if.c
index 9df747187a1..9c8ef9b8ab4 100644
--- a/usr.sbin/rtadvd/if.c
+++ b/usr.sbin/rtadvd/if.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if.c,v 1.31 2015/11/30 12:44:36 jca Exp $ */
+/* $OpenBSD: if.c,v 1.32 2015/11/30 20:58:08 jca Exp $ */
/* $KAME: if.c,v 1.17 2001/01/21 15:27:30 itojun Exp $ */
/*
@@ -214,13 +214,12 @@ lladdropt_fill(struct sockaddr_dl *sdl, struct nd_opt_hdr *ndopt)
#define FILTER_MATCH(type, filter) ((0x1 << type) & filter)
#define SIN6(s) ((struct sockaddr_in6 *)(s))
-#define SDL(s) ((struct sockaddr_dl *)(s))
char *
-get_next_msg(char *buf, char *lim, int ifindex, size_t *lenp, int filter)
+get_next_msg(char *buf, char *lim, size_t *lenp, int filter)
{
struct rt_msghdr *rtm;
struct ifa_msghdr *ifam;
- struct sockaddr *sa, *dst, *gw, *ifa, *rti_info[RTAX_MAX];
+ struct sockaddr *sa, *dst, *ifa, *rti_info[RTAX_MAX];
*lenp = 0;
for (rtm = (struct rt_msghdr *)buf;
@@ -255,12 +254,6 @@ get_next_msg(char *buf, char *lim, int ifindex, size_t *lenp, int filter)
IN6_IS_ADDR_MULTICAST(&SIN6(dst)->sin6_addr))
continue;
- if ((gw = rti_info[RTAX_GATEWAY]) == NULL ||
- gw->sa_family != AF_INET6)
- continue;
- if (ifindex && SDL(gw)->sdl_index != ifindex)
- continue;
-
if (rti_info[RTAX_NETMASK] == NULL)
continue;
@@ -271,8 +264,6 @@ get_next_msg(char *buf, char *lim, int ifindex, size_t *lenp, int filter)
case RTM_NEWADDR:
case RTM_DELADDR:
ifam = (struct ifa_msghdr *)rtm;
- if (ifindex && ifam->ifam_index != ifindex)
- continue;
/* address related checks */
sa = (struct sockaddr *)((char *)rtm + rtm->rtm_hdrlen);
diff --git a/usr.sbin/rtadvd/if.h b/usr.sbin/rtadvd/if.h
index 889fd1f299e..b63ef5d934b 100644
--- a/usr.sbin/rtadvd/if.h
+++ b/usr.sbin/rtadvd/if.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: if.h,v 1.9 2010/05/21 13:41:23 chl Exp $ */
+/* $OpenBSD: if.h,v 1.10 2015/11/30 20:58:08 jca Exp $ */
/* $KAME: if.h,v 1.6 2001/01/21 15:37:14 itojun Exp $ */
/*
@@ -42,7 +42,7 @@ int if_getmtu(char *);
int if_getflags(int, int);
int lladdropt_length(struct sockaddr_dl *);
void lladdropt_fill(struct sockaddr_dl *, struct nd_opt_hdr *);
-char *get_next_msg(char *, char *, int, size_t *, int);
+char *get_next_msg(char *, char *, size_t *, int);
struct in6_addr *get_addr(char *);
int get_rtm_ifindex(char *);
int get_ifm_ifindex(char *);
diff --git a/usr.sbin/rtadvd/rtadvd.c b/usr.sbin/rtadvd/rtadvd.c
index 91f259409a6..713557a2226 100644
--- a/usr.sbin/rtadvd/rtadvd.c
+++ b/usr.sbin/rtadvd/rtadvd.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rtadvd.c,v 1.59 2015/11/30 20:52:28 jca Exp $ */
+/* $OpenBSD: rtadvd.c,v 1.60 2015/11/30 20:58:08 jca Exp $ */
/* $KAME: rtadvd.c,v 1.66 2002/05/29 14:18:36 itojun Exp $ */
/*
@@ -348,7 +348,7 @@ rtmsg_input(void)
for (next = msg; next < lim; next += len) {
int oldifflags;
- next = get_next_msg(next, lim, 0, &len,
+ next = get_next_msg(next, lim, &len,
RTADV_TYPE2BITMASK(RTM_ADD) |
RTADV_TYPE2BITMASK(RTM_DELETE) |
RTADV_TYPE2BITMASK(RTM_NEWADDR) |