Module Name: src Committed By: martin Date: Fri Jan 31 11:01:38 UTC 2020
Modified Files: src/sys/netipsec [netbsd-8]: ipsecif.c Log Message: Pull up following revision(s) (requested by knakahara in ticket #1497): sys/netipsec/ipsecif.c: revision 1.19 Fix IPv6 over IPv4 ipsecif(4) uses IPv4 SP wrongly. Pointed out by ohishi@IIJ. XXX pullup-8, pullup-9 To generate a diff of this commit: cvs rdiff -u -r1.1.2.9 -r1.1.2.10 src/sys/netipsec/ipsecif.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/netipsec/ipsecif.c diff -u src/sys/netipsec/ipsecif.c:1.1.2.9 src/sys/netipsec/ipsecif.c:1.1.2.10 --- src/sys/netipsec/ipsecif.c:1.1.2.9 Tue Sep 24 18:27:09 2019 +++ src/sys/netipsec/ipsecif.c Fri Jan 31 11:01:38 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: ipsecif.c,v 1.1.2.9 2019/09/24 18:27:09 martin Exp $ */ +/* $NetBSD: ipsecif.c,v 1.1.2.10 2020/01/31 11:01:38 martin Exp $ */ /* * Copyright (c) 2017 Internet Initiative Japan Inc. @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ipsecif.c,v 1.1.2.9 2019/09/24 18:27:09 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ipsecif.c,v 1.1.2.10 2020/01/31 11:01:38 martin Exp $"); #ifdef _KERNEL_OPT #include "opt_inet.h" @@ -382,7 +382,17 @@ ipsecif4_output(struct ipsec_variant *va KASSERT(var->iv_psrc->sa_family == AF_INET); KASSERT(var->iv_pdst->sa_family == AF_INET); - sp = IV_SP_OUT(var); + switch (family) { + case AF_INET: + sp = IV_SP_OUT(var); + break; + case AF_INET6: + sp = IV_SP_OUT6(var); + break; + default: + m_freem(m); + return EAFNOSUPPORT; + } KASSERT(sp != NULL); /* * The SPs in ipsec_variant are prevented from freed by