Commit Graph

9742 Commits

Author SHA1 Message Date
Nick Mathewson
6f2b6ede1b Add a changes file for 34233.
This bug was merged back to 0.3.5 with our #34078 fix, but only
released in 0.4.3.5, so the changes file goes here.
2020-05-15 10:27:49 -04:00
Nick Mathewson
85cfd04c0c remove changes files that have already appeared in 0.4.3. 2020-05-14 20:29:00 -04:00
teor
4d2822ee74 changes: file for 33222 and 33226 2020-05-13 16:05:54 +10:00
Nick Mathewson
1557e73c82 Merge branch 'bug34130_035' 2020-05-12 12:58:19 -04:00
Daniel Pinto
2913dbd6d9 Fix crash when tor is compiled with NSS and seccomp sandbox is enabled
Adds seccomp rules for socket and getpeername used by NSS
2020-05-12 12:56:06 -04:00
Nick Mathewson
86b5bcd80a Merge remote-tracking branch 'tor-github/pr/1885/head' 2020-05-12 12:52:41 -04:00
Daniel Pinto
cc169eb120 Add documentation about %include and seccomp sandbox limitations 2020-05-08 00:21:12 +01:00
Nick Mathewson
b7a165228f Merge remote-tracking branch 'tor-github/pr/1880/head' 2020-05-07 08:19:11 -04:00
Neel Chauhan
0daa1da3ba Define and use TOR_ADDRPORT_BUF_LEN 2020-05-07 20:38:25 +10:00
Nick Mathewson
3a785dd5be Merge branch 'maint-0.4.3' 2020-05-06 17:17:19 -04:00
Nick Mathewson
b444096be5 Fix a boolean logic error when logging about invalid hostnames.
Fixes bug 34131; bugfix on 0.4.3.1-alpha.
2020-05-06 17:15:37 -04:00
Nick Mathewson
e39b35f1de Merge branch 'maint-0.4.3' 2020-05-06 16:58:12 -04:00
Nick Mathewson
ae1ebb5f44 Merge branch 'maint-0.4.2' into maint-0.4.3 2020-05-06 16:58:12 -04:00
Nick Mathewson
d46f67ef0e Merge branch 'maint-0.4.1' into maint-0.4.2 2020-05-06 16:58:12 -04:00
Nick Mathewson
633366efcd Merge branch 'maint-0.3.5' into maint-0.4.1 2020-05-06 16:58:12 -04:00
Nick Mathewson
dd795fbee4 changes file for bug 34078. 2020-05-06 16:58:06 -04:00
Alex Xu (Hello71)
42dfcd0ae3 core/or: Lift slow call out of loop, #33977 2020-05-05 15:07:42 -04:00
David Goulet
2e519fbfb0 changes: File for #33789
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-05-05 14:24:04 -04:00
Nick Mathewson
f96b6ccee1 Merge branch 'maint-0.4.3' 2020-05-04 10:25:53 -04:00
Nick Mathewson
bbfc498e21 Merge branch 'maint-0.4.1' into maint-0.4.2 2020-05-04 10:25:52 -04:00
Nick Mathewson
6aaee6133d Merge branch 'bug34077_042' into bug34077_043 2020-04-30 23:01:58 -04:00
Nick Mathewson
b4b1882da0 Merge branch 'bug34077_041' into bug34077_042 2020-04-30 22:59:08 -04:00
Nick Mathewson
d7e166bd95 Fix a GCC 10.0.1 compilation warning.
Fixes 34077 for 0.4.1; bugfix on 0.4.0.3-alpha. (Specifically, GCC
first gives this warning for 9eeff921ae)
2020-04-30 22:56:31 -04:00
teor
6dc9930d3a
Merge branch 'pr1870_squashed' 2020-04-30 22:22:09 +10:00
Neel Chauhan
7bf257b129
Define and use TOR_ADDRPORT_BUF_LEN 2020-04-30 22:21:48 +10:00
Nick Mathewson
49800cf539 Merge remote-tracking branch 'tor-github/pr/1864/head' 2020-04-29 19:16:40 -04:00
teor
528a1fe985 changes: file for 33817 2020-04-29 22:43:09 +10:00
teor
6c458d2d6e log/util_bug: Make IF_BUG_ONCE() support ALL_BUGS_ARE_FATAL
... and DISABLE_ASSERTS_IN_UNIT_TESTS.

Make all of tor's assertion macros support the ALL_BUGS_ARE_FATAL and
DISABLE_ASSERTS_IN_UNIT_TESTS debugging modes.

Implements these modes for IF_BUG_ONCE(). (It used to log a non-fatal
warning, regardless of the debugging mode.)

Fixes bug 33917; bugfix on 0.2.9.1-alpha.
2020-04-29 22:43:09 +10:00
teor
587a7fbcf6 core/or: Check extends for zero addresses and ports
Check for invalid zero IPv4 addresses and ports, when sending and
receiving extend cells.

Fixes bug 33900; bugfix on 0.2.4.8-alpha.
2020-04-29 22:43:09 +10:00
teor
bd6ab90ad4 core/or: Support IPv6 EXTEND2 cells
Allow clients and relays to send dual-stack and IPv6-only EXTEND2 cells.
Parse dual-stack and IPv6-only EXTEND2 cells on relays.

Relays do not make connections or extend circuits via IPv6: that's the
next step.

Closes ticket 33901.
2020-04-29 22:43:09 +10:00
Nick Mathewson
4dd4dbf046 Merge remote-tracking branch 'onionk/inbufoverflow1-043' into ticket33131_044 2020-04-24 08:15:53 -04:00
Nick Mathewson
7f9eaec538 Merge remote-tracking branch 'tor-github/pr/1862/head' 2020-04-24 08:14:59 -04:00
Nick Mathewson
b2849f449b Merge branch 'maint-0.4.3' 2020-04-21 12:22:37 -04:00
teor
42507429ce channeltls: Stop truncating IPv6 in logs
Stop truncating IPv6 addresses and ports in channel and connection logs.

Fixes bug 33918; bugfix on 0.2.4.4-alpha.
2020-04-21 12:22:30 -04:00
teor
8c55d34e0a core/or: Accurately log remote relay IPv6 addresses
Log IPv6 addresses on connections where this relay is the responder.

Previously, responding relays would replace the remote IPv6 address with
the IPv4 address from the consensus.

(The port is replaced with the IPv6 ORPort from the consensus, we will
resolve this issue in 33898.)

Fixes bug 33899; bugfix on 0.3.1.1-alpha.
2020-04-14 12:21:49 +10:00
teor
41fa07f751 core/or: Allow IPv6 connections to be canonical
Consider IPv6 addresses when checking if a connection is canonical.

In 17604, relays assumed that a remote relay could consider an IPv6
connection canonical, but did not set the canonical flag on their side
of the connection.

Fixes bug 33899; bugfix on 0.3.1.1-alpha.
2020-04-14 12:16:48 +10:00
Nick Mathewson
e22a8d9c95 Merge branch 'maint-0.4.3' 2020-04-13 14:14:41 -04:00
Nick Mathewson
55cb6c3fcd Merge branch 'bug33545_043_squashed' into maint-0.4.3 2020-04-13 14:13:44 -04:00
George Kadianakis
37bcc9f3d2 hs-v3: Don't allow registration of an all-zeroes client auth key.
The client auth protocol allows attacker-controlled x25519 private keys being
passed around, which allows an attacker to potentially trigger the all-zeroes
assert for client_auth_sk in hs_descriptor.c:decrypt_descriptor_cookie().

We fixed that by making sure that an all-zeroes client auth key will not be
used.

There are no guidelines for validating x25519 private keys, and the assert was
there as a sanity check for code flow issues (we don't want to enter that
function with an unitialized key if client auth is being used). To avoid such
crashes in the future, we also changed the assert to a BUG-and-err.
2020-04-13 14:13:33 -04:00
Neel Chauhan
8e59b8560a Return a descriptive error for 'GETINFO status/fresh-relay-descs' 2020-04-12 13:13:50 -07:00
Nick Mathewson
80031db32a Merge remote-tracking branch 'tor-github/pr/1801/head' 2020-04-09 11:50:20 -04:00
Nick Mathewson
c2aea6134a Merge remote-tracking branch 'tor-github/pr/1723/head' into maint-0.4.3 2020-04-09 08:30:14 -04:00
teor
f6efb3a184
Merge branch 'pr1854_squashed' into maint-0.4.3
Squashed PR 1854, and fixed a minor typo (IPv4 -> IPv6).
2020-04-09 11:05:59 +10:00
David Goulet
cd2121a126
client: Revert setting PreferIPv6 on by default
This change broke torsocks that by default is expecting an IPv4 for hostname
resolution because it can't ask tor for a specific IP version with the SOCKS5
extension.

PreferIPv6 made it that sometimes the IPv6 could be returned to torsocks that
was expecting an IPv4.

Torsocks is probably a very unique case because the runtime flow is that it
hijacks DNS resolution (ex: getaddrinfo()), gets an IP and then sends it back
for the connect() to happen.

The libc has DNS resolution functions that allows the caller to request a
specific INET family but torsocks can't tell tor to resolve the hostname only
to an IPv4 or IPv6 and thus by default fallsback to IPv4.

Reverting this change into 0.4.3.x series but we'll keep it in the 0.4.4.x
series in the hope that we add this SOCKS5 extension to tor for DNS resolution
and then change torsocks to use that.

Fixes #33804

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-04-09 11:05:32 +10:00
teor
2d6f00e45b
Merge branch 'maint-0.4.2' into maint-0.4.3 2020-04-09 11:03:34 +10:00
teor
2d7e08d57e
Merge branch 'maint-0.4.1' into maint-0.4.2 2020-04-09 11:03:27 +10:00
teor
987f2fa50a
Merge branch 'maint-0.3.5' into maint-0.4.1 2020-04-09 11:03:20 +10:00
teor
d380acaeca
Merge remote-tracking branch 'tor-github/pr/1784' into maint-0.3.5 2020-04-09 11:02:49 +10:00
teor
aa560a5ade changes: file for 33633 2020-04-09 11:00:04 +10:00
George Kadianakis
7a82c972ef Merge branch 'tor-github/pr/1857' 2020-04-08 18:15:37 +03:00
David Goulet
92ae8cea30 changes: Add changes file for #32542
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-04-08 18:15:21 +03:00
George Kadianakis
0b0b8a5b6d Merge branch 'tor-github/pr/1855' 2020-04-08 16:31:37 +03:00
MrSquanchee
cbd3f88831
Added tests for tor_addr_is_null/valid()
Added tests for tor_addr_is_valid(),
and added tests for tor_addr_is_null(),
which is not modfied.
Ticket 33679
2020-04-07 23:11:17 +05:30
David Goulet
6fbf624b50 hs-v3: Fix typo in log info when PublishHidServDescriptors is set to 0
Fixes #33779

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-04-07 13:17:21 -04:00
teor
065ccda4f6
Merge branch 'pr1838_squashed' 2020-04-07 17:36:17 +10:00
Nick Mathewson
f9c57313d0
add changes file for 31634 2020-04-07 17:35:55 +10:00
teor
a84fd949ed
Merge branch 'maint-0.4.3' 2020-04-04 13:23:56 +10:00
teor
b1e1c6b505
changes: file for ticket 33782
Avoid conflicts between the fake sockets in tor's unit tests, and real
file descriptors. Resolves issues running unit tests with GitHub
Actions, where the process that embeds or launches the tests has
already opened a large number of file descriptors.

