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