mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 06:13:31 +01:00
sort TODO items in tier 1 and 2 by category. This needs more work.
svn:r3214
This commit is contained in:
parent
9140b32170
commit
ae25115704
180
doc/TODO
180
doc/TODO
@ -12,91 +12,145 @@ ARMA - arma claims
|
||||
|
||||
For 0.0.9:
|
||||
|
||||
o Solve the MSVC nuisance where __FILE__ contains the full path.
|
||||
People are getting confused about why their errors are coming from
|
||||
C:\Documents and Settings\Nick Mathewson\My Documents\src\tor .
|
||||
N&R. bring tor-spec up to date
|
||||
N&R. make loglevels info,debug less noisy
|
||||
N . OS X package (and bundle?)
|
||||
N . Working RPMs
|
||||
N - Get win32 servers working, or find out why it isn't happening now.
|
||||
|
||||
************************ For Post 0.0.9 *****************************
|
||||
|
||||
Tier one:
|
||||
- niels's "did it fail because conn refused or timeout or what"
|
||||
relay end feature.
|
||||
- if a version is later than the last in its series, but a version
|
||||
in the next series is recommended, that doesn't mean it's bad.
|
||||
- fix dfc/weasel's intro point bug
|
||||
- support hostnames as well as IPs for authdirservers.
|
||||
N - OS X package (and bundle?)
|
||||
N - Make millisecond accuracy work on win32
|
||||
- Make more configuration variables into CSVs.
|
||||
- Once we have a trusted directory on port 80, stop falling back to
|
||||
forbidden ports when fascistfirewall blocks all good dirservers.
|
||||
- Convert man pages to pod, or whatever's right.
|
||||
- Move to our new version system.
|
||||
- Get more nodes running on 80 and 443.
|
||||
- Get epic, aclu, etc running nodes.
|
||||
- Start distributing an rpm with the new version scheme.
|
||||
- Bug tracker.
|
||||
- cache .foo.exit names better, or differently, or not.
|
||||
- teach connection_ap_handshake_socks_reply() about ipv6 and friends
|
||||
so connection_ap_handshake_socks_resolved() doesn't also need
|
||||
to know about them.
|
||||
- when we haven't explicitly sent a socks reject, sending one in
|
||||
connection_about_to_close_connection() fails because we never give
|
||||
it a chance to flush. right answer is to do the socks reply manually
|
||||
in each appropriate case, and then about-to-close-connection can
|
||||
simply warn us if we forgot one.
|
||||
- Solve the MSVC nuisance where __FILE__ contains the full path.
|
||||
People are getting confused about why their errors are coming from
|
||||
C:\Documents and Settings\Nick Mathewson\My Documents\src\tor .
|
||||
- GPSLocation optional config string.
|
||||
- Figure out how to make the rpm not strip the binaries it makes.
|
||||
o Move to our new version system.
|
||||
- Changes for forward compatibility
|
||||
- If a version is later than the last in its series, but a version
|
||||
in the next series is recommended, that doesn't mean it's bad.
|
||||
|
||||
- Bugfixes
|
||||
- fix dfc/weasel's intro point bug
|
||||
- when we haven't explicitly sent a socks reject, sending one in
|
||||
connection_about_to_close_connection() fails because we never give it
|
||||
a chance to flush. right answer is to do the socks reply manually in
|
||||
each appropriate case, and then about-to-close-connection can simply
|
||||
warn us if we forgot one.
|
||||
|
||||
- Documentation
|
||||
- Convert man pages to pod, or whatever's right. Alternatively, find
|
||||
a man2html that actually works.
|
||||
- Macintosh HOWTO page.
|
||||
|
||||
- Evangelism
|
||||
- Get more nodes running on 80 and 443.
|
||||
- Get epic, aclu, etc running nodes.
|
||||
|
||||
- Dirservers and server descs: small, backward-compatible changes
|
||||
- support hostnames as well as IPs for authdirservers.
|
||||
- If we have a trusted directory on port 80, stop falling back to
|
||||
forbidden ports when fascistfirewall blocks all good dirservers.
|
||||
- GPSLocation optional config string.
|
||||
|
||||
- SOCKS enhancements
|
||||
- niels's "did it fail because conn refused or timeout or what"
|
||||
relay end feature.
|
||||
|
||||
- Windows
|
||||
N - Make millisecond accuracy work on win32
|
||||
- Switch to WSA*Event code as a better poll replacement. Or maybe just
|
||||
do libevent?
|
||||
|
||||
- Code cleanup
|
||||
- Make more configuration variables into CSVs.
|
||||
|
||||
- Support
|
||||
- Bug tracker.
|
||||
|
||||
- Exit hostname support
|
||||
- cache .foo.exit names better, or differently, or not.
|
||||
|
||||
- IPv6 support
|
||||
- teach connection_ap_handshake_socks_reply() about ipv6 and friends
|
||||
so connection_ap_handshake_socks_resolved() doesn't also need
|
||||
to know about them.
|
||||
|
||||
- Packaging
|
||||
- Figure out how to make the rpm not strip the binaries it makes.
|
||||
|
||||
|
||||
Tier two:
|
||||
|
||||
- Handle pools of waiting circuits better.
|
||||
- Limit number of circuits that we preemptively generate based on past
|
||||
behavior; use same limits in circuit_expire_old_circuits().
|
||||
- Let more config options (e.g. ORPort) change dynamically.
|
||||
- Write limiting; configurable token buckets.
|
||||
- Only the top of a directory needs to be signed.
|
||||
- Make sure logged information is 'safe'.
|
||||
- make advertised_server_mode() ORs fetch dirs more often.
|
||||
- Efficiency/speed improvements.
|
||||
- Handle pools of waiting circuits better.
|
||||
- Limit number of circuits that we preemptively generate based on past
|
||||
behavior; use same limits in circuit_expire_old_circuits().
|
||||
- Write limiting; configurable token buckets.
|
||||
- Switch to libevent? Evaluate it first.
|
||||
- Make it harder to circumvent bandwidth caps: look at number of bytes
|
||||
sent across sockets, not number sent inside TLS stream.
|
||||
|
||||
|
||||
- QOI
|
||||
- Let more config options (e.g. ORPort) change dynamically.
|
||||
|
||||
- Dirservers and server descs: small, backward-compatible changes
|
||||
- make advertised_server_mode() ORs fetch dirs more often.
|
||||
- Implement If-Modified-Since for directories.
|
||||
|
||||
- Big, incompatible re-architecting and decentralization of directory
|
||||
system.
|
||||
- Only the top of a directory needs to be signed.
|
||||
|
||||
- Windows
|
||||
N - Clean up NT service code; make it work
|
||||
- Get a controller to launch tor and keep it on the system tray.
|
||||
- Win32 installer plus privoxy, sockscap/freecap, etc.
|
||||
|
||||
- Controller enhancements.
|
||||
- controller should have 'getinfo' command to query about rephist,
|
||||
about rendezvous status, etc.
|
||||
|
||||
N - Clean up NT service code
|
||||
- Work as an NT service; on system tray; etc.
|
||||
- Win32 installer plus privoxy, sockscap/freecap, etc.
|
||||
- controller should have 'getinfo' command to query about rephist,
|
||||
about rendezvous status, etc.
|
||||
- Implement If-Modified-Since for directories.
|
||||
N - Handle rendezvousing with unverified nodes.
|
||||
- Specify: Stick rendezvous point's key in INTRODUCE cell.
|
||||
Bob should _always_ use key from INTRODUCE cell.
|
||||
- Implement.
|
||||
N - add ipv6 support.
|
||||
|
||||
N - IPv6 support (For exit addresses)
|
||||
- Spec issue: if a resolve returns an IP4 and an IP6 address,
|
||||
which to use?
|
||||
- christian grothoff's attack of infinite-length circuit.
|
||||
the solution is to have a separate 'extend-data' cell type
|
||||
which is used for the first N data cells, and only
|
||||
extend-data cells can be extend requests.
|
||||
. rename/rearrange functions for what file they're in
|
||||
- Add to exit policy code
|
||||
- Make tor_gethostbyname into tor_getaddrinfo
|
||||
- Make everything that uses uint32_t as an IP address change to use
|
||||
a generalize address struct.
|
||||
- Change relay cell types to accept new addresses.
|
||||
- Add flag to serverdescs to tell whether IPv6 is supported.
|
||||
- When should servers
|
||||
|
||||
- Security fixes
|
||||
- christian grothoff's attack of infinite-length circuit.
|
||||
the solution is to have a separate 'extend-data' cell type
|
||||
which is used for the first N data cells, and only
|
||||
extend-data cells can be extend requests.
|
||||
- Make sure logged information is 'safe'.
|
||||
|
||||
- Code cleanup
|
||||
. rename/rearrange functions for what file they're in
|
||||
- fix router_get_by_* functions so they can get ourselves too,
|
||||
and audit everything to make sure rend and intro points are
|
||||
just as likely to be us as not.
|
||||
|
||||
- Bugfixes
|
||||
- hidserv offerers shouldn't need to define a SocksPort
|
||||
* figure out what breaks for this, and do it.
|
||||
- should retry exitpolicy end streams even if the end cell didn't
|
||||
resolve the address for you
|
||||
|
||||
- tor should be able to have a pool of outgoing IP addresses
|
||||
that it is able to rotate through. (maybe)
|
||||
- hidserv offerers shouldn't need to define a SocksPort
|
||||
* figure out what breaks for this, and do it.
|
||||
- should retry exitpolicy end streams even if the end cell didn't
|
||||
resolve the address for you
|
||||
- Make it harder to circumvent bandwidth caps: look at number of bytes
|
||||
sent across sockets, not number sent inside TLS stream.
|
||||
- fix router_get_by_* functions so they can get ourselves too,
|
||||
and audit everything to make sure rend and intro points are
|
||||
just as likely to be us as not.
|
||||
|
||||
Packaging, docs, etc:
|
||||
- Exit node caching: tie into squid or other caching web proxy.
|
||||
- FAQ.
|
||||
- Website spiffying. Logo. Pictures.
|
||||
- Configuration walk-through with screenshots of each step.
|
||||
|
||||
Deferred until needed:
|
||||
- Do something to prevent spurious EXTEND cells from making middleman
|
||||
|
Loading…
Reference in New Issue
Block a user