fx
[oweals/gnunet.git] / TODO
diff --git a/TODO b/TODO
index 504c70b2742b22c37b1b58c389309b441b536223..fe360637f748881280721425d9d9f8419eb51221 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,43 +1,39 @@
 0.9.0pre3:
-* FS [CG]
-  - fix large memory leak
-  - perf_gnunet_service_fs_p2p_trust causes fs service to segfault
-  - download of 100 MB file from 'leach' peer hung due to 
-    failure of core-api to call back after a change preference request
-    (structs indicate request was transmitted but reply never received?)
-    => try again!
-  - test_gnunet_service_fs_p2p:
-    => sometimes DATASTORE get operation fails to queue on target (why?)
-    => do we need to just make the queue larger?
-  - with core queue size of 1, we get notify_transmit_ready
-    from core API returning NULL (why? ok? just have larger queue?)
-  - other runs (-L DEBUG) with downloads using the new 'trust' test show
-    non-deterministic results (for any set of peers)
-  - implement 'SUPPORT_DELAYS'
+* connections fail if transport-plugin/nat produces 
+  some addresses that don't work (enable 'use_localaddr' with bindto for example,
+  so that some of the 'local' IPs do not work due to the bindto);  the result
+  seems to be that the plugin tries some of the broken addresses, fails and the
+  transport-level connection never comes up.
+* Mantis:
+  - 1694 --- try to reproduce (non-deterministic, w. testcase, need core/valgrind)
+  - 1724 --- try to reproduce
+  - 1725 --- try to reproduce (non-deterministic, w. testcase, need core)
+  - 1728 --- investigate 
+  - 1736 --- investigate
+  - 1737 --- investigate
+* clean buildbots
 
-0.9.0:
-* new webpage:
-  - write chapter on DHT/block [Nate] 
-  - make a NICE download page 
+0.9.0pre4:
+* NAT library: [CG/MW]
+  - make code used by gnunet-setup asynchronous, add timeout (external-ip can hang!)
 * Transport:
-  - UDP fragmentation [MW]
-* NAT/UPNP: [MW]
-  - [#1609] code clean up
-  - testing
-  - integration with transport service:
-    + test TCP
-    + implement UDP, HTTP/HTTPS 
+  - integration of new NAT/plugin API with HTTP/HTTPS plugin
+  - testing (again)
 * GNUNET-GTK: [CG]
   - figure out where in the GUI we should show active upload operations and allow aborts
   - handle events:
     + search error
     + publish error
 * FS [CG]
-  - consider re-issue GSF_dht_lookup_ after non-DHT reply received 
   - implement multi-peer FS performance tests + gauger them!
     + insert
     + download
     + search
+
+0.9.0:
+* new webpage:
+  - write chapter on DHT/block [Nate] 
+  - make a NICE download page 
 * big code review
 * Determine RC bugs and fix those  (release should have no known real bugs)
 
     queue of size > 2), might be better to have at MOST one message pending
     per plugin/target and only send the next one after the continuation was
     called (or use 'notify_transmit_ready-style API?)
-  - WiFi transport backend [DB]
-  - Implement method of learning our external addresses from
-    other peers; need some kind of threshold-based
-    scheme, limiting both the total number of addresses that we accept 
-    this way as well as requiring multiple confirmations; also, we
-    should possibly try to confirm that the given address works for
-    us ourselves (loopback-style) before adding it to the list
-    + we may be able to simplify WELCOME messages (no need to add 
-      addresses there anymore, but may help to learn them there anyway...).
-    + we probably want some kind of voting/counting for learning IP addresses
-      (maybe including IP addresses in ads proportional to how often others
-       report them? we at least need some protection against >64k HELLOs!),
-    + provide a way to give the user a list of "learned" IP addresses and
-      a way to easily "veto" addresses off the list!
-      => If MiM attacker uses vetoed address, blacklist the specific IP for
-         the presumed neighbour!
-  - need to periodically probe latency/transport cost changes & possibly switch transport
+  - WLAN transport backend [DB]
+  - need to periodically probe latency/transport cost changes & possibly switch transport 
+    (working ATS)
 * DATASTORE: [CG]
   - check indexes / SQL for performance
 * DV: 
   - better tracking of which config changes actually need to cause process restarts by ARM.
   - handle gnunet-arm -k in combination with auto-start magic (what is the right thing here?)
   - discover dependencies between services
-* MONKEY: [Safey]
-  - better crash management (attach debugging support, capture and analyze
-    debug output, detect random vs. deterministic crashes)
-  - '-m EMAIL' option for alternative e-mail TO
-  - '-f FILENAME' option to write  report to file instead of e-mail (for testing!)
 
 0.9.2:
 * PEERINFO: [NN]
     we have not 'used' (for their public keys) in a while; need a way
     to track actual 'use')
   - make sue we also trigger notifications whenever HELLOs expire
-* TCP:
+* NAT:
   - repeatedly resolve hostname and look up interfaces to determine our own IP
-  - [./transport/plugin_transport_tcp.c:391]: (style) struct or union member 'Plugin::address_update_task' is never used (related to issue above)
-* TRANSPORT:
-  - [./transport/gnunet-service-transport.c:173]: (style) struct or union member 'TransportPlugin::rebuild' is never used (related to TCP not refreshing external addresses?)
-  - WiFi transport backend
-    * nice signal strength adjustment [MW]
-    * energy cost in ATS [MW]
+* WLAN:
+  - nice signal strength adjustment [MW]
+  - energy cost in ATS [MW]
 * BLOCKS:
   - testcase would be nice
 * STATISTICS:
   - improved batching
   - resource limit integration with ATS
 * VPN 
-  - TCP entry/exit
-  - internal services
-  - "DNS" .gnunet
+  - "DNS" .gnunet [MW]
 * MESH:
   - optimized routes (beyond DHT/DV)