Fixes bug 33782; bugfix on 0.2.8.1-alpha.

Found and fixed by Putta Khunchalee.
2020-04-04 13:20:06 +10:00
teor
a8a92b9456
Merge branch 'maint-0.4.3' 2020-04-01 23:03:51 +10:00
David Goulet
6c5c503a4c
configure: Fix enabled module variable expansion
Fixes #33646

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-04-01 23:02:24 +10:00
Steven Engler
cc5319bf8e Updated the TestingTorNetwork man page options
Updated 'doc/tor.1.txt' to match 'src/app/config/testnet.inc'.
2020-04-01 01:00:09 -04:00
David Goulet
ca8e6451f2 Merge branch 'maint-0.4.3' 2020-03-30 13:38:58 -04:00
George Kadianakis
42e56f5bac hs-v3: Relax severity of a log message when decoding descriptors.
Make it LOG_PROTOCOL_WARN and also add the expiration timestamp in there to
ease debugging in the future.
2020-03-30 13:38:29 -04:00
David Goulet
ec8d41e699 changes: Add file for ticket 33014
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-03-30 13:36:54 -04:00
rl1987
9061303080 Put *.a wildcard entry into .gitignore instead of listing all .a files 2020-03-28 14:01:07 +02:00
David Goulet
cf58b0b369 Merge branch 'maint-0.4.3' 2020-03-26 09:15:01 -04:00
David Goulet
e472737297 Merge branch 'tor-github/pr/1794' into maint-0.4.3 2020-03-26 09:14:25 -04:00
Nick Mathewson
048714d2ce Merge branch 'maint-0.4.1' into maint-0.4.2 2020-03-25 10:56:27 -04:00
Nick Mathewson
b2cda32693 Merge branch 'maint-0.4.3' 2020-03-25 10:56:27 -04:00
Nick Mathewson
03b0d1840a Merge branch 'maint-0.4.2' into maint-0.4.3 2020-03-25 10:56:27 -04:00
cypherpunks
d3ded1cc1c Merge branch 'maint-0.4.3' 2020-03-24 05:51:12 +00:00
cypherpunks
fd3e0c1542 core/mainloop: Limit growth of conn->inbuf
If the buf_t's length could potentially become greater than INT_MAX - 1,
it sets off an IF_BUG_ONCE in buf_read_from_tls().

All of the rest of the buffers.c code has similar BUG/asserts for this
invariant.
2020-03-24 05:19:24 +00:00
George Kadianakis
a4d60ff854 Merge branch 'maint-0.4.3' 2020-03-23 16:57:27 +02:00
George Kadianakis
29420ab396 Merge branch 'tor-github/pr/1788' into maint-0.4.3 2020-03-23 16:56:59 +02:00
Nick Mathewson
a0efba9bd0 Merge remote-tracking branch 'tor-github/pr/1797/head' 2020-03-23 09:05:45 -04:00
teor
4b914dea02
Merge branch 'bug32588_043' into bug32588_master 2020-03-21 04:02:08 +10:00
teor
52f61ec83e
Merge branch 'bug32588_042' into bug32588_043
Merge static function declaration deletions from bug32588_042 and
maint-0.4.3 in app/config/config.c.
2020-03-21 04:01:00 +10:00
teor
5e2f31f177
Merge branch 'bug32588_041' into bug32588_042 2020-03-21 03:52:32 +10:00
teor
2962c32b7a
Merge branch 'bug32588_035' into bug32588_041
Merge tests from maint-0.4.1 with new tests from bug32588_035
in test_router.c.
2020-03-21 03:50:36 +10:00
teor
861337fd6d
router: Stop advertising incorrect auto IPv6 ORPorts
When IPv6 ORPorts are set to "auto", tor relays and bridges would
advertise an incorrect port in their descriptor.

This may be a low-severity memory safety issue, because the published
port number may be derived from uninitialised or out-of-bounds memory
reads.

Fixes bug 32588; bugfix on 0.2.3.9-alpha.
2020-03-21 03:36:39 +10:00
Nick Mathewson
e380396d42 Merge remote-tracking branch 'tor-github/pr/1823/head' into maint-0.4.3 2020-03-20 08:06:30 -04:00
Nick Mathewson
3e24bd5557 Merge branch 'maint-0.4.3' 2020-03-20 07:56:42 -04:00
teor
d4a74021e5 relay/dirauth: Set some output arguments in stubs
And document how some functions set their output arguments.

Fixes bug 33674; bugfix on 0.4.3.1-alpha.
2020-03-20 07:56:26 -04:00
Nick Mathewson
c478dc9b2f Set *have_low_ports_out from stub port_parse_ports_relay().
Previously we just ignored this option, which would leave it unset,
and cause an assertion failure later on when running with the User
option.

Fixes bug 33668; bugfix on 0.4.3.1-alpha.
2020-03-20 07:56:26 -04:00
teor
bb3df5f322
practracker: Disable practracker in git hooks
Disable our coding standards best practices tracker in our git hooks.

0.4.3 branches only.

Closes ticket 33678.
2020-03-20 17:32:57 +10:00
teor
26fd31fef8
Merge branch 'bug33673_035' into bug33673_041
Merge duplicate DLL copies from maint-0.4.1 with bug33673_035.
2020-03-20 14:49:11 +10:00
teor
38e07b88fa
Appveyor: Copy required DLLs to test and app
Copy required DLLs to test and app, before running tor's tests.

This ensures that tor.exe and test*.exe use the correct version of each
DLL. This fix is not required, but we hope it will avoid DLL search
issues in future.

Closes bug 33673; bugfix on 0.3.4.2-alpha.
2020-03-20 14:48:31 +10:00
teor
4bb06cae26
Merge branch 'maint-0.4.3' 2020-03-20 11:25:04 +10:00
teor
eb2d08a72c
Merge branch 'maint-0.4.2' into maint-0.4.3 2020-03-20 11:24:57 +10:00
teor
3aa855dc68
Merge branch 'maint-0.4.1' into maint-0.4.2 2020-03-20 11:24:51 +10:00
Nick Mathewson
42ea03eb7f Merge branch 'ticket33643_skip_035' into ticket33643_skip_041 2020-03-19 18:38:18 -04:00
Nick Mathewson
ee3d23c05a Appveyor: disable crypto/openssl_version 2020-03-19 18:36:36 -04:00
Nick Mathewson
6bafe97bc1 Add a TOR_SKIP_TESTCASES environment variable for suppressing tests.
For example, "TOR_SKIP_TESTCASES=crypto/.. ./src/test/test" will run
the tests and suppress all the "crypto/" tests.  You could get the
same effect by running "./src/test/test :crypto/..", but that can be
harder to arrange from CI.

Part of a fix/workaround for 33643.
2020-03-19 18:36:36 -04:00
Nick Mathewson
9ffbe8ad59 Remove changes files that have appeared in 0.4.3.3-alpha
(findMergedChanges.pl is the tool to do this.)
2020-03-19 08:07:21 -04:00
George Kadianakis
e8f0860557 Merge branch 'tor-github/pr/1792' 2020-03-19 13:43:49 +02:00
David Goulet
8bba933760 changes: Add changes file for ticket 33458
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-03-19 13:43:39 +02:00
teor
fe5ecaa270
Merge branch 'maint-0.4.3' 2020-03-19 17:02:02 +10:00
teor
259fad5877
Merge remote-tracking branch 'tor-github/pr/1806' into maint-0.4.3 2020-03-19 16:56:49 +10:00
Nick Mathewson
3d8c97a988 Merge branch 'maint-0.4.3' 2020-03-17 15:22:36 -04:00
Nick Mathewson
e0d68ce84f Merge branch 'maint-0.4.2' into maint-0.4.3 2020-03-17 15:22:36 -04:00
Nick Mathewson
85141a3a74 Merge branch 'maint-0.4.1' into maint-0.4.2 2020-03-17 15:22:36 -04:00
Nick Mathewson
3c8a4b8fbd Merge branch 'trove_2020_002_041' into maint-0.4.1 2020-03-17 15:22:02 -04:00
Nick Mathewson
fe3d8ec38e Merge branch 'trove_2020_002_035' into maint-0.3.5 2020-03-17 15:21:48 -04:00
Nick Mathewson
d4595b344a Merge branch 'maint-0.4.3' 2020-03-17 13:56:10 -04:00
Nick Mathewson
6803373aab Merge branch 'maint-0.4.2' into maint-0.4.3 2020-03-17 13:56:10 -04:00
Nick Mathewson
4ee2699416 Merge branch 'maint-0.4.1' into maint-0.4.2 2020-03-17 13:56:10 -04:00
Nick Mathewson
cec647ff3e Merge branch 'trove_2020_004_041_v2' into maint-0.4.1 2020-03-17 13:56:03 -04:00
Nick Mathewson
270fe01557 Merge branch 'maint-0.4.3' 2020-03-17 11:47:35 -04:00
Nick Mathewson
e15a621ac8 Merge branch 'maint-0.4.1' into maint-0.4.2 2020-03-17 11:45:16 -04:00
Nick Mathewson
5f4e14b8c8 Merge branch 'maint-0.3.5' into maint-0.4.1 2020-03-17 11:45:16 -04:00
Nick Mathewson
bbc80ea042 Merge branch 'maint-0.4.2' into maint-0.4.3 2020-03-17 11:45:16 -04:00
George Kadianakis
089e57d22f Fix TROVE-2020-003.
Given that ed25519 public key validity checks are usually not needed
and (so far) they are only necessary for onion addesses in the Tor
protocol, we decided to fix this specific bug instance without
modifying the rest of the codebase (see below for other fix
approaches).

In our minimal fix we check that the pubkey in
hs_service_add_ephemeral() is valid and error out otherwise.
2020-03-17 11:44:45 -04:00
David Goulet
ee3e987898 sendme: Emit version 1 by default
Closes #33623

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-03-17 10:14:57 -04:00
teor
44f92e8e42
Merge remote-tracking branch 'tor-github/pr/1784' 2020-03-17 23:11:31 +10:00
teor
0fa1d8ef92
Merge branch 'pr1777_squashed' 2020-03-17 21:08:45 +10:00
rl1987
b0cb3f5458
Documentation fixups 2020-03-17 21:07:47 +10:00
Nick Mathewson
78bcfc1280 circpad_setup_machine_on_circ(): exit early on error.
This function does a nonfatal assertion to make sure that a machine
is not registered twice, but Tobias Pulls found a case where it
happens.  Instead, make the function exit early so that it doesn't
cause a remotely triggered memory leak.

