David Goulet
00b59d9281
conn: Use connection_ap_mark_as_waiting_for_renddesc()
...
Use the helper function connection_ap_mark_as_waiting_for_renddesc()
introduced in previous commit everywhere in the code where an AP connection
state is transitionned to AP_CONN_STATE_RENDDESC_WAIT.
Part of #28669
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-12-04 14:10:00 -05:00
David Goulet
d0682fe0f1
conn: Add an helper to mark a connection as waiting for an HS descriptor
...
The transition for a connection to either become or go back in
AP_CONN_STATE_RENDDESC_WAIT state must make sure that the entry connection is
_not_ in the waiting for circuit list.
This commit implements the helper function
connection_ap_mark_as_waiting_for_renddesc() that removes the entry connection
from the pending list and then change its state. This code pattern is used in
many places in the code where next commit will remove this code duplication to
use this new helper function.
Part of #28669
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-12-04 14:00:08 -05:00
Nick Mathewson
4f55884315
Add an option to start tor in dormant mode for the first time.
2018-12-04 12:08:24 -05:00
Nick Mathewson
b25b8150c2
Remember in our state file how long we've spent since user activity
...
Rather than initializing the "Dormant" status to "off" and the "last
activity" count to "now", initialize them based on our state file:
stay dormant if we were dormant, or remember the amount of time
we've spent inactive.
2018-12-04 11:59:11 -05:00
Nick Mathewson
31a6d9f499
Add tests for parsing each routerstatus flag.
2018-12-03 13:40:08 -05:00
Nick Mathewson
92af8e5113
Add a framework for testing set_routerstatus_from_routerinfo().
...
Additionally, use it to test that is_staledesc is set correctly.
Eventually we'll want to test all the other flags, but I'm aiming
for only adding coverage on the changed code here.
2018-12-03 13:22:23 -05:00
Nick Mathewson
417a324a85
Make input argument const in set_routerstatus_from_routerinfo.
2018-12-03 12:34:29 -05:00
Nick Mathewson
32213fa9ad
Keep list of dirauth flags in sync between dirvote.c and fuzz_vrs.c
...
Suggested by Teor on PR
2018-12-03 12:18:45 -05:00
rl1987
db9ab3754a
Print error message we get from socket.connect_ex when it fails
2018-12-03 14:49:33 +02:00
rl1987
25f3b82445
More logging for #28229
2018-12-03 14:40:37 +02:00
rl1987
9369152aae
Check that new listener connection is actually listening
2018-12-03 14:28:32 +02:00
Nick Mathewson
0d9dc13e08
Merge remote-tracking branch 'tor-github/pr/544'
2018-12-02 19:50:04 -05:00
Nick Mathewson
8221b5d587
Merge remote-tracking branch 'tor-github/pr/559'
2018-12-02 19:38:40 -05:00
teor
612b21b8ea
comment: replace cached-routers with cached-descriptors
...
cached-routers has been gone for a long time
2018-12-03 10:19:34 +10:00
Nick Mathewson
0015d00842
Use tor_strdup() in place of malloc+strncpy+terminate.
2018-12-01 20:46:06 -05:00
Nick Mathewson
8accf71c44
Merge remote-tracking branch 'tor-github/pr/556'
2018-12-01 20:35:38 -05:00
Nick Mathewson
2b2b97484a
Merge branch 'ticket27490a_squashed'
2018-12-01 20:32:18 -05:00
Neel Chauhan
ad031b64ce
Add regression test for ClientAutoIPv6ORPort
2018-12-01 14:55:57 -05:00
Neel Chauhan
81f2828d67
In fascist_firewall_use_ipv6(), say we can use IPv6 if ClientAutoIPv6ORPort is 1
2018-12-01 14:55:57 -05:00
Neel Chauhan
822cb93cab
Add new option ClientAutoIPv6ORPort to switch between IPv4 and IPv6 OR ports
2018-12-01 14:55:57 -05:00
rl1987
353d2a091d
Fix coverage build
2018-12-01 14:31:17 -05:00
rl1987
39e158db36
tor-resolve: Rework SOCKS5 response parsing with trunnel
2018-12-01 14:31:17 -05:00
rl1987
8b9d6581f6
tor-resolve: Rework SOCKS5 method negotiation client part with trunnel
2018-12-01 14:31:17 -05:00
rl1987
1051969a1d
tor-resolve: parse SOCKS4a reply
2018-12-01 14:31:17 -05:00
rl1987
d49baa77b5
Allow socks4_server_reply version to be 0 (for tor-resolve)
2018-12-01 14:31:17 -05:00
rl1987
83af6d6149
tor-resolve: Use trunnel code for SOCKS5 request generation
2018-12-01 14:31:17 -05:00
rl1987
30582b940e
tor-resolve: link tor-resolve binary with trunnel lib
2018-12-01 14:31:17 -05:00
rl1987
a2bb172225
tor-resolve: generate SOCKS4a request with trunnel
2018-12-01 14:31:17 -05:00
Nick Mathewson
701eaef980
Move net.inet.ip.random_id code to lib/net/
2018-12-01 11:36:03 -05:00
Nick Mathewson
d4d4a4b2dd
Merge remote-tracking branch 'tor-github/pr/527'
2018-12-01 11:30:53 -05:00
Nick Mathewson
51d94cea33
Merge branch 'maint-0.3.5'
2018-12-01 11:26:55 -05:00
Nick Mathewson
1a97379e5e
Merge remote-tracking branch 'tor-github/pr/554' into maint-0.3.5
2018-12-01 11:26:52 -05:00
Nick Mathewson
7e9985b75a
Merge remote-tracking branch 'tor-github/pr/536'
2018-12-01 11:24:02 -05:00
Nick Mathewson
af9dc12fab
Merge branch 'maint-0.3.5'
2018-12-01 11:20:10 -05:00
rl1987
945c4dfda0
Also log a Tor log entry when it has a substring we are waiting for
2018-12-01 11:18:03 -05:00
rl1987
4c4ed413ee
1 ms. resolution for Tor logs
2018-12-01 11:18:03 -05:00
rl1987
0bb25931dc
Log everything from tor down to debug loglevel
2018-12-01 11:18:03 -05:00
rl1987
320f5f30b3
In test_rebind.py, log stuff with timestamps
2018-12-01 11:18:03 -05:00
Nick Mathewson
e3a19b1c78
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-12-01 11:15:09 -05:00
Nick Mathewson
cf3f7753c3
Merge branch 'maint-0.3.5'
2018-12-01 11:15:09 -05:00
Nick Mathewson
e82023d2f7
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-12-01 11:15:09 -05:00
Taylor Yu
7685f8ad35
Use table lookup for bootstrap_status_to_string
...
It also no longer distinguishes the case of internal-only paths, which
was often wrong anyway. Closes ticket 27402.
2018-11-30 16:54:01 -06:00
Taylor Yu
1fe6507d29
Split bootstrap event reporting out of control.c
...
Part of ticket 27402.
2018-11-30 16:49:44 -06:00
Neel Chauhan
d18a167ff3
sr: Switch from tor_assert() to BUG()
...
Closes #19566
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-11-30 12:16:18 -05:00
David Goulet
a51dad4272
test: Fix a warning underflow in rend_cache/clean
...
Because the test is adding entries to the "rend_cache" directly, the
rend_cache_increment_allocation() was never called which made the
rend_cache_clean() call trigger that underflow warning:
rend_cache/clean: [forking] Nov 29 09:55:04.024 [warn] rend_cache_decrement_allocation(): Bug: Underflow in rend_cache_decrement_allocation (on Tor 0.4.0.0-alpha-dev 2240fe63feb9a8cf)
The test is still good and valid.
Fixes #28660
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-11-29 10:02:50 -05:00
teor
7a45bc74a4
Dir: when Tor's clock is behind, use a future consensus to bootstrap
...
When Tor's clock is behind the clocks on the authorities, allow Tor to
bootstrap successfully.
Fixes bug 28591; bugfix on 0.2.0.9-alpha.
2018-11-29 00:50:24 +10:00
teor
bd29b3531a
Dir: Refactor ns expiry check to remove duplicate code
...
Instead of checking NS_EXPIRY_SLOP, use
networkstatus_consensus_reasonably_live().
Preparation for 28591.
2018-11-29 00:50:16 +10:00
Alexander Færøy
2b41b857bd
Add LD_PROCESS as log domain.
...
See: https://bugs.torproject.org/28179
2018-11-27 19:31:08 +01:00
Alexander Færøy
31b3a6577c
Add buf_flush_to_pipe() and buf_read_from_pipe().
...
This patch adds two new functions: buf_flush_to_pipe() and
buf_read_from_pipe(), which makes use of our new buf_flush_to_fd() and
buf_read_from_fd() functions.
See: https://bugs.torproject.org/28179
2018-11-27 19:31:08 +01:00
Alexander Færøy
771930b84c
Refactor buf_read_from_socket() into buf_read_from_fd().
...
This patch refactors buf_read_from_socket() into buf_read_from_fd(), and
creates a specialized function for buf_read_from_socket(), which uses
buf_read_from_fd().
See: https://bugs.torproject.org/28179
2018-11-27 19:31:08 +01:00
Alexander Færøy
c71f9df07b
Refactor buf_flush_to_socket() into buf_flush_to_fd().
...
This patch refactors buf_flush_to_socket() into buf_flush_to_fd() and
creates a specialization function for buf_flush_to_socket() that makes
use of buf_flush_to_fd().
See: https://bugs.torproject.org/28179
2018-11-27 19:31:08 +01:00
Alexander Færøy
340260281a
Refactor flush_chunk() to work on pipes as well as sockets.
...
See: https://bugs.torproject.org/28179
2018-11-27 19:31:08 +01:00
Alexander Færøy
5f26ae833e
Refactor read_to_chunk() such that it supports both pipes and sockets.
...
See: https://bugs.torproject.org/28179
2018-11-27 19:31:08 +01:00
Alexander Færøy
2a3eef4404
Remove unused int pid
member of managed_proxy_t
.
...
See: https://bugs.torproject.org/28179
2018-11-27 19:31:08 +01:00
Nick Mathewson
8a15d0f69b
Merge branch 'maint-0.3.5'
2018-11-26 17:25:28 -05:00
Nick Mathewson
feb41b7c30
Merge remote-tracking branch 'teor/bug28096-035-squashed' into maint-0.3.5
2018-11-26 17:24:41 -05:00
Nick Mathewson
c292e505ff
Merge remote-tracking branch 'tor-github/pr/539'
2018-11-26 17:22:37 -05:00
Nick Mathewson
fc1ad9ab65
Merge remote-tracking branch 'tor-github/pr/495'
2018-11-26 17:17:40 -05:00
Nick Mathewson
7d8e0cc9ab
Merge branch 'dormant_v2_squashed'
2018-11-26 16:33:31 -05:00
Nick Mathewson
02843c4a4e
Test for check_network_participation_callback()
2018-11-26 16:32:40 -05:00
Nick Mathewson
55512ef022
Test netstatus.c tracking of user participation status
2018-11-26 16:32:40 -05:00
Nick Mathewson
3743f79695
Add options to control dormant-client feature.
...
The DormantClientTimeout option controls how long Tor will wait before
going dormant. It also provides a way to disable the feature by setting
DormantClientTimeout to e.g. "50 years".
The DormantTimeoutDisabledByIdleStreams option controls whether open but
inactive streams count as "client activity". To implement it, I had to
make it so that reading or writing on a client stream *always* counts as
activity.
Closes ticket 28429.
2018-11-26 16:32:40 -05:00
David Goulet
d37dbb09c2
hs-v3: Do not close RP circuits when deleting an ephemeral service
...
Bug reported on tor-dev@ and here is the detail explanation of the issue:
https://lists.torproject.org/pipermail/tor-dev/2018-November/013558.html
Fixes bug #28619
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-11-26 14:45:53 -05:00
rl1987
e92f900191
Try silencing Coverity false positive CID 1441482
...
Bugfix on 469f47ef8dc8b18104108f0437c860ec88fca6ad; bug not in any released
Tor version.
2018-11-26 17:35:32 +02:00
Nick Mathewson
881b85cf32
Treat the StaleDesc flag as making our descriptor dirty.
...
Relay side of prop293.
2018-11-25 10:12:20 -05:00
Nick Mathewson
36f808c936
Vote on the StaleDesc flag from prop293
...
The StaleDesc flag tells relays that they need to upload a new
descriptor soon, or they will drop out of the consensus.
2018-11-25 10:05:13 -05:00
Nick Mathewson
7da06e43da
No longer exit for missing required protocolversions on an old consensus
...
Specifically, if the consensus is older than the (estimted or
measured) release date for this version of tor, we assume that the
required versions may have changed in between that consensus and
this release.
Implements ticket 27735 and proposal 297.
2018-11-24 20:44:37 -05:00
Nick Mathewson
05dee063c8
Emit router families in canonical form
...
This patch has routers use the same canonicalization logic as
authorities when encoding their family lists. Additionally, they
now warn if any router in their list is given by nickname, since
that's error-prone.
This patch also adds some long-overdue tests for family formatting.
2018-11-24 16:35:58 -05:00
Nick Mathewson
f82eb6269f
Extract get_declared_family() into its own function.
...
This will help as we refactor it.
2018-11-24 12:11:40 -05:00
Nick Mathewson
0a0c612b79
Add a consensus method in which md families get canonicalized.
...
Implements prop298. Closes ticket 28266.
2018-11-24 12:01:09 -05:00
Nick Mathewson
d29e3a02d5
Add a function to canonicalize nodefamilies per prop298
...
This is the same as the regular canonical nodefamily format, except
that unrecognized elements are preserved.
2018-11-24 10:53:38 -05:00
Nick Mathewson
0e9a963b6b
Revise nodefamily.c to match proposal 298
...
Prop298 says that family entries should be formatted with
$hexids in uppercase, nicknames in lower case, $hexid~names
truncated, and everything sorted lexically. These changes implement
that ordering for nodefamily.c.
We don't _strictly speaking_ need to nodefamily.c formatting use
this for prop298 microdesc generation, but it seems silly to have
two separate canonicalization algorithms.
2018-11-24 10:30:15 -05:00
Taylor R Campbell
997a8b0ca7
Create a temporary directory for tor's DataDirectory in test_rebind.
...
Fixes #28562 .
While here, put the argument count test and usage message _before_ we
attempt to read from sys.argv.
2018-11-23 12:51:39 -05:00
teor
805f75182a
Entry Nodes: Test on reasonably live consensuses
...
As well as live consensuses.
Tests for 24661.
2018-11-22 17:47:12 +10:00
teor
390112d07e
Entry Nodes: refactor tests to use macros
...
Part of 24661.
2018-11-22 17:46:52 +10:00
teor
3741f9e524
Fix a comment typo in test_hs_common.c
2018-11-22 16:56:06 +10:00
teor
cebc39bcd5
Test: make unit tests use a reasonably live consensus
...
Cleanup after 24661.
2018-11-22 16:54:46 +10:00
teor
657618ba9b
Entry Nodes: Mark outdated dirservers in reasonably live consensuses
...
Fixes bug 28569; bugfix on Tor 0.3.2.5-alpha.
2018-11-22 16:54:34 +10:00
teor
d1ac5613fc
Entry Nodes: Use a reasonably live consensus to select guards
...
Fixes bug 24661; bugfix on 0.3.0.1-alpha.
2018-11-22 16:54:22 +10:00
teor
ffc7b81b5d
Test: Fix memory leaks and missing unmocks in entry guard tests
...
test_entry_guard_outdated_dirserver_exclusion leaks memory, and is
missing some unmocks.
Fixes 28554; bugfix on 0.3.0.1-alpha.
2018-11-22 16:42:32 +10:00
Nick Mathewson
469f47ef8d
Fix a fun heisenbug in memoize_protover_flags()
...
After we clear the protover map for getting full, we need to
re-create it, since we are about to use it.
This is a bugfix for bug 28558. It is a bugfix for the code from
ticket 27225, which is not in any released Tor. Found by Google
OSS-Fuzz, as issue 11475.
2018-11-21 07:56:33 -05:00
Nick Mathewson
34cadefe34
Merge branch 'maint-0.3.5'
2018-11-20 09:04:35 -05:00
Taylor Yu
0489288aa2
Update control_free_all() for #27169
...
Reset the added bootstrap tracking state introduced by ticket 27169.
Fixes bug 28524; bugfix on 0.3.5.1-alpha.
2018-11-19 15:48:08 -06:00
Fabian Keil
71651ea4aa
Complain if net.inet.ip.random_id is not set on FreeBSD-based servers
...
Apparently a couple of operators haven't gotten the memos [0] yet
and it looks like FreeBSD's default value will not change any time
soon [1].
[0]:
https://lists.torproject.org/pipermail/tor-relays/2014-March/004199.html
https://lists.torproject.org/pipermail/tor-relays/2014-November/005687.html
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195828
[1]:
https://lists.freebsd.org/pipermail/freebsd-net/2015-April/041942.html
2018-11-19 16:28:00 +01:00
Nick Mathewson
8183640ada
Merge branch 'maint-0.3.5'
2018-11-19 10:18:57 -05:00
Alexander Færøy
3260914db0
Add missing library to build tor-print-ed-signing-cert.
...
To succesful compile tor-print-ed-signing-cert.exe on Windows we
sometimes need to include the @TOR_LIB_GDI@ library.
See: https://bugs.torproject.org/28485
2018-11-19 10:18:44 -05:00
Nick Mathewson
48b08f0592
Merge branch 'ticket27359_v2_squashed'
2018-11-19 08:26:49 -05:00
Nick Mathewson
0e762c0cf5
Test new functions in nodelist.c
2018-11-19 08:26:10 -05:00
Nick Mathewson
4f9548f893
Expose more nodelist.c functions to tests
2018-11-19 08:26:10 -05:00
Nick Mathewson
aa1d767e6b
Aim for 100% test coverage on nodefamily.c
2018-11-19 08:26:10 -05:00
Nick Mathewson
426c9561c5
Use nodefamily_t in microdescriptors.
...
Closes ticket 27359.
2018-11-19 08:26:10 -05:00
Nick Mathewson
83be4d2bbd
Backend for compact node-family representation.
...
This representation is meant to save memory in microdescriptors --
we can't use it in routerinfo_t yet, since those families need to be
encoded losslessly for directory voting to work.
This representation saves memory in three ways:
1. It uses only one allocation per family. (The old way used a
smartlist (2 allocs) plus one strdup per entry.)
2. It stores identity digests in binary, not hex.
3. It keeps families in a canonical format, memoizes, and
reference-counts them.
Part of #27359 .
2018-11-19 08:26:10 -05:00
rl1987
411780d563
Make ROUTERLIST_PRUNING_INTERVAL 1 hr.
2018-11-17 10:19:25 +02:00
Nick Mathewson
942c2da48e
Bump to 0.3.5.5-alpha-dev
2018-11-16 11:32:04 -05:00
Nick Mathewson
35558c39dd
Merge remote-tracking branch 'dgoulet/ticket27471_035_02' into maint-0.3.5
2018-11-16 08:57:56 -05:00
Nick Mathewson
c9906cc3f6
Bump to 0.3.5.5-alpha
2018-11-16 08:28:45 -05:00
Nick Mathewson
fe1fb4b0c3
Merge remote-tracking branch 'public/ticket27686_034' into maint-0.3.4
2018-11-15 17:01:54 -05:00
Nick Mathewson
80a6228aac
Merge branch 'bug25573-034-typefix' into maint-0.3.4
2018-11-15 16:58:16 -05:00
Nick Mathewson
15e752e6b1
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-15 16:54:56 -05:00
Nick Mathewson
cbe04d4550
Merge branch 'maint-0.2.9' into maint-0.3.3
2018-11-15 16:54:16 -05:00
Nick Mathewson
63312e0299
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-15 16:47:25 -05:00
Nick Mathewson
aebe8a82c9
Merge branch 'bug26913_033' into maint-0.3.3
2018-11-15 16:47:22 -05:00
Nick Mathewson
8569166c70
Merge remote-tracking branch 'public/bug24104_029_squashed' into maint-0.2.9
...
Resolved conflicts with the 26269 fix in 015fcd0e11
.
2018-11-15 16:43:50 -05:00
Nick Mathewson
1e6ffeaeaa
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-15 16:37:41 -05:00
Nick Mathewson
34e4d5a783
Merge remote-tracking branch 'dgoulet/bug27550_033_01' into maint-0.3.3
2018-11-15 16:37:02 -05:00
Nick Mathewson
31cc0d2c0b
Merge branch 'maint-0.3.5'
2018-11-15 16:11:29 -05:00
Nick Mathewson
4b6b58ed8e
Merge branch 'bug27740_035_fix' into maint-0.3.5
2018-11-15 16:11:06 -05:00
Nick Mathewson
53ccdb6945
Make sure that we are always a net participant when being a server
...
Otherwise, if we're dormant, and we set ORPort, nothing makes us become
non-dormant.
2018-11-15 11:17:27 -05:00
Nick Mathewson
2f28cd1dc8
Rename and fix docs on FLUSH_ON_DISABLE
...
Also rename "...flush_and_disable()" to "...schedule_and_disable()"
2018-11-15 11:17:22 -05:00
Nick Mathewson
d0e6abd087
Reset dormancy status when the clock jumps.
2018-11-15 11:17:22 -05:00
Nick Mathewson
ce6209cee4
Add a periodic event to become dormant.
...
This event makes us become dormant if we have seen no activity in a
long time.
Note that being any kind of a server, or running an onion service,
always counts as being active.
Note that right now, just having an open stream that Tor
did not open on its own (for a directory request) counts as "being
active", so if you have an idle ssh connection, that will keep Tor
from becoming dormant.
Many of the features here should become configurable; I'd like
feedback on which.
2018-11-15 11:17:22 -05:00
Nick Mathewson
2c15b65381
Make the NET_PARTICIPANT role dependent on user activity
...
This patch implements all of 28337, except for the part where we
turn off the role if we've been idle for a long time.
2018-11-15 11:17:22 -05:00
Nick Mathewson
ccbb36048f
write_stats_file() is indeed NET_PARTICIPANT; remove comment.
2018-11-15 11:17:22 -05:00
Nick Mathewson
dc21f1f662
reset_padding_counts is only once per 24h; it can be all.
2018-11-15 11:17:22 -05:00
Nick Mathewson
4bf79fa4fa
Turn second_elapsed_callback into a normal periodic event.
2018-11-15 11:17:22 -05:00
Nick Mathewson
303e5c70e0
Move the responsibility for delayed shutdown into the mainloop
...
This is part of 28422, so we don't have to call
consider_hibernation() once per second when we're dormant.
This commit does not remove delayed shutdown from hibernate.c: it
uses it as a backup shutdown mechanism, in case the regular shutdown
timer mechanism fails for some reason.
2018-11-15 11:17:22 -05:00
Nick Mathewson
e535ec8542
Remove run_scheduled_events() as a separate function.
...
(There was nothing else in second_elapsed_callbck() that couldn't go
here.)
2018-11-15 11:17:22 -05:00
Nick Mathewson
a0380b705d
Move control_per_second_events() into a callback with its own role
...
Part of making extra-dormant mode work; closes ticket 28421.
2018-11-15 11:17:22 -05:00
Nick Mathewson
db53bfe8f7
Annotate 1/s callback elements with NET_PARTICIPANT status.
2018-11-15 11:17:22 -05:00
Nick Mathewson
b9a88bd53a
Add new "ALL" and "NET_PARTICIPANT" roles for periodic events
...
The previous "ALL" role was the OR of a bunch of other roles,
which is a mistake: it's better if "ALL" means "all".
The "NET_PARTICIPANT" role refers to the anything that is actively
building circuits, downloading directory information, and
participating in the Tor network. For now, it is set to
!net_is_disabled(), but we're going to use it to implement a new
"extra dormant mode".
Closes ticket 28336.
2018-11-15 11:17:22 -05:00
Nick Mathewson
6d84972eb8
Add a function to schedule a periodic event once, then disable it
2018-11-15 11:17:22 -05:00
Nick Mathewson
2070765c7c
Use macros to make the periodic event table less verbose.
2018-11-15 11:17:22 -05:00
teor
44ced9b750
Merge branch 'bug28096-029-squashed' into bug28096-035-squashed
...
Move the get_uname() changes from src/common/compat.c to
src/lib/osinfo/uname.c
2018-11-15 12:23:29 +10:00
teor
2fbc58cf07
Windows: fix uname on recent Windows versions
...
Correctly identify Windows 8.1, Windows 10, and Windows Server 2008
and later from their NT versions.
On recent Windows versions, the GetVersionEx() function may report
an earlier Windows version than the running OS. To avoid user
confusion, add "[or later]" to Tor's version string on affected
versions of Windows.
Remove Windows versions that were never supported by the
GetVersionEx() function.
Stop duplicating the latest Windows version in get_uname().
Fixes bug 28096; bugfix on 0.2.2.34; reported by Keifer Bly.
2018-11-15 12:19:11 +10:00
Nick Mathewson
eaff47352a
Make sure sandbox-related getaddrinfo() functions always exist.
2018-11-14 16:12:29 -05:00
Nick Mathewson
e420154ce7
Add an include to main.c
2018-11-14 16:07:36 -05:00
Nick Mathewson
6ca29ea409
Add libtor-buf-testing to build.rs
2018-11-14 16:07:36 -05:00
Nick Mathewson
4ecd5da306
Add .may_include to ext/timeouts.
2018-11-14 16:07:36 -05:00
Nick Mathewson
d32795bb6e
Make "ext" participate in may_include.
...
Also, resolve a circular dependency involving the use of lib/log by
csiphash.c.
2018-11-14 16:07:36 -05:00
Nick Mathewson
e429e31ad1
Normalize .may_include to always have paths, and paths to include
2018-11-14 16:07:35 -05:00
Nick Mathewson
c0a7527eb8
Remove dependency on lib/net from lib/sandbox.
...
This was trivial, and the easiest way to remove the remaining
.may_include circularities.
2018-11-14 16:07:03 -05:00
Nick Mathewson
f6b8c7da66
Move buffers.c out of lib/containers to resolve a circularity.
2018-11-14 16:07:03 -05:00
Nick Mathewson
c9f9c9bc49
Make memarea use smartlist_core, not container.
2018-11-14 16:07:03 -05:00
Nick Mathewson
12175987fc
Merge branch 'maint-0.3.5'
2018-11-14 15:43:49 -05:00
Nick Mathewson
d598d834f5
Merge branch 'ticket27750_034_01_squashed' into maint-0.3.5
2018-11-14 15:43:46 -05:00
David Goulet
c99f220f78
conn: Close the read side of a closing connection when write limit is reached
...
In conn_close_if_marked(), we can decide to keep a connection open that still
has data to flush on the wire if it is being rate limited on the write side.
However, in this process, we were also looking at the read() side which can
still have token in its bucket and thus not stop the reading. This lead to a
BUG() introduced in 0.3.4.1-alpha that was expecting the read side to be
closed due to the rate limit but which only applies on the write side.
This commit removes any bandwidth check on the read side and simply stop the
read side on the connection regardless of the bucket state. If we keep the
connection open to flush it out before close, we should not read anything.
Fixes #27750
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-11-14 15:42:52 -05:00
Nick Mathewson
cec58ae55c
Merge branch 'maint-0.3.5'
2018-11-14 07:56:52 -05:00
Nick Mathewson
a58b19465d
Merge remote-tracking branch 'teor/bug28441-035' into maint-0.3.5
2018-11-14 07:56:48 -05:00
Nick Mathewson
1043532a51
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-14 07:55:07 -05:00
Nick Mathewson
3deb01e1a4
Merge branch 'maint-0.3.5'
2018-11-14 07:55:07 -05:00
Nick Mathewson
eba989bf0e
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-11-14 07:55:07 -05:00
Nick Mathewson
db3acb3aa3
Work around check-spaces.
2018-11-14 07:54:57 -05:00
Martin Kepplinger
7ba1f39116
libtorrunner: fix memory leak in child() error path
...
This avoids leaking memory in case libtorrunner's child() function fails.
2018-11-14 07:49:51 -05:00
Nick Mathewson
586c3a7c90
Merge branch 'maint-0.3.5'
2018-11-14 07:42:56 -05:00
teor
16ca6fdfdb
log: stop talking about the Named flag in log messages
...
Clients have ignored the Named flag since 0.3.2.
Fixes bug 28441; bugfix on 0.3.2.1-alpha.
2018-11-14 18:16:34 +10:00
teor
9daf06d171
comment: circuit_list_path_impl() does not check Named any more
2018-11-14 18:06:14 +10:00
teor
a7aa3f76ec
comment: Fix a typo in nodes_in_same_family()
2018-11-14 18:06:05 +10:00
Nick Mathewson
a6a7a1f3ed
Merge branch 'maint-0.3.5'
2018-11-13 16:48:26 -05:00
Nick Mathewson
021187f915
Merge branch 'bug28183_029' into maint-0.3.5
2018-11-13 16:48:21 -05:00
David Goulet
342f2b1873
Merge branch 'tor-github/pr/501'
2018-11-13 10:48:23 -05:00
David Goulet
8fb318860e
Merge branch 'maint-0.3.5'
2018-11-13 10:43:03 -05:00
David Goulet
6f2151be9a
Merge branch 'tor-github/pr/487' into maint-0.3.5
2018-11-13 10:37:25 -05:00
Neel Chauhan
ec93385cb2
Comment for rend_cache_failure in feature/rend/rendcache.c: "usuable" should be "usable"
2018-11-13 10:33:51 -05:00
Nick Mathewson
42be1c668b
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-13 08:27:29 -05:00
Nick Mathewson
d000e798ac
Merge branch 'maint-0.3.5'
2018-11-13 08:27:29 -05:00
Nick Mathewson
ae4c94bb64
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-11-13 08:27:29 -05:00
Nick Mathewson
54d1a2d805
Merge branch 'maint-0.2.9' into maint-0.3.3
2018-11-13 08:27:17 -05:00
Nick Mathewson
1a11702a9a
Fix a compiler warning in aes.c.
...
Apparently some freebsd compilers can't tell that 'c' will never
be used uninitialized.
Fixes bug 28413; bugfix on 0.2.9.3-alpha when we added support for
longer AES keys to this function.
2018-11-12 15:39:28 -05:00
Nick Mathewson
0e5378feec
seccomp2: Add "shutdown" to the list of permitted system calls.
...
We don't use this syscall, but openssl apparently does.
(This syscall puts a socket into a half-closed state. Don't worry:
It doesn't shut down the system or anything.)
Fixes bug 28183; bugfix on 0.2.5.1-alpha where the sandbox was
introduced.
2018-11-12 08:23:58 -05:00
Nick Mathewson
1fce9d1296
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-11 18:05:45 -05:00
Nick Mathewson
d1e9285b1d
Merge branch 'maint-0.3.5'
2018-11-11 18:05:45 -05:00
Nick Mathewson
896d0ebb99
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-11-11 18:05:45 -05:00
Nick Mathewson
93b6d41374
Merge branch 'maint-0.2.9' into maint-0.3.3
2018-11-11 18:05:45 -05:00
Nick Mathewson
46796623f9
Fix a bug in usage of SSL_set1_groups_list()
...
Apparently, even though the manpage says it returns an int, it
can return a long instead and cause a warning.
Bug not in any released Tor. Part of #28399
2018-11-11 18:03:50 -05:00
rl1987
100136ca86
Create new periodic event for pruning old info about Tor routers
2018-11-11 20:31:24 +02:00
Nick Mathewson
e27dff08a3
Merge branch 'maint-0.3.5'
2018-11-11 11:57:54 -05:00
Nick Mathewson
6b2ff4fff8
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-11 11:57:53 -05:00
Nick Mathewson
76ed869ff9
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-11-11 11:57:53 -05:00
Nick Mathewson
d0c3723c38
Merge branch 'maint-0.2.9' into maint-0.3.3
2018-11-11 11:57:52 -05:00
Karsten Loesing
5ba3d09a89
Update geoip and geoip6 to the November 6 2018 database.
2018-11-11 11:25:59 +01:00
Nick Mathewson
91355c0fac
Annotate subsystem list with their levels.
2018-11-09 22:17:18 -05:00
Nick Mathewson
bf4f55a13d
Merge branch 'subsystems'
2018-11-09 15:01:49 -05:00
Nick Mathewson
60d1081236
Log before performing a subsystem operation
2018-11-09 11:56:26 -05:00
Nick Mathewson
ba722e4799
Add list of levels in subsystem_list.c
2018-11-09 11:15:27 -05:00
Nick Mathewson
c6336727ca
Rename subsystem callback functions to make them consistent
2018-11-09 11:12:12 -05:00
Nick Mathewson
e80595f562
fixup! Make initialization for the "err" library into a subsystem.
...
Check for failure to install backtrace handler.
2018-11-09 11:00:31 -05:00
Nick Mathewson
61695e3d62
Document that subsystem callbacks are optional.
2018-11-09 10:58:20 -05:00
Nick Mathewson
4fe4bcf8a1
Explain that configuration should happen elsewhere, but not init.
2018-11-09 10:55:18 -05:00
Nick Mathewson
5d73f87ced
Merge branch 'maint-0.3.5'
2018-11-09 10:49:48 -05:00
Nick Mathewson
591a189fa4
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-09 10:49:47 -05:00
Nick Mathewson
2ac2d0a426
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-11-09 10:49:47 -05:00
Nick Mathewson
c06b7f090c
Merge branch 'maint-0.2.9' into maint-0.3.3
2018-11-09 10:49:47 -05:00
Nick Mathewson
1ba1a1ceca
Always declare groups when building with openssl 1.1.1 APIs
...
Failing to do on clients was causing TLS 1.3 negotiation to fail.
Fixes bug 28245; bugfix on 0.2.9.15, when we added TLS 1.3 support.
2018-11-09 10:10:25 -05:00
Nick Mathewson
6560346a45
Bump version to 0.3.5.4-alpha-dev.
2018-11-08 09:00:59 -05:00
Nick Mathewson
8e3bae566a
Merge branch 'maint-0.3.5'
2018-11-07 16:27:26 -05:00
Nick Mathewson
212bd9778b
Make the hibernate.c changes for systemd compile.
2018-11-07 16:27:20 -05:00
Nick Mathewson
f229c4e66a
Bump to 0.3.5.4-alpha
2018-11-07 14:40:26 -05:00
Nick Mathewson
c7b6ed1d80
Merge remote-tracking branch 'tor-github/pr/271'
2018-11-07 11:21:13 -05:00
Roger Dingledine
6e828ced56
simplify now that it uses tor's copyright and license
2018-11-07 11:02:26 -05:00
Nick Mathewson
9e48d9a920
Change version on master to 0.4.0.0-alpha-dev.
2018-11-07 10:54:03 -05:00
Nick Mathewson
9807da9c20
Merge branch 'ticket27225_squashed'
2018-11-07 10:47:29 -05:00
Nick Mathewson
6d93820499
Memoize summarize_protover_flags()
...
Our tests showed that this function is responsible for a huge number
of our malloc/free() calls. It's a prime candidate for being
memoized.
Closes ticket 27225.
2018-11-07 10:47:07 -05:00
Nick Mathewson
a7a060a637
Switch ctassert.h to 3bsd (with permission)
2018-11-07 10:37:02 -05:00
Neel Chauhan
f89f14802e
At intro points, don't close circuits on NACKs
2018-11-06 17:04:08 -05:00
Nick Mathewson
770653ff45
Allow lib/cc to include its own files.
2018-11-06 16:59:39 -05:00
Nick Mathewson
d9508d8ede
Change copyright statement (with permission)
2018-11-06 15:42:18 -05:00
Nick Mathewson
6b706bcf19
Remove a tab.
2018-11-06 15:41:32 -05:00
Nick Mathewson
3c9dd9ef2d
Add parentheses to the ctassert macro expansions
2018-11-06 15:41:14 -05:00
Nick Mathewson
e69a4ad6b3
Add a user of CTASSERT().
2018-11-06 15:39:58 -05:00
Taylor R Campbell
1a6060fa42
New macro CTASSERT(condition) to assert condition at compile-time.
...
To get it, use: #include "lib/cc/ctassert.h"
2018-11-06 15:36:58 -05:00
Nick Mathewson
c8892b53ec
Merge remote-tracking branch 'tor-github/pr/466'
2018-11-06 15:35:45 -05:00
Nick Mathewson
8020d6fb05
Merge remote-tracking branch 'tor-github/pr/464'
2018-11-06 15:33:25 -05:00
Nick Mathewson
ba28704b29
Merge branch 'maint-0.3.5'
2018-11-06 15:22:11 -05:00
Nick Mathewson
c60f3ea607
Merge remote-tracking branch 'tor-github/pr/474' into maint-0.3.5
2018-11-06 15:21:45 -05:00
Nick Mathewson
bb9044381e
Merge branch 'maint-0.3.5'
2018-11-06 15:20:01 -05:00
Nick Mathewson
8a5590ebac
Merge remote-tracking branch 'tor-github/pr/484' into maint-0.3.5
2018-11-06 15:19:04 -05:00
Nick Mathewson
bcba6a4918
Merge branch 'maint-0.3.5'
2018-11-06 15:17:52 -05:00
Kris Katterjohn
daaa2751ed
Include sys/time.h in timers.c and time_fmt.c
...
This fixes compilation on OpenBSD.
Signed-off-by: Kris Katterjohn <katterjohn@gmail.com>
2018-11-06 15:15:22 -05:00
Roger Dingledine
3a2cb83685
refuse to start with relative paths + RunAsDaemon
...
Resume refusing to start with relative file paths and RunAsDaemon
set (regression from the fix for bug 22731).
Fixes bug 28298; bugfix on 0.3.3.1-alpha.
2018-11-06 15:50:56 +01:00
Nick Mathewson
313b5b956c
Merge branch 'maint-0.3.5'
2018-11-06 09:16:25 -05:00
Nick Mathewson
9431d35074
Merge branch 'bug28348_034' into bug28348_035
2018-11-06 07:42:55 -05:00
Nick Mathewson
2aff02eb3d
Actually disable NEED_NET periodic events when DisableNetwork is set
...
Fixes bug 28348; bugfix on 0.3.4.1-alpha
2018-11-06 07:40:02 -05:00
Nick Mathewson
32b23a4c40
Make tortls use the subsystems interface
...
This one only needs a shutdown right now.
2018-11-05 09:22:02 -05:00
Nick Mathewson
019a044e5e
Turn "compress" into a subsystem.
2018-11-05 09:22:02 -05:00
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
22338d63c4
Merge remote-tracking branch 'tor-github/pr/431' into bug27740_035_fix
2018-10-30 09:33:58 -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
de55df0260
remove now-unused "use" statement.
2018-10-30 09:28:10 -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
632e040659
Try to restore a proper fix for bug27740 in 0.3.5.
...
(I messed up the merge in 289a7dbac32a981897e12a3c250f0b6c67eec809.)
2018-10-30 07:37:20 -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
bdf6540edf
Add a comment about address type field to netinfo.trunnel
2018-10-26 12:58:42 +03:00
rl1987
5cc86e364f
Generate NETINFO cell using trunnel
2018-10-26 12:58:42 +03:00
rl1987
d3e6112bb2
Use trunnel for NETINFO cell parsing
2018-10-26 12:58:42 +03:00
rl1987
b59eedc259
Add trunnel spec and impl for NETINFO cells
2018-10-26 12:58:42 +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