aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitbuild.c
Commit message (Collapse)AuthorAge
* Remove version_supports checks for versions before 0.2.2.Nick Mathewson2012-09-07
|
* Rename extend_info_alloc() --> _new()Nick Mathewson2012-09-06
| | | | | Based on a patch from Linus, regenerated so as to not conflict with Linus's 5535/6363 patches.
* Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson2012-09-05
|\
| * Avoid segfault if EntryGuardPathBias precedes EntryGuardNick Mathewson2012-09-05
| | | | | | | | Fix for bug 6774; bugfix on 0.2.3.17-beta.
* | Use preferred OR for nodes with routerstatus and microdesc too.Linus Nordberg2012-09-04
| | | | | | | | | | | | | | | | | | | | extend_info_from_node() used to use the primary OR port (i.e. IPv4) unless the node had routerinfo. Now that we have IPv6 addresses in microdescs we may want to use them. Note that this patch changes using r->cache_info.identity_digest into using node->identity. I count on these being well synchronised, or things would break in other ways. Right?
* | Clients connect to public relays over IPv6.Linus Nordberg2012-09-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add ClientUseIPv6 and ClientPreferIPv6ORPort configuration options. Use "preferred OR port" for all entry nodes, not only for bridges. Mark bridges with "prefer IPv6 OR port" if an IPv6 address is configured in Bridge line and ClientPreferIPv6ORPort is set. Mark relays with "prefer IPv6 OR port" if an IPv6 address is found in descriptor and ClientPreferIPv6ORPort is set. Filter "preferred OR port" through the ClientUseIPv6 config option. We might want to move this test to where actual connection is being set up once we have a fall back mechanism in place. Have only non-servers pick an IPv6 address for the first hop: We don't want relays to connect over IPv6 yet. (IPv6 has never been used for second or third hops.) Implements ticket 5535.
* | Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson2012-08-27
|\|
| * Quiet "Set buildtimeout to low val" warnings: make them infoNick Mathewson2012-08-27
| | | | | | | | Fix for #6251
| * Downgrade path-bias warning messages to INFO for now.Nick Mathewson2012-08-27
| | | | | | | | | | | | | | We've had over two months to fix them, and didn't. Now we need 0.2.3.x stable. Yes, it would be cool to get this working in 0.2.3.x, but not at the expense of delaying every other feature that _does_ work in 0.2.3.x. We can do a real fix in 0.2.4.
* | Merge remote-tracking branch 'mikeperry/bug6647'Nick Mathewson2012-08-27
|\ \
| * | Bug 6647: Use correct scale constant and prevent rounding errorMike Perry2012-08-23
| | | | | | | | | | | | | | | We were effectively resetting our counts, and the rounding error leads to incorrect log messages.
| * | Bug 6475: Demote pathbias log messages for 0.2.3.xMike Perry2012-08-23
| | | | | | | | | | | | | | | | | | | | | Also make a couple of them less scary. We'll do a separate, additional commit on 0.2.4.x to bump them back up again.
| * | Disable path bias accounting if we have no guards.Mike Perry2012-08-23
| | | | | | | | | | | | | | | This should eliminate a lot of notices for Directory Authorities and other situations where circuits built without using guard nodes.
* | | Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson2012-08-27
|\ \ \ | | |/ | |/|
| * | Disable extending to private/internal addresses by defaultNick Mathewson2012-08-27
| |/ | | | | | | | | | | | | | | | | | | This is important, since otherwise an attacker can use timing info to probe the internal network. Also, add an option (ExtendAllowPrivateAddresses) so that TestingTorNetwork won't break. Fix for bug 6710; bugfix on all released versions of Tor.
* | Clarify docs on get_configured_bridge_by_*_digestNick Mathewson2012-08-24
| |
* | Move ipv6_preferred from routerinfo_t to node_t.Linus Nordberg2012-08-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move extend_info_from_router() from circuitbuild.c to router.c and make it static. Add get_configured_bridge_by_orports_digest() and have get_configured_bridge_by_routerinfo() and node_is_a_configured_bridge() use it. We now consider all OR ports of a bridge when looking for it. Move node_get_*_orport to nodelist.c. Fix a cut'n'paste error in header of nodelist.h. Add node_assert_ok(). Add router_get_all_orports(). It's duplicating code from node_get_all_orports(). Worth fixing at the cost of complicating the API slightly?
* | Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson2012-08-17
|\|
| * Whitespace and build fixes on 6475 patchNick Mathewson2012-08-17
| |
| * Address Nick's comments from code review.Mike Perry2012-08-16
| | | | | | | | Also promote log messages to notice and rate-limit them.
| * Bug 6475: Explicitly track our path bias state.Mike Perry2012-08-15
| | | | | | | | | | | | This is done to avoid spurious warns. Additional log lines are also added to try to track down the codepaths where we are somehow overcounting success counts.
* | Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson2012-07-18
|\|
| * Change all SMARTLIST_FOREACH loops of >=10 lines to use BEGIN/ENDNick Mathewson2012-07-17
| | | | | | | | | | | | | | | | | | | | | | The SMARTLIST_FOREACH macro is more convenient than BEGIN/END when you have a nice short loop body, but using it for long bodies makes your preprocessor tell the compiler that all the code is on the same line. That causes grief, since compiler warnings and debugger lines will all refer to that one line. So, here's a new style rule: SMARTLIST_FOREACH blocks need to be short.
* | Merge remote-tracking branch 'asn/bug3589'Nick Mathewson2012-07-17
|\ \ | |/ |/|
| * Move transport-related functions from circuitbuild.c to transports.c.George Kadianakis2012-07-03
| | | | | | | | | | Move 'transport_t' to transports.h, and all transport-related functions that don't rely on 'bridge_list' to transports.c.
* | Refer to the correct variable in a loop when parsing entry guard stateNick Mathewson2012-07-16
|/ | | | Fixes bug 6397 and coverity issue 709599. Bugfix on 0.2.3.17-beta.
* fix grammar in commentRoger Dingledine2012-06-28
|
* Catch a few more K&R violations with make check-spacesNick Mathewson2012-06-23
| | | | | | | | | | | | | | | | | | | | | We now catch bare {s that should be on the previous line with a do, while, if, or for, and elses that should share a line with their preceding }. That is, if (foo) { and if (foo) { ... } else are now detected. We should think about maybe making Tor uncrustify-clean some day, but configuring uncrustify is an exercise in bizarreness, and reformatting huge gobs of Tor is always painful.
* Triage the XXX023 and XXX022 comments: postpone many.Nick Mathewson2012-06-15
|
* Downgrade log messages about cbt enabled/disabled. Bug 6169.Nick Mathewson2012-06-15
|
* another little step at making debugging 5458 easierRoger 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.
* | 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
* | 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 'bug5603'Nick Mathewson2012-06-05
|\
| * Minor changes to bug5603Nick Mathewson2012-06-05
| | | | | | | | | | | | * Minor stylistic changes to comments and doxygen * Use strcmp_opt; it already exists. * Tighten bridge_has_digest implementation a little.
| * Improve conflict resolution when adding new bridges.George Kadianakis2012-06-03
| |
* | Update copyright dates to 2012; add a few missing copyright statementsNick Mathewson2012-06-04
| |
* | Add about 60 more DOCDOC comments to 0.2.3Nick Mathewson2012-06-04
|/ | | | | | | | Also, try to resolve some doxygen issues. First, define a magic "This is doxygen!" macro so that we take the correct branch in various #if/#else/#endifs in order to get the right documentation. Second, add in a few grouping @{ and @} entries in order to get some variables and fields to get grouped together.
* Use a more helpful log message when we can't find a proxy.George Kadianakis2012-05-18
|
* Remove over-two-months-old entry guards even while running.Roger Dingledine2012-05-16
| | | | | | | | Previously, we only did this check at startup, which could lead to us holding a guard indefinitely, and give weird results. Fixes bug 5380; bugfix on 0.2.1.14-rc. (Patch by Roger; changes file and commit message by Nick)