• src/sbbs3/userdat.c

    From rswindell@VERT to CVS commit on Fri Apr 24 16:00:04 2020
    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 Sat May 2 15:51:32 2020
    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 Sat Aug 15 17:47:36 2020
    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 Tue Oct 20 20:24:09 2020
    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@VERT to Git commit to sbbs/master on Sun Nov 22 16:33:59 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/5168429f4fae5bfda1fa9976
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    My first opportunity to use IS_ALPHANUMERIC ()instead of isalnum()

    and I blew it. Here's to learning new tricks.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to Main/master on Mon Nov 23 22:12:10 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/0f76860d6b42af92589f6fa2
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Include the [F] (forced chat) flag for help in debugging forced-chat.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed Dec 2 00:09:17 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/3eaf57fe30820f5b0f232328
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    C version of chk_ar() now supports the DOS keyword...

    The "DOS" ARS keyword was always evaluating to false, on all platforms, for the C version of chk_ar(), which is used for populating JS *_area objects and for the User.compare_ars() implementation.

    Unfortunately, the startup (sbbs.ini) "NO_DOS" option is not recognized here (yet), so it'll report true (e.g. for Win64 or Linux systems with DOSemu) even if/when the NO_DOS option is set.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed Apr 14 19:19:52 2021
    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 Sun Apr 18 20:25:04 2021
    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 Sun Apr 25 19:36:21 2021
    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 Mon Sep 20 23:33:38 2021
    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 Thu Jan 27 22:49:50 2022
    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 Thu Feb 24 12:42:58 2022
    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 Tue Mar 1 20:30:39 2022
    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 Tue Mar 1 22:43:08 2022
    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 Tue Mar 29 01:16:22 2022
    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 Mon Apr 25 14:21:49 2022
    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@VERT to Git commit to main/sbbs/master on Thu Aug 11 12:21:54 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/8ad5e191568032ec2d91c79f
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    matchuser() now always returns 0 when passed an empty 'name'

    Also, don't match against deleted (blank) usernames in name.dat
    (e.g. when 'name' value consists of a single ETX character).

    ---
    þ 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 Aug 22 19: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