Re: [FIXUP] Fixup on tip of jt/http-auth-proto-v2-fix
- From
- Jonathan Tan <jonathantanmy@google.com>
- Date
- Feb 26, 2019, 18:18 UTC
- Message-ID
- <20190226181859.65894-1-jonathantanmy@google.com>
- In-Reply-To
- <20190226070408.GA117495@google.com>
> Thanks for fixing it. > > Is there a particular patch this should be squashed into, or does it > stand alone? It the latter, mind writing a commit message for it?
Not sure if I'm using "fixup" correctly in the subject, but this is meant to be squashed onto the tip of jt/http-auth-proto-v2-fix - specifically, deb7d2094a ("remote-curl: use post_rpc() for protocol v2 also", 2019-02-14).
I don't think it should be a standalone commit, as the tip is buggy - which might break bisect. But if we really want a standalone commit, this commit message should work:
remote-curl: handle consecutive flushes correctly
When the client, using protocol v2, sends two consecutive flushes and then an EOF, remote-curl dies. This is because, at the start of a new request, stateless_connect() reads, and if no EOF is found, then stateless_connect() calls post_rpc() which reads until a flush is encountered. This is a problem when stateless_connect() reads the second consecutive flush (hence, no EOF), and then post_rpc() reads, not expecting an EOF at all.
Teach stateless_connect() to inform post_rpc() to read only if what it read isn't a flush.