summaryrefslogtreecommitdiff
path: root/src/or
AgeCommit message (Collapse)Author
2016-05-30We no longer generate v0 directories. Remove the code to do soNick Mathewson
2016-05-27Merge remote-tracking branch 'arma/task19035-fixedup'Nick Mathewson
2016-05-27remove a now-unused section of or.hRoger Dingledine
2016-05-27remove an unneeded layer of indentationRoger Dingledine
no actual behavior changes
2016-05-27Disable GET /tor/bytes.txt and GETINFO dir-usageRoger Dingledine
Remove support for "GET /tor/bytes.txt" DirPort request, and "GETINFO dir-usage" controller request, which were only available via a compile-time option in Tor anyway. Feature was added in 0.2.2.1-alpha. Resolves ticket 19035.
2016-05-27Merge remote-tracking branch 'asn/feature19036'Nick Mathewson
2016-05-27Merge remote-tracking branch 'arma/bug18840'Nick Mathewson
2016-05-26Merge branch 'maint-0.2.8'Nick Mathewson
2016-05-26Fix two long linesNick Mathewson
2016-05-26Functionify code that writes votes to disk.George Kadianakis
2016-05-25Merge branch 'maint-0.2.8'Nick 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-23Expose crypto_digest_algorithm_get_length from crypto.cNick Mathewson
Also, use it in routerparse.c
2016-05-23Merge remote-tracking branch 'dgoulet/bug19066_029_01'Nick Mathewson
2016-05-20Merge branch 'maint-0.2.8'Nick Mathewson
2016-05-20Make another variable unsigned.Nick Mathewson
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-19Compute HS stats outputs without round_int64_...Nick Mathewson
Fix for bug 19130.
2016-05-19Merge branch 'maint-0.2.8'Nick Mathewson
2016-05-19Merge remote-tracking branch 'teor/fix18809-warnings' into maint-0.2.8Nick Mathewson
2016-05-19Merge branch 'maint-0.2.8'Nick 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 'maint-0.2.8'Nick Mathewson
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 'maint-0.2.8'Nick Mathewson
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 'teor/bug18963-remember-v2'Nick Mathewson
2016-05-17Merge branch 'maint-0.2.8'Nick Mathewson
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-16dirauth: don't use hardcoded length when parsing digestsDavid Goulet
When parsing detached signature, we make sure that we use the length of the digest algorithm instead of an hardcoded DIGEST256_LEN in order to avoid comparing bytes out of bound with a smaller digest length such as SHA1. Fixes #19066 Signed-off-by: David Goulet <dgoulet@torproject.org>
2016-05-12Merge branch 'ftrapv_v3'Nick Mathewson
There were some conflicts here, and some breakage to fix concerning library link order in newer targets.
2016-05-12Move the ctime part of choose_array_element_by_weight into di_opsNick Mathewson
This way it gets the ctime options.
2016-05-12Refactor out u64_dbl_tNick Mathewson
This type saved a tiny amount of allocation, but not enough to be worth keeping. (This is in preparation for moving choose_array_element_by_weight)
2016-05-12Add -ftrapv to gcc-hardening ... mostly!Nick Mathewson
We know there are overflows in curve25519-donna-c32, so we'll have to have that one be fwrapv. Only apply the asan, ubsan, and trapv options to the code that does not need to run in constant time. Those options introduce branches to the code they instrument. (These introduced branches should never actually be taken, so it might _still_ be constant time after all, but branch predictors are complicated enough that I'm not really confident here. Let's aim for safety.) Closes 17983.
2016-05-12Merge branch 'maint-0.2.8'Nick Mathewson
2016-05-12Merge remote-tracking branch 'arma/bug19003-try2' into maint-0.2.8Nick Mathewson