Claim some items.

svn:r4690
This commit is contained in:
Nick Mathewson 2005-08-04 18:23:21 +00:00
parent 3eb6e131b1
commit e9698eaefa

View File

@ -56,7 +56,7 @@ For 0.1.0.x:
simple to trigger. simple to trigger.
for 0.1.1.x: for 0.1.1.x:
N . Controller improvements o Controller improvements
o new controller protocol o new controller protocol
o Specify o Specify
o Implement o Implement
@ -69,34 +69,36 @@ N . Controller improvements
immediately, since tor will exit right after. immediately, since tor will exit right after.
o Implement o Implement
o Test, debug o Test, debug
- Additional features o Switch example controllers to use new protocol
o Python
o Implement main controller interface
o Glue code
o Testing
o Java
o Implement main controller interface
o Glue code
o Testing
N - Additional controller features
- Expose more information via getinfo - Expose more information via getinfo
o Accounting status o Accounting status
- Helper node status - Helper node status
- Review all static fields for candidates
- List of available getinfo/getconf fields.
- Allow EXTENDCIRCUIT to unknown server. - Allow EXTENDCIRCUIT to unknown server.
- We need some way to adjust server status, and to tell tor not to - We need some way to adjust server status, and to tell tor not to
download directories/network-status, and a way to force a download. download directories/network-status, and a way to force a download.
- It would be nice to request address lookups from the controller - It would be nice to request address lookups from the controller
without using SOCKS. without using SOCKS.
. Switch example controllers to use new protocol o Make configuration parsing code switchable to different sets of
. Python
o Implement main controller interface
o Glue code
o Testing
. Java
o Implement main controller interface
o Glue code
o Testing
N . Make configuration parsing code switchable to different sets of
variables so we can use it for persistence. variables so we can use it for persistence.
o Implement o Implement
o Add simple type-checking o Add simple type-checking
- Rename functions to distinguish configuration-only functions from o Rename functions to distinguish configuration-only functions from
cross-format functions cross-format functions
N . helper nodes (Choose N nodes randomly; if a node dies (goes down for a N . helper nodes (Choose N nodes randomly; if a node dies (goes down for a
long time), replace it. Store nodes on disk. long time), replace it. Store nodes on disk.
o Implement (basic case) o Implement (basic case)
- Implement (persistence) o Implement (persistence)
- Document - Document
- Test, debug - Test, debug
- On sighup, if usehelpernodes changed to 1, use new circs. - On sighup, if usehelpernodes changed to 1, use new circs.
@ -111,7 +113,7 @@ N - Make a FirewallIPs to correspond to firewallPorts so I can use Tor at
first place.) Also, we should audit all users of get_pending_bytes().) first place.) Also, we should audit all users of get_pending_bytes().)
- Make it harder to circumvent bandwidth caps: look at number of bytes - Make it harder to circumvent bandwidth caps: look at number of bytes
sent across sockets, not number sent inside TLS stream. sent across sockets, not number sent inside TLS stream.
N . Handle rendezvousing with unverified nodes. . Handle rendezvousing with unverified nodes.
o Specify: Stick rendezvous point's address and port in INTRODUCE cell. o Specify: Stick rendezvous point's address and port in INTRODUCE cell.
o Handle new format. o Handle new format.
o Support to extend circuit/target circuit to a chosen combination of o Support to extend circuit/target circuit to a chosen combination of
@ -120,13 +122,15 @@ N . Handle rendezvousing with unverified nodes.
o Generate new format (#ifdef out the logic to generate it for now) o Generate new format (#ifdef out the logic to generate it for now)
o Specify: make service descriptors contain onion key and identity. o Specify: make service descriptors contain onion key and identity.
o Implement new service desc format o Implement new service desc format
- Think: are we okay with the partitioning? o Think: are we okay with the partitioning? (Yes. It's a simple
migration issue.)
o Implement new directory code o Implement new directory code
o Implement new server code (Don't enable till directory code is deployed) o Implement new server code (Don't enable till directory code is deployed)
o Implement new client code (Don't enable till directory code is deployed) o Implement new client code (Don't enable till directory code is deployed)
o Look for v1 descriptor if available, else look for v0 descriptor. o Look for v1 descriptor if available, else look for v0 descriptor.
o Use new INTRODUCE protocol if allowed. o Use new INTRODUCE protocol if allowed.
. Verify that new code works. N . Verify that new code works.
- Enable the new code
X It looks like tor_assert writes to stderr. This isn't a problem, because X It looks like tor_assert writes to stderr. This isn't a problem, because
start_daemon doesn't close fd 2; it uses dup2 to replace it with start_daemon doesn't close fd 2; it uses dup2 to replace it with
a file open to /dev/null. a file open to /dev/null.
@ -136,12 +140,12 @@ N . Handle rendezvousing with unverified nodes.
extend-data cells can be extend requests. extend-data cells can be extend requests.
- Specify, including thought about - Specify, including thought about
- Implement - Implement
- Destroy and truncated cells should have reasons. N - Destroy and truncated cells should have reasons.
- Add private:* alias in exit policies to make it easier to ban all the N - Add private:* alias in exit policies to make it easier to ban all the
fiddly little 192.168.foo addresses. fiddly little 192.168.foo addresses.
(AGL had a patch; consider applying it.) (AGL had a patch; consider applying it.)
- recommended-versions for client / server ? - recommended-versions for client / server ?
- warn if listening for SOCKS on public IP. N - warn if listening for SOCKS on public IP.
o Forward-compatibility: add "needclientversion" option or "opt critical" o Forward-compatibility: add "needclientversion" option or "opt critical"
prefix? No, just make unknown keywords less critical. prefix? No, just make unknown keywords less critical.
- cpu fixes: - cpu fixes: