John Brooks
2b27ce52d2
Fix out-of-bounds read in INTRODUCE2 client auth
...
The length of auth_data from an INTRODUCE2 cell is checked when the
auth_type is recognized (1 or 2), but not for any other non-zero
auth_type. Later, auth_data is assumed to have at least
REND_DESC_COOKIE_LEN bytes, leading to a client-triggered out of bounds
read.
Fixed by checking auth_len before comparing the descriptor cookie
against known clients.
Fixes #15823 ; bugfix on 0.2.1.6-alpha.
2015-05-05 15:05:32 -04:00
David Goulet
26c344a563
Revert "Remove obsolete workaround in dirserv_thinks_router_is_hs_dir()"
...
Fixes #15850 , part of #15801 . Change file is added by this commit. The
original comment in the reverted commit is removed because right now we
*need* a DirPort until #15849 is implemented so no doubt nor confusion there
anymore.
This reverts commit 80bed1ac96
.
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-04-28 14:30:07 -04:00
Nick Mathewson
0475552140
Merge remote-tracking branch 'origin/maint-0.2.5' into maint-0.2.6
2015-04-06 09:26:16 -04:00
Nick Mathewson
fe69a7e1d7
Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5
2015-04-06 09:25:37 -04:00
Yawning Angel
dc3cb00080
Handle empty/zero length encoded intro points more gracefully.
...
In theory these should never the triggered as the only caller now
validates the parameters before this routine gets called.
2015-04-06 09:21:43 -04:00
Yawning Angel
7b5f558da4
Treat empty introduction points sections as missing.
...
Found by DonnchaC.
2015-04-06 09:20:46 -04:00
Yawning Angel
49ddd92c11
Validate the RSA key size received when parsing INTRODUCE2 cells.
...
Fixes bug 15600; reported by skruffy
2015-04-06 09:18:17 -04:00
George Kadianakis
929a8f199b
Decrease the amount of rend circ relaunches for hidden services.
2015-04-03 09:47:40 -04:00
Nick Mathewson
c1b36488e9
Merge remote-tracking branch 'origin/maint-0.2.5' into maint-0.2.6
2015-04-03 09:39:19 -04:00
Nick Mathewson
3781955f07
Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5
2015-04-03 09:38:54 -04:00
Nick Mathewson
01e4bc80cd
Merge branch 'bug15515_024' into maint-0.2.4
2015-04-03 09:36:59 -04:00
George Kadianakis
bcb839387e
... and if we do get multiple INTRODUCE1s on a circuit, kill the circuit
...
(Sending a nak would be pointless.)
See ticket 15515 for discussion.
2015-04-03 09:36:05 -04:00
George Kadianakis
8dba8a088d
Block multiple introductions on the same intro circuit.
2015-04-03 09:35:47 -04:00
Nick Mathewson
a0f892f190
Simplify the loop.
2015-03-14 14:31:26 -04:00
Nick Mathewson
ddb1889eb8
Add comments for new functions
2015-03-14 14:28:29 -04:00
Nick Mathewson
92d04721a2
remove a needless "if (1)" that was there for indentation; fix indentation.
2015-03-14 14:28:29 -04:00
Nick Mathewson
b78803f9f5
Extract main part of main loop into a separate function
...
For 15176; Shadow would like this.
Based on a patch by Rob Jansen, but revised to have a minimal-sized diff.
2015-03-14 14:28:29 -04:00
Nick Mathewson
eb68ea20f8
Merge remote-tracking branch 'public/feature15212_026' into maint-0.2.6
2015-03-12 13:15:08 -04:00
Yawning Angel
b3281fc6d6
Initialize the extorport auth cookie before launching PTs.
...
PTs expect the auth cookie to be available immedieately after launch,
leading to a race condition when PTs opt to cache the extorport cookie
once immediately after startup.
Fixes #15240 .
2015-03-12 13:12:56 -04:00
Nick Mathewson
9063f29160
Revert "Make TransProxyType ipfw work correctly"
...
This reverts commit 681802817d
.
(I didn't mean to backport this, but somehow I had based my branch
for #15205 on it.)
2015-03-12 12:49:08 -04:00
Nick Mathewson
eecd410984
Merge remote-tracking branch 'public/bug15205_025' into maint-0.2.5
2015-03-12 12:27:25 -04:00
Nick Mathewson
d4c1716263
add an explanatory comment
2015-03-12 11:28:18 -04:00
Nick Mathewson
648af0438d
Also, add an assertion to assign_onionskin_to_cpuworker
2015-03-12 11:15:50 -04:00
Nick Mathewson
66c8180207
Fix crash bug when calling cpuworkers_rotate_keyinfo on a client.
...
Fixes bug 15245; bugfix on 0.2.6.3-alpha. Thanks to anonym for reporting!
2015-03-12 11:14:39 -04:00
Nick Mathewson
d29a8ad564
Add link protocol version counts to the heartbeat message
...
Closes ticket 15212
2015-03-10 10:07:41 -04:00
Nick Mathewson
64bfc2930a
Restore c89 in 0.2.5
2015-03-09 13:22:58 -04:00
Nick Mathewson
448bd22092
Merge remote-tracking branch 'public/bug14261_025' into maint-0.2.5
2015-03-09 13:17:20 -04:00
Nick Mathewson
62631904cb
GETINFO bw-event-cache to get information on recent BW events
...
Closes 14128; useful to regain functionality lost because of 13988.
2015-03-09 13:13:56 -04:00
Nick Mathewson
e3408248b9
Merge remote-tracking branch 'public/bug13988_025' into maint-0.2.5
2015-03-09 13:12:54 -04:00
Nick Mathewson
fb0de57ba2
Merge remote-tracking branch 'public/feature15006_026' into maint-0.2.6
2015-03-09 13:05:27 -04:00
Nick Mathewson
a7f75b2056
Merge remote-tracking branch 'origin/maint-0.2.5' into maint-0.2.6
2015-03-09 11:09:49 -04:00
Nick Mathewson
1a7419c3df
Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5
2015-03-09 11:09:30 -04:00
Nick Mathewson
6704e18dd2
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
2015-03-09 11:08:57 -04:00
Nick Mathewson
de2c5ad815
Revert "Missing dependencies; fixes 15127."
...
This reverts commit 930ab95e1f
.
2015-03-04 15:18:33 +01:00
Nick Mathewson
98822df3dc
Make boostrap events include hostname ANDaddr AND digest
2015-03-04 14:23:59 +01:00
Nick Mathewson
a726cd76df
Merge remote-tracking branch 'public/bug15064_025' into maint-0.2.6
2015-03-04 12:26:43 +01:00
Nick Mathewson
681802817d
Make TransProxyType ipfw work correctly
...
Fixes bug 15064; bugfix on 0.2.5.4-alpha.
2015-03-04 12:25:52 +01:00
Nick Mathewson
5ad47aafab
Merge remote-tracking branch 'public/bug15127_025' into maint-0.2.6
2015-03-04 12:14:17 +01:00
Nick Mathewson
2d926d0147
only declare rv when it is used in destination_from_socket. Fixes 15151
2015-03-04 12:12:41 +01:00
Nick Mathewson
930ab95e1f
Missing dependencies; fixes 15127.
2015-03-04 12:09:33 +01:00
Nick Mathewson
81a994ce77
Make the assert related to 15083 a tiny bit more tolerant
2015-03-03 22:25:26 +01:00
Nick Mathewson
71ee53fe9b
Do not leave empty, invalid chunks in buffers during buf_pullup
...
This fixes an assertion failure bug in 15083; bugfix on 0.2.0.10-alpha.
Patch from 'cypherpunks'
2015-03-03 22:21:41 +01:00
Nick Mathewson
79c69d18b7
Include a HOST item in BOOTSTRAP problem messages
...
Closes ticket 15006.
2015-02-27 11:28:30 -05:00
Nick Mathewson
2bcb596dcf
Merge remote-tracking branch 'public/bug14129_024' into maint-0.2.4
2015-02-24 13:23:44 -05:00
Nick Mathewson
783a44f9e9
Log less/better about systemd at startup
...
Report errors if the notification fails; report success only if it
succeeds; and if we are not notifying systemd because we aren't
running with systemd, don't log at notice.
2015-02-24 11:11:24 -05:00
Nick Mathewson
af60e7566e
Update test_status.c to accommodate changes in heartbeat messages
...
Fixes #15012 ; bug not in any released Tor
2015-02-24 10:05:34 -05:00
Nick Mathewson
d74a78c58a
Merge branch 'bug14950_logs_squashed'
2015-02-23 13:04:03 -05:00
Nick Mathewson
d221b507c9
Avoid logging natural-language reports that are redundant with bootstrapping
2015-02-23 13:03:56 -05:00
Nick Mathewson
10ae9b9bf5
Usually downgrade middle heartbeat messages when stuff is in-range
2015-02-23 13:03:56 -05:00
Nick Mathewson
f1fa85ea73
Fix running with the seccomp2 sandbox
...
We had a regression in 0.2.6.3-alpha when we stopped saying
IPPROTO_TCP to socket(). Fixes bug 14989, bugfix on 0.2.6.3-alpha.
2015-02-23 12:16:08 -05:00
cypherpunks
5246e8f992
Remove lingering mempool code
2015-02-23 11:19:31 -05:00
Nick Mathewson
8a9d86bf05
Merge remote-tracking branch 'public/bug11454_11457'
2015-02-20 01:08:12 -05:00
Nick Mathewson
03a4e97c76
Merge remote-tracking branch 'origin/maint-0.2.5'
2015-02-20 01:05:21 -05:00
Nick Mathewson
1525eeeb49
Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5
2015-02-20 01:04:49 -05:00
Nick Mathewson
76d8c23ab4
Try to fix authdir_newdesc events
...
We were sending values that were truncated by the length of the
annotations.
2015-02-19 11:35:27 -05:00
Nick Mathewson
b897e386da
Merge branch 'bug12844_macros'
2015-02-19 09:41:36 -05:00
Nick Mathewson
557a0c83f3
Do not try to download an EI for which we don't have a matching SD.
...
This quiets some log messages for #13762 , and adds a better INFO message
for the underlying confusion.
2015-02-19 09:40:36 -05:00
Nick Mathewson
86105a4009
Check ENABLE_TOR2WEB_MODE before any tor2webmode code
2015-02-19 09:09:25 -05:00
Roger Dingledine
64d5e0e417
stop warning each time we check minimum-dir-info
...
We already log whenever our state changes, e.g. whenever new directory
information arrives. This additional log_warn() will at best just add more
log messages, or worse, make the user wonder what she needs to fix.
(Changed after consultation with Yawning.)
2015-02-19 06:27:14 -05:00
Roger Dingledine
70f46f7ae6
don't update dir_info_status when we have minimum dir info
...
Nothing ever uses the string when we're in "have minimum dir info"
state. The flow of the function is "check for problems, if you see a
problem write an explanation to dir_info_status and set res to 0". If
you get to the end of the function without any problems, then res =
1 and we're all ready to start making circuits.
(Changed after consultation with Yawning.)
2015-02-19 06:15:25 -05:00
Roger Dingledine
0e4bdc4005
clean up comments and whitespace a bit
2015-02-18 19:27:02 -05:00
Nick Mathewson
b7b8b9ecf9
Downgrade new extrainfo_insert warnings on startup
2015-02-18 13:41:00 -05:00
Nick Mathewson
a767b66640
Merge branch 'bug13762_diagnostic_redux'
2015-02-18 13:29:12 -05:00
Nick Mathewson
d3f714deb8
Patch from cypherpunks to try to diagnose 8387.
2015-02-18 13:25:01 -05:00
Nick Mathewson
e65fe0a747
Improve log messages for diagnosing 13762
2015-02-18 13:05:15 -05:00
Yawning Angel
39a496eeb8
Actually free measured_guardfraction.
...
CID 1270894
2015-02-18 16:36:57 +00:00
Nick Mathewson
6378bcf4b9
Fix an implicit-narrowing warning
2015-02-18 09:34:15 -05:00
Nick Mathewson
9e6147a40c
Merge remote-tracking branch 'yawning/bug14918'
2015-02-18 09:21:16 -05:00
Nick Mathewson
96211bcf71
Merge branch 'bug9321_rerebase'
...
Conflicts:
src/or/dirvote.h
src/test/include.am
src/test/test_entrynodes.c
2015-02-18 09:17:02 -05:00
George Kadianakis
5c34a53068
Don't exit if we can't find the GuardfractionFile when booting.
...
...just disable the feature in that case.
2015-02-18 09:09:34 -05:00
George Kadianakis
33053d50a0
Final guardfraction preparations for upstream merge.
...
- Write a changes file.
- Change some logs to lesser severities.
2015-02-18 09:09:34 -05:00
George Kadianakis
b941f109ac
Calculate relay weighted bandwidth using guardfraction bandwidths.
...
Now use the guardfraction function to calculate individual relay
bandwidth weights.
2015-02-18 09:09:34 -05:00
George Kadianakis
f7a8b19184
Calculate total bandwidth weights using the guardfraction bandwidths.
...
Now use the function introduced in the previous commit, to calculate the
total bandwidth weights when making the consensus.
2015-02-18 09:09:33 -05:00
George Kadianakis
14a3c17ce6
Calculate the guardfraction bandwidth of a guard.
2015-02-18 09:09:33 -05:00
George Kadianakis
f4a63f8eab
Parse GuardFraction info from consensuses and votes.
...
Also introduce the UseGuardFraction torrc option which decides whether
clients should use guardfraction information found in the consensus.
2015-02-18 09:09:33 -05:00
George Kadianakis
db805b9170
Write GuardFraction information to consensus.
...
If we've seen enough votes with guardfraction information, write down
the GuardFraction string in the consensus.
2015-02-18 09:09:33 -05:00
George Kadianakis
7ddfb6aa2f
Write guardfraction information to votes.
...
If a dirauth has guardfraction information about a guard, write it down
when serializing the routerstatus.
2015-02-18 09:09:33 -05:00
George Kadianakis
5ee48d47a7
Parse Guardfraction file and apply results to routerstatuses.
...
Parse the file just before voting and apply its information to the
provided vote_routerstatus_t. This follows the same logic as when
dirauths parse bwauth files.
2015-02-18 09:09:32 -05:00
Yawning Angel
8571e86d27
Fix bootstrap directory information logging.
...
`dir_info_status` is used from main.c:directory_info_has_arrived() to
provide useful (INFO/NOTICE) level logging to users, and should always
be updated regardless of the rate limiting.
2015-02-18 13:58:13 +00:00
Yawning Angel
6fdb179d84
Fix compute_frac_paths_available, when ExitNodes is not set.
2015-02-18 12:51:07 +00:00
Nick Mathewson
d038430a14
Merge branch 'bug14918'
2015-02-17 12:49:29 -05:00
Nick Mathewson
9bf6da1861
Merge remote-tracking branch 'public/feature_13822'
2015-02-17 12:34:13 -05:00
Nick Mathewson
8eb3d81e6e
Fix some issues with reporting exit-free networks
...
Fixes bug 14918.
2015-02-17 12:07:24 -05:00
Roger Dingledine
d6dbd55849
trivial whitespace fix
2015-02-17 06:01:33 -05:00
Nick Mathewson
0b3ae7d9e5
Maybe this will make coverity not care that this check is dead. CID 1268063
2015-02-16 15:44:18 -05:00
Nick Mathewson
2fe139473d
No, coverity, this is not a memory leak. 1268065
2015-02-16 15:42:48 -05:00
Nick Mathewson
5d2a23397a
Fix a few coverity "Use after NULL check" warnings
...
Also remove the unit test mocks that allowed get_options() to be
NULL; that's an invariant violation for get_options().
2015-02-16 15:40:15 -05:00
Sina Rabbani
8e61d38cf1
Faravahar's New IP Address as of 2/20/2015
2015-02-16 11:51:36 -05:00
Sebastian Hahn
3bcdb26267
Call cpu_init if we change to being a relay
...
The issue is that we use the cpuworker system with relays only, so if we
start up as a client and transition to being a relay later, we'll be
sad.
This fixes bug 14901; not in any released version of Tor.
2015-02-15 11:49:19 +01:00
Nick Mathewson
b223b7c22d
fix a compilation warning
2015-02-11 15:10:35 -05:00
Nick Mathewson
d7a1e83f50
Merge remote-tracking branch 'public/remove_freelist'
2015-02-11 15:09:01 -05:00
Nick Mathewson
caf28519d9
Merge branch 'bug12844'
...
Conflicts:
src/or/circuituse.c
src/test/include.am
src/test/test_entrynodes.c
2015-02-11 15:06:04 -05:00
Nick Mathewson
0899f51bc6
Additional paranoia: do not even build tor2web stuff if not using.
...
(That is, don't build it unless we're building for tor2web, or we
are building for tests.)
2015-02-11 14:54:16 -05:00
Nick Mathewson
6f331645c7
Remove mempools and buf freelists
...
They have been off-by-default since 0.2.5 and nobody has complained. :)
Also remove the buf_shrink() function, which hasn't done anything
since we first stopped using contiguous memory to store buffers.
Closes ticket 14848.
2015-02-11 09:03:50 -05:00
Nick Mathewson
0c81dfa848
Merge remote-tracking branch 'public/feature_13555'
2015-02-11 08:42:00 -05:00
Sebastian Hahn
9667b2b88a
Add some comments to or_circuit_t.workqueue_entry
...
These were suggested by dgoulet, thanks!
2015-02-09 16:13:08 +01:00
Sebastian Hahn
7337510090
Avoid use-after-free of circ belonging to cancelled job
...
This fixes a bug where we decide to free the circuit because it isn't on
any workqueue anymore, and then the job finishes and the circuit gets
freed again.
Fixes bug #14815 , not in any released version of Tor.
2015-02-09 16:12:47 +01:00
Sebastian Hahn
37d16c3cc7
Reserve enough space for rend_service_port_config_t
...
In #14803 , Damian noticed that his Tor sometimes segfaults. Roger noted
that his valgrind gave an invalid write of size one here. Whenever we
use FLEXIBLE_ARRAY_MEMBER, we have to make sure to actually malloc a
thing that's large enough.
Fixes bug #14803 , not in any released version of Tor.
2015-02-09 04:48:16 +01:00
Nick Mathewson
8b82f6261e
Search-and-replace to regain coding style in wake of 13822.
...
(all-caps should be reserved for global or module-global constants and
2015-02-07 08:33:36 -05:00
Nick Mathewson
4beb830953
Split ROUTER_REQUIRED_MIN_BANDWIDTH into RELAY_ and BRIDGE_ variants
...
Also raise those minima from 20 to 75 and 50 respectively.
Closes ticket 13822.
2015-02-07 08:33:23 -05:00