• src/sbbs3/answer.cpp date_str.c date_str.h ftpsrvr.c js_global.c logou

    From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Thursday, November 14, 2024 18:32:21
    https://gitlab.synchro.net/main/sbbs/-/commit/9b3be7dc63b3bb6a4b8a3e4e
    Modified Files:
    src/sbbs3/answer.cpp date_str.c date_str.h ftpsrvr.c js_global.c logout.cpp main.cpp nopen.c nopen.h sbbsecho.c
    Log Message:
    Only allow one FTP session per QWKnet user account

    Vertrauen's FTP server gets abused by QWKnet logins sometimes and handling
    the race conditions around QWK packet creation attempts is silly - there's
    no legit reason why a QWKnet account needs to be logged-in multiple times concurrently to the hub's FTP server, so reject the subsequent logins even
    when they're on different hosts (as is the case with Vertrauen).

    As part of this change:
    - fmutex() now takes an new time_t* argument to (optionally) store the
    time of the mutex file for helping logging (locked since when?).
    - time_as_hhmm() created to format a string as either HH:MM or HH:MM[a|p]
    (depending on system configuration for 12 or 24 hour time formatting).
    - renamed the old hhmmtostr ()to tm_as_hhmm() (since it takes a struct tm arg)
    and have it return a non-padded string (useful in more situations without
    requiring truncation) when the sysop prefers 24-hour time.