Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/netinet drop packet if IPv6 udp packet does not have che...
details: https://anonhg.NetBSD.org/src/rev/9b9e0f74ceca
branches: trunk
changeset: 565163:9b9e0f74ceca
user: itojun <itojun%NetBSD.org@localhost>
date: Wed Mar 31 07:54:00 2004 +0000
description:
drop packet if IPv6 udp packet does not have checksum (checksum is mandatory
in IPv6).
diffstat:
sys/netinet/udp_usrreq.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diffs (31 lines):
diff -r e978978c500d -r 9b9e0f74ceca sys/netinet/udp_usrreq.c
--- a/sys/netinet/udp_usrreq.c Wed Mar 31 07:52:43 2004 +0000
+++ b/sys/netinet/udp_usrreq.c Wed Mar 31 07:54:00 2004 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: udp_usrreq.c,v 1.116 2004/03/24 15:34:54 atatat Exp $ */
+/* $NetBSD: udp_usrreq.c,v 1.117 2004/03/31 07:54:00 itojun Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: udp_usrreq.c,v 1.116 2004/03/24 15:34:54 atatat Exp $");
+__KERNEL_RCSID(0, "$NetBSD: udp_usrreq.c,v 1.117 2004/03/31 07:54:00 itojun Exp $");
#include "opt_inet.h"
#include "opt_ipsec.h"
@@ -430,9 +430,10 @@
/*
* Checksum extended UDP header and data.
*/
- if (uh->uh_sum == 0)
+ if (uh->uh_sum == 0) {
udp6stat.udp6s_nosum++;
- else if (in6_cksum(m, IPPROTO_UDP, off, ulen) != 0) {
+ goto bad;
+ } else if (in6_cksum(m, IPPROTO_UDP, off, ulen) != 0) {
udp6stat.udp6s_badsum++;
goto bad;
}
Home |
Main Index |
Thread Index |
Old Index