Browse Source

Set orport= for 4 of the 5 dir authorities; Fix getinfo ns/all; Fix seg
fault when starting a server without a fingerprint file present.


svn:r9261

Roger Dingledine 19 years ago
parent
commit
da2ff14839
5 changed files with 39 additions and 34 deletions
  1. 31 28
      ChangeLog
  2. 4 4
      src/or/config.c
  3. 2 0
      src/or/control.c
  4. 1 1
      src/or/hibernate.c
  5. 1 1
      src/or/router.c

+ 31 - 28
ChangeLog

@@ -17,8 +17,8 @@ Changes in version 0.1.2.5-alpha - 2007-01-03
       located in the %appdata%\Tor\ of the user who installed the service.
       located in the %appdata%\Tor\ of the user who installed the service.
       Patch from Matt Edman.
       Patch from Matt Edman.
     - Include TLS overhead when counting bandwidth usage; previously, we
     - Include TLS overhead when counting bandwidth usage; previously, we
-      would count only the bytes sent over TLS, but not the bytes used to
-      send them.
+      would count only the bytes sent over TLS, but not the bytes used
+      to send them.
 
 
   o Minor features:
   o Minor features:
     - Start using the state file to store bandwidth accounting data:
     - Start using the state file to store bandwidth accounting data:
@@ -27,6 +27,8 @@ Changes in version 0.1.2.5-alpha - 2007-01-03
     - Try to batch changes to the state file so that we do as few
     - Try to batch changes to the state file so that we do as few
       disk writes as possible while still storing important things in
       disk writes as possible while still storing important things in
       a timely fashion.
       a timely fashion.
+    - The state file and the bw_accounting file get saved less often when
+      AvoidDiskWrites is set.
     - Ongoing work on eventdns infrastructure: add dns server and ipv6
     - Ongoing work on eventdns infrastructure: add dns server and ipv6
       support.
       support.
     - Make PIDFile work on Windows (untested).
     - Make PIDFile work on Windows (untested).
@@ -43,39 +45,40 @@ Changes in version 0.1.2.5-alpha - 2007-01-03
       addresses: .exit, .onion, and .noconnnect.
       addresses: .exit, .onion, and .noconnnect.
     - Add a maintainer script to tell us which options are missing
     - Add a maintainer script to tell us which options are missing
       documentation: "make check-docs".
       documentation: "make check-docs".
-    - Remove some options that have been deprecated since at least 0.1.0.x:
-      AccountingMaxKB, LogFile, DebugLogFile, LogLevel, and SysLog.  Use
-      AccountingMax instead of AccountingMaxKB; use Log to set log options.
-    - DirServer configuration lines now have an orport option so clients can
-      open encrypted tunnels to the authorities without having downloaded
-      their descriptors yet.
-    - Clients track responses with status 503 from dirservers.  After a
-      dirserver has given us a 503, we try not to use it until an hour
-      has gone by, or until we have no dirservers that haven't given us
-      a 503.
-    - The state file and the bw_accounting file get saved less often when
-      AvoidDiskWrites is set.
+    - Remove some options that have been deprecated since at least
+      0.1.0.x: AccountingMaxKB, LogFile, DebugLogFile, LogLevel, and
+      SysLog. Use AccountingMax instead of AccountingMaxKB, and use Log
+      to set log options.
     - We no longer look for identity and onion keys in "identity.key" and
     - We no longer look for identity and onion keys in "identity.key" and
       "onion.key" -- these were replaced by secret_id_key and
       "onion.key" -- these were replaced by secret_id_key and
       secret_onion_key in 0.0.8pre1.
       secret_onion_key in 0.0.8pre1.
