Nick Mathewson
b152d62cee
Merge branch 'token_bucket_refactor_squashed'
2018-04-13 10:47:24 -04:00
Nick Mathewson
12f58f2f87
Remove a bunch of int casts; make clang happier.
2018-04-13 10:41:14 -04:00
Nick Mathewson
a38fd9bc5b
Replace the global buckets with token_bucket_t
2018-04-13 10:41:14 -04:00
Nick Mathewson
9fced56ef1
Refactor or_connection token buckets to use token_bucket_t
2018-04-13 10:41:14 -04:00
Nick Mathewson
6e467a7a34
Merge remote-tracking branch 'isis-github/bug25409'
2018-04-10 15:27:09 -04:00
Nick Mathewson
b3586629c9
Wrap the function we use to run the event loop.
...
Doing this lets us remove the event2/event.h header from a few more
modules, particularly in the tests.
Part of work on 23750.
2018-04-05 12:36:27 -04:00
Nick Mathewson
39cb04335f
Add wrappers for event_base_loopexit and event_base_loopbreak.
2018-04-05 12:36:05 -04:00
Nick Mathewson
871ff0006d
Add an API for a scheduled/manually activated event in the mainloop
...
Using this API lets us remove event2/event.h usage from half a dozen
modules, to better isolate libevent. Implements part of ticket
23750.
2018-04-05 12:35:11 -04:00
Neel Chauhan
9df110cd72
Remove PortForwarding options
...
Signed-off-by: Isis Lovecruft <isis@torproject.org>
2018-04-04 00:19:33 +00:00
Nick Mathewson
d8893bc93c
Merge remote-tracking branch 'isis/bug23881_r1'
2018-03-19 17:20:37 -04:00
Nick Mathewson
4e5e973421
Merge remote-tracking branch 'public/restart_reset_bootstrap'
2018-03-14 12:12:37 +01:00
Nick Mathewson
b56fd17d00
Merge branch 'maint-0.3.3'
2018-02-15 21:05:12 -05:00
Nick Mathewson
d9804691df
Merge remote-tracking branch 'ffmancera-1/bug18918'
2018-02-15 21:00:10 -05:00
Nick Mathewson
a1dd8afc16
Merge branch '25162_zstd_static'
2018-02-15 20:28:07 -05:00
Nick Mathewson
066a15af63
This stats_n_seconds_working variable needs to be static now.
...
(When a variable isn't going to be declared extern in the header, we
require that it be static.)
2018-02-15 20:26:09 -05:00
Nick Mathewson
3ca04aada2
Merge remote-tracking branch 'valentecaio/t-25081'
2018-02-15 20:23:23 -05:00
Nick Mathewson
3d7bf98d13
Merge remote-tracking branch 'valentecaio/t-24714'
2018-02-15 20:19:53 -05:00
David Goulet
652d3a5b66
Remove anything related to the old SocksSockets option
...
At this commit, the SocksSocketsGroupWritable option is renamed to
UnixSocksGroupWritable. A deprecated warning is triggered if the old option is
used and tor will use it properly.
Fixes #24343
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-02-07 14:05:33 -05:00
Roger Dingledine
a7440d9c9d
more fixes for typos, grammar, whitespace, etc
...
some of these ought to have been noticed by the "misspell" tool,
so if anybody is debugging it, here are some bug reports :)
2018-02-07 12:22:29 -05:00
Deepesh Pathak
ca6682f3f8
Fix spelling mistakes corresponding to ticket #23650
2018-02-07 10:41:57 -05:00
Nick Mathewson
a77a366b87
Warn on zstd header/library version mismatch
...
If we're going to potentially degrade performance in this case, we
may as well tell people so.
2018-02-06 11:05:07 -05:00
Caio Valente
7884ce76e1
refactor: rename connection_t struct fields.
...
connection_t.timestamp_lastwritten renamed to
connection_t.timestamp_last_write_allowed
connection_t.timestamp_lastread renamed to
connection_t.timestamp_last_read_allowed
Closes ticket 24714.
2018-02-01 03:12:38 +01:00
Nick Mathewson
a846fd267e
Merge branch 'bug23954_squashed'
2018-01-31 14:37:48 -05:00
Nick Mathewson
da778f2921
Use thread-safe types to store the LOG_PROTOCOL_WARN severity
...
Fixes a race condition; resolves 23954.
2018-01-31 14:37:09 -05:00
Caio Valente
a4c8531260
refactor: using get_uptime() (and reset_uptime()) consistently.
...
Using get_uptime() and reset_uptime() instead of
accessing stats_n_seconds_working directly.
stats_n_seconds_working is not extern anymore.
Ticket #25081
2018-01-31 02:36:38 +01:00
David Goulet
cd81403cc0
Merge branch 'ticket24902_029_05' into ticket24902_033_02
2018-01-30 09:33:12 -05:00
David Goulet
64149353dd
dos: Initial code of Denial of Service mitigation
...
This commit introduces the src/or/dos.{c|h} files that contains the code for
the Denial of Service mitigation subsystem. It currently contains basic
functions to initialize and free the subsystem. They are used at this commit.
The torrc options and consensus parameters are defined at this commit and
getters are implemented.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-01-30 09:18:15 -05:00
Fernando Fernandez Mancera
5ea993fa5a
Clarify directory and ORPort checking functions.
...
In order to make the OR and dir checking functions in router.c less confusing
we renamed some functions and splitted consider_testing_reachability() into
router_should_check_reachability() and router_do_reachability_checks(). Also we
improved the documentation.
Fixes #18918 .
Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net>
2018-01-24 20:19:24 +01:00
Chelsea Holland Komlo
d0184963f9
fixups from code review
2018-01-22 18:33:22 -05:00
Nick Mathewson
edd427a8ba
Merge branch 'disable_signal_handlers'
2018-01-19 16:35:24 -05:00
Nick Mathewson
65a27d95e7
Improve documentation for signal code
2018-01-19 10:02:20 -05:00
Nick Mathewson
2c9e0a286c
Merge branch 'restart_debug_squashed'
2018-01-19 09:52:14 -05:00
Nick Mathewson
97d9ba2380
Add a mostly disabled feature to debug restarting in-process
...
For 23847, we want Tor to be able to shut down and then restart in
the same process. Here's a patch to make the Tor binary do that.
To test it, you need to build with --enable-restart-debugging, and
then you need to set the environment variable TOR_DEBUG_RESTART.
With this option, Tor will then run for 5 seconds, then restart
itself in-process without exiting. This only happens once.
You can change the 5-second interval using
TOR_DEBUG_RESTART_AFTER_SECONDS.
Implements ticket 24583.
2018-01-19 09:52:05 -05:00
Nick Mathewson
05ac3d0458
Merge branch 'restart_nocrash'
2018-01-11 12:45:25 -05:00
Nick Mathewson
e8bd806412
Add a blank line per dgoulet review.
2018-01-11 12:29:29 -05:00
Nick Mathewson
d0adf5ae95
Merge branch 'bug24584'
2018-01-11 12:28:29 -05:00
Roger Dingledine
44aa1adf35
make a comment a bit more useful
2018-01-06 15:03:35 -05:00
Nick Mathewson
2d92f4c19a
Don't keep options in a local in run_main_loop_once.
...
The options value can change between the get_options() and its
second use, based on setconf callbacks in the event loop.
2018-01-05 09:24:34 -05:00
teor
d99ccf090f
Stop trying to remove NULL filenames on shutdown
...
Fixes bug 24762; bugfix on master.
(Not in any released version of Tor.)
2017-12-30 17:19:42 +11:00
Chelsea Holland Komlo
3dfe8e6522
add minimal rust module for logging to tor's logger
...
Allows an optional no-op for testing purposes
2017-12-21 15:29:33 -05:00
Nick Mathewson
5db94adac2
Fix a pair of memory leaks in tor_cleanup()
...
Spotted by coverity scan as 1426749 and 1426750
Bug not in any released Tor.
2017-12-21 08:50:41 -05:00
Nick Mathewson
7ca0a9c4ae
Merge remote-tracking branch 'ahf-oniongit/bugs/24605'
2017-12-20 11:16:17 -05:00
Nick Mathewson
c99ec36def
expand documentation on tor_remove_file
2017-12-20 10:43:27 -05:00
Nick Mathewson
4b7b305bf0
Remove pre-unlink check tor_remove_file; check errno instead.
...
This removes a time-of-check/time-of-use issue, though in this case
it would probably be harmless.
2017-12-20 10:42:02 -05:00
Nick Mathewson
18543c2c9b
Merge remote-tracking branch 'ffmancera/github/bug23271'
2017-12-20 10:40:32 -05:00
Alexander Færøy
d4f4108601
Add MainloopStats option.
...
This patch adds support for MainloopStats that allow developers to get
main event loop statistics via Tor's heartbeat status messages. The new
status log message will show how many succesful, erroneous, and idle
event loop iterations we have had.
See: https://bugs.torproject.org/24605
2017-12-16 02:41:21 +01:00
Nick Mathewson
20f802ea3c
Add an option to disable signal handler installation.
...
Closes ticket 24588.
2017-12-15 12:48:29 -05:00
Nick Mathewson
fdd5734875
Remove the unused is_parent==0 option from handle_signals.
2017-12-15 12:45:30 -05:00
Fernando Fernandez Mancera
61c721f145
Add remove file function and remove ephemeral files.
...
Adding tor_remove_file(filename) and refactoring tor_cleanup().
Removing CookieAuthFile and ExtORPortCookieAuthFile when tor_cleanup() is
called.
Fixes #23271 .
Signed-off-by: Fernando Fernandez Mancera <ffernandezmancera@gmail.com>
2017-12-15 17:01:22 +01:00
Nick Mathewson
3809036c63
Reset all main.c state at exit
...
This change is part of 24587.
2017-12-11 14:05:34 -05:00