Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2017a72c070033830b460d31cd4703f9d2ec0d56
Commit:     2017a72c070033830b460d31cd4703f9d2ec0d56
Parent:     a4e65d36a959005f14142535b58c44cd0f1de8cb
Author:     Thomas Graf <[EMAIL PROTECTED]>
AuthorDate: Mon Dec 10 16:53:05 2007 -0800
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Tue Dec 11 02:45:26 2007 -0800

    [IPv4] ESP: Discard dummy packets introduced in rfc4303
    
    RFC4303 introduces dummy packets with a nexthdr value of 59
    to implement traffic confidentiality. Such packets need to
    be dropped silently and the payload may not be attempted to
    be parsed as it consists of random chunk.
    
    Signed-off-by: Thomas Graf <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 net/ipv4/esp4.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c
index c31bccb..1738113 100644
--- a/net/ipv4/esp4.c
+++ b/net/ipv4/esp4.c
@@ -9,6 +9,7 @@
 #include <linux/pfkeyv2.h>
 #include <linux/random.h>
 #include <linux/spinlock.h>
+#include <linux/in6.h>
 #include <net/icmp.h>
 #include <net/protocol.h>
 #include <net/udp.h>
@@ -224,6 +225,10 @@ static int esp_input(struct xfrm_state *x, struct sk_buff 
*skb)
 
        /* ... check padding bits here. Silly. :-) */
 
+       /* RFC4303: Drop dummy packets without any error */
+       if (nexthdr[1] == IPPROTO_NONE)
+               goto out;
+
        iph = ip_hdr(skb);
        ihl = iph->ihl * 4;
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to