Commit e811bac8 authored by Nick Mathewson's avatar Nick Mathewson
Browse files

use sortChanges to begin an changelog

parent 98aff146
This diff is collapsed.
o Code simplification and refactoring:
- Introduce a function to call getsockname() and return
tor_addr_t, to save a little complexity throughout the codebase.
Closes ticket 18105.
o Removed features:
- Directory authorities will no longer support voting according to any
consensus method before consensus method 25. This keeps authorities
compatible with all authorities running and later, and does
not break any clients or relays. Implements ticket 24378 and
proposal 290.
o Documentation:
- Correct an IPv6 error in the documentation for ExitPolicy.
Closes ticket 25857. Patch from "CTassisF".
o Code simplification and refactoring:
- In order to make the OR and dir checking function in router.c less
confusing we renamed some functions and consider_testing_reachability()
has been splitted into router_should_check_reachability() and
router_do_reachability_checks(). Also we improved the documentation in
some functions. Closes ticket 18918.
o Minor bugfixes (freebsd):
- In have_enough_mem_for_dircache(), the variable DIRCACHE_MIN_MEM_MB
does not stringify on FreeBSD, so we switch to tor_asprintf(). Fixes
bug 20887; bugfix on Patch by Neel Chauhan.
o Code simplification and refactoring:
- Make hsdir_index in node_t a hsdir_index_t rather than a pointer
as hsdir_index is always present. Also, we move hsdir_index_t into
or.h. Closes ticket 23094. Patch by Neel Chauhan.
o Code simplification and refactoring:
- Put a SHA1 public key digest in hs_service_intro_point_t, and use it in
register_intro_circ() and service_intro_point_new(). This prevents the
digest from being re-calculated each time. Closes ticket 23107. Patch by
Neel Chauhan.
o Minor bugfixes (relay, crash):
- Avoid a crash when running with DirPort set but ORPort tuned off.
Fixes a case of bug 23693; bugfix on
o Minor features (directory authority):
- Directory authorities now open their key-pinning files as O_SYNC,
to prevent themselves from accidentally writing partial lines.
Closes ticket 23909.
o Major bugfixes (protover, voting):
- Revise Rust implementation of protover to use a more memory-efficient
voting algorithm and corresponding data structures, thus avoiding a
potential (but small impact) DoS attack where specially crafted protocol
strings would expand to several potential megabytes in memory. In the
process, several portions of code were revised to be methods on new,
custom types, rather than functions taking interchangeable types, thus
increasing type safety of the module. Custom error types and handling
were added as well, in order to facilitate better error dismissal/handling
in outside crates and avoid mistakenly passing an internal error string to
C over the FFI boundary. Many tests were added, and some previous
differences between the C and Rust implementations have been
remedied. Fixes bug 24031; bugfix on
o Code simplification and refactoring:
- Since Tor requires C99, remove our old workaround code for libc
implementations where free(NULL) doesn't work. Closes ticket 24484.
o Minor features (performance, 32-bit):
- Make our timing-wheel code run a tiny bit faster on 32-bit platforms,
by preferring 32-bit math to 64-bit. Closes ticket 24688.
o Minor bugfixes (relay statistics):
- When a relay is collecting internal statistics about how many
create cell requests it has seen of each type, accurately count the
requests from relays that temporarily fall out of the consensus. (To
be extra conservative, we were already ignoring requests from
clients in our counts, and we continue ignoring them here.) Fixes
bug 24910; bugfix on
o Minor features (performance):
- Avoid a needless call to malloc() when processing an incoming
relay cell. Closes ticket 24914.
o Minor bugfixes (Linux seccomp2 sandbox):
- Allow the nanosleep() system call, which glibc uses to implement
sleep() and usleep(). Fixes bug 24969; bugfix on
o Major bugfixes (relay, denial of service):
- Impose a limit on circuit cell queue size. The limit can be controlled by
a consensus parameter. Fixes bug 25226; bugfix on
o Major features (main loop, CPU wakeup):
- The bandwidth-limitation logic has been refactored so that
bandwidth calculations are performed on-demand, rather than
every TokenBucketRefillInterval milliseconds.
This change should improve the granularity of our bandwidth
calculations, and limit the number of times that the Tor process needs
to wake up when it is idle. Closes ticket 25373.
o New system requirements:
- Tor no longer tries to support systems without mmap() or some local
equivalent. Apparently, compilation on such systems has been broken for
some time, without anybody noticing or complaining. Closes ticket
o Minor bugfixes (portability):
- Do not align mmap length, as it is not required by POSIX, and the
getpagesize function is deprecated. Fixes bug 25399; bugfix on
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment