aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Merge remote-tracking branch 'public/xxx023'Nick Mathewson2012-06-15
|\
| * Check the correct consensus before giving it to the clientNick Mathewson2012-06-15
| | | | | | | | | | | | | | | | Previously, a directory would check the latest NS consensus for having the signatures the client wanted, and use that consensus's valid_until time to set the HTTP lifetime. With this patch, the directory looks at NS consensus or the microdesc consensus, depending on what the client asked for.
| * Change a silent ignore-the-bug in microdesc.c to a LOG_INFONick Mathewson2012-06-15
| | | | | | | | | | I don't believe this bug occurs, but there was an XXX023 to make sure it doesn't.
| * Move tor_gettimeofday_cached() into compat_libeventNick Mathewson2012-06-15
| |
| * Refactor GETINFO process/descriptor-limitNick Mathewson2012-06-15
| | | | | | | | | | Previously it duplicated some getrlimit code and content from compat.c; now it doesn't.
| * Document that we are unlikely to underflow session group IDs.Nick Mathewson2012-06-15
| |
| * Triage the XXX023 and XXX022 comments: postpone many.Nick Mathewson2012-06-15
| |
* | Merge remote-tracking branch 'public/bug5932'Nick Mathewson2012-06-15
|\ \ | |/ |/|
| * Downgrade an eventdns warning to PROTOCOL_WARN.Nick Mathewson2012-06-07
| |
* | Downgrade log messages about cbt enabled/disabled. Bug 6169.Nick Mathewson2012-06-15
| |
* | whitespace fixRoger Dingledine2012-06-15
| |
* | bump to 0.2.3.17-beta-devRoger Dingledine2012-06-15
| |
* | give 0.2.3.17-beta a release blurbRoger Dingledine2012-06-15
| |
* | another little step at making debugging 5458 easierRoger Dingledine2012-06-15
| |
* | tab-man returneth (this time using the name 'rob')Roger Dingledine2012-06-15
| |
* | fix typos, logic error, default in man pageRoger Dingledine2012-06-15
| |
* | bump to 0.2.3.17-betaRoger Dingledine2012-06-15
| |
* | fold in next changes itemsRoger Dingledine2012-06-15
| |
* | Expand on bug5458 changes fileNick Mathewson2012-06-15
| |
* | Add a changes file for bug5458.Mike Perry2012-06-14
| |
* | Lower the default path bias notice rate to 40%.Mike Perry2012-06-14
| | | | | | | | | | | | I saw 72% on a test run with 26 circuits. 70% might be a little close to the line. That, or min_circs is too low and we need to be more patient. We still need to test/simulate more.
* | For now, never disable any guards.Mike Perry2012-06-14
| |
* | Defend against entry node path bias attacksMike Perry2012-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | The defense counts the circuit failure rate for each guard for the past N circuits. Failure is defined as the ability to complete a first hop, but not finish completing the circuit all the way to the exit. If the failure rate exceeds a certain amount, a notice is emitted. If it exceeds a greater amount, a warn is emitted and the guard is disabled. These values are governed by consensus parameters which we intend to tune as we perform experiments and statistical simulations.
* | Document --hush; fix documentation for --quiet.Nick Mathewson2012-06-14
| |
* | Merge remote-tracking branch 'asn-mytor/bug5589_take2'Nick Mathewson2012-06-14
|\ \
| * | Remove validate_pluggable_transports_config(): redundant since 9d9b5ed0.George Kadianakis2012-06-14
| | | | | | | | | | | | | | | | | | The warning message of validate_pluggable_transports_config() is superseded by the changes in the warning message of connection_or_connect() when the proxy credentials can't be found.
* | | demote two entries that don't affect most usersRoger Dingledine2012-06-14
| | |
* | | fold in further changes filesRoger Dingledine2012-06-14
| | |
* | | Merge remote-tracking branch 'public/bug4663'Nick Mathewson2012-06-13
|\ \ \
| * | | Add a warning for using HTTPProxy with no other proxy.Nick Mathewson2012-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | From what I can tell, this configuration is usually a mistake, and leads people to think that all their traffic is getting proxied when in fact practically none of it is. Resolves the issue behind "bug" 4663.
* | | | Merge branch 'trac-5049-squashed'Nick Mathewson2012-06-13
|\ \ \ \
| * | | | One more fix for bug 5049.Nick Mathewson2012-06-13
| | | | |
| * | | | Satisfy make check-spacesAndrea Shepard2012-06-13
| | | | |
| * | | | Move cbt->liveness.timeouts_after_firsthop free code into its own functionAndrea Shepard2012-06-13
| | | | |
| * | | | Add change file for bug 5049Andrea Shepard2012-06-13
| | | | |
| * | | | Early exit from circuit_build_times_set_timeout() if adaptive timeouts are ↵Andrea Shepard2012-06-13
| | | | | | | | | | | | | | | | | | | | disabled
| * | | | Don't poll to see if we need to build circuits for timeout data if ↵Andrea Shepard2012-06-13
| | | | | | | | | | | | | | | | | | | | LearnCircuitBuildTimeout is disabled
| * | | | Use K&R styleAndrea Shepard2012-06-13
| | | | |
| * | | | Unconditionally use config CircuitBuildTimeout if LearnCircuitBuildTimeout ↵Andrea Shepard2012-06-13
| | | | | | | | | | | | | | | | | | | | is disabled
| * | | | Don't track circuit timeout history unless we're actually using adaptive ↵Andrea Shepard2012-06-13
| | | | | | | | | | | | | | | | | | | | timeouts
| * | | | Add debug logging to circuit_build_times_* of circuitbuild.c to trace ↵Andrea Shepard2012-06-13
|/ / / / | | | | | | | | | | | | queries of consensus parameters for bug 5049
* | | | Only use -Qunused-arguments when building with clang. fix on 5210 fix.Nick Mathewson2012-06-13
| | | |
* | | | Merge branch 'bug5263_023'Nick Mathewson2012-06-13
|\ \ \ \
| * | | | Add changes file for bug5263Nick Mathewson2012-06-13
| | | | |
| * | | | Add rate-limited log message to bug5263 fixNick Mathewson2012-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | Fix busy Libevent loops (infinite loops in Shadow)Rob G. Jansen2012-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Change smartlist_create->smartlist_new in bug4744 branch as merged to masterNick Mathewson2012-06-13
| | | | |
* | | | | Merge branch 'bug4744_squashed'Nick Mathewson2012-06-13
|\ \ \ \ \
| * | | | | Implement the client side of proposal 198Nick Mathewson2012-06-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | Change our ciphersuite list to match ff8Nick Mathewson2012-05-15
| | | | | |