diff options
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 150 |
1 files changed, 79 insertions, 71 deletions
@@ -3,6 +3,7 @@ | |||
3 | - only connect() sockets that are ready (select()) [Nils] | 3 | - only connect() sockets that are ready (select()) [Nils] |
4 | [On W32, we need to select after calling socket before doing connect etc.] | 4 | [On W32, we need to select after calling socket before doing connect etc.] |
5 | * CORE: | 5 | * CORE: |
6 | - derived key generation [Nils] | ||
6 | - Jun 27 11:51:54 core-7670 ERROR Assertion failed at gnunet-service-core.c:3616. | 7 | - Jun 27 11:51:54 core-7670 ERROR Assertion failed at gnunet-service-core.c:3616. |
7 | (transport notified us that we connected to ourselves!!!) | 8 | (transport notified us that we connected to ourselves!!!) |
8 | - transport-level disconnect (i.e. TCP) does not cause core-level | 9 | - transport-level disconnect (i.e. TCP) does not cause core-level |
@@ -12,36 +13,34 @@ | |||
12 | => may have been fixed with instant-notification of disconnect | 13 | => may have been fixed with instant-notification of disconnect |
13 | to core on session-oriented connection hick-up; not perfect but | 14 | to core on session-oriented connection hick-up; not perfect but |
14 | likely good enough until we get ATS going; still should be tested... | 15 | likely good enough until we get ATS going; still should be tested... |
15 | => "peers connected (transport)" now instantly goes to ZERO (core statistic), | 16 | ` => "peers connected (transport)" now instantly goes to ZERO (core statistic), |
16 | but "established sessions" stays up... | 17 | but "established sessions" stays up... |
17 | - derived key generation [Nils] | 18 | * PWNAT: [Nate/MW/Nils] |
18 | * PWNAT: [Nate/MW/Nils] | ||
19 | - W32 port | 19 | - W32 port |
20 | * GNUNET-GTK: [CG] | 20 | * GNUNET-GTK: [CG] |
21 | - bugs: | 21 | - handle 'lost parent' case for recursive downloads (need to move children!) |
22 | + handle 'lost parent' case for recursive downloads (need to move children!) | ||
23 | 22 | ||
24 | 0.9.0pre3: | 23 | 0.9.0pre3: |
25 | * Determine RC bugs and fix those! | 24 | * Determine RC bugs and fix those (release should have no known real bugs) |
26 | * DATASTORE: [LT] | 25 | * DATASTORE: [LT] |
27 | - GNUNET_DATASTORE_cancel method not tested [LT] | 26 | - GNUNET_DATASTORE_cancel method not tested [LT] |
28 | * TESTING: [Nate] | 27 | * TESTING: [Nate] |
29 | - test basic peer re-configure | 28 | - test basic peer re-configure |
30 | - consider changing API for peer-group termination to | 29 | * TOPOLOGY: [Nate] |
31 | call continuation when done | ||
32 | * TOPOLOGY: | ||
33 | - needs more testing (especially F2F topology) & transport blacklisting | 30 | - needs more testing (especially F2F topology) & transport blacklisting |
31 | * TRANSPORT-TCP [MW]: | ||
32 | - should use hash map to look up sessions | ||
34 | * NAT/UPNP: [MW] | 33 | * NAT/UPNP: [MW] |
35 | - finalize API design | 34 | - finalize API design |
36 | - code clean up | 35 | - code clean up |
37 | - testing | 36 | - testing |
38 | - integration with transport service | 37 | - integration with transport service |
39 | * MYSQL database backends: [CG] | 38 | - also do UPnP-based (external) IP detection |
40 | - datacache | 39 | (Note: build library always, build UPnP service when dependencies like libxml2 are available) |
41 | * FS: [CG] | 40 | * FS: [CG] |
42 | - library: | 41 | - library: |
43 | + reconstruct IBLOCKS from DBLOCKS if possible (during download; see FIXME in fs_download) | 42 | + reconstruct IBLOCKS from DBLOCKS if possible (during download; see FIXME in fs_download) |
44 | + add support for pushing "already seen" search results to FS service for bloomfilter (can wait) | 43 | + add support for pushing "already seen" search results to FS service for bloomfilter |
45 | + use different 'priority' for probe downloads vs. normal downloads | 44 | + use different 'priority' for probe downloads vs. normal downloads |
46 | - service: | 45 | - service: |
47 | + trust: do not charge when "idle" / load considerations (migration, routing) | 46 | + trust: do not charge when "idle" / load considerations (migration, routing) |
@@ -56,25 +55,26 @@ | |||
56 | + download | 55 | + download |
57 | + search | 56 | + search |
58 | + unindex | 57 | + unindex |
59 | * ARM: [CG/Safey] | 58 | - re-implement gnunet-auto-share |
60 | - better tracking of which config changes actually need to cause process restarts by ARM. | ||
61 | - handle gnunet-arm -k in combination with auto-start magic (what is the right thing here?) | ||
62 | - discover dependencies between services | ||
63 | * GNUNET-GTK: | 59 | * GNUNET-GTK: |
64 | - optimize meta-data for directories in 'add_dir_at_iter' | 60 | - optimize meta-data for directories in 'add_dir_at_iter' |
65 | - add progress dialog for 'add_dir_at_iter' scan (can take a while...) | ||
66 | - finish publish dialog details: | 61 | - finish publish dialog details: |
67 | + normalize keywords (edit subdialog) | 62 | + normalize keywords (edit subdialog) |
68 | + set/view previews (edit subdialog) | 63 | + set/view previews (edit subdialog) |
69 | - add tool bar | ||
70 | - implement download by URI dialog; figure out where to display those downloads! | 64 | - implement download by URI dialog; figure out where to display those downloads! |
71 | - figure out where in the GUI we should show active uploads/unindex operations and allow aborts | 65 | - figure out where in the GUI we should show active uploads/unindex operations and allow aborts |
72 | - implement unindex operation (use dialog with all indexed files for selection) | 66 | - implement unindex operation (use dialog with all indexed files for selection) |
73 | - do meaningful update to status line (starting up, peer running, #connections, shutdown, ...) | ||
74 | - events: | 67 | - events: |
75 | + search error | 68 | + search error |
76 | + publish error | 69 | + publish error |
77 | + unindex error | 70 | + unindex error |
71 | * POSTGRES database backends: [CG] | ||
72 | - datacache | ||
73 | - datastore | ||
74 | * ARM: [CG/Safey] | ||
75 | - better tracking of which config changes actually need to cause process restarts by ARM. | ||
76 | - handle gnunet-arm -k in combination with auto-start magic (what is the right thing here?) | ||
77 | - discover dependencies between services | ||
78 | * MONKEY: [Safey] | 78 | * MONKEY: [Safey] |
79 | - better crash management (attach debugging support, capture and analyze | 79 | - better crash management (attach debugging support, capture and analyze |
80 | debug output, detect random vs. deterministic crashes) | 80 | debug output, detect random vs. deterministic crashes) |
@@ -82,38 +82,26 @@ | |||
82 | - '-f FILENAME' option to write report to file instead of e-mail (for testing!) | 82 | - '-f FILENAME' option to write report to file instead of e-mail (for testing!) |
83 | 83 | ||
84 | 0.9.0: | 84 | 0.9.0: |
85 | * new webpage: | 85 | * Determine RC bugs and fix those (release should have no known real bugs) |
86 | * new webpage: [BL] | ||
86 | - convert documentation pages to books | 87 | - convert documentation pages to books |
87 | - update books (especially for developers) | 88 | - update books (especially for developers) |
88 | - make a NICE download page and figure out how to enable developers to publish TGZs nicely | 89 | - make a NICE download page and figure out how to enable developers to publish TGZs nicely |
89 | - port "contact" page | 90 | - port "contact" page |
90 | - add content type for "todo" items? | 91 | - add content type for "todo" items |
91 | * POSTGRES database backends: [CG] | 92 | * SETUP: [CG] |
92 | - datacache | ||
93 | - datastore | ||
94 | * Determine RC bugs and fix those! | ||
95 | * SETUP: | ||
96 | - design & implement new setup tool | 93 | - design & implement new setup tool |
97 | * TBENCH: [MW] | 94 | * TBENCH: [MW] |
98 | - good to have for transport/DV evaluation! | 95 | - good to have for transport/DV evaluation! |
99 | * TRACEKIT: [MW] | 96 | * TRACEKIT: [MW] |
100 | - good to have for DV/DHT evaluation! | 97 | - good to have for DHT evaluation! |
101 | * DV: | ||
102 | - performance tests | ||
103 | * DHT: [Nate] | 98 | * DHT: [Nate] |
104 | - performance tests | 99 | - performance tests |
105 | * STATISTICS: | ||
106 | - test notification-based statistics API [LT] | ||
107 | - implement statistics GUI | ||
108 | * PEERINFO: [NN] | ||
109 | - move peerinfo to new GUI? | ||
110 | - extend peer dialog with green-yellow-red connectivity status lights | ||
111 | - extend peer dialog with country flags and names | ||
112 | 100 | ||
113 | 0.9.x: | 101 | 0.9.1: |
114 | * TRANSPORT: [MW] | 102 | * TRANSPORT: [MW] |
115 | - WiFi transport backend [DB] | 103 | - WiFi transport backend [DB] |
116 | - SMTP transport backend | 104 | - implement gnunet-transport (transport configurator / tester) |
117 | - Implement method of learning our external addresses from | 105 | - Implement method of learning our external addresses from |
118 | other peers; need some kind of threshold-based | 106 | other peers; need some kind of threshold-based |
119 | scheme, limiting both the total number of addresses that we accept | 107 | scheme, limiting both the total number of addresses that we accept |
@@ -129,50 +117,70 @@ | |||
129 | a way to easily "veto" addresses off the list! | 117 | a way to easily "veto" addresses off the list! |
130 | => If MiM attacker uses vetoed address, blacklist the specific IP for | 118 | => If MiM attacker uses vetoed address, blacklist the specific IP for |
131 | the presumed neighbour! | 119 | the presumed neighbour! |
132 | - implement gnunet-transport (transport configurator / tester) | ||
133 | - UPnP-based IP detection | ||
134 | (Note: build library always, build service when libxml2/etc. are available) | ||
135 | * DV: | ||
136 | - proper bandwidth allocation | ||
137 | * FS: [CG] | ||
138 | - Remove KBlocks in gnunet-unindex (see discussion with Kenneth Almquist on gnunet-devs in 9/2009) | ||
139 | * PEERINFO: [NN] | ||
140 | - expire 'ancient' HELLOs (those without valid addresses AND that | ||
141 | we have not 'used' (for their public keys) in a while; need a way | ||
142 | to track actual 'use') | ||
143 | - make sue we also trigger notifications whenever HELLOs expire | ||
144 | * VPN [PT] | ||
145 | * UTIL: [CG] | ||
146 | - allow limiting UNIX socket access by UID/GID | ||
147 | |||
148 | |||
149 | |||
150 | Optimizations: | ||
151 | * TCP: | ||
152 | - should use hash map to look up sessions | ||
153 | * STATISTICS: | ||
154 | - should use BIO instead of mmap | ||
155 | * TRANSPORT: | ||
156 | - need to periodically probe latency/transport cost changes & possibly switch transport | 120 | - need to periodically probe latency/transport cost changes & possibly switch transport |
157 | - should use hash map to look up Neighbours (service AND plugins!) | 121 | - should use hash map to look up Neighbours (service AND plugins!) |
122 | * DV: [Nate] | ||
123 | - proper bandwidth allocation | ||
124 | - performance tests | ||
158 | * PEERINFO: | 125 | * PEERINFO: |
159 | - merge multiple HELLOs of the same peer in the transmission queue | 126 | - merge multiple HELLOs of the same peer in the transmission queue |
160 | (theoretically reduces overhead; bounds message queue size) | 127 | (theoretically reduces overhead; bounds message queue size) |
161 | - merge multiple iteration requests over "all" peers in the queue | 128 | - merge multiple iteration requests over "all" peers in the queue |
162 | (theoretically reduces overhead; bounds messgae queue size) | 129 | (theoretically reduces overhead; bounds messgae queue size) |
163 | * FS: | 130 | * STATISTICS: [CG] |
164 | - use different queue prioritization for probe-downloads vs. normal downloads (!?) | 131 | - should use BIO instead of mmap |
132 | * FS: [CG] | ||
133 | - Remove KBlocks in gnunet-unindex (see discussion with Kenneth Almquist on gnunet-devs in 9/2009) | ||
134 | - use different queue prioritization for probe-downloads vs. normal downloads | ||
135 | * UTIL: [CG] | ||
136 | - allow limiting UNIX socket access by UID/GID | ||
137 | * GNUNET-GTK: [CG] | ||
138 | - add tool bar | ||
139 | - do meaningful update to status line (starting up, peer running, #connections, shutdown, ...) | ||
140 | - add progress dialog for 'add_dir_at_iter' scan (can take a while...) | ||
141 | - NS list in search dialog should use colors to offset our own namespaces from the others | ||
142 | - right-clicking on NS list in search dialog should open menu that allows | ||
143 | * viewing full meta data | ||
144 | * deletion of namespace info | ||
165 | 145 | ||
166 | Minor features: | 146 | 0.9.2: |
147 | * PEERINFO: [NN] | ||
148 | - expire 'ancient' HELLOs (those without valid addresses AND that | ||
149 | we have not 'used' (for their public keys) in a while; need a way | ||
150 | to track actual 'use') | ||
151 | - make sue we also trigger notifications whenever HELLOs expire | ||
167 | * TCP: | 152 | * TCP: |
168 | - repeatedly resolve hostname and look up interfaces to determine our own IP | 153 | - repeatedly resolve hostname and look up interfaces to determine our own IP |
169 | - [./transport/plugin_transport_tcp.c:391]: (style) struct or union member 'Plugin::address_update_task' is never used (related to issue above) | 154 | - [./transport/plugin_transport_tcp.c:391]: (style) struct or union member 'Plugin::address_update_task' is never used (related to issue above) |
170 | * TRANSPORT: | 155 | * TRANSPORT: |
171 | - [./transport/gnunet-service-transport.c:173]: (style) struct or union member 'TransportPlugin::rebuild' is never used (related to TCP not refreshing external addresses?) | 156 | - [./transport/gnunet-service-transport.c:173]: (style) struct or union member 'TransportPlugin::rebuild' is never used (related to TCP not refreshing external addresses?) |
157 | - WiFi transport backend | ||
158 | * nice signal strength adjustment [MW] | ||
159 | * energy cost in ATS [MW] | ||
172 | * BLOCKS: | 160 | * BLOCKS: |
173 | - testcase would be nice... | 161 | - testcase would be nice |
174 | * GNUNET-GTK: | 162 | - generic block support for DHT |
175 | - NS list in search dialog should use colors to offset our own namespaces from the others | 163 | * STATISTICS: |
176 | - right-clicking on NS list in search dialog should open menu that allows | 164 | - test notification-based statistics API [LT] |
177 | * viewing full meta data | 165 | - implement statistics GUI (=> start from gnunet-gtk by button!) |
178 | * deletion of namespace info | 166 | * PEERINFO: [NN] |
167 | - move peerinfo to new GUI (=> start from gnunet-gtk by button!) | ||
168 | - extend peer dialog with green-yellow-red connectivity status lights | ||
169 | - extend peer dialog with country flags and names | ||
170 | |||
171 | 0.9.3: | ||
172 | * SMTP transport backend: | ||
173 | - sending (SMTP/SMTPS) | ||
174 | - receiving (IMAP/IMAPS/POP?) | ||
175 | - rate limiting | ||
176 | - improved batching | ||
177 | - resource limit integration with ATS | ||
178 | * VPN [PT] | ||
179 | - DNS hijacking | ||
180 | - DNS exit | ||
181 | - TCP entry/exit | ||
182 | - UDP entry/exit | ||
183 | - internal services | ||
184 | - integration with DHT routing | ||
185 | - optimized routes (beyond DHT/DV) | ||
186 | - "DNS" .gnunet | ||