diff options
| author | 2015-11-30 20:58:08 +0000 | |
|---|---|---|
| committer | 2015-11-30 20:58:08 +0000 | |
| commit | 003953da8ce63b8b2635819c0a77e1c32c36c78b (patch) | |
| tree | 0c90fdc129c7e8ab4b39a89449d8cdab73fc4da3 | |
| parent | Remove the already disabled Router Renumbering support (RFC2894). (diff) | |
| download | wireguard-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.c | 15 | ||||
| -rw-r--r-- | usr.sbin/rtadvd/if.h | 4 | ||||
| -rw-r--r-- | usr.sbin/rtadvd/rtadvd.c | 4 |
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) | |
