Done means to stop processing the protocol loop, but IP proto none
authorbluhm <bluhm@openbsd.org>
Thu, 1 Feb 2018 21:18:12 +0000 (21:18 +0000)
committerbluhm <bluhm@openbsd.org>
Thu, 1 Feb 2018 21:18:12 +0000 (21:18 +0000)
is protocol 58.  Fix typo in ip6_etherip_input() to properly discard
EtherIP tunnel IPv6 packets if the feature is disabled.
found by Maxime Villard; with markus@; OK patrick@ deraadt@ millert@ jca@

sys/net/if_etherip.c

index c304fcd..aebcb2d 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: if_etherip.c,v 1.30 2018/01/22 09:06:22 mpi Exp $     */
+/*     $OpenBSD: if_etherip.c,v 1.31 2018/02/01 21:18:12 bluhm Exp $   */
 /*
  * Copyright (c) 2015 Kazuya GODA <goda@openbsd.org>
  *
@@ -571,7 +571,7 @@ ip6_etherip_input(struct mbuf **mp, int *offp, int proto, int af)
        if (!etherip_allow && (m->m_flags & (M_AUTH|M_CONF)) == 0) {
                m_freem(m);
                etheripstat_inc(etherips_pdrops);
-               return IPPROTO_NONE;
+               return IPPROTO_DONE;
        }
 
        ip6 = mtod(m, const struct ip6_hdr *);