aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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
| | | | |
| * | | | get_mozilla_ciphers: look at ssl3con.c, not sslenum.cNick Mathewson2012-03-14
| | | | |
| * | | | get_mozilla_ciphers: output lowercase hex.Nick Mathewson2012-03-14
| | | | |
| * | | | Try to make get_mozilla_ciphers output the right macros in the right orderNick Mathewson2012-03-14
| | | | |
| * | | | Have get_mozilla_ciphers take sourcedirs as argumentsNick Mathewson2012-03-14
| | | | |
| * | | | Make get_mozilla_ciphers script a little more regexy and readableNick Mathewson2012-03-14
| | | | |
| * | | | Script to generate ciphers.inc by ArturoNick Mathewson2012-03-14
| | | | |
* | | | | 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.