[or-cvs] r8633: finish poking and prodding. i'm all happy now. (in tor/trunk: . doc src/or)

arma at seul.org arma at seul.org
Sat Oct 7 09:13:33 UTC 2006


Author: arma
Date: 2006-10-07 05:13:30 -0400 (Sat, 07 Oct 2006)
New Revision: 8633

Modified:
   tor/trunk/ChangeLog
   tor/trunk/doc/TODO
   tor/trunk/doc/control-spec.txt
   tor/trunk/src/or/circuitbuild.c
   tor/trunk/src/or/connection_edge.c
   tor/trunk/src/or/control.c
   tor/trunk/src/or/or.h
Log:
finish poking and prodding. i'm all happy now.


Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog	2006-10-07 07:28:15 UTC (rev 8632)
+++ tor/trunk/ChangeLog	2006-10-07 09:13:30 UTC (rev 8633)
@@ -1,14 +1,13 @@
-Changes in version 0.1.2.2-alpha - 2006-10-??
+Changes in version 0.1.2.2-alpha - 2006-10-07
   o Major features:
     - Make our async eventdns library on-by-default for Tor servers,
-      and plan to deprecate using separate dnsworker threads. Let us
-      know if you encounter bugs.
+      and plan to deprecate the separate dnsworker threads.
     - Add server-side support for "reverse" DNS lookups (using PTR
       records so clients can determine the canonical hostname for a given
       IPv4 address). Only supported by servers using eventdns; servers
       now announce in their descriptors whether they support eventdns.
     - Specify and implement client-side SOCKS5 interface for reverse DNS
-      lookups; see doc/socks-extensions.txt for full information.
+      lookups (see doc/socks-extensions.txt).
     - Add a BEGIN_DIR relay cell type for an easier in-protocol way to
       connect to directory servers through Tor. Previously, clients needed
       to find Tor exits to make private connections to directory servers.
