Re: ipip and ip_gre encapsulation bugs

2006-09-13 Thread David Miller
From: Al Viro <[EMAIL PROTECTED]> Date: Thu, 14 Sep 2006 02:16:37 +0100 > OK, after rereading the RFC... Pointer field is one octet, indeed. > Avoiding all swapping will be tough - icmp_send() takes 32bit argument, > net-endian. Thanks for the fix Al, but did you notice that this code is totally

Re: ipip and ip_gre encapsulation bugs

2006-09-13 Thread Al Viro
340f0fa70ecd09551c8e22447b Mon Sep 17 00:00:00 2001 From: Al Viro <[EMAIL PROTECTED]> Date: Tue, 12 Sep 2006 17:50:58 +0100 Subject: [PATCH] ipip and ip_gre encapsulation bugs Handling of ipip and ip_gre ICMP error relaying is b0rken; it accesses 8bit field + 3 reserved octets as host-endi

Re: ipip and ip_gre encapsulation bugs

2006-09-13 Thread Herbert Xu
Al Viro <[EMAIL PROTECTED]> wrote: > Handling of ipip and ip_gre ICMP error relaying is b0rken; it accesses > 32bit net-endian field as host-endian, does comparison, subtraction and > stuffs the result to 32bit net-endian. Without any conversions. Thanks for spotting this. > @@ -422,14 +423,16 @

ipip and ip_gre encapsulation bugs

2006-09-12 Thread Al Viro
Handling of ipip and ip_gre ICMP error relaying is b0rken; it accesses 32bit net-endian field as host-endian, does comparison, subtraction and stuffs the result to 32bit net-endian. Without any conversions. Fixed, made endian-clean. Signed-off-by: Al Viro <[EMAIL PROTECTED]> diff --git a/n