summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-03-21Merge branch 'ed25519_voting_fixes_squashed' into maint-0.2.7Nick Mathewson
2016-03-21Use nth consistently in dircollate.h.Nick Mathewson
Documentation-only patch. Issue 17668.T6.
2016-03-21In routers_make_ed_keys_unique, break ties for published_onNick Mathewson
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-21Assert that dircollator is collated when we're reading its output.Nick Mathewson
Fix for 17668.S2.
2016-03-21After we strip out duplicate entries from 'routers', don't use 'rl'.Nick Mathewson
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-21Fix another case of 17668: Add NoEdConsensusNick Mathewson
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-21Document has_ed25519_listingNick Mathewson
2016-03-21Never vote for an ed key twice.Nick Mathewson
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-21Fix log message subjects in networkstatus_parse_vote_from_string()Nick Mathewson
Some of these messages called the thing being parsed a "vote" whether it is a vote or a consensus. Fixes bug 18368.
2016-03-21Document dircollate.c (and remove an unused global)Nick Mathewson
2016-03-09Merge branch 'maint-0.2.6' into maint-0.2.7Nick Mathewson
2016-03-09Merge branch 'maint-0.2.5' into maint-0.2.6Nick Mathewson
2016-03-09Merge branch 'maint-0.2.4' into maint-0.2.5Nick Mathewson
2016-03-04Update geoip and geoip6 to the March 3 2016 database.Karsten Loesing
2016-02-23Make clang asan work with FORTIFIED_SOURCE again.Nick Mathewson
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-22Enable ed25519 collator in voting.Nick Mathewson
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-11Merge branch 'maint-0.2.6' into maint-0.2.7Nick Mathewson
2016-02-11Merge branch 'maint-0.2.5' into maint-0.2.6Nick Mathewson
2016-02-11Merge branch 'maint-0.2.4' into maint-0.2.5Nick Mathewson
2016-02-11Merge branch 'bug18162_024' into maint-0.2.4Nick Mathewson
2016-02-11Make ensure_capacity a bit more pedantically correctNick Mathewson
Issues noted by cypherpunks on #18162
2016-02-05Merge branch 'maint-0.2.6' into maint-0.2.7Nick Mathewson
2016-02-05Merge branch 'maint-0.2.5' into maint-0.2.6Nick Mathewson
2016-02-05Merge branch 'maint-0.2.4' into maint-0.2.5Nick Mathewson
2016-02-04Update geoip and geoip6 to the February 2 2016 database.Karsten Loesing
2016-02-01Try to fix address tests on FreeBSDNick Mathewson
In jails, there is not always a localhost. Bugfix not on any released Tor.
2016-01-27avoid integer overflow in and around smartlist_ensure_capacity.Nick Mathewson
This closes bug 18162; bugfix on a45b1315909c9, which fixed a related issue long ago. In addition to the #18162 issues, this fixes a signed integer overflow in smarltist_add_all(), which is probably not so great either.
2016-01-19Merge branch 'maint-0.2.6' into maint-0.2.7Nick Mathewson
2016-01-19Refine the memwipe() arguments check for 18089 a little more.Nick Mathewson
We still silently ignore memwipe(NULL, ch, 0); and memwipe(ptr, ch, 0); /* for ptr != NULL */ But we now assert on: memwipe(NULL, ch, 30);
2016-01-18Merge branch 'maint-0.2.6' into maint-0.2.7Nick Mathewson
2016-01-18Make memwipe() do nothing when passed a NULL pointer or zero sizeteor (Tim Wilson-Brown)
Check size argument to memwipe() for underflow. Closes bug #18089. Reported by "gk", patch by "teor". Bugfix on 0.2.3.25 and 0.2.4.6-alpha (#7352), commit 49dd5ef3 on 7 Nov 2012.
2016-01-18Merge remote-tracking branch 'teor/bug18050' into maint-0.2.7Nick Mathewson
2016-01-18Check ORPort and DirPort reachability before publishing a relay descriptorteor (Tim Wilson-Brown)
Otherwise, relays publish a descriptor with DirPort 0 when the DirPort reachability test takes longer than the ORPort reachability test. Closes bug #18050. Reported by "starlight", patch by "teor". Bugfix on 0.1.0.1-rc, commit a1f1fa6ab on 27 Feb 2005.
2016-01-07Merge branch 'maint-0.2.6' into maint-0.2.7Nick Mathewson
Conflicts: src/or/config.c
2016-01-07Merge branch 'maint-0.2.5' into maint-0.2.6Nick Mathewson
2016-01-07Merge branch 'maint-0.2.4' into maint-0.2.5Nick Mathewson
Conflicts: src/or/config.c
2016-01-07Update dannenberg's V3 authority identity fingerprintteor (Tim Wilson-Brown)
This new identity key was changed on 18 November 2015.
2016-01-07Merge branch 'maint-0.2.6' into maint-0.2.7Nick Mathewson
2016-01-07Merge branch 'maint-0.2.5' into maint-0.2.6Nick Mathewson
2016-01-07Merge branch 'maint-0.2.4' into maint-0.2.5Nick Mathewson
2016-01-07Update geoip and geoip6 to the January 5 2016 database.Karsten Loesing
2015-12-17Add some more ed25519 key files to the seccomp sandbox listNick Mathewson
Fixes bug 17675; bugfix on 0.2.7.3-alpha.
2015-12-16Don't call pthread_condattr_setclock() unless it existsNick Mathewson
Fixes bug 17819; bugfix on 0.2.6.3-alpha (specifically, d684dbb0).
2015-12-16... and fix another backtrace_symbols_fd call in sandbox.cNick Mathewson
2015-12-16... and fix the linux backtrace_symbols{,_fd} callsNick Mathewson
2015-12-15Fix backtrace compilation on FreeBSDcypherpunks
On FreeBSD backtrace(3) uses size_t instead of int (as glibc does). This causes integer precision loss errors when we used int to store its results. The issue is fixed by using size_t to store the results of backtrace(3). The manual page of glibc does not mention that backtrace(3) returns negative values. Therefore, no unsigned integer wrapping occurs when its result is stored in an unsigned data type.
2015-12-14Use TESTS_ENVIRONMENT for older Automake versionscypherpunks
The AM_TESTS_ENVIRONMENT variable is available since Automake v1.12 but some distributions have older Automake versions so we use TESTS_ENVIRONMENT.
2015-12-14Use variables instead of substitutionscypherpunks
Using variables removes the ambiguity about when to use variables and when to use substitutions. Variables always work. Substitutions only work when Autoconf knows about them which is not always the case. The variables are also placed between quotes to ensures spaces in the variables are handled properly.
2015-12-14Only setup environment variables for testscypherpunks
Using the AM_TESTS_ENVIRONMENT variable ensures the environment variables are only set during test execution and not during the compilation phase.
2015-12-10bump to 0.2.7.6-devNick Mathewson