Nick Mathewson
69380033d6
Merge branch 'timeouts_v2_squashed'
2016-05-09 14:06:10 -04:00
Nick Mathewson
af132fc299
timer tests: differences in timing accuracy can be negative.
...
Also, use symbolic names for good-enough thresholds for timer accuracy.
2016-05-09 14:04:54 -04:00
Nick Mathewson
11a09778d6
Test coverage for timers.
2016-05-09 14:04:54 -04:00
Nick Mathewson
10fd4535c2
Fix an OSX/clang compilation warning
2016-05-09 14:04:54 -04:00
Nick Mathewson
118556e4b3
Quick-and-dirty test for timers code.
2016-05-09 14:04:53 -04:00
Nick Mathewson
dcf948da06
Add wrappers to tie the new timeouts into libevent.
2016-05-09 14:04:06 -04:00
John Brooks
e7ff23beea
Make rend_authorized_client_free public
...
This is needed by control.c.
Also, check whether client_name is set before doing memwipe.
2016-05-09 13:53:24 -04:00
John Brooks
896271d525
Use uint8_t for rend descriptor_cookie fields
2016-05-09 13:53:09 -04:00
Karsten Loesing
3c2d4611ce
Update geoip and geoip6 to the May 4 2016 database.
2016-05-09 17:51:15 +02:00
Nick Mathewson
641cdc345c
Merge branch 'maint-0.2.8'
2016-05-05 08:25:27 -04:00
teor (Tim Wilson-Brown)
03fc4cf04c
Refactor router_pick_directory_server_impl to use node functions
...
No behavioural change
This makes the use of the node explicit in the function, rather
than hiding the node lookup in fascist_firewall_allows_rs.
2016-05-05 08:24:17 -04:00
teor (Tim Wilson-Brown)
225448ad34
Comment-only change to clarify routerstatus_t IPv4 byte order
2016-05-05 08:24:17 -04:00
teor (Tim Wilson-Brown)
7ec273bd4a
Rename skip_or and skip_dir to avoid confusion
...
Variable rename only
2016-05-05 08:24:17 -04:00
Nick Mathewson
68d913c49c
Merge branch 'feature18483-028-v2-squashed' into maint-0.2.8
2016-05-05 08:16:36 -04:00
teor (Tim Wilson-Brown)
9aa280cc0c
Only choose directory DirPorts on relays
2016-05-05 08:16:28 -04:00
teor (Tim Wilson-Brown)
88deb52d55
Make clients only select directories with reachable ORPorts
...
This makes sure clients will only select relays which support
begindir over ORPort.
2016-05-05 08:16:28 -04:00
teor (Tim Wilson-Brown)
833b5f71a7
Make clients always use begindir for directory requests
...
This improves client anonymity and avoids directory header tampering.
The extra load on the authorities should be offset by the fallback
directories feature.
This also simplifies the fixes to #18809 .
2016-05-05 08:16:28 -04:00
teor (Tim Wilson-Brown)
2e5b35db81
Make directory node selection more reliable
...
Delete an unnecessary check for non-preferred IP versions.
Allows clients which can't reach any directories of their
preferred IP address version to get directory documents.
Patch on #17840 in 0.2.8.1-alpha.
2016-05-05 11:54:53 +10:00
Nick Mathewson
2da2718609
Merge branch 'maint-0.2.8'
2016-05-04 15:23:38 -04:00
Nick Mathewson
01e7f42a09
Merge branch 'bug18921_squashed' into maint-0.2.8
2016-05-04 15:23:26 -04:00
teor (Tim Wilson-Brown)
0cf90bac2a
Choose the correct address for one-hop connections
...
After #17840 in 0.2.8.1-alpha, we incorrectly chose an IPv4
address for all DIRIND_ONEHOP directory connections,
even if the routerstatus didn't have an IPv4 address.
This likely affected bridge clients with IPv6 bridges.
Resolves #18921 .
2016-05-04 15:23:14 -04:00
Nick Mathewson
2384256a37
Merge branch 'maint-0.2.8'
2016-05-04 15:12:20 -04:00
Nick Mathewson
b8e8910d60
Merge branch 'bug18686_025' into maint-0.2.8
2016-05-04 15:12:11 -04:00
Nick Mathewson
c7b9e0b8ed
Report success when not terminating an already terminated process.
...
Also, document the actual behavior and return values of
tor_terminate_process.
Fixes bug18686; bugfix on 0.2.3.9-alpha.
2016-05-04 15:10:36 -04:00
Nick Mathewson
e24c902272
Merge branch 'maint-0.2.8'
2016-05-04 14:47:13 -04:00
Nick Mathewson
31332a878d
Merge branch 'bug18710_025' into maint-0.2.8
2016-05-04 14:47:04 -04:00
Scott Dial
0ca3f495c6
Fix dnsserv.c assertion when no supported questions are requested.
...
The problem is that "q" is always set on the first iteration even
if the question is not a supported question. This set of "q" is
not necessary, and will be handled after exiting the loop if there
if a supported q->type was found.
[Changes file by nickm]
lease enter the commit message for your changes. Lines starting
2016-05-04 14:45:09 -04:00
Nick Mathewson
230a3d1400
Merge branch 'maint-0.2.8'
2016-05-03 16:12:29 -04:00
Yawning Angel
8f292f1c33
Fix keccak-tiny portability on exotic
platforms.
...
* SHA-3/SHAKE use little endian for certain things, so byteswap as
needed.
* The code was written under the assumption that unaligned access to
quadwords is allowed, which isn't true particularly on non-Intel.
2016-05-03 16:12:07 -04:00
Nick Mathewson
5845c22822
Ed25519 test vectors from draft-irtf-cfrg-eddsa-05
2016-05-03 09:54:26 -04:00
Nick Mathewson
54697fa40b
Add test vector for AES_CTR from NIST SP800-38a sec F.5
2016-05-03 09:40:47 -04:00
Nick Mathewson
44a3248197
Add test vector for Curve25519 from RFC7748
2016-05-03 09:31:34 -04:00
Nick Mathewson
405b637598
tests for some of the simpler functions in crypto.c
2016-05-03 09:21:08 -04:00
Nick Mathewson
d1f2af57df
White-box tests for crypto_rand_*_range(), rand_hostname().
...
Coverage-driven; part of ticket 16794.
2016-05-03 09:21:07 -04:00
Nick Mathewson
8340becd39
Merge branch 'maint-0.2.8'
2016-05-02 14:02:15 -04:00
s0rlxmh0
054d939853
(cherry-picked by nickm, with changes file from isis.)
2016-05-02 14:01:36 -04:00
Nick Mathewson
b2083cba9e
Merge remote-tracking branch 'dgoulet/bug13239_029_01'
2016-05-02 13:55:00 -04:00
Nick Mathewson
b72aa18d73
test_bt.sh: Check stderr for backtrace as well as stdout.
...
addresssanitizer likes to put backtraces on stderr.
2016-05-02 12:58:58 -04:00
teor (Tim Wilson-Brown)
b6ba6afa37
Refactor DirPort & begindir descriptor checks
...
No actual behaviour changes
2016-04-28 12:26:39 +10:00
teor (Tim Wilson-Brown)
211e56ad87
Remove redundant descriptor checks for OR/Dir reachability
...
The ORPort and DirPort must be reachable, or we won't publish a
descriptor.
2016-04-28 12:26:39 +10:00
teor (Tim Wilson-Brown)
b51316c0e7
Refactor common code out of reachability checks
...
No actual changes in behavior
2016-04-28 12:26:39 +10:00
teor (Tim Wilson-Brown)
d3c60f2bd7
Avoid checking ORPort reachability when the network is disabled
...
This is consistent with existing DirPort reachability checks.
2016-04-28 12:26:38 +10:00
teor (Tim Wilson-Brown)
05cf286713
Make mock function static to prevent future clashes
2016-04-28 12:26:38 +10:00
teor (Tim Wilson-Brown)
75dd2a285b
Descriptors depend on more config options now they list begindir support
...
Bugfix on #12538 in 0.2.8.1-alpha.
2016-04-28 12:26:38 +10:00
teor (Tim Wilson-Brown)
692828bea5
Decide to advertise begindir support like we decide to advertise DirPort
...
Decide to advertise begindir support in a similar way to how
we decide to advertise DirPort.
Fix up the associated descriptor-building unit tests.
Resolves #18616 , bugfix on 0c8e042c30
in #12538 in 0.2.8.1-alpha.
2016-04-28 12:26:38 +10:00
Nick Mathewson
fb9c9e04f0
Merge branch 'maint-0.2.8'
2016-04-26 19:27:39 -04:00
teor (Tim Wilson-Brown)
1fd4340f82
April 2016 fallbacks for 0.2.8-rc
2016-04-26 19:26:22 -04:00
Nick Mathewson
4a44e2d6f1
Merge remote-tracking branch 'yawning-schwanenleid/feature18685'
2016-04-26 13:39:50 -04:00
Nick Mathewson
bff53aabce
Remove redundant declarations of MIN
...
Apparently somewhere along the line we decided that MIN might be
missing.
But we already defined it (if it was missing) in compat.h, which
everybody includes.
Closes ticket 18889.
2016-04-25 15:28:58 -04:00
Nick Mathewson
26db1b65b9
Remove trunnel files from libor/libcrypto, since they are in libtrunnel. Found with modularity tool.
2016-04-20 13:39:07 -04:00
David Goulet
1e553b6c68
Increase number of preemptive internal circuits
...
When we connect to a hidden service as a client we may need three internal
circuits, one for the descriptor retrieval, introduction, and rendezvous.
Let's try to make sure we have them. Closes #13239 .
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2016-04-19 14:24:20 -04:00
Nick Mathewson
520799f084
Merge branch 'handles_squashed'
2016-04-19 14:08:05 -04:00
Nick Mathewson
e015f7c9cc
Basic 'handle' implementation and tests.
...
This abstraction covers the case where one part of the program needs
to refer to another object that is allowed to disappear.
2016-04-19 14:07:43 -04:00
Nick Mathewson
94e3555187
Merge remote-tracking branch 'public/lcov_excl'
2016-04-19 14:05:51 -04:00
Nick Mathewson
4f37919fa1
Change UseOptimisticData default to 1.
...
This lets us use optimistic data for downloading our initial
consensus.
Closes ticket 18815.
2016-04-18 13:55:23 -04:00
Nick Mathewson
12e26a6e76
Disambiguate: Avoid defining two static functions called chunk_free_unchecked
2016-04-15 12:20:14 -04:00
Nick Mathewson
8c6b528b00
Disambiguate: Avoid defining two static functions both called gettweak()
2016-04-15 12:19:51 -04:00
Nick Mathewson
381dae43b6
Add branch prediction to util_bug.h, and fix a bug.
2016-04-15 09:12:03 -04:00
Nick Mathewson
c77cf8825a
Quick function to find out the timeout object's view of "now"
2016-04-15 09:03:22 -04:00
Nick Mathewson
9d6c530015
Fix compilation of timeout.c with our flags and warnings.
2016-04-15 09:03:22 -04:00
Nick Mathewson
05499b6ded
Add timeouts to libor-event.a
2016-04-15 09:03:22 -04:00
Nick Mathewson
32e80ea3d3
Import timeouts.c directly from William Ahern's git.
...
Imported from here: https://github.com/wahern/timeout
Imported as of upstream e5a9e8bfaa9c631bdc54002181795931b65bdc1a.
All sources unmodified.
2016-04-15 09:03:22 -04:00
Nick Mathewson
0e354ad459
Merge branch 'assert_nonfatal_squashed'
2016-04-14 16:25:21 -04:00
Nick Mathewson
a86ed1d717
Add an IF_BUG_ONCE macro, since that's a pretty common pattern too.
2016-04-14 16:25:07 -04:00
Nick Mathewson
532820b11c
Add a BUG macro for usage in if checks.
2016-04-14 16:25:06 -04:00
Nick Mathewson
a885271c08
Add new tor_assert_nonfatal*() macros.
...
Unlike tor_assert(), these macros don't abort the process. They're
good for checking conditions we want to warn about, but which don't
warrant a full crash.
This commit also changes the default implementation for
tor_fragile_assert() to tor_assert_nonfatal_unreached_once().
Closes ticket 18613.
2016-04-14 16:24:28 -04:00
Roger Dingledine
525307c0ea
fix typos/etc before i go nuts on #18809
2016-04-13 00:06:30 -04:00
Nick Mathewson
0630f1982d
Add LCOV_EXCL* markers to crypto.c and crypto_s2k.c
...
This marks some lines as unreachable by the unit tests, and as
therefore excluded from test coverage.
(Note: This convention is only for lines that are absolutely
unreachable. Don't use it anywhere you wouldn't add a
tor_fragile_assert().)
2016-04-12 21:13:33 -04:00
Roger Dingledine
0aacc07036
encourage rejected relays to contact us
...
When the directory authorities refuse a bad relay's descriptor,
encourage the relay operator to contact us. Many relay operators
won't notice this line in their logs, but it's a win if even a
few learn why we don't like what their relay was doing.
Resolves ticket 18760.
I didn't specify a contact mechanism (e.g. an email address), because
every time we've done that in the past, a few years later we noticed
that the code was pointing people to an obsolete contact address.
2016-04-12 19:54:04 -04:00
Nick Mathewson
eafcd7b0fc
Merge branch 'maint-0.2.8'
2016-04-12 13:02:37 -04:00
Nick Mathewson
7babf33239
Merge remote-tracking branch 'public/bug18716_027' into maint-0.2.8
2016-04-12 13:02:02 -04:00
Nick Mathewson
1a065cea46
Do not link tests against both libor.a and libor-testing.a
...
Also, put libor-testing.a at a better position in the list of
libraries, to avoid linker errors.
This is a fix, or part of a fix, for 18490.
Conflicts:
src/test/include.am
2016-04-12 02:48:46 +00:00
Nick Mathewson
39c057d45a
memarea: Don't assume that sizeof(ulong) >= sizeof(void*).
...
Fixes bug 18716; bugfix on 0.2.1.1-alpha where memarea.c was
introduced. Found by wbenny.
2016-04-07 11:10:14 -04:00
Nick Mathewson
591029253f
Merge branch 'bug14334_squashed'
2016-04-07 10:59:55 -04:00
George Kadianakis
d5acb633ae
Don't mark guards as unreachable if connection_connect() fails.
2016-04-07 10:59:46 -04:00
David Goulet
40827da3bf
Turn TestingClientBootstrap* into non-testing options
...
This changes simply renames them by removing "Testing" in front of them and
they do not require TestingTorNetwork to be enabled anymore.
Fixes #18481
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2016-04-07 10:57:59 -04:00
Nick Mathewson
7532cd439b
When we get a bad nickname, explain what a good one is.
...
Closes #18300 ; patch from "icanhasaccount".
2016-04-07 10:54:53 -04:00
Nick Mathewson
e703484722
Merge branch 'maint-0.2.8'
2016-04-07 10:46:15 -04:00
Nick Mathewson
d8a056daed
Merge branch 'maint-0.2.7' into maint-0.2.8
2016-04-07 10:46:07 -04:00
Nick Mathewson
ad4ff7a5b9
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-04-07 10:45:46 -04:00
Nick Mathewson
2ce99b9f48
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-04-07 10:45:38 -04:00
Nick Mathewson
34a51d1621
Merge branch 'maint-0.2.4' into maint-0.2.5
2016-04-07 10:45:32 -04:00
Karsten Loesing
97c6e717b9
Update geoip and geoip6 to the April 5 2016 database.
2016-04-07 11:10:09 +02:00
Nick Mathewson
d5b3679392
Merge branch 'maint-0.2.8'
2016-04-05 23:56:21 -04:00
Nick Mathewson
d7a0382ba3
Don't call the system toupper or tolower.
...
Yes, we could cast to unsigned char first, but it's probably safest
to just use our own (in test_util), or remove bad-idea features that
we don't use (in readpassphrase.c).
Fixes 18728.
2016-04-05 23:22:28 -04:00
Nick Mathewson
20d39e86af
Merge branch 'maint-0.2.8'
2016-04-05 23:18:48 -04:00
Roger Dingledine
d037369e56
quiet debug logs from periodic_event_dispatch()
...
Stop blasting twelve lines per second from periodic_event_dispatch()
at loglevel debug.
Resolves ticket 18729; fix on 0.2.8.1-alpha.
2016-04-05 23:13:55 -04:00
Nick Mathewson
b46d126e64
Merge branch 'maint-0.2.8'
2016-04-05 10:38:53 -04:00
Nick Mathewson
967491f156
Only define NEW_THREAD_API when not building with LibreSSL.
2016-04-05 10:38:15 -04:00
Nick Mathewson
16f7851807
Merge remote-tracking branch 'teor/bug18720'
2016-04-05 10:08:11 -04:00
Nick Mathewson
6720628c97
Merge branch 'maint-0.2.8'
2016-04-05 10:06:18 -04:00
Yawning Angel
5db21f8f81
OpenSSL 1.1.0-pre5-dev and later made BIO opaque.
...
Detect newer versions and fix our TLS code to use the new API.
2016-04-05 10:03:24 -04:00
Yawning Angel
6729d7328c
OpenSSL 1.1.0-pre4 and later(?) have a new "thread API".
...
It appears that setting the various callbacks is no longer required, so
don't.
2016-04-05 10:03:24 -04:00
teor (Tim Wilson-Brown)
6a2b4db4f9
Fix a comment typo in compat.h
2016-04-05 13:45:37 +10:00
teor (Tim Wilson-Brown)
5d2b1c784b
Clarify comments on connection_t's address fields
2016-04-05 13:45:09 +10:00
Nick Mathewson
7865402106
Move tor_assert implementation into its own header/module.
2016-04-04 11:06:04 -04:00
Nick Mathewson
705d3b221e
Merge branch 'incoming_queue_symbol_fix'
2016-04-01 14:16:49 -04:00
Nick Mathewson
4b3e6c4d43
Merge branch 'maint-0.2.8'
2016-04-01 08:18:03 -04:00
Nick Mathewson
fdb57db581
Merge branch 'bug18133_027' into maint-0.2.8
2016-04-01 08:17:56 -04:00
Nick Mathewson
4093f343ca
fix indentation
2016-04-01 08:16:21 -04:00
Nick Mathewson
9e57ffa520
Merge branch 'maint-0.2.8'
2016-04-01 08:15:05 -04:00
Nick Mathewson
e247093e0e
Merge remote-tracking branch 'karsten/task-18460-2' into maint-0.2.8
2016-04-01 08:10:58 -04:00
Yawning Angel
a19f4192da
Issue a STATUS_SERVER
event on meaningful hibernation state changes.
...
Implements feature #18685 .
2016-03-30 20:19:11 +00:00
Andrea Shepard
183d465f0e
Merge branch 'bug15221_027' into maint-0.2.7
2016-03-30 12:23:42 +00:00
Nick Mathewson
beba70ec77
Don't declare "incoming_queue" in every file including channel.h
...
Found with my wacky symbol-usage-enforcer.
2016-03-29 13:55:14 -04:00
Andrea Shepard
0b45cab147
Merge branch 'bug18570_027' into maint-0.2.7
2016-03-29 15:01:36 +00:00
Roger Dingledine
1103d82492
fix typo in comment
2016-03-29 10:56:26 -04:00
Andrea Shepard
1218d731d1
Merge branch 'bug16248_027' into maint-0.2.7
2016-03-29 14:33:45 +00:00
Nick Mathewson
4e76b206b5
Merge remote-tracking branch 'arma/feature18624'
2016-03-29 08:06:21 -04:00
Nick Mathewson
90c24c0ced
Merge branch 'maint-0.2.8'
2016-03-28 20:09:22 -04:00
Nick Mathewson
ba87f5bb25
Fix my dumb unreleased bug in 18673
2016-03-28 20:09:09 -04:00
Nick Mathewson
055a7a198a
Rename tor_dup_addr to tor_addr_to_str_dup.
...
Patch from icanhasaccount; closes 18462.
2016-03-28 16:36:51 -04:00
Nick Mathewson
3220bd816b
Merge branch 'maint-0.2.8'
2016-03-28 16:14:21 -04:00
Nick Mathewson
447b1c6b1d
Begin an 0.2.9 branch
2016-03-28 15:54:59 -04:00
Nick Mathewson
a3f36bfd81
and NOW the version is 0.2.8.2-alpha-dev
2016-03-28 15:53:17 -04:00
Nick Mathewson
5b12642d09
Bump version correctly this time
2016-03-28 11:22:20 -04:00
Nick Mathewson
addd181721
Fix memory leak in TestingEnableCellStatsEvent
...
Only when we were actually flushing the cell stats to a controller
would we free them. Thus, they could stay in RAM even after the
circuit was freed (eg if we didn't have any controllers).
Fixes bug 18673; bugfix on 0.2.5.1-alpha.
2016-03-28 11:12:15 -04:00
Nick Mathewson
68e663f777
Fix memory leaks that stopped chutney working with asan
2016-03-28 10:24:28 -04:00
Nick Mathewson
1d315b28a2
Fix a memory leak in tor-gencert.
...
This way I can run chutney under asan.
Fixes part of 18672.
2016-03-28 10:21:41 -04:00
Nick Mathewson
fc877b3c9e
Bump the version number
2016-03-28 09:32:14 -04:00
Nick Mathewson
32e8886314
One more test that didnt pass on windows. See #18665 .
2016-03-28 08:57:29 -04:00
Nick Mathewson
9604a5ba91
Fix memory-counting error in rephist.c. Bug 18651. (Now with actual patch)
2016-03-28 07:40:20 -04:00
Nick Mathewson
4895d8288c
Do not treat "DOCDOC" as doxygen.
2016-03-26 10:11:45 -04:00
Nick Mathewson
cc90b57b04
add a little documentation to memarea. (I have been testing a tool.)
2016-03-26 10:09:19 -04:00
Nick Mathewson
c0568a89d9
Whitespace fixes
2016-03-26 09:54:31 -04:00
Nick Mathewson
dd572dac34
Fix all doxygen warnings (other than missing docs)
2016-03-26 09:53:12 -04:00
Nick Mathewson
c81b1358e7
Merge branch 'bug18649_squashed'
2016-03-26 08:17:19 -04:00
teor (Tim Wilson-Brown)
6057fb2f5b
Clarify excess consensus connection cleanup by adding comments
...
Comment-only change
2016-03-26 08:16:33 -04:00
Nick Mathewson
24c0c5ef19
Disable failing broken time format case for windows.
2016-03-25 22:00:20 -04:00
Nick Mathewson
8d16c2f30e
Merge remote-tracking branch 'arma/bug18625'
2016-03-25 17:19:59 -04:00
Nick Mathewson
4bb44f2c15
Only check in-boundsness of seconds when time_t is smaller than i64
...
Otherwise coverity complains that we're checking an whether an int64 is
less than INT64_MIN, which of course it isn't.
Fixes CID 1357176. Not in any released Tor.
2016-03-25 16:46:02 -04:00
Karsten Loesing
b79d8590c9
Include IPv6 consensus downloads in dirreq stats.
...
Fixes #18460 .
2016-03-25 20:56:29 +01:00
Roger Dingledine
8251fe5150
use a clearer argument for connection_ap_make_link()
...
that function calls it argument "want_onehop", so it makes more
sense to pass that boolean into it.
2016-03-24 19:57:39 -04:00
Roger Dingledine
98abd49f6f
remove the extraneous dir_port variable
...
we already are using "port" to describe the place we're going to
ask to connect to.
2016-03-24 19:14:32 -04:00
Roger Dingledine
fbd79f38c2
remove a redundant check about whether dirport is 0
2016-03-24 19:14:31 -04:00
Roger Dingledine
f590a303db
revert the or_connection and dir_connection flags
...
They incorrectly summarized what the function was planning to do,
leading to wrong behavior like making an http request to an orport,
or making a begindir request to a dirport.
This change backs out some of the changes made in commit e72cbf7a
, and
most of the changes made in commit ba6509e9
.
This patch resolves bug 18625. There more changes I want to make
after this one, for code clarity.
2016-03-24 19:14:21 -04:00
Nick Mathewson
d5f50cb052
Merge remote-tracking branch 'dgoulet/bug18623_028_01'
2016-03-24 15:03:50 -04:00
Roger Dingledine
c4208ef65f
dir auths only give Guard if they're giving Stable
...
This change allows us to simplify path selection for clients, and it
should have minimal effect in practice since >99% of Guards already have
the Stable flag. Implements ticket 18624.
2016-03-24 15:00:01 -04:00
David Goulet
ba6509e9e1
Fix broken directory request to the DirPort
...
Commit e72cbf7a4
introduced a change to directory_initiate_command_rend()
that made tor use the ORPort when making a directory request to the DirPort.
The primary consequence was that a relay couldn't selftest its DirPort thus
failing to work and join the network properly.
The main issue was we were always considering an anonymized connection to be
an OR connection which is not true.
Fixes #18623
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2016-03-24 13:57:53 -04:00
Nick Mathewson
4f86d75a4b
try to fix a test failure for sizeof(time_t)==4.
2016-03-24 12:26:46 -04:00
Nick Mathewson
6256c61d95
Merge branch 'timegm_overflow_squashed'
2016-03-24 10:18:00 -04:00
teor (Tim Wilson-Brown)
19fb86a2dc
Add a missing UL on a long in a unit test
2016-03-24 10:17:48 -04:00
teor (Tim Wilson-Brown)
b99bd3e7ff
Add unit tests with dates from 2035 to 2039
...
Platforms with 32-bit time_t sometimes give different results.
They don't always indicate failure on overflow, #18480 should
fix these.
2016-03-24 10:17:48 -04:00
teor (Tim Wilson-Brown)
e71e8e005a
Avoid overflow in tor_timegm on 32 bit platforms due to year 2038
2016-03-24 10:17:48 -04:00
Nick Mathewson
424af93ded
Merge branch 'bug18517_squashed'
2016-03-24 10:14:05 -04:00
teor (Tim Wilson-Brown)
f2153f9716
Always allow OR connections to bridges on private addresses
...
Regardless of the setting of ExtendAllowPrivateAddresses.
This fixes a bug with pluggable transports that ignore the
(potentially private) address in their bridge line.
Fixes bug 18517; bugfix on 23b088907f
in tor-0.2.8.1-alpha.
2016-03-24 10:13:58 -04:00
Nick Mathewson
54559e5845
Merge remote-tracking branch 'teor/bug18351'
2016-03-24 09:33:58 -04:00
Nick Mathewson
ea9472d085
Merge remote-tracking branch 'teor/bug18489'
2016-03-24 09:01:28 -04:00
teor (Tim Wilson-Brown)
b1569e39c8
Check if fallbacks support extrainfo descriptors before requesting them
...
When requesting extrainfo descriptors from a trusted directory
server, check whether it is an authority or a fallback directory
which supports extrainfo descriptors.
Fixes bug 18489; bugfix on 90f6071d8d
in tor-0.2.4.7-alpha.
Reported by "atagar", patch by "teor".
2016-03-24 22:03:58 +11:00
teor (Tim Wilson-Brown)
eb5a262a15
Code indentation whitespace-only fix
2016-03-24 21:56:37 +11:00
teor (Tim Wilson-Brown)
355f78364a
Clarify ReachableAddress log messages
...
Make it clearer that they are about outgoing connection attempts.
Specify the options involved where they were missing from one log
message.
Clarify a comment.
2016-03-24 20:59:49 +11:00
teor (Tim Wilson-Brown)
f2a344e397
Downgrade IP version warnings to avoid filling logs
...
Downgrade logs and backtraces about IP versions to
info-level. Only log backtraces once each time tor runs.
Assists in diagnosing bug 18351; bugfix on c3cc8e16e
in
tor-0.2.8.1-alpha.
Reported by "sysrqb" and "Christian", patch by "teor".
2016-03-24 10:39:23 +11:00
Nick Mathewson
7123e9706e
Repair build when no sandbox support is enabled.
2016-03-22 13:18:18 -04:00
Nick Mathewson
ca8423a703
Merge remote-tracking branch 'public/bug18253'
2016-03-22 10:08:50 -04:00
Nick Mathewson
dae8484107
Try to fix an intermittent test failure on openbsd.
2016-03-22 09:12:59 -04:00
Nick Mathewson
9dff41694a
Never use sprintf. tor_snprintf instead. Bug in tests, not in any released tor.
2016-03-22 08:52:17 -04:00
Nick Mathewson
a17537a238
Fix an fd leak in check_private_dir().
...
The fd would leak when the User wasn't recogniezed by
getpwnam(). Since we'd then go on to exit, this wasn't a terribad
leak, but it's still not as nice as no leak at all.
CID 1355640; bugfix on no released Tor.
2016-03-22 08:29:51 -04:00
Roger Dingledine
580e549f75
remove extraneous breaks
...
commit edeba3d4
removed a switch, but left the "break" lines in
from that switch. fortunately the resulting behavior was not wrong,
since there was an outer switch that it was ok to break from.
2016-03-21 17:11:18 -04:00
Roger Dingledine
4861e24552
fix indentation after #18332 patches
...
no actual changes here -- but the new indenting makes it clear
that the fixes in #18332 were not as good as they should have been.
the next commit will deal with that.
2016-03-21 17:08:02 -04:00
Nick Mathewson
6a91cab79c
Merge branch 'maint-0.2.7'
2016-03-21 13:26:04 -04:00
Nick Mathewson
e1e62f9d57
Merge branch 'ed25519_voting_fixes_squashed' into maint-0.2.7
2016-03-21 13:25:12 -04:00
Nick Mathewson
2f2fba8a91
Use nth consistently in dircollate.h.
...
Documentation-only patch. Issue 17668.T6.
2016-03-21 13:24:09 -04:00
Nick Mathewson
b24f15a9a1
In routers_make_ed_keys_unique, break ties for published_on
...
This ensures that if we can't use published_on to decide an ed,rsa
mapping, we at least decide deterministically.
Resolves 17668.T3
2016-03-21 13:24:09 -04:00
Nick Mathewson
beef6ed451
Assert that dircollator is collated when we're reading its output.
...
Fix for 17668.S2.
2016-03-21 13:24:09 -04:00
Nick Mathewson
48f8229504
After we strip out duplicate entries from 'routers', don't use 'rl'.
...
We've got to make sure that every single subsequent calculation in
dirserv_generate_networkstatus_vote_obj() are based on the list of
routerinfo_t *after* we've removed possible duplicates, not before.
Fortunately, none of the functions that were taking a routerlist_t
as an argument were actually using any fields other than this list
of routers.
Resolves issue 18318.DG3.
2016-03-21 13:24:09 -04:00
Nick Mathewson
fa07c60c67
Fix another case of 17668: Add NoEdConsensus
...
I had a half-built mechanism to track, during the voting process,
whether the Ed25519 value (or lack thereof) reflected a true
consensus among the authorities. But we never actually inserted this
field in the consensus.
The key idea here is that we first attempt to match up votes by pairs
of <Ed,RSA>, where <Ed> can be NULL if we're told that there is no
Ed key. If this succeeds, then we can treat all those votes as 'a
consensus for Ed'. And we can include all other votes with a
matching RSA key and no statement about Ed keys as being "also about
the same relay."
After that, we look for RSA keys we haven't actually found an entry
for yet, and see if there are enough votes for them, NOT considering
Ed keys. If there are, we match them as before, but we treat them
as "not a consensus about ed".
When we include an entry in a consensus, if it does not reflect a
consensus about ed keys, then we include a new NoEdConsensus flag on
it.
This is all only for consensus method 22 or later.
Also see corresponding dir-spec patch.
2016-03-21 13:24:09 -04:00
Nick Mathewson
60ca3f358f
Document has_ed25519_listing
2016-03-21 13:23:32 -04:00
Nick Mathewson
13a31e72db
Never vote for an ed key twice.
...
When generating a vote, and we have two routerinfos with the same ed
key, omit the one published earlier.
This was supposed to have been solved by key pinning, but when I
made key pinning optional, I didn't realize that this would jump up
and bite us. It is part of bug 18318, and the root cause of 17668.
2016-03-21 13:23:32 -04:00
Nick Mathewson
c20e34e189
Fix log message subjects in networkstatus_parse_vote_from_string()
...
Some of these messages called the thing being parsed a "vote" whether
it is a vote or a consensus.
Fixes bug 18368.
2016-03-21 13:23:32 -04:00
Nick Mathewson
6182e34628
Document dircollate.c (and remove an unused global)
2016-03-21 13:23:32 -04:00
Nick Mathewson
233180a9ab
Merge remote-tracking branch 'public/bug18548'
2016-03-21 12:36:41 -04:00
Nick Mathewson
005a20ec85
Log a better message when OfflineMasterKey is set.
...
Fixes bug 18133; bugfix on 0.2.7.2-alpha.
2016-03-21 11:57:23 -04:00
Nick Mathewson
d567796946
Merge remote-tracking branch 'public/bug17443_v2'
2016-03-21 11:21:31 -04:00
Nick Mathewson
ddd30f966a
Merge remote-tracking branch 'arma/ticket18332-try3'
2016-03-21 10:41:23 -04:00
Nick Mathewson
13eb120bea
Merge remote-tracking branch 'special/bug18600'
2016-03-21 10:32:39 -04:00
Nick Mathewson
cb3f9bc2d4
Merge branch 'bug18570_027'
2016-03-21 10:20:16 -04:00
Andrea Shepard
bd87d37a86
Make sure channel_t queues its own copy of incoming cells
2016-03-21 10:14:47 -04:00
Andrea Shepard
1cdc7fddb2
Add new channel/queue_incoming unit tests; modify channel unit tests for new clarified handling of alloc/free responsibility for queued incoming cells
2016-03-21 10:14:47 -04:00
Steven Chamberlain
a42938c076
test_options.c: assert that TransProxyType is tested
...
If a new platform defines USE_TRANSPARENT, ensure that a test runs for
its TransProxyType.
2016-03-21 09:51:35 -04:00
John Brooks
2c057c2833
Scrub service name in introduction circuit warning
...
Fixes bug 18600.
2016-03-21 19:23:28 +07:00
Steven Chamberlain
45681f695c
test_options.c: NULL a pointer after free #18447
...
tdata will be double-freed if none of linux, __FreeBSD__, DARWIN or
__OpenBSD__ are defined. (For example, FreeBSD derivatives).
2016-03-17 19:20:36 -04:00
Roger Dingledine
e28448a23e
Bridges now refuse "rendezvous2" publish attempts
...
Suggested during review of ticket 18332.
2016-03-16 16:46:14 -04:00
Nick Mathewson
368825ff45
Sandbox: Don't preseed getaddrinfo(gethostname()) in client mode.
...
If we're a server with no address configured, resolve_my_hostname
will need this. But not otherwise. And the preseeding itself can
consume a few seconds if like tails we have no resolvers.
Fixes bug 18548.
2016-03-15 11:19:59 -04:00
Nick Mathewson
b48f8a8114
Fix whitespace.
2016-03-15 09:21:29 -04:00
Nick Mathewson
c9899ee640
Merge remote-tracking branch 'weasel/bug18458'
2016-03-15 09:18:24 -04:00
Peter Palfrader
d8626d34e5
Fix log message: say RelaxDirModeCheck instead of StrictDirModes
2016-03-14 20:27:53 +01:00
Nick Mathewson
4b02af452d
Merge branch 'bug15221_027'
2016-03-14 14:10:47 -04:00
Nick Mathewson
dd7c999617
Make unix sockets work with the linux seccomp2 sandbox again
...
I didn't want to grant blanket permissions for chmod() and chown(),
so here's what I had to do:
* Grant open() on all parent directories of a unix socket
* Write code to allow chmod() and chown() on a given file only.
* Grant chmod() and chown() on the unix socket.
2016-03-14 14:07:02 -04:00
Nick Mathewson
0cdeac77e0
Don't chmod/chown unix sockets if their permissions are already ok
...
This is a part of a fix for 18253; bugfix on 0.2.8.1-alpha.
Alternatively, we could permit chmod/chown in the sandbox, but I
really don't like giving the sandbox permission to alter
permissions.
2016-03-14 13:40:44 -04:00
Nick Mathewson
725e0c76e3
Permit setrlimit, prlimit, prlimit64 calls.
...
We call setrlimit under some circumstances, and it can call prlimit
and prlimit64 under the hood.
Fixes bug 15221.
2016-03-14 13:21:16 -04:00
Nick Mathewson
36ad65a7d1
When using open() to make sure we created a dir, close the fd afterwards
...
Found by coverity. Not in any released Tor. Fixes CID 1355640.
Also, don't check for fd correctness with assert(fd). You need to
assert (fd >= 0).
2016-03-14 13:03:44 -04:00
Nick Mathewson
a64be7eaa9
Merge remote-tracking branch 'public/bug16248_027'
2016-03-14 12:53:57 -04:00
Nick Mathewson
307b863556
Add comments to connection_check_event().
2016-03-14 12:53:21 -04:00
David Goulet
d8b93b31a0
hs: Do not close desc fetch conn. if we can't pick an HSDir
...
Launching 7 descriptor fetches makes a connection to each HSDir that is 6
and the seventh one fails to pick an HSDir because they are all being used
already so it was killing all pending connections at once.
Fixes #15937
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2016-03-14 11:00:46 -04:00
Nick Mathewson
a86f78a9f2
Merge remote-tracking branch 'teor/bug17153'
2016-03-11 11:23:58 -05:00
Nick Mathewson
fe0d346a6d
Merge remote-tracking branch 'teor/bug8976_01_028'
2016-03-11 11:11:38 -05:00
Nick Mathewson
91d7cf50c6
Change behavior on missing/present event to warn instead of asserting.
...
Add a changes file.
2016-03-11 10:50:36 -05:00
Roger Dingledine
edeba3d472
simplify rend_cache_store_status_t back to a boolean
...
it used to be a tri-state, but now it's just a bi-state, so we can
take out all the machinery like the enum.
2016-03-11 10:49:57 -05:00
Roger Dingledine
dc500c8cb4
rip out rend_id_is_in_interval()
...
it was used by hid_serv_responsible_for_desc_id(), which we no
longer use.
2016-03-11 10:46:21 -05:00
Roger Dingledine
5390296338
rip out hid_serv_acting_as_directory()
...
When we made HidServDirectoryV2 always 1, we removed the situation
where a relay could choose not to be an HSDir. Now simplify the
rest of the code to reflect this decision.
(We have to remove two apparently unrelated free() calls in the unit
tests, since they used to free stuff that we created as a side effect
of calling router_get_my_routerinfo(), and now we no longer call that.)
2016-03-11 10:45:03 -05:00
Roger Dingledine
e167910fce
rip out hid_serv_responsible_for_desc_id()
...
This simplifies relay behavior, because the relay offers the hsdir
functionality independent of whether the directory authorities have
decided this relay is suitable for clients to use yet.
Implements ticket 18332.
2016-03-11 10:40:31 -05:00
Nick Mathewson
e79da62645
If we start/stop reading on a dnsserv connection, don't assert.
...
Fixes bug 16248. Patch from cypherpunks. Bugfix on 0.2.0.1-alpha.
2016-03-11 10:33:19 -05:00
Nick Mathewson
656e23171d
Merge remote-tracking branch 'teor/bug18454'
2016-03-11 10:22:41 -05:00
Nick Mathewson
36ac47bd85
Merge remote-tracking branch 'public/bug18204_028'
2016-03-11 10:10:15 -05:00
Nick Mathewson
ef31c8862f
Add changes file for 18448; refactor
...
(I've made it so FreeBSD || FreeBSD_kernel is enough to ensure that
we think you might have ipfw, and so that the logic is all in one
place.)
2016-03-11 10:05:28 -05:00
Steven Chamberlain
db263442af
enable and test transproxy on FreeBSD derivatives #18448
...
The transproxy feature is only enabled when __FreeBSD__ is defined, and
only regular FreeBSD does that. Change this to __FreeBSD_kernel__ which
is defined on derivatives as well.
This enables the relevant options/validate__transproxy test on FreeBSD
derivatives.
2016-03-11 10:01:25 -05:00
Nick Mathewson
82df3e70ac
Do not link tests against both libor.a and libor-testing.a
...
Also, put libor-testing.a at a better position in the list of
libraries, to avoid linker errors.
This is a fix, or part of a fix, for 18490.
2016-03-11 09:53:25 -05:00
Hassan Alsibyani
b1917a0614
moving hid_serv_get_responsible_directories and hid_serv_acting_as_directory from routerlist.c to rendcommon.c
2016-03-11 09:15:48 -05:00
Nick Mathewson
58bcae37a2
Merge branch 'maint-0.2.7'
2016-03-09 10:37:00 -05:00
Nick Mathewson
17cfdb358c
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-03-09 10:36:50 -05:00
Nick Mathewson
443dddb749
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-03-09 10:36:35 -05:00
Nick Mathewson
21f9829e79
Merge branch 'maint-0.2.4' into maint-0.2.5
2016-03-09 10:36:20 -05:00
teor (Tim Wilson-Brown)
9f98e6535a
Correctly duplicate addresses in get_interface_address6_list
2016-03-04 18:42:27 +01:00
teor (Tim Wilson-Brown)
2627299ef0
Avoid freeing an uninitialised pointer in get_interface_addresses_ioctl
2016-03-04 18:41:49 +01:00
teor (Tim Wilson-Brown)
b0ca80c23f
Reject multicast rendezvous point addresses
...
Unless ExtendAllowPrivateAddresses is 1.
2016-03-04 18:21:13 +01:00
Karsten Loesing
8e2640b15a
Update geoip and geoip6 to the March 3 2016 database.
2016-03-04 10:56:51 +01:00
teor (Tim Wilson-Brown)
10330c1234
Remove an extraneous space in a log message
2016-03-01 19:08:02 +01:00
Peter Palfrader
1ef7df551d
First RelaxDirModeCheck implementation
2016-03-01 17:08:14 +01:00
teor (Tim Wilson-Brown)
2120e14009
Allow internal IPv6 addresses in descriptors in private networks
2016-03-01 16:48:16 +01:00
Nick Mathewson
9fc472e1a8
clean/extend some module docs, including fix from #18403
2016-02-28 17:57:47 +01:00
Nick Mathewson
69fc025e95
Merge remote-tracking branch 'teor/fallbacks-201602-v2'
2016-02-28 15:51:22 +01:00
Nick Mathewson
88ad2f5fb2
Merge remote-tracking branch 'teor/bug18123'
2016-02-28 15:40:35 +01:00
Alexander Færøy
d4c5ccf79c
Use the kdf_rfc5869() function instead of kdf().
...
This patch fixes an issue in "ntor_ref.py gen_kdf_vectors" where the
script tries to call the undefined function kdf().
2016-02-28 15:24:59 +01:00
Nick Mathewson
57699de005
Update the copyright year.
2016-02-27 18:48:19 +01:00
Nick Mathewson
f4864d37ec
It appears I added an empty file by mistake.
2016-02-27 18:25:51 +01:00
Nick Mathewson
23f8c9b32f
Add a brief file-level description for everything in src/common
2016-02-27 18:19:57 +01:00
Nick Mathewson
fe6ca826df
Make sure that every module in src/or has a brief description.
2016-02-27 18:08:24 +01:00
Nick Mathewson
d5cbc21ad1
Fix an unused-variable warning
2016-02-27 10:20:15 +01:00
Nick Mathewson
0a276947ba
Merge branch 'bug18392'
2016-02-27 10:17:51 +01:00
teor (Tim Wilson-Brown)
e2202146d1
Update default fallback directories for 0.2.8.2-alpha (Feb 2016)
...
Allow fallback directories which have been stable for 7 days
to work around #18050 , which causes relays to submit descriptors
with 0 DirPorts when restarted. (Particularly during Tor version
upgrades.)
Ignore low fallback directory count in alpha builds.
Set the target count to 50.
2016-02-27 10:04:00 +01:00
teor (Tim Wilson-Brown)
8e103cb2d0
Set EXCLUSIVEADDRUSE on Win32 to avoid a local port-stealing attack
2016-02-26 10:53:57 +01:00
Nick Mathewson
3687526c66
Merge remote-tracking branch 'teor/bug18384'
2016-02-25 13:46:34 -05:00
Nick Mathewson
7255b1121d
Fix check_private_dir() to work on Windows again.
...
On windows, you cannot open() a directory. So for Windows we should
just take our previous stat-based approach.
Closes bug 18392; bug not in any released Tor.
2016-02-25 13:34:12 -05:00
Nick Mathewson
7a782820e9
Make the sandbox work again with chutney.
...
Previously, we had a problem due to the check_private_dir() rewrite.
Bug not in any released Tor.
2016-02-24 16:01:24 -05:00
Nick Mathewson
f2e23d5ad6
Fix a huge number of leaks in test_config.c
...
I no longer see asan reporting memory leaks in the unit tests.
2016-02-24 15:44:40 -05:00
Nick Mathewson
a3f764ea69
Fix memory leaks in routerlist/pick_directory_server_impl test
2016-02-24 15:13:29 -05:00
Nick Mathewson
ba0ddd7467
Fix a leak in test_have_enough_mem_for_dircache
2016-02-24 15:06:12 -05:00
Nick Mathewson
73c433a48a
Remove the freelist from memarea.c
...
This is in accordance with our usual policy against freelists,
now that working allocators are everywhere.
It should also make memarea.c's coverage higher.
I also doubt that this code ever helped performance.
2016-02-24 14:32:09 -05:00
teor (Tim Wilson-Brown)
9ab1037de1
Silence clang-scan warnings in ed25519_donna
2016-02-24 23:24:01 +08:00
Nick Mathewson
1318c1611f
Another clang+_FORTIFY_SOURCE issue
...
There was a parenthesis issue in test_util that clang found
confusing. This part was only in master.
Closes issue 14821.
2016-02-23 14:06:45 -05:00
Nick Mathewson
a7f303a481
Merge branch 'maint-0.2.7'
2016-02-23 14:05:54 -05:00
Nick Mathewson
67e5d49d8a
Make clang asan work with FORTIFIED_SOURCE again.
...
Short version: clang asan hates the glibc strcmp macro in
bits/string2.h if you are passing it a constant string argument of
length two or less. (I could be off by one here, but that's the
basic idea.)
Closes issue 14821.
2016-02-23 14:05:34 -05:00
Nick Mathewson
94c8f3605f
Replace two instances of N_DIGEST_ALGORITHMS.
...
These should have been N_COMMON_DIGEST_ALGORITHMS.
Fixes bug 18380; bug not in any released Tor.
2016-02-23 12:42:10 -05:00
Nick Mathewson
d3af4f4e43
Merge remote-tracking branch 'arma/bug16825'
2016-02-23 10:45:39 -05:00
Nick Mathewson
e88686cb2c
Merge remote-tracking branch 'teor/bug18348-v2'
2016-02-23 07:36:56 -05:00
Nick Mathewson
48c1c028ca
Merge branch 'bug18296_squashed'
2016-02-23 07:32:18 -05:00
Nick Mathewson
21f72990db
Simple fix for integer overflow in smartlist_heapify.
2016-02-23 07:31:58 -05:00
Nick Mathewson
882e0fbd76
Merge branch 'bug17795'
2016-02-23 07:25:12 -05:00
Nick Mathewson
e202f3a1ca
Fix an erroneous renaming
...
Did you know that crypto_digest_all is a substring of
crypto_digest_alloc_bytes()? Hence the mysterious emergence of
"crypto_common_digestsoc_bytes".
Next time I should use the \b assertion in my regexen.
Spotted by Mike.
2016-02-23 07:22:53 -05:00
Nick Mathewson
b3534dfc5e
Add missing check to test_address_get_if_addrs_ifaddrs. Bug 18378
2016-02-23 07:17:00 -05:00
Andrea Shepard
cda2381789
Appease make check-spaces
2016-02-23 05:07:29 +00:00
Nick Mathewson
e019e11e61
Another memory leak in the tests
2016-02-22 16:20:11 -05:00
Nick Mathewson
4cc50ee805
Small fixup on last fix to test leaks
2016-02-22 16:16:56 -05:00
Nick Mathewson
041d6482db
Fix a bunch of memory leaks in the unit tests
2016-02-22 16:14:03 -05:00
Nick Mathewson
bb431ad3df
Add a missing free in parsing an :auto port
...
Fixes bug 18374; bugfix on 0.2.3.3-alpha.
2016-02-22 15:51:43 -05:00
Nick Mathewson
ef42c00cf0
asan does not like TO_CONN(NULL)
2016-02-22 15:45:37 -05:00
cypherpunks
1e9950847c
Define O_NOFOLLOW on platforms that do not have it
...
Fixes #18339
2016-02-22 15:28:24 -05:00
Nick Mathewson
a508119169
Update to trunnel 1.4.4 to fix 18373
2016-02-22 14:19:29 -05:00
Nick Mathewson
2240aa1269
Merge branch 'bug16023_028_01_squashed'
2016-02-22 13:17:58 -05:00
Nick Mathewson
60efce445b
Enable ed25519 collator in voting.
...
Previously, I had left in some debugging code with /*XXX*/ after it,
which nobody noticed. Live and learn! Next time I will use /*XXX
DO NOT COMMIT*/ or something.
We need to define a new consensus method for this; consensus method
21 shouldn't actually be used.
Fixes bug 17702; bugfix on 0.2.7.2-alpha.
2016-02-22 10:07:42 -05:00
Roger Dingledine
e3eaee1d2c
avoid redundant bootstrap events if the number of descs we just fetched is 0
2016-02-22 03:02:01 -05:00
Roger Dingledine
56c5e282a7
avoid extra LOG_NOTICE for every new microdesc batch
...
We already write out bootstrapping progress (see bug 9927) per new
microdesc batch. There's no need to do a full "I learned some more
directory information, but not enough to..." line each time too.
2016-02-22 02:55:42 -05:00
Roger Dingledine
43193ec888
refactor directory_info_has_arrived so we can quiet the logs
...
no actual behavior changes
2016-02-22 02:54:32 -05:00
Roger Dingledine
c6952f65ef
new microdescs mean progress towards bootstrapping
...
Now, when a user who has set EntryNodes finishes bootstrapping, Tor
automatically repopulates the guard set based on this new directory
information. Fixes bug 16825; bugfix on 0.2.3.1-alpha.
2016-02-22 02:47:57 -05:00
Roger Dingledine
a9993a92fb
fix two typos in comments
2016-02-22 02:34:50 -05:00
teor (Tim Wilson-Brown)
d359cfab13
Update unit tests for fascist_firewall_choose_address*
...
Check that clients, bridge clients, and relays choose addresses
as expected.
2016-02-21 00:00:40 +11:00
teor (Tim Wilson-Brown)
be16c16bda
Downgrade directory preference warning to info level
2016-02-20 23:42:08 +11:00
teor (Tim Wilson-Brown)
c281c03654
If both IPv4 and IPv6 addresses could be used, choose one correctly
...
If there is a node, use node_ipv6_or/dir_preferred().
If there is no node, use fascist_firewall_prefer_ipv6_or/dirport().
2016-02-20 23:40:37 +11:00
teor (Tim Wilson-Brown)
4afb107278
Refactor IPV6_OR_LOOKUP into fascist_firewall_choose_address_rs
...
It's only used once now, so having it as a macro is unhelpful.
2016-02-20 23:30:23 +11:00
teor (Tim Wilson-Brown)
a4853f1bc1
Make some fascist_firewall_choose_address* functions static
2016-02-20 23:30:17 +11:00
teor (Tim Wilson-Brown)
a4eddfff66
Refactor fascist_firewall_allows_address without changing behaviour
2016-02-20 20:01:51 +11:00
teor (Tim Wilson-Brown)
25543387ed
Ensure relays must use IPv4, and can use IPv6
...
A mistake in previous refactoring had relays using IPv4 and IPv6.
2016-02-20 19:28:51 +11:00
David Goulet
13a8571834
Add onion address to the HS_DESC UPLOADED event
...
Fixes #16023
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2016-02-17 15:30:46 -05:00
Nick Mathewson
5494938467
Set or_ap/dir_ap.port on the invalid addr case. Bug in no released Tor. CID 1353178 and 1353179.
2016-02-16 12:58:02 -05:00
Nick Mathewson
31c96a3699
Fix a NULL dereference on unit test failure. CID 1353177.
2016-02-16 12:55:41 -05:00
Nick Mathewson
5cd6c577df
Merge branch 'bug17852_revised'
2016-02-16 11:34:06 -05:00
Jeremy
f48c607fd9
Harden check_private_dir() to remove any potential race.
...
Remove any potential race between stat() and chmod().
Replace stat() with fstat().
Replace chmod() with fchmod()
2016-02-16 11:21:46 -05:00
Jeremy
4e19133dcc
src/common/util.c:expand_filename() - Perhaps use GetFullPathName() as a form of input validation on the filename argument.
2016-02-16 11:21:45 -05:00
Nick Mathewson
a874d66ea9
Handle the case where tor-gencert gets a passphrase with no NL
...
Closes ticket 17443.
2016-02-12 08:54:09 -05:00
Nick Mathewson
1f679d4ae1
Fix all doxygen warnings other than "X is not documented"
2016-02-11 22:06:44 -05:00
Nick Mathewson
fed8c5199a
Merge branch 'check_log_mutex_uncherrypicked'
2016-02-11 13:41:31 -05:00
teor (Tim Wilson-Brown)
a7a98e27ea
Initialise logging before trying to use it in unit tests
2016-02-11 13:41:25 -05:00
Nick Mathewson
7788ee43e5
Merge branch 'maint-0.2.7'
2016-02-11 13:04:43 -05:00
Nick Mathewson
be6174f8f6
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-02-11 13:01:46 -05:00
Nick Mathewson
740421af19
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-02-11 13:00:25 -05:00
Nick Mathewson
ce289e2cb5
Merge branch 'maint-0.2.4' into maint-0.2.5
2016-02-11 12:55:40 -05:00
Nick Mathewson
ad95d64fec
Merge branch 'bug18162_024' into maint-0.2.4
2016-02-11 12:55:25 -05:00
Nick Mathewson
c2fd648469
Make ensure_capacity a bit more pedantically correct
...
Issues noted by cypherpunks on #18162
2016-02-11 12:54:52 -05:00
Nick Mathewson
838d4dee12
make check-spaces
2016-02-11 12:50:55 -05:00
Nick Mathewson
2b5ff52594
Merge branch 'feature17840-v11-tests_truncated'
2016-02-11 12:45:51 -05:00
Nick Mathewson
ba2be81fc3
Merge remote-tracking branch 'teor/feature17840-v11-merged-v2'
2016-02-11 12:20:20 -05:00
Nick Mathewson
cae59b913f
Rename circuit_about_to_free_{terminal -> atexit}
2016-02-11 12:15:12 -05:00
Nick Mathewson
7f9ac4957c
Split a long line
2016-02-11 12:13:02 -05:00
Nick Mathewson
bc7a5eeeda
Merge remote-tracking branch 'weasel/bug18261'
2016-02-11 12:12:02 -05:00
Nick Mathewson
c0a6c34652
Merge remote-tracking branch 'teor/bug18208'
2016-02-10 16:32:05 -05:00
Nick Mathewson
162d2022e1
Merge branch 'bug17682_squashed'
2016-02-10 15:50:28 -05:00
Nick Mathewson
601b41084a
Bulletproof the safe_timer_diff function
...
Originally it can overflow in some weird cases. Now it should no longer
be able to do so.
Additionally, limit main's timers to 30 days rather than to 38 years;
we don't actually want any 38-year timers.
Closes bug 17682.
2016-02-10 15:49:11 -05:00
Nick Mathewson
ee75c02691
Merge remote-tracking branch 'andrea/bug18116'
2016-02-10 15:42:11 -05:00
Nick Mathewson
69c47ab5fd
Merge remote-tracking branch 'sebastian/bug18242'
2016-02-10 15:38:52 -05:00
Nick Mathewson
4dc8dc4b89
Merge remote-tracking branch 'public/bug18184'
2016-02-10 15:36:48 -05:00
Nick Mathewson
a8d6989589
Whitespace fixes
2016-02-10 15:35:46 -05:00
Nick Mathewson
9746aed2ba
Another automated rename.
...
Also simplify crypto_common_digests() to have no loop.
2016-02-10 15:32:12 -05:00
Nick Mathewson
8a4bba06d2
Rename crypto_digest_all, and digests_t.
...
They are no longer "all" digests, but only the "common" digests.
Part of 17795.
This is an automated patch I made with a couple of perl one-liners:
perl -i -pe 's/crypto_digest_all/crypto_common_digests/g;' src/*/*.[ch]
perl -i -pe 's/\bdigests_t\b/common_digests_t/g;' src/*/*.[ch]
2016-02-10 15:28:19 -05:00
Andrea Shepard
ae0f858602
Properly detach circuits from cmuxes when calling circuit_free_all() on shutdown again
2016-02-10 05:35:03 +00:00
Andrea Shepard
3014bfb61b
Appease make check-spaces
2016-02-10 02:20:59 +00:00
Nick Mathewson
92048a1b43
Add missing consts; my fault.
2016-02-08 08:34:18 -05:00
Nick Mathewson
9f6589d65a
Merge branch 'decorated_ipv6_directory_send_command_squashed'
2016-02-08 08:33:28 -05:00
Malek
061586e36c
decorated ipv6 address for directory send command
2016-02-08 08:33:18 -05:00
Nick Mathewson
d004f06830
fix wide lines, use more locals.
2016-02-08 08:31:31 -05:00
Harini Kannan
c30be5a82d
Using router_get_my_routerinfo()
2016-02-07 16:07:35 -05:00
Peter Palfrader
42e131e9ac
Fix a segfault during startup
...
If unix socket was configured as listener (such as a ControlSocket or a
SocksPort unix socket), and tor was started as root but not configured
to switch to another user, tor would segfault while trying to string
compare a NULL value. Fixes bug 18261; bugfix on 0.2.8.1-alpha. Patch
by weasel.
2016-02-06 22:17:02 +01:00
Nick Mathewson
2d879bd39f
Document port_out argument to tor_addr_from_sockaddr
2016-02-06 15:34:47 -05:00
Nick Mathewson
0f5f6b8a41
Merge remote-tracking branch 'yawning/bug18221'
2016-02-06 15:30:22 -05:00
Nick Mathewson
b645e2f2b0
Merge remote-tracking branch 'alec/dead_code_removal'
2016-02-06 15:08:49 -05:00
Alec Heifetz
6852868b4a
Removed dead code in main.c
2016-02-06 14:41:31 -05:00
Nick Mathewson
31a27729b9
Fix spaces.
2016-02-06 14:00:24 -05:00
Nick Mathewson
03371e3d3c
Merge branch 'cleaned_aes_crypt'
2016-02-06 13:54:09 -05:00
Malek
a9cd291753
Removed aes_crypt, left only aes_crypt_inplace. Removed should_use_openssl_CTR, was used for openssl 1.0.0 bug.
2016-02-06 13:38:11 -05:00
Hassan Alsibyani
edd93f9de8
changing output of crypto_cipher_crypt_inplace from int to void
2016-02-06 12:14:39 -05:00
Sebastian Hahn
55d6fd27cb
Fix the --disable-asserts-in-tests configure option
2016-02-05 14:40:07 +01:00
Nick Mathewson
1f5cdf2b6c
Merge branch 'maint-0.2.7'
2016-02-05 08:13:47 -05:00
Nick Mathewson
d920cbb82c
Merge branch 'maint-0.2.6' into maint-0.2.7
2016-02-05 08:13:35 -05:00
Nick Mathewson
44ad3be221
Merge branch 'maint-0.2.5' into maint-0.2.6
2016-02-05 08:13:24 -05:00
Nick Mathewson
f06d9a9cef
Merge branch 'maint-0.2.4' into maint-0.2.5
2016-02-05 08:13:13 -05:00
teor (Tim Wilson-Brown)
add8acf428
Avoid calling log functions in logv when SMARTLIST_DEBUG is defined
2016-02-05 14:14:17 +11:00
teor (Tim Wilson-Brown)
db72b509d1
Check that the log mutex is initialised before trying to lock or unlock it
2016-02-05 14:08:58 +11:00
Nick Mathewson
6149703089
Bump to 0.2.8.1-alpha-dev
2016-02-04 18:24:20 -05:00
Nick Mathewson
af116081f9
Make the no-assertions-during-coverage check into a configure option
...
Closes ticket 18242.
The rationale here is that I like having coverage on by default in my
own working directory, but I always want assertions turned on unless
I'm doing branch coverage specifically.
2016-02-04 12:51:52 -05:00
Nick Mathewson
c595f6d25e
Add an assertion to tor_libevent_get_base()
...
Closes ticket 18241.
2016-02-04 12:37:00 -05:00
Nick Mathewson
1bac468882
Fix two problems in the 0.2.8.x unit tests
...
1. We were sometimes using libevent uninitialized, which is Not Allowed.
2. The malformed-PTR dns test was supposed to get a -1 output... but
the test was wrong, since it forgot that in-addr.arpa addresses
are in reverse order.
Bugs not in any released tor.
2016-02-04 12:30:48 -05:00
Nick Mathewson
5da517e689
Bump version. (This is not yet the release.)
2016-02-04 10:07:06 -05:00
Karsten Loesing
d5ac79e056
Update geoip and geoip6 to the February 2 2016 database.
2016-02-04 08:53:24 +01:00
Nick Mathewson
fa52b6f075
Make tortls unit tests pass with LibreSSL.
...
Part of the fix for 17921.
2016-02-03 11:31:57 -05:00
Nick Mathewson
c1c3e45eab
Make crypto/rng_engine test pass on libressl. Bug not in any released tor.
2016-02-03 11:18:16 -05:00
Nick Mathewson
27582325dc
Make Tor build happily with OpenSSL master and libressl.
...
Also tested with 1.0.0t and 1.0.2f.
Closes ticket 19784.
Closes most of 17921. (Still need to make some tests pass.)
2016-02-03 11:13:12 -05:00
teor (Tim Wilson-Brown)
c213f277cd
Make bridge clients prefer the configured bridge address
...
When ClientPreferIPv6ORPort is auto, bridges prefer the configured
bridge ORPort address. Otherwise, they use the value of the option.
Other clients prefer IPv4 ORPorts if ClientPreferIPv6ORPort is auto.
When ClientPreferIPv6DirPort is auto, all clients prefer IPv4 DirPorts.
2016-02-03 23:56:19 +11:00
teor (Tim Wilson-Brown)
b316c87bc9
Make bridge clients prefer the configured bridge address
...
When ClientPreferIPv6ORPort is auto, bridges prefer the configured
bridge ORPort address. Otherwise, they use the value of the option.
Other clients prefer IPv4 ORPorts if ClientPreferIPv6ORPort is auto.
When ClientPreferIPv6DirPort is auto, all clients prefer IPv4 DirPorts.
2016-02-03 23:52:39 +11:00
Yawning Angel
c625ab9f5a
Validate the DH parameters for correctness.
...
We use sensible parameters taken from common sources, and no longer
have dynamic DH groups as an option, but it feels prudent to have
OpenSSL validate p and g at initialization time.
2016-02-02 22:03:48 +00:00
teor (Tim Wilson-Brown)
92b1c3b604
Update ExitPolicy when interface addresses change
...
Tor exit relays reject local interface addresses in their exit policy.
Make sure those policies are updated when interface addresses change.
2016-02-02 15:05:59 +11:00
Nick Mathewson
b860f82d56
Treat bt_test.py failures as "SKIP" on freebsd.
...
Closes #18204 .
2016-02-01 14:11:45 -05:00
Nick Mathewson
c6fa55d2da
Bitwise negate is ~, not !.
...
Spotted by coverity; bug in tests only, not in any released Tor.
This is CID 1351128
2016-02-01 13:12:58 -05:00
Nick Mathewson
7631cffbcc
Fix warnings from check-spaces
2016-02-01 10:24:13 -05:00
Nick Mathewson
ac7e43d30a
Redux: don't expect unix sockets to be accepted on windows
2016-02-01 10:21:11 -05:00
Nick Mathewson
49442b5e67
Don't expect unix sockets to be accepted on Windows
...
Fixes failures in test_config.c; bug not in any released tor.
2016-02-01 09:57:54 -05:00
Nick Mathewson
f4ac44c9f2
Merge branch 'options_validate_second_round_cleaned'
2016-02-01 09:52:11 -05:00
teor (Tim Wilson-Brown)
e3da5ad6e3
Replace incorrect use of snprintf in unit tests with tor_snprintf
...
This avoids a potential out of bounds write.
2016-02-01 09:50:43 -05:00
teor (Tim Wilson-Brown)
f7b2ae91e9
Make all unit tests independent of log message order and count
2016-02-01 09:50:43 -05:00
teor (Tim Wilson-Brown)
dbb5819e96
Report malformed options in options_validate unit tests
2016-02-01 09:50:42 -05:00
Ola Bini
fe92e9bb96
Add a helper to search for strings in the log, and change option tests to use this helper instead of looking at specific indices in the log list
2016-02-01 09:50:42 -05:00
Nick Mathewson
4cd93a6a59
Merge branch 'maint-0.2.7'
...
(We already had a fix for the address test freebsd issues)
2016-02-01 09:41:45 -05:00