|
@@ -1,58 +1,55 @@
|
|
-Changes in version 0.1.2.1-alpha - 2006-08-16 (in progress)
|
|
|
|
- o Major changes:
|
|
|
|
- - Add async dns code from Adam Langley, tweaked to build on OSX
|
|
|
|
- and Windows. Only enabled when you pass the --enable-eventdns
|
|
|
|
- argument to configure. Implement a priority queue to track
|
|
|
|
- when cached DNS resolves will expire, now that we obey the
|
|
|
|
- time-to-live (TTL) values we get back.
|
|
|
|
- - Stop fetching descriptors if you're not a dir mirror and you
|
|
|
|
- haven't tried to establish any circuits lately. This currently
|
|
|
|
- causes some dangerous behavior, because when you start up again
|
|
|
|
- you'll use your ancient server descriptors.
|
|
|
|
|
|
+Changes in version 0.1.2.1-alpha - 2006-08-27
|
|
|
|
+ o Major features:
|
|
|
|
+ - Add "eventdns" async dns library from Adam Langley, tweaked to
|
|
|
|
+ build on OSX and Windows. It's enabled by default on all platforms
|
|
|
|
+ but Windows.
|
|
|
|
+ - Allow servers with no hostname or IP address to learn their
|
|
|
|
+ IP address by asking the directory authorities. This code only
|
|
|
|
+ kicks in when you would normally have exited with a "no address"
|
|
|
|
+ error. Nothing's authenticated, so use with care.
|
|
|
|
+ - Rather than waiting a fixed amount of time between retrying
|
|
|
|
+ application connections, we wait only 5 seconds for the first,
|
|
|
|
+ 10 seconds for the second, and 15 seconds for each retry after
|
|
|
|
+ that. Hopefully this will improve the expected user experience.
|
|
|
|
+ - Patch from Tup to add support for transparent AP connections:
|
|
|
|
+ this basically bundles the functionality of trans-proxy-tor
|
|
|
|
+ into the Tor mainline. Now hosts with compliant pf/netfilter
|
|
|
|
+ implementations can redirect TCP connections straight to Tor
|
|
|
|
+ without diverting through SOCKS. Needs docs.
|
|
|
|
+ - Busy directory servers save lots of memory by spooling server
|
|
|
|
+ descriptors, v1 directories, and v2 networkstatus docs to buffers
|
|
|
|
+ as needed rather than en masse. Also mmap the cached-routers
|
|
|
|
+ files, so we don't need to keep the whole thing in memory too.
|
|
|
|
+ - Automatically avoid picking more than one node from the same
|
|
|
|
+ /16 network when constructing a circuit.
|
|
|
|
+ - Revise and clean up the torrc.sample that we ship with; add
|
|
|
|
+ a section for BandwidthRate and BandwidthBurst.
|
|
|
|
+
|
|
|
|
+ o Minor features:
|
|
- Split circuit_t into origin_circuit_t and or_circuit_t, and
|
|
- Split circuit_t into origin_circuit_t and or_circuit_t, and
|
|
split connection_t into edge, or, dir, control, and base structs.
|
|
split connection_t into edge, or, dir, control, and base structs.
|
|
These will save quite a bit of memory on busy servers, and they'll
|
|
These will save quite a bit of memory on busy servers, and they'll
|
|
- also help us track down bugs and spec mismatches.
|
|
|
|
- - Instead of adding server descriptors, v1 directories, or v2
|
|
|
|
- networkstatus docs to buffers en masse, directory servers add them
|
|
|
|
- on the fly as their outbufs are depleted. This will save memory
|
|
|
|
- on busy dirservers.
|
|
|
|
-
|
|
|
|
- o Minor changes:
|
|
|
|
- - New dirport behavior: if you have your dirport set, you download
|
|
|
|
- descriptors aggressively like a directory mirror, whether or not
|
|
|
|
- your orport is set.
|
|
|
|
- - Minor changes so Tor builds with mingw on windows.
|
|
|
|
- - Start compiling on MSVC6 now. Patch from Frediano Ziglio.
|
|
|
|
- - Claim a commonname of Tor, rather than TOR, in TLS handshakes.
|
|
|
|
- - Re-enable per-connection rate limiting. Get rid of the "OP
|
|
|
|
- bandwidth" concept. Lay groundwork for "bandwidth classes" --
|
|
|
|
- separate global buckets that apply depending on what sort of conn
|
|
|
|
- it is.
|
|
|
|
- - Add a man page entry for ProtocolWarnings.
|
|
|
|
- - Add more asserts to track down an assert error on a windows Tor
|
|
|
|
- server with connection_add being called with socket == -1.
|
|
|
|
- - Add TestVia config option to the man page.
|
|
|
|
-
|
|
|
|
- - Allow Tor to start when RunAsDaemon is set but no logs are set.
|
|
|
|
-
|
|
|
|
|
|
+ also help us track down bugs in the code and bugs in the spec.
|
|
|
|
+ - Experimentally re-enable kqueue on OSX when using libevent 1.1b
|
|
|
|
+ or later. Log when we are doing this, so we can diagnose it when
|
|
|
|
+ it fails. (Also, recommend libevent 1.1b for kqueue and
|
|
|
|
+ win32 methods; deprecate libevent 1.0b harder; make libevent
|
|
|
|
+ recommendation system saner.)
|
|
|
|
+ - Start being able to build universal binaries on OS X (thanks
|
|
|
|
+ to Phobos).
|
|
- Export the default exit policy via the control port, so controllers
|
|
- Export the default exit policy via the control port, so controllers
|
|
don't need to guess what it is / will be later.
|
|
don't need to guess what it is / will be later.
|
|
-
|
|
|
|
- - Fix configure.in to not produce broken configure files with
|
|
|
|
- more recent versions of autoconf. Thanks to Clint for his auto*
|
|
|
|
- voodoo.
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- - mmap cached-routers file too.
|
|
|
|
-
|
|
|
|
- - refuse to write an iso_time which we can't parse, when dumping
|
|
|
|
- bandwidth state. this fixes the particular incident in bug 308,
|
|
|
|
- but the general issue remains.
|
|
|
|
-
|
|
|
|
- - Drop compatibility with obsolete Tors that permit create cells
|
|
|
|
- to have the wrong circ_id_type.
|
|
|
|
-
|
|
|
|
|
|
+ - Add a man page entry for ProtocolWarnings.
|
|
|
|
+ - Add TestVia config option to the man page.
|
|
|
|
+ - Remove even more protocol-related warnings from Tor server logs,
|
|
|
|
+ such as bad TLS handshakes and malformed begin cells.
|
|
|
|
+ - Stop fetching descriptors if you're not a dir mirror and you
|
|
|
|
+ haven't tried to establish any circuits lately. [This currently
|
|
|
|
+ causes some dangerous behavior, because when you start up again
|
|
|
|
+ you'll use your ancient server descriptors.]
|
|
|
|
+ - New DirPort behavior: if you have your dirport set, you download
|
|
|
|
+ descriptors aggressively like a directory mirror, whether or not
|
|
|
|
+ your ORPort is set.
|
|
- Get rid of the router_retry_connections notion. Now routers
|
|
- Get rid of the router_retry_connections notion. Now routers
|
|
no longer try to rebuild long-term connections to directory
|
|
no longer try to rebuild long-term connections to directory
|
|
authorities, and directory authorities no longer try to rebuild
|
|
authorities, and directory authorities no longer try to rebuild
|
|
@@ -60,74 +57,67 @@ Changes in version 0.1.2.1-alpha - 2006-08-16 (in progress)
|
|
connections in these two cases though -- we need to look at it
|
|
connections in these two cases though -- we need to look at it
|
|
more carefully to avoid flapping, and we likely need to wait til
|
|
more carefully to avoid flapping, and we likely need to wait til
|
|
0.1.1.x is obsolete.
|
|
0.1.1.x is obsolete.
|
|
-
|
|
|
|
- - Remove even more protocol-related warnings from Tor server logs,
|
|
|
|
- such as bad TLS handshakes and malformed begin cells.
|
|
|
|
-
|
|
|
|
- - Add X-Your-Address-Is directory http header so clients can get
|
|
|
|
- some hints about their current network location. It parses
|
|
|
|
- Forwarded-For and X-Forwarded-For http headers to avoid listing
|
|
|
|
- proxy addresses if possible. It's not authenticated, so use
|
|
|
|
- with care.
|
|
|
|
- - Allow servers with no hostname or IP address to learn their
|
|
|
|
- IP address by asking the directory authorities. This code only kicks
|
|
|
|
- in when you would normally have exited with a "no address" error.
|
|
|
|
-
|
|
|
|
- - Handle reporting OR_CONN_EVENT_NEW events to the controller.
|
|
|
|
-
|
|
|
|
- - If we are using an exit enclave and we can't connect, e.g. because
|
|
|
|
- its webserver is misconfigured to not listen on localhost, then
|
|
|
|
- back off and try connecting from somewhere else before we fail.
|
|
|
|
-
|
|
|
|
|
|
+ - Drop compatibility with obsolete Tors that permit create cells
|
|
|
|
+ to have the wrong circ_id_type.
|
|
|
|
+ - Re-enable per-connection rate limiting. Get rid of the "OP
|
|
|
|
+ bandwidth" concept. Lay groundwork for "bandwidth classes" --
|
|
|
|
+ separate global buckets that apply depending on what sort of conn
|
|
|
|
+ it is.
|
|
- Start publishing one minute or so after we find our ORPort
|
|
- Start publishing one minute or so after we find our ORPort
|
|
to be reachable. This will help reduce the number of descriptors
|
|
to be reachable. This will help reduce the number of descriptors
|
|
we have for ourselves floating around, since it's quite likely
|
|
we have for ourselves floating around, since it's quite likely
|
|
other things (e.g. DirPort) will change during that minute too.
|
|
other things (e.g. DirPort) will change during that minute too.
|
|
-
|
|
|
|
- - When we find our dirport to be reachable, mark our descriptor
|
|
|
|
- dirty so we'll tell the world. (fixes bug 306 reported by pnx)
|
|
|
|
-
|
|
|
|
- - Define a schedule for how long to wait between retrying
|
|
|
|
- application connections. Rather than waiting a fixed amount of
|
|
|
|
- time between each retry, we wait only 5 seconds for the first,
|
|
|
|
- 10 seconds for the second, and 15 seconds for each retry after
|
|
|
|
- that. Hopefully this will improve the expected user experience.
|
|
|
|
-
|
|
|
|
- - Also, fork the v1 directory protocol into its own spec document,
|
|
|
|
|
|
+ - Fork the v1 directory protocol into its own spec document,
|
|
and mark dir-spec.txt as the currently correct (v2) spec.
|
|
and mark dir-spec.txt as the currently correct (v2) spec.
|
|
|
|
|
|
|
|
+ o Major bugfixes:
|
|
|
|
+ - When we find our DirPort to be reachable, publish a new descriptor
|
|
|
|
+ so we'll tell the world (reported by pnx).
|
|
|
|
+ - Publish a new descriptor after we hup/reload. This is important
|
|
|
|
+ if our config has changed such that we'll want to start advertising
|
|
|
|
+ our DirPort now, etc.
|
|
|
|
+ - Allow Tor to start when RunAsDaemon is set but no logs are set.
|
|
|
|
+ - When we have a state file we cannot parse, tell the user and
|
|
|
|
+ move it aside. Now we avoid situations where the user starts
|
|
|
|
+ Tor in 1904, Tor writes a state file with that timestamp in it,
|
|
|
|
+ the user fixes her clock, and Tor refuses to start.
|
|
|
|
+ - Fix configure.in to not produce broken configure files with
|
|
|
|
+ more recent versions of autoconf. Thanks to Clint for his auto*
|
|
|
|
+ voodoo.
|
|
|
|
+ - "tor --verify-config" now exits with -1(255) or 0 depending on
|
|
|
|
+ whether the config options are bad or good.
|
|
|
|
+ - Resolve bug 321 when using dnsworkers: append a period to every
|
|
|
|
+ address we resolve at the exit node, so that we do not accidentally
|
|
|
|
+ pick up local addresses, and so that failing searches are retried
|
|
|
|
+ in the resolver search domains. (This is already solved for
|
|
|
|
+ eventdns.) (This breaks Blossom servers for now.)
|
|
|
|
+ - If we are using an exit enclave and we can't connect, e.g. because
|
|
|
|
+ its webserver is misconfigured to not listen on localhost, then
|
|
|
|
+ back off and try connecting from somewhere else before we fail.
|
|
|
|
+
|
|
|
|
+ o Minor bugfixes:
|
|
|
|
+ - Start compiling on MinGW on Windows (patches from Mike Chiussi).
|
|
|
|
+ - Start compiling on MSVC6 on Windows (patches from Frediano Ziglio).
|
|
|
|
+ - Fix bug 314: Tor clients issued "unsafe socks" warnings even
|
|
|
|
+ when the IP address is mapped through MapAddress to a hostname.
|
|
|
|
+ - Start passing "ipv4" hints to getaddrinfo(), so servers don't do
|
|
|
|
+ useless IPv6 DNS resolves.
|
|
|
|
+ - Patch suggested by Karsten Loesing: respond to SIGNAL command
|
|
|
|
+ before we execute the signal, in case the signal shuts us down.
|
|
|
|
+ - Clean up AllowInvalidNodes man page entry.
|
|
|
|
+ - Claim a commonname of Tor, rather than TOR, in TLS handshakes.
|
|
|
|
+ - Add more asserts to track down an assert error on a windows Tor
|
|
|
|
+ server with connection_add being called with socket == -1.
|
|
|
|
+ - Handle reporting OR_CONN_EVENT_NEW events to the controller.
|
|
- Fix misleading log messages: an entry guard that is "unlisted",
|
|
- Fix misleading log messages: an entry guard that is "unlisted",
|
|
as well as not known to be "down" (because we've never heard
|
|
as well as not known to be "down" (because we've never heard
|
|
of it), is not therefore "up".
|
|
of it), is not therefore "up".
|
|
-
|
|
|
|
- - Publish a new descriptor after we hup. this is important if our
|
|
|
|
- config has changed such that we'll want to start advertising our
|
|
|
|
- dirport now, etc.
|
|
|
|
-
|
|
|
|
- Remove code to special-case "-cvs" ending, since it has not
|
|
- Remove code to special-case "-cvs" ending, since it has not
|
|
actually mattered since 0.0.9.
|
|
actually mattered since 0.0.9.
|
|
-
|
|
|
|
- - Revise and clean up the torrc.sample that we ship with; add
|
|
|
|
- a section for BandwidthRate and BandwidthBurst.
|
|
|
|
-
|
|
|
|
- - Recommend libevent 1.1b for kqueue and win32 methods; deprecate
|
|
|
|
- libevent 1.0b harder; make libevent recommendation system saner.
|
|
|
|
-
|
|
|
|
- - Experimentally re-enable kqueue on OSX when using libevent 1.1b
|
|
|
|
- or later. Log when we are doing this, so we can diagnose it when
|
|
|
|
- it fails.
|
|
|
|
-
|
|
|
|
- - Patch from Tup to add support for transparent AP connections:
|
|
|
|
- this basically bundles the functionality of trans-proxy-tor
|
|
|
|
- into the Tor mainline. Now hosts with compliant pf/netfilter
|
|
|
|
- implementations can redirect TCP connections straight to Tor
|
|
|
|
- without diverting through SOCKS.
|
|
|
|
-
|
|
|
|
- - Start being able to build universal binaries on OS X (thanks
|
|
|
|
- to Phobos).
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ - Make our socks5 handling more robust to broken socks clients:
|
|
|
|
+ throw out everything waiting on the buffer in between socks
|
|
|
|
+ handshake phases, since they can't possibly (so the theory
|
|
|
|
+ goes) have predicted what we plan to respond to them.
|
|
|
|
|
|
|
|
|
|
Changes in version 0.1.1.23 - 2006-07-30
|
|
Changes in version 0.1.1.23 - 2006-07-30
|