Nick Mathewson
46795a7be6
Attempt to fix 32-bit clang builds, which broke with 31508a0abc
...
When size_t is 32 bits, the unit tests can't fit anything more than
4GB-1 into a size_t.
Additionally, tt_int_op() uses "long" -- we need tt_u64_op() to
safely test uint64_t values for equality.
Bug caused by tests for #24782 fix; not in any released Tor.
2018-04-12 12:30:36 -04:00
Nick Mathewson
467c882baa
Merge branch 'maint-0.3.3'
2018-04-12 12:25:51 -04:00
Nick Mathewson
4aaa4215e7
Attempt to fix 32-bit builds, which broke with 31508a0abc
...
When size_t is 32 bits, doing "size_t ram; if (ram > 8GB) { ... }"
produces a compile-time warning.
Bug caused by #24782 fix; not in any released Tor.
2018-04-12 12:25:09 -04:00
Nick Mathewson
037fb0c804
Merge branch 'maint-0.3.3'
2018-04-12 11:14:42 -04:00
Alexander Færøy
31508a0abc
Use less memory for MaxMemInQueues for machines with more than 8 GB of RAM.
...
This patch changes the algorithm of compute_real_max_mem_in_queues() to
use 0.4 * RAM iff the system has more than or equal to 8 GB of RAM, but
will continue to use the old value of 0.75 * RAM if the system have less
than * GB of RAM available.
This patch also adds tests for compute_real_max_mem_in_queues().
See: https://bugs.torproject.org/24782
2018-04-12 11:14:16 -04:00
Alexander Færøy
5633a63379
Use STATIC for compute_real_max_mem_in_queues
...
This patch makes compute_real_max_mem_in_queues use the STATIC macro,
which allows us to test the function.
See: https://bugs.torproject.org/24782
2018-04-12 10:51:48 -04:00
Alexander Færøy
bd42367a1e
Make get_total_system_memory mockable.
...
This patch makes get_total_system_memory mockable, which allows us to
alter the return value of the function in tests.
See: https://bugs.torproject.org/24782
2018-04-12 10:51:45 -04:00
Nick Mathewson
a51630cc9a
Merge branch 'maint-0.3.3'
2018-04-11 15:38:00 -04:00
Nick Mathewson
0803d79f55
Merge branch 'bug25581_033_v2_asn_squashed' into maint-0.3.3
2018-04-11 15:37:56 -04:00
Nick Mathewson
8b8630a501
Rename HSLayer{2,3}Nodes to start without an underscore.
...
The old single-underscore names remain as a deprecated synonym.
Fixes bug 25581; bugfix on 0.3.3.1-alpha.
2018-04-11 15:37:49 -04:00
Nick Mathewson
0c8f901ee7
Merge branch 'maint-0.3.3'
2018-04-11 10:48:46 -04:00
Mike Perry
f9ba0c6546
Bug 24989: Count client hsdir gets towards MaxClientCircuitsPending.
...
We removed this by breaking them out from general in #13837 .
2018-04-11 10:47:06 -04:00
Nick Mathewson
6bdfaa8b24
Merge remote-tracking branch 'isis-github/bug25425_squashed2'
2018-04-10 15:32:26 -04:00
Nick Mathewson
6e467a7a34
Merge remote-tracking branch 'isis-github/bug25409'
2018-04-10 15:27:09 -04:00
Isis Lovecruft
4178642bf8
changes: Add changes file for 25425.
2018-04-10 19:26:46 +00:00
Isis Lovecruft
550037f677
changes: Add changes file for 25409.
2018-04-10 19:21:10 +00:00
Isis Lovecruft
65d6b66e99
config: Obsolete PortForwarding and PortForwardingHelper options.
...
* FIXES part of #25409 : https://bugs.torproject.org/25409
2018-04-10 19:08:59 +00:00
Nick Mathewson
386f8016b7
Fix another crash-on-no-threadpool bug.
...
This one happens if for some reason you start with DirPort enabled
but server mode turned off entirely.
Fixes a case of bug 23693; bugfix on 0.3.1.1-alpha.
2018-04-10 14:44:38 -04:00
Nick Mathewson
d3ac47b415
Merge branch 'maint-0.3.1' into maint-0.3.2
2018-04-10 14:26:32 -04:00
Nick Mathewson
0b1a054d68
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-04-10 14:26:32 -04:00
Nick Mathewson
ef16a11b90
Merge branch 'maint-0.3.3'
2018-04-10 14:26:32 -04:00
Nick Mathewson
db6902c235
Merge branch 'maint-0.2.9' into maint-0.3.1
2018-04-10 14:26:29 -04:00
Nick Mathewson
10a1969ca3
Merge remote-tracking branch 'ahf-github/bugs/24854_029_2' into maint-0.2.9
2018-04-10 14:25:57 -04:00
Nick Mathewson
16f08de0fd
Remove TestingEnableTbEmptyEvent
...
This option was used for shadow testing previously, but is no longer
used for anything. It interferes with refactoring our token buckets.
2018-04-10 12:16:21 -04:00
Isis Lovecruft
3ee7a8d3a5
tests: Make tt_finished() macro for tests without tt_*_op() calls.
2018-04-09 19:32:47 +00:00
Isis Lovecruft
c2c5b13e5d
test: Add testing module and some unittests for bridges.c.
...
This roughly doubles our test coverage of the bridges.c module.
* ADD new testing module, .../src/test/test_bridges.c.
* CHANGE a few function declarations from `static` to `STATIC`.
* CHANGE one function in transports.c, transport_get_by_name(), to be
mockable.
* CLOSES #25425 : https://bugs.torproject.org/25425
2018-04-09 19:32:46 +00:00
Nick Mathewson
e0809ec5f5
Prefer 32-bit implementation for timing wheels on 32-bit systems.
...
This might make our timing-wheel code a tiny bit faster there.
Closes ticket 24688.
2018-04-09 15:21:10 -04:00
David Goulet
395fa0258d
compat: Fix unchecked return value from event_del()
...
Explicitly tell the compiler we don't care about it.
Coverity CID 1434156
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-04-09 14:12:45 -04:00
Nick Mathewson
e58555135a
Add a comment explaining why we do a certain redundant check
...
Closes ticket 25291.
2018-04-09 12:58:17 -04:00
Alexander Færøy
1295044dc8
Lift the list of default directory servers into their own file.
...
This patch lifts the list of default directory authorities from config.c
into their own auth_dirs.inc file, which is then included in config.c
using the C preprocessor.
Patch by beastr0.
See: https://bugs.torproject.org/24854
2018-04-09 16:00:26 +02:00
Isis Lovecruft
809f6fae84
refactor: Remove unnecessary #include "crypto.h"
throughout codebase.
...
* FIXES part of #24658 : https://bugs.torproject.org/24658
2018-04-06 22:49:18 +00:00
Isis Lovecruft
e32fc0806d
refactor: Alphabetise some includes in /src/or/*.
2018-04-06 22:49:17 +00:00
Isis Lovecruft
88190026b3
crypto: Alphabetise some #includes in /src/common/crypto*.
...
* FIXES part of #24658 : https://bugs.torproject.org/24658
2018-04-06 22:49:15 +00:00
Isis Lovecruft
64e6551b8b
crypto: Remove unnecessary includes from src/common/crypto.[ch]
...
* FIXES part of #24658 : https://bugs.torproject.org/24658
2018-04-06 22:49:13 +00:00
Isis Lovecruft
fe3aca1491
crypto: Refactor (P)RNG functionality into new crypto_rand module.
...
* ADD new /src/common/crypto_rand.[ch] module.
* ADD new /src/common/crypto_util.[ch] module (contains the memwipe()
function, since all crypto_* modules need this).
* FIXES part of #24658 : https://bugs.torproject.org/24658
2018-04-06 21:45:28 +00:00
Nick Mathewson
2fac948158
Include tor_log rust files in source distribution.
...
Fixes another case of #25732 ; bug not in any released Tor.
2018-04-06 16:19:14 -04:00
Nick Mathewson
fb2fe41f6f
Merge branch 'maint-0.3.3'
2018-04-06 16:18:47 -04:00
Nick Mathewson
306563ac68
Ship all files needed to build Tor with rust
...
Fixes bug 25732; bugfix on 0.3.3.2-alpha when strings.rs was
introduced.
2018-04-06 16:18:11 -04:00
Nick Mathewson
98b694bfd5
Merge branch 'isolate_libevent_2_squashed'
2018-04-06 08:50:35 -04:00
Roger Dingledine
0b0e4886cf
fix confusing comment
...
presumably introduced by copy-and-paste mistake
2018-04-05 15:59:37 -04:00
Nick Mathewson
421c2310a8
changes file for libevent isolation work
2018-04-05 12:36:28 -04:00
Nick Mathewson
245fdf8ca0
Remove needless event2/thread.h include from test_compat_libevent.c
2018-04-05 12:36:28 -04:00
Nick Mathewson
4225300648
Remove redundant event2/event.h usage from test_scheduler.c
...
This module doesn't actually need to mock the libevent mainloop at
all: it can just use the regular mainloop that the test environment
sets up.
Part of ticket 23750.
2018-04-05 12:36:28 -04:00
Nick Mathewson
6a5f62f68f
Move responsibility for threadpool reply-handler events to workqueue
...
This change makes cpuworker and test_workqueue no longer need to
include event2/event.h. Now workqueue.c needs to include it, but
that is at least somewhat logical here.
2018-04-05 12:36:28 -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
f0d2733b46
Revise procmon.c to use periodic_timer_t
...
This removes its need to use event2/event.h, and thereby fixes
another instance of 23750.
2018-04-05 12:35:11 -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
Nick Mathewson
c6d7e0becf
Merge remote-tracking branch 'public/split_relay_crypto'
2018-04-05 12:12:18 -04:00
Nick Mathewson
12fc4206f2
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-04-05 12:09:00 -04:00