Commit Graph

34383 Commits

Author SHA1 Message Date
teor 3539fdfd7a Merge remote-tracking branch 'tor-github/pr/1168' 2019-10-21 13:09:48 +10:00
teor 04e9e74f1d Merge remote-tracking branch 'tor-github/pr/1422' into maint-0.4.2 2019-10-21 13:07:39 +10:00
teor a1f73cb93d Merge branch 'maint-0.4.2' 2019-10-21 09:45:34 +10:00
teor 5dbdca0114 Merge remote-tracking branch 'tor-github/pr/1432' into maint-0.4.2 2019-10-21 09:45:18 +10:00
teor 5c8ecf364a Merge remote-tracking branch 'tor-github/pr/1354' into maint-0.4.2 2019-10-21 09:44:42 +10:00
teor 042116e1fd Merge branch 'maint-0.4.2' 2019-10-20 22:09:00 +10:00
teor 02e3e8eda5 hibernate: Fix repeated "bytes" in comment 2019-10-20 22:08:23 +10:00
teor f420b60c19 Appveyor: Use Windows Server 2019
Instead of Windows Server 2016.

Closes ticket 32086.
2019-10-20 22:04:08 +10:00
teor 475dffee42 dirauth: Add a macro comment to have_module_dirauth() 2019-10-20 20:26:12 +10:00
teor b1f71eeed6 changes: file for 32123
Create an optional relay module, which can be disabled using the
--disable-module-relay configure option. When it is set, also disable
the dirauth module.

Add a minimal implemention, which disables the relay and dircache modes
in tor.

Closes ticket 32123.
2019-10-20 20:26:09 +10:00
teor 0973575737 doc/HACKING: Update Module.md for the relay module
Also fix some typos, and delete some obsolete instructions.

Part of 32123.
2019-10-20 20:26:06 +10:00
teor bf45b6cf0c Travis: Add a --disable-module-relay job
Part of 32123.
2019-10-20 20:26:02 +10:00
teor b266a804e9 test/parseconf: Add basic dirauth and bridgeauth tests
Part of 32123.
2019-10-20 20:25:58 +10:00
teor 0501ce9f13 test/parseconf: Expect different outputs when relay mode is disabled
Part of 32123.
2019-10-20 20:25:54 +10:00
teor cf2b00d3f5 test/rebind: Make control formatting and log parsing more robust
* actually sleep when tor has not logged anything
* log at debug level when waiting for tor to log something
* backslash-replace bad UTF-8 characters in logs
* format control messages as ASCII: tor does not accept UTF-8 control commands

Fixes bug 31837; bugfix on 0.3.5.1-alpha.
2019-10-20 20:09:35 +10:00
teor 0a5ce8280c err: Use the correct type for cb_buf
Fixes bug 32060; bug not in any released version of tor.

Resolves CID 1454761.
2019-10-20 20:01:56 +10:00
Roger Dingledine aab5d90858 Merge branch 'maint-0.4.2' 2019-10-20 05:56:16 -04:00
Roger Dingledine 8b4d7447ae fix easy typos 2019-10-20 05:52:32 -04:00
teor 012c44538c test: Skip test scripts that require the relay module
When tor is built without the relay module.

Part of 32123.
2019-10-20 19:26:59 +10:00
teor e2280d6f84 relay: Silence compiler warnings when relay mode is disabled
Part of 32123.
2019-10-20 19:26:55 +10:00
teor 57e86a6d74 relay: Implement HAVE_MODULE_RELAY for routermode.c
Part of 32123.
2019-10-20 19:26:48 +10:00
teor 7944b55ad1 feature: Move proxy_mode() into new files
proxy_mode() was in routermode.[ch], but it's actually a client
mode. Move it into client/proxymode.[ch].

Part of 32123.
2019-10-20 17:52:38 +10:00
teor fdf47e0f0b configure: Make --disable-module-relay imply --disable-module-dirauth
Part of 32123.
2019-10-20 17:52:38 +10:00
teor 2e2e1ed765 configure: Add a relay module, with --disable-module-relay
The Makefile and C defines don't actually do anything yet.

