diff options
author | Christian Grothoff <christian@grothoff.org> | 2010-12-03 03:11:42 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2010-12-03 03:11:42 +0000 |
commit | 03b10ac22fb7e80a02568af591e0ead6c76d8563 (patch) | |
tree | 42407bad847b7faa622070975d15cce29a7504d9 /TODO | |
parent | b15e5e6fbee9941cd17218771e78412a3b50ed8b (diff) | |
download | gnunet-03b10ac22fb7e80a02568af591e0ead6c76d8563.tar.gz gnunet-03b10ac22fb7e80a02568af591e0ead6c76d8563.zip |
air plane hacking
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 117 |
1 files changed, 39 insertions, 78 deletions
@@ -1,37 +1,17 @@ | |||
1 | 0.9.0pre2: | 1 | 0.9.0pre2: |
2 | * BIG CORE REFACTORING: | 2 | * BIG CORE REFACTORING: |
3 | - fix transport service API (ATS!) | 3 | - fix transport plugin API (ATS!) [mw] |
4 | - fix transport plugin API (ATS!) | 4 | - fix DV [nate] |
5 | - actually transmit ATS data through core API | ||
6 | - fix FS 'latency' ATS function | ||
7 | - fix DV | ||
8 | * Integration test: | 5 | * Integration test: |
9 | - test bootstrapping via hostlist + transport/core/dht connect | 6 | - test bootstrapping via hostlist + transport/core/dht connect |
10 | |||
11 | 0.9.0pre3: | ||
12 | * Determine RC bugs and fix those (release should have no known real bugs) | ||
13 | * ARM: [CG/Safey] | ||
14 | - start_forwarding should not use 'listen_info->service_addr' for connecting since that one can be 0.0.0.0; | ||
15 | if it is, we need to use (IPv4 & IPv6) loopback [LRN] | ||
16 | - better tracking of which config changes actually need to cause process restarts by ARM. | ||
17 | - handle gnunet-arm -k in combination with auto-start magic (what is the right thing here?) | ||
18 | - discover dependencies between services | ||
19 | * CORE: | 7 | * CORE: |
20 | - provide 'reliable' P2P transmission API and queueing infrastructure | ||
21 | - Jun 27 11:51:54 core-7670 ERROR Assertion failed at gnunet-service-core.c:3616. | 8 | - Jun 27 11:51:54 core-7670 ERROR Assertion failed at gnunet-service-core.c:3616. |
22 | (transport notified us that we connected to ourselves!!!; can we still reproduce this?) | 9 | (transport notified us that we connected to ourselves!!!; can we still reproduce this?) |
23 | * DHT: [Nate] | 10 | => Also, we may want to issue a 'connect to ourselves' automatically on start of |
24 | - track paths content travels (PUT, reply-to-get) in messages, | 11 | core_api AND allow messages to self [CG/phillip] |
25 | pass to client (client API & protocol already support this!) | 12 | |
26 | * DATASTORE: | 13 | 0.9.0pre3: |
27 | - GNUNET_DATASTORE_cancel method not tested | 14 | * TRANSPORT: [MW] |
28 | * TESTING: [Nate] | ||
29 | - test basic peer re-configure | ||
30 | * TOPOLOGY: [Nate] | ||
31 | - needs more testing (especially F2F topology) & transport blacklisting | ||
32 | * TRANSPORT-TCP [MW]: | ||
33 | - should use hash map to look up sessions | ||
34 | * TRANSPORT: | ||
35 | - [#1585, #1583, #1582] transport-level disconnect (i.e. TCP) does not cause core-level | 15 | - [#1585, #1583, #1582] transport-level disconnect (i.e. TCP) does not cause core-level |
36 | disconnect in a timely fashion (waits for connection timeout); | 16 | disconnect in a timely fashion (waits for connection timeout); |
37 | need to figure a way to make it near-instant in those cases | 17 | need to figure a way to make it near-instant in those cases |
@@ -41,73 +21,44 @@ | |||
41 | likely good enough until we get ATS going; still should be tested... | 21 | likely good enough until we get ATS going; still should be tested... |
42 | => "peers connected (transport)" now instantly goes to ZERO (core statistic), | 22 | => "peers connected (transport)" now instantly goes to ZERO (core statistic), |
43 | but "established sessions" stays up... | 23 | but "established sessions" stays up... |
44 | * NAT/UPNP: [Milan] | 24 | * NAT/UPNP: [Milan / Ayush / MW] |
45 | - finalize API design | ||
46 | - [#1609] code clean up | 25 | - [#1609] code clean up |
47 | - testing | 26 | - testing |
48 | - integration with transport service | 27 | - integration with transport service: |
49 | - also do UPnP-based (external) IP detection | 28 | + test TCP |
50 | (Note: build library always, build UPnP service when dependencies like libxml2 are available) | 29 | + implement UDP, HTTP/HTTPS |
30 | * DHT: [Nate] | ||
31 | - track paths content travels (PUT, reply-to-get) in messages, | ||
32 | pass to client (client API & protocol already support this!) | ||
51 | * FS: [CG] | 33 | * FS: [CG] |
52 | - library: | ||
53 | + reconstruct IBLOCKS from DBLOCKS if possible (during download; see FIXME in fs_download) | ||
54 | + add support for pushing "already seen" search results to FS service for bloomfilter | ||
55 | + use different 'priority' for probe downloads vs. normal downloads | ||
56 | - implement multi-peer FS performance tests | 34 | - implement multi-peer FS performance tests |
57 | + insert | 35 | + insert |
58 | + download | 36 | + download |
59 | + search | 37 | + search |
60 | + unindex | 38 | * GNUNET-GTK: [CG] |
61 | - implement anonymity level > 1 | 39 | - figure out where in the GUI we should show active upload operations and allow aborts |
62 | - re-implement gnunet-auto-share | 40 | - handle events: |
63 | * GNUNET-GTK: | ||
64 | - finish publish dialog details: | ||
65 | + normalize keywords (edit subdialog) | ||
66 | - implement download by URI dialog; figure out where to display those downloads! | ||
67 | - figure out where in the GUI we should show active uploads/unindex operations and allow aborts | ||
68 | - implement unindex operation (use dialog with all indexed files for selection) | ||
69 | - events: | ||
70 | + search error | 41 | + search error |
71 | + publish error | 42 | + publish error |
72 | + unindex error | 43 | * Determine RC bugs and fix those (release should have no known real bugs) |
73 | * MONKEY: [Safey] | ||
74 | - better crash management (attach debugging support, capture and analyze | ||
75 | debug output, detect random vs. deterministic crashes) | ||
76 | - '-m EMAIL' option for alternative e-mail TO | ||
77 | - '-f FILENAME' option to write report to file instead of e-mail (for testing!) | ||
78 | 44 | ||
79 | 0.9.0: | 45 | 0.9.0: |
80 | * Determine RC bugs and fix those (release should have no known real bugs) | 46 | * new webpage: |
81 | * UTIL: | ||
82 | - only connect() sockets that are ready (select()) [Nils] | ||
83 | [On W32, we need to select after calling socket before doing connect etc.] | ||
84 | * new webpage: [BL] | ||
85 | - convert documentation pages to books | ||
86 | - update books (especially for developers) | 47 | - update books (especially for developers) |
87 | - make a NICE download page and figure out how to enable developers to publish TGZs nicely | 48 | - make a NICE download page and figure out how to enable developers to publish TGZs nicely |
88 | - port "contact" page | 49 | - port "contact" page |
89 | - add content type for "todo" items | ||
90 | * TBENCH: [MW] | ||
91 | - good to have for transport/DV evaluation! | ||
92 | * TRACEKIT: [MW] | ||
93 | - good to have for DHT evaluation! | ||
94 | * DHT: [Nate] | ||
95 | - performance tests | ||
96 | * BLOCK: | ||
97 | - more testing (KBlock, SBlock, NBlock) | ||
98 | * FS migration: | 50 | * FS migration: |
99 | - exclude content that will "soon" expire from migration? | 51 | - exclude content that will "soon" expire from migration |
100 | - exclude content with zero-anonymity from gap migration? | ||
101 | - make migration data rate & datastore IO-rate configurable | 52 | - make migration data rate & datastore IO-rate configurable |
102 | - exclude certain peers as targets (based on hash values) in each | 53 | - exclude certain peers as targets (based on hash values) in each |
103 | iteration => same peer can only be picked every n-th iteration | 54 | iteration => same peer can only be picked every n-th iteration |
104 | for the same content => fewer duplicate sending! | 55 | for the same content => fewer duplicate sending! |
105 | 56 | * big code review | |
57 | * Determine RC bugs and fix those (release should have no known real bugs) | ||
106 | 58 | ||
107 | 0.9.1: | 59 | 0.9.1: |
108 | * TRANSPORT: [MW] | 60 | * TRANSPORT: [MW] |
109 | - WiFi transport backend [DB] | 61 | - WiFi transport backend [DB] |
110 | - implement gnunet-transport (transport configurator / tester) | ||
111 | - Implement method of learning our external addresses from | 62 | - Implement method of learning our external addresses from |
112 | other peers; need some kind of threshold-based | 63 | other peers; need some kind of threshold-based |
113 | scheme, limiting both the total number of addresses that we accept | 64 | scheme, limiting both the total number of addresses that we accept |
@@ -124,8 +75,7 @@ | |||
124 | => If MiM attacker uses vetoed address, blacklist the specific IP for | 75 | => If MiM attacker uses vetoed address, blacklist the specific IP for |
125 | the presumed neighbour! | 76 | the presumed neighbour! |
126 | - need to periodically probe latency/transport cost changes & possibly switch transport | 77 | - need to periodically probe latency/transport cost changes & possibly switch transport |
127 | - should use hash map to look up Neighbours (service AND plugins!) | 78 | * DV: [Nate?] |
128 | * DV: [Nate] | ||
129 | - proper bandwidth allocation | 79 | - proper bandwidth allocation |
130 | - performance tests | 80 | - performance tests |
131 | * PEERINFO: | 81 | * PEERINFO: |
@@ -133,11 +83,12 @@ | |||
133 | (theoretically reduces overhead; bounds message queue size) | 83 | (theoretically reduces overhead; bounds message queue size) |
134 | - merge multiple iteration requests over "all" peers in the queue | 84 | - merge multiple iteration requests over "all" peers in the queue |
135 | (theoretically reduces overhead; bounds messgae queue size) | 85 | (theoretically reduces overhead; bounds messgae queue size) |
136 | * STATISTICS: [CG] | 86 | * STATISTICS: |
137 | - should use BIO instead of mmap | 87 | - should use BIO instead of mmap |
138 | * FS: [CG] | 88 | * FS: [CG] |
139 | - Remove KBlocks in gnunet-unindex (see discussion with Kenneth Almquist on gnunet-devs in 9/2009) | 89 | - Remove KBlocks in gnunet-unindex (see discussion with Kenneth Almquist on gnunet-devs in 9/2009) |
140 | - use different queue prioritization for probe-downloads vs. normal downloads | 90 | - use different queue prioritization for probe-downloads vs. normal downloads |
91 | - re-implement gnunet-auto-share | ||
141 | * UTIL: [CG] | 92 | * UTIL: [CG] |
142 | - allow limiting UNIX socket access by UID/GID | 93 | - allow limiting UNIX socket access by UID/GID |
143 | * GNUNET-GTK: [CG] | 94 | * GNUNET-GTK: [CG] |
@@ -148,6 +99,19 @@ | |||
148 | - right-clicking on NS list in search dialog should open menu that allows | 99 | - right-clicking on NS list in search dialog should open menu that allows |
149 | * viewing full meta data | 100 | * viewing full meta data |
150 | * deletion of namespace info | 101 | * deletion of namespace info |
102 | - implement unindex operation (use dialog with all indexed files for selection) | ||
103 | - finish publish dialog details: | ||
104 | + normalize keywords (edit subdialog) | ||
105 | - implement download by URI dialog; figure out where to display those downloads! | ||
106 | * ARM: [CG/Safey] | ||
107 | - better tracking of which config changes actually need to cause process restarts by ARM. | ||
108 | - handle gnunet-arm -k in combination with auto-start magic (what is the right thing here?) | ||
109 | - discover dependencies between services | ||
110 | * MONKEY: [Safey] | ||
111 | - better crash management (attach debugging support, capture and analyze | ||
112 | debug output, detect random vs. deterministic crashes) | ||
113 | - '-m EMAIL' option for alternative e-mail TO | ||
114 | - '-f FILENAME' option to write report to file instead of e-mail (for testing!) | ||
151 | 115 | ||
152 | 0.9.2: | 116 | 0.9.2: |
153 | * PEERINFO: [NN] | 117 | * PEERINFO: [NN] |
@@ -167,7 +131,7 @@ | |||
167 | - testcase would be nice | 131 | - testcase would be nice |
168 | - generic block support for DHT | 132 | - generic block support for DHT |
169 | * STATISTICS: | 133 | * STATISTICS: |
170 | - test notification-based statistics API [LT] | 134 | - test notification-based statistics API |
171 | - implement statistics GUI (=> start from gnunet-gtk by button!) | 135 | - implement statistics GUI (=> start from gnunet-gtk by button!) |
172 | * PEERINFO: [NN] | 136 | * PEERINFO: [NN] |
173 | - move peerinfo to new GUI (=> start from gnunet-gtk by button!) | 137 | - move peerinfo to new GUI (=> start from gnunet-gtk by button!) |
@@ -182,10 +146,7 @@ | |||
182 | - improved batching | 146 | - improved batching |
183 | - resource limit integration with ATS | 147 | - resource limit integration with ATS |
184 | * VPN [PT] | 148 | * VPN [PT] |
185 | - DNS hijacking | ||
186 | - DNS exit | ||
187 | - TCP entry/exit | 149 | - TCP entry/exit |
188 | - UDP entry/exit | ||
189 | - internal services | 150 | - internal services |
190 | - integration with DHT routing | 151 | - integration with DHT routing |
191 | - optimized routes (beyond DHT/DV) | 152 | - optimized routes (beyond DHT/DV) |