From: Wouter Wijngaards Date: Fri, 27 Jul 2007 12:18:58 +0000 (+0000) Subject: Updated planning. X-Git-Tag: release-0.4~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5f9edd6ca6238a594d476caa1fd03036990110ce;p=thirdparty%2Funbound.git Updated planning. git-svn-id: file:///svn/unbound/trunk@462 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/doc/Changelog b/doc/Changelog index 087d87938..7f46e2996 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -2,6 +2,7 @@ - removed useless -C debug option. It did not work. - text edit of documentation. - added doc/CREDITS file, referred to by the manpages. + - updated planning. 26 July 2007: Wouter - cycle detection, for query state dependencies. Will attempt to diff --git a/doc/plan b/doc/plan index 7a90a1705..be32f3ffa 100644 --- a/doc/plan +++ b/doc/plan @@ -29,14 +29,23 @@ Roughly the boxes are as follows: This stage takes longer, due to complexity in the iterator module. Twice as long; one box for module layout, one box for iterator module. 0.5 Validator - validator module. -0.6 Bigger and better - good syslog, compressed packets, port ranges, - config file format with config checker. +0.6 Bigger and better - Operational useful features (config, log, memory) 0.7 Local zones feature - localzones stubzones fwdzones, no leak rfc1918. + views support; for selective recursive service. 0.8 Library use - resolver validator lib (and test apps) 0.9 Corner cases - be able to resolve in the wild. Run fuzzers. Run as many tests as we can think of. + Go through logs and check for long, unresolved cases + Use profiler. 0.10 Beta release. Run shadow for a resolver in production for several weeks. +0.11 Features features + aggressive negative caching for NSEC, NSEC3. + multiple queries per question, server exploration, server selection. + option to use real entropy for randomness (mix it in once in a while). + check query, option to enforce qdsection checking (forgery-resilience). + NSID support. + Be able to prime roots using several queries (only NS on first). For boxes 0.5-1.0 the planning is to be revised, at the 0.5 stage external coders are welcome. Since the project is bigger, there is room for them. @@ -115,7 +124,7 @@ Styleguide: * Speed test of caching forwarder. *** Basic Resolver -* Create module interfacce and module caller algorithm. +* Create module interface and module caller algorithm. * Daemon config to use modules. Test the module caller. * Create basic iterator and scrubber modules. * Test every state of the iterator by passing test data into @@ -134,19 +143,17 @@ Styleguide: * Speed test. *** Bigger and Better -* DNS packet compression of output. - * test packet compression (that it compresses.) - * config option to compress yes/no - * speed test with and without compression. * Config file syntax checker program. Tests on checker. -* Use a huge number of random outgoing ports. * Logging first class feature with config options. +* donotqueryaddresses with trie for blocking entire netblocks. +* Memory overhaul, special allocators for hashtable caches, and mesh qstates. *** Local zones feature. * Build in local zone features. First the total stop for1912. * Then 'local content' for minimal serving of localhost.localdomain, and so on. * Remember jakob's diagram. + * views support, selective recursive service * Forward-local-zone to NSD. - include in package, autoforkexec on localhost to do so. * forward local zone to remote server. @@ -169,6 +176,26 @@ Styleguide: * Try to setup corner cases of (mis)configured DNS service/websites. * Resolve msoft, google, yahoo, etc weird websites. * Try to resolve many many different queries, perhaps compared with bind. +* create module testers, specific for the modules + * read a file with cache contents and settings, provide fake + environment for module-handle-state-X functions, then check + resulting module state structure to correct answer. + +*** Beta release. +* Run shadow for a resolver in production for several weeks. +* Check logs for errors, long queries. +* Run in valgrind, speed profiling (as production shadow). + +*** Features features +* aggressive negative caching for NSEC, NSEC3. +* multiple queries per question, server exploration, server selection. +* option to use real entropy for randomness (mix it in once in a while). +* check query, enforce qdsection, checking for forgery-resilience. +* NSID support. +* support TSIG on queries, for validating resolver deployment. +* Be able to prime roots using several queries (like, get only NS first). +* Nicer statistics + treeshrew/ validator/ *.c *.h