From aab6da93625969d97d35ca546b2d929caa7429bb Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Tue, 13 May 2008 12:33:41 +0000 Subject: [PATCH] IPv6 servers TODO items git-svn-id: file:///svn/unbound/trunk@1078 be551aaa-1e26-0410-a405-d3ace91eadb9 --- doc/Changelog | 4 ++++ doc/TODO | 18 +++++++++++++++++- iterator/iter_hints.c | 18 ++++++++++++++---- 3 files changed, 35 insertions(+), 5 deletions(-) diff --git a/doc/Changelog b/doc/Changelog index 657f13c69..0af3e20f6 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,7 @@ +13 May 2008: Wouter + - Added root ipv6 addresses to builtin root hints. + - TODO modified for post 1.0 plans. + 7 May 2008: Wouter - fixup no-ip4 problem with error callback in outside network. diff --git a/doc/TODO b/doc/TODO index c548f7287..0622656fb 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,4 +1,4 @@ -TODO items. +TODO items. These are interesting todo items. o understand synthesized DNAMEs, so those TTL=0 packets are cached properly. o NSEC/NSEC3 aggressive negative caching, so that updates to NSEC/NSEC3 will result in proper negative responses. @@ -49,3 +49,19 @@ o overhaul outside-network servicedquery to merge with udpwait and tcpwait, to make timers in servicedquery independent of udpwait queues. o 0x20 fallback so it can be enabled without trouble. o check into rebinding ports for efficiency, configure time test. +o DLV is considered. +o EVP hardware crypto support. + +Features soon after 1.0. +o EDNS fallback after timeout (firewall drops all edns traffic problem). + +For 1.x; features that have been requested during the beta test. +o command channel for couple of tasks. Like rndc. + o see delegation; what servers would be used to get data for a name. + o force stats display; easier than parsing logfiles. + stats display added over threads, displayed in rddtool easy format. + o flush names or domains (all under a name) from the cache. Include NSes. + And the A, AAAA for its NSes. + o add/del static preload data to change the domain redirections. + o and maybe also start, stop, reload. + diff --git a/iterator/iter_hints.c b/iterator/iter_hints.c index 50f178688..7e0aca4d6 100644 --- a/iterator/iter_hints.c +++ b/iterator/iter_hints.c @@ -112,7 +112,7 @@ ah(struct delegpt* dp, struct regional* r, const char* sv, const char* ip) /** obtain compiletime provided root hints */ static struct delegpt* -compile_time_root_prime(struct regional* r) +compile_time_root_prime(struct regional* r, int do_ip4, int do_ip6) { /* from: ; This file is made available by InterNIC @@ -121,14 +121,14 @@ compile_time_root_prime(struct regional* r) ; on server FTP.INTERNIC.NET ; -OR- RS.INTERNIC.NET ; - ; last update: Jan 29, 2004 - ; related version of root zone: 2004012900 + ; related version of root zone: 2008051300 */ struct delegpt* dp = delegpt_create(r); if(!dp) return NULL; if(!delegpt_set_name(dp, r, (uint8_t*)"\000")) return NULL; + if(do_ip4) { if(!ah(dp, r, "A.ROOT-SERVERS.NET.", "198.41.0.4")) return 0; if(!ah(dp, r, "B.ROOT-SERVERS.NET.", "192.228.79.201")) return 0; if(!ah(dp, r, "C.ROOT-SERVERS.NET.", "192.33.4.12")) return 0; @@ -142,6 +142,15 @@ compile_time_root_prime(struct regional* r) if(!ah(dp, r, "K.ROOT-SERVERS.NET.", "193.0.14.129")) return 0; if(!ah(dp, r, "L.ROOT-SERVERS.NET.", "199.7.83.42")) return 0; if(!ah(dp, r, "M.ROOT-SERVERS.NET.", "202.12.27.33")) return 0; + } + if(do_ip6) { + if(!ah(dp, r, "A.ROOT-SERVERS.NET.", "2001:503:ba3e::2:30")) return 0; + if(!ah(dp, r, "F.ROOT-SERVERS.NET.", "2001:500:2f::f")) return 0; + if(!ah(dp, r, "H.ROOT-SERVERS.NET.", "2001:500:1::803f:235")) return 0; + if(!ah(dp, r, "J.ROOT-SERVERS.NET.", "2001:503:c27::2:30")) return 0; + if(!ah(dp, r, "K.ROOT-SERVERS.NET.", "2001:7fd::1")) return 0; + if(!ah(dp, r, "M.ROOT-SERVERS.NET.", "2001:dc3::35")) return 0; + } return dp; } @@ -433,7 +442,8 @@ hints_apply_cfg(struct iter_hints* hints, struct config_file* cfg) /* use fallback compiletime root hints */ if(!hints_lookup_root(hints, LDNS_RR_CLASS_IN)) { - struct delegpt* dp = compile_time_root_prime(hints->region); + struct delegpt* dp = compile_time_root_prime(hints->region, + cfg->do_ip4, cfg->do_ip6); verbose(VERB_ALGO, "no config, using builtin root hints."); if(!dp) return 0; -- 2.47.2