diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1999-01-04 16:03:48 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1999-01-04 16:03:48 +0000 |
commit | 78c388aed2b7184182c08428db1de6c872d815f5 (patch) | |
tree | 4b2003b1b4ceb241a17faa995da8dd1004bb8e45 /net/ipv6/exthdrs.c | |
parent | eb7a5bf93aaa4be1d7c6181100ab7639e74d67f7 (diff) |
Merge with Linux 2.1.131 and more MIPS goodies.
(Did I mention that CVS is buggy ...)
Diffstat (limited to 'net/ipv6/exthdrs.c')
-rw-r--r-- | net/ipv6/exthdrs.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv6/exthdrs.c b/net/ipv6/exthdrs.c index 89d58936d..8a4f85b6c 100644 --- a/net/ipv6/exthdrs.c +++ b/net/ipv6/exthdrs.c @@ -7,7 +7,7 @@ * Andi Kleen <ak@muc.de> * Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> * - * $Id: exthdrs.c,v 1.7 1998/08/26 12:04:49 davem Exp $ + * $Id: exthdrs.c,v 1.8 1998/10/03 09:38:27 davem Exp $ * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -368,9 +368,7 @@ ipv6_invert_rthdr(struct sock *sk, struct ipv6_rt_hdr *hdr) what it does and calculates authentication data correctly. Certainly, it is possible only for udp and raw sockets, but not for tcp. - BTW I beg pardon, it is not good place for flames, but - I cannot be silent 8) It is very sad, but fools prevail 8) - AUTH header has 4byte granular length, what kills all the idea + AUTH header has 4byte granular length, which kills all the idea behind AUTOMATIC 64bit alignment of IPv6. Now we will loose cpu ticks, checking that sender did not something stupid and opt->hdrlen is even. Shit! --ANK (980730) @@ -383,6 +381,8 @@ static u8 *ipv6_auth_hdr(struct sk_buff **skb_ptr, u8 *nhptr) struct ipv6_opt_hdr *hdr = (struct ipv6_opt_hdr *)skb->h.raw; int len = (hdr->hdrlen+2)<<2; + if (len&7) + return NULL; opt->auth = (u8*)hdr - skb->nh.raw; if (skb->h.raw + len > skb->tail) return NULL; |