• src/sbbs3/userdat.c

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Fri Aug 23 00:54:56 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/69fc70ab9e59914f5bfceb9f
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Extend (and back-off) the user.tab record lock attempts

    I'v been getting errors locking user.tab (for read) for a while (over samba), so hopefully this helps. The lockuserdat() total timeout duration extends from about 5 seconds to about 45 seconds (with an incremental back-off).

    Implement the same lock-retry logic/limit in putuserdat().

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sat Sep 14 18:48:08 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/3de5f432ff45b91c838f28c8
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Delete data/file/*.out directory for new user (if exists)

    emailfiles.js puts files here that the user requested to download "via email" and might not have been successfully delivered and deleted. So clean-up.

    ---
    þ 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 Sep 21 13:08:41 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/d7ed70e42df440ef47895b65
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    user_downloaded_file() now return false upon statistics update failure

    ---
    þ 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 Fri Nov 1 23:46:33 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/0a1265a00a2f193d1d977577
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    strListFastDelete() now takes a count argument

    ---
    þ 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 Sun Nov 3 17:09:50 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/c0c3c3ae007cc6f90469d3e0
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Check return value of seekuserdat() in putuserdat() and return failure

    ... trying to get to bottom of user.tab corruption reported in issue #797.

    Also, don't need to seek in lockuserdat() since we always call seekuserdat() first.

    ---
    þ 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 Sun Nov 3 19:33:11 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/5adf169677b1dee1819f18ca
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    putuserdat() no longer calls dirtyuserdat() if the write/update failed

    ---
    þ 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 Nov 12 21:15:44 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/690bb56e025804cf73cfebbf
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    A file descriptor of 0 is technically valid (though normally, STDIN)

    Likely fix for CID 514647

    ---
    þ 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/6b5a54d3bf6def6cf0694cd5
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Add description comment for find_login_id()

    ---
    þ 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 Dec 1 23:59:26 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/df32524348f6987de16ee0d3
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Add random jitter to lockuserdat() and putnodedat() retry delays

    so that if multiple entities call these functions at the same time, they
    don't retry at exactly the same times.

    ---
    þ 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 Dec 3 09:10:53 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/ccef9d28aad4782f7879354f
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Check return value of writeuserfields() in putuserstr()

    Return correct error value upon seek failure.

    ---
    þ 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 Thu Dec 5 17:00:15 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/8fd3f62078dd7035cfb2b4c1
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Make user_downloaded_file() tolerant of being passed a file path

    ... instead of just the file name, as was expected.

    ---
    þ 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 Dec 8 04:11:19 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/2cb39d9a8dc73a02a03df214
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Insure ctrl chars/codes are stripped from nodestatus() output

    Use strlcpy instead of strncpy

    ---
    þ 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 Dec 8 12:45:34 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/4610fc7b454e891fb09f2663
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Fix incorrect use of sizeof in node_vstatus and node_activity

    This would cause the "Logout" status and multinode chat activity
    strings to be truncated to 3 or 7 chars.

    CID 515713 and 515715

    ---
    þ 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 Dec 16 18:24:31 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/1743d8afe6f8bd73bed45a9b
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Remove the config check from openuserdat()

    ... since all (almost all) callerd do a config check first.

    Also, some callers of openuserdat() were expecting -1 on failure (always).

    Functions that returned the return value of openuserdat() upon failure, now return USER_OPEN_ERROR instead, to be consistent.

    ---
    þ 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 Thu Dec 19 13:11:15 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/d0e0e8c902f604f70108cf21
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Go back to using non-blocking periodic/polling user.tab lock attempts

    This partially reverts commit 03b84df85.

    I observed deadlocks on Linux attempting locks of user.tab on Samba share, which also deadlocked my Windows nodes. Interestingly, the Windows nodes
    never deadlocked on their own (after a week of testing) when using blocking locks.

    Double the frequency of lock retries - this has helped reduce the observed user.tab lock failures on Vertrauen.

    ---
    þ 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 Dec 22 21:32:50 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/913567c02f20e31ef659c768
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Report a different status for NODE_QUIT than NODE_INUSE

    Could be helpful for debugging node status issues at some point

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