Part of 32123.
2019-10-20 17:52:38 +10:00
Nick Mathewson 37320bce06 Merge branch 'maint-0.4.2' 2019-10-18 12:42:56 -04:00
Nick Mathewson f0f3f3338e Merge remote-tracking branch 'tor-github/pr/1427' into maint-0.4.2 2019-10-18 12:42:49 -04:00
Nick Mathewson 264c5312eb Merge branch 'maint-0.4.2' 2019-10-18 12:32:49 -04:00
Nick Mathewson 0994050c4a Merge remote-tracking branch 'tor-github/pr/1426' into maint-0.4.2 2019-10-18 12:32:29 -04:00
Nick Mathewson 7c5716d162 Merge branch 'maint-0.4.2' 2019-10-18 12:27:49 -04:00
Nick Mathewson 57c4af16f0 Merge remote-tracking branch 'tor-github/pr/1396' into maint-0.4.2 2019-10-18 12:27:39 -04:00
Nick Mathewson e2a42a1ab0 Merge branch 'maint-0.4.2' 2019-10-18 12:27:12 -04:00
Nick Mathewson fbd2fef220 Merge branch 'maint-0.4.2' of git-rw.torproject.org:/tor into maint-0.4.2 2019-10-18 12:25:55 -04:00
teor b3fc3b609b changes: file for 32124. 2019-10-18 17:26:09 +10:00
teor ac71ad662c configure: Stop failing when jemalloc is requested, but tcmalloc is not found
Fixes bug 32124; bugfix on 0.3.5.1-alpha.
2019-10-18 17:18:52 +10:00
teor 4442eef0b3 configure: Interpret --with-tcmalloc=no correctly
Fixes bug 32124; bugfix on 0.2.0.20-rc.
2019-10-18 17:16:32 +10:00
teor f59c4a0940 configure: Interpret --disable-module-dirauth=no correctly
Fixes bug 32134; bugfix on 0.3.4.1-alpha.
2019-10-18 17:15:34 +10:00
teor 5ff99901d2 configure: Clarify the description of --disable-module-dirauth
Part of 32123.
2019-10-18 16:59:57 +10:00
teor 1697019d5f core: tabify a line in include.am 2019-10-18 16:56:50 +10:00
teor d616214e47 Merge branch 'maint-0.4.2' 2019-10-18 12:05:20 +10:00
teor f73c8bd786 Merge remote-tracking branch 'tor-github/pr/1407' into maint-0.4.2 2019-10-18 12:05:07 +10:00
Alexander Færøy 389b37246e Remove overly strict assertions in transports.c.
This patch removes an overly strict tor_assert() and an ignorable BUG()
expression. Both of these would trigger if a PT was unable to configure
itself during startup. The easy way to trigger this is to configure an
obfs4 bridge where you make the obfs4 process try to bind on a port
number under 1024.

See: https://bugs.torproject.org/31091
2019-10-17 21:33:54 +02:00
Alexander Færøy 95e3527df0 Bump practracker exception limit for process_win32_exec().
I have added a larger comment there and one line of code, so I think
this bump is reasonable.

See: https://bugs.torproject.org/31810
2019-10-17 21:12:51 +02:00
Alexander Færøy 4ed06acb2a Add test to check if the exit callback is called in process_t upon process_exec() failures.
This patch adds a test to check for whether the exit callback is always
called when process_exec() fails, both on Windows and Unix.

See: https://bugs.torproject.org/31810
2019-10-17 20:52:32 +02:00
Alexander Færøy 7a64f6ea04 Ensure that the exit callback is called if CreateProcessA() fails on Windows.
This patch fixes an issue where the exit handler is not called for the
given process_t in case CreateProcessA() fails. This could, for example,
happen if the user tries to execute a binary that does not exist.

See: https://bugs.torproject.org/31810
2019-10-17 20:52:27 +02:00
Alexander Færøy 85b4a5c276 Handle errors from execve() in the Unix process backend more gracefully.
This patch removes a call to tor_assert_unreached() after execve()
failed. This assertion leads to the child process emitting a stack trace
on its standard output, which makes the error harder for the user to
demystify, since they think it is an internal error in Tor instead of
"just" being a "no such file or directory" error.

The process will now instead output "Error from child process: X" where
X is the stringified version of the errno value.

See: https://bugs.torproject.org/31810
2019-10-17 20:52:22 +02:00
Nick Mathewson db18ff9120 Move code to add default log into quiet_level.c
I'm about to unify the code for handling this between main.c and
config.c.
2019-10-17 12:48:39 -04:00
Nick Mathewson 3a73f6612a Replace add_temp_log() with add_default_log().
We used to have this function so that we could mark our initial
log-to-stdout as specifically temporary so that we would delete it
once regular logs were configured.  But it's no longer necessary to
mark these logs as temporary, since we now use a mark-and-sweep
process to ensure that _all_ not-configured logs are closed when we
change our configuration.

Instead, this function will be the basis of a refactoring in how we
handle default logs.
2019-10-17 12:30:52 -04:00
Nick Mathewson 800b823c29 Merge branch 'cmdline_refactor' 2019-10-17 12:01:45 -04:00
Nick Mathewson d97d7f0e48 Use an enum for quiet_level. 2019-10-17 12:01:40 -04:00
Nick Mathewson b9f002dec6 Rename CMD_OTHER to CMD_IMMEDIATE 2019-10-17 12:01:40 -04:00