sendme windows don't stay synced between sides
View options
- Truncate descriptions
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);
- Show labels
- Show closed items