netdev
[Top] [All Lists]

Re: IPsecv6 integrity failures not dropped

To: latten@xxxxxxxxxxxxxx
Subject: Re: IPsecv6 integrity failures not dropped
From: YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@xxxxxxxxxx>
Date: Sat, 19 Apr 2003 11:50:53 +0900 (JST)
Cc: davem@xxxxxxxxxx, kuznet@xxxxxxxxxxxxx, netdev@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
In-reply-to: <200304182017.h3IKH4ng019821@xxxxxxxxxxxxxxxxxxxx>
References: <200304182017.h3IKH4ng019821@xxxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
In article <200304182017.h3IKH4ng019821@xxxxxxxxxxxxxxxxxxxx> (at Fri, 18 Apr 
2003 15:17:04 -0500), latten@xxxxxxxxxxxxxx says:

> incoming packet fails, result is an ICMPv6 Parameter problem 
> of Unknown-Next-Header, instead of just dropping packet. This 
> is because xfrm6_rcv() expects an unsigned-8-bit return value 
> from the input handler, i.e. ah6_input() or esp6_input(). But handler 
> returns a signed int (-EINVAL) that seems to be getting converted into 
> a "u8" via 2's complement, because ah6_input() says it is returning
> -EINVAL/-22, but xfrm6_rcv() says it got a return value of 234,
> which it believes to be valid and passes to ip6_input() who thinks it is 
> the next header.  
> 
> I modified ah6_input() and esp6_input() to return zero instead of -EINVAL
> in the fix below. I tested it and it works.

just change u8 nexthdr = 0 to int nexthdr = 0, in xfrm6_rcv() is fine, 
isn't it?

-- 
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@xxxxxxxxxxxxxx>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA

<Prev in Thread] Current Thread [Next in Thread>