|
@@ -5,7 +5,9 @@ Changes in version 0.4.1.1-alpha - 2019-05-??
|
|
|
certain denial-of-service attacks more difficult, and improves
|
|
|
performance in several areas.
|
|
|
|
|
|
- o Major features (Circuit padding):
|
|
|
+ o Code simplification and refactoring (circuit padding):
|
|
|
+
|
|
|
+ o Major features (circuit padding):
|
|
|
- Onion service clients will now add padding cells to the initial
|
|
|
portions of their INTRODUCE and RENDEZVOUS circuits, to make those
|
|
|
circuits' traffic patterns look more like general purpose Exit
|
|
@@ -42,15 +44,19 @@ Changes in version 0.4.1.1-alpha - 2019-05-??
|
|
|
time. Previously, the algorithm was quadratic, which could slow
|
|
|
down heavily used onion services. Closes ticket 30307.
|
|
|
|
|
|
- o Minor feature (circuit padding):
|
|
|
- - We now use a fast RNG when scheduling circuit padding. Part of
|
|
|
- ticket 28636.
|
|
|
-
|
|
|
- o Minor feature (maintenance scripts):
|
|
|
- - Add to scripts/maint/ helper maintainer scripts used for git
|
|
|
- maintenance. Closes ticket 29391.
|
|
|
+ o Major features (performance, RNG):
|
|
|
+ - Tor now constructs a fast secure pseudorandom number generator for
|
|
|
+ each thread, to use when performance is critical. This PRNG is
|
|
|
+ based on AES-CTR, using a buffering construction similar to
|
|
|
+ libottery and the (newer) OpenBSD arc4random() code. It
|
|
|
+ outperforms OpenSSL 1.1.1a's CSPRNG by roughly a factor of 100 for
|
|
|
+ small outputs. Although we believe it to be cryptographically
|
|
|
+ strong, we are only using it when necessary for reasonable
|
|
|
+ performance. Implements tickets 29023 and 29536.
|
|
|
|
|
|
o Minor features (circuit padding):
|
|
|
+ - We now use a fast RNG when scheduling circuit padding. Part of
|
|
|
+ ticket 28636.
|
|
|
- Allow the padding machine designer to pick the edges of their
|
|
|
histogram instead of trying to compute them automatically using an
|
|
|
exponential formula. Resolves some undefined behavior in the case
|
|
@@ -90,39 +96,24 @@ Changes in version 0.4.1.1-alpha - 2019-05-??
|
|
|
load-balancing and statistical sampling decisions. Now we use our
|
|
|
fast RNG in those cases. Closes ticket 29542.
|
|
|
|
|
|
- o Minor features (developer tooling):
|
|
|
+ o Minor features (developer tools):
|
|
|
+ - Tor's test scripts now check for files and functions that seem too
|
|
|
+ long and complicated. Existing overlong functions and files are
|
|
|
+ accepted for now, but should eventually be refactored. Closes
|
|
|
+ ticket 29221.
|
|
|
+ - Add to scripts/maint/ helper maintainer scripts used for git
|
|
|
+ maintenance. Closes ticket 29391.
|
|
|
- Call practracker from pre-push and pre-commit git hooks to let a
|
|
|
developer know if they made any code style violations in their
|
|
|
last commit. This should help preventing code style violations
|
|
|
appearing upstream. Closes ticket 30051.
|
|
|
- - Call pre-commit git hook from pre-push hook to make sure we're
|
|
|
- running documentation and code style checks before pushing to
|
|
|
- remote git repository. Implements feature 30033.
|
|
|
- - Modify git pre-push hook script to disallow pushing branches other
|
|
|
- than master, release-* and maint-* to origin remote. Implements
|
|
|
- feature 29532.
|
|
|
-
|
|
|
- o Minor features (developer tools):
|
|
|
- Add a script to check that each header has a well-formed and
|
|
|
unique guard marco. Closes ticket 29756.
|
|
|
- - Introduce a post-merge git hook script to check if we're pulling
|
|
|
- in any changes to our git workspace management scripts from
|
|
|
- upstream. Resolves issue 29588.
|
|
|
-
|
|
|
- o Minor features (development tools):
|
|
|
- - Tor's test scripts now check for files and functions that seem too
|
|
|
- long and complicated. Existing overlong functions and files are
|
|
|
- accepted for now, but should eventually be refactored. Closes
|
|
|
- ticket 29221.
|
|
|
|
|
|
o Minor features (geoip):
|
|
|
- Update geoip and geoip6 to the May 13 2019 Maxmind GeoLite2
|
|
|
Country database. Closes ticket 30522.
|
|
|
|
|
|
- o Minor features (git scripts):
|
|
|
- - In git-pull-all.sh, also fetch the latest tor-github pull
|
|
|
- requests. Implements ticket 30114.
|
|
|
-
|
|
|
o Minor features (HTTP tunnel):
|
|
|
- Return an informative web page when the HTTPTunnelPort is used as
|
|
|
an HTTP proxy. Closes ticket 27821, patch by "eighthave".
|
|
@@ -141,16 +132,6 @@ Changes in version 0.4.1.1-alpha - 2019-05-??
|
|
|
1.1.1 and later), since they tend to be faster than tiny-keccak.
|
|
|
Closes ticket 28837.
|
|
|
|
|
|
- o Minor features (performance, RNG):
|
|
|
- - Tor now constructs a fast secure pseudorandom number generator for
|
|
|
- each thread, to use for cases where performance is critical. This
|
|
|
- PRNG is based on AES-CTR, using a buffering construction similar
|
|
|
- to libottery and the (newer) OpenBSD arc4random() code. It
|
|
|
- outperforms OpenSSL 1.1.1a's CSPRNG by roughly a factor of 100 for
|
|
|
- small outputs. Although we believe it to be cryptographically
|
|
|
- strong, we are only using it when necessary for reasonable
|
|
|
- performance. Implements tickets 29023 and 29536.
|
|
|
-
|
|
|
o Minor features (testing):
|
|
|
- Tor's unit test code now contains a standard set of functions to
|
|
|
replace the PRNG with a deterministic or reproducible version for
|
|
@@ -159,6 +140,8 @@ Changes in version 0.4.1.1-alpha - 2019-05-??
|
|
|
- We now have a script, cov-test-determinism.sh, to identify places
|
|
|
where our unit test coverage has become nondeterministic. Closes
|
|
|
ticket 29436.
|
|
|
+ - Check that representative subsets of values of `int` and `unsigned
|
|
|
+ int` can be represented by `void *`. Resolves issue 29537.
|
|
|
|
|
|
o Minor bugfixes (bridge authority):
|
|
|
- We set bridges as running when we dump the bridge status to a
|
|
@@ -166,7 +149,7 @@ Changes in version 0.4.1.1-alpha - 2019-05-??
|
|
|
controller, but these shouldn't modify vital data structures.
|
|
|
Fixes bug 24490; bugfix on 0.2.0.13-alpha. Patch by Neel Chauhan
|
|
|
|
|
|
- o Minor bugfixes (Channel padding statistics):
|
|
|
+ o Minor bugfixes (channel padding statistics):
|
|
|
- Channel padding write totals and padding-enabled totals are now
|
|
|
counted properly in relay extrainfo descriptors. Fixes bug 29231;
|
|
|
bugfix on 0.3.1.1-alpha
|
|
@@ -183,13 +166,11 @@ Changes in version 0.4.1.1-alpha - 2019-05-??
|
|
|
bugfix on 0.4.0.1-alpha.
|
|
|
- The circuit padding subsystem does not schedule padding if dormant
|
|
|
mode is enabled. Fixes bug 28636; bugfix on 0.4.0.1-alpha.
|
|
|
-
|
|
|
- o Minor bugfixes (circuitpadding):
|
|
|
- Inspect circuit-level cell queue before sending padding, to avoid
|
|
|
sending padding while too much data is queued. Fixes bug 29204;
|
|
|
bugfix on 0.4.0.1-alpha.
|
|
|
|
|
|
- o Minor bugfixes (compilation, unusual configuration):
|
|
|
+ o Minor bugfixes (compilation, unusual configurations):
|
|
|
- Avoid failures when building with ALL_BUGS_ARE_FAILED due to
|
|
|
missing declarations of abort(), and prevent other such failures
|
|
|
in the future. Fixes bug 30189; bugfix on 0.3.4.1-alpha.
|
|
@@ -200,16 +181,10 @@ Changes in version 0.4.1.1-alpha - 2019-05-??
|
|
|
couldn't distinguish an argument list from the first line of a
|
|
|
multiline object. Fixes bug 29984; bugfix on 0.2.3.8-alpha.
|
|
|
|
|
|
- o Minor bugfixes (developer tools):
|
|
|
- - Update our pre-commit.git-hook script to work correctly on older
|
|
|
- Tor branches and release branches without any changes files, and
|
|
|
- to actually exit when something fails. Fixes bug 29553; bugfix
|
|
|
- on 0.4.0.2-alpha.
|
|
|
-
|
|
|
- o Minor bugfixes (dirauth, ipv6):
|
|
|
- - If we are a durauth with IPv6 and are marking relays as running,
|
|
|
- mark ourselves as reachable on IPv6. Fixes bug 24338; bugfix on
|
|
|
- 0.4.0.2-alpha. Patch by Neel Chauhan
|
|
|
+ o Minor bugfixes (directory authority, ipv6):
|
|
|
+ - If we are a directory authity with IPv6 and are marking relays as
|
|
|
+ running, mark ourselves as reachable on IPv6. Fixes bug 24338;
|
|
|
+ bugfix on 0.4.0.2-alpha. Patch by Neel Chauhan
|
|
|
|
|
|
o Minor bugfixes (documentation):
|
|
|
- Improve the documentation for MapAddress .exit. Fixes bug 30109;
|
|
@@ -218,18 +193,12 @@ Changes in version 0.4.1.1-alpha - 2019-05-??
|
|
|
Explain what "monotonic" actually means, and document some results
|
|
|
that have surprised people. Fixes bug 29640; bugfix
|
|
|
on 0.2.9.1-alpha.
|
|
|
-
|
|
|
- o Minor bugfixes (documentation, manpage):
|
|
|
- Use proper formatting when providing an example on quoting options
|
|
|
that contain whitespace. Fixes bug 29635; bugfix on 0.2.3.18-rc.
|
|
|
|
|
|
- o Minor bugfixes (lib):
|
|
|
-
|
|
|
o Minor bugfixes (logging):
|
|
|
- Do not log a warning for OpenSSL versions that should be
|
|
|
compatible. Fixes bug 30190; bugfix on 0.2.4.2-alpha
|
|
|
-
|
|
|
- o Minor bugfixes (logging, configuration):
|
|
|
- Warn operators when MyFamily option is set but ContactInfo is
|
|
|
missing, as the latter should be set too. Fixes bug 25110; bugfix
|
|
|
on 0.3.3.1-alpha.
|
|
@@ -255,6 +224,10 @@ Changes in version 0.4.1.1-alpha - 2019-05-??
|
|
|
we only set this flag when we received a INTRODUCE2 cell in
|
|
|
rend_service_receive_introduction(). Fixes bug 17357; bugfix on
|
|
|
0.4.0.2-alpha. Patch by Neel Chauhan
|
|
|
+ - Stop ignoring IPv6 link specifiers sent to v3 onion services. v3
|
|
|
+ onion service IPv6 support is still incomplete, see 23493 for
|
|
|
+ details. Fixes bug 23588; bugfix on 0.3.2.1-alpha. Patch by
|
|
|
+ Neel Chauhan.
|
|
|
|
|
|
o Minor bugfixes (onion services, performance):
|
|
|
- If we are building circuits to onion services, in
|
|
@@ -301,18 +274,8 @@ Changes in version 0.4.1.1-alpha - 2019-05-??
|
|
|
- Call setrlimit() to disable core dumps in test_bt_cl.c instead of
|
|
|
using `ulimit -c` in test_bt.sh, which violates POSIX shell
|
|
|
compatibility. Fixes bug 29061; bugfix on 0.3.5.1-alpha.
|
|
|
-
|
|
|
- o Minor bugfixes (testing, v3 onion services):
|
|
|
- Fix some incorrect code in the v3 onion service unit tests. Fixes
|
|
|
bug 29243; bugfix on 0.3.2.1-alpha.
|
|
|
-
|
|
|
- o Minor bugfixes (tor-resolve):
|
|
|
- - Fix a memory leak in tor-resolve that could happen if Tor gave it
|
|
|
- a malformed SOCKS response. (Memory leaks in tor-resolve don't
|
|
|
- actually matter, but it's good to fix them anyway.) Fixes bug
|
|
|
- 30151; bugfix on 0.4.0.1-alpha.
|
|
|
-
|
|
|
- o Minor bugfixes (unit tests):
|
|
|
- In the "routerkeys/*" tests, check the return values of mkdir()
|
|
|
for possible failures. Fixes bug 29939; bugfix on 0.2.7.2-alpha.
|
|
|
Found by Coverity as CID 1444254.
|
|
@@ -321,11 +284,11 @@ Changes in version 0.4.1.1-alpha - 2019-05-??
|
|
|
deallocation on assert failure and fixes Coverity warnings CID
|
|
|
1444117 and CID 1444118. Fixes bug 29823; bugfix on 0.2.9.1-alpha.
|
|
|
|
|
|
- o Minor bugfixes (v3 onion services):
|
|
|
- - Stop ignoring IPv6 link specifiers sent to v3 onion services. v3
|
|
|
- onion service IPv6 support is still incomplete, see 23493 for
|
|
|
- details. Fixes bug 23588; bugfix on 0.3.2.1-alpha. Patch by
|
|
|
- Neel Chauhan.
|
|
|
+ o Minor bugfixes (tor-resolve):
|
|
|
+ - Fix a memory leak in tor-resolve that could happen if Tor gave it
|
|
|
+ a malformed SOCKS response. (Memory leaks in tor-resolve don't
|
|
|
+ actually matter, but it's good to fix them anyway.) Fixes bug
|
|
|
+ 30151; bugfix on 0.4.0.1-alpha.
|
|
|
|
|
|
o Code simplification and refactoring:
|
|
|
- Abstract out the low-level formatting of replies on the control
|
|
@@ -380,12 +343,6 @@ Changes in version 0.4.1.1-alpha - 2019-05-??
|
|
|
- Remove obsolete OpenSUSE initscript. Resolves issue 30076.
|
|
|
- Remove the obsolete script at contrib/dist/tor.sh.in. Resolves
|
|
|
issue 30075.
|
|
|
-
|
|
|
- o Testing:
|
|
|
- - Check that representative subsets of values of `int` and `unsigned
|
|
|
- int` can be represented by `void *`. Resolves issue 29537.
|
|
|
-
|
|
|
- o Code simplification and refactoring (circuit padding):
|
|
|
- Avoid calling monotime_absolute_usec() in circuit padding machines
|
|
|
that do not use token removal or circuit RTT estimation. Fixes bug
|
|
|
29085; bugfix on 0.4.0.1-alpha.
|