aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-02-14Be more robust when excluding existing nodes as new dirguardsNick Mathewson
In addition to rejecting them post-hoc, avoid picking them in the first place. This makes us less likely to decide that we can't add guards at all.
2013-02-14Add some code to bluntly prevent duplicate guards from getting addedNick Mathewson
Apparently something in the directory guard code made it possible for the same node to get added as a guard over and over when there were no actual running guard nodes.
2013-02-11Don't tor_close_socket(-1) in tor-resolve.Nick Mathewson
Bugfix on 96b1bd4fb8e64. Not in any released Tor.
2013-02-11Fix two more coverity-spotted leaks in master.Nick Mathewson
One is a probably-impossible leak if we fail to sign a consensus; another occurs when we can't look up the user we're trying to chown our sockets to.
2013-02-11Avoid null-pointer deref in pathbias_is_new_circ_attemptNick Mathewson
Coverity is worried about this (CID 980653). It hasn't happened in testing, but we might as well make sure it can't happen.
2013-02-11Fix a nigh-impossible overflow in cpuworker.cNick Mathewson
When we compute the estimated microseconds we need to handle our pending onionskins, we could (in principle) overflow a uint32_t if we ever had 4 million pending onionskins before we had any data about how onionskins take. Nevertheless, let's compute it properly. Fixes bug 8210; bugfix on 0.2.4.10. Found by coverity; this is CID 980651.
2013-02-11Fix a null-deref-on-fail in unit testsNick Mathewson
If geoip_format_bridge_stats() returned NULL when it should have returned a string, we would have tried to deref NULL, and died. Not a big deal in the unit tests, but still worth fixing. Found by coverity; This is CID 743384.
2013-02-11oops; add a missing semicolonNick Mathewson
2013-02-11Merge remote-tracking branch 'public/bug7816_023'Nick Mathewson
2013-02-11Fix another memory leakNick Mathewson
This one occurs when changing configuration options. Found by coverity.
2013-02-11Merge remote-tracking branch 'public/bug8208'Nick Mathewson
2013-02-11Check whether ei is non-NULL before altering it.Nick Mathewson
This fixes a crash bug if we fail to generate an extrainfo descriptor. Fixes bug 8208; bugfix on 0.2.3.16-alpha.
2013-02-11Suppress a coverity false positive in connection_edge_package_raw_inbufNick Mathewson
Coverity is worried that we're checking entry_conn in some cases, but not in the case where we set entry_conn->pending_optimistic_data. This commit should calm it down (CID 718623).
2013-02-11Fix even more dead code and resource leaks in the unit testsNick Mathewson
Found by coverity
2013-02-11Fix a very short-lived socket leak in tor-resolveNick Mathewson
This shouldn't actually matter, since tor-resolve will return soon after this function exits, but it's nice to be warning-free Found by coverity, fixes CID 718633
2013-02-11Resolve memory leaks in the unit tests and benchmarks (found by coverity)Nick Mathewson
These shouldn't really matter, but it's nice to be leak-free.
2013-02-11Fix a copy-and-paste issue found by coverityNick Mathewson
Fixes CID 980650; bugfix on 0.2.4.10-alpha.
2013-02-11Speed up the curve25519 unit test by doing fewer iterationsNick Mathewson
This test was accounting for about 2/3 of our unit tests' runtime, even on systems with a fast curve25519. No test should take so long.
2013-02-11Merge remote-tracking branch 'public/bug8158'Nick Mathewson
2013-02-11Avoid generating extra spaces when explaining how we guessed our addressNick Mathewson
2013-02-11Refactor resolve_my_address() so logs are more accurate / helpfulRoger Dingledine
It returns the method by which we decided our public IP address (explicitly configured, resolved from explicit hostname, guessed from interfaces, learned by gethostname). Now we can provide more helpful log messages when a relay guesses its IP address incorrectly (e.g. due to unexpected lines in /etc/hosts). Resolves ticket 2267. While we're at it, stop sending a stray "(null)" in some cases for the server status "EXTERNAL_ADDRESS" controller event. Resolves bug 8200.
2013-02-11log the hostname that resolve_my_address() used to guess our IPRoger Dingledine
2013-02-11Merge remote-tracking branch 'public/bug7801_v2'Nick Mathewson
2013-02-09Wrap more macro definitions in (parentheses)Nick Mathewson
To avoid surprises, good coding practice suggests parenthesizing every macro definition -- or at the very least, all those involving an expression.
2013-02-08Improve comment at Andrea's requestNick Mathewson
2013-02-08Merge remote-tracking branch 'public/signof_enum'Nick Mathewson
2013-02-08Unit test for tor_weak_random_rangeNick Mathewson
2013-02-08Add explicit check for !first_conn in ...resume_edge_reading_helperNick Mathewson
This check isn't necessary (see comment on #7801), but it took at least two smart people a little while to see why it wasn't necessary, so let's have it in to make the code more readable.
2013-02-08Improve comment about our random stream choice algorithmNick Mathewson
2013-02-08Fix numerous problems with Tor's weak RNG.Nick Mathewson
We need a weak RNG in a couple of places where the strong RNG is both needless and too slow. We had been using the weak RNG from our platform's libc implementation, but that was problematic (because many platforms have exceptionally horrible weak RNGs -- like, ones that only return values between 0 and SHORT_MAX) and because we were using it in a way that was wrong for LCG-based weak RNGs. (We were counting on the low bits of the LCG output to be as random as the high ones, which isn't true.) This patch adds a separate type for a weak RNG, adds an LCG implementation for it, and uses that exclusively where we had been using the platform weak RNG.
2013-02-08Add doxygen for bug8158 functionsNick Mathewson
2013-02-08Coalesce identical adjacent microdescriptor vote lines.Nick Mathewson
2013-02-08Refactor generating the m lines in a vote into its own functionNick Mathewson
2013-02-08Merge remote-tracking branch 'karsten/geoip-manual-update'Nick Mathewson
2013-02-08Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson
2013-02-08Merge remote-tracking branch 'origin/maint-0.2.2' into maint-0.2.3Nick Mathewson
2013-02-08Comment out now obsolete change in geoip-manual.Karsten Loesing
2013-02-08Update to the February 2013 GeoIP database.Karsten Loesing
2013-02-07Merge remote-tracking branch 'public/easy_ratelim'Nick Mathewson
Conflicts: src/or/connection.c
2013-02-07Have autoconf check whether enums are signed.Nick Mathewson
Fixes bug 7727; fix on 0.2.4.10-alpha.
2013-02-07Merge remote-tracking branch 'public/bug7816_023'Nick Mathewson
Conflicts: src/common/util.c
2013-02-07Merge remote-tracking branch 'public/bug7816_024'Nick Mathewson
2013-02-07Merge branch 'bug7902'Nick Mathewson
2013-02-07whitespace fixNick Mathewson
2013-02-07Merge branch 'ticket8161_squashed'Nick Mathewson
2013-02-07Mention a trac ticket relevant to an XXX comment.Mike Perry
2013-02-07Better document an XXX comment about refactoring.Mike Perry
2013-02-07Separate the flags for logging use bias.Mike Perry
I think we want both sets of messages to appear independently to help us know what needs tuning.
2013-02-07Merge branch 'bug8121_squashed'Nick Mathewson
2013-02-07Tolerate curve25519 backends where the high bit of the pk isn't ignoredNick Mathewson
Right now, all our curve25519 backends ignore the high bit of the public key. But possibly, others could treat the high bit of the public key as encoding out-of-bounds values, or as something to be preserved. This could be used to distinguish clients with different backends, at the cost of killing a circuit. As a workaround, let's just clear the high bit of each public key indiscriminately before we use it. Fix for bug 8121, reported by rransom. Bugfix on 0.2.4.8-alpha.