summaryrefslogtreecommitdiff
path: root/changes
AgeCommit message (Collapse)Author
2016-01-29Add ClientUseIPv4 and ClientPreferIPv6DirPort torrc optionsteor (Tim Wilson-Brown)
ClientUseIPv4 0 tells tor to avoid IPv4 client connections. ClientPreferIPv6DirPort 1 tells tor to prefer IPv6 directory connections. Refactor policy for IPv4/IPv6 preferences. Fix a bug where node->ipv6_preferred could become stale if ClientPreferIPv6ORPort was changed after the consensus was loaded. Update documentation, existing code, add unit tests.
2015-12-16Add an edge_about_to_close() call to ap_about_to_close().Nick Mathewson
Fixes #17876
2015-12-16Merge branch 'maint-0.2.7'Nick Mathewson
2015-12-16Don't call pthread_condattr_setclock() unless it existsNick Mathewson
Fixes bug 17819; bugfix on 0.2.6.3-alpha (specifically, d684dbb0).
2015-12-16Merge remote-tracking branch 'teor/feature17863'Nick Mathewson
2015-12-16Wait for busy authorities/fallbacks rather than ignoring excluded nodesteor (Tim Wilson-Brown)
Applies the 6c443e987d fix to router_pick_directory_server_impl. 6c443e987d applied to directory servers chosen from the consensus, and was: "Tweak the 9969 fix a little If we have busy nodes and excluded nodes, then don't retry with the excluded ones enabled. Instead, wait for the busy ones to be nonbusy."
2015-12-16Warn when comparing against an AF_UNSPEC address in a policyteor (Tim Wilson-Brown)
It produces unexpected results, and it's most likely a bug.
2015-12-15Merge remote-tracking branch 'teor/feature15775-fallback-v9-squashed'Nick Mathewson
2015-12-16Add Fallback Directory Candidate Selection Scriptteor
"Tor has included a feature to fetch the initial consensus from nodes other than the authorities for a while now. We just haven't shipped a list of alternate locations for clients to go to yet. Reasons why we might want to ship tor with a list of additional places where clients can find the consensus is that it makes authority reachability and BW less important. We want them to have been around and using their current key, address, and port for a while now (120 days), and have been running, a guard, and a v2 directory mirror for most of that time." Features: * whitelist and blacklist for an opt-in/opt-out trial. * excludes BadExits, tor versions that aren't recommended, and low consensus weight directory mirrors. * reduces the weighting of Exits to avoid overloading them. * places limits on the weight of any one fallback. * includes an IPv6 address and orport for each FallbackDir, as implemented in #17327. (Tor won't bootstrap using IPv6 fallbacks until #17840 is merged.) * generated output includes timestamps & Onionoo URL for traceability. * unit test ensures that we successfully load all included default fallback directories. Closes ticket #15775. Patch by "teor". OnionOO script by "weasel", "teor", "gsathya", and "karsten".
2015-12-15Merge remote-tracking branch 'teor/feature17327-v4'Nick Mathewson
2015-12-15Merge branch 'feature8195_small_squashed'Nick Mathewson
2015-12-15Update KeepCapabilities based on comments from asnNick Mathewson
* The option is now KeepBindCapabilities * We now warn if the user specifically asked for KeepBindCapabilities and we can't deliver. * The unit tests are willing to start. * Fewer unused-variable warnings. * More documentation, fewer misspellings.
2015-12-15Add ability to keep the CAP_NET_BIND_SERVICE capability on LinuxNick Mathewson
This feature allows us to bind low ports when starting as root and switching UIDs. Based on code by David Goulet. Implement feature 8195
2015-12-15Merge remote-tracking branch 'teor/feature4483-v10-squashed'Nick Mathewson
2015-12-16Prop210: Add schedules for simultaneous client consensus downloadsteor (Tim Wilson-Brown)
Prop210: Add attempt-based connection schedules Existing tor schedules increment the schedule position on failure, then retry the connection after the scheduled time. To make multiple simultaneous connections, we need to increment the schedule position when making each attempt, then retry a (potentially simultaneous) connection after the scheduled time. (Also change find_dl_schedule_and_len to find_dl_schedule, as it no longer takes or returns len.) Prop210: Add multiple simultaneous consensus downloads for clients Make connections on TestingClientBootstrapConsensus*DownloadSchedule, incrementing the schedule each time the client attempts to connect. Check if the number of downloads is less than TestingClientBootstrapConsensusMaxInProgressTries before trying any more connections.
2015-12-15Merge branch 'feature17576-UseDefaultFallbackDirs-v2-squashed'Nick Mathewson
2015-12-15Add UseDefaultFallbackDirs for hard-coded directory mirrorsteor (Tim Wilson-Brown)
UseDefaultFallbackDirs enables any hard-coded fallback directory mirrors. Default is 1, set it to 0 to disable fallbacks. Implements ticket 17576. Patch by "teor".
2015-12-15Merge branch 'maint-0.2.7'Nick Mathewson
2015-12-15Fix backtrace compilation on FreeBSDcypherpunks
On FreeBSD backtrace(3) uses size_t instead of int (as glibc does). This causes integer precision loss errors when we used int to store its results. The issue is fixed by using size_t to store the results of backtrace(3). The manual page of glibc does not mention that backtrace(3) returns negative values. Therefore, no unsigned integer wrapping occurs when its result is stored in an unsigned data type.
2015-12-15Add changes file for 17804cypherpunks
2015-12-14Merge branch 'maint-0.2.7'Nick Mathewson
2015-12-14Add changes file for 17818cypherpunks
2015-12-14Authorities on IPv6: minor fixes and unit teststeor (Tim Wilson-Brown)
Update the code for IPv6 authorities and fallbacks for function argument changes. Update unit tests affected by the function argument changes in the patch. Add unit tests for authority and fallback: * adding via a function * line parsing * adding default authorities (Adding default fallbacks is unit tested in #15775.)
2015-12-14Add a new ipv6=address:orport flag to DirAuthority and FallbackDirNick Mathewson
Resolves # 6027
2015-12-10Defer creation of Unix socket until after setuidJamie Nguyen
2015-12-10Introduce DataDirectoryGroupReadable booleanJamie Nguyen
2015-12-10Permit filesystem group to be rootJamie Nguyen
2015-12-10Remove already-merged changes files.Nick Mathewson
2015-12-10Merge remote-tracking branch 'public/feature17694_strongest_027'Nick Mathewson
2015-12-10Assert when the TLS contexts fail to initializecypherpunks
2015-12-09Assert that memory held by rephist is freedcypherpunks
The internal memory allocation and history object counters of the reputation code can be used to verify the correctness of (part of) the code. Using these counters revealed an issue where the memory allocation counter is not decreased when the bandwidth arrays are freed. A new function ensures the memory allocation counter is decreased when a bandwidth array is freed. This commit also removes an unnecessary cast which was found while working on the code.
2015-12-09Merge branch 'refactor-effective-entry'Nick Mathewson
2015-12-09Merge remote-tracking branch 'teor/first-hop-no-private'Nick Mathewson
2015-12-09changes file for bug17791Nick Mathewson
2015-12-09Add changes file for 17776cypherpunks
2015-12-08Merge branch 'feature13696_squashed'Nick Mathewson
2015-12-08Add support for getrandom() and getentropy() when availableYawning Angel
Implements feature #13696.
2015-12-08Always hash crypto_strongest_rand() along with some prngNick Mathewson
(before using it for anything besides feeding the PRNG) Part of #17694
2015-12-08Merge branch 'maint-0.2.7'Nick Mathewson
2015-12-08Merge branch 'maint-0.2.6' into maint-0.2.7Nick Mathewson
2015-12-08Merge branch 'maint-0.2.5' into maint-0.2.6Nick Mathewson
2015-12-08Merge branch 'maint-0.2.4' into maint-0.2.5Nick Mathewson
2015-12-08Ensure node is a guard candidate when picking a directory guardArlo Breault
2015-12-08Merge branch 'maint-0.2.7'Nick Mathewson
2015-12-08Merge branch 'maint-0.2.6' into maint-0.2.7Nick Mathewson
2015-12-08Merge branch 'maint-0.2.5' into maint-0.2.6Nick Mathewson
2015-12-08Merge branch 'maint-0.2.4' into maint-0.2.5Nick Mathewson
2015-12-08Fix a compilation warning introduced by clang 3.6Nick Mathewson
There was a dead check when we made sure that an array member of a struct was non-NULL. Tor has been doing this check since at least 0.2.3, maybe earlier. Fixes bug 17781.
2015-12-08Merge branch 'maint-0.2.7'Nick Mathewson
2015-12-08Format IPv6 policies correctly.Nick Mathewson
Previously we'd suppressed the mask-bits field in the output when formatting a policy if it was >=32. But that should be a >=128 if we're talking about IPv6. Since we didn't put these in descriptors, this bug affects only log messages and controller outputs. Fix for bug 16056. The code in question was new in 0.2.0, but the bug was introduced in 0.2.4 when we started supporting IPv6 exits.