@@ -17,20 +16,20 @@
       the total bandwidth available from Exit nodes.
     - Workaround for name servers (like Earthlink's) that hijack failing
       DNS requests and replace the no-such-server answer with a "helpful"
-      redirect to an advertising-driven search portal. We're a little
-      clever about this, in order to work around DNS hijackers who
-      "helpfully" decline to hijack known-invalid RFC2606 addresses.
-      Config option "ServerDNSDetectHijacking 0" lets you turn it off.
+      redirect to an advertising-driven search portal. Also work around
+      DNS hijackers who "helpfully" decline to hijack known-invalid
+      RFC2606 addresses. Config option "ServerDNSDetectHijacking 0"
+      lets you turn it off.
     - Send out a burst of long-range padding cells once we've established
       that we're reachable. Spread them over 4 circuits, so hopefully
       a few will be fast. This exercises our bandwidth and bootstraps
-      us into the directory quicker.
+      us into the directory more quickly.
 
   o New/improved config options:
     - Add new config option "ResolvConf" to let the server operator
-      choose an alternate resolve.conf file.
+      choose an alternate resolve.conf file when using eventdns.
     - Add an "EnforceDistinctSubnets" option to control our "exclude
-      servers on the same /16" behavior.  It's still on by default; this
+      servers on the same /16" behavior. It's still on by default; this
       is mostly for people who want to operate private test networks with
       all the machines on the same subnet.
     - If one of our entry guards is on the ExcludeNodes list, or the
@@ -40,21 +39,23 @@
     - Allow directory authorities to be marked separately as authorities
       for the v1 directory protocol, the v2 directory protocol, and
       as hidden service directories, to make it easier to retire old
-      authorities.  V1 authorities should set "HSAuthoritativeDir 1"
+      authorities. V1 authorities should set "HSAuthoritativeDir 1"
       to continue being hidden service authorities too.
     - Remove 8888 as a LongLivedPort, and add 6697 (IRCS).
 
   o Minor features, controller:
     - Fix CIRC controller events so that controllers can learn the
       identity digests of non-Named servers used in circuit paths.
-    - Give more meaningful errors on control authentication failure.
-    - Add an (off by default) feature so that controllers can get
-      more useful identifiers for servers. Instead of learning identity
-      digests for un-Named servers and nicknames for Named servers,
-      the new identifiers include digest, nickname, and indication of
-      Named status. See control-spec.txt for more information.
+    - Let controllers ask for more useful identifiers for servers. Instead
+      of learning identity digests for un-Named servers and nicknames
+      for Named servers, the new identifiers include digest, nickname,
+      and indication of Named status. Off by default; see control-spec.txt
+      for more information.
     - Add a "getinfo address" controller command so it can display Tor's
       best guess to the user.
+    - New controller event to alert the controller when our server
+      descriptor has changed.
+    - Give more meaningful errors on controller authentication failure.
 
   o Minor features, other:
     - When asked to resolve a hostname, don't use non-exit servers unless
@@ -62,23 +63,24 @@
       useful to the network.
     - Divide eventdns log messages into warn and info messages.
     - Reserve the nickname "Unnamed" for routers that can't pick
-      a hostname; any router can call itself Unnamed; directory
+      a hostname: any router can call itself Unnamed; directory
       authorities will never allocate Unnamed to any particular router;
       clients won't believe that any router is the canonical Unnamed.
     - Only include function names in log messages for info/debug messages.
       For notice/warn/err, the content of the message should be clear on
-      its own, and printing the function name only seems to confuse users.
+      its own, and printing the function name only confuses users.
     - Avoid some false positives during reachability testing: don't try
       to test via a server that's on the same /24 as us.
-    - New controller event to alert the controller when our server
-      descriptor has changed.
     - If we fail to build a circuit to an intended enclave, and it's
       not mandatory that we use that enclave, stop wanting it.
+    - When eventdns is enabled, allow multithreaded builds on NetBSD and
+      OpenBSD. (We had previously disabled threads on these platforms
+      because they didn't have working thread-safe resolver functions)
 
   o Major bugfixes, anonymity/security:
     - If a client asked for a server by name, and there's a named server
       in our network-status but we don't have its descriptor yet, we
-      could return an unnamed one instead.
+      could return an unnamed server instead.
     - Fix NetBSD bug that could allow someone to force uninitialized RAM
       to be sent to a server's DNS resolver. This only affects NetBSD
       and other platforms that do not bounds-check tolower().
@@ -88,13 +90,9 @@
     - Just because your DirPort is open doesn't mean people should be
       able to remotely teach you about hidden service descriptors. Now
       only accept rendezvous posts if you've got HSAuthoritativeDir set.
-    - When eventdns is enabled, allow multithreaded builds on NetBSD and
-      OpenBSD.  (We had previously disabled threads on these platforms
-      because they didn't have working thread-safe resolver functions)
 
   o Major bugfixes, other:
-    - Avoiding crashing on race condition in dns.c:
-      tor_assert(!resolve->expire)
+    - Don't crash on race condition in dns.c: tor_assert(!resolve->expire)
     - When a client asks the server to resolve (not connect to)
       an address, and it has a cached answer, give them the cached answer.
       Previously, the server would give them no answer at all.
@@ -117,13 +115,13 @@
     - Avoid controller-triggered crash when misusing certain commands
       from a v0 controller on platforms that do not handle
       printf("%s",NULL) gracefully.
-    - Don't crash when the controller receives a third argument to an
+    - Don't crash when a controller sends a third argument to an
       "extendcircuit" request.
     - Controller protocol fixes: fix encoding in "getinfo addr-mappings"
       response; fix error code when "getinfo dir/status/" fails.
     - Avoid crash when telling controller stream-status and a stream
       is detached.
-    - Apply patch from Adam Langley: fix assert() in eventdns.c.
+    - Patch from Adam Langley to fix assert() in eventdns.c.
     - Fix a debug log message in eventdns to say "X resolved to Y"
       instead of "X resolved to X".
     - Make eventdns give strings for DNS errors, not just error numbers.
@@ -132,7 +130,7 @@
       authorities'. With the old code, if a guard was unreachable by
       us but listed as running, it would clog our guard list forever.
     - Behave correctly in case we ever have a network with more than
-      2GB per second total advertised capacity.
+      2GB/s total advertised capacity.
     - Make TrackExitHosts case-insensitive, and fix the behavior of
       ".suffix" TrackExitHosts items to avoid matching in the middle of
       an address.
@@ -143,6 +141,8 @@
       result more than once.
     - Patch from Steve Hildrey: Generate network status correctly on
       non-versioning dirservers.
+    - Don't listen to the X-Your-Address-Is hint if you did the lookup
+      via Tor; otherwise you'll think you're the exit node's IP address.
 
   o Minor bugfixes, performance:
     - Two small performance improvements on parsing descriptors.
@@ -163,10 +163,11 @@
 
   o Packaging, bugfixes:
     - Patches so Tor builds with MinGW on Windows.
-    - Patches so Tor might build and run on Cygwin again.
+    - Patches so Tor might run on Cygwin again.
     - Resume building on non-gcc compilers and ancient gcc. Resume
       building with the -O0 compile flag. Resume building cleanly on
       Debian woody.
+    - Run correctly on OS X platforms with case-sensitive filesystems.
     - Correct includes for net/if.h and net/pfvar.h on OpenBSD (from Tup).
     - Add autoconf checks so Tor can build on Solaris x86 again.
 
@@ -176,15 +177,7 @@
     - Be clearer that the *ListenAddress directives can be repeated
       multiple times.
 
-    (stopped at r8571)
-    - Build correctly for use on OS X platforms with case-sensitive
-      filesystems.
-    - Bugfix: when we tunnel our dir fetches via tor, don't believe
-      the X-Forwarded-For header.
-    - stop trying to hammer router_rebuild_descriptor() when we don't
-      have a public address we like yet.
 
-
 Changes in version 0.1.2.1-alpha - 2006-08-27
   o Major features:
     - Add "eventdns" async dns library from Adam Langley, tweaked to

Modified: tor/trunk/doc/TODO
===================================================================
--- tor/trunk/doc/TODO	2006-10-07 07:28:15 UTC (rev 8632)
+++ tor/trunk/doc/TODO	2006-10-07 09:13:30 UTC (rev 8633)
@@ -78,7 +78,7 @@
 Items for 0.1.2.x:
   - Now that we're avoiding exits when picking non-exit positions,
     we need to consider how to pick nodes for internal circuits. If
-    we avoid exits for all positions, we skew the load balancig. If
+    we avoid exits for all positions, we skew the load balancing. If
     we accept exits for all positions, we leak whether it's an internal
     circuit at every step. If we accept exits only at the last hop, we
     reintroduce Lasse's attacks from the Oakland paper.

Modified: tor/trunk/doc/control-spec.txt
===================================================================
--- tor/trunk/doc/control-spec.txt	2006-10-07 07:28:15 UTC (rev 8632)
+++ tor/trunk/doc/control-spec.txt	2006-10-07 09:13:30 UTC (rev 8633)
@@ -92,7 +92,7 @@
   ;    $Digest -- The router whose identity key hashes to the given digest.
   ;        This is the preferred way to refer to an OR.
   ;    $Digest~Name -- The router whose identity key hashes to the given
-  ;        digest, but only if the routes has the given nickname.
+  ;        digest, but only if the router has the given nickname.
   ;    $Digest=Name -- The router whose identity key hashes to the given
   ;        digest, but only if the router is Named and has the given
   ;        nickname.
@@ -601,7 +601,7 @@
   Sometimes extensions to the controller protocol break compatibility with
   older controllers.  In this case, whenever possible, the extensions are
   first included in Tor disabled by default, and only enabled on a given
-  controller connection when the 'USEFEATURE' command is given.  Once a
+  controller connection when the "USEFEATURE" command is given.  Once a
   "USEFEATURE" command is given, it applies to all subsequent interactions on
   the same connection; to disable an enabled feature, a new controller
   connection must be opened.
@@ -624,10 +624,10 @@
 
   VERBOSE_NAMES
 
-     Instead of ServerID as specified elsewhere, the controller should
+     Instead of ServerID as specified above, the controller should
      identify ORs by LongName in events and GETINFO results.  This format is
-     strictly more informative, since rather than including Nickname for
-     known Named routers and Fingerprint for unknown or unNamed routers; the
+     strictly more informative: rather than including Nickname for
+     known Named routers and Fingerprint for unknown or unNamed routers, the
      LongName format includes a Fingerprint, an indication of Named status,
      and a Nickname (if one is known).
 

Modified: tor/trunk/src/or/circuitbuild.c
===================================================================
--- tor/trunk/src/or/circuitbuild.c	2006-10-07 07:28:15 UTC (rev 8632)
+++ tor/trunk/src/or/circuitbuild.c	2006-10-07 09:13:30 UTC (rev 8633)
@@ -218,7 +218,7 @@
  * extended; the _first_ hop that isn't open (if any) is marked as
  * unable to extend.
  */
-/* XXXX Someday we should learn from or circuits too. */
+/* XXXX Someday we should learn from OR circuits too. */
 void
 circuit_rep_hist_note_result(origin_circuit_t *circ)
 {

Modified: tor/trunk/src/or/connection_edge.c
===================================================================
--- tor/trunk/src/or/connection_edge.c	2006-10-07 07:28:15 UTC (rev 8632)
+++ tor/trunk/src/or/connection_edge.c	2006-10-07 09:13:30 UTC (rev 8633)
@@ -2144,7 +2144,7 @@
  * bridge connection with a socketpair, create a new directory conn, and join
  * them together.  Return 0 on success (or if there was an error we could send
  * back an end cell for).  Return -1 if the circuit needs to be torn down.
- * Either connects exit_conn, or frees it, or marks it, as appropriate.
+ * Either connects exit_conn, frees it, or marks it, as appropriate.
  */
 static int
 connection_exit_connect_dir(edge_connection_t *exit_conn)

Modified: tor/trunk/src/or/control.c
===================================================================
--- tor/trunk/src/or/control.c	2006-10-07 07:28:15 UTC (rev 8632)
+++ tor/trunk/src/or/control.c	2006-10-07 09:13:30 UTC (rev 8633)
@@ -63,7 +63,7 @@
 #define ERR_NO_ROUTER               0x000C
 
 /* Recognized asynchronous event types.  It's okay to expand this list
- * because it use used both as a list of v0 event types, and as indices
+ * because it is used both as a list of v0 event types, and as indices
  * into the bitfield to determine which controllers want which events.
  */
 #define _EVENT_MIN             0x0001
@@ -1058,8 +1058,8 @@
       if (base16_decode(password, i/2+1, body, i)<0) {
         connection_write_str_to_buf(
             "551 Invalid hexadecimal encoding.  Maybe you tried a plain text "
-            "password?  If so, the standard requires you put it in double "
-            "quotes.\r\n", conn);
+            "password?  If so, the standard requires that you put it in "
+            "double quotes.\r\n", conn);
         tor_free(password);
         return 0;
       }
@@ -1108,7 +1108,7 @@
     else
       errstr = "Password did not match HashedControlPassword value from "
         "configuration. Maybe you tried a plain text password? "
-        "If so, the standard requires you put it in double quotes.";
+        "If so, the standard requires that you put it in double quotes.";
     goto err;
   } else {
     /* if Tor doesn't demand any stronger authentication, then

Modified: tor/trunk/src/or/or.h
===================================================================
--- tor/trunk/src/or/or.h	2006-10-07 07:28:15 UTC (rev 8632)
+++ tor/trunk/src/or/or.h	2006-10-07 09:13:30 UTC (rev 8633)
@@ -2558,7 +2558,6 @@
   V1_AUTHORITY, V2_AUTHORITY, HIDSERV_AUTHORITY,
 } authority_type_t;
 routerstatus_t *router_pick_trusteddirserver(authority_type_t type,
-
                                              int requireother,
                                              int fascistfirewall,
                                              int retry_if_no_servers);



More information about the tor-commits mailing list