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
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
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 @
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