summaryrefslogtreecommitdiff
path: root/src/or
AgeCommit message (Collapse)Author
2016-06-28whitespace fixesNick Mathewson
2016-06-28Merge remote-tracking branch 'teor/bug18812' into maint-0.2.8Nick Mathewson
2016-06-28Resolve bug18812 by logging fallback key changes at info levelteor (Tim Wilson-Brown)
2016-06-28Make it clear that fallbacks include authoritiesteor (Tim Wilson-Brown)
Comment-only change
2016-06-28Refactor connection_or_client_learned_peer_id for bug18812teor (Tim Wilson-Brown)
No behavioural change. Also clarify some comments.
2016-06-22Remove and blacklist 3 fallbacks which disappearedteor (Tim Wilson-Brown)
Blacklist them in case they appear again.
2016-06-22Remove 2 fallbacks: one lost guard, the other had bad uptimeteor (Tim Wilson-Brown)
Leave these fallbacks in the whitelist, they may improve before 0.2.9.
2016-06-22Remove and blacklist 4 fallbacks which are unsuitableteor (Tim Wilson-Brown)
Remove a fallback that changed its fingerprint after it was listed This happened after to a software update: https://lists.torproject.org/pipermail/tor-relays/2016-June/009473.html Remove a fallback that changed IPv4 address Remove two fallbacks that were slow to deliver consensuses, we can't guarantee they'll be fast in future. Blacklist all these fallbacks until operators confirm they're stable.
2016-06-21Remove useless message about nonexistent onion services after uploading a ↵Ivan Markin
descriptor
2016-06-21Fix bug when disabling heartbeats.George Kadianakis
Callbacks can't return 0.
2016-06-11Merge remote-tracking branch 'public/bug19203_027' into maint-0.2.8Nick Mathewson
2016-06-02Use directory_must_use_begindir to predict we'll surely use begindirNick Mathewson
Previously, we used !directory_fetches_from_authorities() to predict that we would tunnel connections. But the rules have changed somewhat over the course of 0.2.8
2016-05-30Fix a warning on unnamed nodes in node_get_by_nickname().Nick Mathewson
There was a > that should have been an ==, and a missing !. These together prevented us from issuing a warning in the case that a nickname matched an Unnamed node only. Fixes bug 19203; bugfix on 0.2.3.1-alpha.
2016-05-26Fix two long linesNick Mathewson
2016-05-25Fix a double-free bug in routerlist_reparse_oldNick Mathewson
I introduced this bug when I moved signing_key_cert into signed_descriptor_t. Bug not in any released Tor. Fixes bug 19175, and another case of 19128. Just like signed_descriptor_from_routerinfo(), routerlist_reparse_old() copies the fields from one signed_descriptor_t to another, and then clears the fields from the original that would have been double-freed by freeing the original. But when I fixed the s_d_f_r() bug [#19128] in 50cbf220994c7cec593, I missed the fact that the code was duplicated in r_p_o(). Duplicated code strikes again! For a longer-term solution here, I am not only adding the missing fix to r_p_o(): I am also extracting the duplicated code into a new function. Many thanks to toralf for patiently sending me stack traces until one made sense.
2016-05-20Fix a bug related to moving signing_key_certNick Mathewson
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.
2016-05-19Merge remote-tracking branch 'teor/fix18809-warnings' into maint-0.2.8Nick Mathewson
2016-05-19Merge remote-tracking branch 'public/bug19073' into maint-0.2.8Nick Mathewson
2016-05-19Describe what happens when we get a consensus, but no certificatesteor (Tim Wilson-Brown)
Comment-only change
2016-05-19Merge branch 'bug18809_028_squashed' into maint-0.2.8Nick Mathewson
2016-05-19Add unit tests for networkstatus_consensus_is_bootstrappingteor (Tim Wilson-Brown)
2016-05-19Restore and improve download schedule unit teststeor (Tim Wilson-Brown)
2016-05-19Remove consensus_max_download_tries by refactoringteor (Tim Wilson-Brown)
No behaviour change This function is used twice. The code is simpler if we split it up and inline it where it is used.
2016-05-19Stop downloading consensuses when a consensus has been downloadedteor (Tim Wilson-Brown)
Previosuly, during bootstrap, we would continue to download consensuses if we had a consensus, but didn't have the certificates to validate it.
2016-05-17whitespace fixesNick Mathewson
2016-05-17Remove duplicate siging_key_cert fields.Nick Mathewson
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.
2016-05-17Merge branch 'bug17150_027_extra' into maint-0.2.8Nick Mathewson
2016-05-17Improve API of routerinfo_incompatible_with_extrainfo()Nick Mathewson
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.
2016-05-17Fix another, more subtle, case of bug 17150.Nick Mathewson
We need to make sure that the corresponding sd and ei match in their certificates.
2016-05-17Copy the signing_key_cert field into signed_descriptor_tNick Mathewson
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.
2016-05-17Fix documentation for routerinfo_incompatible_with_extrainfoNick Mathewson
2016-05-17When making sure digest256 matches in ei, look at sd, not ri.Nick Mathewson
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.
2016-05-17Move extra_info_digest256 into signed_descriptor_tNick Mathewson
This patch includes no semantic changes; it's just a field movement. It's prerequisite for a fix to 19017/17150.
2016-05-17Merge remote-tracking branch 'arma/bug18616-v4' into maint-0.2.8Nick Mathewson
2016-05-16touchups and refactorings on bug 18616 branchRoger Dingledine
no behavior changes
2016-05-12Merge remote-tracking branch 'arma/bug19003-try2' into maint-0.2.8Nick Mathewson
2016-05-11Merge branch 'maint-0.2.7' into maint-0.2.8Roger Dingledine
2016-05-11unbreak the build (when warnings are enabled)Roger Dingledine
2016-05-11Merge remote-tracking branch 'teor/bug18816_simplify' into maint-0.2.8Nick Mathewson
2016-05-11Merge branch 'maint-0.2.7' into maint-0.2.8Nick Mathewson
2016-05-11Fix out-of-bounds write during voting with duplicate ed25519 keysJohn Brooks
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.
2016-05-11Confim we want certificates from fallbacksteor (Tim Wilson-Brown)
Comment-only change
2016-05-11Revert "Switch between fallback and authority when auth cert fetch fails"teor (Tim Wilson-Brown)
This reverts commit 92d7ee08b8c51b4b29f68c6d00ca4aa91ea5a66b.
2016-05-11refactor the #19003 patchesRoger Dingledine
fix the logic in one of the comments
2016-05-11Merge branch 'bug18761_028_squashed' into maint-0.2.8Nick Mathewson
2016-05-11Log find_rp_for_intro_() failures at LOG_PROTOCOL_WARN.Nick Mathewson
Closes ticket 18761. Also fix a whitespace issue.
2016-05-10Switch between fallback and authority when auth cert fetch failsteor (Tim Wilson-Brown)
2016-05-10Use the consensus download schedule for authority certificatesteor (Tim Wilson-Brown)
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.
2016-05-10get rid of another no-longer-used functionRoger Dingledine
2016-05-09stop looping once we know what the answer will beRoger Dingledine
suggested during code review by dgoulet