aboutsummaryrefslogtreecommitdiff
path: root/src/or/circuitbuild.c
Commit message (Collapse)AuthorAge
* Use channel_t rather than or_connection_t for circuitsAndrea Shepard2012-10-08
|
* Merge remote-tracking branch 'linus/bug6757'Nick Mathewson2012-10-04
|\
| * Set (and reset) node_t.ipv6_preferred for bridges based on Bridge lines.Linus Nordberg2012-09-19
| | | | | | | | | | | | | | We used to set it only when ClientPreferIPv6ORPort was set which seems wrong. Fixes one part of #6757.
* | Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson2012-10-04
|\ \
| * | properly free the return values of rate_limit_log()Roger Dingledine2012-10-03
| | | | | | | | | | | | resolves bug 7022.
* | | pass the reason from the truncated cell to the controllerRoger Dingledine2012-10-03
| |/ |/| | | | | | | | | | | (rather than just always declaring that the reason is END_CIRC_REASON_OR_CONN_CLOSED) resolves bug 7039.
* | Bump bug 6866 log messages back up to notice for 0.2.4Nick Mathewson2012-09-18
| |
* | Merge remote-tracking branch 'origin/maint-0.2.3'Nick Mathewson2012-09-18
|\|
| * Whitespace fixesNick Mathewson2012-09-18
| |
| * Bug 6866: Convert pathbias asserts into log messages.Mike Perry2012-09-17
| | | | | | | | Asserts were hit by Tor2Web mode.
* | Print the correct address family in log printout.Linus Nordberg2012-09-18
| | | | | | | | | | | | | | | | Look at the address family of the preferred OR port rather than the node.ipv6_preferred flag since the logic has changed with new ClientUseIPv6 config option. Fixes ticket 6884.
* | Split the routerset code out of routerlist.cNick Mathewson2012-09-14
| |
* | Split the or_state_t portions of config.c into their own fileNick Mathewson2012-09-13
| |
* | Split the generic config_fmt_t code into a new confparse.c fileNick Mathewson2012-09-13
| | | | | | | | | | This helps us split up one of our larger files, and sets the stage for refactoring the configuration backend a little
* | Fix directory self-testing logicNick Mathewson2012-09-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When I removed version_supports_begindir, I accidentally removed the mechanism we had been using to make a directory cache self-test its directory port. This caused bug 6815, which caused 6814 (both in 0.2.4.2-alpha). To fix this bug, I'm replacing the "anonymized_connection" argument to directory_initiate_command_* with an enumeration to say how indirectly to connect to a directory server. (I don't want to reinstate the "version_supports_begindir" argument as "begindir_ok" or anything -- these functions already take too many arguments.) For safety, I made sure that passing 0 and 1 for 'indirection' gives the same result as you would have gotten before -- just in case I missed any 0s or 1s.
* | 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
|\