From d0060e633a63bc6e9831539430053060d0c25466 Mon Sep 17 00:00:00 2001 From: sven-ola Date: Sun, 17 Oct 2010 07:46:54 +0000 Subject: todo git-svn-id: https://map66.svn.sourceforge.net/svnroot/map66@51 3484d885-4da6-438d-b19d-107d078dd756 --- TODO | 28 +++++----------------------- ip6t_MAP66.c | 2 +- 2 files changed, 6 insertions(+), 24 deletions(-) diff --git a/TODO b/TODO index b26d071..af06487 100644 --- a/TODO +++ b/TODO @@ -1,18 +1,15 @@ -Idea to think about: --salt 3b5b91c5a2 XOR client addresses for some more privacy +* Idea to think about: --salt 3b5b91c5a2 XOR client addresses for some more privacy the salt can be added e.g. when restarting router/iptables or may be generated for a particular host once. Purpose: hide MAC addresses behind the address mapping gateway -Check compat with tcpdump. Linux2.4 needs to copy skb() for that, but it oopses +* one map16 function for all cases? -Update csum, see http://www.faqs.org/rfcs/rfc1624.html for these -protos (see http://www.firstpr.com.au/ip/ivip/checksums/ ): +* Implment bit-offset for arbitrary prefix length -IPPROTO_TCP, IPPROTO_UDP, IPPROTO_DCCP, IPPROTO_AH?, IPPROTO_ICMPV6, IPPROTO_UDPLITE -break NEXTHDR_NONE +* Check compat with tcpdump. Linux2.4 needs to copy skb() for that -> oops -Evnt mit ipv6_gso_pull_exthdrs() oder ipv6_find_hdr() oder nf_ct_ipv6_skip_exthdr() -Evnt linux-2.4: mit ipv6_skip_exthdr() +* Check ipv6_skip_exthdr(). Correct handling of skb.len? Otherwise do this: unsigned int ptr = skb_network_offset(skb) + sizeof(struct ipv6hdr); u_int8_t c = ipv6hdr.nexthdr; @@ -36,18 +33,3 @@ while (c != NEXTHDR_NONE && ip6t_ext_hdr(currenthdr)) { c = hp->nexthdr; ptr += hdrlen; } - -gai.conf ip ranges: -::1/128 0 (localhost) -::/0 1 (?all IPv6, including global unicast?) -2002::/16 2 (6to4) -::/96 3 (ipv4 compat, deprecated) -::ffff:0:0/96 4 (ipv4 mapped) -fec0::/10 5 (ubuntu, site local unicast, deprecated) -fc00::/7 6 (ubuntu, unique local unicast) -2001:0::/32 7 (ubuntu, teredo) - -2000::/3 (global unicast) -2001::/16 (for ISPs) -2001:db8::/32 (doku) -3ffe::/16 (6bone) diff --git a/ip6t_MAP66.c b/ip6t_MAP66.c index 8a2e70b..ea04c7d 100644 --- a/ip6t_MAP66.c +++ b/ip6t_MAP66.c @@ -55,7 +55,7 @@ static void map16( memcpy(addr, to, sizeof(u_int16_t) * len_to); } -/* Perform mapping with csum update */ +/* Perform mapping with csum update, see RFC 1624 */ static void map_csum( struct in6_addr* addr, const struct in6_addr* to, -- cgit v1.2.3