• src/sbbs3/userdat.c

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Thu Aug 7 22:32:51 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/8e4a5c7fbabc68de3094c18f
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Add some comments to clarify difference between getbirthdstr and format_birth

    ---
    þ 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 Aug 9 19:12:38 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/c2805c6babbed02117e84852
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    User the laston date (rather than the last logon date/time) to reset stats

    (daily stat fields, logons/posts/emails/etc per day)

    This behavior was changed (broken) in commit ed00ed77

    ---
    þ 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 Aug 9 22:27:00 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/5e4076dbf2c128c98fa31f47
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Eliminate the (now) unnecessary ushort range checking

    ---
    þ 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 Aug 10 15:16:51 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/7a66d7f639788ba50797f943
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Resolve CID 583942 with a typecast

    Will need to switch to 64-bit time_t everywhere by 2038. We only maintain 32-bit time_t support (via time32_t) for Borland C++ compatibility.

    ---
    þ 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 Aug 10 21:40:43 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/27cbebcb9ac75ff1f51a5ef2
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    There are actually 8 user fields that reset/zeroed daily, so check them all

    This is really just an optimization (I think), so we don't call time() for every parse/getuserdat() call, but only when the user has a non-zero daily reset field.

    ---
    þ 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 Aug 11 15:51:59 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/bd9719d8df4a918ee1667d5a
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Add a user.level valid value range check to resetdailyuserdat()

    ... just in case we're called with an uninitialized user struct.

    Related to CID 583999

    ---
    þ 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 Sep 14 19:48:26 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/869dac47e01978f4e7f20fb5
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Fix inverted "GUEST" ARS keyword logic bug

    introduced in commit 661f5084fca81a01

    Fixes issue #975

    ---
    þ 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 Wed Dec 17 15:49:56 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/2f7623fe054d6c2b9c1e41ec
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Do some error checking in logoutuserdat()

    (i.e. user.tab open/lock/read/write failures)

    I suspect this function has been failing on Vertrauen under heavy (Guest login/out) load, but there was no actual error reporting from this function which opens, locks, read and writes the user.tab file 4 times (!) for every user logout.

    Ideally:
    - this function would return more error details than simply success/failure
    - this function would only open/lock/read/write the user.tab file only once

    ---
    þ 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 Wed Dec 17 19:09:19 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/5ccd9e8ccc6fd0158c7228b6
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Fix bug in subtract_cdt() handling free credit roll-under to regular credits

    Bug introduced in commit 8deac23222b3a3db (copy/paste/typo)

    Caught during manual code review.

    When a user has any amount of free credits, but the amount being subtracted
    was greater than their free credits available, the underflow was supposed to
    be deducted from their regular credits. Instead, the underflow was (attempted) to be deducted from their free credits, which were alreay zeroed.

    ---
    þ 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 Dec 20 04:34:42 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a12a964a5ffbf5ab30e0fd8d
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Better user name/alias validity checking check_name() and check_realname()

    - detect/reject strings with control characters
    - detect/reject strings with non-ASCII character
    (when configured to do so by the sysop)

    Since the newuser.cpp already disallows this illegal input for new user values this likely only really makes a difference for any JS code that uses system.check_name() or system.check_realname() which is probably none.

    ---
    þ 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 Dec 20 04:34:42 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/93cefd0e8f0a54e2711b8ae8
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    check_realname() now rejects 0xff char and names from name.can file

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