summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsashan <sashan@openbsd.org>2015-07-18 19:06:37 +0000
committersashan <sashan@openbsd.org>2015-07-18 19:06:37 +0000
commit3f22add75d9f6213154ff5ed09f95b8a81958680 (patch)
tree68cf97697e02578301b2d34830bb4c3c4e906bcf
parentrearrange variable decls a little (diff)
downloadwireguard-openbsd-3f22add75d9f6213154ff5ed09f95b8a81958680.tar.xz
wireguard-openbsd-3f22add75d9f6213154ff5ed09f95b8a81958680.zip
follow up changes on unknown AF handling
- PF should always use unhandled_af() - 0 is lame, AF_UNSPEC is profi ok bluhm@
-rw-r--r--sys/net/pf_table.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/sys/net/pf_table.c b/sys/net/pf_table.c
index 712ff95563e..335d3c59170 100644
--- a/sys/net/pf_table.c
+++ b/sys/net/pf_table.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pf_table.c,v 1.111 2015/07/18 15:19:44 sashan Exp $ */
+/* $OpenBSD: pf_table.c,v 1.112 2015/07/18 19:06:37 sashan Exp $ */
/*
* Copyright (c) 2002 Cedric Berger
@@ -863,8 +863,7 @@ pfr_create_kentry(struct pfr_addr *ad)
break;
#endif /* INET6 */
default:
- pool_put(&pfr_kentry_pl[ad->pfra_type], ke);
- return (NULL);
+ unhandled_af(ad->pfra_af);
}
ke->pfrke_af = ad->pfra_af;
ke->pfrke_net = ad->pfra_net;
@@ -1025,7 +1024,9 @@ pfr_reset_feedback(struct pfr_addr *addr, int size, int flags)
void
pfr_prepare_network(union sockaddr_union *sa, int af, int net)
{
+#ifdef INET6
int i;
+#endif /* INET6 */
bzero(sa, sizeof(*sa));
switch (af) {
@@ -2238,7 +2239,6 @@ pfr_detach_table(struct pfr_ktable *kt)
pfr_setflags_ktable(kt, kt->pfrkt_flags&~PFR_TFLAG_REFERENCED);
}
-/* ARGSUSED */
int
pfr_islinklocal(sa_family_t af, struct pf_addr *addr)
{
@@ -2531,17 +2531,18 @@ pfr_dynaddr_update(struct pfr_ktable *kt, struct pfi_dynaddr *dyn)
dyn->pfid_acnt4 = 0;
dyn->pfid_acnt6 = 0;
switch (dyn->pfid_af) {
- case 0: /* look up all both addresses IPv4 + IPv6 */
+ case AF_UNSPEC: /* look up all both addresses IPv4 + IPv6 */
rn_walktree(kt->pfrkt_ip4, pfr_walktree, &w);
- /* FALLTHROUGH */
-#ifdef INET6
- case AF_INET6:
rn_walktree(kt->pfrkt_ip6, pfr_walktree, &w);
break;
-#endif /* INET6 */
case AF_INET:
rn_walktree(kt->pfrkt_ip4, pfr_walktree, &w);
break;
+#ifdef INET6
+ case AF_INET6:
+ rn_walktree(kt->pfrkt_ip6, pfr_walktree, &w);
+ break;
+#endif /* INET6 */
default:
unhandled_af(dyn->pfid_af);
}