summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Update geoip and geoip6 to the November 6 2019 database.geoip-2019-11-06Karsten Loesing2019-11-09
|
* Merge remote-tracking branch 'tor-github/pr/1342' into maint-0.2.9teor2019-11-06
|\
| * Add a rate-limit to our warning about the disabled .exit notationNick Mathewson2019-09-18
| | | | | | | | | | | | | | | | | | | | This warning would previously be given every time we tried to open a connection to a foo.exit address, which could potentially be used to flood the logs. Now, we don't allow this warning to appear more than once every 15 minutes. Fixes bug 31466; bugfix on 0.2.2.1-alpha, when .exit was first deprecated.
* | Merge remote-tracking branch 'tor-github/pr/1330' into maint-0.2.9teor2019-11-06
|\ \
| * | Treat an unexpected constant-sized VERSIONS cell as a PROTOCOL_WARN.Nick Mathewson2019-09-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We previously used tor_fragile_assert() to declare that this case could not happen: VERSIONS cells are always supposed to be variable-sized, right? This is incorrect, though. On a v1 link protocol connection, all cells are fixed-sized. There aren't supposed to be any VERSIONS cells with this version of the protocol, but apparently, somebody was messing up. (The v1 link protocol is obsolete, so probably the implementer responsible didn't mean to be using it.) Fixes bug 31107. Bugfix on 0.2.4.4-alpha, when we introduced a tor_fragile_assert() for this case.
* | | Merge remote-tracking branch 'tor-github/pr/1460' into maint-0.2.9teor2019-10-29
|\ \ \
| * | | Travis: Use macOS 10.14 with Xcode 11.2teor2019-10-24
| | | | | | | | | | | | | | | | Closes ticket 32241.
* | | | changes: file for 31919's bionic Travis image changeteor2019-10-25
| | | |
* | | | Travis: Use Ubuntu Bionic, but keep Trusty for chutneyteor2019-10-25
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | Bionic has a recent coccinelle version, which passes our CI tests. But Bionic (and Xenial) cause permissions errors for chutney. We'll fix those in 32240. Part of 31919.
* | | Merge remote-tracking branch 'tor-github/pr/1351' into maint-0.2.9teor2019-10-23
|\ \ \
| * | | Try using make -k in Travis configurationNick Mathewson2019-09-23
| | |/ | |/| | | | | | | | | | | | | | | | | | | Frequently, when a patch fails, it has failures in several files. Using the "-k" flag will let us learn all the compilation errors, not just the first one that the compiler hits. Based on a patch by rl1987.
* | | Merge remote-tracking branch 'tor-github/pr/1178' into maint-0.2.9teor2019-10-23
|\ \ \
| * | | Changes file for bug 31001Nick Mathewson2019-07-19
| | | |
| * | | Prevent UB on signed overflow.Tobias Stoeckmann2019-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Overflowing a signed integer in C is an undefined behaviour. It is possible to trigger this undefined behaviour in tor_asprintf on Windows or systems lacking vasprintf. On these systems, eiter _vscprintf or vsnprintf is called to retrieve the required amount of bytes to hold the string. These functions can return INT_MAX. The easiest way to recreate this is the use of a specially crafted configuration file, e.g. containing the line: FirewallPorts AAAAA<in total 2147483610 As> This line triggers the needed tor_asprintf call which eventually leads to an INT_MAX return value from _vscprintf or vsnprintf. The needed byte for \0 is added to the result, triggering the overflow and therefore the undefined behaviour. Casting the value to size_t before addition fixes the behaviour. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
* | | | Travis: Disable all but one macOS buildteor2019-10-22
| | | | | | | | | | | | | | | | | | | | | | | | We need to mitigate slow scheduling of Travis macOS jobs. Closes ticket 32177.
* | | | Merge remote-tracking branch 'tor-github/pr/1369' into maint-0.2.9teor2019-10-17
|\ \ \ \
| * | | | Travis: Add a macOS chutney job, but don't wait for it to finishteor2019-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since Travis macOS has IPv6 support (and Travis Linux does not), chutney will now run its IPv6 networks as part of Travis CI. But since chutney is slow, don't wait for the macOS chutney to finish. (Travis have fixed the duplicate notification bug in fast_finish. So we can use fast_finish and allow_failure to finish early. Unfortunately, allow_failure also means we ignore failures in macOS chutney.) Also make sure that we have: * a compile on each platform, with each compiler, * a check on each platform, and * a check on each compiler. Finally, sort builds: allow fail last, macOS first, slowest first. Closes ticket 30860. Closes ticket 31859 for 0.2.9.
| * | | | Travis: Remove a redundant clang Linux jobteor2019-09-30
| | | | | | | | | | | | | | | | | | | | Part of 31859.
| * | | | Travis: Unroll the build matrix into matrix: include:teor2019-09-26
| | |/ / | |/| | | | | | | | | | | | | | | | | | The jobs should be the same, but Travis may display them differently. Part of 31859.
* | | | Update geoip and geoip6 to the October 1 2019 database.geoip-2019-10-01Karsten Loesing2019-10-02
|/ / /
* | | Merge remote-tracking branch 'tor-github/pr/1216' into maint-0.2.9Nick Mathewson2019-09-17
|\ \ \
| * | | Hardcode the image into tor-exit-notice.htmlrl19872019-08-08
| | | |
* | | | build: The <sys/sysctl.h> is now deprecated on LinuxDavid Goulet2019-09-09
| |_|/ |/| | | | | | | | Closes #31673
* | | dirauth: Change dizum IP addressDavid Goulet2019-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New IP address from 194.109.206.212 to 45.66.33.45. Signed request from Alex de Joode, operator of dizum: https://trac.torproject.org/projects/tor/ticket/31406 Published descriptor by dizum on August 12th, 2019: -- r dizum fqbq1v2DCDxTj0QDi7+gd1h911U GZmZtCLaPDQNxkhIFj8UcgTRAuA 2019-08-12 15:28:40 45.66.33.45 443 80 s Authority Fast Running Stable V2Dir Valid v Tor 0.4.0.5 pr Cons=1-2 Desc=1-2 DirCache=1-2 HSDir=1-2 HSIntro=3-4 HSRend=1-2 Link=1-5 LinkAuth=1,3 Microdesc=1-2 Relay=1-2 Padding=1 w Bandwidth=20 Unmeasured=1 p reject 1-65535 -- Finally, confirmed by DNS: $ dig +short tor.dizum.com 45.66.33.45 Closes #31406 Signed-off-by: David Goulet <dgoulet@torproject.org>
* | | Merge remote-tracking branch 'tor-github/pr/1078' into maint-0.2.9teor2019-08-10
|\ \ \
| * | | dirparse: Stop crashing when parsing unknown descriptor purpose annotationsteor2019-06-06
| | | | | | | | | | | | | | | | | | | | | | | | We think this bug can only be triggered by modifying a local file. Fixes bug 30781; bugfix on 0.2.0.8-alpha.
* | | | Merge remote-tracking branch 'tor-github/pr/1052' into maint-0.2.9teor2019-08-10
|\ \ \ \
| * | | | Tweak comments in tor_vasprintf(), and add a changes file for 30651Nick Mathewson2019-05-29
| | | | |
| * | | | Fixed tor_vasprintf on systems without vasprintf.Tobias Stoeckmann2019-05-29
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If tor is compiled on a system with neither vasprintf nor _vscprintf, the fallback implementation exposes a logic flaw which prevents proper usage of strings longer than 127 characters: * tor_vsnprintf returns -1 if supplied buffer is not large enough, but tor_vasprintf uses this function to retrieve required length * the result of tor_vsnprintf is not properly checked for negative return values Both aspects together could in theory lead to exposure of uninitialized stack memory in the resulting string. This requires an invalid format string or data that exceeds integer limitations. Fortunately tor is not even able to run with this implementation because it runs into asserts early on during startup. Also the unit tests fail during a "make check" run. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org> [backported to 0.2.9 by nickm]
* | | | Merge remote-tracking branch 'tor-github/pr/1229' into maint-0.2.9teor2019-08-10
|\ \ \ \
| * | | | Modify "Protect buffers against INT_MAX datalen overflows." for 0.2.9Nick Mathewson2019-08-10
| | | | |
| * | | | Changes file for bug30041Nick Mathewson2019-04-09
| | | | |
| * | | | Check return value of buf_move_to_buf for error.Tobias Stoeckmann2019-04-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the concatenation of connection buffer and the buffer of linked connection exceeds INT_MAX bytes, then buf_move_to_buf returns -1 as an error value. This value is currently casted to size_t (variable n_read) and will erroneously lead to an increasement of variable "max_to_read". This in turn can be used to call connection_buf_read_from_socket to store more data inside the buffer than expected and clogging the connection buffer. If the linked connection buffer was able to overflow INT_MAX, the call of buf_move_to_buf would have previously internally triggered an integer overflow, corrupting the state of the connection buffer. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
| * | | | Protect buffers against INT_MAX datalen overflows.Tobias Stoeckmann2019-04-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many buffer functions have a hard limit of INT_MAX for datalen, but this limitation is not enforced in all functions: - buf_move_all may exceed that limit with too many chunks - buf_move_to_buf exceeds that limit with invalid buf_flushlen argument - buf_new_with_data may exceed that limit (unit tests only) This patch adds some annotations in some buf_pos_t functions to guarantee that no out of boundary access could occur even if another function lacks safe guards against datalen overflows. [This is a backport of the submitted patch to 0.2.9, where the buf_move_to_buf and buf_new_with_data functions did not exist.]
* | | | | Fix #28525 changes file that is breaking CI.George Kadianakis2019-08-09
| | | | |
* | | | | Merge remote-tracking branch 'tor-github/pr/762' into maint-0.2.9teor2019-08-09
|\ \ \ \ \
| * | | | | Make tor_addr_is_internal_() RFC6598 (Carrier Grade NAT) awareNeel Chauhan2019-03-08
| | | | | | | | | | | | | | | | | | | | | | | | Fixes 28525.
* | | | | | Merge remote-tracking branch 'tor-github/pr/957' into maint-0.2.9teor2019-08-09
|\ \ \ \ \ \
| * | | | | | test/relay: add a missing typedefteor2019-04-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 0.3.4 and later, these functions are declared in rephist.h: STATIC uint64_t find_largest_max(bw_array_t *b); STATIC void commit_max(bw_array_t *b); STATIC void advance_obs(bw_array_t *b); But in 0.2.9, they are declared in rephist.c and test_relay.c. So compilers fail with a "must use 'struct' tag" error. We add the missing struct typedef in test_relay.c, to match the declarations in rephist.c. (Merge commit 813019cc57 moves these functions into rephist.h instead.) Fixes bug 30184; not in any released version of Tor.
| * | | | | | rephist: fix an undeclared type compilation errorteor2019-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 0.3.4 and later, we declare write_array as: extern struct bw_array_t *write_array; ... typedef struct bw_array_t bw_array_t; But in 0.2.9, we declare write_array as: typedef struct bw_array_t bw_array_t; extern bw_array_t *write_array; And then again in rephist.c: typedef struct bw_array_t bw_array_t; So some compilers fail with a duplicate declaration error. We backport 684b396ce5, which removes the duplicate declaration. And this commit deals with the undeclared type error. Backports a single line from merge commit 813019cc57. Fixes bug 30184; not in any released version of Tor.
| * | | | | | Remove another needless typedefNick Mathewson2019-04-16
| | |/ / / / | |/| | | |
* | | | | | Merge remote-tracking branch 'tor-github/pr/1221' into combined31343_31374_029teor2019-08-09
|\ \ \ \ \ \
| * | | | | | Fix a warning about casting the results of GetProcAddress.Nick Mathewson2019-08-08
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | Fixes bug 31374; bugfix on 0.2.9.1-alpha.
* | | | | | Merge remote-tracking branch 'tor-github/pr/1209' into combined31343_31374_029teor2019-08-09
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | Fix another time_t/long warning for 31343.Nick Mathewson2019-08-08
| | | | | |
| * | | | | Restore proper behavior of netinfo skew checkNick Mathewson2019-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | My previous fix removed a comparison, which would have caused us to warn about every skew instead of skews of over an hour.
| * | | | | Avoid using labs() on time_t in channeltls.cNick Mathewson2019-08-06
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On some windows builds, time_t is 64 bits but long is not. This is causing appveyor builds to fail. Also, one of our uses of labs() on time_t was logically incorrect: it was telling us to accept NETINFO cells up to three minutes _before_ the message they were responding to, which doesn't make sense. This patch adds a time_abs() function that we should eventually move to intmath.h or something. For now, though, it will make merges easier to have it file-local in channeltls.c. Fixes bug 31343; bugfix on 0.2.4.4-alpha.
* | | | | Merge remote-tracking branch 'tor-github/pr/1155' into maint-0.2.9teor2019-08-08
|\ \ \ \ \
| * | | | | Travis: remove a redundant os: linux lineteor2019-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux is the first item in the os matrix, so we don't need to specify it under matrix: include: . Part of 29280.
| * | | | | Travis: show the chutney commit and python versionteor2019-07-01
| | | | | | | | | | | | | | | | | | | | | | | | Part of 29280.