mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 04:13:28 +01:00
final changelog for 0.1.1.20. it is done.
svn:r6479
This commit is contained in:
parent
c1c53a0f67
commit
614bb7d7b5
216
ChangeLog
216
ChangeLog
@ -7,12 +7,12 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
Palfrader).
|
Palfrader).
|
||||||
- Fix a rare assert error when we've tried all intro points for
|
- Fix a rare assert error when we've tried all intro points for
|
||||||
a hidden service and we try fetching the service descriptor again:
|
a hidden service and we try fetching the service descriptor again:
|
||||||
"Assertion conn->state != AP_CONN_STATE_RENDDESC_WAIT failed"
|
"Assertion conn->state != AP_CONN_STATE_RENDDESC_WAIT failed".
|
||||||
- Setconf SocksListenAddress killed Tor if it fails to bind. Now back
|
- Setconf SocksListenAddress kills Tor if it fails to bind. Now back
|
||||||
out and refuse the setconf if it would fail.
|
out and refuse the setconf if it would fail.
|
||||||
- If you specify a relative torrc path and you set RunAsDaemon in
|
- If you specify a relative torrc path and you set RunAsDaemon in
|
||||||
your torrc, then it chdir()'s to the new directory. If you HUP,
|
your torrc, then it chdir()'s to the new directory. If you then
|
||||||
it tries to load the new torrc location, fails, and exits.
|
HUP, it tries to load the new torrc location, fails, and exits.
|
||||||
The fix: no longer allow a relative path to torrc when using -f.
|
The fix: no longer allow a relative path to torrc when using -f.
|
||||||
- Check for integer overflows in more places, when adding elements
|
- Check for integer overflows in more places, when adding elements
|
||||||
to smartlists. This could possibly prevent a buffer overflow
|
to smartlists. This could possibly prevent a buffer overflow
|
||||||
@ -21,7 +21,7 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
o Security fixes, major:
|
o Security fixes, major:
|
||||||
- When we're printing strings from the network, don't try to print
|
- When we're printing strings from the network, don't try to print
|
||||||
non-printable characters. Now we're safer against shell escape
|
non-printable characters. Now we're safer against shell escape
|
||||||
sequence exploits, and also against attacks to fool humans into
|
sequence exploits, and also against attacks to fool users into
|
||||||
misreading their logs.
|
misreading their logs.
|
||||||
- Implement entry guards: automatically choose a handful of entry
|
- Implement entry guards: automatically choose a handful of entry
|
||||||
nodes and stick with them for all circuits. Only pick new guards
|
nodes and stick with them for all circuits. Only pick new guards
|
||||||
@ -55,28 +55,23 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
periodically, so it's not so bad.)
|
periodically, so it's not so bad.)
|
||||||
- When we were cannibalizing a circuit with a particular exit
|
- When we were cannibalizing a circuit with a particular exit
|
||||||
node in mind, we weren't checking to see if that exit node was
|
node in mind, we weren't checking to see if that exit node was
|
||||||
already present earlier in the circuit. Oops.
|
already present earlier in the circuit. Now we are.
|
||||||
- Require server descriptors to list IPv4 addresses -- hostnames
|
- Require server descriptors to list IPv4 addresses -- hostnames
|
||||||
are no longer allowed. This also fixes some potential security
|
are no longer allowed. This also fixes potential vulnerabilities
|
||||||
problems with people providing hostnames as their address and then
|
to servers providing hostnames as their address and then
|
||||||
preferentially resolving them so they can partition users.
|
preferentially resolving them so they can partition users.
|
||||||
- Our logic to decide if the OR we connected to was the right guy
|
- Our logic to decide if the OR we connected to was the right guy
|
||||||
was brittle and maybe open to a mitm for invalid routers.
|
was brittle and maybe open to a mitm for invalid routers.
|
||||||
|
|
||||||
o Security fixes, minor:
|
o Security fixes, minor:
|
||||||
- Adjust tor-spec to parameterize cell and key lengths. Now Ian
|
- Adjust tor-spec.txt to parameterize cell and key lengths. Now
|
||||||
Goldberg can prove things about our handshake protocol more
|
Ian Goldberg can prove things about our handshake protocol more
|
||||||
easily.
|
easily.
|
||||||
- Make dirservers generate a separate "guard" flag to mean
|
- Make directory authorities generate a separate "guard" flag to
|
||||||
"would make a good entry guard". Clients now honor the "guard"
|
mean "would make a good entry guard". Clients now honor the
|
||||||
flag rather than looking at is_fast or is_stable.
|
is_guard flag rather than looking at is_fast or is_stable.
|
||||||
- Fix a possible way to DoS dirservers.
|
|
||||||
- Try to list MyFamily elements by key, not by nickname, and warn
|
- Try to list MyFamily elements by key, not by nickname, and warn
|
||||||
if we've not heard of a server.
|
if we've not heard of a server.
|
||||||
- When the client asked for a rendezvous port that the hidden
|
|
||||||
service didn't want to provide, we were sending an IP address
|
|
||||||
back along with the end cell. Fortunately, it was zero. But stop
|
|
||||||
that anyway.
|
|
||||||
- Start using RAND_bytes rather than RAND_pseudo_bytes from
|
- Start using RAND_bytes rather than RAND_pseudo_bytes from
|
||||||
OpenSSL. Also, reseed our entropy every hour, not just at
|
OpenSSL. Also, reseed our entropy every hour, not just at
|
||||||
startup. And add entropy in 512-bit chunks, not 160-bit chunks.
|
startup. And add entropy in 512-bit chunks, not 160-bit chunks.
|
||||||
@ -94,14 +89,19 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
It's important to keep them separate because internal circuits
|
It's important to keep them separate because internal circuits
|
||||||
have their last hops picked like middle hops, rather than like
|
have their last hops picked like middle hops, rather than like
|
||||||
exit hops. So exiting on them will break the user's expectations.
|
exit hops. So exiting on them will break the user's expectations.
|
||||||
|
- Fix a possible way to DoS dirservers.
|
||||||
|
- When the client asked for a rendezvous port that the hidden
|
||||||
|
service didn't want to provide, we were sending an IP address
|
||||||
|
back along with the end cell. Fortunately, it was zero. But stop
|
||||||
|
that anyway.
|
||||||
|
|
||||||
o Packaging improvements:
|
o Packaging improvements:
|
||||||
- Implement --with-libevent-dir option to ./configure. Also, improve
|
- Implement --with-libevent-dir option to ./configure. Improve
|
||||||
search techniques to find libevent, and use those for openssl too.
|
search techniques to find libevent, and use those for openssl too.
|
||||||
- Fix a couple of bugs in OpenSSL detection. Also, deal better when
|
- Fix a couple of bugs in OpenSSL detection. Deal better when
|
||||||
there are multiple SSLs installed with different versions.
|
there are multiple SSLs installed with different versions.
|
||||||
- Avoid warnings about machine/limits.h on Debian GNU/kFreeBSD.
|
- Avoid warnings about machine/limits.h on Debian GNU/kFreeBSD.
|
||||||
- On non-gcc compilers (e.g. solaris), use "-g -O" instead of
|
- On non-gcc compilers (e.g. Solaris's cc), use "-g -O" instead of
|
||||||
"-Wall -g -O2".
|
"-Wall -g -O2".
|
||||||
- Make unit tests (and other invocations that aren't the real Tor)
|
- Make unit tests (and other invocations that aren't the real Tor)
|
||||||
run without launching listeners, creating subdirectories, and so on.
|
run without launching listeners, creating subdirectories, and so on.
|
||||||
@ -116,20 +116,22 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
connections.
|
connections.
|
||||||
- Start shipping socks-extensions.txt, tor-doc-unix.html,
|
- Start shipping socks-extensions.txt, tor-doc-unix.html,
|
||||||
tor-doc-server.html, and stylesheet.css in the tarball.
|
tor-doc-server.html, and stylesheet.css in the tarball.
|
||||||
- Stop shipping tor-doc.html in the tarball.
|
- Stop shipping tor-doc.html, INSTALL, and README in the tarball.
|
||||||
- No longer ship INSTALL and README files -- they are useless now.
|
They are useless now.
|
||||||
- Add Peter Palfrader's check-tor script to tor/contrib/
|
- Add Peter Palfrader's contributed check-tor script. It lets you
|
||||||
It lets you easily check whether a given server (referenced by
|
easily check whether a given server (referenced by nickname)
|
||||||
nickname) is reachable by you.
|
is reachable by you.
|
||||||
- Add BSD-style contributed startup script "rc.subr" from Peter
|
- Add BSD-style contributed startup script "rc.subr" from Peter
|
||||||
Thoenen.
|
Thoenen.
|
||||||
|
|
||||||
o Directory improvements -- new directory protocol:
|
o Directory improvements -- new directory protocol:
|
||||||
- See tor/doc/dir-spec.txt for all the juicy details. Key points:
|
- See tor/doc/dir-spec.txt for all the juicy details. Key points:
|
||||||
|
- Authorities and caches publish individual descriptors (by
|
||||||
|
digest, by fingerprint, by "all", and by "tell me yours").
|
||||||
- Clients don't download or use the old directory anymore. Now they
|
- Clients don't download or use the old directory anymore. Now they
|
||||||
download and use network-statuses from the trusted dirservers,
|
download network-statuses from the directory authorities, and
|
||||||
and fetch individual server descriptors as needed from mirrors.
|
fetch individual server descriptors as needed from mirrors.
|
||||||
- Clients don't download descriptors for non-running servers.
|
- Clients don't download descriptors of non-running servers.
|
||||||
- Download descriptors by digest, not by fingerprint. Caches try to
|
- Download descriptors by digest, not by fingerprint. Caches try to
|
||||||
download all listed digests from authorities; clients try to
|
download all listed digests from authorities; clients try to
|
||||||
download "best" digests from caches. This avoids partitioning
|
download "best" digests from caches. This avoids partitioning
|
||||||
@ -149,16 +151,16 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
- Add a new flag to network-status indicating whether the server
|
- Add a new flag to network-status indicating whether the server
|
||||||
can answer v2 directory requests too.
|
can answer v2 directory requests too.
|
||||||
- Directory mirrors now cache up to 16 unrecognized network-status
|
- Directory mirrors now cache up to 16 unrecognized network-status
|
||||||
docs. Now we can add new authdirservers and they'll be cached too.
|
docs, so new directory authorities will be cached too.
|
||||||
- Stop parsing, storing, or using running-routers output (but
|
- Stop parsing, storing, or using running-routers output (but
|
||||||
mirrors still cache and serve it).
|
mirrors still cache and serve it).
|
||||||
- Clients consider a threshold of versioning dirservers (dirservers
|
- Clients consider a threshold of "versioning" directory authorities
|
||||||
who have an opinion about which Tor versions are still recommended)
|
|
||||||
before deciding whether to warn the user that he's obsolete.
|
before deciding whether to warn the user that he's obsolete.
|
||||||
- Publish individual descriptors (by fingerprint, by "all", and by
|
- Authorities publish separate sorted lists of recommended versions
|
||||||
"tell me yours").
|
for clients and for servers.
|
||||||
- Publish client and server recommended versions separately.
|
|
||||||
- Change DirServers config line to note which dirs are v1 authorities.
|
- Change DirServers config line to note which dirs are v1 authorities.
|
||||||
|
- Put nicknames on the DirServer line, so we can refer to them
|
||||||
|
without requiring all our users to memorize their IP addresses.
|
||||||
- Remove option when getting directory cache to see whether they
|
- Remove option when getting directory cache to see whether they
|
||||||
support running-routers; they all do now. Replace it with one
|
support running-routers; they all do now. Replace it with one
|
||||||
to see whether caches support v2 stuff.
|
to see whether caches support v2 stuff.
|
||||||
@ -169,17 +171,19 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
authorities, then don't try to cache any v1 directories.
|
authorities, then don't try to cache any v1 directories.
|
||||||
|
|
||||||
o Other directory improvements:
|
o Other directory improvements:
|
||||||
- Add lefkada.eecs.harvard.edu as a fourth authoritative directory
|
- Add lefkada.eecs.harvard.edu and tor.dizum.com as fourth and
|
||||||
server.
|
fifth authoritative directory servers.
|
||||||
- Add tor.dizum.com as the fifth authoritative directory server.
|
- Directory authorities no longer require an open connection from
|
||||||
- Authoritative dirservers no longer require an open connection from
|
|
||||||
a server to consider him "reachable". We need this change because
|
a server to consider him "reachable". We need this change because
|
||||||
when we add new auth dirservers, old servers won't know not to
|
when we add new directory authorities, old servers won't know not
|
||||||
hang up on them.
|
to hang up on them.
|
||||||
- Dir authorities now do their own external reachability testing
|
- Dir authorities now do their own external reachability testing
|
||||||
of each server, and only list as running the ones they found to
|
of each server, and only list as running the ones they found to
|
||||||
be reachable. We also send back warnings to the server's logs if
|
be reachable. We also send back warnings to the server's logs if
|
||||||
it uploads a descriptor that we already believe is unreachable.
|
it uploads a descriptor that we already believe is unreachable.
|
||||||
|
- Spread the directory authorities' reachability testing over the
|
||||||
|
entire testing interval, so we don't try to do 500 TLS's at once
|
||||||
|
every 20 minutes.
|
||||||
- Make the "stable" router flag in network-status be the median of
|
- Make the "stable" router flag in network-status be the median of
|
||||||
the uptimes of running valid servers, and make clients pay
|
the uptimes of running valid servers, and make clients pay
|
||||||
attention to the network-status flags. Thus the cutoff adapts
|
attention to the network-status flags. Thus the cutoff adapts
|
||||||
@ -188,9 +192,6 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
- Make the v2 dir's "Fast" flag based on relative capacity, just
|
- Make the v2 dir's "Fast" flag based on relative capacity, just
|
||||||
like "Stable" is based on median uptime. Name everything in the
|
like "Stable" is based on median uptime. Name everything in the
|
||||||
top 7/8 Fast, and only the top 1/2 gets to be a Guard.
|
top 7/8 Fast, and only the top 1/2 gets to be a Guard.
|
||||||
- Make directory servers return better http 404 error messages
|
|
||||||
instead of a generic "Servers unavailable".
|
|
||||||
- When writing the RecommendedVersions lines, sort them first.
|
|
||||||
- Retry directory requests if we fail to get an answer we like
|
- Retry directory requests if we fail to get an answer we like
|
||||||
from a given dirserver (we were retrying before, but only if
|
from a given dirserver (we were retrying before, but only if
|
||||||
we fail to connect).
|
we fail to connect).
|
||||||
@ -205,23 +206,23 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
entries as "don't tell this to controllers", so we avoid cycles.
|
entries as "don't tell this to controllers", so we avoid cycles.
|
||||||
- New controller function "getinfo accounting", to ask how
|
- New controller function "getinfo accounting", to ask how
|
||||||
many bytes we've used in this time period.
|
many bytes we've used in this time period.
|
||||||
- Add a "RESETCONF" command so you can set config options like
|
- Add a "resetconf" command so you can set config options like
|
||||||
AllowUnverifiedNodes and LongLivedPorts to "". Also, if you give
|
AllowUnverifiedNodes and LongLivedPorts to "". Also, if you give
|
||||||
a config option in the torrc with no value, then it clears it
|
a config option in the torrc with no value, then it clears it
|
||||||
entirely (rather than setting it to its default).
|
entirely (rather than setting it to its default).
|
||||||
- Add a "GETINFO config-file" to tell us where torrc is. Also
|
- Add a "getinfo config-file" to tell us where torrc is. Also
|
||||||
expose guard nodes, config options/names.
|
expose guard nodes, config options/names.
|
||||||
- Add a QUIT command (when when using the controller manually).
|
- Add a "quit" command (when when using the controller manually).
|
||||||
- Add a new signal NEWNYM to "change pseudonyms" -- that is, to stop
|
- Add a new signal "newnym" to "change pseudonyms" -- that is, to
|
||||||
using any currently-dirty circuits for new streams, so we don't
|
stop using any currently-dirty circuits for new streams, so we
|
||||||
link new actions to old actions. This also occurs on HUP (or
|
don't link new actions to old actions. This also occurs on HUP
|
||||||
SIGNAL RELOAD).
|
or "signal reload".
|
||||||
- If we would close a stream early (e.g. it asks for a .exit that
|
- If we would close a stream early (e.g. it asks for a .exit that
|
||||||
we know would refuse it) but the LeaveStreamsUnattached config
|
we know would refuse it) but the LeaveStreamsUnattached config
|
||||||
option is set by the controller, then don't close it.
|
option is set by the controller, then don't close it.
|
||||||
- Add a new controller event type AUTHDIR_NEWDESCS that allows
|
- Add a new controller event type "authdir_newdescs" that allows
|
||||||
controllers to get all server descriptors that were uploaded to
|
controllers to get all server descriptors that were uploaded to
|
||||||
a router in its role as authoritative dirserver.
|
a router in its role as directory authority.
|
||||||
- New controller option "getinfo desc/all-recent" to fetch the
|
- New controller option "getinfo desc/all-recent" to fetch the
|
||||||
latest server descriptor for every router that Tor knows about.
|
latest server descriptor for every router that Tor knows about.
|
||||||
- Fix the controller's "attachstream 0" command to treat conn like
|
- Fix the controller's "attachstream 0" command to treat conn like
|
||||||
@ -233,9 +234,9 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
changes options that will affect them; and initialize the dns
|
changes options that will affect them; and initialize the dns
|
||||||
worker cache tree whether or not we start out as a server.
|
worker cache tree whether or not we start out as a server.
|
||||||
- Add a new circuit purpose 'controller' to let the controller ask
|
- Add a new circuit purpose 'controller' to let the controller ask
|
||||||
for a circuit that Tor won't try to use. Extend the EXTENDCIRCUIT
|
for a circuit that Tor won't try to use. Extend the "extendcircuit"
|
||||||
controller command to let you specify the purpose if you're starting
|
controller command to let you specify the purpose if you're starting
|
||||||
a new circuit. Add a new SETCIRCUITPURPOSE controller command to
|
a new circuit. Add a new "setcircuitpurpose" controller command to
|
||||||
let you change a circuit's purpose after it's been created.
|
let you change a circuit's purpose after it's been created.
|
||||||
- Let the controller ask for "getinfo dir/server/foo" so it can ask
|
- Let the controller ask for "getinfo dir/server/foo" so it can ask
|
||||||
directly rather than connecting to the dir port. "getinfo
|
directly rather than connecting to the dir port. "getinfo
|
||||||
@ -243,24 +244,20 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
is enabled.
|
is enabled.
|
||||||
- Let the controller tell us about certain router descriptors
|
- Let the controller tell us about certain router descriptors
|
||||||
that it doesn't want Tor to use in circuits. Implement
|
that it doesn't want Tor to use in circuits. Implement
|
||||||
SETROUTERPURPOSE and modify +POSTDESCRIPTOR to do this.
|
"setrouterpurpose" and modify "+postdescriptor" to do this.
|
||||||
- If the controller's *setconf commands fail, collect an error
|
- If the controller's *setconf commands fail, collect an error
|
||||||
message in a string and hand it back to the controller -- don't
|
message in a string and hand it back to the controller -- don't
|
||||||
just tell them to go read their logs.
|
just tell them to go read their logs.
|
||||||
|
|
||||||
o Scalability, resource management, and performance:
|
o Scalability, resource management, and performance:
|
||||||
- Fix a major load balance bug: we were round-robining in 16 KB
|
- Fix a major load balance bug: we were round-robin reading in 16 KB
|
||||||
chunks, and servers with bandwidthrate of 20 KB, while downloading
|
chunks, and servers with bandwidthrate of 20 KB, while downloading
|
||||||
a 600 KB directory, would starve their other connections. Now we
|
a 600 KB directory, would starve their other connections. Now we
|
||||||
try to be a bit more fair.
|
try to be a bit more fair.
|
||||||
- If we're a server, a client asks for an old-style directory,
|
|
||||||
and our write bucket is empty, don't give it to him. This way
|
|
||||||
small servers can continue to serve the directory *sometimes*,
|
|
||||||
without getting overloaded.
|
|
||||||
- Be more conservative about whether to advertise our DirPort.
|
- Be more conservative about whether to advertise our DirPort.
|
||||||
The main change is to not advertise if we're running at capacity
|
The main change is to not advertise if we're running at capacity
|
||||||
and either a) we could hibernate or b) our capacity is low and
|
and either a) we could hibernate ever or b) our capacity is low
|
||||||
we're using a default DirPort.
|
and we're using a default DirPort.
|
||||||
- We weren't cannibalizing circuits correctly for
|
- We weren't cannibalizing circuits correctly for
|
||||||
CIRCUIT_PURPOSE_C_ESTABLISH_REND and
|
CIRCUIT_PURPOSE_C_ESTABLISH_REND and
|
||||||
CIRCUIT_PURPOSE_S_ESTABLISH_INTRO, so we were being forced to
|
CIRCUIT_PURPOSE_S_ESTABLISH_INTRO, so we were being forced to
|
||||||
@ -271,25 +268,14 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
remove them.
|
remove them.
|
||||||
- Generate 18.0.0.0/8 address policy format in descs when we can;
|
- Generate 18.0.0.0/8 address policy format in descs when we can;
|
||||||
warn when the mask is not reducible to a bit-prefix.
|
warn when the mask is not reducible to a bit-prefix.
|
||||||
- On platforms that don't have getrlimit (like Windows), we were
|
|
||||||
artificially constraining ourselves to a max of 1024
|
|
||||||
connections. Now just assume that we can handle as many as 15000
|
|
||||||
connections. Hopefully this won't cause other problems.
|
|
||||||
- Spread the authdirservers' reachability testing over the entire
|
|
||||||
testing interval, so we don't try to do 500 TLS's at once every
|
|
||||||
20 minutes.
|
|
||||||
- Reduce memory requirements in our structs by changing the order
|
|
||||||
of fields.
|
|
||||||
- There used to be two ways to specify your listening ports in a
|
- There used to be two ways to specify your listening ports in a
|
||||||
server descriptor: on the "router" line and with a separate "ports"
|
server descriptor: on the "router" line and with a separate "ports"
|
||||||
line. Remove support for the "ports" line.
|
line. Remove support for the "ports" line.
|
||||||
- Replace balanced trees with hash tables: this should make stuff
|
- Reduce memory requirements in our structs by changing the order
|
||||||
significantly faster.
|
of fields. Replace balanced trees with hash tables. Inline
|
||||||
- Many other CPU and memory improvements.
|
bottleneck smartlist functions. Add a "Map from digest to void*"
|
||||||
- Inline bottleneck smartlist functions; use fast versions by default.
|
abstraction so we can do less hex encoding/decoding, and use it
|
||||||
- Add a "Map from digest to void*" abstraction digestmap_t so we
|
in router_get_by_digest(). Many other CPU and memory improvements.
|
||||||
can do less hex encoding/decoding. Use it in router_get_by_digest()
|
|
||||||
to resolve a performance bottleneck.
|
|
||||||
- Allow tor_gzip_uncompress to extract as much as possible from
|
- Allow tor_gzip_uncompress to extract as much as possible from
|
||||||
truncated compressed data. Try to extract as many
|
truncated compressed data. Try to extract as many
|
||||||
descriptors as possible from truncated http responses (when
|
descriptors as possible from truncated http responses (when
|
||||||
@ -307,8 +293,8 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
It *works*, but is very slow, so we treat them as if it doesn't.
|
It *works*, but is very slow, so we treat them as if it doesn't.
|
||||||
|
|
||||||
o Other bugfixes and improvements:
|
o Other bugfixes and improvements:
|
||||||
- Start storing useful information to $DATADIR/state file, so we
|
- Start storing useful information to $DATADIR/state, so we can
|
||||||
can remember things across invocations of Tor. Retain unrecognized
|
remember things across invocations of Tor. Retain unrecognized
|
||||||
lines so we can be forward-compatible, and write a TorVersion line
|
lines so we can be forward-compatible, and write a TorVersion line
|
||||||
so we can be backward-compatible.
|
so we can be backward-compatible.
|
||||||
- If ORPort is set, Address is not explicitly set, and our hostname
|
- If ORPort is set, Address is not explicitly set, and our hostname
|
||||||
@ -327,13 +313,11 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
- It turns out we couldn't bootstrap a network since we added
|
- It turns out we couldn't bootstrap a network since we added
|
||||||
reachability detection in 0.1.0.1-rc. Good thing the Tor network
|
reachability detection in 0.1.0.1-rc. Good thing the Tor network
|
||||||
has never gone down. Add an AssumeReachable config option to let
|
has never gone down. Add an AssumeReachable config option to let
|
||||||
servers and dirservers bootstrap. When we're trying to build a
|
servers and authorities bootstrap. When we're trying to build a
|
||||||
high-uptime or high-bandwidth circuit but there aren't enough
|
high-uptime or high-bandwidth circuit but there aren't enough
|
||||||
suitable servers, try being less picky rather than simply failing.
|
suitable servers, try being less picky rather than simply failing.
|
||||||
- Newly bootstrapped Tor networks couldn't establish hidden service
|
- Newly bootstrapped Tor networks couldn't establish hidden service
|
||||||
circuits until they had nodes with high uptime. Be more tolerant.
|
circuits until they had nodes with high uptime. Be more tolerant.
|
||||||
- We were marking servers down when they could not answer every piece
|
|
||||||
of the directory request we sent them. This was far too harsh.
|
|
||||||
- Really busy servers were keeping enough circuits open on stable
|
- Really busy servers were keeping enough circuits open on stable
|
||||||
connections that they were wrapping around the circuit_id
|
connections that they were wrapping around the circuit_id
|
||||||
space. (It's only two bytes.) This exposed a bug where we would
|
space. (It's only two bytes.) This exposed a bug where we would
|
||||||
@ -346,7 +330,7 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
- On Windows, you can't always reopen a port right after you've
|
- On Windows, you can't always reopen a port right after you've
|
||||||
closed it. So change retry_listeners() to only close and re-open
|
closed it. So change retry_listeners() to only close and re-open
|
||||||
ports that have changed.
|
ports that have changed.
|
||||||
- Workaround a problem with some http proxies where they refuse GET
|
- Workaround a problem with some http proxies that refuse GET
|
||||||
requests that specify "Content-Length: 0". Reported by Adrian.
|
requests that specify "Content-Length: 0". Reported by Adrian.
|
||||||
- Recover better from TCP connections to Tor servers that are
|
- Recover better from TCP connections to Tor servers that are
|
||||||
broken but don't tell you (it happens!); and rotate TLS
|
broken but don't tell you (it happens!); and rotate TLS
|
||||||
@ -370,8 +354,8 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
memory leaks better.
|
memory leaks better.
|
||||||
- Never call free() on tor_malloc()d memory. This will help us
|
- Never call free() on tor_malloc()d memory. This will help us
|
||||||
use dmalloc to detect memory leaks.
|
use dmalloc to detect memory leaks.
|
||||||
- Some Tor servers process billions of cells per day. These statistics
|
- Some Tor servers process billions of cells per day. These
|
||||||
need to be uint64_t's.
|
statistics are now uint64_t's.
|
||||||
- Check [X-]Forwarded-For headers in HTTP requests when generating
|
- Check [X-]Forwarded-For headers in HTTP requests when generating
|
||||||
log messages. This lets people run dirservers (and caches) behind
|
log messages. This lets people run dirservers (and caches) behind
|
||||||
Apache but still know which IP addresses are causing warnings.
|
Apache but still know which IP addresses are causing warnings.
|
||||||
@ -384,8 +368,8 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
and its existence is confusing some users.
|
and its existence is confusing some users.
|
||||||
|
|
||||||
o Config option fixes:
|
o Config option fixes:
|
||||||
- Add a new config option ExitPolicyRejectPrivate which defaults to
|
- Add a new config option ExitPolicyRejectPrivate which defaults
|
||||||
1. This means all exit policies will begin with rejecting private
|
to on. Now all exit policies will begin with rejecting private
|
||||||
addresses, unless the server operator explicitly turns it off.
|
addresses, unless the server operator explicitly turns it off.
|
||||||
- Bump the default bandwidthrate to 3 MB, and burst to 6 MB.
|
- Bump the default bandwidthrate to 3 MB, and burst to 6 MB.
|
||||||
- Add new ReachableORAddresses and ReachableDirAddresses options
|
- Add new ReachableORAddresses and ReachableDirAddresses options
|
||||||
@ -405,10 +389,9 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
e.g. ExitPolicy, and it has no value, warn and skip rather than
|
e.g. ExitPolicy, and it has no value, warn and skip rather than
|
||||||
silently resetting it to its default.
|
silently resetting it to its default.
|
||||||
- Setconf was appending items to linelists, not clearing them.
|
- Setconf was appending items to linelists, not clearing them.
|
||||||
- Add MyFamily to torrc.sample in the server section.
|
- Add MyFamily to torrc.sample in the server section, so operators
|
||||||
|
will be more likely to learn that it exists.
|
||||||
- Make ContactInfo mandatory for authoritative directory servers.
|
- Make ContactInfo mandatory for authoritative directory servers.
|
||||||
- Put nicknames on the DirServer line, so we can refer to them
|
|
||||||
without requiring all our users to memorize their IP addresses.
|
|
||||||
- MaxConn has been obsolete for a while now. Document the ConnLimit
|
- MaxConn has been obsolete for a while now. Document the ConnLimit
|
||||||
config option, which is a *minimum* number of file descriptors
|
config option, which is a *minimum* number of file descriptors
|
||||||
that must be available else Tor refuses to start.
|
that must be available else Tor refuses to start.
|
||||||
@ -416,8 +399,8 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
only warn, never exit, when we're running an obsolete version.
|
only warn, never exit, when we're running an obsolete version.
|
||||||
- Make MonthlyAccountingStart config option truly obsolete now.
|
- Make MonthlyAccountingStart config option truly obsolete now.
|
||||||
- Correct the man page entry on TrackHostExitsExpire.
|
- Correct the man page entry on TrackHostExitsExpire.
|
||||||
- Let auth dir servers start without specifying an Address config
|
- Let directory authorities start even if they don't specify an
|
||||||
option.
|
Address config option.
|
||||||
- Change "AllowUnverifiedNodes" to "AllowInvalidNodes", to
|
- Change "AllowUnverifiedNodes" to "AllowInvalidNodes", to
|
||||||
reflect the updated flags in our v2 dir protocol.
|
reflect the updated flags in our v2 dir protocol.
|
||||||
|
|
||||||
@ -425,7 +408,7 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
- Add a new config option FastFirstHopPK (on by default) so clients
|
- Add a new config option FastFirstHopPK (on by default) so clients
|
||||||
do a trivial crypto handshake for their first hop, since TLS has
|
do a trivial crypto handshake for their first hop, since TLS has
|
||||||
already taken care of confidentiality and authentication.
|
already taken care of confidentiality and authentication.
|
||||||
- Let the user set ControlListenAddress in the torrc. This can be
|
- Let the user set ControlListenAddress in the torrc. This can be
|
||||||
dangerous, but there are some cases (like a secured LAN) where it
|
dangerous, but there are some cases (like a secured LAN) where it
|
||||||
makes sense.
|
makes sense.
|
||||||
- New config options to help controllers: FetchServerDescriptors
|
- New config options to help controllers: FetchServerDescriptors
|
||||||
@ -435,17 +418,20 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
- Also let the controller set the __AllDirActionsPrivate config
|
- Also let the controller set the __AllDirActionsPrivate config
|
||||||
option if you want all directory fetches/publishes to happen via
|
option if you want all directory fetches/publishes to happen via
|
||||||
Tor (it assumes your controller bootstraps your circuits).
|
Tor (it assumes your controller bootstraps your circuits).
|
||||||
- "HardwareAccel" config option: support for crypto hardware
|
- Add "HardwareAccel" config option: support for crypto hardware
|
||||||
accelerators via OpenSSL. Off by default, until we find somebody
|
accelerators via OpenSSL. Off by default, until we find somebody
|
||||||
smart who can test it for us. (It appears to produce seg faults
|
smart who can test it for us. (It appears to produce seg faults
|
||||||
in at least some cases.)
|
in at least some cases.)
|
||||||
- New config option "AuthDirRejectUnlisted" for auth dirservers as
|
- New config option "AuthDirRejectUnlisted" for directory authorities
|
||||||
a panic button: if we get flooded with unusable servers we can
|
as a panic button: if we get flooded with unusable servers we can
|
||||||
revert to only listing servers in the approved-routers file.
|
revert to only listing servers in the approved-routers file.
|
||||||
- Auth dir servers can now mark a fingerprint as "!reject" or
|
- Directory authorities can now reject/invalidate by key and IP,
|
||||||
"!invalid" in the approved-routers file (as its nickname), to
|
with the config options "AuthDirInvalid" and "AuthDirReject", or
|
||||||
refuse descriptors outright or include them but marked as invalid.
|
by marking a fingerprint as "!reject" or "!invalid" (as its
|
||||||
- Add a new config option TestSocks so people can see if their
|
nickname) in the approved-routers file. This is useful since
|
||||||
|
currently we automatically list servers as running and usable
|
||||||
|
even if we know they're jerks.
|
||||||
|
- Add a new config option TestSocks so people can see whether their
|
||||||
applications are using socks4, socks4a, socks5-with-ip, or
|
applications are using socks4, socks4a, socks5-with-ip, or
|
||||||
socks5-with-fqdn. This way they don't have to keep mucking
|
socks5-with-fqdn. This way they don't have to keep mucking
|
||||||
with tcpdump and wondering if something got cached somewhere.
|
with tcpdump and wondering if something got cached somewhere.
|
||||||
@ -454,10 +440,6 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
every single internal or nonroutable network space.
|
every single internal or nonroutable network space.
|
||||||
- Accept "private:*" in routerdesc exit policies; not generated yet
|
- Accept "private:*" in routerdesc exit policies; not generated yet
|
||||||
because older Tors do not understand it.
|
because older Tors do not understand it.
|
||||||
- Dirservers can now reject/invalidate by key and IP, with the
|
|
||||||
config options "AuthDirInvalid" and "AuthDirReject". This is
|
|
||||||
useful since currently we automatically list servers as running
|
|
||||||
and usable even if we know they're jerks.
|
|
||||||
- Add configuration option "V1AuthoritativeDirectory 1" which
|
- Add configuration option "V1AuthoritativeDirectory 1" which
|
||||||
moria1, moria2, and tor26 have set.
|
moria1, moria2, and tor26 have set.
|
||||||
- Implement an option, VirtualAddrMask, to set which addresses
|
- Implement an option, VirtualAddrMask, to set which addresses
|
||||||
@ -483,8 +465,10 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
- Divide log messages into logging domains. Once we put some sort
|
- Divide log messages into logging domains. Once we put some sort
|
||||||
of interface on this, it will let people looking at more verbose
|
of interface on this, it will let people looking at more verbose
|
||||||
log levels specify the topics they want to hear more about.
|
log levels specify the topics they want to hear more about.
|
||||||
- Provide dire warnings to any users who set DirServer; move it out
|
- Log server fingerprint on startup, so new server operators don't
|
||||||
of torrc.sample and into torrc.complete.
|
have to go hunting around their filesystem for it.
|
||||||
|
- Provide dire warnings to any users who set DirServer manually;
|
||||||
|
move it out of torrc.sample and into torrc.complete.
|
||||||
- Make the log message less scary when all the dirservers are
|
- Make the log message less scary when all the dirservers are
|
||||||
temporarily unreachable.
|
temporarily unreachable.
|
||||||
- When tor_socketpair() fails in Windows, give a reasonable
|
- When tor_socketpair() fails in Windows, give a reasonable
|
||||||
@ -494,8 +478,8 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
culling them.
|
culling them.
|
||||||
- Handle duplicate lines in approved-routers files without warning.
|
- Handle duplicate lines in approved-routers files without warning.
|
||||||
- We were whining about using socks4 or socks5-with-local-lookup
|
- We were whining about using socks4 or socks5-with-local-lookup
|
||||||
even when it's an IP in the "virtual" range we designed exactly
|
even when it's an IP address in the "virtual" range we designed
|
||||||
for this case.
|
exactly for this case.
|
||||||
- Check for named servers when looking them up by nickname;
|
- Check for named servers when looking them up by nickname;
|
||||||
warn when we're calling a non-named server by its nickname;
|
warn when we're calling a non-named server by its nickname;
|
||||||
don't warn twice about the same name.
|
don't warn twice about the same name.
|
||||||
@ -526,15 +510,11 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
"Got an end because of misc error, but we're not an AP. Closing."
|
"Got an end because of misc error, but we're not an AP. Closing."
|
||||||
- Fix wrong log message when you add a "HiddenServiceNodes" config
|
- Fix wrong log message when you add a "HiddenServiceNodes" config
|
||||||
line without any HiddenServiceDir line (reported by Chris Thomas).
|
line without any HiddenServiceDir line (reported by Chris Thomas).
|
||||||
- Authdirs now stop whining so loudly about bad descriptors that
|
- Directory authorities now stop whining so loudly about bad
|
||||||
they fetch from other dirservers. So when there's a log complaint,
|
descriptors that they fetch from other dirservers. So when there's
|
||||||
it's for sure from a freshly uploaded descriptor.
|
a log complaint, it's for sure from a freshly uploaded descriptor.
|
||||||
- When logging via syslog, include the pid whenever we provide
|
- When logging via syslog, include the pid whenever we provide
|
||||||
a log entry. Suggested by Todd Fries.
|
a log entry. Suggested by Todd Fries.
|
||||||
- When we get an EOF or a timeout on a directory connection, note
|
|
||||||
how many bytes of serverdesc we are dropping. This will help
|
|
||||||
us determine whether it is smart to parse incomplete serverdesc
|
|
||||||
responses.
|
|
||||||
- When we're shutting down and we do something like try to post a
|
- When we're shutting down and we do something like try to post a
|
||||||
server descriptor or rendezvous descriptor, don't complain that
|
server descriptor or rendezvous descriptor, don't complain that
|
||||||
we seem to be unreachable. Of course we are, we're shutting down.
|
we seem to be unreachable. Of course we are, we're shutting down.
|
||||||
@ -545,8 +525,6 @@ Changes in version 0.1.1.20 - 2006-05-23
|
|||||||
more likely to realize if they add bad characters (like quotes)
|
more likely to realize if they add bad characters (like quotes)
|
||||||
to the torrc.
|
to the torrc.
|
||||||
- NT service patch from Matt Edman to improve error messages on Win32.
|
- NT service patch from Matt Edman to improve error messages on Win32.
|
||||||
- Log server fingerprint on startup, so new server operators don't
|
|
||||||
have to go hunting around their filesystem for it.
|
|
||||||
|
|
||||||
|
|
||||||
Changes in version 0.1.0.17 - 2006-02-17
|
Changes in version 0.1.0.17 - 2006-02-17
|
||||||
|
Loading…
Reference in New Issue
Block a user