Commit eca28f24 authored by Nick Mathewson's avatar Nick Mathewson 🐘
Browse files

r9004@totoro: nickm | 2006-10-11 18:05:24 -0400

 Add client support for a 'BadExit' flag, so authorities can say "Server X is a poor choise for your nytimes.com connections, as it seems to direct them to HoorayForMao.com or (more likely) WouldYouLikeToBuyTheseFineEncyclopedias.com"
 


svn:r8690
parent 7f3fc709
Loading
Loading
Loading
Loading
+4 −0
Changes for ChangeLog: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
Changes in version 0.1.2.3-alpha - 2006-10-??
  o Minor features:
    - If most authorities set a (newly defined) BadExit flag for a server, do
      not consider it as a general-purpose exit.

  o Minor features, controller:
    - Add a REASON field to CIRC events; for backward compatibility, this
      field is sent only to controllers that have enabled the extended
+4 −0
Changes for doc/TODO: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -363,6 +363,10 @@ Minor items for 0.1.2.x as time permits:
Future version:
  - Configuration format really wants sections.
  - Good RBL substitute.
  - Authorities should try using exits for http to connect to some URLS
    (specified in a configuration file, so as not to make the List Of Things
    Not To Censor completely obvious) and ask them for results.  Exits that
    don't give good answers should have the BadExit flag set.
  - Our current approach to block attempts to use Tor as a single-hop proxy
    is pretty lame; we should get a better one.
  . Update the hidden service stuff for the new dir approach.
+3 −0
Changes for doc/dir-spec.txt: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -355,6 +355,9 @@ $Id$
          - A directory port (or "0" for none")
      "s" -- A series of whitespace-separated status flags, in any order:
          "Authority" if the router is a directory authority.
          "BadExit" if the router is believed to be useless as an exit node
             (because its ISP censors it, because it is behind a restrictive
             proxy, or for some similar reason).
          "Exit" if the router is useful for building general-purpose exit
             circuits.
          "Fast" if the router is suitable for high-bandwidth circuits.
+3 −0
Changes for doc/path-spec.txt: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -208,6 +208,9 @@ of their choices.
   such a connection if any clause that accepts any connections to that port
   precedes all clauses (if any) that reject all connections to that port.

   Unless requested to do so by the user, we never choose a server flagged by
   more than half of the authorities as BadExit for an exit server.

2.2.2. User configuration

   Users can alter the default behavior for path selection with configuration
+2 −5
Changes for src/or/circuitbuild.c: 2 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -1165,12 +1165,9 @@ choose_good_exit_server_general(routerlist_t *dir, int need_uptime,
       */
      continue;
    }
    if (!router->is_running) {
    if (!router->is_running || router->is_bad_exit) {
      n_supported[i] = -1;
//      log_fn(LOG_DEBUG,
//           "Skipping node %s (index %d) -- directory says it's not running.",
//           router->nickname, i);
      continue; /* skip routers that are known to be down */
      continue; /* skip routers that are known to be down or bad exits */
    }
    if (router_is_unreliable(router, need_uptime, need_capacity, 0)) {
      n_supported[i] = -1;
Loading