Browse Source

Merge branch 'maint-0.2.1'

Roger Dingledine 16 years ago
parent
commit
afc9da7287
2 changed files with 10 additions and 2 deletions
  1. 8 0
      ChangeLog
  2. 2 2
      src/or/relay.c

+ 8 - 0
ChangeLog

@@ -53,6 +53,14 @@ Changes in version 0.2.2.1-alpha - 2009-0?-??
 
 
 
 
 Changes in version 0.2.1.20 - 2009-??-??
 Changes in version 0.2.1.20 - 2009-??-??
+  o Major bugfixes:
+    - Send circuit or stream sendme cells when our window has decreased
+      by 100 cells, not when it has decreased by 101 cells. Bug uncovered
+      by Karsten when testing the "reduce circuit window" performance
+      patch. Bugfix on the 54th commit on Tor -- from July 2002,
+      before the release of Tor 0.0.0. This is the new winner of the
+      oldest-bug prize.
+
   o New directory authorities:
   o New directory authorities:
     - Set up urras (run by Jacob Appelbaum) as the seventh v3 directory
     - Set up urras (run by Jacob Appelbaum) as the seventh v3 directory
       authority.
       authority.

+ 2 - 2
src/or/relay.c

@@ -1379,7 +1379,7 @@ connection_edge_consider_sending_sendme(edge_connection_t *conn)
     return;
     return;
   }
   }
 
 
-  while (conn->deliver_window < STREAMWINDOW_START - STREAMWINDOW_INCREMENT) {
+  while (conn->deliver_window <= STREAMWINDOW_START - STREAMWINDOW_INCREMENT) {
     log_debug(conn->cpath_layer?LD_APP:LD_EXIT,
     log_debug(conn->cpath_layer?LD_APP:LD_EXIT,
               "Outbuf %d, Queuing stream sendme.",
               "Outbuf %d, Queuing stream sendme.",
               (int)conn->_base.outbuf_flushlen);
               (int)conn->_base.outbuf_flushlen);
@@ -1493,7 +1493,7 @@ circuit_consider_sending_sendme(circuit_t *circ, crypt_path_t *layer_hint)
 {
 {
 //  log_fn(LOG_INFO,"Considering: layer_hint is %s",
 //  log_fn(LOG_INFO,"Considering: layer_hint is %s",
 //         layer_hint ? "defined" : "null");
 //         layer_hint ? "defined" : "null");
-  while ((layer_hint ? layer_hint->deliver_window : circ->deliver_window) <
+  while ((layer_hint ? layer_hint->deliver_window : circ->deliver_window) <=
           CIRCWINDOW_START - CIRCWINDOW_INCREMENT) {
           CIRCWINDOW_START - CIRCWINDOW_INCREMENT) {
     log_debug(LD_CIRC,"Queuing circuit sendme.");
     log_debug(LD_CIRC,"Queuing circuit sendme.");
     if (layer_hint)
     if (layer_hint)