• src/sbbs3/js_socket.cpp

    From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Wed May 6 19:41:53 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/fbfdfc8140cdcb50c11933f4
    Modified Files:
    src/sbbs3/js_socket.cpp
    Log Message:
    js_socket: fix js_sendto getaddrinfo error-capture parens (CID 639937)

    The expression was

    if ((result = getaddrinfo(...) != 0))

    which parses as result = (getaddrinfo(...) != 0), so result becomes 0
    or 1 instead of the actual EAI_* error code. The subsequent gai_strerror(result) and "%d" format then report the wrong error.

    Move the closing paren so the assignment captures the real return:

    if ((result = getaddrinfo(...)) != 0)

    Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Wed May 6 22:36:57 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/99b45532cd579daceacd8f72
    Modified Files:
    src/sbbs3/js_socket.cpp
    Log Message:
    js_socket: close socket on fail-path in connected_socket_constructor (CID 530501)

    The 'fail:' label freed p without closing p->sock, leaking the socket
    handle when set_socket_options() failed after a successful socket()
    call. Initialize p->sock to INVALID_SOCKET right after the memset
    (so the getaddrinfo-failure path doesn't accidentally close fd 0)
    and have the fail label closesocket() when the socket is valid.

    Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Wed May 6 23:22:41 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/5a2b68dfa4f6350486ed05e3
    Modified Files:
    src/sbbs3/js_socket.cpp
    Log Message:
    js_socket: cast setsockopt TCP_NODELAY to void in TLS session setup (CID 639936)

    Same pattern as the websrvr TCP_NODELAY fix in 91988f5ef: TCP_NODELAY
    is a best-effort latency optimization for the TLS handshake; if the
    setsockopt is rejected (e.g. on a non-TCP socket) the session still
    works. Make the discarded return explicit.

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