r11625@Kushana: nickm | 2006-12-17 03:47:12 -0500

TODO edits.  Hm, 0.1.2.x-rc feels quite close.


svn:r9144
This commit is contained in:
Nick Mathewson 2006-12-17 08:49:09 +00:00
parent b3b75a3bef
commit 06914b5e00

View File

@ -25,7 +25,6 @@ x - When we've been idle a long time, we stop fetching server
x - If the client's clock is too far in the past, it will drop (or x - If the client's clock is too far in the past, it will drop (or
just not try to get) descriptors, so it'll never build circuits. just not try to get) descriptors, so it'll never build circuits.
N - Bug 326: make eventdns thrash less.
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.
@ -33,6 +32,8 @@ N - Stop recommending exits as guards?
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.
R - Reconstruct ChangeLog; put rolled-up info in ReleaseNotes or something.
Items for 0.1.2.x: Items for 0.1.2.x:
- Now that we're avoiding exits when picking non-exit positions, - Now that we're avoiding exits when picking non-exit positions,
we need to consider how to pick nodes for internal circuits. If we need to consider how to pick nodes for internal circuits. If
@ -83,9 +84,14 @@ N - Hunt for places that change networkstatus info that I might have
d - A way to adjust router flags from the controller d - A way to adjust router flags from the controller
d - a way to pick entries based wholly on extend_info equivalent; d - a way to pick entries based wholly on extend_info equivalent;
a way to export extend_info equivalent. a way to export extend_info equivalent.
R - option to dl directory info via tor R . option to dl directory info via tor
- Make an option like __AllDirActionsPrivate that falls back to o Make an option like __AllDirActionsPrivate that falls back to
non-Tor DL when not enough info present. non-Tor DL when not enough info present. (TunnelDirCons).
- Set default to 0 before release candidate.
- Think harder about whether TunnelDirConns should be on
by default.
- Handle case where we have no descriptors and so don't know who can
handle BEGIN_DIR.
D Count TLS bandwidth more accurately D Count TLS bandwidth more accurately
N - DNS improvements N - DNS improvements
@ -101,11 +107,11 @@ N - DNS improvements
D Make API closer to getaddrinfo() D Make API closer to getaddrinfo()
o Teach evdns about ipv6. o Teach evdns about ipv6.
- Make evdns use windows strerror equivalents. - Make evdns use windows strerror equivalents.
- Teach evdns to be able to listen for requests to be processed. o Teach evdns to be able to listen for requests to be processed.
o Design interface. o Design interface.
o Rename stuff; current names suck. o Rename stuff; current names suck.
o Design backend. o Design backend.
. Implement o Implement
o Listen for questions o Listen for questions
o Parse questions, tell user code o Parse questions, tell user code
o Let user code tell us the answer o Let user code tell us the answer
@ -116,14 +122,14 @@ N - DNS improvements
o Be efficient about labels. o Be efficient about labels.
o Fix the interface for flags and flag handling. o Fix the interface for flags and flag handling.
o Generate truncated responses correctly. o Generate truncated responses correctly.
- Comment everything. o Comment everything.
o Clean up XXXX items o Clean up XXXX items
. Test o Test
- Add some kind of general question/response API so libevent can be D Add some kind of general question/response API so libevent can be
flexible here. flexible here.
d - Add option to use /etc/hosts? X Add option to use /etc/hosts?
d - Special-case localhost? X Special-case localhost?
- Verify that it works on windows - Verify that it works well on windows
. Make reverse DNS work. . Make reverse DNS work.
. Add client-side interface . Add client-side interface
o SOCKS interface: specify o SOCKS interface: specify
@ -136,12 +142,20 @@ d - Special-case localhost?
server, and bad software that tries to do DNS lookups on whole URLs.) server, and bad software that tries to do DNS lookups on whole URLs.)
- address_is_invalid_destination() is the right thing to call here - address_is_invalid_destination() is the right thing to call here
(and feel free to make that function smarter) (and feel free to make that function smarter)
- Bug 364: notice when all the DNS requests we get back (including a few
d - Eventdns improvements well-known sites) are all going to the same place.
- Have a way to query for AAAA and A records simultaneously. - Bug 363: Warn and die if we can't find a nameserver and we're running a
- Improve request API: At the very least, add the ability to construct server; don't fall back to 127.0.0.1.
a more-or-less arbitrary request and get a response. - Bug 326: Give fewer error messages from nameservers.
- (Can we suppress cnames? Should we?) - Only warn when _all_ nameservers are down; otherwise info.
- Increase timeout; what's industry standard?
- Alternatively, raise timeout when nameserver dies but comes back
quickly?
- 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?
- Possibly, don't warn until second retry of a nameserver gets no
answer?
- Performance improvements - Performance improvements
@ -278,6 +292,12 @@ R - "bandwidth classes", for incoming vs initiated-here conns,
. Figure out v0 compatibility. . Figure out v0 compatibility.
- Implement - Implement
- Eventdns improvements
- Have a way to query for AAAA and A records simultaneously.
- Improve request API: At the very least, add the ability to construct
a more-or-less arbitrary request and get a response.
- (Can we suppress cnames? Should we?)
Minor items for 0.1.2.x as time permits: Minor items for 0.1.2.x as time permits:
D don't do dns hijacking tests if we're reject *:* exit policy? D don't do dns hijacking tests if we're reject *:* exit policy?
(deferred until 0.1.1.x is less common) (deferred until 0.1.1.x is less common)
@ -301,14 +321,19 @@ Minor items for 0.1.2.x as time permits:
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
who don't read their logs will still offer Tor servers. who don't read their logs will still offer Tor servers.
? - Fall back to unnamed; warn user; send controller event. - Fall back to unnamed; warn user; send controller event. ("When we
notice a 'Rejected: There is already a named server with this nickname'
message... or maybe instead when we see in the networkstatuses that
somebody else is Named with the name we want: warn the user, send a
STATUS_SERVER message, and fall back to unnamed.")
! - Tor should bind its ports before dropping privs, so users don't ! - Tor should bind its ports before dropping privs, so users don't
have to do the ipchains dance. have to do the ipchains dance.
- 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. o The bw_accounting file should get merged into the state file.
? - Streamline how we pick entry nodes. - Streamline how we pick entry nodes: Make choose_random_entry() have
less magic and less control logic.
o Better installers and build processes. o Better installers and build processes.
X Commit edmanm's win32 makefile to tor contrib, or write a new one. X Commit edmanm's win32 makefile to tor contrib, or write a new one.
(Abandoned for now; mingw is now our official windows build (Abandoned for now; mingw is now our official windows build