commit f91b5c433d4c2fb2e80053859b6f15c9239b3231 from: Stefan Sperling date: Sat Jan 21 09:15:14 2023 UTC only "forward" implicit flush packets in serve_read() if they are expected ok jamsek commit - 3448a19afa20edfa1069b2d793abcda5a9006565 commit + f91b5c433d4c2fb2e80053859b6f15c9239b3231 blob - ff9cd1e8a402bfed028e0aa1db7d6cf94c159eb4 blob + 33fddb5601425a93824e79798b4bd2ee24a574a3 --- lib/serve.c +++ lib/serve.c @@ -928,9 +928,13 @@ serve_read(int infd, int outfd, int gotd_sock, const c goto done; } - err = forward_flushpkt(&ibuf); - if (err) - goto done; + if (curstate == STATE_EXPECT_WANT || + curstate == STATE_EXPECT_MORE_WANT || + curstate == STATE_EXPECT_HAVE) { + err = forward_flushpkt(&ibuf); + if (err) + goto done; + } if (curstate == STATE_EXPECT_HAVE && !have_ack) { err = send_nak(outfd, chattygot); if (err)