Github user enixon commented on the issue:

    https://github.com/apache/zookeeper/pull/184
  
    For context on the second pull request, testing at Facebook revealed a bug 
in the existent form of 184. From #627 notes:
    
    > Fixed networking issues/bugs in UnifiedServerSocket
    > -   don't crash the accept() thread if the client closes the connection 
without sending any data
    > -   don't corrupt the connection if the client sends fewer than 5 bytes 
for the initial read
    > -   delay the detection of TLS vs. plaintext mode until a socket stream 
is read from or written to. This prevents the accept() thread from getting 
blocked on a read() operation from the newly connected socket.
    > -   prepending 5 bytes to PrependableSocket and then trying to read >5 
bytes would only return the first 5 bytes, even if more bytes were available. 
This is fixed.
    
    The fix for this issue is entangled in other code that was written as an 
extension of 184. As github does not seem to support stacked pull requests, 
we're offering 627 as a mix "184 + extensions + bug fix" as a way of at least 
sharing what we know. If there are low cost ways of presenting that work more 
cleanly, please share.


---

Reply via email to