ソースを参照

Merge remote-tracking branch 'origin/maint-0.2.4'

Nick Mathewson 11 年 前
コミット
68ea7d24d8
3 ファイル変更10 行追加4 行削除
  1. 6 0
      changes/bug8253-fix
  2. 2 2
      src/or/circuitbuild.c
  3. 2 2
      src/or/entrynodes.c

+ 6 - 0
changes/bug8253-fix

@@ -0,0 +1,6 @@
+ o Minor bugfixes (log messages)
+   - Fix a scaling issue in the path bias accounting code that resulted in
+     "Bug:" log messages from either pathbias_scale_close_rates() or
+     pathbias_count_build_success(). This represents a bugfix on a previous
+     bugfix: The original fix attempted in 0.2.4.10-alpha was incomplete.
+     Fixes bug 8235; bugfix on 0.2.4.1-alpha.

+ 2 - 2
src/or/circuitbuild.c

@@ -2491,7 +2491,7 @@ pathbias_scale_close_rates(entry_guard_t *guard)
     /* Verify that the counts are sane before and after scaling */
     int counts_are_sane = (guard->circ_attempts >= guard->circ_successes);
 
-    guard->circ_attempts -= opened_attempts;
+    guard->circ_attempts -= (opened_attempts+opened_built);
     guard->circ_successes -= opened_built;
 
     guard->circ_attempts *= scale_ratio;
@@ -2501,7 +2501,7 @@ pathbias_scale_close_rates(entry_guard_t *guard)
     guard->collapsed_circuits *= scale_ratio;
     guard->unusable_circuits *= scale_ratio;
 
-    guard->circ_attempts += opened_attempts;
+    guard->circ_attempts += (opened_attempts+opened_built);
     guard->circ_successes += opened_built;
 
     entry_guards_changed();

+ 2 - 2
src/or/entrynodes.c

@@ -1219,7 +1219,7 @@ entry_guards_parse_state(or_state_t *state, int set, char **msg)
         int severity = LOG_INFO;
         /* If this state file was written by a Tor that would have
          * already fixed it, then the overcounting bug is still there.. */
-        if (tor_version_as_new_as(state_version, "0.2.4.12-alpha")) {
+        if (tor_version_as_new_as(state_version, "0.2.4.13-alpha")) {
           severity = LOG_NOTICE;
         }
         log_fn(severity, LD_BUG,
@@ -1284,7 +1284,7 @@ entry_guards_parse_state(or_state_t *state, int set, char **msg)
         int severity = LOG_INFO;
         /* If this state file was written by a Tor that would have
          * already fixed it, then the overcounting bug is still there.. */
-        if (tor_version_as_new_as(state_version, "0.2.4.12-alpha")) {
+        if (tor_version_as_new_as(state_version, "0.2.4.13-alpha")) {
           severity = LOG_NOTICE;
         }
         log_fn(severity, LD_BUG,