|
@@ -1,7 +1,7 @@
|
|
Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
Blurb goes here
|
|
Blurb goes here
|
|
|
|
|
|
- o Major feature (channel):
|
|
|
|
|
|
+ o Code simplification and refactoring (channels):
|
|
- Remove the incoming and outgoing channel queues. The reason to do
|
|
- Remove the incoming and outgoing channel queues. The reason to do
|
|
so was due to the fact that they were always empty meaning never
|
|
so was due to the fact that they were always empty meaning never
|
|
used but still looked at in our fast path. Bottom line, it was an
|
|
used but still looked at in our fast path. Bottom line, it was an
|
|
@@ -51,18 +51,20 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
HSPOST, ADD_ONION and DEL_ONION) have been extended to support v3
|
|
HSPOST, ADD_ONION and DEL_ONION) have been extended to support v3
|
|
onion services. Closes ticket 20699.
|
|
onion services. Closes ticket 20699.
|
|
|
|
|
|
- o Major features (Onion Services):
|
|
|
|
|
|
+ o Major features (onion services, security):
|
|
- Provide torrc options to pin the second and third hops of onion
|
|
- Provide torrc options to pin the second and third hops of onion
|
|
service circuits to a list of nodes. The option HSLayer2Guards
|
|
service circuits to a list of nodes. The option HSLayer2Guards
|
|
pins the second hop, and the option HSLayer3Guards pins the third
|
|
pins the second hop, and the option HSLayer3Guards pins the third
|
|
hop. Closes ticket 13837.
|
|
hop. Closes ticket 13837.
|
|
|
|
|
|
- o Major features (relay):
|
|
|
|
|
|
+ o Minor features (relay):
|
|
- Implement an option, ReducedExitPolicy, to allow an Tor exit relay
|
|
- Implement an option, ReducedExitPolicy, to allow an Tor exit relay
|
|
- operator to use a more reasonable ("reduced") exit policy, rather
|
|
|
|
- than the default one. Closes ticket 13605. Patch from Neel Chauhan.
|
|
|
|
|
|
+ operator to use a more reasonable ("reduced") exit policy, rather than
|
|
|
|
+ the default one. If you want to run an exit node without thinking too
|
|
|
|
+ hard about which ports to allow, this one is for you. Closes ticket
|
|
|
|
+ 13605. Patch from Neel Chauhan.
|
|
|
|
|
|
- o Major features (Rust experimentation):
|
|
|
|
|
|
+ o Major features (rust, portability, experimental):
|
|
- Tor now ships with an optional implementation of one of its
|
|
- Tor now ships with an optional implementation of one of its
|
|
smaller modules (protover.c) in the Rust programming language. To
|
|
smaller modules (protover.c) in the Rust programming language. To
|
|
try it out, install a Rust build environment, and configure Tor
|
|
try it out, install a Rust build environment, and configure Tor
|
|
@@ -71,13 +73,13 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
experience with Rust, and plan future Rust integration work.
|
|
experience with Rust, and plan future Rust integration work.
|
|
Implementation by Chelsea Komlo. Closes ticket 22840.
|
|
Implementation by Chelsea Komlo. Closes ticket 22840.
|
|
|
|
|
|
- o Major features (storage):
|
|
|
|
|
|
+ o Major features (storage, configuration):
|
|
- Users can choose to store cached directory documents somewhere
|
|
- Users can choose to store cached directory documents somewhere
|
|
other than the DataDirectory by using the CacheDirectory option.
|
|
other than the DataDirectory by using the CacheDirectory option.
|
|
Similarly, the storage location for relay's keys can be overridden
|
|
Similarly, the storage location for relay's keys can be overridden
|
|
with the KeyDirectory option. Closes ticket 22703.
|
|
with the KeyDirectory option. Closes ticket 22703.
|
|
|
|
|
|
- o Major features (v3 onion services):
|
|
|
|
|
|
+ o Major features (v3 onion services, ipv6):
|
|
- When v3 onion service clients send introduce cells, include the
|
|
- When v3 onion service clients send introduce cells, include the
|
|
IPv6 address of the rendezvous point, if it has one. v3 onion
|
|
IPv6 address of the rendezvous point, if it has one. v3 onion
|
|
services running 0.3.2 ignore IPv6 addresses. In future Tor
|
|
services running 0.3.2 ignore IPv6 addresses. In future Tor
|
|
@@ -85,13 +87,17 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
addresses to connect directly to the rendezvous point. Closes
|
|
addresses to connect directly to the rendezvous point. Closes
|
|
ticket 23577. Patch by Neel Chauhan.
|
|
ticket 23577. Patch by Neel Chauhan.
|
|
|
|
|
|
- o Major bugfixes (onion services):
|
|
|
|
|
|
+ o Major bugfixes (onion services, retry behavior):
|
|
- Fix an "off by 2" error in counting rendezvous failures on the
|
|
- Fix an "off by 2" error in counting rendezvous failures on the
|
|
onion service side. While we thought we would stop the rendezvous
|
|
onion service side. While we thought we would stop the rendezvous
|
|
attempt after one failed circuit, we were actually making three
|
|
attempt after one failed circuit, we were actually making three
|
|
circuit attempts before giving up. Now switch to a default of 2,
|
|
circuit attempts before giving up. Now switch to a default of 2,
|
|
and allow the consensus parameter "hs_service_max_rdv_failures" to
|
|
and allow the consensus parameter "hs_service_max_rdv_failures" to
|
|
override. Fixes bug 24895; bugfix on 0.0.6.
|
|
override. Fixes bug 24895; bugfix on 0.0.6.
|
|
|
|
+ - New-style (v3) onion services now obey the "max rendezvous circuit
|
|
|
|
+ attempts" logic. Previously they would make as many rendezvous
|
|
|
|
+ circuit attempts as they could fit in the MAX_REND_TIMEOUT second
|
|
|
|
+ window before giving up. Fixes bug 24894; bugfix on 0.3.2.1-alpha.
|
|
|
|
|
|
o Major bugfixes (relays):
|
|
o Major bugfixes (relays):
|
|
- Fix a set of false positives where relays would consider
|
|
- Fix a set of false positives where relays would consider
|
|
@@ -101,12 +107,6 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
initial handshake and whether the connection authenticated as a
|
|
initial handshake and whether the connection authenticated as a
|
|
relay. Fixes bug 24898; bugfix on 0.3.1.1-alpha.
|
|
relay. Fixes bug 24898; bugfix on 0.3.1.1-alpha.
|
|
|
|
|
|
- o Major bugfixes (v3 onion services):
|
|
|
|
- - New-style (v3) onion services now obey the "max rendezvous circuit
|
|
|
|
- attempts" logic. Previously they would make as many rendezvous
|
|
|
|
- circuit attempts as they could fit in the MAX_REND_TIMEOUT second
|
|
|
|
- window before giving up. Fixes bug 24894; bugfix on 0.3.2.1-alpha.
|
|
|
|
-
|
|
|
|
o Minor feature (IPv6):
|
|
o Minor feature (IPv6):
|
|
- Make IPv6-only clients wait for microdescs for relays, even if we
|
|
- Make IPv6-only clients wait for microdescs for relays, even if we
|
|
were previously using descriptors (or were using them as a bridge)
|
|
were previously using descriptors (or were using them as a bridge)
|
|
@@ -115,13 +115,24 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
them, rather than waiting to download microdescriptors.
|
|
them, rather than waiting to download microdescriptors.
|
|
Implements 23827.
|
|
Implements 23827.
|
|
|
|
|
|
- o Minor features (API, embedding):
|
|
|
|
|
|
+ o Minor features (embedding):
|
|
- Tor can now start with a preauthenticated control connection
|
|
- Tor can now start with a preauthenticated control connection
|
|
created by the process that launched it. This feature is meant for
|
|
created by the process that launched it. This feature is meant for
|
|
use by programs that want to launch and manage a Tor process
|
|
use by programs that want to launch and manage a Tor process
|
|
without allowing other programs to manage it as well. For more
|
|
without allowing other programs to manage it as well. For more
|
|
information, see the __OwningControllerFD option documented in
|
|
information, see the __OwningControllerFD option documented in
|
|
control-spec.txt. Closes ticket 23900.
|
|
control-spec.txt. Closes ticket 23900.
|
|
|
|
+ - On most errors that would cause Tor to exit, it now tries to
|
|
|
|
+ return from the tor_main() function, rather than calling the
|
|
|
|
+ system exit() function. Most users won't notice a difference here,
|
|
|
|
+ but it should make a significant difference on platforms that try
|
|
|
|
+ to run Tor inside a separate thread: they should now be able to
|
|
|
|
+ survive Tor's exit conditions rather than having Tor shut down the
|
|
|
|
+ entire process. Closes ticket 23848.
|
|
|
|
+ - Applications that want to embed Tor can now tell Tor not to
|
|
|
|
+ register any of its own POSIX signal handlers, using the
|
|
|
|
+ __DisableSignalHandlers option. This option is not meant for
|
|
|
|
+ general use. Closes ticket 24588.
|
|
|
|
|
|
o Minor features (cleanup):
|
|
o Minor features (cleanup):
|
|
- Tor now deletes the CookieAuthFile and ExtORPortCookieAuthFile
|
|
- Tor now deletes the CookieAuthFile and ExtORPortCookieAuthFile
|
|
@@ -146,22 +157,7 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
would get the Exit flag if they allowed connections to one of
|
|
would get the Exit flag if they allowed connections to one of
|
|
these ports and also port 6667. Resolves ticket 23637.
|
|
these ports and also port 6667. Resolves ticket 23637.
|
|
|
|
|
|
- o Minor features (embedding):
|
|
|
|
- - On most errors that would cause Tor to exit, it now tries to
|
|
|
|
- return from the tor_main() function, rather than calling the
|
|
|
|
- system exit() function. Most users won't notice a difference here,
|
|
|
|
- but it should make a significant difference on platforms that try
|
|
|
|
- to run Tor inside a separate thread: they should now be able to
|
|
|
|
- survive Tor's exit conditions rather than having Tor shut down the
|
|
|
|
- entire process. Closes ticket 23848.
|
|
|
|
-
|
|
|
|
- o Minor features (embedding, mobile):
|
|
|
|
- - Applications that want to embed Tor can now tell Tor not to
|
|
|
|
- register any of its own POSIX signal handlers, using the
|
|
|
|
- __DisableSignalHandlers option. This option is not meant for
|
|
|
|
- general use. Closes ticket 24588.
|
|
|
|
-
|
|
|
|
- o Minor features (fallback directory mirrors):
|
|
|
|
|
|
+ o Minor features (fallback directory mirror configuration):
|
|
- Add a nickname to each fallback in a C comment. This makes it
|
|
- Add a nickname to each fallback in a C comment. This makes it
|
|
easier for operators to find their relays, and allows stem to use
|
|
easier for operators to find their relays, and allows stem to use
|
|
nicknames to identify fallbacks. Implements ticket 24600.
|
|
nicknames to identify fallbacks. Implements ticket 24600.
|
|
@@ -187,7 +183,7 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
by changing Tor's default fallback weight to 10. Implements
|
|
by changing Tor's default fallback weight to 10. Implements
|
|
ticket 24679.
|
|
ticket 24679.
|
|
|
|
|
|
- o Minor features (fallbacks):
|
|
|
|
|
|
+ o Minor features (fallback directory list):
|
|
- Avoid selecting fallbacks that change their IP addresses too
|
|
- Avoid selecting fallbacks that change their IP addresses too
|
|
often. Select more fallbacks by ignoring the Guard flag, and
|
|
often. Select more fallbacks by ignoring the Guard flag, and
|
|
allowing lower cutoffs for the Running and V2Dir flags. Also allow
|
|
allowing lower cutoffs for the Running and V2Dir flags. Also allow
|
|
@@ -209,12 +205,13 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
stats about the activity of configured onion services. Closes
|
|
stats about the activity of configured onion services. Closes
|
|
ticket 24896.
|
|
ticket 24896.
|
|
|
|
|
|
- o Minor features (instrumentation):
|
|
|
|
- - Add the MainloopStats option to Tor that allows developers to get
|
|
|
|
|
|
+ o Minor features (instrumentation, development):
|
|
|
|
+ - Add the MainloopStats option to allow developers to get
|
|
instrumentation information from the main event loop via the
|
|
instrumentation information from the main event loop via the
|
|
- heartbeat messages. Closes ticket 24605.
|
|
|
|
|
|
+ heartbeat messages. We hope to use this to improve Tor's behavior when
|
|
|
|
+ it's trying to sleep. Closes ticket 24605.
|
|
|
|
|
|
- o Minor features (logging):
|
|
|
|
|
|
+ o Minor features (log messages):
|
|
- Improve a warning message that happens when we fail to re-parse an
|
|
- Improve a warning message that happens when we fail to re-parse an
|
|
old router because of an expired certificate. Closes ticket 20020.
|
|
old router because of an expired certificate. Closes ticket 20020.
|
|
- Make the log more quantitative when we hit MaxMemInQueues
|
|
- Make the log more quantitative when we hit MaxMemInQueues
|
|
@@ -238,7 +235,7 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
|
|
|
o Minor features (performance, 32-bit):
|
|
o Minor features (performance, 32-bit):
|
|
- Improve performance on 32-bit systems by avoiding 64-bit division
|
|
- Improve performance on 32-bit systems by avoiding 64-bit division
|
|
- to calculate the current timestamp in milliseconds for channel
|
|
|
|
|
|
+ when calculating the timestamp in milliseconds for channel
|
|
padding computations. Implements ticket 24613.
|
|
padding computations. Implements ticket 24613.
|
|
- Improve performance on 32-bit systems by avoiding 64-bit division
|
|
- Improve performance on 32-bit systems by avoiding 64-bit division
|
|
when timestamping cells and buffer chunks for OOM calculations.
|
|
when timestamping cells and buffer chunks for OOM calculations.
|
|
@@ -250,7 +247,7 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
SIO_IDEAL_SEND_BACKLOG_QUERY. Closes ticket 22798. Patch
|
|
SIO_IDEAL_SEND_BACKLOG_QUERY. Closes ticket 22798. Patch
|
|
from Vort.
|
|
from Vort.
|
|
|
|
|
|
- o Minor features (testing, debugging):
|
|
|
|
|
|
+ o Minor features (testing, debugging, embedding):
|
|
- For development purposes, Tor now has a mode in which it runs for
|
|
- For development purposes, Tor now has a mode in which it runs for
|
|
a few seconds, then stops, and starts again without exiting the
|
|
a few seconds, then stops, and starts again without exiting the
|
|
process. This mode is meant to help us debug various issues with
|
|
process. This mode is meant to help us debug various issues with
|
|
@@ -261,16 +258,14 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
future release. Implements ticket 24583.
|
|
future release. Implements ticket 24583.
|
|
|
|
|
|
o Minor bugfix (network IPv6 test):
|
|
o Minor bugfix (network IPv6 test):
|
|
- - Tor test now checks if "ping -6 ::1" works when the user runs
|
|
|
|
|
|
+ - Tor's test scripts now check if "ping -6 ::1" works when the user runs
|
|
"make test-network-all". Fixes bug 24677; bugfix on 0.2.9.3-alpha.
|
|
"make test-network-all". Fixes bug 24677; bugfix on 0.2.9.3-alpha.
|
|
Patch by "ffmancera".
|
|
Patch by "ffmancera".
|
|
|
|
|
|
- o Minor bugfixes (build):
|
|
|
|
|
|
+ o Minor bugfixes (build, rust):
|
|
- Fix output of autoconf checks to display success messages for Rust
|
|
- Fix output of autoconf checks to display success messages for Rust
|
|
dependencies and a suitable rustc compiler version. Fixes bug
|
|
dependencies and a suitable rustc compiler version. Fixes bug
|
|
24612; bugfix on 0.3.1.3-alpha.
|
|
24612; bugfix on 0.3.1.3-alpha.
|
|
-
|
|
|
|
- o Minor bugfixes (build, rust):
|
|
|
|
- When building with Rust on OSX, link against libresolv, to work
|
|
- When building with Rust on OSX, link against libresolv, to work
|
|
around the issue at https://github.com/rust-lang/rust/issues/46797.
|
|
around the issue at https://github.com/rust-lang/rust/issues/46797.
|
|
Fixes bug 24652; bugfix on 0.3.1.1-alpha.
|
|
Fixes bug 24652; bugfix on 0.3.1.1-alpha.
|
|
@@ -288,14 +283,10 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
elsewhere. Fixes bug 24733; bugfix on 0.3.0.0-alpha-dev; not in
|
|
elsewhere. Fixes bug 24733; bugfix on 0.3.0.0-alpha-dev; not in
|
|
any released version of tor.
|
|
any released version of tor.
|
|
|
|
|
|
- o Minor bugfixes (debugging, memory leaks):
|
|
|
|
- - Fix a harmless memory leak in tor-resolve. Fixes bug 24582; bugfix
|
|
|
|
- on 0.2.1.1-alpha.
|
|
|
|
-
|
|
|
|
o Minor bugfixes (directory authorities, IPv6):
|
|
o Minor bugfixes (directory authorities, IPv6):
|
|
- When creating a routerstatus (vote) from a routerinfo (descriptor),
|
|
- When creating a routerstatus (vote) from a routerinfo (descriptor),
|
|
set the IPv6 address to the unspecified IPv6 address, and
|
|
set the IPv6 address to the unspecified IPv6 address, and
|
|
- explicitly initialise the port to zero. Fixes bug 24488; bugfix
|
|
|
|
|
|
+ explicitly initialize the port to zero. Fixes bug 24488; bugfix
|
|
on 0.2.4.1-alpha.
|
|
on 0.2.4.1-alpha.
|
|
|
|
|
|
o Minor bugfixes (fallback directory mirrors):
|
|
o Minor bugfixes (fallback directory mirrors):
|
|
@@ -320,7 +311,7 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
- When hibernating, do not try to upload or download descriptors.
|
|
- When hibernating, do not try to upload or download descriptors.
|
|
Fixes a case of bug 12062; bugfix on 0.0.9pre5.
|
|
Fixes a case of bug 12062; bugfix on 0.0.9pre5.
|
|
|
|
|
|
- o Minor bugfixes (IPv6 preferences on bridges):
|
|
|
|
|
|
+ o Minor bugfixes (IPv6, bridges):
|
|
- Tor now always sets IPv6 preferences for bridges, even if there is
|
|
- Tor now always sets IPv6 preferences for bridges, even if there is
|
|
only router information or router status and warns about them.
|
|
only router information or router status and warns about them.
|
|
Fixes bug 24573; bugfix on 0.2.8.2-alpha.
|
|
Fixes bug 24573; bugfix on 0.2.8.2-alpha.
|
|
@@ -332,11 +323,13 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
correctly even when %include was used. Previously we would crash.
|
|
correctly even when %include was used. Previously we would crash.
|
|
Fixes bug 22605; bugfix on 0.3.1. Patch from Daniel Pinto.
|
|
Fixes bug 22605; bugfix on 0.3.1. Patch from Daniel Pinto.
|
|
|
|
|
|
- o Minor bugfixes (memory cleanup):
|
|
|
|
|
|
+ o Minor bugfixes (memory leaks):
|
|
- Avoid possible at-exit memory leaks related to use of Libevent's
|
|
- Avoid possible at-exit memory leaks related to use of Libevent's
|
|
event_base_once() function. (This function tends to leak memory if
|
|
event_base_once() function. (This function tends to leak memory if
|
|
the event_base is closed before the event fires.) Fixes bug 24584;
|
|
the event_base is closed before the event fires.) Fixes bug 24584;
|
|
bugfix on 0.2.8.1-alpha.
|
|
bugfix on 0.2.8.1-alpha.
|
|
|
|
+ - Fix a harmless memory leak in tor-resolve. Fixes bug 24582; bugfix
|
|
|
|
+ on 0.2.1.1-alpha.
|
|
|
|
|
|
o Minor bugfixes (OSX):
|
|
o Minor bugfixes (OSX):
|
|
- Don't exit the Tor process if setrlimit() fails to change the file
|
|
- Don't exit the Tor process if setrlimit() fails to change the file
|