option to not do DNS lookup of hostname
[oweals/gnunet.git] / TODO
1 0.9.0pre3:
2 * connections fail if transport-plugin/nat produces 
3   some addresses that don't work (enable 'use_localaddr' with bindto for example,
4   so that some of the 'local' IPs do not work due to the bindto);  the result
5   seems to be that the plugin tries some of the broken addresses, fails and the
6   transport-level connection never comes up.
7 * topology [connect error], fs [connect errors?], dht [cfg error?], core [non-deterministic]
8 * clean buildbots
9
10 0.9.0pre4:
11 * NAT library: [CG/MW]
12   - UPnP support
13   - testcase
14   - more testing
15 * Transport:
16   - UDP fragmentation [MW]
17   - decide how to deal with 'DISABLEV6' option (where does it live?)
18   - integration of new NAT/plugin API with HTTP/HTTPS plugin
19   - testing (again)
20 * GNUNET-GTK: [CG]
21   - figure out where in the GUI we should show active upload operations and allow aborts
22   - handle events:
23     + search error
24     + publish error
25 * FS [CG]
26   - implement multi-peer FS performance tests + gauger them!
27     + insert
28     + download
29     + search
30
31 0.9.0:
32 * new webpage:
33   - write chapter on DHT/block [Nate] 
34   - make a NICE download page 
35 * big code review
36 * Determine RC bugs and fix those  (release should have no known real bugs)
37
38 0.9.1:
39 * TRANSPORT: [MW]
40   - 'TransmitFunction' requires plugins to have "unbounded" queue (or at least 
41     queue of size > 2), might be better to have at MOST one message pending
42     per plugin/target and only send the next one after the continuation was
43     called (or use 'notify_transmit_ready-style API?)
44   - WLAN transport backend [DB]
45   - need to periodically probe latency/transport cost changes & possibly switch transport 
46     (working ATS)
47 * DATASTORE: [CG]
48   - check indexes / SQL for performance
49 * DV: 
50   - proper bandwidth allocation
51   - performance tests
52 * PEERINFO:     
53   - merge multiple HELLOs of the same peer in the transmission queue
54     (theoretically reduces overhead; bounds message queue size)
55   - merge multiple iteration requests over "all" peers in the queue
56     (theoretically reduces overhead; bounds messgae queue size)
57 * STATISTICS:
58   - should use BIO instead of mmap
59 * FS: [CG]
60   - Remove KBlocks in gnunet-unindex (see discussion with Kenneth Almquist on gnunet-devs in 9/2009)
61   - use different queue prioritization for probe-downloads vs. normal downloads
62   - re-implement gnunet-auto-share
63   - implement 'GNUNET_FS_file_information_create_from_directory', avoiding
64     code duplication with gnunet-gtk's similar code (!)
65 * GNUNET-GTK: [CG]
66   - add tool bar
67   - do meaningful update to status line (starting up, peer running, #connections, shutdown, ...)
68   - add progress dialog for 'add_dir_at_iter' scan (can take a while...)
69   - NS list in search dialog should use colors to offset our own namespaces from the others
70   - right-clicking on NS list in search dialog should open menu that allows 
71     * viewing full meta data 
72     * deletion of namespace info
73   - implement unindex operation (use dialog with all indexed files for selection)
74   - finish publish dialog details:
75     + normalize keywords (edit subdialog)
76   - implement download by URI dialog; figure out where to display those downloads!
77   - add combo box to select desired mime type for search
78 * ARM: [CG]
79   - better tracking of which config changes actually need to cause process restarts by ARM.
80   - handle gnunet-arm -k in combination with auto-start magic (what is the right thing here?)
81   - discover dependencies between services
82
83 0.9.2:
84 * PEERINFO: [NN]
85   - expire 'ancient' HELLOs (those without valid addresses AND that 
86     we have not 'used' (for their public keys) in a while; need a way
87     to track actual 'use')
88   - make sue we also trigger notifications whenever HELLOs expire
89 * NAT:
90   - repeatedly resolve hostname and look up interfaces to determine our own IP
91 * WLAN:
92   - nice signal strength adjustment [MW]
93   - energy cost in ATS [MW]
94 * BLOCKS:
95   - testcase would be nice
96 * STATISTICS:
97   - implement statistics GUI (=> start from gnunet-gtk by button!)
98 * PEERINFO: [NN]
99   - move peerinfo to new GUI (=> start from gnunet-gtk by button!)
100   - extend peer dialog with green-yellow-red connectivity status lights
101   - extend peer dialog with country flags and names
102
103 0.9.3:
104 * SMTP transport backend:
105   - sending (SMTP/SMTPS)
106   - receiving (IMAP/IMAPS/POP?)
107   - rate limiting
108   - improved batching
109   - resource limit integration with ATS
110 * VPN 
111   - "DNS" .gnunet [MW]
112 * MESH:
113   - optimized routes (beyond DHT/DV)