BUG/MINOR: h2: immediately close if receiving GOAWAY after the last stream
The h2spec test suite reveals that a GOAWAY frame received after the
last stream doesn't cause an immediate close, because we count on the
last stream to quit to do so. By simply setting the last_sid to the
received value in case it was not set, we can ensure to properly close
an idle connection during h2_wake().
To be backported to 1.8.
diff --git a/src/mux_h2.c b/src/mux_h2.c
index 4567b8f..733687e 100644
--- a/src/mux_h2.c
+++ b/src/mux_h2.c
@@ -1399,6 +1399,8 @@
last = h2_get_n32(h2c->dbuf, 0);
h2c->errcode = h2_get_n32(h2c->dbuf, 4);
h2_wake_some_streams(h2c, last, CS_FL_ERROR);
+ if (h2c->last_sid < 0)
+ h2c->last_sid = last;
return 1;
conn_err: