Skip to content
Snippets Groups Projects
  • Rob Swindell's avatar
    9b3be7dc
    Only allow one FTP session per QWKnet user account · 9b3be7dc
    Rob Swindell authored
    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.
    9b3be7dc
    History
    Only allow one FTP session per QWKnet user account
    Rob Swindell authored
    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.