• src/sbbs3/ftpsrvr.cpp

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Jul 16 14:26:08 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/2ff51de41f5ee0cec8fa932c
    Modified Files:
    src/sbbs3/ftpsrvr.cpp
    Log Message:
    ftps: drain buffered TLS plaintext before polling

    Cryptlib can consume a complete TLS record from the data socket while
    returning only the portion that fits in the FTP receive buffer. Waiting
    for the raw socket before calling cryptPopData() again can then leave
    the rest of that record stranded inside Cryptlib.

    After each successful TLS pop, bypass socket polling and continue with nonblocking pops until Cryptlib reports no more data. Restore the
    original session read timeout before resuming normal socket polling.

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