]>
git.ipfire.org Git - thirdparty/tor.git/log
Nick Mathewson [Fri, 20 May 2016 11:59:09 +0000 (07:59 -0400)]
Fix a bug related to moving signing_key_cert
Now that the field exists in signed_descriptor_t, we need to make
sure we free it when we free a signed_descriptor_t, and we need to
make sure that we don't free it when we convert a routerinfo_t to a
signed_descriptor_t.
But not in any released Tor. I found this while working on #19128.
One problem: I don't see how this could cause 19128.
Nick Mathewson [Thu, 19 May 2016 20:04:56 +0000 (16:04 -0400)]
Merge remote-tracking branch 'teor/fix18809-warnings' into maint-0.2.8
Nick Mathewson [Thu, 19 May 2016 19:56:31 +0000 (15:56 -0400)]
Merge remote-tracking branch 'public/bug19073' into maint-0.2.8
teor (Tim Wilson-Brown) [Thu, 19 May 2016 16:49:36 +0000 (12:49 -0400)]
Fix unused-but-set-variable warnings in the connection unit tests
No behaviour change - just remove the variables
teor (Tim Wilson-Brown) [Thu, 19 May 2016 16:35:09 +0000 (12:35 -0400)]
Describe what happens when we get a consensus, but no certificates
Comment-only change
Nick Mathewson [Thu, 19 May 2016 12:54:19 +0000 (08:54 -0400)]
lintchanges on 18809, and fix the bug number
Nick Mathewson [Thu, 19 May 2016 12:29:45 +0000 (08:29 -0400)]
changelog typo fix
Nick Mathewson [Thu, 19 May 2016 12:27:11 +0000 (08:27 -0400)]
Fix a compilation error in test_dir.c
Nick Mathewson [Thu, 19 May 2016 12:17:02 +0000 (08:17 -0400)]
Merge branch 'bug18809_028_squashed' into maint-0.2.8
teor (Tim Wilson-Brown) [Thu, 19 May 2016 02:05:35 +0000 (22:05 -0400)]
Add unit tests for networkstatus_consensus_is_bootstrapping
teor (Tim Wilson-Brown) [Thu, 19 May 2016 01:31:03 +0000 (21:31 -0400)]
Restore and improve download schedule unit tests
teor (Tim Wilson-Brown) [Thu, 19 May 2016 00:21:31 +0000 (20:21 -0400)]
Update unit tests for multiple bootstrap connections
teor (Tim Wilson-Brown) [Wed, 18 May 2016 22:07:40 +0000 (18:07 -0400)]
Remove consensus_max_download_tries by refactoring
No behaviour change
This function is used twice. The code is simpler if we split
it up and inline it where it is used.
teor (Tim Wilson-Brown) [Wed, 18 May 2016 22:04:02 +0000 (18:04 -0400)]
Changes file for bug 18809
teor (Tim Wilson-Brown) [Wed, 18 May 2016 21:50:46 +0000 (17:50 -0400)]
Stop downloading consensuses when a consensus has been downloaded
Previosuly, during bootstrap, we would continue to download
consensuses if we had a consensus, but didn't have the certificates
to validate it.
Nick Mathewson [Wed, 18 May 2016 00:08:03 +0000 (20:08 -0400)]
whitespace fixes
Nick Mathewson [Wed, 18 May 2016 00:04:16 +0000 (20:04 -0400)]
Remove duplicate siging_key_cert fields.
With the fix for #17150, I added a duplicate certificate here. Here
I remove the original location in 0.2.8. (I wouldn't want to do
that in 027, due to the amount of authority-voting-related code
drift.)
Closes 19073.
Nick Mathewson [Tue, 17 May 2016 23:47:22 +0000 (19:47 -0400)]
Merge branch 'bug17150_027_extra' into maint-0.2.8
Nick Mathewson [Tue, 17 May 2016 17:24:01 +0000 (13:24 -0400)]
Improve API of routerinfo_incompatible_with_extrainfo()
This API change makes it so that routerinfo_incompatible...() no
longer takes a routerinfo_t, so that it's obvious that it should
only look at fields from the signed_descriptor_t.
This change should prevent a recurrence of #17150.
Nick Mathewson [Tue, 17 May 2016 17:16:36 +0000 (13:16 -0400)]
Fix another, more subtle, case of bug 17150.
We need to make sure that the corresponding sd and ei match in their
certificates.
Nick Mathewson [Tue, 17 May 2016 17:14:04 +0000 (13:14 -0400)]
Copy the signing_key_cert field into signed_descriptor_t
We need this field to be in signed_descriptor_t so that
routerinfo_incompatible_with_extrainfo can work correctly (#17150).
But I don't want to move it completely in this patch, since a great
deal of the code that messes with it has been in flux since 0.2.7,
when this ticket was opened. I should open another ticket about
removing the field from routerinfo_t and extrainfo_t later on.
This patch fixes no actual behavior.
Nick Mathewson [Tue, 17 May 2016 17:08:34 +0000 (13:08 -0400)]
Fix documentation for routerinfo_incompatible_with_extrainfo
Nick Mathewson [Tue, 17 May 2016 16:57:03 +0000 (12:57 -0400)]
When making sure digest256 matches in ei, look at sd, not ri.
The routerinfo we pass to routerinfo_incompatible_with_extrainfo is
the latest routerinfo for the relay. The signed_descriptor_t, on
the other hand, is the signed_descriptor_t that corresponds to the
extrainfo. That means we should be checking the digest256 match
with that signed_descriptor_t, not with the routerinfo.
Fixes bug 17150 (and 19017); bugfix on 0.2.7.2-alpha.
Nick Mathewson [Tue, 17 May 2016 16:53:12 +0000 (12:53 -0400)]
Move extra_info_digest256 into signed_descriptor_t
This patch includes no semantic changes; it's just a field movement.
It's prerequisite for a fix to 19017/17150.
Nick Mathewson [Tue, 17 May 2016 15:09:54 +0000 (11:09 -0400)]
Merge branch 'bug18616-v4-merged_028' into maint-0.2.8
Nick Mathewson [Tue, 17 May 2016 15:06:41 +0000 (11:06 -0400)]
Fix remaining lintChanges warnings.
Nick Mathewson [Tue, 17 May 2016 15:05:57 +0000 (11:05 -0400)]
Resolve lintChanges warnings.
Nick Mathewson [Tue, 17 May 2016 14:48:12 +0000 (10:48 -0400)]
Merge remote-tracking branch 'arma/bug18616-v4' into maint-0.2.8
Roger Dingledine [Mon, 16 May 2016 21:43:47 +0000 (17:43 -0400)]
touchups and refactorings on bug 18616 branch
no behavior changes
Nick Mathewson [Mon, 16 May 2016 12:33:17 +0000 (08:33 -0400)]
Merge remote-tracking branch 'teor/fallback-script' into maint-0.2.8
Nick Mathewson [Thu, 12 May 2016 19:33:47 +0000 (15:33 -0400)]
Merge branch 'maint-0.2.7' into maint-0.2.8
Nick Mathewson [Thu, 12 May 2016 19:33:35 +0000 (15:33 -0400)]
Merge branch 'bug18977_026_v2' into maint-0.2.7
Nick Mathewson [Thu, 12 May 2016 18:39:06 +0000 (14:39 -0400)]
Merge branch 'bug18977_024_v2' into bug18977_026_v2
Had conflicts related to other correct_tm bugs in 0.2.6. Added wday
for another case.
Nick Mathewson [Thu, 5 May 2016 14:49:55 +0000 (10:49 -0400)]
Have correct_tm set tm_wday as well.
The tm_wday field had been left uninitialized, which was causing
some assertions to fail on Windows unit tests.
Fixes bug 18977.
Nick Mathewson [Thu, 12 May 2016 15:09:33 +0000 (11:09 -0400)]
Merge remote-tracking branch 'arma/bug19003-try2' into maint-0.2.8
Nick Mathewson [Thu, 12 May 2016 14:03:00 +0000 (10:03 -0400)]
Merge remote-tracking branch 'arma/bug17621-try2' into maint-0.2.8
Roger Dingledine [Wed, 11 May 2016 20:35:36 +0000 (16:35 -0400)]
minor touchups on nick's ticket 17621 changes
Nick Mathewson [Wed, 11 May 2016 18:03:34 +0000 (14:03 -0400)]
Document the contents of $datadir/keys
Ticket 17621.
Roger Dingledine [Wed, 11 May 2016 17:42:40 +0000 (13:42 -0400)]
Merge branch 'maint-0.2.7' into maint-0.2.8
Roger Dingledine [Wed, 11 May 2016 17:42:00 +0000 (13:42 -0400)]
unbreak the build (when warnings are enabled)
Nick Mathewson [Wed, 11 May 2016 17:20:51 +0000 (13:20 -0400)]
Merge remote-tracking branch 'teor/bug18816_simplify' into maint-0.2.8
Nick Mathewson [Wed, 11 May 2016 17:15:17 +0000 (13:15 -0400)]
Merge branch 'maint-0.2.7' into maint-0.2.8
Nick Mathewson [Wed, 11 May 2016 17:13:23 +0000 (13:13 -0400)]
Merge remote-tracking branch 'special/bug19032-027' into maint-0.2.7
John Brooks [Wed, 11 May 2016 16:13:22 +0000 (12:13 -0400)]
Fix out-of-bounds write during voting with duplicate
ed25519 keys
In dirserv_compute_performance_thresholds, we allocate arrays based
on the length of 'routers', a list of routerinfo_t, but loop over
the nodelist. The 'routers' list may be shorter when relays were
filtered by routers_make_ed_keys_unique, leading to an out-of-bounds
write on directory authorities.
This bug was originally introduced in
26e89742 , but it doesn't look
possible to trigger until routers_make_ed_keys_unique was introduced
in
13a31e72 .
Fixes bug 19032; bugfix on tor 0.2.8.2-alpha.
teor (Tim Wilson-Brown) [Wed, 11 May 2016 17:08:45 +0000 (13:08 -0400)]
Confim we want certificates from fallbacks
Comment-only change
teor (Tim Wilson-Brown) [Wed, 11 May 2016 17:06:13 +0000 (13:06 -0400)]
Revert "Switch between fallback and authority when auth cert fetch fails"
This reverts commit
92d7ee08b8c51b4b29f68c6d00ca4aa91ea5a66b .
Roger Dingledine [Wed, 11 May 2016 17:03:49 +0000 (13:03 -0400)]
refactor the #19003 patches
fix the logic in one of the comments
Nick Mathewson [Wed, 11 May 2016 16:36:27 +0000 (12:36 -0400)]
Merge branch 'bug18761_028_squashed' into maint-0.2.8
Nick Mathewson [Wed, 27 Apr 2016 00:46:44 +0000 (20:46 -0400)]
Log find_rp_for_intro_() failures at LOG_PROTOCOL_WARN.
Closes ticket 18761.
Also fix a whitespace issue.
Nick Mathewson [Wed, 11 May 2016 16:28:37 +0000 (12:28 -0400)]
Merge remote-tracking branch 'teor/bug18816-squashed' into maint-0.2.8
Nick Mathewson [Wed, 11 May 2016 16:23:20 +0000 (12:23 -0400)]
Merge branch 'maint-0.2.7' into maint-0.2.8
Nick Mathewson [Wed, 11 May 2016 16:22:36 +0000 (12:22 -0400)]
Merge branch 'bug18841_1_025' into maint-0.2.7
Nick Mathewson [Wed, 11 May 2016 16:15:37 +0000 (12:15 -0400)]
Undefine _FORTIFY_SOURCE before defining it.
This makes our compilation options checks in autoconf work better on
systems that already define _FORTIFY_SOURCE.
Fixes at least one case of bug 18841; bugfix on 0.2.3.17-beta. Patch
from "trudokal".
teor (Tim Wilson-Brown) [Wed, 4 May 2016 05:41:37 +0000 (15:41 +1000)]
Switch between fallback and authority when auth cert fetch fails
teor (Tim Wilson-Brown) [Wed, 4 May 2016 03:05:18 +0000 (13:05 +1000)]
Use the consensus download schedule for authority certificates
Previously, we were using the generic schedule for some downloads,
and the consensus schedule for others.
Resolves ticket 18816; fix on
fddb814fe in 0.2.4.13-alpha.
Roger Dingledine [Tue, 10 May 2016 15:16:30 +0000 (11:16 -0400)]
get rid of another no-longer-used function
Nick Mathewson [Mon, 9 May 2016 22:14:44 +0000 (18:14 -0400)]
Merge branch 'maint-0.2.7' into maint-0.2.8
Nick Mathewson [Mon, 9 May 2016 22:14:27 +0000 (18:14 -0400)]
Merge branch 'bug19008_027' into maint-0.2.7
Nick Mathewson [Mon, 9 May 2016 22:12:59 +0000 (18:12 -0400)]
Add "-c 1" to ping6 in test-network-all
Fixes bug 19008. bugfix on 0.2.7.3-rc
Nick Mathewson [Mon, 9 May 2016 18:59:18 +0000 (14:59 -0400)]
Merge branch 'maint-0.2.7' into maint-0.2.8
Nick Mathewson [Mon, 9 May 2016 18:58:38 +0000 (14:58 -0400)]
Merge commit '
1a065cea46a9c179d64d74d012f051135bc4725a ' into maint-0.2.8
This is an merge of maint-0.2.7 as an "ours" merge to avoid taking the
cherry-picked fix of 18490
Nick Mathewson [Mon, 9 May 2016 18:56:56 +0000 (14:56 -0400)]
Merge branch 'maint-0.2.6' into maint-0.2.7
Nick Mathewson [Mon, 9 May 2016 18:55:45 +0000 (14:55 -0400)]
Merge branch 'maint-0.2.5' into maint-0.2.6
Nick Mathewson [Mon, 9 May 2016 18:55:22 +0000 (14:55 -0400)]
Merge branch 'maint-0.2.4' into maint-0.2.5
Roger Dingledine [Fri, 6 May 2016 13:55:06 +0000 (09:55 -0400)]
stop looping once we know what the answer will be
suggested during code review by dgoulet
Roger Dingledine [Thu, 14 Apr 2016 07:03:47 +0000 (03:03 -0400)]
fix a bug where relays would use the aggressive client bootstrapping retry number
Roger Dingledine [Thu, 14 Apr 2016 06:29:12 +0000 (02:29 -0400)]
simplify more -- we only call these funcs when bootstrapping
Roger Dingledine [Thu, 14 Apr 2016 06:18:25 +0000 (02:18 -0400)]
remove some more unused code
Roger Dingledine [Wed, 13 Apr 2016 07:13:12 +0000 (03:13 -0400)]
avoid another redundant check
we should avoid launching a consensus fetch if we don't want one,
but if we do end up with an extra one, we should let the other checks
take care of it.
Roger Dingledine [Wed, 13 Apr 2016 07:05:54 +0000 (03:05 -0400)]
get rid of the scattered checks to cancel a consensus fetch
We'll back off from the request in connection_ap_handshake_attach_circuit,
or cancel it in connection_dir_close_consensus_fetches, and those are the
only places we need to check.
Roger Dingledine [Wed, 13 Apr 2016 06:54:31 +0000 (02:54 -0400)]
close other consensus fetches when we get a consensus
not once per second, and only do it when a consensus arrives
Roger Dingledine [Wed, 13 Apr 2016 05:30:29 +0000 (01:30 -0400)]
use the new function here too
Roger Dingledine [Wed, 13 Apr 2016 05:08:17 +0000 (01:08 -0400)]
avoid following through on a consensus fetch if we have one already arriving
Roger Dingledine [Wed, 13 Apr 2016 04:06:30 +0000 (00:06 -0400)]
fix typos/etc before i go nuts on #18809
teor (Tim Wilson-Brown) [Mon, 9 May 2016 18:29:07 +0000 (14:29 -0400)]
Allow directories in small networks to bootstrap
Skip DirPort checks when the consensus has no exits.
Resolves #19003, bugfix on #18050 in 0.2.8.1-alpha.
teor (Tim Wilson-Brown) [Mon, 9 May 2016 18:26:13 +0000 (14:26 -0400)]
Add a comment to have_enough_path_info()
Comment only change
Karsten Loesing [Mon, 9 May 2016 15:49:14 +0000 (17:49 +0200)]
Update geoip and geoip6 to the May 4 2016 database.
teor (Tim Wilson-Brown) [Sat, 30 Apr 2016 01:00:50 +0000 (11:00 +1000)]
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.
teor (Tim Wilson-Brown) [Fri, 29 Apr 2016 01:03:59 +0000 (11:03 +1000)]
Comment-only change to clarify routerstatus_t IPv4 byte order
teor (Tim Wilson-Brown) [Thu, 28 Apr 2016 05:44:31 +0000 (15:44 +1000)]
Rename skip_or and skip_dir to avoid confusion
Variable rename only
Nick Mathewson [Thu, 5 May 2016 12:16:36 +0000 (08:16 -0400)]
Merge branch 'feature18483-028-v2-squashed' into maint-0.2.8
teor (Tim Wilson-Brown) [Thu, 28 Apr 2016 06:07:47 +0000 (16:07 +1000)]
Only choose directory DirPorts on relays
teor (Tim Wilson-Brown) [Thu, 28 Apr 2016 05:40:04 +0000 (15:40 +1000)]
Make clients only select directories with reachable ORPorts
This makes sure clients will only select relays which support
begindir over ORPort.
teor (Tim Wilson-Brown) [Thu, 28 Apr 2016 05:37:59 +0000 (15:37 +1000)]
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.
teor (Tim Wilson-Brown) [Thu, 5 May 2016 01:51:37 +0000 (11:51 +1000)]
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.
Nick Mathewson [Wed, 4 May 2016 19:23:26 +0000 (15:23 -0400)]
Merge branch 'bug18921_squashed' into maint-0.2.8
teor (Tim Wilson-Brown) [Thu, 28 Apr 2016 06:03:23 +0000 (16:03 +1000)]
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.
Nick Mathewson [Wed, 4 May 2016 19:13:07 +0000 (15:13 -0400)]
Merge branch 'doc18312' into maint-0.2.8
Nick Mathewson [Wed, 4 May 2016 19:12:11 +0000 (15:12 -0400)]
Merge branch 'bug18686_025' into maint-0.2.8
Nick Mathewson [Wed, 4 May 2016 19:10:36 +0000 (15:10 -0400)]
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.
Nick Mathewson [Wed, 4 May 2016 18:47:04 +0000 (14:47 -0400)]
Merge branch 'bug18710_025' into maint-0.2.8
Scott Dial [Wed, 4 May 2016 18:45:09 +0000 (14:45 -0400)]
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
Yawning Angel [Mon, 2 May 2016 10:24:35 +0000 (10:24 +0000)]
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.
s0rlxmh0 [Mon, 2 May 2016 18:01:36 +0000 (14:01 -0400)]
(cherry-picked by nickm, with changes file from isis.)
teor (Tim Wilson-Brown) [Fri, 29 Apr 2016 01:47:13 +0000 (11:47 +1000)]
Simplify string cleansing in fallback update script
No behavioural change
teor (Tim Wilson-Brown) [Fri, 29 Apr 2016 01:45:13 +0000 (11:45 +1000)]
Improve logging in fallback update script
Log a notice just before the script is about to perform a
potentially time-consuming operation
Clarify the warning when py2-ipaddress isn't found
Make log levels more consistent
No behavioural change (just logging)
teor (Tim Wilson-Brown) [Fri, 29 Apr 2016 01:43:55 +0000 (11:43 +1000)]
Improve comments in fallback update script
teor (Tim Wilson-Brown) [Thu, 28 Apr 2016 02:05:02 +0000 (12:05 +1000)]
Refactor DirPort & begindir descriptor checks
No actual behaviour changes
teor (Tim Wilson-Brown) [Thu, 28 Apr 2016 01:36:27 +0000 (11:36 +1000)]
Remove redundant descriptor checks for OR/Dir reachability
The ORPort and DirPort must be reachable, or we won't publish a
descriptor.
teor (Tim Wilson-Brown) [Thu, 28 Apr 2016 01:18:26 +0000 (11:18 +1000)]
Refactor common code out of reachability checks
No actual changes in behavior