1. 04 Sep, 2012 1 commit
    • Linus Nordberg's avatar
      Clients connect to public relays over IPv6. · e04e1a2e
      Linus Nordberg authored and Nick Mathewson's avatar Nick Mathewson committed
      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.
      e04e1a2e
  2. 27 Aug, 2012 3 commits
  3. 24 Aug, 2012 4 commits
  4. 23 Aug, 2012 1 commit
    • Linus Nordberg's avatar
      Move ipv6_preferred from routerinfo_t to node_t. · 3410a46e
      Linus Nordberg authored
      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?
      3410a46e
  5. 17 Aug, 2012 1 commit
  6. 16 Aug, 2012 2 commits
  7. 17 Jul, 2012 1 commit
    • Nick Mathewson's avatar
      Change all SMARTLIST_FOREACH loops of >=10 lines to use BEGIN/END · 7faf115d
      Nick Mathewson authored
      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.
      7faf115d
  8. 16 Jul, 2012 1 commit
  9. 03 Jul, 2012 1 commit
  10. 28 Jun, 2012 1 commit
  11. 23 Jun, 2012 1 commit
    • Nick Mathewson's avatar
      Catch a few more K&R violations with make check-spaces · a6688c57
      Nick Mathewson authored
      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.
      a6688c57
  12. 15 Jun, 2012 4 commits
  13. 14 Jun, 2012 3 commits
    • Mike Perry's avatar
      For now, never disable any guards. · 61a57303
      Mike Perry authored
      61a57303
    • Mike Perry's avatar
      Defend against entry node path bias attacks · 8d596900
      Mike Perry authored
      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.
      8d596900
    • George Kadianakis's avatar
      Remove validate_pluggable_transports_config(): redundant since 9d9b5ed0. · aa212b17
      George Kadianakis authored
      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.
      aa212b17
  14. 13 Jun, 2012 7 commits
  15. 05 Jun, 2012 2 commits
  16. 04 Jun, 2012 1 commit
    • Nick Mathewson's avatar
      Add about 60 more DOCDOC comments to 0.2.3 · 173b18c7
      Nick Mathewson authored
      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.
      173b18c7
  17. 02 Jun, 2012 1 commit
  18. 18 May, 2012 1 commit
  19. 16 May, 2012 2 commits
  20. 11 May, 2012 1 commit
  21. 11 Apr, 2012 1 commit