commit 4c165aca04f7dce3721ac02732f1d161a86575c6
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Fri Oct 30 10:59:14 2020 -0400
Run format_changelog
---
ChangeLog | 544 +++++++++++++++++++++++++++++++-------------------------------
1 file changed, 272 insertions(+), 272 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index b75aeb299b..9d268948c6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,168 +1,161 @@
Changes in version 0.4.5.1-alpha - 2020-10-30
- Tor 0.4.5.1-alpha is the first alpha release in the 0.4.5.x series.
- It improves support for IPv6, address discovery and self-testing, code
+ Tor 0.4.5.1-alpha is the first alpha release in the 0.4.5.x series. It
+ improves support for IPv6, address discovery and self-testing, code
metrics and tracing.
Here are the changes since 0.4.4.5.
- o Major features (IPv6, relay):
- - The torrc option Address now supports IPv6. By doing so, we've also
- unified the interface to find our address to support IPv4, IPv6 and
- hostname. Closes ticket 33233.
-
- o Major features (relay, IPv6):
- - Relays now automatically bind on IPv6 for their ORPort unless specified
- otherwise with the IPv4Only flag. Closes ticket 33246.
-
- o Major features (tracing):
- - Add a tracing library with USDT and LTTng-UST support. Few tracepoints
- were added in the circuit subsystem. More will come incrementally. This
- feature is compiled out by default. It needs to be enabled at configure
- time. See documentation in doc/HACKING/Tracing.md. Closes ticket 32910.
+ - The "optimistic data" feature is now always on; there is no longer
+ an option to disable it from the torrc file or from the consensus
+ directory. Closes part of 40139. - The "usecreatefast" network
+ parameter is now removed; there is no longer an option for authorities
+ to turn it off. Closes part of 40139.
o Major features (IPv6, relay):
- - Launch IPv4 and IPv6 ORPort self-test circuits on relays and bridges.
- Closes ticket 33222.
+ - The torrc option Address now supports IPv6. By doing so, we've
+ also unified the interface to find our address to support IPv4,
+ IPv6 and hostname. Closes ticket 33233.
+ - Launch IPv4 and IPv6 ORPort self-test circuits on relays and
+ bridges. Closes ticket 33222.
o Major features (metrics):
- - Introduce a new MetricsPort which exposes, through an HTTP GET /metrics, a
- series of metrics that tor collects at runtime. At the moment, the only
- supported output format is Prometheus data model. Closes ticket 40063;
+ - Introduce a new MetricsPort which exposes, through an HTTP GET
+ /metrics, a series of metrics that tor collects at runtime. At the
+ moment, the only supported output format is Prometheus data model.
+ Closes ticket 40063;
o Major features (relay self-testing, IPv6):
- - Relays now track their IPv6 ORPort separately from the reachability of
- their IPv4 ORPort. They will not publish a descriptor unless _both_
- ports appear to be externally reachable. Closes ticket 34067.
+ - Relays now track their IPv6 ORPort separately from the reachability
+ of their IPv4 ORPort. They will not publish a descriptor unless
+ _both_ ports appear to be externally reachable. Closes
+ ticket 34067.
o Major features (relay, IPv6):
+ - Relays now automatically bind on IPv6 for their ORPort unless
+ specified otherwise with the IPv4Only flag. Closes ticket 33246.
- When a relay with IPv6 support opens a connection to another
relay, and the extend cell lists both IPv4 and IPv6 addresses, the
- first relay now picks randomly which address to use. Closes
+ first relay now picks randomly which address to use. Closes
ticket 33220.
+ o Major features (tracing):
+ - Add a tracing library with USDT and LTTng-UST support. Few
+ tracepoints were added in the circuit subsystem. More will come
+ incrementally. This feature is compiled out by default. It needs
+ to be enabled at configure time. See documentation in
+ doc/HACKING/Tracing.md. Closes ticket 32910.
+
o Major bugfix (TLS, buffer):
- - When attempting to read N bytes on a TLS connection, really try to read
- those N bytes. Before that, Tor would stop reading after the first TLS
- record which can be smaller than N bytes even though more data was waiting
- on the TLS connection socket. The remaining data would have been read at
- the next mainloop event. Fixes bug 40006; bugfix on 0.1.0.5-rc.
+ - When attempting to read N bytes on a TLS connection, really try to
+ read those N bytes. Before that, Tor would stop reading after the
+ first TLS record which can be smaller than N bytes even though
+ more data was waiting on the TLS connection socket. The remaining
+ data would have been read at the next mainloop event. Fixes bug
+ 40006; bugfix on 0.1.0.5-rc.
o Minor features (address discovery):
- - If no Address statements are found, relays now prioritize guessing their
- address by looking at the local interface instead of the local hostname.
- If the interface address can't be found, the local hostname is used.
- Closes ticket 33238.
-
- o Minor features (configuration):
- - Allow the using wildcards (* and ?) with the %include option on
- configuration files. Closes ticket 25140. Patch by Daniel Pinto.
- - Allows configuration options EntryNodes, ExcludeNodes,
- ExcludeExitNodes, ExitNodes, MiddleNodes, HSLayer2Nodes and
- HSLayer3Nodes to be specified multiple times. Closes ticket
- 28361. Patch by Daniel Pinto.
-
- o Minor features (control port):
- - Add a DROPTIMEOUTS control port command to drop circuit build timeout
- history and reset the timeout. Closes ticket 40002.
-
- o Minor features (directory authorities):
- - Create new consensus method that removes the unecessary = padding
- from ntor-onion-key. Closes ticket 7869. Patch by Daniel Pinto.
-
- o Minor features (relay):
- - If a relay is unable to discover its address, attempt to learn it from the
- NETINFO cell. Closes ticket 40022.
-
- o Minor features (relay, address discovery):
- - If Address is not found in torrc, attempt to learn our address with the
- configured ORPort address if any. Closes ticket 33236.
+ - If no Address statements are found, relays now prioritize guessing
+ their address by looking at the local interface instead of the
+ local hostname. If the interface address can't be found, the local
+ hostname is used. Closes ticket 33238.
o Minor features (admin tools):
- Add new --format argument to -key-expiration option to allow
- specifying the time format of expiration date. Adds Unix
- timestamp format support. Patch by Daniel Pinto. Closes
- ticket 30045.
+ specifying the time format of expiration date. Adds Unix timestamp
+ format support. Patch by Daniel Pinto. Closes ticket 30045.
o Minor features (authorities):
- Authorities now list a different set of protocols as required and
- recommended. These lists are chosen so that only truly recommended
- and/or required protocols are included, and so that clients using 0.2.9
- or later will continue to work (even though they are not supported),
- whereas only relays running 0.3.5 or later will meet the requirements.
- Closes ticket 40162.
+ recommended. These lists are chosen so that only truly recommended
+ and/or required protocols are included, and so that clients using
+ 0.2.9 or later will continue to work (even though they are not
+ supported), whereas only relays running 0.3.5 or later will meet
+ the requirements. Closes ticket 40162.
o Minor features (bootstrap reporting):
- When reporting bootstrapping status on a relay, do not consider
connections that have never been the target of an origin circuit.
Previously, all connection failures were treated as potential
- bootstrapping failures, including those that had been opened because of
- client requests. Closes ticket 25061.
+ bootstrapping failures, including those that had been opened
+ because of client requests. Closes ticket 25061.
o Minor features (build):
- - If the configure script has given any warnings, remind the user about
- them at the end of the script. Related to 40138.
- - When running the configure script, try to detect version mismatches
- between the openssl headers and libraries, and suggest that the
- user should try "--with-openssl-dir". Closes 40138.
+ - If the configure script has given any warnings, remind the user
+ about them at the end of the script. Related to 40138.
+ - When running the configure script, try to detect version
+ mismatches between the openssl headers and libraries, and suggest
+ that the user should try "--with-openssl-dir". Closes 40138.
o Minor features (compilation):
- When building Tor, first link all object files into a single
static library. This may help with embedding Tor in other
- programs. Note that most Tor functions do not constitute a
- part of a stable or supported API: Only those functions in
- tor_api.h should be used if embedding Tor. Closes ticket
- 40127.
+ programs. Note that most Tor functions do not constitute a part of
+ a stable or supported API: Only those functions in tor_api.h
+ should be used if embedding Tor. Closes ticket 40127.
+
+ o Minor features (configuration):
+ - Allow the using wildcards (* and ?) with the %include option on
+ configuration files. Closes ticket 25140. Patch by Daniel Pinto.
+ - Allows configuration options EntryNodes, ExcludeNodes,
+ ExcludeExitNodes, ExitNodes, MiddleNodes, HSLayer2Nodes and
+ HSLayer3Nodes to be specified multiple times. Closes ticket 28361.
+ Patch by Daniel Pinto.
o Minor features (control port):
+ - Add a DROPTIMEOUTS control port command to drop circuit build
+ timeout history and reset the timeout. Closes ticket 40002.
- When a stream enters the AP_CONN_STATE_CONTROLLER_WAIT status,
send a control port event CONTROLLER_WAIT. Closes ticket 32190.
Patch by Neel Chauhan.
o Minor features (control port, relay):
- - Introduce "GETINFO address/v4" and "GETINFO address/v6" in the control
- port to fetch the Tor host's respective IPv4 or IPv6 address. We keep
- "GETINFO address" for backwords-compatibility which retains the current
- behavior. Closes ticket 40039. Patch by Neel Chauhan.
+ - Introduce "GETINFO address/v4" and "GETINFO address/v6" in the
+ control port to fetch the Tor host's respective IPv4 or IPv6
+ address. We keep "GETINFO address" for backwords-compatibility
+ which retains the current behavior. Closes ticket 40039. Patch by
+ Neel Chauhan.
o Minor features (control port, rephist):
- Introduce GETINFO "stats/ntor/{assigned/requested}" and
- "stats/tap/{assigned/requested}" to get the NTorand TAP
- circuit onion handshake rephist values respectively.
- Closes ticket 28279. Patch by Neel Chauhan.
+ "stats/tap/{assigned/requested}" to get the NTorand TAP circuit
+ onion handshake rephist values respectively. Closes ticket 28279.
+ Patch by Neel Chauhan.
o Minor features (controller, IPv6):
- - Tor relays now try to report to the controller when they are launching
- an IPv6 self-test. Closes ticket 34068.
+ - Tor relays now try to report to the controller when they are
+ launching an IPv6 self-test. Closes ticket 34068.
o Minor features (directory authorities):
+ - Create new consensus method that removes the unecessary = padding
+ from ntor-onion-key. Closes ticket 7869. Patch by Daniel Pinto.
- Directory authorities now reject descriptors from relays running
Tor versions from the 0.4.1 series, but still allow the 0.3.5
series. Resolves ticket 34357. Patch by Neel Chauhan.
o Minor features (directory authorities, IPv6):
- Make authorities add their IPv6 ORPort (if any) to the trusted dir
- servers list. Authorities currently add themselves to the trusted dir
- servers list, but they only add their IPv4 address and ports to the list.
- Closes ticket 32822.
+ servers list. Authorities currently add themselves to the trusted
+ dir servers list, but they only add their IPv4 address and ports
+ to the list. Closes ticket 32822.
o Minor features (directory authority):
- Make it possible to specify multiple ConsensusParams torrc lines.
Now directory authority operators can for example put the main
- ConsensusParams config in one torrc file and then add to it from
- a different torrc file. Closes ticket 40164.
+ ConsensusParams config in one torrc file and then add to it from a
+ different torrc file. Closes ticket 40164.
- The AssumeReachable option no longer stops directory authorities
from checking whether other relays are running. A new
- AuthDirTestReachability option can be used to disable these checks.
- Closes ticket 34445.
- - When looking for possible sybil attacks, also consider IPv6 addresses.
- Two routers are considered to have "the same" address by this metric
- if they are in the same /64 network. Patch from Maurice Pibouin. Closes
- ticket 7193.
+ AuthDirTestReachability option can be used to disable these
+ checks. Closes ticket 34445.
+ - When looking for possible sybil attacks, also consider IPv6
+ addresses. Two routers are considered to have "the same" address
+ by this metric if they are in the same /64 network. Patch from
+ Maurice Pibouin. Closes ticket 7193.
o Minor features (ed25519, relay):
- Save a relay's base64-encoded ed25519 identity key to the data
- directory in a file named fingerprint-ed25519. Closes ticket 30642.
- Patch by Neel Chauhan.
+ directory in a file named fingerprint-ed25519. Closes ticket
+ 30642. Patch by Neel Chauhan.
o Minor features (heartbeat):
- Include the total number of inbound and outbound IPv4 and IPv6
@@ -170,30 +163,31 @@ Changes in version 0.4.5.1-alpha - 2020-10-30
o Minor features (IPv6, ExcludeNodes):
- Make routerset_contains_router() capable of handling IPv6
- addresses. This makes ExcludeNodes capable of excluding an
- IPv6 adddress. Previously, ExcludeNodes ignored IPv6
- addresses. Closes ticket 34065. Patch by Neel Chauhan.
+ addresses. This makes ExcludeNodes capable of excluding an IPv6
+ adddress. Previously, ExcludeNodes ignored IPv6 addresses. Closes
+ ticket 34065. Patch by Neel Chauhan.
o Minor features (IPv6, relay):
- Allow relays to send IPv6-only extend cells. Closes ticket 33222.
- - Declare support for the Relay=3 subprotocol version. Closes ticket 33226.
+ - Declare support for the Relay=3 subprotocol version. Closes
+ ticket 33226.
- When launching IPv6 ORPort self-test circuits, make sure that the
second-last hop can initiate an IPv6 extend. Closes ticket 33222.
o Minor features (logging):
- - Adds the running glibc version to the log. Also adds the
- running and compiled glibc version to the library list
- returned when using the flag --library-versions. Patch
- from Daniel Pinto. Closes ticket 40047; bugfix on
- 0.4.5.0-alpha-dev.
- - Consider 301 as an error like a 404 when processing the response to a
- request for a group of server descriptors or an extrainfo documents.
- Closes ticket 40053.
- - Print directory fetch information a single line. Closes ticket 40159.
+ - Adds the running glibc version to the log. Also adds the running
+ and compiled glibc version to the library list returned when using
+ the flag --library-versions. Patch from Daniel Pinto. Closes
+ ticket 40047; bugfix on 0.4.5.0-alpha-dev.
+ - Consider 301 as an error like a 404 when processing the response
+ to a request for a group of server descriptors or an extrainfo
+ documents. Closes ticket 40053.
+ - Print directory fetch information a single line. Closes
+ ticket 40159.
- Provide more complete descriptions of our connections when logging
about them. Closes ticket 40041.
- - When describing a relay in th elogs, we now include its ed25519 identity.
- Closes ticket 22668.
+ - When describing a relay in th elogs, we now include its ed25519
+ identity. Closes ticket 22668.
o Minor features (onion services):
- When writing an onion service hostname file, first read it to make
@@ -203,263 +197,269 @@ Changes in version 0.4.5.1-alpha - 2020-10-30
Neel Chauhan.
o Minor features (pluggable transports):
- - Added option OutboundBindAddressPT to torrc. This option allows users to
- specify which IPv4 and IPv6 address they want pluggable transports to use
- for outgoing IP packets. Tor does not have a way to enforce that the pluggable
- transport honors this option so each pluggable transport will have to
- implement support for this feature. Closes ticket 5304.
+ - Added option OutboundBindAddressPT to torrc. This option allows
+ users to specify which IPv4 and IPv6 address they want pluggable
+ transports to use for outgoing IP packets. Tor does not have a way
+ to enforce that the pluggable transport honors this option so each
+ pluggable transport will have to implement support for this
+ feature. Closes ticket 5304.
o Minor features (protocol simplification):
- - Tor no longer allows subprotocol versions larger than 63. Previously
- versions up to UINT32_MAX were allowed, which significantly complicated
- our code.
- Implements proposal 318; closes ticket 40133.
+ - Tor no longer allows subprotocol versions larger than 63.
+ Previously versions up to UINT32_MAX were allowed, which
+ significantly complicated our code. Implements proposal 318;
+ closes ticket 40133.
o Minor features (relay address tracking):
- We store relay addresses for OR connections in a more logical way.
Previously we would sometimes overwrite the actual address of a
connection with a "canonical address", and then store the "real
- address" elsewhere to remember it. We now track the "canonical address"
- elsewhere for the cases where we need it, and leave the connection's
- address alone. Closes ticket 33898.
+ address" elsewhere to remember it. We now track the "canonical
+ address" elsewhere for the cases where we need it, and leave the
+ connection's address alone. Closes ticket 33898.
o Minor features (relay):
- - Log immediately when launching a relay self-check. Previously
- we would try to log before launching checks, or approximately
- when we intended to launch checks, but this tended to be
- error-prone. Closes ticket 34137.
+ - If a relay is unable to discover its address, attempt to learn it
+ from the NETINFO cell. Closes ticket 40022.
+ - Log immediately when launching a relay self-check. Previously we
+ would try to log before launching checks, or approximately when we
+ intended to launch checks, but this tended to be error-prone.
+ Closes ticket 34137.
+
+ o Minor features (relay, address discovery):
+ - If Address is not found in torrc, attempt to learn our address
+ with the configured ORPort address if any. Closes ticket 33236.
o Minor features (relay, IPv6):
- Add an AssumeReachableIPv6 option to disable self-checking IPv6
reachability. Closes part of ticket 33224.
- Add new "assume-reachable" and "assume-reachable-ipv6" parameters
to be used in an emergency to tell relays that they should publish
- even if they cannot complete their ORPort self-checks.
- Closes ticket 34064 and part of 33224.
+ even if they cannot complete their ORPort self-checks. Closes
+ ticket 34064 and part of 33224.
o Minor features (specification update):
- - Several fields in microdescriptors, router descriptors, and consensus
- documents that were formerly optional are now required. Implements
- proposal 315; closes ticket 40132.
+ - Several fields in microdescriptors, router descriptors, and
+ consensus documents that were formerly optional are now required.
+ Implements proposal 315; closes ticket 40132.
o Minor features (state):
- - When loading the state file, remove entries from the statefile that
- have been obsolete for a long time. Ordinarily Tor preserves
+ - When loading the state file, remove entries from the statefile
+ that have been obsolete for a long time. Ordinarily Tor preserves
unrecognized entries in order to keep forward-compatibility, but
these statefile entries have not actually been used in any release
since before the 0.3.5.x. Closes ticket 40137.
o Minor features (statistics, ipv6):
- - Relays now publish IPv6-specific counts of single-direction
- versus bidirectional relay connections.
- Closes ticket 33264.
+ - Relays now publish IPv6-specific counts of single-direction versus
+ bidirectional relay connections. Closes ticket 33264.
- Relays now publish their IPv6 read and write statistics over time,
- if statistics are enabled.
- Closes ticket 33263.
+ if statistics are enabled. Closes ticket 33263.
o Minor features (subprotocol versions):
- Use the new limitations on subprotocol versions due to proposal
- 318 to simplify our implementation. Part of ticket 40133.
+ 318 to simplify our implementation. Part of ticket 40133.
o Minor features (testing configuration):
- - The TestingTorNetwork no longer implicitly sets AssumeReachable to 1.
- This change will allow us to test relays' self-testing mechanisms,
- and eventually to test authorities' relay-testing functionality.
- Closes ticket 34446.
+ - The TestingTorNetwork no longer implicitly sets AssumeReachable to
+ 1. This change will allow us to test relays' self-testing
+ mechanisms, and eventually to test authorities' relay-testing
+ functionality. Closes ticket 34446.
o Minor features (testing):
- Added unit tests for channel_matches_target_addr_for_extend().
Closes Ticket 33919. Patch by MrSquanchee.
- o Minor bugfixes (logging):
- - Remove a debug logging statement that uselessly spam the logs. Fixes bug
- 40135; bugfix on 0.3.5.0-alpha.
+ o Minor bugfixes (security):
+ - When completing a channel, relays now check more thoroughly to
+ make sure that it matches any pending circuits before attaching
+ those circuits. Previously, address correctness and Ed25519
+ identities were not checked in this case, but only when extending
+ circuits on an existing channel. Fixes bug 40080; bugfix
+ on 0.2.7.2-alpha.
o Minor bugfixes (circuit padding):
- When circpad_send_padding_cell_for_callback is called,
- `is_padding_timer_scheduled` flag was not reset. Now it is set to 0 at
- the top of that function. Fixes bug 32671; bugfix on 0.4.0.1-alpha.
+ `is_padding_timer_scheduled` flag was not reset. Now it is set to
+ 0 at the top of that function. Fixes bug 32671; bugfix
+ on 0.4.0.1-alpha.
- Add a per-circuit padding machine instance counter, so we can
- differentiate between shutdown requests for old machines on a circuit;
- Fixes bug 30992; bugfix on 0.4.1.1-alpha.
- - Add the abilility to keep circuit padding machines if they match a set
- of circuit state or purposes. This allows us to have machines that start
- up under some conditions but don't shut down under others. We now
- use this mask to avoid starting up introduction circuit padding
- again after the machines have already completed. Fixes bug 32040;
- bugfix on 0.4.1.1-alpha.
+ differentiate between shutdown requests for old machines on a
+ circuit; Fixes bug 30992; bugfix on 0.4.1.1-alpha.
+ - Add the abilility to keep circuit padding machines if they match a
+ set of circuit state or purposes. This allows us to have machines
+ that start up under some conditions but don't shut down under
+ others. We now use this mask to avoid starting up introduction
+ circuit padding again after the machines have already completed.
+ Fixes bug 32040; bugfix on 0.4.1.1-alpha.
o Minor bugfixes (compatibility):
- Strip '\r' characters when reading text files on Unix platforms.
- This should resolve an issue where a relay operator migrates a relay from
- Windows to Unix, but does not change the line ending of Tor's various state
- files to match the platform, the CRLF line endings from Windows ends up leaking
- into other files such as the extra-info document. Fixes bug 33781; bugfix on
- 0.0.9pre5.
+ This should resolve an issue where a relay operator migrates a
+ relay from Windows to Unix, but does not change the line ending of
+ Tor's various state files to match the platform, the CRLF line
+ endings from Windows ends up leaking into other files such as the
+ extra-info document. Fixes bug 33781; bugfix on 0.0.9pre5.
o Minor bugfixes (compilation):
- Fix compiler warnings that would occur when building with
- "--enable-all-bugs-are-fatal" and "--disable-module-relay"
- at the same time. Fixes bug 40129; bugfix on 0.4.4.1-alpha.
- - Resolve a compilation warning that could occur in test_connection.c.
- Fixes bug 40113; bugfix on 0.2.9.3-alpha.
+ "--enable-all-bugs-are-fatal" and "--disable-module-relay" at the
+ same time. Fixes bug 40129; bugfix on 0.4.4.1-alpha.
+ - Resolve a compilation warning that could occur in
+ test_connection.c. Fixes bug 40113; bugfix on 0.2.9.3-alpha.
o Minor bugfixes (configuration):
- - Fix bug where %including a pattern ending with */ would include files
- and folders (instead of folders only) in versions of glibc < 2.19.
- Fixes bug 40141; bugfix on 0.4.5.0-alpha-dev. Patch by Daniel Pinto.
+ - Fix bug where %including a pattern ending with */ would include
+ files and folders (instead of folders only) in versions of glibc <
+ 2.19. Fixes bug 40141; bugfix on 0.4.5.0-alpha-dev. Patch by
+ Daniel Pinto.
o Minor bugfixes (logging):
- - When logging a rate-limited message about how many messages have been
- suppressed in the last N seconds, give an accurate value for N, rounded
- up to the nearest minute. Previously we would report the size of the
- rate-limiting interval, regardless of when the messages started to
- occur. Fixes bug 19431; bugfix on 0.2.2.16-alpha.
+ - Remove a debug logging statement that uselessly spam the logs.
+ Fixes bug 40135; bugfix on 0.3.5.0-alpha.
+ - When logging a rate-limited message about how many messages have
+ been suppressed in the last N seconds, give an accurate value for
+ N, rounded up to the nearest minute. Previously we would report
+ the size of the rate-limiting interval, regardless of when the
+ messages started to occur. Fixes bug 19431; bugfix
+ on 0.2.2.16-alpha.
o Minor bugfixes (protover):
- - Consistently reject extra commas, instead of only rejecting leading commas.
- Fixes bug 27194; bugfix on 0.2.9.4-alpha.
+ - Consistently reject extra commas, instead of only rejecting
+ leading commas. Fixes bug 27194; bugfix on 0.2.9.4-alpha.
o Minor bugfixes (relay configuration, crash):
- - Avoid a fatal assert() when failing to create a listener connection for an
- address that was in use. Fixes bug 40073; bugfix on 0.3.5.1-alpha.
+ - Avoid a fatal assert() when failing to create a listener
+ connection for an address that was in use. Fixes bug 40073; bugfix
+ on 0.3.5.1-alpha.
o Minor bugfixes (rust, protocol versions):
- Declare support for the onion service introduction point denial of
- service extensions, when building tor with Rust.
- Fixes bug 34248; bugfix on 0.4.2.1-alpha.
+ service extensions, when building tor with Rust. Fixes bug 34248;
+ bugfix on 0.4.2.1-alpha.
- Make Rust protocol version support checks consistent with the
- undocumented error behaviour of the corresponding C code.
- Fixes bug 34251; bugfix on 0.3.3.5-rc.
-
- o Minor bugfixes (security):
- - When completing a channel, relays now check more thoroughly to make
- sure that it matches any pending circuits before attaching those
- circuits. Previously, address correctness and Ed25519 identities were not
- checked in this case, but only when extending circuits on an existing
- channel. Fixes bug 40080; bugfix on 0.2.7.2-alpha.
+ undocumented error behaviour of the corresponding C code. Fixes
+ bug 34251; bugfix on 0.3.3.5-rc.
o Minor bugfixes (self-testing):
- - When receiving an incoming circuit, only accept it as evidence that we
- are reachable if the declared address of its channel is the same
- address we think that we have. Otherwise, it could be evidence that
- we're reachable on some other address. Fixes bug 20165; bugfix on
- 0.1.0.1-rc.
+ - When receiving an incoming circuit, only accept it as evidence
+ that we are reachable if the declared address of its channel is
+ the same address we think that we have. Otherwise, it could be
+ evidence that we're reachable on some other address. Fixes bug
+ 20165; bugfix on 0.1.0.1-rc.
o Minor bugfixes (SOCKS, onion services):
- - Make sure we send the SOCKS request address in relay begin cells when a
- stream is attached with the purpose CIRCUIT_PURPOSE_CONTROLLER. Fixes bug
- 33124; bugfix on 0.0.5. Patch by Neel Chauhan.
+ - Make sure we send the SOCKS request address in relay begin cells
+ when a stream is attached with the purpose
+ CIRCUIT_PURPOSE_CONTROLLER. Fixes bug 33124; bugfix on 0.0.5.
+ Patch by Neel Chauhan.
o Minor bugfixes (spec conformance):
- Use the correct key type when generating signing->link
- certificates. Fixes bug 40124; bugfix on 0.2.7.2-alpha.
+ certificates. Fixes bug 40124; bugfix on 0.2.7.2-alpha.
o Minor bugfixes (string handling):
- - In summarize_protover_flags(), treat empty strings the same as NULL.
- This prevents protocols_known from being set. Previously, we treated
- empty strings as normal strings, which led to protocols_known being
- set. Fixes bug 34232; bugfix on 0.3.3.2-alpha. Patch by Neel Chauhan.
+ - In summarize_protover_flags(), treat empty strings the same as
+ NULL. This prevents protocols_known from being set. Previously, we
+ treated empty strings as normal strings, which led to
+ protocols_known being set. Fixes bug 34232; bugfix on
+ 0.3.3.2-alpha. Patch by Neel Chauhan.
o Minor bugfixes (v2 onion services):
- - For HSFETCH commands on v2 onion services addresses, check the length of
- bytes decoded, not the base32 length. This takes the behavior introduced
- in commit a517daa56f5848d25ba79617a1a7b82ed2b0a7c0 into consideration.
- Fixes bug 34400; bugfix on 0.4.1.1-alpha. Patch by Neel Chauhan.
-
- o Code simplification and refactoring (autoconf):
- - Remove autoconf checks for unused funcs and headers. Closes ticket
- 31699; Patch by @bduszel
-
- o Code simplification and refactoring (maintainer scripts):
- - Disable by default the pre-commit hook. Use the environment variable
- TOR_EXTRA_PRE_COMMIT_CHECKS in order to run it. Furthermore, stop running
- practracker in the pre-commit hook and make check-local. Closes ticket
- 40019.
-
- o Code simplification and refactoring (relay address):
- - Most of IPv4 representation was using "uint32_t". It has now been moved to
- use the internal "tor_addr_t" interface instead. This is so we can
- properly integrate IPv6 along IPv4 with common interfaces. Closes ticket
- 40043.
+ - For HSFETCH commands on v2 onion services addresses, check the
+ length of bytes decoded, not the base32 length. This takes the
+ behavior introduced in commit
+ a517daa56f5848d25ba79617a1a7b82ed2b0a7c0 into consideration. Fixes
+ bug 34400; bugfix on 0.4.1.1-alpha. Patch by Neel Chauhan.
o Code simplification and refactoring:
- Add and use a set of functions to perform downcasts on constant
connection and channel pointers. Closes ticket 40046.
- - Refactor our code that logs a descriptions of connections, channels,
- and the peers on them, to use a single call path. This change
- enables us to refactor the data types that they use, and eliminate
- many confusing users of those types. Closes ticket 40041.
+ - Refactor our code that logs a descriptions of connections,
+ channels, and the peers on them, to use a single call path. This
+ change enables us to refactor the data types that they use, and
+ eliminate many confusing users of those types. Closes ticket 40041.
- Refactor some common node selection code into a single function.
Closes ticket 34200.
- - Remove the now-redundant 'outbuf_flushlen' field from our connection
- type. It was previously used for an older version of our rate-limiting
- logic. Closes ticket 33097.
- - Rename "fascist_firewall_*" identifiers to "reachable_addr_*" instead,
- for consistency with other code. Closes ticket 18106.
+ - Remove the now-redundant 'outbuf_flushlen' field from our
+ connection type. It was previously used for an older version of
+ our rate-limiting logic. Closes ticket 33097.
+ - Rename "fascist_firewall_*" identifiers to "reachable_addr_*"
+ instead, for consistency with other code. Closes ticket 18106.
- Rename functions about "advertised" ports which are not in fact
guaranteed to return the ports have been advertised. Closes
ticket 40055.
- Split implementation of several command line options from
- options_init_from_torrc into smaller isolated functions.
- Patch by Daniel Pinto. Closes ticket 40102.
- - When an extend cell is missing an IPv4 or IPv6 address, fill in the address
- from the extend info. This is similar to what was done in ticket 33633 for
- ed25519 keys. Closes ticket 33816. Patch by Neel Chauhan.
+ options_init_from_torrc into smaller isolated functions. Patch by
+ Daniel Pinto. Closes ticket 40102.
+ - When an extend cell is missing an IPv4 or IPv6 address, fill in
+ the address from the extend info. This is similar to what was done
+ in ticket 33633 for ed25519 keys. Closes ticket 33816. Patch by
+ Neel Chauhan.
o Deprecated features:
- The "non-builtin" argument to the "--dump-config" command is now
- deprecated. When it works, it behaves the same as "short", which
+ deprecated. When it works, it behaves the same as "short", which
you should use instead. Closes ticket 33398.
+ o Documentation:
+ - Replace URLs from our old bugtracker so that they refer to the new
+ bugtracker and wiki. Closes ticket 40101.
+
+ o Removed features:
+ - We no longer ship or build a "tor.service" file for use with
+ systemd. No distribution included this script unmodified, and we
+ don't have the expertise ourselves to maintain this in a way that
+ all the various systemd-based distributions can use. Closes
+ ticket 30797.
+ - We no longer ship support for the Android logging API. Modern
+ versions of Android can use the syslog API instead. Closes
+ ticket 32181.
+
+ o Testing:
+ - Add unit tests for bandwidth statistics manipulation functions.
+ Closes ticket 33812. Patch by MrSquanchee.
+
+ o Code simplification and refactoring (autoconf):
+ - Remove autoconf checks for unused funcs and headers. Closes ticket
+ 31699; Patch by @bduszel
+
+ o Code simplification and refactoring (maintainer scripts):
+ - Disable by default the pre-commit hook. Use the environment
+ variable TOR_EXTRA_PRE_COMMIT_CHECKS in order to run it.
+ Furthermore, stop running practracker in the pre-commit hook and
+ make check-local. Closes ticket 40019.
+
+ o Code simplification and refactoring (relay address):
+ - Most of IPv4 representation was using "uint32_t". It has now been
+ moved to use the internal "tor_addr_t" interface instead. This is
+ so we can properly integrate IPv6 along IPv4 with common
+ interfaces. Closes ticket 40043.
+
o Documentation (manpages):
- Move them from doc/ to doc/man/. Closes ticket 40044.
o Documentation (manual page):
- - Describe the status of the "Sandbox" option more accurately. It is no
- longer "experimental", but it _is_ dependent on kernel and libc
+ - Describe the status of the "Sandbox" option more accurately. It is
+ no longer "experimental", but it _is_ dependent on kernel and libc
versions. Closes ticket 23378.
o Documentation (tracing):
- Document in depth the circuit subsystem trace events in the new
doc/tracing/EventsCircuit.md. Closes ticket 40036.
- o Documentation:
- - Replace URLs from our old bugtracker so that they refer to the
- new bugtracker and wiki. Closes ticket 40101.
-
o Removed features (network parameters):
- - The "optimistic data" feature is now always on; there is no longer an
- option to disable it from the torrc file or from the consensus
- directory.
- Closes part of 40139.
- - The "usecreatefast" network parameter is now removed; there is no
- longer an option for authorities to turn it off. Closes part of 40139.
-
- o Removed features:
- - We no longer ship or build a "tor.service" file for use with systemd.
- No distribution included this script unmodified, and we don't have the
- expertise ourselves to maintain this in a way that all the various
- systemd-based distributions can use. Closes ticket 30797.
- - We no longer ship support for the Android logging API. Modern
- versions of Android can use the syslog API instead.
- Closes ticket 32181.
o Testing (CI):
- Build tracing configure option into our CI. Closes ticket 40038.
o Testing (onion service v2):
- - Fix a rendezvous cache unit test that was triggering an underflow on the
- global rend cache allocation. Fixes bug 40125; bugfix on
- 0.2.8.1-alpha.
- - Fix another rendezvous cache unit test that was triggering an underflow on the
- global rend cache allocation. Fixes bug 40126; bugfix on
- 0.2.8.1-alpha.
-
- o Testing:
- - Add unit tests for bandwidth statistics manipulation functions.
- Closes ticket 33812. Patch by MrSquanchee.
-
+ - Fix a rendezvous cache unit test that was triggering an underflow
+ on the global rend cache allocation. Fixes bug 40125; bugfix
+ on 0.2.8.1-alpha.
+ - Fix another rendezvous cache unit test that was triggering an
+ underflow on the global rend cache allocation. Fixes bug 40126;
+ bugfix on 0.2.8.1-alpha.
Changes in version 0.4.4.5 - 2020-09-15