Fixes bug 33619; bugfix on 0.4.0.1-alpha.  This is also tracked as
TROVE-2020-004.
2020-03-16 17:59:57 -04:00
Nick Mathewson
49eec76c5e Merge branch 'maint-0.4.3' 2020-03-16 12:21:57 -04:00
Nick Mathewson
855cd533e1 Merge branch 'ticket32672_042_squashed_w_test' into maint-0.4.3 2020-03-16 12:21:49 -04:00
Nick Mathewson
452398913a Merge branch 'ticket32672_041_squashed' into ticket32672_042_squashed_w_test 2020-03-16 10:40:55 -04:00
Neel Chauhan
460b97380b Reject 0.2.9 and 0.4.0 in dirserv_rejects_tor_version() 2020-03-16 10:40:14 -04:00
teor
93d12baf89
Merge branch 'maint-0.4.2' into maint-0.4.3 2020-03-16 20:54:34 +10:00
teor
9ef8f5d1b8
Merge branch 'maint-0.4.1' into maint-0.4.2 2020-03-16 20:54:27 +10:00
teor
c22696e360
Merge branch 'maint-0.3.5' into maint-0.4.1 2020-03-16 20:54:20 +10:00
teor
1c688ba925
Travis: Produce detailed chutney diagnostics
When a Travis chutney job fails, use chutney's new "diagnostics.sh" tool
to produce detailed diagnostic output.

Closes ticket 32792.
2020-03-16 16:04:51 +10:00
teor
384111cd4f
changes: Fix style of changes file for 32994 2020-03-14 20:18:45 +10:00
MrSquanchee
1a9cbc5bb4
Get all default flags from port_cfg_new()
Now port_cfg_new() returns all default flags and
port_parse_config() acts on defaults returned by port_cfg_new()
that is uses the default port_cfg_t object returned by port_cfg_new()
and modifies them later according to the port specifications in
configuration files
Might close tor#32994.
2020-03-14 20:18:42 +10:00
Nick Mathewson
b2e543bfe7 Merge branch 'maint-0.3.5' into maint-0.4.1 2020-03-13 16:46:16 -04:00
Nick Mathewson
6ed2c9e5fa Merge branch 'maint-0.4.1' into maint-0.4.2 2020-03-13 16:46:16 -04:00
Nick Mathewson
b9d71f3848 Merge remote-tracking branch 'tor-github/pr/1693/head' into maint-0.3.5 2020-03-13 16:46:09 -04:00
Nick Mathewson
b504942331 Merge remote-tracking branch 'tor-github/pr/1718/head' into maint-0.4.2 2020-03-13 16:42:47 -04:00
teor
dbadfe75e6
Merge remote-tracking branch 'tor-github/pr/1735' into maint-0.4.3 2020-03-13 13:00:58 +10:00
teor
cc2fb91ea5
connection: Stop forcing some ports to prefer IPv6
Stop forcing all non-SOCKSPorts to prefer IPv6 exit connections.
Instead, prefer IPv6 connections by default, but allow users to change
their configs using the "NoPreferIPv6" port flag.

Fixes bug 33608; bugfix on 0.4.3.1-alpha.
2020-03-13 12:28:19 +10:00
teor
1d17541cfa
Merge branch 'pr1764_squashed' 2020-03-13 11:14:20 +10:00
Nick Mathewson
78c9ff7052
Add a script to install the scripts in scripts/git appropriately.
To run this, say something like

   TOR_DEVTOOL_DIR=~/bin scripts/git/git-install-tools.sh all

To see what it would do, give it the -n flag.

To get help, give it the -h flag.
2020-03-13 11:14:04 +10:00
Nick Mathewson
9ca7900e17 Merge branch 'maint-0.4.3' 2020-03-12 12:46:12 -04:00
Nick Mathewson
e03bb35f90 Merge branch 'ticket33361_035_01_squashed' into maint-0.4.3
Conflicts:
        src/app/config/config.c
2020-03-12 12:45:56 -04:00
David Goulet
b755a489bd config: Warn if ContactInfo is not set
Closes #33361

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-03-12 12:43:00 -04:00
Nick Mathewson
eed196f122 Merge branch 'bug33032_042' into bug33032_043 2020-03-11 10:35:47 -04:00
Nick Mathewson
554b805093 Merge branch 'bug33032_041' into bug33032_042 2020-03-11 10:35:47 -04:00
Nick Mathewson
55055396cc Merge branch 'maint-0.4.1' into bug33032_041 2020-03-11 10:35:46 -04:00
Nick Mathewson
5721ec22d8 pem_decode(): Tolerate CRLF line endings
Fixes bug 33032; bugfix on 0.3.5.1-alpha when we introduced our own
PEM decoder.
2020-03-11 10:35:17 -04:00
David Goulet
df3f2bd9aa hs-v3: Log reasons why service can't upload descriptor
When a service can not upload its descriptor(s), we have no logs on why. This
adds logging for each possible reason for each descriptors.

That logging is emitted every second so it is rate limited for each reason and
per descriptor.

Closes #33400

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-03-11 15:32:11 +02:00
David Goulet
894ff2dc84 dos: Pass transport name on new client connection
For a bridge configured with a pluggable transport, the transport name is
used, with the IP address, for the GeoIP client cache entry.

However, the DoS subsystem was not aware of it and always passing NULL when
doing a lookup into the GeoIP cache.

This resulted in bridges with a PT are never able to apply DoS defenses for
newly created connections.

Fixes #33491

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-03-10 14:45:13 -04:00
David Goulet
05aab3fd21 Merge branch 'maint-0.4.3' 2020-03-10 09:14:44 -04:00
rl1987
94a2376e01 Document __OwningControllerProcess torrc option and mention polling interval 2020-03-10 09:13:19 -04:00
David Goulet
2d53168511 Merge branch 'tor-github/pr/1723' 2020-03-09 10:36:05 -04:00
David Goulet
6684c6e17f Merge branch 'tor-github/pr/1751' 2020-03-09 09:33:05 -04:00
Neel Chauhan
7d673e70b0 Remove the ClientAutoIPv6ORPort option 2020-03-09 09:33:00 -04:00
rl1987
159009ae47 Add changes file 2020-03-06 19:25:54 +02:00
rl1987
ef991b04e2 Refrain from mentioning nicknames in manpage section for MyFamily.
Also, fix a typo.
2020-03-05 17:41:49 +02:00
Nick Mathewson
ba8d71d9c3 Merge remote-tracking branch 'tor-github/pr/1774/head' 2020-03-05 09:10:24 -05:00
Nick Mathewson
7177eeddf1 Merge branch 'maint-0.4.3' 2020-03-05 08:48:40 -05:00
Roger Dingledine
29542ccdcc Remove surprising empty line in info-level cbt log
Fixes bug 33531; bugfix on 0.3.3.1-alpha.
2020-03-04 13:45:34 -05:00
George Kadianakis
edc0bf5089 Merge branch 'tor-github/pr/1763' 2020-03-03 14:35:31 +02:00
Nick Mathewson
c705c8cf1b changes file for 33436 2020-03-03 14:35:01 +02:00
Nick Mathewson
c81cb588db Allow unlinkat() in the seccomp2 sandbox
Closes ticket 33346.
2020-02-26 15:17:12 -05:00
Nick Mathewson
87e0873056 changes file for ticket 33460. 2020-02-26 14:19:53 -05:00
Nick Mathewson
11adf0f46f Merge remote-tracking branch 'tor-github/pr/1750/head' 2020-02-25 12:58:23 -05:00
Nick Mathewson
b6d9484fa7 Merge remote-tracking branch 'tor-github/pr/1761/head' 2020-02-24 08:06:42 -05:00
Nick Mathewson
d4d5d9d1d1 Merge branch 'ticket33316_squashed' 2020-02-24 07:49:45 -05:00
Nick Mathewson
0c18c94bb1 extend ticket33316 changes file to include more changes 2020-02-24 07:49:39 -05:00
Nick Mathewson
67d921a696 Changes file for ticket 33316 2020-02-24 07:49:39 -05:00
Nick Mathewson
caa392a73a Merge remote-tracking branch 'tor-github/pr/1685/head' 2020-02-24 07:45:20 -05:00
George Kadianakis
93cb8072be Final touches to #32709 based on Nick's feedback.
- Fix a bug and add unittest.
- Add changes file.
- Add man page entry.
2020-02-24 12:15:35 +02:00
Taylor Yu
7160a7218d changes file for ticket 33369 2020-02-20 17:13:02 -06:00
Nick Mathewson
7ba7f9c0de Merge branch 'maint-0.4.3' 2020-02-20 10:44:43 -05:00
Nick Mathewson
7b42502869 Merge remote-tracking branch 'tor-github/pr/1757/head' into maint-0.4.3 2020-02-20 10:44:36 -05:00
Nick Mathewson
626eb025b6 Merge remote-tracking branch 'tor-github/pr/1745/head' 2020-02-20 09:14:40 -05:00
Nick Mathewson
09fb7987c5 Merge branch 'maint-0.4.3' 2020-02-20 08:50:18 -05:00
Nick Mathewson
f733b8acd6 Merge remote-tracking branch 'tor-github/pr/1719/head' into maint-0.4.3 2020-02-20 08:48:17 -05:00
Nick Mathewson
b9cc4cc50a Merge branch 'ticket4631_squashed' 2020-02-20 08:17:47 -05:00
Nick Mathewson
a65efa7e83 Merge branch 'extract_relay_dns' 2020-02-19 13:58:53 -05:00
Nick Mathewson
65b75ef3d5 Merge branch 'extract_ext_orport' 2020-02-19 13:55:18 -05:00
Nick Mathewson
7b6e81f8e6 Merge branch 'extract_selftest' 2020-02-19 11:58:17 -05:00
Nick Mathewson
dca2c00aca Merge remote-tracking branch 'tor-github/pr/1755/head' 2020-02-19 11:39:05 -05:00
teor
4dd594d33c
Merge remote-tracking branch 'tor-github/pr/1744' 2020-02-19 10:09:29 +10:00
teor
57ff8d4a53
practracker: Read unicode files when using Python 2
Allow the "practracker" coding best practices checking script to read
unicode files, when using Python 2.

We made the script use unicode literals in 0.4.3.1-alpha, but didn't
change the codec for opening files.

Fixes bug 33374; bugfix on 0.4.3.1-alpha.
2020-02-19 08:22:01 +10:00
Taylor Yu
5164709f90 changes file for ticket 33275 2020-02-18 13:34:46 -06:00
David Goulet
f0561861e3 Merge branch 'tor-github/pr/1746' 2020-02-18 13:57:03 -05:00
Steven Engler
9a68eca3a7 Small changes to scheduler comments and state changes
Tries to make some of the comments in scheduler.c easier to follow,
and simplifies a couple of the scheduler channel state changes.
2020-02-18 13:56:58 -05:00
Nick Mathewson
e85f46b7be Do not build selftest.c when running relay mode is disabled. 2020-02-18 13:31:33 -05:00
Nick Mathewson
a1a3a4d585 Make ext_orport.c relay-mode-only. 2020-02-18 13:23:50 -05:00
Nick Mathewson
c43a245292 Disable dns.c when relay mode is disabled.
This saves about 1% for me on a binary compiled without relay mode.

