aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-04-04Do not cache bogus results from classifying client ciphersNick Mathewson
When classifying a client's selection of TLS ciphers, if the client ciphers are not yet available, do not cache the result. Previously, we had cached the unavailability of the cipher list and never looked again, which in turn led us to assume that the client only supported the ancient V1 link protocol. This, in turn, was causing Stem integration tests to stall in some cases. Fixes bug 30021; bugfix on 0.2.4.8-alpha.
2019-04-03Update geoip and geoip6 to the April 2 2019 database.Karsten Loesing
2019-03-22test: Backport the 0.3.4 src/test/test-network.sh to 0.2.9teor
We need a recent test-network.sh to use new chutney features in CI. Fixes bug 29703; bugfix on 0.2.9.1-alpha.
2019-03-20Merge remote-tracking branch 'tor-github/pr/774' into maint-0.2.9teor
2019-03-18test/sr: Clear SRVs after init, and before setupteor
Already merged to 0.4.0 and later in tor-github/pr/776. Backported to 0.2.9 and later with minor comment changes. Part of 29706.
2019-03-14Merge remote-tracking branch 'tor-github/pr/770' into maint-0.2.9teor
2019-03-14Merge remote-tracking branch 'tor-github/pr/765' into maint-0.2.9teor
2019-03-14Merge remote-tracking branch 'tor-github/pr/746' into maint-0.2.9teor
2019-03-14Merge remote-tracking branch 'tor-github/pr/510' into maint-0.2.9teor
2019-03-14Merge remote-tracking branch 'tor-github/pr/331' into maint-0.2.9teor
2019-03-09test/sr: Free SRVs before replacing them in test_sr_setup_srv()teor
Stop leaking parts of the shared random state in the shared-random unit tests. The previous fix in 29599 was incomplete. Fixes bug 29706; bugfix on 0.2.9.1-alpha.
2019-03-06Update geoip and geoip6 to the March 4 2019 database.Karsten Loesing
2019-03-01Merge remote-tracking branch 'tor-github/pr/749' into maint-0.2.9teor
2019-03-01Merge remote-tracking branch 'tor-github/pr/748' into maint-0.2.9teor
2019-03-01Merge remote-tracking branch 'tor-github/pr/747' into maint-0.2.9teor
2019-03-01Bug 25733: Avoid assert failure if all circuits time out.Mike Perry
Prior to #23100, we were not counting HS circuit build times in our calculation of the timeout. This could lead to a condition where our timeout was set too low, based on non HS circuit build times, and then we would abandon all HS circuits, storing no valid timeouts in the histogram. This commit avoids the assert.
2019-02-27test/shared-random: Stop leaking shared random state in the unit teststeor
Stop leaking parts of the shared random state in the shared-random unit tests. Fixes bug 29599; bugfix on 0.2.9.1-alpha.
2019-02-19Fix a compiler warning on OpenBSDKris Katterjohn
malloc_options needs to be declared extern (and declaring it extern means we need to initialize it separately) Fixes bug 29145; bugfix on 0.2.9.3-alpha Signed-off-by: Kris Katterjohn <katterjohn@gmail.com>
2019-02-12Update geoip and geoip6 to the February 5 2019 database.Karsten Loesing
2019-01-10rend: stop warning when clients send multiple rend establish cellsteor
Stop logging "Tried to establish rendezvous on non-OR circuit..." as a warning. Instead, log it as a protocol warning, because there is nothing that relay operators can do to fix it. Fixes bug 29029; bugfix on 0.2.5.7-rc.
2019-01-07Update geoip and geoip6 to the January 3 2019 database.Karsten Loesing
2019-01-04Merge branch 'bug21394_029_redux' into maint-0.2.9Nick Mathewson
2018-12-10Fallbacks: Update the hard-coded fallback list in December 2018teor
Merge Phoul's two lists into teor's list. Replace the 150 fallbacks originally introduced in Tor 0.3.3.1-alpha in January 2018 (of which ~115 were still functional), with a list of 157 fallbacks (92 new, 65 existing, 85 removed) generated in December 2018. Closes ticket 24803.
2018-12-07Fallbacks: Update the hard-coded fallback list in December 2018teor
Replace the 150 fallbacks originally introduced in Tor 0.3.3.1-alpha in January 2018 (of which ~115 were still functional), with a list of 148 fallbacks (89 new, 59 existing, 91 removed) generated in December 2018. Closes ticket 24803.
2018-12-05Update geoip and geoip6 to the December 5 2018 database.Karsten Loesing
2018-11-15Merge remote-tracking branch 'public/bug24104_029_squashed' into maint-0.2.9Nick Mathewson
Resolved conflicts with the 26269 fix in 015fcd0e1191aa6f.
2018-11-15Windows: fix uname on recent Windows versionsteor
Correctly identify Windows 8.1, Windows 10, and Windows Server 2008 and later from their NT versions. On recent Windows versions, the GetVersionEx() function may report an earlier Windows version than the running OS. To avoid user confusion, add "[or later]" to Tor's version string on affected versions of Windows. Remove Windows versions that were never supported by the GetVersionEx() function. Stop duplicating the latest Windows version in get_uname(). Fixes bug 28096; bugfix on 0.2.2.34; reported by Keifer Bly.
2018-11-12Fix a compiler warning in aes.c.Nick Mathewson
Apparently some freebsd compilers can't tell that 'c' will never be used uninitialized. Fixes bug 28413; bugfix on 0.2.9.3-alpha when we added support for longer AES keys to this function.
2018-11-11Fix a bug in usage of SSL_set1_groups_list()Nick Mathewson
Apparently, even though the manpage says it returns an int, it can return a long instead and cause a warning. Bug not in any released Tor. Part of #28399
2018-11-11Update geoip and geoip6 to the November 6 2018 database.Karsten Loesing
2018-11-09Always declare groups when building with openssl 1.1.1 APIsNick Mathewson
Failing to do on clients was causing TLS 1.3 negotiation to fail. Fixes bug 28245; bugfix on 0.2.9.15, when we added TLS 1.3 support.
2018-10-31Merge remote-tracking branch 'tor-github/pr/436' into maint-0.2.9Nick Mathewson
2018-10-25Fix two other cases of (buf + N > end) patternNick Mathewson
Related to fix for 28202.
2018-10-25Fix possible UB in an end-of-string check in get_next_token().Nick Mathewson
Remember, you can't check to see if there are N bytes left in a buffer by doing (buf + N < end), since the buf + N computation might take you off the end of the buffer and result in undefined behavior. Fixes 28202; bugfix on 0.2.0.3-alpha.
2018-10-23Treat backtrace test failures as expected on most BSD-derived systemsteor
Treat backtrace test failures as expected on NetBSD, OpenBSD, and macOS/Darwin, until we solve bug 17808. (FreeBSD failures have been treated as expected since 18204 in 0.2.8.) Fixes bug 27948; bugfix on 0.2.5.2-alpha.
2018-10-15Fix make check-spaces.Nick Mathewson
2018-10-15Merge branch 'bug27709_029' into maint-0.2.9Nick Mathewson
2018-10-15Explain a bit more about branch prediction in the unit-test caseNick Mathewson
2018-10-10Update geoip and geoip6 to the October 9 2018 database.Karsten Loesing
2018-09-20Fix a pair of errors in bug23512Nick Mathewson
2018-09-17Bug 23512: Test recording bytes in circ queues.Mike Perry
2018-09-17Bug 23512: Report queued cells on or circs as written.Mike Perry
This avoids asymmetry in our public relay stats, which can be exploited for guard discovery and other attacks.
2018-09-17Promote rep_hist bw functions to uint64_t.Mike Perry
The rest of rephist uses uint64_t internally. Let's make these take it too, so we don't have to worry about overflowing size_t on 32 bit systems.
2018-09-14Revise our assertion and bug macros to work with -WparenthesesNick Mathewson
On GCC and Clang, there's a feature to warn you about bad conditionals like "if (a = b)", which should be "if (a == b)". However, they don't warn you if there are extra parentheses around "a = b". Unfortunately, the tor_assert() macro and all of its kin have been passing their inputs through stuff like PREDICT_UNLIKELY(expr) or PREDICT_UNLIKELY(!(expr)), both of which expand to stuff with more parentheses around "expr", thus suppressing these warnings. To fix this, this patch introduces new macros that do not wrap expr. They're only used when GCC or Clang is enabled (both define __GNUC__), since they require GCC's "({statement expression})" syntax extension. They're only used when we're building the unit-test variant of the object files, since they suppress the branch-prediction hints. I've confirmed that tor_assert(), tor_assert_nonfatal(), tor_assert_nonfatal_once(), BUG(), and IF_BUG_ONCE() all now give compiler warnings when their argument is an assignment expression. Fixes bug 27709. Bugfix on 0.0.6, where we first introduced the "tor_assert()" macro.
2018-09-14protover: reject invalid protocol namescypherpunks
The spec only allows the characters [A-Za-z0-9-]. Fix on b2b2e1c7f24d9b65059e3d089768d6c49ba4f58f. Fixes #27316; bugfix on 0.2.9.4-alpha.
2018-09-13In conditionvar_timeout test, wait for threads to timeoutNick Mathewson
Previously we just waited 200msec, which was not enough on slow/busy systems. Fixes bug 27073; bugfix on 0.2.6.3-alpha when the test was introduced.
2018-09-12Check waitpid return value and exit status in tinytest.cNick Mathewson
It's possible for a unit test to report success via its pipe, but to fail as it tries to clean up and exit. Notably, this happens on a leak sanitizer failure. Fixes bug 27658; bugfix on 0.2.2.4-alpha when tinytest was introduced.
2018-09-11Update geoip and geoip6 to the September 6 2018 database.Karsten Loesing
2018-09-10Bump to 0.2.9.17-devNick Mathewson
2018-09-07Bump to 0.2.9.17Nick Mathewson