aboutsummaryrefslogtreecommitdiff
path: root/src/or
Commit message (Collapse)AuthorAge
* Disable warning for marked-but-reading in main.cNick Mathewson2012-06-19
| | | | | | | | | | | It turns out this can happen. Even though there is no reason for connections to be marked but reading, we leave them reading anyway, so warning here is unwarranted. Let's turn that back on once we do something sensible and disable reading when we mark. Bugfix for 6203 on Tor 0.2.3.17-beta. Thanks to cypherpunks for pointing out the general stupidity of the original code here.
* Merge remote-tracking branch 'public/bug3311'Nick Mathewson2012-06-18
|\
| * Clarify some messages about publishing hidden service descriptorsNick Mathewson2012-06-15
| | | | | | | | Fix for bug 3311.
* | Merge remote-tracking branch 'andrea/bug6028'Nick Mathewson2012-06-18
|\ \
| * | Always set *socket_error to something appropriate when returning -1 from ↵Andrea Shepard2012-06-15
| | | | | | | | | | | | connection_connect()
* | | conn_type_to_string() on a listener already says it's a listenerRoger Dingledine2012-06-16
| | |
* | | fix the typo on the typo fixRoger Dingledine2012-06-15
| | |
* | | fix typos from 783f705dRoger Dingledine2012-06-15
| | |
* | | Fix a typo found by Mike.Nick Mathewson2012-06-15
| | |
* | | 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
| | |
* | | another little step at making debugging 5458 easierRoger Dingledine2012-06-15
| | |
* | | tab-man returneth (this time using the name 'rob')Roger Dingledine2012-06-15
| | |
* | | 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.
* | | 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.
* | | 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.
* | | 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
| | |
* | | 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
* | | Merge branch 'bug5263_023'Nick 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.
* | | Merge remote-tracking branch 'public/bug3940_redux'Nick Mathewson2012-06-13
|\ \ \
| * | | fixup! An attempt at bug3940 and making AllowDotExit 0 work with MapAddressNick Mathewson2012-06-11
| | | |
| * | | Document ADDRMAPSRC_NONE.Nick Mathewson2012-06-11
| | | |
| * | | Document the new exit_source_out argument to addressmap_rewriteNick Mathewson2012-06-04
| | | |
| * | | An attempt at bug3940 and making AllowDotExit 0 work with MapAddressNick Mathewson2012-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This time, I follow grarpamp's suggestion and move the check for .exit+AllowDotExit 0 to the top of connection_ap_rewrite_and_attach, before any rewriting occurs. This way, .exit addresses are forbidden as they arrive from a socks connection or a DNSPort request, and not otherwise. It _is_ a little more complicated than that, though. We need to treat any .exit addresses whose source is TrackHostExits as meaning that we can retry without that exit. We also need to treat any .exit address that comes from an AutomapHostsOnResolve operation as user-provided (and thus forbidden if AllowDotExits==0), so that transitioning from AllowDotExits==1 to AllowDotExits==0 will actually turn off automapped .exit addresses.
* | | | Fix integer overflow in cell stats spotted by atagar.Karsten Loesing2012-06-13
| |/ / |/| | | | | | | | Fixes #5849.
* | | Merge branch 'bug5452'Nick Mathewson2012-06-11
|\ \ \
| * | | Make RECOMMENDED_MIN_CIRCUIT_BUILD_TIMEOUT warning tell the user how to fix it.Andrea Shepard2012-06-11
| | | |
| * | | Warn if the user has set CircuitBuildTimeout stupidly low and turned off ↵Andrea Shepard2012-06-08
| | | | | | | | | | | | | | | | LearnCircuitBuildTimeout
* | | | Merge remote-tracking branch 'public/bug5598'Nick Mathewson2012-06-11
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/tor.1.txt Conflict was on a formatting issue in the manpage.