• src/sbbs3/js_internal.cpp js_socket.cpp js_socket.h

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Thursday, July 16, 2026 14:26:08
    https://gitlab.synchro.net/main/sbbs/-/commit/059de49b8e9bccc47eefea23
    Modified Files:
    src/sbbs3/js_internal.cpp js_socket.cpp js_socket.h
    Log Message:
    js: expose buffered TLS plaintext to polling

    JavaScript socket polling only checked the raw descriptor unless a
    previous property lookup had populated the one-byte peek cache.
    Cryptlib can consume a complete TLS record while returning only part
    of its plaintext, leaving more data available without making the
    socket readable again.

    Probe TLS sessions with a nonblocking one-byte pop before Socket.poll()
    or the readable-event dispatcher waits on the descriptor. Store any
    plaintext in the existing peek cache, and treat EOF or errors as
    readable so the normal receive path can handle them.

    Co-Authored-By: OpenAI Codex <noreply@openai.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)