Skip to content
Snippets Groups Projects
Closed sendme windows don't stay synced between sides
  • View options
  • sendme windows don't stay synced between sides

  • View options
  • Closed Issue created by Roger Dingledine

    legacy/trac#6252 (moved) showed us that circwindows grow beyond their initial windows in normal operation. We can't implement the 6252 patch until we fix this bug.

    Our friendly irc person suggests

    --- relay.orig.c
    +++ relay.c
    @@ -1263,7 +1263,7 @@
                    "'connected' received, no conn attached anymore. Ignoring.");
           return 0;
         case RELAY_COMMAND_SENDME:
    -      if (!conn) {
    +      if (!rh.stream_id) {
             if (layer_hint) {
               if (layer_hint->package_window + CIRCWINDOW_INCREMENT >
                     CIRCWINDOW_START_MAX) {
    @@ -1292,6 +1292,11 @@
             }
             return 0;
           }
    +      if (!conn) {
    +        log_info(domain,"sendme cell dropped, unknown stream (streamid %d).",
    +                 rh.stream_id);
    +        return 0;
    +      }
           conn->package_window += STREAMWINDOW_INCREMENT;
           log_debug(domain,"stream-level sendme, packagewindow now %d.",
                     conn->package_window);

    Linked items ... 0

  • Activity

    • All activity
    • Comments only
    • History only
    • Newest first
    • Oldest first
    Loading Loading Loading Loading Loading Loading Loading Loading Loading Loading