summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-07-09Merge branch 'maint-0.3.5' into release-0.3.5tor-0.3.5.11Nick Mathewson
2020-07-09bump to 0.3.5.11Nick Mathewson
2020-07-09035: copy changelog into release notesNick Mathewson
2020-07-09Final 0.3.5.11 changelog entriesNick Mathewson
2020-07-09Merge branch 'maint-0.3.5' into release-0.3.5Nick Mathewson
2020-07-09Merge branch 'trove_2020_001_035' into maint-0.3.5Nick Mathewson
2020-07-08Merge branch 'maint-0.3.5' into release-0.3.5Alexander Færøy
2020-07-07Resolve a compiler warning from a 32-bit signed/unsigned comparisonNick Mathewson
This warning only affects platforms (like win32) with 32-bit time_t. Fixes bug 40028; bugfix on 0.3.2.8-rc.
2020-07-07Merge branch 'maint-0.3.5' into release-0.3.5Alexander Færøy
2020-07-07CI: Fix Appveyor printf format errorDavid Goulet
For some reasons, Appveyor started to use the stdio printf format for 64 bit values (PRIu64, ...). Mingw doesn't like that so force it to use the Windows specific macros by setting D__USE_MINGW_ANSI_STDIO=0. Fixes #40026
2020-07-06Start a changelog for 0.3.5.11Nick Mathewson
2020-07-06Remove a changes file that got included in 0.3.5.10Nick Mathewson
2020-07-06Use ((x + 7) >> 3) instead of (x >> 3) when converting from bits to bytes.Alexander Færøy
This patch changes our bits-to-bytes conversion logic in the NSS implementation of `tor_tls_cert_matches_key()` from using (x >> 3) to ((x + 7) >> 3) since DER bit-strings are allowed to contain a number of bits that is not a multiple of 8. Additionally, we add a comment on why we cannot use the `DER_ConvertBitString()` macro from NSS, as we would potentially apply the bits-to-bytes conversion logic twice, which would lead to an insignificant amount of bytes being compared in `SECITEM_ItemsAreEqual()` and thus turn the logic into being a prefix match instead of a full match. The `DER_ConvertBitString()` macro is defined in NSS as: /* ** Macro to convert der decoded bit string into a decoded octet ** string. All it needs to do is fiddle with the length code. */ #define DER_ConvertBitString(item) \ { \ (item)->len = ((item)->len + 7) >> 3; \ } Thanks to Taylor Yu for spotting this problem. This patch is part of the fix for TROVE-2020-001. See: https://bugs.torproject.org/33119
2020-07-06Add constness to length variables in `tor_tls_cert_matches_key`.Alexander Færøy
We add constness to `peer_info_orig_len` and `cert_info_orig_len` in `tor_tls_cert_matches_key` to ensure that we don't accidentally alter the variables. This patch is part of the fix for TROVE-2020-001. See: https://bugs.torproject.org/33119
2020-07-06Fix out-of-bound memory read in `tor_tls_cert_matches_key()` for NSS.Alexander Færøy
This patch fixes an out-of-bound memory read in `tor_tls_cert_matches_key()` when Tor is compiled to use Mozilla's NSS instead of OpenSSL. The NSS library stores some length fields in bits instead of bytes, but the comparison function found in `SECITEM_ItemsAreEqual()` needs the length to be encoded in bytes. This means that for a 140-byte, DER-encoded, SubjectPublicKeyInfo struct (with a 1024-bit RSA public key in it), we would ask `SECITEM_ItemsAreEqual()` to compare the first 1120 bytes instead of 140 (140bytes * 8bits = 1120bits). This patch fixes the issue by converting from bits to bytes before calling `SECITEM_ItemsAreEqual()` and convert the `len`-fields back to bits before we leave the function. This patch is part of the fix for TROVE-2020-001. See: https://bugs.torproject.org/33119
2020-07-06Run `tor_tls_cert_matches_key()` Test Suite with both OpenSSL and NSS.Alexander Færøy
This patch lifts the `tor_tls_cert_matches_key()` tests out of the OpenSSL specific TLS test suite and moves it into the generic TLS test suite that is executed for both OpenSSL and NSS. This patch is largely a code movement, but we had to rewrite parts of the test to avoid using OpenSSL specific data-types (such as `X509 *`) and replace it with the generic Tor abstraction type (`tor_x509_cert_impl_t *`). This patch is part of the fix for TROVE-2020-001. See: https://bugs.torproject.org/33119
2020-07-02Merge branch 'maint-0.3.5' into release-0.3.5David Goulet
2020-06-30Downgrade "Bug: No entry found in extrainfo map" message.Nick Mathewson
This is not actually a bug! It can happen for a bunch of reasons, which all boil down to "trying to add an extrainfo for which we no longer have the corresponding routerinfo". Fixes #16016; bugfix on 0.2.6.3-alpha.
2020-06-30Merge branch 'maint-0.3.5' into release-0.3.5Alexander Færøy
2020-06-30Merge branch 'tor-github/pr/1909' into maint-0.3.5Alexander Færøy
2020-06-30Merge branch 'maint-0.3.5' into release-0.3.5Alexander Færøy
2020-06-30Merge branch 'tor-github/pr/1793' into maint-0.3.5Alexander Færøy
2020-06-30Merge branch 'maint-0.3.5' into release-0.3.5Alexander Færøy
2020-06-30Merge branch 'tor-github/pr/1785' into maint-0.3.5Alexander Færøy
2020-06-30Merge branch 'maint-0.3.5' into release-0.3.5Alexander Færøy
2020-06-30Merge remote-tracking branch 'nickm-github/bug32884_035' into maint-0.3.5Alexander Færøy
2020-06-29Merge branch 'maint-0.3.5' into release-0.3.5Nick Mathewson
2020-06-29Merge remote-tracking branch 'tor-github/pr/1725/head' into maint-0.3.5Nick Mathewson
2020-06-12Merge branch 'maint-0.3.5' into release-0.3.5David Goulet
2020-06-12Merge branch 'tor-github/pr/1912' into maint-0.3.5David Goulet
2020-06-05Merge branch 'maint-0.3.5' into release-0.3.5Nick Mathewson
2020-06-05Update and upgrade Pacman before installing dependencies in AppVeyor.Alexander Færøy
This patch makes sures that AppVeyor upgrades its Pacman (the package manager) before installing the Tor dependencies. See: https://bugs.torproject.org/34384
2020-06-03Revert "Travis: temporarily fix stem version to d1174a83c2dcb7b8"Nick Mathewson
This reverts commit e63bfca5f2d98788d11b9a0a82bf67277a228c71, now that Stem has been upgraded to fix the underlying issue.
2020-05-30Preemptive circs should work with UseEntryGuards 0Roger Dingledine
Resume being willing to use preemptively-built circuits when UseEntryGuards is set to 0. We accidentally disabled this feature with that config setting (in our fix for #24469), leading to slower load times. Fixes bug 34303; bugfix on 0.3.3.2-alpha.
2020-05-15Merge branch 'maint-0.3.5' into release-0.3.5Nick Mathewson
2020-05-15Fix use of non-portable == in configure.ac.Nick Mathewson
Fixes bug 34233. (This has bug has been backported to 0.3.5, but only released in 0.4.3, so it only needs a changes file there.)
2020-05-14Merge branch 'maint-0.3.5' into release-0.3.5Nick Mathewson
2020-05-14Travis: temporarily fix stem version to d1174a83c2dcb7b8Nick Mathewson
This is a workaround for https://github.com/torproject/stem/issues/63
2020-05-06Merge branch 'maint-0.3.5' into release-0.3.5Nick Mathewson
2020-05-06changes file for bug 34078.Nick Mathewson
2020-05-06Use __attribute__((fallthrough)) rather than magic GCC comments.Nick Mathewson
GCC added an implicit-fallthrough warning a while back, where it would complain if you had a nontrivial "case:" block that didn't end with break, return, or something like that. Clang recently added the same thing. GCC, however, would let you annotate a fall-through as intended by any of various magic "/* fall through */" comments. Clang, however, only seems to like "__attribute__((fallthrough))". Fortunately, GCC accepts that too. A previous commit in this branch defined a FALLTHROUGH macro to do the right thing if GNUC is defined; here we replace all of our "fall through" comments with uses of that macro. This is an automated commit, made with the following perl one-liner: #!/usr/bin/perl -i -p s#/\* *falls? ?thr.*?\*/#FALLTHROUGH;#i;
2020-05-06Merge branch 'maint-0.3.5' into release-0.3.5Nick Mathewson
2020-05-06Merge branch 'bug34078_prelim_035' into maint-0.3.5Nick Mathewson
2020-05-06Remove an incorrect "Fall through" comment.Nick Mathewson
2020-05-06address.c: add a single (harmless) missing break;Nick Mathewson
2020-05-06include compat_compiler for ed25519_donnaNick Mathewson
2020-05-06Replace some "fall through" comments not at the end of a case.Nick Mathewson
2020-05-06Replace a "fall through" comment that was outside a switch.Nick Mathewson
2020-05-06Add a fallthrough macro.Nick Mathewson
This macro defers to __attribute__((fallthrough)) on GCC (and clang). Previously we had been using GCC's magic /* fallthrough */ comments, but clang very sensibly doesn't accept those. Since not all compiler recognize it, we only define it when our configure script detects that it works. Part of a fix for 34078.
2020-04-09Merge branch 'maint-0.3.5' into release-0.3.5teor