• src/sbbs3/ftpsrvr.c

    From Rob Swindell@VERT to Git commit to sbbs/master on Sat Oct 24 22:06:02 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/10477fe29378aebb82b8efd2
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    Create the pack*.now with fmutex() to prevent simultaneous QWK packs

    Probably only a problem on Vertrauen, but some QWKnet nodes, for some unknown reason, like to FTP-connect multiple times concurrently and request to download a QWK packet. This creates a race condition where the QWK packet gets created/downloaded/deleted before the second FTP connection can successfully download the same file, thus logging an error "opening file " on the server (VERT). So if the pack*.now file already exists, reject the download request. "What are doing?" is what I really want to ask these nodes, but better just throw them an error response and quietly move on.

    ---
    ï¿­ Synchronet ï¿­ Vertrauen ï¿­ Home of Synchronet ï¿­ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Dec 29 23:51:44 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/31d07482c7dc81b1af72e495
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    Remove 3 second delay before disconnecting when max clients reached

    This seems to be misguided and would only increase the chances of a DoS-type attack on TCP session resources.

    A second 3-second delay upon malloc failure is also removed.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Dec 31 02:23:34 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/dcb003099daa5b03e53542d4
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    Log messages indicating AUTH TLS success or failure and set client prot

    Set the client protocol to "FTPS" upon successful TLS startup in the control connection (response to the AUTH TLS command from the client). Log some messages indicating FTPS was attempted or successful.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Tue Oct 22 14:15:38 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/51ce7e6f71c2009c1804679f
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    Attempt to fix issue #799

    receive_thread() needs to use the control session correctly for
    TLS connections.

    ---
    ï¿­ 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 Tue Oct 22 17:20:46 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/17912ca377006ca652483b1e
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    IP addresses are logged (most) everywhere else in square brackets

    There are still places where it could be logged in <> (if username is not yet known).

    ---
    þ 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 Sat Nov 16 19:16:05 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/ffba326dad6263eedc29ed94
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    Fix the "ERROR x getting data user y" log message (usernum was 0).

    Add the errno value to help root-cause.

    We really should be using safe_strerror() everywhere.

    ---
    þ 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 Sat Nov 16 20:08:50 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/569efded81398f71ad35f70b
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    Use safe_strerror() in place of strerror() - everything multithreaded should

    ---
    þ 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 Sun Nov 17 03:11:30 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/6fc2a6b6ff98fab8f98bf955
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    A little beautification of errno logging

    ---
    þ 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 Nov 18 01:50:47 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/8b4d02103bb4a63ffcc360f3
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    Correct initialization of fmutex_t so the file descriptor is -1

    For some reason, MSVC was initializing the time_t (second element of the struct) to -1, not the int fd (the first element), which was initialized to
    0. Weird.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Digital Man@VERT to Rob Swindell (on Windows 11) on Mon Nov 18 12:01:14 2024
    Re: src/sbbs3/ftpsrvr.c
    By: Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Mon Nov 18 2024 01:50 am

    For some reason, MSVC was initializing the time_t (second element of the struct) to -1, not the int fd (the first element), which was initialized to 0. Weird.

    Actually, this assessment was wrong. fmutex_open() was memsetting the fmutex_t to zero.
    --
    digital man (rob)

    Synchronet/BBS Terminology Definition #88:
    UART = Universal Asynchronous Receiver/Transmitter
    Norco, CA WX: 61.5øF, 38.0% humidity, 2 mph W wind, 0.00 inches rain/24hrs
    ---
    þ 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 Jan 15 20:09:08 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/44147ffd5adc1105b4e8600e
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    Change terminate_server to correct type expected by xpms_add* functions

    ---
    þ 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 Tue Feb 4 19:16:47 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/1c365418fbab2a23d603d0d1
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    Addrss some new MSVC warnings

    Check sscanf() result
    Don't use deprecated function: inet_addr()

    ---
    þ 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 Fri Feb 14 21:58:39 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/b4a4a524160fb705bd740506
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    Ignore MKD/XMKD commands from users (pretend successful)

    For non-Guest users (without the 'U' restriction), if the FTP client
    sends the MKD or XMKD command, just return the proper succcess result
    and do nothing (don't log as a hack attempt or return a syntax error
    result).

    Some FTP clients (e.g. Reolink Doorbell camera) just always try to
    blindly create a directory before uploading files, but if that command
    fails (as we would), the upload is aborted. So pretend to create the
    diretory whether it already exists or not, just so the client will
    proceed with the upload.

    For G or U restricted users, treat (log) as hack-attempt, as before.

    ---
    þ 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 Sat Mar 1 15:05:35 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/fe48a444e23d7594abfeef1b
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    Lower severity of repeated log messages about low disk space

    "!Insufficient free disk space (%s bytes) to allow upload"

    ---
    þ 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 Sat Jul 19 14:32:39 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/162b3c708802379e759f9593
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    Eliminate unnecessary dir_op() wrapper for user_is_dirop()

    ---
    þ 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 Sat Jul 19 14:32:39 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/d38690513b9294dc948a5310
    Modified Files:
    src/sbbs3/ftpsrvr.c
    Log Message:
    Allow uploaders to remove files (via FTP) files that they uploaded

    ... by comparing the uploader name to their user alias (how it's done in the terminal server).

    Fixes issue #952

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