|
@@ -1,11 +1,5 @@
|
|
|
-Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
- Blurb goes here
|
|
|
-
|
|
|
- o Major features (onion services, security):
|
|
|
- - Provide torrc options to pin the second and third hops of onion
|
|
|
- service circuits to a list of nodes. The option HSLayer2Guards
|
|
|
- pins the second hop, and the option HSLayer3Guards pins the third
|
|
|
- hop. Closes ticket 13837.
|
|
|
+Changes in version 0.3.3.1-alpha - 2018-01-25:
|
|
|
+ Tor 0.3.3.1-alpha is the first release
|
|
|
|
|
|
o Major features (embedding):
|
|
|
- There is now a documented stable API for programs that need to
|
|
@@ -14,35 +8,39 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
- Tor now has support for restarting in the same process.
|
|
|
Controllers that run Tor using the "tor_api.h" interface can now
|
|
|
restart Tor after Tor has exited. This support is incomplete,
|
|
|
- however: we have fixed the crash bugs that prevented it from
|
|
|
- working at all before, but many bugs probably remain, including
|
|
|
- the possibility of security issues. Implements ticket 24581.
|
|
|
+ however: we fixed crash bugs that prevented it from working at
|
|
|
+ all, but many bugs probably remain, including a possibility of
|
|
|
+ security issues. Implements ticket 24581.
|
|
|
|
|
|
o Major features (IPv6, directory documents):
|
|
|
- Add consensus method 27, which adds IPv6 ORPorts to the microdesc
|
|
|
- consensus. This makes it easier for IPv6 clients to bootstrap and
|
|
|
- choose reachable entry guards. Implements 23826.
|
|
|
+ consensus. This information it easier for IPv6 clients to
|
|
|
+ bootstrap and choose reachable entry guards. Implements 23826.
|
|
|
- Add consensus method 28, which removes IPv6 ORPorts from
|
|
|
- microdescriptors. Now that there are IPv6 ORPorts in the microdesc
|
|
|
- consensus, they are redundant in microdescs. This change is
|
|
|
- compatible with tor clients on 0.2.8.x and later. (That is to say,
|
|
|
- with all Tor clients having IPv6 bootstrap and guard support.)
|
|
|
+ microdescriptors. Now that there are the consensus contains IPv6
|
|
|
+ ORPorts, they are redundant in microdescs. This change will be
|
|
|
+ used by tor clients on 0.2.8.x and later. (That is to say, with
|
|
|
+ all Tor clients having IPv6 bootstrap and guard support.)
|
|
|
Implements 23828.
|
|
|
- Expand the documentation for AuthDirHasIPv6Connectivity when it is
|
|
|
set by different numbers of authorities. Fixes 23870
|
|
|
on 0.2.4.1-alpha.
|
|
|
|
|
|
o Major features (onion service v3, control port):
|
|
|
- - Control port now supports command and events for v3 onion
|
|
|
- services. See proposal 284 for more information on what has been
|
|
|
- done exactly. Only the HSFETCH command hasn't been implemented at
|
|
|
- this stage because of a lack of use case with v3.
|
|
|
-
|
|
|
- It is now possible to create ephemeral v3 services using the
|
|
|
- ADD_ONION command. Additionally, several events (HS_DESC,
|
|
|
- HS_DESC_CONTENT, CIRC and CIRC_MINOR) and commands (GETINFO,
|
|
|
- HSPOST, ADD_ONION and DEL_ONION) have been extended to support v3
|
|
|
- onion services. Closes ticket 20699.
|
|
|
+ - The control port now supports command and events for v3 onion
|
|
|
+ services: It is now possible to create ephemeral v3 services using
|
|
|
+ ADD_ONION. Additionally, several events (HS_DESC, HS_DESC_CONTENT,
|
|
|
+ CIRC and CIRC_MINOR) and commands (GETINFO, HSPOST, ADD_ONION and
|
|
|
+ DEL_ONION) have been extended to support v3 onion services. Closes
|
|
|
+ ticket 20699; implements proposal 284.
|
|
|
+
|
|
|
+ o Major features (onion services):
|
|
|
+ - Provide torrc options to pin the second and third hops of onion
|
|
|
+ service circuits to a list of nodes. The option HSLayer2Guards
|
|
|
+ pins the second hop, and the option HSLayer3Guards pins the third
|
|
|
+ hop. These options are for use in conjunction with experiments
|
|
|
+ with a "vanguards" for preventing guard enumeration attacks.
|
|
|
+ Closes ticket 13837.
|
|
|
|
|
|
o Major features (rust, portability, experimental):
|
|
|
- Tor now ships with an optional implementation of one of its
|
|
@@ -54,18 +52,18 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
Implementation by Chelsea Komlo. Closes ticket 22840.
|
|
|
|
|
|
o Major features (storage, configuration):
|
|
|
- - Users can choose to store cached directory documents somewhere
|
|
|
- other than the DataDirectory by using the CacheDirectory option.
|
|
|
- Similarly, the storage location for relay's keys can be overridden
|
|
|
- with the KeyDirectory option. Closes ticket 22703.
|
|
|
+ - Users can store cached directory documents somewhere other than
|
|
|
+ the DataDirectory by using the CacheDirectory option. Similarly,
|
|
|
+ the storage location for relay's keys can be overridden with the
|
|
|
+ KeyDirectory option. Closes ticket 22703.
|
|
|
|
|
|
o Major features (v3 onion services, ipv6):
|
|
|
- - When v3 onion service clients send introduce cells, include the
|
|
|
- IPv6 address of the rendezvous point, if it has one. v3 onion
|
|
|
- services running 0.3.2 ignore IPv6 addresses. In future Tor
|
|
|
- versions, IPv6-only v3 single onion services can use IPv6
|
|
|
- addresses to connect directly to the rendezvous point. Closes
|
|
|
- ticket 23577. Patch by Neel Chauhan.
|
|
|
+ - When v3 onion service clients send introduce cells, they now
|
|
|
+ include the IPv6 address of the rendezvous point, if it has one.
|
|
|
+ Current v3 onion services running 0.3.2 ignore IPv6 addresses, but
|
|
|
+ in future Tor versions, IPv6-only v3 single onion services will be
|
|
|
+ able to IPv6 addresses to connect directly to the rendezvous
|
|
|
+ point. Closes ticket 23577. Patch by Neel Chauhan.
|
|
|
|
|
|
o Major bugfixes (onion services, retry behavior):
|
|
|
- Fix an "off by 2" error in counting rendezvous failures on the
|
|
@@ -99,11 +97,6 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
- Tor now deletes the CookieAuthFile and ExtORPortCookieAuthFile
|
|
|
when it stops. Closes ticket 23271.
|
|
|
|
|
|
- o Minor features (code correctness, descriptors):
|
|
|
- - Check that microdesc ed25519 ids are non-zero in
|
|
|
- node_get_ed25519_id(), before returning them. Implements 24001,
|
|
|
- patch by "aruna1234".
|
|
|
-
|
|
|
o Minor features (defensive programming):
|
|
|
- Most of the functions in Tor that free objects have been replaced
|
|
|
with macros that free the objects and set the corresponding
|
|
@@ -111,6 +104,9 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
dangling pointer bugs. Closes ticket 24337.
|
|
|
- Where possible, the tor_free() macro now only evaluates its input
|
|
|
once. Part of ticket 24337.
|
|
|
+ - Check that microdesc ed25519 ids are non-zero in
|
|
|
+ node_get_ed25519_id() before returning them. Implements 24001,
|
|
|
+ patch by "aruna1234".
|
|
|
|
|
|
o Minor features (directory authority):
|
|
|
- Make the "Exit" flag assignment only depend on whether the exit
|
|
@@ -128,14 +124,13 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
- 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.
|
|
|
+ but it should make a significant for programs that 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.
|
|
|
+ __DisableSignalHandlers option. Closes ticket 24588.
|
|
|
|
|
|
o Minor features (fallback directory list):
|
|
|
- Avoid selecting fallbacks that change their IP addresses too
|
|
@@ -172,6 +167,8 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
entries. Ticket 24681 will maintain the current fallback weights
|
|
|
by changing Tor's default fallback weight to 10. Implements
|
|
|
ticket 24679.
|
|
|
+ - Stop logging excessive information about fallback netblocks.
|
|
|
+ Implements ticket 24791.
|
|
|
|
|
|
o Minor features (forward-compatibility):
|
|
|
- If a relay supports some link authentication protocol that we do
|
|
@@ -201,12 +198,6 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
- Added support for the Android logging subsystem. Closes
|
|
|
ticket 24362.
|
|
|
|
|
|
- o Minor features (OSX, iOS, performance):
|
|
|
- - Use the mach_approximate_time() function (when available) to
|
|
|
- implement coarse monotonic time. Having a coarse time function
|
|
|
- should avoid a large number of system calls, and improve
|
|
|
- performance slightly, especially under load. Closes ticket 24427.
|
|
|
-
|
|
|
o Minor features (performance):
|
|
|
- Support predictive circuit building for onion service circuits
|
|
|
with multiple layers of guards. Closes ticket 23101.
|
|
@@ -221,6 +212,12 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
when timestamping cells and buffer chunks for OOM calculations.
|
|
|
Implements ticket 24374.
|
|
|
|
|
|
+ o Minor features (performance, OSX, iOS):
|
|
|
+ - Use the mach_approximate_time() function (when available) to
|
|
|
+ implement coarse monotonic time. Having a coarse time function
|
|
|
+ should avoid a large number of system calls, and improve
|
|
|
+ performance slightly, especially under load. Closes ticket 24427.
|
|
|
+
|
|
|
o Minor features (performance, windows):
|
|
|
- Improve performance on Windows Vista and Windows 7 by adjusting
|
|
|
TCP send window size according to the recommendation from
|
|
@@ -263,13 +260,6 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
the TOR_RUST_DEPENDENCIES option set. Fixes bug 22768; bugfix
|
|
|
on 0.3.1.7.
|
|
|
|
|
|
- o Minor bugfixes (code correctness):
|
|
|
- - Stop invoking undefined behavior by using tor_free() on an
|
|
|
- unaligned pointer in get_interface_addresses_ioctl(). This pointer
|
|
|
- alignment issue exists on x86_64 macOS, but is unlikely to exist
|
|
|
- elsewhere. Fixes bug 24733; bugfix on 0.3.0.0-alpha-dev; not in
|
|
|
- any released version of tor.
|
|
|
-
|
|
|
o Minor bugfixes (directory authorities, IPv6):
|
|
|
- When creating a routerstatus (vote) from a routerinfo (descriptor),
|
|
|
set the IPv6 address to the unspecified IPv6 address, and
|
|
@@ -281,12 +271,10 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
don't put it in /usr/bin.) Fixes bug 24708; bugfix
|
|
|
on 0.2.8.1-alpha.
|
|
|
|
|
|
- o Minor bugfixes (hibernation):
|
|
|
+ o Minor bugfixes (hibernation, bandwidth accounting, shutdown):
|
|
|
- When hibernating, close connections normally and allow them to
|
|
|
flush. Fixes bug 23571; bugfix on 0.2.4.7-alpha. Also fixes
|
|
|
bug 7267.
|
|
|
-
|
|
|
- o Minor bugfixes (hibernation, bandwidth accounting, shutdown):
|
|
|
- Do not attempt to launch self-reachability tests when entering
|
|
|
hibernation. Fixes a base of bug 12062; bugfix on 0.0.9pre5.
|
|
|
- Resolve several bugs related to descriptor fetching on bridge
|
|
@@ -299,11 +287,11 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
Fixes a case of bug 12062; bugfix on 0.0.9pre5.
|
|
|
|
|
|
o Minor bugfixes (IPv6, bridges):
|
|
|
- - Tor now always sets IPv6 preferences for bridges, even if there is
|
|
|
- only router information or router status and warns about them.
|
|
|
- Fixes bug 24573; bugfix on 0.2.8.2-alpha.
|
|
|
- - Tor now sets IPv6 address in rs as well as it's set the one in ri.
|
|
|
- Closes ticket 24572; bugfix on 0.2.4.5-alpha. Patch by "ffmancera".
|
|
|
+ - Tor now always sets IPv6 preferences for bridges. Fixes bug 24573;
|
|
|
+ bugfix on 0.2.8.2-alpha.
|
|
|
+ - Tor now sets IPv6 address in the routerstatus as well as in the
|
|
|
+ router descriptors when updating addresses for a bridge. Closes
|
|
|
+ ticket 24572; bugfix on 0.2.4.5-alpha. Patch by "ffmancera".
|
|
|
|
|
|
o Minor bugfixes (linux seccomp2 sandbox):
|
|
|
- When running with the sandbox enabled, reload configuration files
|
|
@@ -323,7 +311,12 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
limit (which can happen sometimes on some versions of OSX). Fixes
|
|
|
bug 21074; bugfix on 0.0.9pre5.
|
|
|
|
|
|
- o Minor bugfixes (performance):
|
|
|
+ o Minor bugfixes (performance, fragile-hardening):
|
|
|
+ - Improve the performance of our consensus-diff application code
|
|
|
+ when Tor is built with the --enable-fragile-hardening option set.
|
|
|
+ Fixes bug 24826; bugfix on 0.3.1.1-alpha.
|
|
|
+
|
|
|
+ o Minor bugfixes (performance, timeouts):
|
|
|
- Consider circuits for timeout as soon as they complete a hop. This
|
|
|
is more accurate than applying the timeout in
|
|
|
circuit_expire_building() because that function is only called
|
|
@@ -336,11 +329,6 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
from all circuits at the point where they complete their third
|
|
|
hop. Fixes bug 23100; bugfix on 0.2.2.2-alpha.
|
|
|
|
|
|
- o Minor bugfixes (performance, fragile-hardening):
|
|
|
- - Improve the performance of our consensus-diff application code
|
|
|
- when Tor is built with the --enable-fragile-hardening option set.
|
|
|
- Fixes bug 24826; bugfix on 0.3.1.1-alpha.
|
|
|
-
|
|
|
o Minor bugfixes (testing):
|
|
|
- Give out Exit flags in bootstrapping networks. Fixes bug 24137;
|
|
|
bugfix on 0.2.3.1-alpha.
|
|
@@ -375,7 +363,7 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
|
|
|
o Documentation:
|
|
|
- Add documentation on how to build tor with Rust dependencies
|
|
|
- without requiring being online. Closes ticket 22907; bugfix
|
|
|
+ without having to beonline. Closes ticket 22907; bugfix
|
|
|
on 0.3.0.3-alpha.
|
|
|
- Clarify the behavior of RelayBandwidth{Rate,Burst} with client
|
|
|
traffic. Closes ticket 24318.
|
|
@@ -386,31 +374,24 @@ Changes in version 0.3.3.1-alpha - 2018-01-??:
|
|
|
ticket 24526.
|
|
|
|
|
|
o Code simplification and refactoring (channels):
|
|
|
- - Remove the incoming and outgoing channel queues. The reason to do
|
|
|
- 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
|
|
|
- unused code path.
|
|
|
+ - Remove the incoming and outgoing channel queues: These were never
|
|
|
+ used, but still took up a step in our fast path.
|
|
|
- The majority of the channel unit tests have been rewritten and the
|
|
|
code coverage has now been raised to 83.6% for channel.c. Closes
|
|
|
ticket 23709.
|
|
|
- - We've simplify a lot the channel subsystem by removing those
|
|
|
- queues but also by removing a lot of unused code or dead code
|
|
|
- around it. Overall this is a cleanup removing more than 1500 lines
|
|
|
- of code overall and adding very little except for unit test.
|
|
|
+ - Remove other dead code from the a lot the channel subsystem: All
|
|
|
+ together, this cleanup has removed more than 1500 lines of code
|
|
|
+ overall and adding very little except for unit test.
|
|
|
|
|
|
o Code simplification and refactoring (circuit rendezvous):
|
|
|
- - Split get rendezvous circuit on client side on two different
|
|
|
- functions. One that returns only established circuits and another
|
|
|
+ - Split the client-size rendezvous circuit lookup into two
|
|
|
+ functions: one that returns only established circuits and another
|
|
|
that returns all kinds of circuits. Closes ticket 23459.
|
|
|
|
|
|
o Code simplification and refactoring (controller):
|
|
|
- Make most of the variables in networkstatus_getinfo_by_purpose()
|
|
|
const. Implements ticket 24489.
|
|
|
|
|
|
- o Code simplification and refactoring (fallbacks):
|
|
|
- - Stop logging excessive information about fallback netblocks.
|
|
|
- Implements ticket 24791.
|
|
|
-
|
|
|
|
|
|
Changes in version 0.3.2.9 - 2018-01-09
|
|
|
Tor 0.3.2.9 is the first stable release in the 0.3.2 series.
|