-    - We no longer require unrecognized directory entries to be preceded by
-      "opt".
+    - We no longer require unrecognized directory entries to be
+      preceded by "opt".
+    - DirServer configuration lines now have an orport option so
+      clients can open encrypted tunnels to the authorities without
+      having downloaded their descriptors yet. Enabled for moria1,
+      moria2, tor26, and lefkada now in the default configuration.
+    - Clients track responses with status 503 from dirservers.  After a
+      dirserver has given us a 503, we try not to use it until an hour has
+      gone by, or until we have no dirservers that haven't given us a 503.
     - When we get a 503 from a directory, and we're not a server, we don't
     - When we get a 503 from a directory, and we're not a server, we don't
-      count the failure against the total number of failures allowed for the
-      thing we're trying to download.
-    - Report X-Your-Address-Is correctly from tunneled directory connections;
-      don't report X-Your-Address-Is is when it's an internal address; and
-      never believe reported remote addresses when they're internal.
+      count the failure against the total number of failures allowed
+      for the thing we're trying to download.
+    - Report X-Your-Address-Is correctly from tunneled directory
+      connections; don't report X-Your-Address-Is is when it's an internal
+      address; and never believe reported remote addresses when they're
+      internal.
     - Add client-side caching for reverse DNS lookups.
     - Add client-side caching for reverse DNS lookups.
     - Add support to tor-resolve for reverse lookups and SOCKS5.
     - Add support to tor-resolve for reverse lookups and SOCKS5.
     - We now check for the case when common DNS requests are going to
     - We now check for the case when common DNS requests are going to
-      wildcarded addresses, and change our exit policy to reject *:* if
-      it's happening.  (Bug #364)
+      wildcarded addresses, and change our exit policy to reject *:*
+      if it's happening.  (Bug #364)
     - When we change nameservers or IP addresses, reset and re-launch
     - When we change nameservers or IP addresses, reset and re-launch
       our tests for DNS hijacking.
       our tests for DNS hijacking.
     - Block an obscure DoS attack from directory caches.
     - Block an obscure DoS attack from directory caches.
     - Add a BadDirectory flag to network status docs so that authorities
     - Add a BadDirectory flag to network status docs so that authorities
-      can (eventually) tell clients about caches they believe to be broken.
+      can (eventually) tell clients about caches they believe to be
+      broken.
 
 
   o Security bugfixes:
   o Security bugfixes:
     - Stop sending the HttpProxyAuthenticator string to directory
     - Stop sending the HttpProxyAuthenticator string to directory
@@ -124,12 +127,12 @@ Changes in version 0.1.2.5-alpha - 2007-01-03
       changed.
       changed.
     - Cleaned-up code and documentation in NT services. Patch from Matt
     - Cleaned-up code and documentation in NT services. Patch from Matt
       Edman.
       Edman.
