Nick Mathewson
207253df8d
Move monotonic time setup into a subsystem
2018-11-05 09:22:02 -05:00
Nick Mathewson
cad61f0f6d
Move prefork, postfork, and thread-exit hooks into subsys
...
So far, crypto is the only module that uses them, but others are
likely to do so in the future.
2018-11-05 09:22:02 -05:00
Nick Mathewson
50436ccea4
Add crypto module as a subsystem.
2018-11-05 09:22:02 -05:00
Nick Mathewson
cfe5b35edb
Move networking startup/cleanup logic into a subsystem.
2018-11-05 09:22:02 -05:00
Nick Mathewson
05b54f6a6a
Use subsystems manager for subsystems used in tests.
2018-11-05 09:22:02 -05:00
Nick Mathewson
a0ee54549f
Turn the wallclock module into a subsystem.
...
(This may be slightly gratuitous.)
2018-11-05 09:22:02 -05:00
Nick Mathewson
d3e4afcc9b
Turn the logging code into a subsystem
2018-11-05 09:22:02 -05:00
Nick Mathewson
b8c50eabfe
Add a subsystem for our threading support
2018-11-05 09:22:02 -05:00
Nick Mathewson
178c1821b2
Make the windows process parameter initialization a subsystem
...
Also, move it from "main" into lib/process
2018-11-05 09:22:02 -05:00
Nick Mathewson
175153a329
Make initialization for the "err" library into a subsystem.
2018-11-05 09:22:02 -05:00
Nick Mathewson
6e7ff8cba0
Move the code that knows our tor version into a lowest-level lib
2018-11-05 09:22:02 -05:00
Nick Mathewson
7bb76b24cf
Code to manage the list of subsystems.
2018-11-05 09:22:02 -05:00
Neel Chauhan
45b28167d7
In count_acceptable_nodes(), count direct and indirect nodes with node_has_preferred_descriptor()
2018-11-05 08:26:02 -05:00
Alex Xu (Hello71)
0d6d3e1f26
Notify systemd of ShutdownWaitLength
2018-11-05 11:46:28 +10:00
Nick Mathewson
674ef53a7e
Add a warning if we can't write networkstatus-bridges
...
Fixes CID 1440818.
2018-11-02 13:32:43 -04:00
Nick Mathewson
18a4eaf5c1
Avoid mmap leak if we get a consensus diff we can't use.
...
Fixes CID 1440819; bug not in any released Tor.
2018-11-02 13:30:55 -04:00
Nick Mathewson
3e2423d19b
Update address tests to avoid offending coverity.
2018-11-02 13:29:24 -04:00
Nick Mathewson
865514e66e
Merge branch 'ticket28100_squashed'
2018-11-02 13:19:24 -04:00
Alex Xu (Hello71)
1b75de85b3
Don't overwrite the Content-Type when compressing
2018-11-02 13:19:14 -04:00
Nick Mathewson
f0bd6c2c9d
Merge branch 'maint-0.3.5'
2018-11-02 13:14:37 -04:00
Nick Mathewson
996f24fcd3
Merge branch 'bug27968_squashed' into maint-0.3.5
2018-11-02 13:14:32 -04:00
teor
e36e4a9671
Sort the imports in test_rebind.py
...
Cleanup after #27968 .
2018-11-02 13:14:23 -04:00
teor
a02d6c560d
Make test_rebind.py timeout when waiting for a log message
...
Closes #27968 .
2018-11-02 13:14:23 -04:00
teor
cd674a10ad
Refactor test_rebind.py to consistently print FAIL on failure
...
Part of #27968 .
2018-11-02 13:14:23 -04:00
teor
8f43b8fb47
Avoid a race condition in test_rebind.py
...
If tor terminates due to SIGNAL HALT before test_rebind.py calls
tor_process.terminate(), an OSError 3 (no such process) is thrown.
Fixes part of bug 27968 on 0.3.5.1-alpha.
2018-11-02 13:14:23 -04:00
Nick Mathewson
5acf6f8717
Bump to 0.3.4.9-dev
2018-11-02 13:01:32 -04:00
Nick Mathewson
a6c7e01584
Merge branch 'bug27963_wallclock' into maint-0.3.5
2018-11-02 09:39:13 -04:00
Nick Mathewson
084a5a13c7
Merge branch 'bug27963_wallclock'
2018-11-02 09:38:26 -04:00
Nick Mathewson
d8d4fe83d0
Bump to 0.3.4.9
2018-11-02 09:08:45 -04:00
Nick Mathewson
bfe8f50cc8
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-02 09:06:37 -04:00
Nick Mathewson
6bd069630a
Merge branch 'bug26470_032' into maint-0.3.3
2018-11-02 09:06:32 -04:00
Nick Mathewson
f288f2478a
Merge branch 'bug26896_034' into maint-0.3.4
2018-11-02 09:05:14 -04:00
Nick Mathewson
8ed4f1ee84
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-02 09:04:25 -04:00
Nick Mathewson
e847909b71
Merge remote-tracking branch 'dgoulet/ticket27410_032_01' into maint-0.3.3
2018-11-02 09:04:20 -04:00
Nick Mathewson
0ce1f2d466
Declare the subsystem structure.
2018-11-01 12:55:52 -04:00
George Kadianakis
da716fdfbb
Add tests for the string_is_utf8_no_bom() function.
2018-11-01 12:55:04 +02:00
Fernando Fernandez Mancera
f60607ee96
Improve log message in hs_service.c
...
Signed-off-by: Fernando Fernandez Mancera <ffmancera@riseup.net>
2018-11-01 12:40:52 +02:00
Nick Mathewson
383b44553c
Merge branch 'ticket24393_036_01_squashed'
2018-10-31 11:07:15 -04:00
Neel Chauhan
e9adc200aa
Add test for nodes_in_same_family()
2018-10-31 11:07:03 -04:00
Nick Mathewson
0d124488f8
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-10-31 11:02:58 -04:00
Nick Mathewson
158db532eb
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-10-31 11:01:41 -04:00
Nick Mathewson
2a4506776e
Merge branch 'maint-0.3.5'
2018-10-31 11:01:41 -04:00
Nick Mathewson
59043665f8
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-10-31 11:01:41 -04:00
Nick Mathewson
bcc1a71808
Merge branch 'maint-0.2.9' into maint-0.3.3
2018-10-31 11:01:40 -04:00
Nick Mathewson
0a824bd889
Merge remote-tracking branch 'tor-github/pr/436' into maint-0.2.9
2018-10-31 11:01:36 -04:00
Nick Mathewson
988d4903a3
Merge branch 'networkstatus_mmap' into networkstatus_mmap_merge
2018-10-31 09:04:12 -04:00
Nick Mathewson
a182301152
Fix memory leak ( #28257 , CID 1440805).
2018-10-31 08:30:48 -04:00
Neel Chauhan
067b16eae2
Check IPv6 subnets as well as IPv4 subnets where possible when choosing client paths
2018-10-30 15:02:43 -04:00
David Goulet
aa1ae1343a
Merge branch 'maint-0.3.5'
2018-10-30 11:44:14 -04:00
David Goulet
488969fe9c
Merge branch 'tor-github/pr/438' into maint-0.3.5
2018-10-30 11:43:54 -04:00
David Goulet
124c43704c
Merge branch 'maint-0.3.5'
2018-10-30 11:37:44 -04:00
David Goulet
95559279e1
Merge branch 'tor-github/pr/415' into maint-0.3.5
2018-10-30 11:36:36 -04:00
David Goulet
cdb065d6b2
Merge branch 'maint-0.3.5'
2018-10-30 10:55:10 -04:00
Neel Chauhan
cd9914d9f9
Add test for HiddenServiceAuthorizeClient and v3 onion services
2018-10-30 10:49:03 -04:00
Neel Chauhan
82b3a02302
Detect the onion service version and then check for invalid options unless we have set HiddenServiceVersion
2018-10-30 10:48:56 -04:00
Nick Mathewson
6ba7f9f0a4
Merge branch 'maint-0.3.5'
2018-10-30 09:35:11 -04:00
Nick Mathewson
97324a731f
Merge remote-tracking branch 'tor-github/pr/431' into maint-0.3.5
2018-10-30 09:35:07 -04:00
Nick Mathewson
cf2cb783b7
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-10-30 09:34:04 -04:00
Nick Mathewson
038bc21f88
Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3
2018-10-30 09:33:36 -04:00
Nick Mathewson
30d853a906
Merge remote-tracking branch 'tor-github/pr/425'
2018-10-30 09:16:55 -04:00
Nick Mathewson
084924360a
Merge branch 'ticket23082_squashed'
2018-10-30 09:05:42 -04:00
rl1987
1425549ca6
Code cleanups for tor_addr_parse()
2018-10-30 09:05:11 -04:00
rl1987
742cd15649
Move a check for trailing colon to tor_inet_pton()
...
That way, string_is_valid_ipv6_address() can benefit from it
2018-10-30 09:05:11 -04:00
Nick Mathewson
c19bb4d62e
Merge branch 'maint-0.3.5'
2018-10-30 08:45:49 -04:00
Nick Mathewson
262b0fe7a0
Merge remote-tracking branch 'tor-github/pr/381' into maint-0.3.5
2018-10-30 08:39:57 -04:00
Nick Mathewson
c4b6b57388
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-10-29 15:57:31 -04:00
Nick Mathewson
fda8b5de78
Merge branch 'maint-0.3.5'
2018-10-29 15:57:31 -04:00
Nick Mathewson
1dcaeab466
Merge remote-tracking branch 'tor-github/pr/446'
2018-10-29 14:49:15 -04:00
Alex Crichton
8285784966
Only pass -C default-linker-libraries
with sanitizers
...
This'll help retain test compatibility until 1.31.0 is released!
2018-10-29 10:00:23 -07:00
George Kadianakis
5c2212c734
HSv3: Correctly memwipe client auth keystream.
...
Wipe the whole thing, not just the size of the pointer.
2018-10-26 14:55:17 +03:00
rl1987
b7edfcbf6b
In configured_nameserver_address, check if tor_addr_from_sockaddr succeeded
2018-10-26 10:26:47 +03:00
Nick Mathewson
52a82bc53c
Add a couple more checks to test_parsecommon.c
...
These checks should make coverity stop giving us a "dereference
before null check" warning here.
2018-10-25 09:24:30 -04:00
Nick Mathewson
e9ff3e7d4a
Merge branch 'bug28202_033' into bug28202_035
2018-10-25 09:16:08 -04:00
Nick Mathewson
8013e3e8b6
Merge branch 'bug28202_029' into bug28202_033
2018-10-25 09:14:06 -04:00
Nick Mathewson
0878bb961f
Fix two other cases of (buf + N > end) pattern
...
Related to fix for 28202.
2018-10-25 09:08:02 -04:00
Nick Mathewson
368413a321
Fix possible UB in an end-of-string check in get_next_token().
...
Remember, you can't check to see if there are N bytes left in a
buffer by doing (buf + N < end), since the buf + N computation might
take you off the end of the buffer and result in undefined behavior.
Fixes 28202; bugfix on 0.2.0.3-alpha.
2018-10-25 09:06:13 -04:00
Nick Mathewson
76da5f8b80
Merge branch 'ticket28177'
2018-10-24 12:59:51 -04:00
Nick Mathewson
594140574e
Fix remaining cases of using consensus without a len parameter.
...
(Thanks to cyberpunks for noting two of them!)
2018-10-24 11:06:34 -04:00
David Goulet
b063ca0604
node: Make node_supports_v3_rendezvous_point() also check for the key
...
It is not enough to look at protover for v3 rendezvous support but also we
need to make sure that the curve25519 onion key is present or in other words
that the descriptor has been fetched and does contain it.
Fixes #27797 .
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-10-24 10:30:26 -04:00
Nick Mathewson
b77889fc5f
Merge branch 'maint-0.3.5'
2018-10-24 10:20:53 -04:00
Nick Mathewson
6851a08090
Merge branch 'ticket28115_035' into maint-0.3.5
2018-10-24 10:20:41 -04:00
Nick Mathewson
c0bd800d26
Re-alphabetize the list of tests in tests.[ch]
2018-10-24 09:09:40 -04:00
Nick Mathewson
c6d3bebb1e
Merge remote-tracking branch 'tor-github/pr/409'
2018-10-24 09:06:29 -04:00
Nick Mathewson
c3e14a3236
Merge branch 'maint-0.3.5'
2018-10-24 09:02:06 -04:00
cypherpunks
bfab7b9d35
rust/tor_log: fix C_RUST_COUPLED documentation
...
This file was moved in 97b15a1d7c
and moved again in e7f5f48d68
.
2018-10-24 09:02:04 -04:00
Nick Mathewson
fd6078b33a
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-10-23 19:50:53 -04:00
Nick Mathewson
b2c52f5d6d
Remove a now-unused rust "use".
2018-10-23 19:50:45 -04:00
Nick Mathewson
05d65cb067
Merge branch 'maint-0.3.5'
2018-10-23 19:22:05 -04:00
Nick Mathewson
289a7dbac3
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-10-23 19:21:44 -04:00
Nick Mathewson
7edc594ee7
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-10-23 19:18:23 -04:00
Nick Mathewson
169bc670dd
Merge remote-tracking branch 'onionk/rust-allsupportednull1' into maint-0.3.3
2018-10-23 19:17:48 -04:00
George Kadianakis
a614731144
Documentation: Move the hs_service_descriptor_t elements around.
...
Move the elements around to concentrate mutable and immutable elements
together. This commit changes no code, check with --color-moved.
2018-10-23 16:43:54 +03:00
George Kadianakis
df78fb2451
Documentation: Document which descriptor elements are (im)mutable.
2018-10-23 16:43:54 +03:00
George Kadianakis
29c194e022
Func rename: Make it clear that update_all_descriptors() does intro points.
...
With the new refresh_service_descriptor() function we had both
refresh_service_descriptor() and update_service_descriptor() which is basically
the same thing.
This commit renames update_service_descriptor() to
update_service_descriptor_intro_points() to make it clear it's not a generic
refresh and it's only about intro points.
Commit changes no code.
2018-10-23 16:43:54 +03:00
teor
939657771c
Treat backtrace test failures as expected on most BSD-derived systems
...
Treat backtrace test failures as expected on NetBSD, OpenBSD, and
macOS/Darwin, until we solve bug 17808.
(FreeBSD failures have been treated as expected since 18204 in 0.2.8.)
Fixes bug 27948; bugfix on 0.2.5.2-alpha.
2018-10-23 11:21:10 +10:00
cypherpunks
f874ab2640
dircache: make dirauths reject non UTF-8 descriptors and extrainfo
...
Ticket #27367 .
2018-10-23 00:33:51 +00:00
cypherpunks
3704c4a012
string: add BOM helper
2018-10-23 00:33:48 +00:00
David Goulet
81c466c34a
hs-v3: Create desc signing key cert before uploading
...
Before this commit, we would create the descriptor signing key certificate
when first building the descriptor.
In some extreme cases, it lead to the expiry of the certificate which triggers
a BUG() when encoding the descriptor before uploading.
Ticket #27838 details a possible scenario in which this can happen. It is an
edge case where tor losts internet connectivity, notices it and closes all
circuits. When it came back up, the HS subsystem noticed that it had no
introduction circuits, created them and tried to upload the descriptor.
However, in the meantime, if tor did lack a live consensus because it is
currently seeking to download one, we would consider that we don't need to
rotate the descriptors leading to using the expired signing key certificate.
That being said, this commit does a bit more to make this process cleaner.
There are a series of things that we need to "refresh" before uploading a
descriptor: signing key cert, intro points and revision counter.
A refresh function is added to deal with all mutable descriptor fields. It in
turn simplified a bit the code surrounding the creation of the plaintext data.
We keep creating the cert when building the descriptor in order to accomodate
the unit tests. However, it is replaced every single time the descriptor is
uploaded.
Fixes #27838
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-10-22 16:34:41 -04:00
Nick Mathewson
afc22ec539
Merge remote-tracking branch 'tor-github/pr/421'
2018-10-22 08:49:55 -04:00
Roger Dingledine
7aa9fc1637
clean up a tor2web comment
2018-10-21 23:46:09 -04:00