Nick Mathewson
dddecee291
Initialize some locals in socks5 parsing code.
...
These confused GCC LTO, which thought they might be used
uninitialized. I'm pretty sure that as long as 'res' indicates
success, they will always be set to something, but let's unconfuse
the compiler in any case.
2018-10-14 15:25:16 -04:00
Nick Mathewson
370d9922a4
Use the correct function signatures in test_relaycell.c
...
This is now officially an antipattern: please let's never copy a
function declaration in two places again. That's what headers are
for.
2018-10-14 15:25:16 -04:00
Nick Mathewson
965549aa07
Use assertions so GCC LTO doesn't worry about TLS channel conversion
...
Part of #27772
2018-10-14 15:25:16 -04:00
Nick Mathewson
67351f6724
Merge remote-tracking branch 'tor-github/pr/380'
2018-10-12 11:39:37 -04:00
Jay Bitron
b0c41e3ec2
Fix the missing unpack function in mmdb-convert.py
2018-10-10 14:12:53 -07:00
Nick Mathewson
a23c36ebcd
Merge branch 'maint-0.3.4'
2018-10-10 11:34:49 -04:00
Nick Mathewson
e5fe8b0e3a
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-10-10 11:34:49 -04:00
Nick Mathewson
b057623bed
Merge branch 'maint-0.2.9' into maint-0.3.3
2018-10-10 11:34:48 -04:00
Karsten Loesing
119df9c1c0
Update geoip and geoip6 to the October 9 2018 database.
2018-10-10 17:26:41 +02:00
Nick Mathewson
d3d6c59557
Add sys/time.h include back to procmon.c
2018-10-10 11:26:38 -04:00
Nick Mathewson
da86a70bd8
Merge remote-tracking branch 'tor-github/pr/384'
2018-10-10 09:24:48 -04:00
Nick Mathewson
7409aa58d1
Merge remote-tracking branch 'tor-github/pr/385'
2018-10-09 12:46:46 -04:00
Nick Mathewson
361eaa9931
Merge remote-tracking branch 'public/ticket27856'
2018-10-09 09:04:53 -04:00
Neel Chauhan
3cc089ce59
Add newline between hs_client_get_random_intro_from_edge() and hs_client_receive_introduce_ack()
2018-10-05 19:54:26 -04:00
rl1987
9d886185c1
Make sure we're removing conn from old_conns *once*
2018-10-03 15:51:59 +03:00
rl1987
2b146bdb9a
Refrain from using SMARTLIST_DEL_CURRENT in retry_all_listeners
2018-10-03 15:31:49 +03:00
Nick Mathewson
43211c3a0c
Merge remote-tracking branch 'public/bug27893'
2018-10-01 12:12:33 -05:00
Nick Mathewson
58299b2927
Merge remote-tracking branch 'public/bug27728'
2018-10-01 12:06:39 -05:00
Nick Mathewson
c4e29001c4
Fix a bug where we would crash on --version.
...
Bug not in any released Tor.
test-stem would have caught this.
2018-10-01 12:01:51 -05:00
Nick Mathewson
886dc8b0a5
Remove routerparse include from files that dont use it
2018-10-01 11:35:11 -05:00
Nick Mathewson
d199348664
Remove versions.h include from routerparse.h
2018-10-01 11:22:47 -05:00
Nick Mathewson
5f9839ee42
Remove unused headers from routerparse.c
2018-10-01 11:17:33 -05:00
Nick Mathewson
35db3f8162
Extract addr-policy parsing code.
2018-10-01 11:17:19 -05:00
Nick Mathewson
95e2eb9083
Move summarize_protover_flags to versions.c
2018-10-01 10:48:55 -05:00
Nick Mathewson
4201203845
extract networkstatus parsing to its own file.
2018-10-01 10:46:00 -05:00
Nick Mathewson
cd23903427
Pull detached-signatures code into dirauth.
2018-10-01 10:46:00 -05:00
Nick Mathewson
2be35f4d61
Split microdescriptor parser into its own file.
2018-10-01 10:46:00 -05:00
Nick Mathewson
aff5bf5464
Remove addr_policy_assert_ok() as unused
2018-10-01 00:09:00 -05:00
Nick Mathewson
3100831762
Remove dump_distinct_digest_count()
...
It was disabled-by-default for ages, and it no longer compiles. I
think it's safe to call it obsolete.
2018-10-01 00:09:00 -05:00
Nick Mathewson
a77b2e984e
Remove router_get_dir_hash as unused.
2018-10-01 00:09:00 -05:00
Nick Mathewson
82f4d3ca75
Move v2 hs parsing into feature/rend
2018-10-01 00:09:00 -05:00
Nick Mathewson
430ca38f70
Split the authority-cert and signature/hash code from routerparse
2018-10-01 00:09:00 -05:00
Nick Mathewson
2f5dc48699
Extract the version-managing code from routerparse.c
...
Leave the versions.h include in routerparse.h for now; I'll remove
it later.
2018-10-01 00:04:58 -05:00
Nick Mathewson
fec3b3bb93
Extract logic for dumping unparseable junk from routerparse.c
2018-10-01 00:04:58 -05:00
Nick Mathewson
6785aa4010
Move routerparse and parsecommon to their own module.
2018-10-01 00:04:06 -05:00
Nick Mathewson
b058f64cc0
Detect an unlikely integer overflow.
2018-09-27 16:30:02 -04:00
Nick Mathewson
9e65e7a36f
Merge branch 'split_stats'
2018-09-27 16:26:06 -04:00
Nick Mathewson
9e1a3be064
Prevent duplicate initialization of NSS DH module
...
Allowing this didn't do any actual harm, since there aren't any
shared structures or leakable objects here. Still, it's bad style
and might cause trouble in the future.
Closes ticket 27856.
2018-09-27 13:26:47 -04:00
Nick Mathewson
d0b2b5a202
Always initialize the periodic events list.
...
Various places in our code try to activate these events or check
their status, so we should make sure they're initialized as early as
possible. Fixes bug 27861; bugfix on 0.3.5.1-alpha.
2018-09-27 13:24:36 -04:00
Nick Mathewson
8812f562a0
Fix a memory leak in --dump-config
...
When freeing a configuration object from confparse.c in
dump_config(), we need to call the appropriate higher-level free
function (like or_options_free()) and not just config_free().
This only happens with options (since they're the one where
options_validate allocates extra stuff) and only when running
--dump-config with something other than minimal (since
OPTIONS_DUMP_MINIMAL doesn't hit this code).
Fixes bug 27893; bugfix on 0.3.2.1-alpha.
2018-09-27 13:05:19 -04:00
Nick Mathewson
316453065d
Mark a variable static.
2018-09-27 11:59:39 -04:00
Nick Mathewson
34402ece8c
geoip: fix windows compilation
2018-09-27 11:02:58 -04:00
Nick Mathewson
c8f2a6d2fe
Extract the non-stats part of geoip into a new src/lib/geoip.
2018-09-27 10:26:01 -04:00
Nick Mathewson
fa32574bdb
Remove excess dependencies from geoip.c
2018-09-27 10:15:39 -04:00
Nick Mathewson
f403af2207
Split geoip from geoip-related stats.
...
This commit just moves the code to two separate files. The geoip
code still has a few needless dependencies on core/* and features/*.
2018-09-27 09:36:52 -04:00
Nick Mathewson
79208ee852
Move the n_v3_ns_requests field out of geoip_country_t
...
This is preparation for splitting geoip.c into stats and non-stats
portions.
2018-09-27 09:04:08 -04:00
Nick Mathewson
241c1505cc
Move the predicted ports code out of rephist.c
...
It differs from the rest of the rephist code in that it's actually
necessary for Tor to operate, so it should probably go somewhere
else. I'm not sure where yet, so I'll leave it in the same
directory, but give it its own file.
2018-09-27 08:21:17 -04:00
Nick Mathewson
de0b07c634
Merge branch 'router_split'
2018-09-26 09:47:59 -04:00
Nick Mathewson
5e5e019b31
Merge remote-tracking branch 'dgoulet/bug27550_035_01'
2018-09-26 08:36:09 -04:00
Nick Mathewson
5fe05de4fe
Remove extra includes from router.c
2018-09-25 18:33:13 -04:00
Nick Mathewson
4f0bc0c8f5
Revise things that had included router.h before
...
Make them only include the headers that they needed, and sort their
headers while we're at it.
2018-09-25 17:57:58 -04:00
Nick Mathewson
3ff58e47d2
Move the "is the network disabled?" functions out of router.c
...
Since this is completely core functionality, I'm putting it in
core/mainloop, even though it depends on feature/hibernate. We'll
have to sort that out in the future.
2018-09-25 17:22:14 -04:00
Nick Mathewson
b8df2318e9
Move routerinfo_t functions out of router.c
...
(It turns out that some of the functions in router.h didn't even
exist any more, so I just got to delete their declarations completely.)
2018-09-25 16:48:00 -04:00
Nick Mathewson
efa978124f
Extract nickname-checking functions from router.c
2018-09-25 16:22:11 -04:00
Nick Mathewson
5c86f3c297
Move the various _describe() functions out of router.c
...
Note that I haven't separated the headers yet (there's still an
2018-09-25 16:13:47 -04:00
Nick Mathewson
fcd0f76134
Extract all the "am I a server" functions from router.c
2018-09-25 16:00:50 -04:00
Nick Mathewson
70539e3d5e
Move all authdir_mode_*() functions into authmode.h
2018-09-25 15:39:24 -04:00
Nick Mathewson
9385b7ec5f
Rename dirauth/mode.h to dirauth/authmode.h
...
This is preparation for having a routermode.h as well
2018-09-25 15:18:21 -04:00
Nick Mathewson
8a350e088b
Move self-test functionality into its own file.
2018-09-25 15:14:57 -04:00
Nick Mathewson
934859cf80
Move key-loading and crosscert-checking out of feature/relay
...
This is also used by onion services, so it needs to go in another
module.
2018-09-25 15:14:57 -04:00
cypherpunks
5e74db95c2
rust: run rustfmt
2018-09-24 18:00:56 +00:00
Nick Mathewson
9767cf8cc0
Merge branch 'bug26913_033'
2018-09-24 11:17:09 -04:00
Nick Mathewson
6c739c3fb2
Fix arm compilation with openssl <1.1
...
Bug 27781; bugfix on 0.3.5.1-alpha.
2018-09-24 11:11:29 -04:00
Nick Mathewson
f57d8722e0
Fix the 0.3.4 part of bug 27781 (arm compilation)
...
Because with arm on OpenSSL <1.1 we don't define USE_EVP_AES_CTR, we
need to include crypto_util.h here.
2018-09-24 11:08:27 -04:00
Nick Mathewson
78295904f7
Merge branch 'ticket26744'
2018-09-24 10:56:50 -04:00
cypherpunks
b91bc1babc
rust/protover: remove redundant ExceedsMax checks
...
This is already checked elsewhere.
2018-09-24 14:30:43 +00:00
Nick Mathewson
ae0cb94b69
Initialize mainloop events earlier, since other stuff may run them.
...
Fixes a stem test failure; bugfix on c7ce6b9821
. Bug
not in any released Tor.
2018-09-22 17:40:04 -04:00
Nick Mathewson
7d9bea6a77
But, actually move systemd_watchdog_timer free into mainloop.c
2018-09-21 16:49:20 -04:00
Nick Mathewson
7eea45c5c4
Move systemd_watchdog_timer free into mainloop.c
2018-09-21 16:46:17 -04:00
Nick Mathewson
08d934b3fe
Missing include in ntmain.c
2018-09-21 16:32:14 -04:00
Nick Mathewson
169f238c23
Merge remote-tracking branch 'onionk/protover-rust1'
2018-09-21 16:28:32 -04:00
cypherpunks
5c0dd1aa90
move protover_rust.c to core/or/
...
Missed in 667a6e8fe9
.
2018-09-21 20:14:53 +00:00
Nick Mathewson
63e08f56b8
Merge remote-tracking branch 'tor-github/pr/365'
2018-09-21 16:13:59 -04:00
Nick Mathewson
7ed7fe230b
Add an include to get --disable-module-dirauth happy again
2018-09-21 15:03:42 -04:00
Nick Mathewson
b7bd162af7
Merge remote-tracking branch 'dgoulet/ticket27774_035_03'
2018-09-21 13:02:12 -04:00
Nick Mathewson
194acfb51d
Split directory.c code into several modules
...
Parts of this C file naturally belong in dircache, dirclient, and
dircommon: so, move them there.
2018-09-21 12:57:22 -04:00
Nick Mathewson
0e4c42a912
Merge remote-tracking branch 'ahf-github/asn/bugs4700_2'
2018-09-21 09:40:16 -04:00
Nick Mathewson
9399c579e5
Merge branch 'split_mainloop_onion'
2018-09-21 09:37:23 -04:00
Nick Mathewson
9b0a17a74f
Merge branch 'maint-0.3.4'
2018-09-21 09:36:31 -04:00
Nick Mathewson
e818a71905
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-09-21 09:35:54 -04:00
Nick Mathewson
2cadd93cea
Merge branch 'maint-0.3.2' into maint-0.3.3
2018-09-21 09:35:51 -04:00
Nick Mathewson
5b04392c15
Merge branch 'maint-0.2.9' into maint-0.3.2
2018-09-21 09:35:23 -04:00
Nick Mathewson
96d1f2e6d0
Merge remote-tracking branch 'dgoulet/ticket27797_035_01'
2018-09-21 09:33:03 -04:00
Nick Mathewson
c7ce6b9821
Split main.c into main.c and mainloop.c
...
The main.c code is responsible for initialization and shutdown;
the mainloop.c code is responsible for running the main loop of Tor.
Splitting the "generic event loop" part of mainloop.c from the
event-loop-specific part is not done as part of this patch.
2018-09-21 09:14:06 -04:00
Nick Mathewson
98ef3e82e4
Move the non-crypto parts of onion.c out of src/core/crypto
...
The parts for handling cell formats should be in src/core/or.
The parts for handling onionskin queues should be in src/core/or.
Only the crypto wrapper belongs in src/core/crypto.
2018-09-21 09:14:05 -04:00
Nick Mathewson
55122bfe04
Bump to 0.3.5.2-alpha-dev
2018-09-21 09:11:33 -04:00
David Goulet
49e4bda50b
fixup! hs-v3: Silence some logging for client authorization
2018-09-21 08:52:47 -04:00
David Goulet
79265a6fb6
hs-v3: Don't BUG() if the RP node_t is invalid client side
...
When sending the INTRODUCE1 cell, we acquire the needed data for the cell but
if the RP node_t has invalid data, we'll fail the send and completely kill the
SOCKS connection.
Instead, close the rendezvous circuit and return a transient error meaning
that Tor can recover by selecting a new rendezvous point. We'll also do the
same when we are unable to encode the INTRODUCE1 cell for which at that point,
we'll simply take another shot at a new rendezvous point.
Fixes #27774
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-21 08:44:12 -04:00
Nick Mathewson
63219eda8a
Put dirlist_free_all back in routerlist_free_all for unit tests
2018-09-21 08:10:39 -04:00
rl1987
d40b0e73c2
Check Python version in test_rebind.py
2018-09-21 10:57:41 +03:00
rl1987
81199eaf0e
Remove misleading first line in test_rebind.py
...
test_rebind.py actually does not require Python 3.
Bugfix on 5a11670fcaad0a58de48425ba80510effbe35628; bug not in any
Tor release.
2018-09-21 10:57:41 +03:00
Nick Mathewson
1a85ac8c2d
Bump to 0.3.5.2-alpha
2018-09-20 16:36:07 -04:00
Nick Mathewson
e7ac8fabcc
Merge remote-tracking branch 'dgoulet/ticket27410_035_01'
2018-09-20 16:22:16 -04:00
Nick Mathewson
2ed0d240e8
Merge remote-tracking branch 'dgoulet/ticket27410_032_01'
2018-09-20 16:22:02 -04:00
Alexander Færøy
8ecaf41003
Support 'none' in torrc for HiddenServiceExportCircuitID.
...
See: https://bugs.torproject.org/4700
2018-09-20 20:59:42 +02:00
Nick Mathewson
813019cc57
Merge branch 'bug23512-v4-029-fixes'
2018-09-20 14:41:44 -04:00
Nick Mathewson
1da9741bca
Remove another needless typedef
2018-09-20 14:34:44 -04:00
Nick Mathewson
a406255cf3
Merge branch 'bug23512-v4-029-fixes'
2018-09-20 14:19:47 -04:00
Nick Mathewson
72e30f26ec
Fix a pair of errors in bug23512
2018-09-20 14:18:09 -04:00
Nick Mathewson
4e2028152d
Fix an NSS socket leak-on-error found by dgoulet
2018-09-20 13:53:04 -04:00