• src/vdmodem/vdmodem.c

    From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Fri Aug 4 12:20:33 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/4c10ab2bf40baa46d71f3eb3
    Modified Files:
    src/vdmodem/vdmodem.c
    Log Message:
    Don't leave socket open when dial() reports "NO CARRIER"

    As reported by Deon on DOVE-net, when the call to socket_recvdone() returns true (socket is disconnected and all data has been recv()ed), dial() would report "NO CARRIER" but leave the open socket opened, thus preventing any subsequent dial attempt ("Can't dial: Already connected" and "ERROR").

    Also removed the source file path/name from the debug print statements - don't need that noise.

    Incremented the version to 0.4

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Mon Mar 25 16:29:51 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/c4644bf9460dcfe2090eee73
    Modified Files:
    src/vdmodem/vdmodem.c
    Log Message:
    Initialize telnet options when passed -h option (withouth -l)

    As requested by Fzf (FQBBS):

    When SVDM uses an inherited socket (the -h option) no telnet negotiations
    are done. As a result, the connection is assumed to be in ASCII mode and
    server side CR characters are translated to CR/LF. Since most programs are
    already transmitting a CR/LF this gets translated to CR/LF/LF with the
    expected results. When using an external socket in telnet mode, could SVDM
    set the telnet.local_option and telnet.remote_option variables as so:

    A. Assume both remote and local have already suppressed GA and set the two
    options accordingly

    B. Set the remote telnet echo option to off and set the local telnet echo
    to follow the ServerEcho option from the .INI file

    C. Set both remote and local BINARY_TX options to follow the ServerBinary
    option from the .INI file

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Mon Mar 25 16:29:51 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/5fd72f315ee20a5a40818e0b
    Modified Files:
    src/vdmodem/vdmodem.c
    Log Message:
    Add 2 new .ini settings: MainLoopDelay and SocketSelectTimeout (default: 0)

    - MainLoopDelay - in milliseconds
    Set this to a non-zero value to add some CPU yielding to the main loop
    - SocketSelectTimeout - in milliseconds
    Set this to a non-zero value to add some CPU yielding while waiting for
    receive data from the TCP socket

    These are 2 knobs created for Fzf (FQBBS) to "to reduce the CPU usage". Their default values are currently 0, so you'll need to set these to non-zero values to play with each of them and see their inpact on CPU utilization and responsiveness. I'd suggest starting with low values (e.g. 1) and experimeting from there.

    Incremented version to 0.5

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wed Apr 10 23:07:19 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/af28c04c28270ddfcba180e2
    Modified Files:
    src/vdmodem/vdmodem.c
    Log Message:
    When server_binary option is set, request remote BINARY_TX option

    As reported by Fzf (FQBBS):

    It addresses the local configuration but unfortunately it still doesn't set remote options. The remote is usually going to be in binary mode but SVDM has the remote option set to ASCII by default. A CR from the remote then gets held up until a second byte is sent.

    Also suggested by Fzf, when server_binary mode is not configured, then advertise
    and request binary mode is/be disabled, explicitly.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net