Nick Mathewson
ed0731c7de
Extract routerinfo_t into its own header.
...
I was expecting this to be much worse.
2018-06-15 14:49:46 -04:00
Nick Mathewson
9d6276bca8
Extract microdesc_t into its own header.
2018-06-15 14:38:30 -04:00
Nick Mathewson
def1f20e1f
Extract routerstatus_t into its own header.
2018-06-15 14:33:03 -04:00
Nick Mathewson
50369f8981
Extract networkstatus_t and ..sr_info_t into their own headers
2018-06-15 13:45:15 -04:00
Nick Mathewson
d2942d127d
Extract node_t into its own header.
2018-06-15 13:13:33 -04:00
Nick Mathewson
d51de77311
Extract cpath_build_state into its own header.
...
More modules use this than I had expected!
2018-06-15 12:07:20 -04:00
Nick Mathewson
b3f2c682b7
Extract crypt_path_t and relay_crypto_t into their own headers
2018-06-15 11:52:32 -04:00
Nick Mathewson
a0bc164af5
Extract {or,origin}_circuit_t into their own headers
2018-06-15 11:34:33 -04:00
Nick Mathewson
1416f54d1e
Split dir_connection_t into its own header
2018-06-15 10:31:21 -04:00
Nick Mathewson
5edc72a45b
Merge remote-tracking branch 'mikeperry/bug25870_rebase'
2018-05-08 14:12:29 -04:00
Nick Mathewson
c3b7258370
Merge remote-tracking branch 'isis/bug24660_r1'
2018-05-03 13:50:18 -04:00
George Kadianakis
627d2fdbf0
Write unittests to check basic vanguard path selection.
...
Adds two unittests:
- First checks the path selection of basic Tor circs.
- Second checks the path selection of vanguard circs.
There is a TODO on the second unittest that we might want to test sooner than
later, but it's not trivial to do it right now.
To do these unittests we needed the following mods:
- Make some functions STATIC.
- Add some more fields to the big fake network nodes of test_entrynodes.c
- Switch fake node nicknames to base32 (because base64 does not produce valid nicknames).
2018-05-01 00:59:27 +00:00
George Kadianakis
d00ed406e0
Introduce torrc option NumPrimaryGuards
2018-04-27 12:44:54 -04: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
Deepesh Pathak
ca6682f3f8
Fix spelling mistakes corresponding to ticket #23650
2018-02-07 10:41:57 -05:00
Nick Mathewson
5ee0cccd49
Merge branch 'macro_free_v2_squashed'
2017-12-08 14:58:43 -05:00
Nick Mathewson
b0cc9856ee
Update free functions into macros: src/or/ part 1
...
This covers addressmap.h (no change needed) through confparse.h
2017-12-08 14:47:19 -05:00
Nick Mathewson
d45bf0c65c
Add an extra check in test_entrynodes
...
This check makes it so we can reach "done" without setting "conn",
and so the "if (conn)" check will not be redundant, and so coverity
won't complain. Fixes CID 1422205. Not actually a bug.
2017-11-18 10:26:45 -05:00
Nick Mathewson
3a5ca47d8f
Fix a clang unitialized-var warning
2017-11-17 09:57:52 -05:00
George Kadianakis
7e52947d57
Intoduce unittest for skipping outdated dirservers.
2017-11-17 09:57:46 -05:00
George Kadianakis
f7306b16ec
entrynodes: Better naming for dir info check functions.
2017-10-03 15:55:19 +03:00
George Kadianakis
5352785d0c
entrynodes: Error msg for missing guard descs is now more informative.
2017-10-03 14:41:20 +03:00
George Kadianakis
c9729853a5
entrynodes: Be specific about how many primary descriptors we miss.
2017-10-03 14:39:34 +03:00
Nick Mathewson
f4af1919ab
Replace accumulated C ;;s with ;s
...
I don't know where these came from.
2017-09-15 16:43:17 -04:00
teor
1b5e34badb
Add a missing bridge download status reset
...
17750 made unused download schedules automatically reset.
But we should make that explicit.
2017-09-12 10:38:25 -04:00
Nick Mathewson
011d94fb11
apply ahf's test_assert_null.cocci
2017-08-24 15:55:27 -04:00
Nick Mathewson
047790a253
apply ahf's test_assert_int.cocci
2017-08-24 15:49:59 -04:00
Nick Mathewson
1712dc98b0
Merge branch 'maint-0.3.0' into maint-0.3.1
2017-06-29 15:57:48 -04:00
Nick Mathewson
88666d0482
Adjust unit tests to account for fix to bug 22753.
...
Our mock network put all the guards on the same IPv4 address, which
doesn't fly when we start applying EnforceDistinctSubnets. So in
this commit, I disable EnforceDistinctSubnets when running the old
guard_restriction_t test.
This commit also adds a regression test for #22753 .
2017-06-29 10:11:21 -04:00
Nick Mathewson
0895808023
Merge remote-tracking branch 'origin/maint-0.3.0'
2017-03-26 12:30:45 +02:00
Nick Mathewson
a5130de432
Tweak test_entrynodes comment
2017-03-26 12:30:00 +02:00
Nick Mathewson
4f6025498d
Use update_approx_time() to run a test 100 days in the past.
...
Fixes bug21799.
2017-03-23 10:44:43 +01:00
Nick Mathewson
7505f452c8
Run the copyright update script.
2017-03-15 16:13:17 -04:00
Nick Mathewson
ed4a3dfef2
Remove XXXXprop271 comments from test_entrynodes.c
...
These commments were complaints about how I didn't like some aspects
of prop271. They have been superseded by ticket 20832.
2017-01-30 10:43:53 -05:00
Nick Mathewson
12efa1f1cc
Add a unit test for dropguards
2017-01-24 09:18:56 -05:00
Nick Mathewson
6d03e36fd0
Remove GS_TYPE_LEGACY
2017-01-18 15:37:01 -05:00
Nick Mathewson
a31a5581ee
Remove UseDeprecatedGuardAlgorithm.
2017-01-18 15:33:26 -05:00
Nick Mathewson
472b277207
Remove the (no longer compiled) code for legacy guard selection.
...
Part of 20830.
2017-01-18 15:27:10 -05:00
Nick Mathewson
ff08be56ac
Fix another pointless stack-protector warning.
...
This is the same as we fixed in 39f4554687
.
2016-12-16 14:06:25 -05:00
Nick Mathewson
698ed75e1a
Resolve some coverity complaints in test_entrynodes.c
2016-12-16 12:23:46 -05:00
Nick Mathewson
79a24750ba
Fix broken entrynodes/retry_unreachable test
...
I broke this with 20292ec497
when I
changed the primary guard retry schedule.
2016-12-16 11:49:07 -05:00
Nick Mathewson
506bd6d47c
Make NumDirectoryGuards work with the new guard algorithm.
...
Now that we support NumEntryGuards, NumDirectoryGuards is pretty
easy to put back in.
2016-12-16 11:34:31 -05:00
Nick Mathewson
6867950432
Wrap all of the legacy guard code, and its users, in #ifdefs
...
This will make it easier to see what we remove down the line.
2016-12-16 11:06:22 -05:00
Nick Mathewson
72dc2ae319
Tests for choosing which guard_selection to use
2016-12-16 11:06:21 -05:00
Nick Mathewson
d9f010db84
Update node-selection tests to consider restrictions
2016-12-16 11:06:21 -05:00
Nick Mathewson
7361e1b499
Tests for restricted-circuit cases of upgrade_waiting_circuits()
2016-12-16 11:06:21 -05:00
Nick Mathewson
79d3e94f8b
prop271: Tests for the highlevel or_state_t encode/decode functions
2016-12-16 11:06:20 -05:00
Nick Mathewson
171981f8a0
Add a test for entry_guard_state_should_expire()
2016-12-16 11:06:20 -05:00
Nick Mathewson
13315812e8
Repair unit test for tiny-network case.
...
The test assumed that the old rules about handling small max_sample
were in effect, and didn't actually handle that case very well
anyway.
2016-12-16 11:06:20 -05:00
Nick Mathewson
87f9b42179
Implement support for per-circuit guard restrictions.
...
This is an important thing I hadn't considered when writing prop271:
sometimes you have to restrict what guard you use for a particular
circuit. Most frequently, that would be because you plan to use a
certain node as your exit, and so you can't choose that for your
guard.
This change means that the upgrade-waiting-circuits algorithm needs
a slight tweak too: circuit A cannot block circuit B from upgrading
if circuit B needs to follow a restriction that circuit A does not
follow.
2016-12-16 11:06:20 -05:00