-    - Removed the supposedly misleading error message mentioned in Bug #294.
-      Patch from Matt Edman.
+    - Removed the supposedly misleading error message mentioned in
+      Bug #294. Patch from Matt Edman.
     - Stop warning when a single nameserver fails: only warn when _all_ of
     - Stop warning when a single nameserver fails: only warn when _all_ of
       our nameservers have failed.  (Bug #326.)
       our nameservers have failed.  (Bug #326.)
-    - When we only have one nameserver, raise the threshold for deciding that
-      the nameserver is dead. (Also bug #326)
+    - When we only have one nameserver, raise the threshold for deciding
+      that the nameserver is dead. (Also bug #326)
     - Directory authorities now only decide that routers are reachable
     - Directory authorities now only decide that routers are reachable
       if their identity keys are as expected.
       if their identity keys are as expected.
     - When the user uses bad syntax in the Log config line, stop
     - When the user uses bad syntax in the Log config line, stop

+ 4 - 4
src/or/config.c

@@ -719,13 +719,13 @@ add_default_trusted_dirservers(void)
   int i;
   int i;
   const char *dirservers[] = {
   const char *dirservers[] = {
     /* eventually we should mark moria1 as "v1only" */
     /* eventually we should mark moria1 as "v1only" */
-    "moria1 v1 18.244.0.188:9031 "
+    "moria1 v1 orport=9001 18.244.0.188:9031 "
       "FFCB 46DB 1339 DA84 674C 70D7 CB58 6434 C437 0441",
       "FFCB 46DB 1339 DA84 674C 70D7 CB58 6434 C437 0441",
-    "moria2 v1 18.244.0.114:80 "
+    "moria2 v1 orport=443 18.244.0.114:80 "
       "719B E45D E224 B607 C537 07D0 E214 3E2D 423E 74CF",
       "719B E45D E224 B607 C537 07D0 E214 3E2D 423E 74CF",
-    "tor26 v1 86.59.21.38:80 "
+    "tor26 v1 orport=443 86.59.21.38:80 "
       "847B 1F85 0344 D787 6491 A548 92F9 0493 4E4E B85D",
       "847B 1F85 0344 D787 6491 A548 92F9 0493 4E4E B85D",
-    "lefkada 140.247.60.64:80 "
+    "lefkada orport=443 140.247.60.64:80 "
       "38D4 F5FC F7B1 0232 28B8 95EA 56ED E7D5 CCDC AF32",
       "38D4 F5FC F7B1 0232 28B8 95EA 56ED E7D5 CCDC AF32",
     "dizum 194.109.206.212:80 "
     "dizum 194.109.206.212:80 "
       "7EA6 EAD6 FD83 083C 538F 4403 8BBF A077 587D D755",
       "7EA6 EAD6 FD83 083C 538F 4403 8BBF A077 587D D755",

+ 2 - 0
src/or/control.c

@@ -1752,6 +1752,8 @@ static const getinfo_item_t getinfo_items[] = {
   PREFIX("desc/name/", dir, "Router descriptors by nickname."),
   PREFIX("desc/name/", dir, "Router descriptors by nickname."),
   ITEM("desc/all-recent", dir,
   ITEM("desc/all-recent", dir,
        "All non-expired, non-superseded router descriptors."),
        "All non-expired, non-superseded router descriptors."),
+  ITEM("ns/all", networkstatus,
+       "Brief summary of router status (v2 directory format)"),
   PREFIX("ns/id/", networkstatus,
   PREFIX("ns/id/", networkstatus,
          "Brief summary of router status by ID (v2 directory format)."),
          "Brief summary of router status by ID (v2 directory format)."),
   PREFIX("ns/name/", networkstatus,
   PREFIX("ns/name/", networkstatus,

+ 1 - 1
src/or/hibernate.c

@@ -544,7 +544,7 @@ accounting_record_bandwidth_usage(time_t now, or_state_t *state)
   time_t tmp;
   time_t tmp;
   int r = 0;
   int r = 0;
   uint64_t expected;
   uint64_t expected;
-  static time_t last_recorded;
+  static time_t last_recorded = 0;
 
 
   /* First, update bw_accounting. Until 0.1.2.5-alpha, this was the only place
   /* First, update bw_accounting. Until 0.1.2.5-alpha, this was the only place
    * we stored this information. The format is:
    * we stored this information. The format is:

+ 1 - 1
src/or/router.c

@@ -340,7 +340,7 @@ init_keys(void)
   cp = NULL;
   cp = NULL;
   if (file_status(keydir) == FN_FILE)
   if (file_status(keydir) == FN_FILE)
     cp = read_file_to_str(keydir, 0, NULL);
     cp = read_file_to_str(keydir, 0, NULL);
-  if (!cp && strcmp(cp, fingerprint_line)) {
+  if (!cp || strcmp(cp, fingerprint_line)) {
     if (write_str_to_file(keydir, fingerprint_line, 0)) {
     if (write_str_to_file(keydir, fingerprint_line, 0)) {
       log_err(LD_FS, "Error writing fingerprint line to file");
       log_err(LD_FS, "Error writing fingerprint line to file");
       return -1;
       return -1;