• src/sbbs3/userdat.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Wednesday, April 14, 2021 19:19:52
    https://gitlab.synchro.net/main/sbbs/-/commit/0b3804ff58b0611e544fb932
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Don't compare array against NULL

    Addresses CID 319116 and 319090

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sunday, April 18, 2021 20:25:04
    https://gitlab.synchro.net/main/sbbs/-/commit/9c1594949415dda47210ad23
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Let's make that semfile just sound.mute

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sunday, April 25, 2021 19:36:21
    https://gitlab.synchro.net/main/sbbs/-/commit/55d6d6b8c0c8e92522a45c42
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Get rid of an unnecessary strcat() call

    CID 33567

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Monday, September 20, 2021 23:33:38
    https://gitlab.synchro.net/main/sbbs/-/commit/e6bc098025fb9ffb263f8ce4
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Ignore trailing non-alpha-numeric characters in matchusername()

    A name ending in a symbol (e.g. "Erich B.") would cause problems with this matching logic.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, January 27, 2022 22:49:50
    https://gitlab.synchro.net/main/sbbs/-/commit/fc3addb6b31e44b593986432
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Use new 'vdir' elements in getdir_from_vpath()

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, February 24, 2022 12:42:58
    https://gitlab.synchro.net/main/sbbs/-/commit/b1bb5630000e4065a9377f1b
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Handle filelength() possibly returning negative value

    CID 349724

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tuesday, March 01, 2022 20:30:39
    https://gitlab.synchro.net/main/sbbs/-/commit/d43068225eab3fd62b66f1b2
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Address Coverity-scan reported issues

    Could use more long->off_t conversions, but this is a start.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tuesday, March 01, 2022 22:43:08
    https://gitlab.synchro.net/main/sbbs/-/commit/169c6dcc8956ff86294071d7
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Added NULL argument checking

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tuesday, March 29, 2022 01:16:22
    https://gitlab.synchro.net/main/sbbs/-/commit/40eec7fa665daee9c365e43f
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Posts from QWKnet users don't count as "posts" for local stats

    Might add some other statistic for these relayed posts at some point.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Monday, April 25, 2022 14:21:49
    https://gitlab.synchro.net/main/sbbs/-/commit/14940b8a7f261cb137b69035
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Fix possible underflow conditions in gettimeleft()

    If a non-'T' exempt user had already used more time today than their security level allows, their timeleft would be computed as a negative value due to integer underflow. Since the return value of this function is assigned to a ulong (timeleft), this becomes a large positive number. Cap the floor of the computed time left at 0.

    Also fix the potential for underflow that could occur if the system clock changes while a user is online and 'now' becomes greater than 'starttime'.

    ---
    þ 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 Thursday, August 22, 2024 19:54:56
    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 Saturday, September 14, 2024 18:48:08
    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 Saturday, September 21, 2024 13:08:41
    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 Friday, November 01, 2024 23:46:33
    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 Sunday, November 03, 2024 17:09:50
    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 Sunday, November 03, 2024 19:33:11
    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 Tuesday, November 12, 2024 21:15:44
    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 Saturday, November 16, 2024 20:08:50
    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 Sunday, December 01, 2024 23:59:26
    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 Tuesday, December 03, 2024 09:10:53
    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 Thursday, December 05, 2024 17:00:15
    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 Sunday, December 08, 2024 04:11:19
    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 Sunday, December 08, 2024 12:45:34
    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 Monday, December 16, 2024 18:24:31
    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 Thursday, December 19, 2024 13:11:15
    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 Sunday, December 22, 2024 21:32:50
    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
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Wednesday, January 15, 2025 20:09:08
    https://gitlab.synchro.net/main/sbbs/-/commit/46cd7bbc3caea731da4075b9
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Fix parsing of field-separated birthdate strings with 4-digit year

    ... which is the format expected/required when entering or editing birthdates in the terminal server. So this is a pretty embarassingly bad bug introduced just before the v3.20b release to fix a less-severe bug with ecWeb new user registration (still) writing 2-digit years to the user.birthdate field. :-(

    Fix for issue #863

    I considerd making these get_birthdate field functions more tolerant of less strictly formatted strings (e.g. single-digit month or day), but decided to keep this change to just a fix for the issue at hand. These functions could be more robust to handle more variance in user/script input.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deucе@VERT to Git commit to main/sbbs/master on Sunday, January 19, 2025 22:45:36
    https://gitlab.synchro.net/main/sbbs/-/commit/046a7e535d163bfc99deb4c8
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Zero-length string is not a valid real name.

    ---
    ï¿­ 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 Monday, February 03, 2025 11:25:22
    https://gitlab.synchro.net/main/sbbs/-/commit/1677e74966d6449e108ec464
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Fix ERROR 2 (...) in putnode.cpp ... opening "node.exb"

    Need the O_CREAT mode flag.

    Broken with commit d116f3622: I started using opennodeext() (created 5 years ago with commit 710bb23c1bd) rather than nopen(), and I didn't realize that opennodeext() was not including O_CREAT.

    Once the ctrl/node.exb was created (by anything), this error wouldn't happen. And it'd only be an issues for systems with text.dat's that included custom node status (NodeAction*) strings. Good catch Nelgin!

    ---
    þ 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 Friday, April 11, 2025 18:13:56
    https://gitlab.synchro.net/main/sbbs/-/commit/02021bb18021c5d9d3da6e65
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Move check_pass() nearer the other check_* functions

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