• src/sbbs3/userdat.c

    From rswindell@VERT to CVS commit on Sunday, April 12, 2020 21:05:08
    src/sbbs3 userdat.c 1.224 1.225
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv22402

    Modified Files:
    userdat.c
    Log Message:
    Include the protocol and the IP address (if hostname is "<no name>") in the download notification short-mesage (telegram) sent to an uploader from user_downloaded_file().


    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Tuesday, April 14, 2020 00:57:19
    src/sbbs3 userdat.c 1.225 1.226
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    userdat.c
    Log Message:
    Resolve gcc warning: braces around scalar initializer



    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Friday, April 24, 2020 15:00:04
    src/sbbs3 userdat.c 1.226 1.227
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv14335

    Modified Files:
    userdat.c
    Log Message:
    Added over/underflow protection of 16-bit user fields (e.g. timeon, posts, etc) in adjustuserrec() - as reported by Nelgin, the finder and reporter of bugs. 32-bit fields were protected, but not 16-bit fields, so they could/would
    "wrap around" (e.g. after exceed 65535).
    I did not add protection for 8-bit integer wrap as there's only one (leech) and that's not relevant/used these days.


    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Saturday, May 02, 2020 14:51:32
    src/sbbs3 userdat.c 1.227 1.228
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv18787

    Modified Files:
    userdat.c
    Log Message:
    Check if client->host is not-blank, not non-NULL.
    Resolve warning: comparison of array 'client->host' not equal to a null pointer is always true in Clang


    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Saturday, August 15, 2020 16:47:36
    src/sbbs3 userdat.c 1.229 1.230
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv27150

    Modified Files:
    userdat.c
    Log Message:
    Recognize the "quiet" directory setting (no download notifications) for
    the JS User.downloaded_file() method (used by ecWeb's file download stuff). Thanks Coz.



    ---
    � Synchronet � Vertrauen � Home of Synchronet � [vert/cvs/bbs].synchro.net
  • From Rob@VERT to Git commit to sbbs/master on Tuesday, October 20, 2020 19:24:09
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/1e9d5c2cc05ee318ab629bce
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Treat every login failure with no password available as unique

    When loginFailure() is called with NULL for the password argument, that indicates there was no password available (e.g. an aborted login attempt) - treat each of these as a unique (not duplicate) failed-login attempt. This'll trigger ban/filter thresholds sooner for clients that hammer servers and disconnect mid-login.

    ---
    � 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