r11767@Kushana: nickm | 2006-12-29 22:36:22 -0500

remove more completed items from the TODO.


svn:r9221
This commit is contained in:
Nick Mathewson 2006-12-30 03:36:36 +00:00
parent 46092f8163
commit a8f463749f

View File

@ -28,9 +28,6 @@ Items for 0.1.2.x, real soon now:
N - Test guard unreachable logic; make sure that we actually attempt to N - Test guard unreachable logic; make sure that we actually attempt to
connect to guards that we think are unreachable from time to time. connect to guards that we think are unreachable from time to time.
Make sure that we don't freak out when the network is down. Make sure that we don't freak out when the network is down.
o Stop recommending exits as guards?
look at the overall fraction of exits in the network. if the
fraction is too small, none of them get to be guards.
R - Reconstruct ChangeLog; put rolled-up info in ReleaseNotes or something. R - Reconstruct ChangeLog; put rolled-up info in ReleaseNotes or something.
@ -46,29 +43,13 @@ R - and implement the rest
. Have (and document) a BEGIN_DIR relay cell that means "Connect to your . Have (and document) a BEGIN_DIR relay cell that means "Connect to your
directory port." directory port."
o Specify
o Implement o Implement
o Use for something, so we can be sure it works.
o Test and debug
R - turn the received socks addr:port into a digest for setting .exit R - turn the received socks addr:port into a digest for setting .exit
- be able to connect without having a server descriptor, to bootstrap. - be able to connect without having a server descriptor, to bootstrap.
R - handle connect-dir streams that don't have a chosen_exit_name set. R - handle connect-dir streams that don't have a chosen_exit_name set.
o include ORPort in DirServers lines so we can know where to connect. o include ORPort in DirServers lines so we can know where to connect.
list the orport as 0 if it can't handle begin_dir. list the orport as 0 if it can't handle begin_dir.
o List versions in status page - List orports of actual dirservers..
o A new line in the status entry. "Tor 0.1.2.2-alpha". If it's
a version, treat it like one. If it's something else, assume
it's at least 0.1.2.x.
D maybe we could have it be a new 'v' line in the status, with
key=value syntax. so we could have a 'tor' version, but we
could also have a 'conn' version, a 'dir' version, etc down
the road. and one day maybe the 'tor' key would be deprecated.
o Give the right answer for X-Your-Address-Is on tunneled directory
connections.
o Document .noconnect addresses...
A new file 'address-spec.txt' that describes .exit, .onion,
.noconnect, etc?
- Servers are easy to setup and run: being a relay is about as easy as - Servers are easy to setup and run: being a relay is about as easy as
being a client. being a client.
@ -88,46 +69,12 @@ R . option to dl directory info via tor
handle BEGIN_DIR. handle BEGIN_DIR.
N - DNS improvements N - DNS improvements
o Don't ask reject *:* nodes for DNS unless client wants you to.
. Asynchronous DNS . Asynchronous DNS
- Make evdns use windows strerror equivalents. - Make evdns use windows strerror equivalents.
- Make sure patches get into libevent. - Make sure patches get into libevent.
- Verify that it works well on windows - Verify that it works well on windows
o Make reverse DNS work. - Debug and re-enable server-side reverse DNS caching
o Add client-side interface
o SOCKS interface: specify
o SOCKS interface: implement
o Cache answers client-side
o Add to Tor-resolve.py
o Add to tor-resolve
D Be a DNS proxy.
o Check for invalid characters in hostnames before trying to resolve
them. (This will help catch attempts do to mean things to our DNS
server, and bad software that tries to do DNS lookups on whole URLs.)
o address_is_invalid_destination() is the right thing to call here
(and feel free to make that function smarter)
o add a config option to turn it off.
o and a man page for that option
o Bug 364: notice when all the DNS requests we get back (including a few
well-known sites) are all going to the same place.
o Bug 363: Warn and die if we can't find a nameserver and we're running a
server; don't fall back to 127.0.0.1.
o Re-check dns when we change IP addresses, rather than every 12 hours
o Bug 326: Give fewer error messages from nameservers.
o Only warn when _all_ nameservers are down; otherwise info.
D Increase timeout; what's industry standard?
D Alternatively, raise timeout when nameserver dies but comes back
quickly?
o Don't believe that our sole nameserver is dead? or, not until more
failures than it would take to think one of several nameservers was
dead?
X Possibly, don't warn until second retry of a nameserver gets no
answer?
X warn if all of your nameservers go down and stay down for like
5 minutes.
R o Take out the '5 second' timeout from the socks detach schedule.
- Performance improvements
- Critical but minor bugs, backport candidates. - Critical but minor bugs, backport candidates.
- support dir 503s better - support dir 503s better
@ -136,22 +83,11 @@ R o Take out the '5 second' timeout from the socks detach schedule.
D But eventually, we give up after getting a lot of 503s. D But eventually, we give up after getting a lot of 503s.
N - Delay when we get a lot of 503s, rather than punting onto the N - Delay when we get a lot of 503s, rather than punting onto the
servers that have given us 503s? servers that have given us 503s?
o split "router is down" from "dirport shouldn't be tried for a while"?
We want a field to hold "when did we last get a 503 from this
directory server." Probably, it should go in local_routerstatus_t,
not in routerinfo_t, since we can try to use servers as directories
before we have their descriptors. Possibly, it should also go in
trusted_dir_server_t.
o Add a last_dir_503_at field.
o Have it get updated correctly.
o Prefer to use directories that haven't given us a 503 for the last
60 minutes.
- authorities should *never* 503 a cache, and should never 503 - authorities should *never* 503 a cache, and should never 503
network status requests. They can 503 client descriptor requests network status requests. They can 503 client descriptor requests
when they feel like it. when they feel like it.
- update dir-spec with what we decided for each of these - update dir-spec with what we decided for each of these
o Have a mode that doesn't write to disk much, so we can run Tor on o Have a mode that doesn't write to disk much, so we can run Tor on
flash memory (e.g. Linksys routers or USB keys). flash memory (e.g. Linksys routers or USB keys).
o Add AvoidDiskWrites config option. o Add AvoidDiskWrites config option.
@ -163,6 +99,10 @@ N - Delay when we get a lot of 503s, rather than punting onto the
NR. Write path-spec.txt NR. Write path-spec.txt
- Polishing
- Profile client and server; fix slow spots
- Address XXX012 items
- Packaging - Packaging
- Tell people about OSX Uninstaller - Tell people about OSX Uninstaller
- Quietly document NT Service options - Quietly document NT Service options
@ -173,8 +113,6 @@ NR D Get some kind of "meta signing key" to be used solely to sign
key, etc. key, etc.
- If we haven't replaced privoxy, lock down its configuration in all - If we haven't replaced privoxy, lock down its configuration in all
packages, as documented in tor-doc-unix.html packages, as documented in tor-doc-unix.html
o script to look at config.c, torrc.sample, tor.1.in, to tell us
what's missing in which and notice which descriptions are missing.
- Docs - Docs
- More prominently, we should have a recommended apps list. - More prominently, we should have a recommended apps list.
@ -196,8 +134,6 @@ R - "bandwidth classes", for incoming vs initiated-here conns,
- separate config options for read vs write limiting - separate config options for read vs write limiting
- Forward compatibility fixes - Forward compatibility fixes
o Stop requiring "opt" to ignore options in descriptors, networkstatuses,
and so on.
- Caches should start trying to cache consensus docs? - Caches should start trying to cache consensus docs?
- Start uploading short and long descriptors; authorities should support - Start uploading short and long descriptors; authorities should support
URLs to retrieve long descriptors, and should discard short descriptors URLs to retrieve long descriptors, and should discard short descriptors
@ -215,13 +151,6 @@ Topics to think about during 0.1.2.x development:
- Design next-version protocol for directories - Design next-version protocol for directories
- Design next-version protocol for connections - Design next-version protocol for connections
For blocking-resistance scheme:
o allow ordinary-looking ssl for dir connections. need a new dirport
for this, or can we handle both ssl and non-ssl, or should we
entirely switch to ssl in certain cases?
D need to figure out how to fetch status of a few servers from the BDA
without fetching all statuses. A new URL to fetch I presume?
Deferred from 0.1.2.x: Deferred from 0.1.2.x:
P - Figure out why dll's compiled in mingw don't work right in WinXP. P - Figure out why dll's compiled in mingw don't work right in WinXP.
P - Figure out why openssl 0.9.8d "make test" fails at sha256t test. P - Figure out why openssl 0.9.8d "make test" fails at sha256t test.
@ -296,8 +225,6 @@ P - Figure out why openssl 0.9.8d "make test" fails at sha256t test.
- a way to pick entry guards based wholly on extend_info equivalent; - a way to pick entry guards based wholly on extend_info equivalent;
a way to export extend_info equivalent. a way to export extend_info equivalent.
o Count TLS bandwidth more accurately
- Better estimates in the directory of whether servers have good uptime - Better estimates in the directory of whether servers have good uptime
(high expected time to failure) or good guard qualities (high (high expected time to failure) or good guard qualities (high
fractional uptime). fractional uptime).
@ -337,11 +264,8 @@ R - add d64 and fp64 along-side d and fp so people can paste status
- add a "default.action" file to the tor/vidalia bundle so we can fix the - add a "default.action" file to the tor/vidalia bundle so we can fix the
https thing in the default configuration: https thing in the default configuration:
http://wiki.noreply.org/noreply/TheOnionRouter/TorFAQ#PrivoxyWeirdSSLPort http://wiki.noreply.org/noreply/TheOnionRouter/TorFAQ#PrivoxyWeirdSSLPort
o even if your torrc lists yourself in your myfamily line, don't list it in
the descriptor.
. Flesh out options_description array in src/or/config.c . Flesh out options_description array in src/or/config.c
- Don't let 'newnym' be triggered more often than every n seconds. - Don't let 'newnym' be triggered more often than every n seconds.
o change log_fn() to log() on notice/warn/err logs where we can.
X If we try to publish as a nickname that's already claimed, should X If we try to publish as a nickname that's already claimed, should
we append a number (or increment the number) and try again? This we append a number (or increment the number) and try again? This
way people who read their logs can fix it as before, but people way people who read their logs can fix it as before, but people
@ -356,7 +280,6 @@ R - add d64 and fp64 along-side d and fp so people can paste status
- Rate limit exit connections to a given destination -- this helps - Rate limit exit connections to a given destination -- this helps
us play nice with websites when Tor users want to crawl them; it us play nice with websites when Tor users want to crawl them; it
also introduces DoS opportunities. also introduces DoS opportunities.
o The bw_accounting file should get merged into the state file.
- Streamline how we pick entry nodes: Make choose_random_entry() have - Streamline how we pick entry nodes: Make choose_random_entry() have
less magic and less control logic. less magic and less control logic.
- Christian Grothoff's attack of infinite-length circuit. - Christian Grothoff's attack of infinite-length circuit.