Closes ticket 33366.
2020-02-18 12:46:10 -05:00
Nick Mathewson
93af83e16a Remember dirctory bw usage, and log it in the heartbeat
Closes ticket 32720.
2020-02-18 11:25:18 -05:00
David Goulet
17724a7cde Merge branch 'tor-github/pr/1743' 2020-02-18 09:06:13 -05:00
David Goulet
f24959df1d Merge branch 'tor-github/pr/1740' 2020-02-18 08:46:52 -05:00
teor
e540a4147f
changes: file for 4631 2020-02-18 13:23:30 +10:00
teor
d71090f8e3 Travis: Produce detailed chutney diagnostics
When a Travis chutney job fails, use chutney's new "diagnostics.sh" tool
to produce detailed diagnostic output.

Closes ticket 32792.
2020-02-17 17:21:13 +10:00
teor
da280a4309 Makefile: Add an IPv6 mixed chutney network
This network is used in make test-network-all and test-network-ipv6.

Closes 33334.
2020-02-17 14:55:05 +10:00
teor
f231827946
Merge remote-tracking branch 'tor-github/pr/1731' 2020-02-17 13:49:23 +10:00
teor
334469cc39
Merge branch 'bug33195_master' into ticket33280_master
Conflicts:
* Keep the changes from ticket33280_master
2020-02-17 13:46:09 +10:00
Panagiotis Vasilopoulos
674a821fbb
Stop assuming that /usr/bin/python exists
Fixes 33192
2020-02-16 21:58:01 +02:00
Taylor Yu
55f088bb29 Script to check sorting of manpage entries
Add a script to help check the alphabetical ordering of option names
in a manpage.  Closes ticket 33339.
2020-02-14 11:02:16 -06:00
Nick Mathewson
a6509cb867 Merge remote-tracking branch 'tor-github/pr/1727/head' 2020-02-14 08:20:21 -05:00
Nick Mathewson
1ab7c05231 Merge branch 'maint-0.4.3' 2020-02-13 10:47:43 -05:00
Nick Mathewson
baeff46d36 Merge branch 'ticket33290_v2_042' into ticket33290_v2_043
Conflicts:
	src/core/or/circuitmux_ewma.c
2020-02-13 09:21:47 -05:00
Nick Mathewson
fd1686c7d8 Merge branch 'ticket33290_v2_041' into ticket33290_v2_042 2020-02-13 09:12:48 -05:00
teor
c34c101212
Merge branch 'bug33195_043' into bug33195_master 2020-02-13 14:22:18 +10:00
teor
3e8e4af1ac
Merge branch 'bug33195_042' into bug33195_043
Conflicts:
* Keep disable module relay from maint-0.4.3
* Keep doxygen from maint-0.4.3
* Keep the ordering from bug33195_042
2020-02-13 14:21:26 +10:00
teor
f021389e92
Merge branch 'bug33195_041' into bug33195_042
Conflicts:
* Keep RUST_VERSION from maint-0.4.2
* Keep the commented-out allow_failure entries from bug33195_041
2020-02-13 13:58:13 +10:00
teor
c96cf14943
Merge branch 'bug33195_035' into bug33195_041
Conflicts:
* Keep TOR_TEST_RNG_SEED from maint-0.4.1
* Keep the ordering from bug33195_035
2020-02-13 13:55:55 +10:00
teor
add387c507
Travis: Sort jobs in order of speed
Putting the slowest jobs first takes full advantage of Travis
concurrency.

Closes 33194.
2020-02-13 13:52:41 +10:00
teor
fc3555100f
Travis: Remove a redundant distcheck job
Part of 33194.
2020-02-13 13:45:18 +10:00
teor
03650e0f60
Travis: Require the macOS IPv6 chutney job
The job was previously set to fast_finish / allow_failure, to
speed up the build.

Closes ticket 33195.
2020-02-13 13:43:59 +10:00
teor
25ecdf1409
Travis: Sort jobs in order of speed
Putting the slowest jobs first takes full advantage of Travis
concurrency.

Closes 33194.
2020-02-13 13:37:54 +10:00
teor
9ba147e9af
Travis: Remove a redundant distcheck job
Part of 33194.
2020-02-13 13:37:51 +10:00
teor
82bacca4e0
Travis: Require the macOS IPv6 chutney job
The job was previously set to fast_finish / allow_failure, to
speed up the build.

Closes ticket 33195.
2020-02-13 13:37:39 +10:00
teor
c847b9f1a6
Travis: Only run IPv6 chutney tests on macOS
Run the test-network-ipv6 Makefile target in the Travis CI IPv6 chutney
job. This job runs on macOS, so it's a bit slow.

Closes ticket 33303.
2020-02-13 13:12:02 +10:00
teor
02f494360a
Makefile: Use chutney's latest default network
Use bridges+hs-v23 for "make test-network",
rather than using chutney's old default.

