summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-06-13Move cbt->liveness.timeouts_after_firsthop free code into its own functionAndrea Shepard
2012-06-13Add change file for bug 5049Andrea Shepard
2012-06-13Early exit from circuit_build_times_set_timeout() if adaptive timeouts are ↵Andrea Shepard
disabled
2012-06-13Don't poll to see if we need to build circuits for timeout data if ↵Andrea Shepard
LearnCircuitBuildTimeout is disabled
2012-06-13Use K&R styleAndrea Shepard
2012-06-13Unconditionally use config CircuitBuildTimeout if LearnCircuitBuildTimeout ↵Andrea Shepard
is disabled
2012-06-13Don't track circuit timeout history unless we're actually using adaptive ↵Andrea Shepard
timeouts
2012-06-13Add debug logging to circuit_build_times_* of circuitbuild.c to trace ↵Andrea Shepard
queries of consensus parameters for bug 5049
2012-06-13Only use -Qunused-arguments when building with clang. fix on 5210 fix.Nick Mathewson
2012-06-13Merge branch 'bug5263_023'Nick Mathewson
2012-06-13Add changes file for bug5263Nick Mathewson
2012-06-13Add rate-limited log message to bug5263 fixNick Mathewson
Initially I said, "I claim that we shouldn't be reading and marked; let's see if I'm right." But Rob finds that it does.
2012-06-13Fix busy Libevent loops (infinite loops in Shadow)Rob G. Jansen
There is a bug causing busy loops in Libevent and infinite loops in the Shadow simulator. A connection that is marked for close, wants to flush, is held open to flush, but is rate limited (the token bucket is empty) triggers the bug. This commit fixes the bug. Details are below. This currently happens on read and write callbacks when the active socket is marked for close. In this case, Tor doesn't actually try to complete the read or write (it returns from those methods when marked), but instead tries to clear the connection with conn_close_if_marked(). Tor will not close a marked connection that contains data: it must be flushed first. The bug occurs when this flush operation on the marked connection can not occur because the connection is rate-limited (its write token bucket is empty). The fix is to detect when rate limiting is preventing a marked connection from properly flushing. In this case, it should be flagged as read/write_blocked_on_bandwidth and the read/write events de-registered from Libevent. When the token bucket gets refilled, it will check the associated read/write_blocked_on_bandwidth flag, and add the read/write event back to Libevent, which will cause it to fire. This time, it will be properly flushed and closed. The reason that both read and write events are both de-registered when the marked connection can not flush is because both result in the same behavior. Both read/write events on marked connections will never again do any actual reads/writes, and are only useful to trigger the flush and close the connection. By setting the associated read/write_blocked_on_bandwidth flag, we ensure that the event will get added back to Libevent, properly flushed, and closed. Why is this important? Every Shadow event occurs at a discrete time instant. If Tor does not properly deregister Libevent events that fire but result in Tor essentially doing nothing, Libevent will repeatedly fire the event. In Shadow this means infinite loop, outside of Shadow this means wasted CPU cycles.
2012-06-13Change smartlist_create->smartlist_new in bug4744 branch as merged to masterNick Mathewson
2012-06-13Merge branch 'bug4744_squashed'Nick Mathewson
2012-06-13Implement the client side of proposal 198Nick Mathewson
This is a feature removal: we no longer fake any ciphersuite other than the not-really-standard SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA (0xfeff). This change will let servers rely on our actually supporting what we claim to support, and thereby let Tor migrate to better TLS ciphersuites. As a drawback, Tor instances that use old openssl versions and openssl builds with ciphers disabled will no longer give the "firefox" cipher list.
2012-06-13Merge remote-tracking branch 'public/bug3940_redux'Nick Mathewson
2012-06-13Merge remote-tracking branch 'public/bug5210'Nick Mathewson
2012-06-13Fix another clang compile warningSebastian Hahn
We forgot this when we fixed 5969.
2012-06-13Merge branch 'task-5849-3-squashed'Nick Mathewson
2012-06-13Fix integer overflow in cell stats spotted by atagar.Karsten Loesing
Fixes #5849.
2012-06-13Merge branch 'maint-0.2.2'Roger Dingledine
2012-06-13Update to the June 2012 GeoIP database.Karsten Loesing
Manually removed range 0.116.0.0 to 0.119.255.255 which Maxmind says is assigned to AT. This is very likely a bug in their database, because 0.0.0.0/8 is a reserved range.
2012-06-12forward-port the 0.2.2.37 changelogRoger Dingledine
2012-06-12fold in changes files so farRoger Dingledine
2012-06-11fixup! An attempt at bug3940 and making AllowDotExit 0 work with MapAddressNick Mathewson
2012-06-11Document ADDRMAPSRC_NONE.Nick Mathewson
2012-06-11Merge branch 'bug5452'Nick Mathewson
2012-06-11Call bug5452 fix a feature; note its trac number in the changes fileNick Mathewson
2012-06-11Add change file for 5452Andrea Shepard
2012-06-11Make RECOMMENDED_MIN_CIRCUIT_BUILD_TIMEOUT warning tell the user how to fix it.Andrea Shepard
2012-06-11Do not try to use -pie on windows; it appears to break badly and weirdlyNick Mathewson
2012-06-11Remove a couple of debugging "echo"s that snuck into configure.inNick Mathewson
2012-06-11Make our compiler-hardening checks robust against MinGWNick Mathewson
First, specify -Werror when we are testing each option; if it causes a warning to appear, we shouldn't be adding it. Second, do not attempt to add these options until after we have found the libraries we want. Previously, I would hit a bug where the linker hardening options worked fine when we weren't linking anything, but failed completely once we added openssl or libevent.
2012-06-11Merge remote-tracking branch 'public/bug4592'Nick Mathewson
2012-06-11Merge remote-tracking branch 'public/bug5598'Nick Mathewson
Conflicts: doc/tor.1.txt Conflict was on a formatting issue in the manpage.
2012-06-11Merge branch 'bug6097'Nick Mathewson
2012-06-11Merge branch 'bug2865'Nick Mathewson
2012-06-11List defaults consistently in manpageNick Mathewson
Nearly everywhere, we end options with "(Default: foo)". But in a few places, we inserted an extra period after or before the close parenthesis, and in a few other places we said "(Defaults to foo)". Let's not do that.
2012-06-08Warn if the user has set CircuitBuildTimeout stupidly low and turned off ↵Andrea Shepard
LearnCircuitBuildTimeout
2012-06-08changes file and whitespace fix for bug5235 patchNick Mathewson
2012-06-08Rate-limit 'Weighted bandwidth is 0.000000 ...' message; it can be produced ↵Andrea Shepard
in extreme quantities
2012-06-07typo noticed by "_raptor"Roger Dingledine
2012-06-07Correct the defaults for the *Statistics optionsNick Mathewson
2012-06-07Merge remote-tracking branch 'arma/bug3886'Nick Mathewson
Conflicts: src/or/dirserv.c
2012-06-07Fix mingw build with -DUNICODE -D_UNICODENick Mathewson
This is a very blunt fix, and mostly just turns some func() calls into FuncA() to make things build again. Fixes bug 6097.
2012-06-07Be more careful calling wcstombsNick Mathewson
The function is not guaranteed to NUL-terminate its output. It *is*, however, guaranteed not to generate more than two bytes per multibyte character (plus terminating nul), so the general approach I'm taking is to try to allocate enough space, AND to manually add a NUL at the end of each buffer just in case I screwed up the "enough space" thing. Fixes bug 5909.
2012-06-07Merge remote-tracking branch 'origin/maint-0.2.2'Nick Mathewson
2012-06-07apply 6abb638954b to 0.2.3.16-alpha tooRoger Dingledine
2012-06-07Send a CRLF at the end of a STATUS_* event, not in the middle of itRobert Ransom
Fixes bug 6094; bugfix on commit 3a9351b57e528b1d0bd2e72bcf78db7c91b2ff8f.