diff options
author | Roger Dingledine <arma@torproject.org> | 2005-03-26 00:46:02 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2005-03-26 00:46:02 +0000 |
commit | e203d47192135079c34a6cf29307de5220126ee6 (patch) | |
tree | f66dafcb566566988520741314e9f72ebb1a104a /ChangeLog | |
parent | 5c0e6b587ae5813b65a2750ecfec8396e3f8b44f (diff) | |
download | tor-e203d47192135079c34a6cf29307de5220126ee6.tar tor-e203d47192135079c34a6cf29307de5220126ee6.tar.gz |
first cut of a 0.1.0.1-rc1 changelog
svn:r3881
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 188 |
1 files changed, 188 insertions, 0 deletions
@@ -1,3 +1,191 @@ +Changes in version 0.1.0.1-rc1 - 2005-03-xx + + o New features: + - Add reachability testing. Your Tor server will automatically try + to see if its ORPort and DirPort are reachable from the outside, + and it won't upload its descriptor until it decides they are. + - Handle unavailable hidden services better. Handle slow or busy + hidden services better. + - Add support for CONNECTing through https proxies, with "HttpsProxy" + config option. + - New exit policy: accept most low-numbered ports, rather than + rejecting most low-numbered ports. + - More Tor controller support (still experimental). See + http://tor.eff.org/doc/control-spec.txt for all the new features, + including signals to emulate unix signals from any platform; + redirectstream; extendcircuit; mapaddress; getinfo; postdescriptor; + closestream; closecircuit; etc. + - Make nt services work and start on startup on win32 (based on + patch by Matt Edman). + - Add a new AddressMap config directive to rewrite incoming socks + addresses. This lets you, for example, declare an implicit + required exit node for certain sites. + - Add a new TrackHostExits config directive to trigger addressmaps + for certain incoming socks addresses -- for sites that break when + your exit keeps changing. + - Redo the client-side dns cache so it's just an addressmap too. + - Notice when our IP changes, and reset stats/uptime/reachability. + - When an application is using socks5, give him the whole variety of + potential socks5 responses (connect refused, host unreachable, etc), + rather than just "success" or "failure". + - A more sane version numbering system. See + http://tor.eff.org/cvs/tor/doc/version-spec.txt for details. + - New contributed script "exitlist": a simple python script to + parse directories and find tor nodes that exit to listed + nodes/ports. + - New contributed script "privoxy-tor-toggle" to toggle whether + privoxy uses tor. Seems to be configured for debian by default. + - Report HTTP reasons to when getting a response from directory + servers -- so you can actually know what went wrong. + - New config option MaxAdvertisedBandwidth which lets you advertise + a low bandwidthrate (to not attract as many circuits) while still + allowing a higher bandwidthrate in reality. + + o Robustness/stability fixes: + - Make Tor use Niels Provos's libevent instead of its current + poll-but-sometimes-select mess. This will let us use faster async + cores (like epoll, kpoll, and /dev/poll), and hopefully work better + on Windows too. + - pthread support now too. This was forced because when we forked, + we ended up wasting a lot of duplicate ram over time. Also switch + to foo_r versions of some library calls to allow reentry and + threadsafeness. + - Better handling for heterogeneous / unreliable nodes: + - Annotate circuits w/ whether they aim to contain high uptime nodes + and/or high capacity nodes. When building circuits, choose + appropriate nodes. + - This means that every single node in an intro rend circuit, + not just the last one, will have a minimum uptime. + - New config option LongLivedPorts to indicate application streams + that will want high uptime circuits. + - When attaching a stream to a circuit, pay attention to its + requirements. + - Servers reset uptime when a dir fetch entirely fails. This + hopefully reflects stability of the server's network connectivity. + - If somebody starts his tor server in Jan 2004 and then fixes his + clock, don't make his published uptime be a year. + - Reset published uptime when you wake up from hibernation. + - Introduce a notion of 'internal' circs, which are chosen without + regard to the exit policy of the last hop. Intro and rendezvous + circs must be internal circs, to avoid leaking information. Resolve + and connect streams can use internal circs if they want. + - New circuit pooling algorithm: make sure to have enough circs around + to satisfy any predicted ports, and also make sure to have 2 internal + circs around if we've required internal circs lately (with high + uptime if we've seen that lately). + - Split NewCircuitPeriod option into NewCircuitPeriod (30 secs), + which describes how often we retry making new circuits if current + ones are dirty, and MaxCircuitDirtiness (10 mins), which describes + how long we're willing to make use of an already-dirty circuit. + - Cannibalize GENERAL circs to be C_REND, C_INTRO, S_INTRO, and S_REND + circ as necessary, if there are any completed ones lying around + when we try to launch one. + - Make hidden services try to establish a rendezvous for 30 seconds, + rather than for n (where n=3) attempts to build a circuit. + - Change SHUTDOWN_WAIT_LENGTH from a fixed 30 secs to a config option + "ShutdownWaitLength". + - Try to be more zealous about calling connection_edge_end when + things go bad with edge conns in connection.c. + - Revise tor-spec to add more/better stream end reasons. + - Revise all calls to connection_edge_end to avoid sending "misc", + and to take errno into account where possible. + + o Bug fixes: + - Fix several double-mark-for-close bugs, e.g. where we were finding + a conn for a cell even if that conn is already marked for close. + - Make sequence of log messages when starting on win32 with no config + file more reasonable. + - When choosing an exit node for a new non-internal circ, don't take + into account whether it'll be useful for any pending x.onion + addresses -- it won't. + - Turn addr_policy_compare from a tristate to a quadstate; this should + help address our "Ah, you allow 1.2.3.4:80. You are a good choice + for google.com" problem. + - Make "platform" string in descriptor more accurate for Win32 servers, + so it's not just "unknown platform". + - Fix an edge case in parsing config options (thanks weasel) + if they say "--" on the commandline, it's not an option + - Reject odd-looking addresses at the client (e.g. addresses that + contain a colon), rather than having the server drop them because + they're malformed. + - tor-resolve requests were ignoring .exit if there was a working circuit + they could use instead. + - REUSEADDR on normal platforms means you can rebind to the port + right after somebody else has let it go. But REUSEADDR on win32 + means to let you bind to the port _even when somebody else + already has it bound_. So, don't do that on Win32. + - Change version parsing logic: a version is "obsolete" if it is not + recommended and (1) there is a newer recommended version in the + same series, or (2) there are no recommended versions in the same + series, but there are some recommended versions in a newer series. + A version is "new" if it is newer than any recommended version in + the same series. + + o Helpful fixes: + - Require BandwidthRate to be at least 20kB/s for servers + - When a dirserver causes you to give a warn, mention which dirserver + it was. + - New config option DirAllowPrivateAddresses for authdirservers. + Now by default they refuse router descriptors that have non-IP or + private-IP addresses. + - Stop publishing socksport in the directory, since it's not + actually meant to be public. For compatibility, publish a 0 there + for now. + - Change DirFetchPeriod/StatusFetchPeriod to have a special "Be + smart" value, that is low for servers and high for clients. + - If our clock jumps forward by 100 seconds or more, assume something + has gone wrong with our network and abandon all not-yet-used circs. + - Warn when exit policy implicitly allows local addresses. + - If we get an incredibly skewed timestamp from a dirserver mirror + that isn't a verified OR, don't warn -- it's probably him that's + wrong. + - Since we ship our own privoxy on os x, tweak it so it doesn't write + cookies to disk and doesn't log each web request to disk. (Thanks + to Brett Carrington for pointing this out.) + - When a client asks us for a dir mirror and we don't have one, + launch an attempt to get a fresh one. + - If we're hibernating and we get a sigint, exit immediately. + - Add --with-dmalloc ./configure option, to track memory leaks. + - And try to free all memory on closing, so we can detect what + we're leaking. + - Cache local dns resolves correctly even when they're .exit + addresses. + - Give a better warning when some other server advertises an + ORPort that is actually an apache running ssl. + - Add "opt hibernating 1" to server descriptor to make it clearer + whether the server is hibernating. + + +Changes in version 0.0.9.6 - 2005-03-24 + o Bugfixes on 0.0.9.x (crashes and asserts): + - Add new end stream reasons to maintainance branch. Fix bug where + reason (8) could trigger an assert. Prevent bug from recurring. + - Apparently win32 stat wants paths to not end with a slash. + - Fix assert triggers in assert_cpath_layer_ok(), where we were + blowing away the circuit that conn->cpath_layer points to, then + checking to see if the circ is well-formed. Backport check to make + sure we dont use the cpath on a closed connection. + - Prevent circuit_resume_edge_reading_helper() from trying to package + inbufs for marked-for-close streams. + - Don't crash on hup if your options->address has become unresolvable. + - Some systems (like OS X) sometimes accept() a connection and tell + you the remote host is 0.0.0.0:0. If this happens, due to some + other mis-features, we get confused; so refuse the conn for now. + + o Bugfixes on 0.0.9.x (other): + - Fix harmless but scary "Unrecognized content encoding" warn message. + - Add new stream error reason: TORPROTOCOL reason means "you are not + speaking a version of Tor I understand; say bye-bye to your stream." + - Be willing to cache directories from up to ROUTER_MAX_AGE seconds + into the future, now that we are more tolerant of skew. This + resolves a bug where a Tor server would refuse to cache a directory + because all the directories it gets are too far in the future; + yet the Tor server never logs any complaints about clock skew. + - Mac packaging magic: make man pages useable, and do not overwrite + existing torrc files. + - Make OS X log happily to /var/log/tor/tor.log + + Changes in version 0.0.9.5 - 2005-02-22 o Bugfixes on 0.0.9.x: - Fix an assert race at exit nodes when resolve requests fail. |