Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix issue #1418: WebSocketServer sometimes misses GET request after SSL handshake #1419

Commits on Jun 8, 2024

  1. Fix WebSocketServer sometimes missing GET request

    On Ubuntu 22.04 with Linux 6.5, it was observed that when the server
    gets the SSL records containing the client handshake finished message
    and the first HTTP GET request in ONE read operation, the latter SSL
    record is never processed.
    
    Commit 89eaf41 should have fixed this,
    but it turned out that when SSLSocketChannel2#processHandshake() is
    called from SSLSocketChannel2#write(), the second SSL record containing
    the HTTP GET request is stashed away, but never retrieved, since the
    calling code in WebSocketServer#doWrite() has no provisions for this,
    only WebSocketServer#doRead() does.
    
    Change SSLSocketChannel2#processHandshake() to only read from the socket
    when called from SSLSocketChannel#read(), to ensure that when two SSL
    records are read, the second one is processed as well.
    
    This fixes issue TooTallNate#1418.
    robert-s-ubi committed Jun 8, 2024
    Configuration menu
    Copy the full SHA
    ad3d043 View commit details
    Browse the repository at this point in the history