Ver código fonte

Servers used to decline to publish their DirPort if their
BandwidthRate, RelayBandwidthRate, or MaxAdvertisedBandwidth
were below a threshold. Now they only look at BandwidthRate and
RelayBandwidthRate.


svn:r11465

Roger Dingledine 16 anos atrás
pai
commit
8f75defd33
4 arquivos alterados com 9 adições e 4 exclusões
  1. 4 0
      ChangeLog
  2. 0 2
      doc/TODO
  3. 4 1
      src/or/router.c
  4. 1 1
      src/or/test.c

+ 4 - 0
ChangeLog

@@ -42,6 +42,10 @@ Changes in version 0.2.0.7-alpha - 2007-??-??
     - Don't try to access (or alter) the state file when running
       --list-fingerprint or --verify-config or --hash-password. (Resolves
       bug 499.)
+    - Servers used to decline to publish their DirPort if their
+      BandwidthRate, RelayBandwidthRate, or MaxAdvertisedBandwidth
+      were below a threshold. Now they only look at BandwidthRate and
+      RelayBandwidthRate.
 
   o Code simplifications and refactoring:
     - Revamp file-writing logic so we don't need to have the entire contents

+ 0 - 2
doc/TODO

@@ -36,8 +36,6 @@ Things we'd like to do in 0.2.0.x:
           unreachable is bunk -- it's leftover from the time when all
           servers ran 24/7. now it triggers every time a server goes
           away and then returns before the old descriptor has expired.
-        - maxadvertisedbandwidth should not influence whether dirport
-          is published.
         - 0.2.0.x dir authorities have stopped giving people Authority
           flags.
       - add a --quiet commandline option that suppresses logs. useful

+ 4 - 1
src/or/router.c

@@ -619,7 +619,10 @@ decide_to_advertise_dirport(or_options_t *options, routerinfo_t *router)
     /* if we might potentially hibernate */
     new_choice = 0;
     reason = "AccountingMax enabled";
-  } else if (router->bandwidthrate < 51200) {
+#define MIN_BW_TO_ADVERTISE_DIRPORT 51200
+  } else if (options->BandwidthRate < MIN_BW_TO_ADVERTISE_DIRPORT ||
+             (options->RelayBandwidthRate > 0 &&
+              options->RelayBandwidthRate < MIN_BW_TO_ADVERTISE_DIRPORT)) {
     /* if we're advertising a small amount */
     new_choice = 0;
     reason = "BandwidthRate under 50KB";

+ 1 - 1
src/or/test.c

@@ -2163,7 +2163,7 @@ test_dir_format(void)
   memset(buf, 0, 2048);
   test_assert(router_dump_router_to_string(buf, 2048, &r1, pk2)>0);
 
-  strlcpy(buf2, "router Magri 18.244.0.1 9000 0 0\n"
+  strlcpy(buf2, "router Magri 18.244.0.1 9000 0 9003\n"
           "platform Tor "VERSION" on ", sizeof(buf2));
   strlcat(buf2, get_uname(), sizeof(buf2));
   strlcat(buf2, "\n"