ah6.c (7483d45f0aee3afc0646d185cabd4af9f6cab58c) | ah6.c (e87cc4728f0e2fb663e592a1141742b1d6c63256) |
---|---|
1/* 2 * Copyright (C)2002 USAGI/WIDE Project 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * --- 175 unchanged lines hidden (view full) --- 184 * See 11.3.2 of RFC 3775 for details. 185 */ 186 if (opt[off] == IPV6_TLV_HAO) { 187 struct in6_addr final_addr; 188 struct ipv6_destopt_hao *hao; 189 190 hao = (struct ipv6_destopt_hao *)&opt[off]; 191 if (hao->length != sizeof(hao->addr)) { | 1/* 2 * Copyright (C)2002 USAGI/WIDE Project 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * --- 175 unchanged lines hidden (view full) --- 184 * See 11.3.2 of RFC 3775 for details. 185 */ 186 if (opt[off] == IPV6_TLV_HAO) { 187 struct in6_addr final_addr; 188 struct ipv6_destopt_hao *hao; 189 190 hao = (struct ipv6_destopt_hao *)&opt[off]; 191 if (hao->length != sizeof(hao->addr)) { |
192 if (net_ratelimit()) 193 printk(KERN_WARNING "destopt hao: invalid header length: %u\n", hao->length); | 192 net_warn_ratelimited("destopt hao: invalid header length: %u\n", 193 hao->length); |
194 goto bad; 195 } 196 final_addr = hao->addr; 197 hao->addr = iph->saddr; 198 iph->saddr = final_addr; 199 } 200 break; 201 } --- 556 unchanged lines hidden --- | 194 goto bad; 195 } 196 final_addr = hao->addr; 197 hao->addr = iph->saddr; 198 iph->saddr = final_addr; 199 } 200 break; 201 } --- 556 unchanged lines hidden --- |