This change requires a recent version of chutney,
because the old bridges+hs-v23 did not work.
(See chutney's 33302 for details.)

Closes 28208.
2020-02-13 13:00:18 +10:00
teor
9d352028e6
Makefike: Add an IPv6 test to test-network
The IPv6 test only runs if IPv6 is available.

Also, explicitly use the bridges+hs-v2 network for the IPv4-only test.
This network was chutney's default as of January 2020.

Closes 33300.
2020-02-13 13:00:15 +10:00
teor
c33ffe013b
Makefile: Split test-network-all into IPv4 and IPv6
Add test-network-ipv4 and test-network-ipv6 tests to the Makefile.

These tests run the IPv4-only and dual-stack chutney flavours from
test-network-all.

Closes ticket 33280.
2020-02-13 12:59:57 +10:00
Nick Mathewson
80e3dc4727 Use more memory poisoning and better asserts around ewma code
Attempt to diagnose 32464; fixes 33290.
2020-02-12 14:17:19 -05:00
Nick Mathewson
553c36d153 Merge branch 'maint-0.4.3' 2020-02-12 13:48:48 -05:00
Nick Mathewson
3147cbba52 Merge remote-tracking branch 'tor-github/pr/1728/head' into maint-0.4.3 2020-02-12 13:48:39 -05:00
Taylor Yu
0ab859aabe changes file for ticket 33188 2020-02-12 12:28:35 -06:00
teor
3d1ef3b6f8
err/log: Stop closing stderr and stdout during shutdown
Closing these file descriptors can hide sanitiser logs.

Instead, flush the logs before tor exits, using fsync().
Some Windows environments don't have fsync(), so we check
for it at compile time.

Fixes bug 33087; bugfix on 0.4.1.6.
2020-02-13 00:00:41 +10:00
teor
4fed49e0dd protover: Sort tor's supported protocol versions
As recommended by the tor directory specification.

Fixes bug 33285; bugfix on 0.4.0.1-alpha.
2020-02-12 22:15:17 +10:00
teor
99d957696b
scripts/git: Stop running the checked-out git scripts
Stop executing the checked-out pre-commit hook from the pre-push hook.
Instead, execute the copy in the user's git dir.

Fixes bug 33284; bugfix on 0.4.1.1-alpha.
2020-02-12 20:37:21 +10:00
teor
c8242e4c0a
err/log: Stop closing stderr and stdout during shutdown
Closing these file descriptors can hide sanitiser logs.

Fixes bug 33087; bugfix on 0.4.1.6.
2020-02-12 19:18:07 +10:00
teor
e0ea7407a4
Merge remote-tracking branch 'tor-github/pr/1725' into maint-0.4.3 2020-02-12 14:14:11 +10:00
David Goulet
88489cd290
hs-v3: Remove BUG() that can occur normally
Fixes #28992

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-12 14:09:40 +10:00
teor
ff52205362
Merge branch 'maint-0.4.1' into maint-0.4.2 2020-02-12 12:22:04 +10:00
teor
5298113da9
Merge branch 'maint-0.3.5' into maint-0.4.1 2020-02-12 12:21:57 +10:00
Alexander Færøy
b9c7c61ea5
Lowercase the BridgeDistribution value from torrc in descriptors.
This patch ensures that we always lowercase the BridgeDistribution from
torrc in descriptors before submitting it.

See: https://bugs.torproject.org/32753
2020-02-12 12:21:41 +10:00
teor
88723ad169
Merge remote-tracking branch 'tor-github/pr/1689' into maint-0.3.5 2020-02-12 12:18:59 +10:00
George Kadianakis
9892cc3b12 Merge branch 'tor-github/pr/1707' 2020-02-11 18:42:22 +02:00
David Goulet
40a321659a hs-v3: Remove BUG() that can occur normally
Fixes #28992

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 18:40:55 +02:00
David Goulet
f0964628e6 Merge branch 'ticket33029_042_01' into ticket33029_043_03
Conflicts:
	doc/tor.1.txt
	src/app/config/config.c
	src/app/config/or_options_st.h
	src/core/mainloop/connection.h

Between 042 and 043, the dirauth options were modularized so this merge commit
address this by moving the AuthDirRejectUncompressedRequests to the module
along with a series of accessors.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 10:30:29 -05:00
David Goulet
6d9113d2f6 dirauth: Resume sending 503 directory error code
Authorities were never sending back 503 error code because by design they
should be able to always answer directory requests regardless of bandwidth
capacity.

However, that recently backfired because of a large number of requests from
unknown source using the DirPort that are _not_ getting their 503 code which
overloaded the DirPort leading to the authority to be unable to answer to its
fellow authorities.

This is not a complete solution to the problem but it will help ease off the
load on the authority side by sending back 503 codes *unless* the connection
is from a known relay or an authority.

Fixes #33029

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:58:28 -05:00
Nick Mathewson
d9a70ba212 Merge remote-tracking branch 'tor-github/pr/1690/head' 2020-02-11 08:45:25 -05:00
Nick Mathewson
409e1ca3d5 Merge remote-tracking branch 'tor-github/pr/1716/head' into maint-0.4.3 2020-02-11 08:44:18 -05:00
Taylor Yu
dfa1800c7f changes file for ticket 33213 2020-02-10 14:24:44 -06:00
Nick Mathewson
a0ca442b79 start on 0.4.3.2-alpha changelog 2020-02-10 14:30:36 -05:00
Nick Mathewson
eb8841cd95 Merge branch 'bug33104_041' 2020-02-10 14:23:13 -05:00
Nick Mathewson
0c90fc37ec Merge branch 'maint-0.4.1' into maint-0.4.2 2020-02-10 14:17:10 -05:00
Nick Mathewson
71c49f7356 Merge branch 'maint-0.4.0' into maint-0.4.1 2020-02-10 14:17:10 -05:00
Nick Mathewson
d9144700af Merge branch 'maint-0.4.2' 2020-02-10 14:17:10 -05:00
Nick Mathewson
f3fa22bf1b Merge branch 'maint-0.3.5' into maint-0.4.0 2020-02-10 14:17:09 -05:00
Nick Mathewson
99d044d553 Fix a Rust compilation warning; resolve bug 33212. 2020-02-10 13:32:09 -05:00
Nick Mathewson
05a05773f2 Merge remote-tracking branch 'tor-github/pr/1711' 2020-02-10 10:23:50 -05:00
cypherpunks
32b33c0d21 protover: reject unexpected commas
Consistently reject extra commas, instead of only rejecting leading
commas.

Fix on b2b2e1c7f2.
Fixes #27194; bugfix on 0.2.9.4-alpha.
2020-02-09 01:24:47 +00:00
Taylor Yu
cb757b30a2 changes file for tickets 32928, 32929 2020-02-07 12:54:55 -06:00
Nick Mathewson
21f45197a2 Merge branch 'bug33103' 2020-02-06 08:28:25 -05:00
Nick Mathewson
b7bbff0c9c Merge remote-tracking branch 'public/practracker_regen_overbroad_2' 2020-02-06 08:27:12 -05:00
David Goulet
9278a24729 hs-v3: Remove descriptor when we remove client authorization
When the ONION_CLIENT_AUTH_REMOVE command is given to tor, now also remove the
descriptor associated with the client authorization credentials.

Fixes #33148

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-06 12:54:54 +02:00
Nick Mathewson
56c54a66bd Fix a memory leak in handling GETINFO.
Fixes bug 33103; bugfix on 0.4.3.1-alpha.
2020-02-05 19:18:32 -05:00
teor
2c4d7d8c65
Merge branch 'pr1701-fix-typo' 2020-02-06 08:39:46 +10:00
David Goulet
9c33d36113
configure: Fix and improve summary pretty printing
Fixes #32230

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-06 08:39:04 +10:00
Nick Mathewson
1a375c3b19 Merge branch 'trove_2020_002_035' into trove_2020_002_041
Resolved Conflicts:
	src/feature/dirparse/parsecommon.c
2020-02-05 12:06:24 -05:00
Nick Mathewson
d0bce65ce2 changes file for 33119 aka TROVE-2020-002 2020-02-05 12:02:32 -05:00
George Kadianakis
2a5e641cfe Merge branch 'tor-github/pr/1704' 2020-02-04 13:09:41 +01:00
George Kadianakis
6c749bf38c Merge branch 'tor-github/pr/1700' 2020-02-04 13:06:00 +01:00
Nick Mathewson
2542a24b63 practracker: add a --regen-overbroad option to remove overbroad exceptions.
Closes ticket 32372.
2020-02-03 13:02:12 -05:00
David Goulet
08f31e405d hs-v3: Purge ephemeral client auth on NEWNYM
Fixes #33139.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-03 11:58:43 -05:00
David Goulet
f07d8a1a92 Merge branch 'tor-github/pr/1692' 2020-01-30 13:53:32 -05:00
David Goulet
a1dec44723 Merge branch 'tor-github/pr/1697' 2020-01-30 13:48:36 -05:00
David Goulet
e4245e2a6b hs-v2: Turn logs into protocol warning
All of those can be triggered remotely so change them to protocol warnings.

Fixes #32706

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-01-30 11:14:50 -05:00
Nick Mathewson
af76b9dcc6 Merge branch 'bug32673_035' 2020-01-30 09:58:23 -05:00
Nick Mathewson
9ea0c0bfcd Merge branch 'bug33093_logging_035' 2020-01-30 09:55:40 -05:00
Nick Mathewson
2a1f8ea2e7 Do not set "once" when calling tor_bug_occurred_ from BUG().
The "once" flag makes tor_bug_occurred_() say that future instances
of the warning will be suppressed -- but that's not something that
BUG() does.  Fixes bug 33095; bugfix on 0.4.1.1-alpha.
2020-01-30 09:43:34 -05:00
Nick Mathewson
7bd671811e Rewrite control_event_signal() to use signal_table.
When we added the ACTIVE and DORMANT virtual signals, we taught the
signal command to handle them, but we didn't teach SIGNAL event to
report them.

To solve this problem and prevent it from recurring, this patch
revises the implementation of control_event_signal() to use the same
signal_table that handle_control_signal() uses.  This way, the two
controller commands can't become out of sync.

Fixes bug 33104; bugfix on 0.4.0.1-alpha.
2020-01-30 09:29:07 -05:00
teor
7b6be02a92
Merge branch 'maint-0.4.1' into maint-0.4.2 2020-01-30 07:55:12 +10:00
teor
6b392c333a
Merge branch 'maint-0.4.0' into maint-0.4.1 2020-01-30 07:55:05 +10:00
teor
65825018c7
Merge branch 'maint-0.3.5' into maint-0.4.0 2020-01-30 07:54:58 +10:00
teor
9b0b2aef80
Merge remote-tracking branch 'tor-github/pr/1634' into maint-0.4.1 2020-01-30 07:54:39 +10:00
teor
41d52e9cd8
Merge remote-tracking branch 'tor-github/pr/1614' into maint-0.3.5 2020-01-30 07:53:53 +10:00
Nick Mathewson
2985a6018f buf_read_from_tls: Return ERROR_MISC, not WANTWRITE, on BUG().
Fixes bug 32673; bugfix on 0.3.0.4-alpha.  We introduced these
checks in ee5471f9aa to help diagnose 21369, but we used "-1"
when "TOR_TLS_ERROR_MISC" would have been correct.  Found by opara.

I don't think that this is actually getting triggered in the wild,
but if it were, it could cause nasty behavior: spurious
WANTREAD/WANTWRITE returns have a way of turning into CPU-eating
busy-loops.
2020-01-29 08:50:03 -05:00
Nick Mathewson
1f163fcbde Change BUG() messages in buf_flush_to_tls() to IF_BUG_ONCE()
We introduced these BUG() checks in b0ddaac074 to prevent a
recurrence of bug 23690.  But there's a report of the BUG() message
getting triggered and filling up the disk.  Let's change it to
IF_BUG_ONCE().

Fixes bug 33093; bugfix on 0.3.2.2-alpha.
2020-01-29 08:31:22 -05:00
teor
f3ecf0b0a4
changes: file for 33091 2020-01-29 18:27:53 +10:00
Nick Mathewson
99671c0dae Merge remote-tracking branch 'tor-github/pr/1680' 2020-01-28 08:15:21 -05:00
Nick Mathewson
27099ffe6a Merge remote-tracking branch 'tor-github/pr/1689' 2020-01-28 07:55:34 -05:00
rl1987
9879eae17e Remove contrib/dist/rc.subr 2020-01-28 20:32:40 +08:00
teor
9d771ccc86
Travis: Stop allowing stem test failures
Stop allowing failures on the Travis CI stem tests job. It looks like
all the stem hangs we were seeing are now fixed, but let's make sure we
see them if they happen again.

Closes ticket 33075.
2020-01-28 19:56:56 +10:00
Taylor Yu
f10e6b7234 changes file for ticket 33039 2020-01-24 12:20:52 -06:00
David Goulet
21d0d81d82 Merge branch 'tor-github/pr/1677' 2020-01-22 14:32:30 -05:00
Alexander Færøy
35721b38e4 Lower log level of standard error messages from PT's.
This patch lowers the log level of error messages from PT processes from
warning to debug.

See: https://bugs.torproject.org/33005
2020-01-22 14:32:13 -05:00
rl1987
a207fd7226 Add changes file 2020-01-22 20:26:04 +08:00
Nick Mathewson
9aebb252a1 Initial incorporation of 0.4.3.x changelogs. 2020-01-21 11:35:59 -05:00
Nick Mathewson
722a6d3eb8 Remove changes files that already appeared in 0.4.2.5 2020-01-21 11:33:26 -05:00
David Goulet
ff93133403 Merge branch 'tor-github/pr/1675' 2020-01-20 10:47:49 -05:00
David Goulet
ca8b90a843 Merge branch 'tor-github/pr/1668' 2020-01-20 10:44:03 -05:00
teor
bf2a399fc0
config: Make clients tell dual-stack exits they prefer IPv6
Make Tor clients tell dual-stack exits that they prefer IPv6
connections.

This change is equivalent to setting the PreferIPv6 flag on
SOCKSPorts (and most other listener ports). Tor Browser has
been setting this flag for some time, and we want to remove a
client distinguisher at exits.

Also update the man page, putting all the IP flags in their
non-default forms.

Closes ticket 32637.
2020-01-20 16:36:58 +10:00
teor
b23b8fa4a1
Merge remote-tracking branch 'tor-github/pr/1673' 2020-01-20 15:52:40 +10:00
teor
3851128e88
Merge branch 'ticket20218_rebased_squashed' into ticket20218_merged
* ticket 32695 removed networkstatus_consensus_has_ipv6(),
  keep that change in master.
* ticket 20218 modifies the function name and comment for
  routerstatus_has_visibly_changed(), keep that change
  in ticket20218_rebased_squashed.
2020-01-20 15:50:54 +10:00
teor
0b82b5ee42
Merge remote-tracking branch 'tor-github/pr/1671' 2020-01-20 15:40:42 +10:00
Nick Mathewson
4f88eb849c Fix a small lint-changes warning. 2020-01-17 08:50:04 -05:00
Nick Mathewson
5086b16055 Merge remote-tracking branch 'tor-github/pr/1529' 2020-01-17 08:49:56 -05:00
Nick Mathewson
c8b6392b4e Initialize publish/subscribe code when running as an NT service.
Fixes bug 32778; bugfix on 0.4.1.1-alpha.
2020-01-17 08:41:52 -05:00
Nick Mathewson
eef021e12d Revert "Use tor_api.h entry points in ntmain.c."
This reverts commit dca2629480.
2020-01-17 08:39:56 -05:00
Nick Mathewson
7f03ba06d8 Merge branch 'ticket32806' 2020-01-17 08:37:33 -05:00
Nick Mathewson
abd9ae48ac Merge branch 'ticket32487_squashed_and_merged' 2020-01-17 07:50:50 -05:00
Nick Mathewson
01fdc3240f Merge branch 'ticket32695_squashed' 2020-01-16 16:42:01 -05:00
Nick Mathewson
441a048a3a Remove support for now-obsolete consensus methods before 28.
Closes ticket 32695.
2020-01-16 16:41:53 -05:00
Victor Nepveu
594e5ce635 Refactor routerstatus_has_changed function
- Check all fields that might change in a routerstatus
- Document the refactoring

Signed-off-by: Victor Nepveu <victor.nepveu@imt-atlantique.net>
2020-01-16 10:39:15 -05:00
Nick Mathewson
3c89622e39 Merge branch 'ticket32487_squashed' into ticket32487_squashed_and_merged
Resolved conflicts in src/core/include.am
2020-01-16 07:57:37 -05:00
Nick Mathewson
a1bc471dd4 Add a changes file for disabling the dircache code. 2020-01-16 07:48:17 -05:00
teor
fb541ffca3
Merge branch 'maint-0.4.0' into maint-0.4.1 2020-01-16 10:00:40 +10:00
teor
026f068bb3
Merge branch 'maint-0.3.5' into maint-0.4.0 2020-01-16 10:00:32 +10:00
teor
19954cffd7
Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5 2020-01-16 09:57:27 +10:00
Alexander Færøy
ca9a5390ff Don't escape the bridge distribution value.
We already check if there are invalid values in
check_bridge_distribution_setting() and reject the value if that is the
case. We can therefore only have strings of [A-Z] | [a-z] | [0-9] | '-'
| '_' here which is according to the directory specification.

See: https://bugs.torproject.org/32753
2020-01-15 23:41:58 +00:00
Nick Mathewson
5e70c27e85 Merge remote-tracking branch 'tor-github/pr/1657' 2020-01-15 13:10:14 -05:00
teor
5fa7c1b13f
Merge remote-tracking branch 'tor-github/pr/1661' 2020-01-16 00:46:31 +10:00
David Goulet
b958529dbf Merge branch 'tor-github/pr/1633' 2020-01-14 14:03:21 -05:00
Nick Mathewson
08bbb6b8d9 Merge branch 'ticket32892_043_01_squashed' 2020-01-14 13:31:20 -05:00
David Goulet
59dac38ebe chan: Remove dead var cell handler from channel_t
The variable lenght cells are handled directly by
channel_tls_handle_var_cell() from an OR connection reading its inbuf. The
channel var cell handler (agnostic) was never used.

Closes #32892

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-01-14 13:31:08 -05:00
Nick Mathewson
165a92e33f Replace an assertion with a check-and-log
We hit this assertion with bug 32868, but I'm stymied figuring out
how we wound up with a routerstatus like this.  This patch is a
diagnostic to attempt to figure out what is going on, and to avoid a
crash in the meantime.
2020-01-14 13:16:39 -05:00
Nick Mathewson
c948db4252 Merge remote-tracking branch 'tor-github/pr/1636' 2020-01-14 12:46:14 -05:00
Nick Mathewson
c2dc94d8eb Merge branch 'ticket32883' 2020-01-14 12:42:41 -05:00
Nick Mathewson
dec11793ba Merge branch 'ticket32825_squashed' 2020-01-14 12:42:19 -05:00
Nick Mathewson
8ab9f93993 changes file for 32825 2020-01-14 12:42:13 -05:00
Nick Mathewson
75741c6b3a Merge remote-tracking branch 'tor-github/pr/1659' 2020-01-14 12:40:07 -05:00
teor
8095c785f1
Merge branch 'maint-0.4.2' 2020-01-14 17:41:44 +10:00
teor
7e111d0eaa
practracker: print a notice to stderr when disabled
When TOR_DISABLE_PRACTRACKER is set, print a message to
stderr when skipping practracker checks.

Part of 32705.
2020-01-14 17:41:00 +10:00
Neel Chauhan
8d288eb3a7 Deprecate the ClientAutoIPv6ORPort option 2020-01-13 14:55:16 -08:00
Nick Mathewson
6b1592b564 test_practracker.sh: never disable practracker
When practracker is disabled, its output will be empty.  We don't
want that happening during our tests.

Fixes bug 32705; bugfix on 0.4.2.1-alpha, when test_practracker.sh
was introduced.
2020-01-13 16:17:51 -05:00
Nick Mathewson
8b46372f26 Merge branch 'pr_1643_squashed' 2020-01-13 13:26:23 -05:00
Swati Thacker
ec52c8ed69 manpage: alphabetize client options
Alphabetize client options in tor.1.txt.  Closes ticket32846.
2020-01-13 13:26:12 -05:00
Nick Mathewson
73ac1add3f Split core/include.am into per-subdirectory include.am files
Closes ticket 32137.
2020-01-13 09:34:17 -05:00
Nick Mathewson
5888db4967 Merge branch 'disable_ns_macro' 2020-01-09 16:02:41 -05:00
Nick Mathewson
93894fb770 Merge branch 'ticket22029_attempt_squashed' 2020-01-09 15:27:32 -05:00
Neel Chauhan
686c5e90a3 Add changes file for Bug #22029 2020-01-09 15:27:26 -05:00
Nick Mathewson
079912de4d Changes file for ticket 32887 (NS*() removal) 2020-01-09 11:51:46 -05:00
Nick Mathewson
e45810113b Merge branch 'pre_formatter_cleanups_squashed' 2020-01-09 07:32:39 -05:00
Nick Mathewson
8b2041c343 changes file for 32764. 2020-01-09 07:30:35 -05:00
teor
1fd27155d4 changes: file for 32845 2020-01-07 10:16:08 -05:00
Nick Mathewson
1b63eea66c Merge branch 'haxxpop/tcp_proxy_squashed' into tcp_proxy_squshed_and_merged 2020-01-06 13:41:20 -05:00
Suphanat Chunhapanya
14d781fff6 circuit: Add change file 2020-01-06 13:39:10 -05:00
Nick Mathewson
e08d07692f Add documentation about building a TAGS file.
Patch from opara.  Closes ticket 32779.
2020-01-06 13:31:30 -05:00
Nick Mathewson
1f498220bd Merge remote-tracking branch 'tor-github/pr/1620' 2020-01-06 13:28:10 -05:00
Nick Mathewson
48f7341783 Merge branch 'maint-0.4.2' 2020-01-06 13:24:01 -05:00
Nick Mathewson
6da989cfe8 Merge remote-tracking branch 'tor-github/pr/1612' into maint-0.4.2 2020-01-06 13:20:57 -05:00
Nick Mathewson
4f6901d7cc When initializing pthreads, always set the main thread.
Fixes bug 32884.  This is a bugfix on 0.3.3.1-alpha, when we started
allowing restart-in-process with tor_api.h.
2020-01-06 09:37:12 -05:00
Nick Mathewson
dca2629480 Use tor_api.h entry points in ntmain.c.
When we updated main.c to use the same entry points as tor_api.h, we
didn't update ntmain.c.  This led to bugs as the two got out of
sync.

There are two calls that we drop in this patch: first, I drop the
call to set_main_thread(), since that's redundant with the init
function in compat_winthreads.c (but see #32884).  Second, I drop
the check for CMD_RUN_TOR: I'll add that back with a subsequent
commit.

Closes ticket 32883.
2020-01-06 09:24:15 -05:00
Nick Mathewson
54eec5342d Initialize publish/subscribe code when running as an NT service.
Fixes bug 32778; bugfix on 0.4.1.1-alpha.
2020-01-06 09:22:57 -05:00
Nick Mathewson
13216f848a Merge branch 'maint-0.4.2' 2020-01-06 08:08:59 -05:00
Nick Mathewson
2d8d6d1ebf Merge branch 'maint-0.4.1' into maint-0.4.2 2020-01-06 08:08:59 -05:00
Nick Mathewson
f5461a4bdf update changes file to pass "make check-changes" 2020-01-06 08:08:48 -05:00
Nick Mathewson
16e94dc7a7 Merge branch 'maint-0.4.1' into maint-0.4.2 2020-01-06 08:06:54 -05:00
Peter Gerber
b9d81282e0 Fix sandbox crash during reload of logging configuration
Allow calls to dup() which was introduced in commit a22fbab986.

From a security perspective, I don't think this should impact the
security of the sandbox significantly. As far as I can tell, there
is nothing an adversary can do with a duplicated FD that can't be
done with the original.
2020-01-05 15:24:45 +00:00
rl1987
52bbc7fb49 Add changes file 2019-12-30 13:02:04 +07:00
Nick Mathewson
33a0f15b21 Merge branch 'bug29819_035' 2019-12-20 07:37:47 -05:00
teor
7237637871
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-20 10:12:43 +10:00
teor
7e17c24381
Merge remote-tracking branch 'tor-github/pr/1606' 2019-12-20 10:12:18 +10:00
Nick Mathewson
42e31b5c45 Mark TestingEstimatedDescriptorPropagationTime as obsolete.
We stopped looking at this option in 85cf6dcba3, back when we
implemented the minimal pieces of prop275.  Since then, we've had
code to validate and adjust this option, and to give it a different
value in testing networks, but the option hasn't actually done
anything.

We can safely mark it as OBSOLETE, since doing so does not make any
old configuration get rejected.

Closes ticket 32807.
2019-12-19 11:04:48 -05:00
Nick Mathewson
3663df6937 changes file for ticket 32806 2019-12-19 10:49:57 -05:00
George Kadianakis
b7304027f6 Merge branch 'tor-github/pr/1587' 2019-12-18 14:19:15 +02:00
Nick Mathewson
08bfc2d71a Merge branch 'ticket32172_once_again' 2019-12-17 15:02:06 -05:00
Peter Gerber
0d64bafcfe Correct how we use libseccomp
This fixes a startup crash with libseccomp v2.4.0 if Sandbox is
set to 1.
2019-12-17 09:47:28 -05:00
Nick Mathewson
5f9808d1d7 Merge remote-tracking branch 'tor-github/pr/1596' 2019-12-17 09:39:50 -05:00
teor
11c8c4f23c
Merge branch 'pr1590_amended_commit' 2019-12-17 09:49:30 +10:00
Nick Mathewson
b4977d1aa9 Fix formatting in tor_assertf() message in struct_check_magic().
Closes 32771; bugfix on 0.4.2.1-alpha.
2019-12-16 15:31:23 -05:00
Nick Mathewson
df5c81fec0 Merge branch 'bug32765_041' into bug32771_042 2019-12-16 15:27:18 -05:00
Nick Mathewson
1b619a627c Use CHECK_PRINTF() for printf-like functions in util_bug.h 2019-12-16 15:14:13 -05:00
George Kadianakis
e6bffeca64 Merge branch 'tor-github/pr/1591' 2019-12-16 22:01:10 +02:00
Mike Perry
e01e199005 Add changes file 2019-12-16 22:00:54 +02:00
teor
55b25ee6c6
Merge branch 'bug32240_32242_042' into bug32240_32242_master
Merge:
* libzstd-dev from ticket32242_042
* coccinelle from master
2019-12-16 09:25:38 +10:00
teor
8b5c11fbf6
Merge branch 'bug32240_32242_041' into bug32240_32242_042 2019-12-16 09:23:46 +10:00
teor
84c4ede052
Merge branch 'bug32240_32242_040' into bug32240_32242_041 2019-12-16 09:23:41 +10:00
teor
d96b35d663
Merge branch 'bug32240_32242_035' into bug32240_32242_040
Merge:
* libzstd-dev from ticket32242_035
* shellcheck from maint-0.4.0
2019-12-16 09:22:52 +10:00
teor
0b3763612c
Merge remote-tracking branch 'tor-github/pr/1459' into bug32240_32242_035 2019-12-16 09:21:05 +10:00
teor
86ca3194aa
Merge branch 'bug32240_042' into bug32240_master 2019-12-16 09:17:02 +10:00
teor
da404910a7
Merge branch 'bug32240_041' into bug32240_042
Merge:
* CHUTNEY_TOR_SANDBOX=0 from bug32240_041
* RUST_VERSION from maint-0.4.2
2019-12-16 09:15:42 +10:00
teor
4a34fd5b74
Merge branch 'bug32240_040' into bug32240_041 2019-12-16 09:14:38 +10:00
teor
e2f78396f4
Merge branch 'bug32240_035' into bug32240_040 2019-12-16 09:14:32 +10:00
teor
75096de4c7
Merge branch 'bug32240_029' into bug32240_035
Merge
* Chutney Trusty deletion in bug32240_029
* NSS addition in maint-0.3.5
2019-12-16 09:09:16 +10:00
teor
37b04aeed7
changes: file for 32240 2019-12-16 09:06:25 +10:00
teor
5082eeba38
Merge branch 'maint-0.4.2' 2019-12-16 08:16:28 +10:00
teor
ffccf6fc55
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-16 08:16:12 +10:00
teor
7481172983
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-12-16 08:16:04 +10:00
teor
648399d6c2
Merge remote-tracking branch 'tor-github/pr/1505' 2019-12-16 08:15:19 +10:00
teor
933b0c1b1b
Merge remote-tracking branch 'tor-github/pr/1577' into maint-0.4.2 2019-12-16 08:14:29 +10:00
teor
05908d57f6
Merge remote-tracking branch 'tor-github/pr/1576' into maint-0.3.5 2019-12-16 08:14:04 +10:00
teor
7dd5946094
Merge remote-tracking branch 'tor-github/pr/1575' into maint-0.2.9 2019-12-16 08:13:38 +10:00
Taylor Yu
4bc698f776 changes file for ticket 32708 2019-12-12 10:44:21 -06:00
teor
f9a243a9d4
changes: update changes file for 32609 2019-12-12 16:12:18 +10:00
Taylor Yu
0fd49c6663 Document high-level architecture goals
Create a high-level description of the long-term software architecture
goals.  Closes ticket 32206.
2019-12-10 16:47:38 -06:00
Nick Mathewson
fefa08df75 Add a changes file for ticket 32172. 2019-12-10 15:56:06 -05:00
Neel Chauhan
a8b5b9a1bc In cancel_descriptor_fetches(), use connection_list_by_type_purpose() instead of connection_list_by_type_state() 2019-12-10 12:00:38 -05:00
George Kadianakis
a38014e5c6 Merge branch 'tor-github/pr/1581' 2019-12-10 18:34:00 +02:00
David Goulet
fc32349adc hs-v3: Handle client rendezvous circuit timeout
With v3, the "pending_final_cpath" of a circuit is always NULL which means
that for v3, established client rendezvous circuit waiting for the intro point
to ACK, will always end up timing out quickly.

This can increase the delays to which you connect to a service since in order
to succeed, the rendezvous circuit needs to fully established
(CIRCUIT_PURPOSE_C_REND_JOINED) within the cutoff of the introduction circuit
as well which is these days around 2-3 seconds.

Fixes #32021

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-12-10 18:33:48 +02:00
Taylor Yu
7bd7089988 changes file for ticket 30984 2019-12-09 09:55:04 -06:00
Nick Mathewson
e93801bfe6 Port changelog tools to python 3
Closes ticket 32704.
2019-12-09 10:53:48 -05:00
Nick Mathewson
089466eff3 Merge branch 'maint-0.4.2' 2019-12-06 16:02:08 -05:00
Nick Mathewson
3248630fc8 Merge branch 'maint-0.4.1' into maint-0.4.2 2019-12-06 16:02:08 -05:00
Nick Mathewson
6513102b9d Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-06 16:02:08 -05:00
Nick Mathewson
c7ca3fc186 Merge branch 'maint-0.3.5' into maint-0.4.0 2019-12-06 16:02:07 -05:00
Nick Mathewson
74cae547e5 Merge branch 'maint-0.2.9' into maint-0.3.5 2019-12-06 16:02:07 -05:00
Karsten Loesing
b7b467d3af Update geoip and geoip6 to the December 3 2019 database. 2019-12-06 11:50:35 +01:00
teor
f86d508d49
changes: file for 32629 2019-12-06 10:52:19 +10:00
teor
a277f28947
changes: file for 32629 2019-12-06 10:51:43 +10:00
teor
b84e7715da
changes: file for 32629 2019-12-06 10:51:05 +10:00
Nick Mathewson
37d1ee554d Remove changes files that are scheduled for inclusion in 0.4.2.5 2019-12-05 13:27:46 -05:00
teor
cfa9cc34aa
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-05 10:14:01 +10:00
teor
92fb099067
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-12-05 10:13:53 +10:00
teor
46057ec5ae
Merge remote-tracking branch 'tor-github/pr/1424' into maint-0.4.0 2019-12-05 10:13:15 +10:00
teor
aee966cb06
Merge remote-tracking branch 'tor-github/pr/1277' into maint-0.3.5 2019-12-05 10:11:18 +10:00
Nick Mathewson
fcb5656128 Merge branch 'ticket32609_squashed' 2019-12-04 12:15:28 -05:00
teor
5ce45ac907 Makefile/git scripts: Add the practracker unit tests
Add a check-practracker-unit-test target, and run it as part of
"make check".

Add the practracker unit tests to scripts/git/pre-commit.git-hook.

Part of 32609.
2019-12-04 12:15:22 -05:00
teor
a4c22164c0
Merge branch 'maint-0.4.2' 2019-12-03 12:47:05 +10:00
teor
3207a8e5c2
Merge branch 'maint-0.4.1' into maint-0.4.2 2019-12-03 12:46:58 +10:00
teor
14089a29b5
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-03 12:46:50 +10:00
teor
febbc236d4
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-12-03 12:46:43 +10:00
teor
145ff92d92
Merge branch 'maint-0.2.9' into maint-0.3.5
Merge C_DIALECT_OPTIONS from ticket32500_029 with
other configure options from maint-0.3.5.
2019-12-03 12:45:41 +10:00
teor
792c15fde2
Travis: use -std=gnu99 in some jobs
Require C99 standards-conforming code in Travis CI, but allow GNU gcc
extensions. Also activates clang's -Wtypedef-redefinition warnings.

Builds some jobs with -std=gnu99, and some jobs without.

Closes ticket 32500.
2019-12-03 12:42:39 +10:00
George Kadianakis
53bdd21179 Merge branch 'tor-github/pr/1559' 2019-12-02 12:52:44 +02:00
teor
4a157c7569
Merge branch 'ticket32629_041' into ticket32629_042
Merge RUST_VERSION from maint-0.4.2 with disabling the macOS Rust
job from ticket32629_041.
2019-12-01 20:28:44 +10:00
teor
a00b9e5a86
Merge branch 'ticket32629_040' into ticket32629_041 2019-12-01 20:26:55 +10:00
teor
349554f40d
Merge branch 'ticket32629_035' into ticket32629_040 2019-12-01 20:26:51 +10:00
teor
96e620caaf
Merge remote-tracking branch 'tor-github/pr/1574' 2019-12-01 17:53:06 +10:00
teor
f2f7491cd9
Merge branch 'ticket32629_029' into ticket32629_035
Merge re-enable chutney from ticket32629_029 with
stem from maint-0.3.5.
2019-11-28 12:21:08 +10:00
teor
99b5f1b261
Revert "Travis: Disable all but one macOS build"
This reverts commit 511aeba8ee.
2019-11-28 12:10:10 +10:00
George Kadianakis
68a00c4951 Merge branch 'tor-github/pr/1573' 2019-11-27 15:36:26 +02:00
David Goulet
85b984dbc6 hs: Add changes file for 32020
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-11-27 14:52:09 +02:00
Neel Chauhan
99cf3f99c0 Make control_event_conf_changed() take a config_line_t 2019-11-26 22:12:23 -05:00
Nick Mathewson
031f204a10 configure: reject Python 2.
Python 2 will be end-of-life as of 1 Jan 2020, so we can finally
stop supporting it.  As a first step, we should make our configure
script stop accepting python 2 as something acceptable to run our
tests with.

Closes ticket 32608.
2019-11-25 13:01:04 -05:00
Nick Mathewson
31f8b4fa65 Merge branch 'stream-socks-auth' into bug19859_merged 2019-11-25 07:58:02 -05:00
teor
26071aa3be
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-11-25 12:37:07 +10:00
teor
055f5d4d1b
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-11-25 12:36:59 +10:00
teor
c17ab20ac0
Merge remote-tracking branch 'tor-github/pr/1441' into maint-0.4.0 2019-11-25 12:36:41 +10:00
teor
ed6f2f61a2
Merge remote-tracking branch 'tor-github/pr/1396' into maint-0.4.0 2019-11-25 12:35:58 +10:00
teor
501b5174d8
Merge remote-tracking branch 'tor-github/pr/1464' into maint-0.3.5 2019-11-25 12:35:11 +10:00
teor
400cee261e
Merge remote-tracking branch 'tor-github/pr/1422' into maint-0.3.5 2019-11-25 12:34:29 +10:00
teor
54c01119ed
Merge remote-tracking branch 'tor-github/pr/1405' into maint-0.3.5 2019-11-25 12:33:55 +10:00
teor
83424cb62f
Merge remote-tracking branch 'tor-github/pr/1395' into maint-0.3.5 2019-11-25 12:33:14 +10:00
teor
f9812ee5f7
Merge remote-tracking branch 'tor-github/pr/1394' into maint-0.3.5 2019-11-25 12:29:43 +10:00
Nick Mathewson
75f417fd0c changes file for 29826 2019-11-23 15:35:59 -05:00
Nick Mathewson
d8ff7d0236 Merge branch 'reversible_3' 2019-11-21 07:49:18 -05:00
David Goulet
cb11276068 hs-v3: Add changes file for ticket #30382
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-11-21 13:02:29 +02:00
Nick Mathewson
a30d143228 Make KeyDirectory's GroupReadable behave the same as CacheDirectory's.
In #26913 we solved a bug where CacheDirectoryGroupReadable would
override DataDirectoryGroupReadable when the two directories are the
same.  We never did the same for KeyDirectory, though, because
that's a rare setting.

Now that I'm testing this code, though, fixing this issue seems
fine.  Fixes bug #27992; bugfix on 0.3.3.1-alpha.
2019-11-20 09:26:47 -05:00
George Kadianakis
53ac9a9a91 Add changes file for #30381. 2019-11-18 19:21:10 +02:00
teor
c34fb3413d
Merge remote-tracking branch 'tor-github/pr/1517' 2019-11-18 11:21:37 +10:00
teor
825f52784d
Merge remote-tracking branch 'tor-github/pr/1535' 2019-11-15 12:11:32 +10:00
teor
b58e5091b7
Merge remote-tracking branch 'tor-github/pr/1533' 2019-11-15 12:11:22 +10:00
David Goulet
1371d29e5b Merge branch 'tor-github/pr/1489' 2019-11-14 10:37:14 -05:00
Nick Mathewson
a76b7cd8b5 Merge remote-tracking branch 'tor-github/pr/1531' 2019-11-14 09:58:37 -05:00
teor
0df8bcfb6f relay: Disable relay_sys when the relay module is disabled
Closes ticket 32245.
2019-11-14 16:27:06 +10:00
teor
88c2a23c4b relay: Disable relay_periodic when the relay module is disabled
Closes ticket 32244.
2019-11-14 16:17:17 +10:00
teor
ef00b1ce0f dirauth: Remove a HAVE_MODULE_DIRAUTH inside a function
There are now no HAVE_MODULE_{DIRAUTH,RELAY} inside functions.

Closes ticket 32163.
2019-11-14 15:43:27 +10:00
teor
b2b61b0268
changes: Update the changes file for 32410
When the relay module is disabled, we change the ClientOnly
default to 1. But we forgot to mention that in the changes file.
2019-11-14 15:39:40 +10:00
teor
9f37c0f4f2
changes: file for 32451 2019-11-14 13:12:42 +10:00
teor
4514bfe9c2 test/parseconf: Stop ignoring --dump-config failures
When we added the $FILTER for Windows newlines, we made
the pipeline always exit successfully, even if tor failed.

Fixes bug 32468; bugfix on 0.4.2.1-alpha.
2019-11-14 10:55:21 +10:00
Nick Mathewson
79bac44293 Remove changes files that are already merged into 0.4.2.4-rc. 2019-11-12 16:48:12 -05:00
Nick Mathewson
fc1316b559 Merge branch 'ticket32467' 2019-11-12 13:19:12 -05:00
Nick Mathewson
c11c1d0623 Merge remote-tracking branch 'tor-github/pr/1367' 2019-11-12 12:18:14 -05:00
Nick Mathewson
6d9db29dda Document --dump-config.
Closes ticket 32467.
2019-11-12 08:19:35 -05:00
teor
2ee04fc309
config: Log the option name when skipping an obsolete option
This is a basic fix for 0.4.2 only. The fix for 0.4.3 and later
is in 32404.

Fixes bug 32295; bugfix on 0.4.2.1-alpha.
2019-11-12 10:07:12 +10:00
Nick Mathewson
7c3378fb8d Merge remote-tracking branch 'tor-github/pr/1338' 2019-11-11 12:20:14 -05:00
Nick Mathewson
4462766d32 Merge branch 'ticket32404' 2019-11-11 11:54:14 -05:00
Nick Mathewson
2b3dc3384c Merge branch 'ticket32385' 2019-11-11 10:38:10 -05:00
Nick Mathewson
b1083584c7 Clarify that "missing-doc-warnings" makes doxygen warnings nonfatal 2019-11-11 10:38:04 -05:00
liberat
4e4c4e72d7 Handle binary IPv6 addresses and bracketed strings in RESOLVE_PTR.
When a SOCKS5 client sends a RESOLVE_PTR request, it must include
either an IPv4 or IPv6 address.  In the past this was required to be a
binary address (address types 1 or 4), but since the refactoring of
SOCKS5 support in Tor 0.3.5.1-alpha, strings (address type 3) are also
allowed if they represent an IPv4 or IPv6 literal.

However, when a binary IPv6 address is provided,
parse_socks5_client_request converts it into a string enclosed in
brackets.  This doesn't match what string_is_valid_ipv6_address
expects, so this would fail with the error "socks5 received
RESOLVE_PTR command with hostname type. Rejecting."

By replacing string_is_valid_ipv4_address/string_is_valid_ipv6_address
with tor_addr_parse, we accept strings both with and without brackets.
This fixes the handling of binary addresses, and also improves
symmetry with CONNECT and RESOLVE requests.

Fixes bug 32315.
2019-11-11 15:34:38 +00:00
Nick Mathewson
29eb7b07ef Merge branch 'maint-0.4.0' into maint-0.4.1 2019-11-11 10:14:04 -05:00
Nick Mathewson
a920597f62 Merge branch 'maint-0.4.1' into maint-0.4.2 2019-11-11 10:14:04 -05:00
Nick Mathewson
eb8ea92cf9 Merge branch 'maint-0.4.2' 2019-11-11 10:14:04 -05:00
Nick Mathewson
329aa1c48e Merge branch 'maint-0.3.5' into maint-0.4.0 2019-11-11 10:14:03 -05:00
Nick Mathewson
7beaaed245 Merge branch 'maint-0.2.9' into maint-0.3.5 2019-11-11 10:14:03 -05:00
teor
8af8ed72b2
Merge branch 'maint-0.4.2' 2019-11-11 14:20:03 +10:00
teor
8b1f99c29d
Merge branch 'maint-0.4.1' into maint-0.4.2 2019-11-11 14:19:55 +10:00
teor
7043be968a
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-11-11 14:19:47 +10:00
teor
29940511e3
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-11-11 14:19:39 +10:00
teor
2abff832dd
Appveyor: Install OpenSSL to resolve a header/library mismatch
Install the mingw OpenSSL package in Appveyor. This makes sure that
the OpenSSL headers and libraries match in Tor's Appveyor builds.

(This bug was triggered by an Appveyor image update.)

Fixes bug 32449; bugfix on 0.3.5.6-rc.
2019-11-11 13:19:15 +10:00
Karsten Loesing
853b6ad095 Update geoip and geoip6 to the November 6 2019 database. 2019-11-09 10:10:19 +01:00
Nick Mathewson
a08969e460 Refactor "OBSOLETE" type
It no longer warns, and is now defined in terms of an "IGNORE" type.

(The "IGNORE" type is the same as "OBSOLETE", except that it is not
reported as obsolete. It should be useful for disabled modules.)

Closes ticket 32404.
2019-11-07 11:01:25 -05:00
Nick Mathewson
c9b2fe0460 Changes file for 32415 (struct name uniformity) 2019-11-07 08:56:18 -05:00
Nick Mathewson
32a2f96f82 Add the ability to fail when a hardware accelerator is missing.
Closes ticket 32406.
2019-11-07 07:28:43 -05:00
Nick Mathewson
0d8504e70b crypto config: do not change the user's value of HardwareAccel.
We still interpret "AccelName" as turning on the "HardwareAccel"
feature, but we no longer modify the user's options here.

Fixes bug 32382; bugfix on 0.2.2.1-alpha when we added openssl
engine support.
2019-11-07 07:28:43 -05:00
teor
aaef9a2519 relay: Stop failing on startup when the relay module is disabled
When the relay module is disabled, make "ClientOnly 1" and
"DirCache 0" by default. (But keep "ClientOnly 0" and
"DirCache 1" as the defaults for the unit tests.)

And run "make autostyle".

Part of ticket 32410.
2019-11-07 11:43:41 +10:00
teor
e466c84ed3
Merge branch 'maint-0.4.2' 2019-11-07 10:51:48 +10:00
teor
1f3bf10d3f
Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.4.2 2019-11-07 10:51:22 +10:00
Nick Mathewson
4d70e725d1 Do not try to shut down the event loop when it is not initialized.
Doing so caused us to crash in some unusual circumstances, such as
using --verify-config to verify a configuration that failed during
the options_act() stage.

Fixes bug 32407; bugfix on 0.3.3.1-alpha.
2019-11-06 11:33:23 -05:00
David Goulet
65013a6924 changes: Add file for ticket #31371
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-11-06 10:27:34 -05:00
Nick Mathewson
059a5795d3 Merge branch 'maint-0.4.2' 2019-11-06 08:57:21 -05:00
Nick Mathewson
8f6dc54e3c Merge remote-tracking branch 'tor-github/pr/1495' into maint-0.4.2 2019-11-06 08:57:14 -05:00
teor
22482fd454
test/parseconf: Add support for optional library variants
test_parseconf.sh now supports:
* {error,expected}{,_lzma,_nss,_zstd}{,_no_dirauth,_no_relay_dirauth}
Or any combination of two or more optional libraries.

Closes ticket 32397.
2019-11-06 21:36:42 +10:00
teor
89f52f36e0
Merge remote-tracking branch 'tor-github/pr/1510' 2019-11-06 21:29:18 +10:00
teor
c3a1e15a5e
Merge remote-tracking branch 'tor-github/pr/1509' into maint-0.4.2 2019-11-06 21:28:28 +10:00
teor
23ff60c150
Merge branch 'maint-0.4.2' 2019-11-06 17:04:52 +10:00
teor
f7b45975bf
Merge branch 'bug32402_042' into bug32402_master
Merge changes from master with shellcheck fixes.
2019-11-06 16:14:06 +10:00
teor
7f23d47f72
shellcheck: Fix issues in the git-*.sh scripts
Fixes bug 32402; bugfix on 0.4.2.1-alpha.
Obviously correct changes to already reviewed code.
2019-11-06 16:09:31 +10:00
teor
57baea701f
shellcheck: Start checking most scripts for errors
This check was accidentally disabled by a bad find command.

Fixes bug 32402; bugfix on 0.4.2.1-alpha.
Obviously correct changes to already reviewed code.
2019-11-06 15:49:50 +10:00
teor
10ef7a31cf
Makefile: Fix "make check-includes" for out-of-tree builds
Previously, it would run on the build tree, which did not contain
any sources.

Fixes bug 31335; bugfix on 0.3.5.1-alpha.
2019-11-06 12:30:19 +10:00
teor
de6ceb0bee
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-11-06 11:19:46 +10:00
teor
03e77ef036
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-11-06 11:19:38 +10:00
teor
1bde356bf6
Merge branch 'maint-0.2.9' into maint-0.3.5 2019-11-06 11:19:30 +10:00
teor
4f9a003392
Merge remote-tracking branch 'tor-github/pr/1374' into maint-0.4.1 2019-11-06 11:19:13 +10:00
teor
4abfcb7997
Merge remote-tracking branch 'tor-github/pr/1354' into maint-0.3.5 2019-11-06 11:18:09 +10:00
teor
0e2834a371
Merge remote-tracking branch 'tor-github/pr/1348' into maint-0.3.5 2019-11-06 11:17:43 +10:00
teor
d2e4262ebc
Merge remote-tracking branch 'tor-github/pr/1340' into maint-0.3.5 2019-11-06 11:17:01 +10:00
teor
6bfdd09679
Merge remote-tracking branch 'tor-github/pr/1343' into maint-0.3.5 2019-11-06 11:16:09 +10:00
teor
0650bf3695
Merge remote-tracking branch 'tor-github/pr/1342' into maint-0.2.9 2019-11-06 11:15:45 +10:00
teor
c06d540ff9
Merge remote-tracking branch 'tor-github/pr/1330' into maint-0.2.9 2019-11-06 11:14:53 +10:00
Nick Mathewson
d3e547b2bd Re-think our doxygen warnings wrt missing docs and fatalness.
Up till now, we have warned about all missing documentation, which
meant that we could never make doxygen warnings fatal.  This has led
to our doxygen output getting full of errors several times in the
past.

This commit changes our approach to doxygen warnings: missing
documentation warnings are only on when the user asks for them with
--enable-missing-doc-warnings.  When that option is not present,
doxygen respects the --enable-fatal-warnings flag.

Closes ticket 32385.
2019-11-05 12:24:02 -05:00
teor
804d7c9bfc
configure: Remove a check that will always fail
And update the changes file to be more specific.

Part of 32191.
2019-11-05 15:48:01 +10:00
Hans-Christoph Steiner
2a349006b9
force pkg-config to only use --prefix when cross-compiling
The current pkg-config setup has no sense of whether it is cross-compiling,
so it will detect things on the build system that are not present or are
wrong for the host system.  This forces the cross-compiling build to only
look for pkg-config .pc files in --prefix.

A version of this has been the setup for many years with the Android builds.

Fixes #32191

Signed-off-by: Hans-Christoph Steiner <hans@eds.org>
2019-11-05 15:45:25 +10:00
teor
655603c779
Merge remote-tracking branch 'tor-github/pr/1487'
Combine V_IMMUTABLE and FILENAME changes on PidFile.
2019-11-05 14:26:23 +10:00
teor
b9269d6d0a
Merge remote-tracking branch 'tor-github/pr/1486' 2019-11-05 14:23:56 +10:00
teor
6169469546
Merge remote-tracking branch 'tor-github/pr/1477' 2019-11-05 14:23:10 +10:00
teor
81972353cb scripts: Fix update_versions.py for out-of-tree builds
Fixes bug 32371; bugfix on 0.4.0.1-alpha.
2019-11-05 12:00:59 +10:00
teor
9e2a2d38f4 Makefile: Fix "make autostyle" for out-of-tree builds
Fixes bug 32370; bugfix on 0.4.1.2-alpha.
2019-11-05 12:00:57 +10:00