• src/sbbs3/userdat.c

    From rswindell@1:103/705 to CVS commit on Fri Mar 9 15:41:09 2018
    src/sbbs3 userdat.c 1.185 1.186
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv688

    Modified Files:
    userdat.c
    Log Message:
    Don't use the node value if it's garbage (unset by getnodedat).
    Thanks scan-build!

    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Fri Mar 9 21:13:11 2018
    src/sbbs3 userdat.c 1.186 1.187
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv9103

    Modified Files:
    userdat.c
    Log Message:
    Fix some suspicious typos found via clang warnings.


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Mar 15 00:20:52 2018
    src/sbbs3 userdat.c 1.187 1.188
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv11973

    Modified Files:
    userdat.c
    Log Message:
    When loginFailure() is called with a NULL username, always treat it as a "unique" login attempt (e.g. hack attempt).


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun Mar 18 12:32:54 2018
    src/sbbs3 userdat.c 1.189 1.190
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv9661

    Modified Files:
    userdat.c
    Log Message:
    Fix Win32 link failure (e.g. unresolved getsockopt): when iniFile functions are used, that requires a socket lib too. util builds (that don't need the .ini file functions), they #define NO_SOCKET_SUPPORT, so exclude the user/####.ini support functions in that case too.

    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Mar 22 19:12:14 2018
    src/sbbs3 userdat.c 1.190 1.191
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv14336

    Modified Files:
    userdat.c
    Log Message:
    Fix weird compile error triggered by *some* revisions of msvc which dont'
    like a str_list_t declared in line (but the char* is fine?!).


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sat Mar 24 20:47:00 2018
    src/sbbs3 userdat.c 1.191 1.192
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv14286

    Modified Files:
    userdat.c
    Log Message:
    Changed user' message pointer/last-read/scan-config storage to a new file (data/user/*.subs - in familar .ini syntax)
    indexed by the sub-board internal rather than the old flat binary file using the troublesome "pointer index" (ptridx) as an offset. The old files (data/user/ptrs/*.ixb) will still be read in when the new file doesn't exist, for upgrading users automatically to the new method of pointer storage.
    This should resolve long-standing issues around users' new-scan pointers and configurations getting corrupted when the sysop inserts/remove sub-boards. However, if you change a sub-board's internal code, that invalidates the users' pointers and scan configurations - so that may need to be addrsesed via SCFG. The subs' ptridx values are still be used for storing QWKnet hub pointers, for now, but that too will soon be addressed with a new file format for those ptrs too.

    --- SBBSecho 3.03-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sat Mar 24 20:48:43 2018
    src/sbbs3 userdat.c 1.192 1.193
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    userdat.c
    Log Message:
    Address GCC warning: "/*" within comment


    --- SBBSecho 3.03-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sat Mar 24 21:14:43 2018
    src/sbbs3 userdat.c 1.193 1.194
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv20336

    Modified Files:
    userdat.c
    Log Message:
    putmsgptrs():
    Fix-up the user/####.subs ini style (only one blank line between sections). Also, don't re-write the .subs file if nothing has changed.

    --- SBBSecho 3.03-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Wed Apr 4 12:13:05 2018
    src/sbbs3 userdat.c 1.195 1.196
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv26476

    Modified Files:
    userdat.c
    Log Message:
    Don't log "(null)" for the user name in filter_ip() when the user name is
    not known/available (e.g. certain types of SSH login failures).


    --- SBBSecho 3.04-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun Jun 10 01:56:47 2018
    src/sbbs3 userdat.c 1.196 1.197
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv1823

    Modified Files:
    userdat.c
    Log Message:
    putmsgptrs() will now return FALSE if iniWriteFile() returns FALSE
    (out of disk space?).

    --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sat Jul 7 20:51:25 2018
    src/sbbs3 userdat.c 1.197 1.198
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv23404

    Modified Files:
    userdat.c
    Log Message:
    smb_getmsgidx_by_time() can now return positive integers on success.


    --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Mon Jul 23 22:36:59 2018
    src/sbbs3 userdat.c 1.199 1.200
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv8419

    Modified Files:
    userdat.c
    Log Message:
    Speed-up getmsgptrs() (reads users/data/*.subs files) by only parsing
    each section (sub-code) once. Should cut the search/parse algorithm by 66% (since there's 3 keys/values we're searching for, per sub).


    --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Tue Jul 24 00:03:56 2018
    src/sbbs3 userdat.c 1.200 1.201
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv28882

    Modified Files:
    userdat.c
    Log Message:
    Fix major faux pas in previous commit - whoops.


    --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Tue Jul 24 01:39:07 2018
    src/sbbs3 userdat.c 1.201 1.202
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv6954

    Modified Files:
    userdat.c
    Log Message:
    Small optimization here: don't read the last msg idx twice.


    --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Wed Jul 25 23:21:07 2018
    src/sbbs3 userdat.c 1.203 1.204
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv9468

    Modified Files:
    userdat.c
    Log Message:
    getuserdat() - if this function fails to open the user.dat file (e.g. it does not exist), set the user->number to 0 before returning as many callers of this function do not check the return value, just the value of user->number after
    it returns (ugh). This problem was discovered when running a fresh install, typing "1" at the Login prompt and immediately getting a "Time's Up" message and a disconnect - only happens when there's no data/user.dat file.

    getnodedat() - don't try to unlock the node.dab file unless the read() fails. When using the MSVC2017 CRTL, an unlock() of a region that was not previously locked is a blocking call causing major slowness in the MSVC2017 build.

    putmsgptrs() - cleans up obsolete sections in the data/user/*.subs files now. So if you go from say 10,000 sub-boards to 2,000, it won't have to load and search through the extra 8,000 invalid subs (once the file is re-written upon log-off). This requires an updated xpdev build (for iniAppendSectionWithKeys)

    fixmsgptrs() - if the msgbase index can't be opened or the last index record cannot be read (e.g. there isn't one), insure the msg-scan pointer value is
    set to 0 (not ~0).

    --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sat Oct 6 15:39:24 2018
    src/sbbs3 userdat.c 1.205 1.206
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv15050

    Modified Files:
    userdat.c
    Log Message:
    Sanitize the 'cfg' value read from *.subs (ignore garbage/unused bits).


    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Nov 8 19:11:45 2018
    src/sbbs3 userdat.c 1.208 1.209
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv17961

    Modified Files:
    userdat.c
    Log Message:
    Use a .ini style that matches load/userprops.js in user_set_property()

    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Nov 8 19:18:04 2018
    src/sbbs3 userdat.c 1.209 1.210
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv18743

    Modified Files:
    userdat.c
    Log Message:
    Use the same .ini style settings for user_set_time_property().

    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Feb 14 22:42:01 2019
    src/sbbs3 userdat.c 1.211 1.212
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv14081

    Modified Files:
    userdat.c
    Log Message:
    Now returns negative on failure (i.e. list lock failure):
    - loginAttemptListCount()
    - loginAttemptListClear()
    - loginAttempts()

    Now returns 0 on list lock faliure: loginFailure() and loginBanned().

    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Tue Apr 9 15:07:32 2019
    src/sbbs3 userdat.c 1.212 1.213
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv13139

    Modified Files:
    userdat.c
    Log Message:
    putuserrec return an error if write() fails.


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Apr 11 01:47:32 2019
    src/sbbs3 userdat.c 1.213 1.214
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv28762

    Modified Files:
    userdat.c
    Log Message:
    MSVC doesn't have/define ssize_t.


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun Aug 11 23:22:33 2019
    src/sbbs3 userdat.c 1.214 1.215
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv23153

    Modified Files:
    userdat.c
    Log Message:
    delfiles() now takes a 3rd argument: keep, which is a number of files to retain (not delete) from the end of the sorted list of files (normally, 0).

    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Tue Aug 13 17:16:48 2019
    src/sbbs3 userdat.c 1.215 1.216
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv18882

    Modified Files:
    userdat.c
    Log Message:
    Allow user.dat fields: DLB (downloaded-bytes), ULB (uploaded-bytes), and CDT (credits) to use the full 4 gibibyte range of a 32-bit unsigned integer: max-out at 4,294,967,295 instead of 2,147,483,647.
    Since these values are stored as 10 characters, we could theoretically extend the range to 9,999,999,999 (credits/bytes) without changing the user.dat format but is a bigger change (moving to 64-bit integers everywhere these values are read or adjusted).

    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun Sep 1 18:29:21 2019
    src/sbbs3 userdat.c 1.219 1.220
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv23604

    Modified Files:
    userdat.c
    Log Message:
    putnodedat() needs to close the file upon parameter validation error if the closeit parameter is TRUE


    --- SBBSecho 3.09-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun Apr 12 22:05:08 2020
    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().

    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Tue Apr 14 01:57:19 2020
    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


    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 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.

    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 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

    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 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.


    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob@1:103/705 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 uniqueWhen 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.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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 NULLAddresses CID 319116 and 319090
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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() callCID 33567
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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.
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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()
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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 valueCID 349724
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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 issuesCould use more long->off_t conversions, but this is a start.
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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 statsMight add some other statistic for these relayed posts at some point.
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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'.
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 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).
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Sat Jan 21 19:51:15 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/6c0e423a38920f64abfb7013
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Don't truncate a user's record if the default download protocol or gender are '\0'A blank download protocol field in a user.dat, when parsed, sets the 'prot'
    fieldof user_t to 0. When writing the record back to the user.dat, this would prematurelytruncate all other fields off the user record (since strings in C are NUL terminatedand we're using sprintf() to format the record and %c specifier for that field).The fix is to write a ' ' character instead of '\0' if the user_t.prot is '\0'.As part of this fix, I'm writing a '?' if a user_t.sex is '\0' (not sure if thisis actually possible, but just as insurance). Those are the only 2 single-characteruser properties/fields today.Bug reported/debugged by Al of The Rusty Mailbox (1:153/757.2) - thank you!
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (in GitKraken)@1:103/705 to Git commit to main/sbbs/master on Thu Mar 2 18:56:50 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/14125aa4b0aa0bf027f77361
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    The NoAccess* text.dat strings are not appropriate 'reason' codesThese text.dat
    strings require an argument (and normally used with the NOACCESS @-code which uses the noaccess_str and noaccess_val member variables), so not appropriate to
    use as a reason code here. Use more generic (no argument) text.dat item numbers
    instead.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (in GitKraken)@1:103/705 to Git commit to main/sbbs/master on Fri Mar 10 19:59:26 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/edc931be6282acafdf043532
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    More strict login-by-user-number support (parsing logic)Before now, if the sysop enabled login-by-user-number and the specified loginID *started* with a decimal digit, it'd be treated as a user number andconverted to a 32-bit integer. This could result in weird stuff, like thiserror I got today:SMTP ... !ERROR -2 getting data on user (7000401005.gc7gg@synchro.net)7,000,401,005 is clearly greater than the number of users in my user baseon Vert, but since 7B is > 2.1B (0x7fffffff), the number would be parsed asa *negative* integer value
    and thus less than the total number of users in myuserbase.An obvious solution would be to just turn of login-by-user-number, and formost systems, I suggest doing that (a system is less secure with it enabled).However, I want to leave the option for sysops (at least for now) and don'twant this weird behavior so, a login by user number now requires that theentire login ID is just decimal numbers, nothing else, and the number isparsed as an unsigned integer. So yes, roll-over can happen for very highnumbers (>4.2B), but in no instance will the number be parsed as negative andthus lead to an invalid user record look-up attempt.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Mon Apr 3 14:07:29 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/e0979e270d947bc8a9e64e70
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Fix GCC 9.4.0 warning reported by Nelginwarning: format not a string literal and no format argumentsWeird this warning is happening for me with GCC 12.2 (debug or release build)
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows)@1:103/705 to Git commit to main/sbbs/master on Mon May 8 18:07:50 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/c1d6e2c764781b0400578600
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    The "user" directory is special: you don't need "access" to download from it.When sending a user-to-user file transfer, SBBS (since v3.19) will check thatthe file recipient will be able to download it (e.g. doesn't have restrictionspreventing it) and this was failing for most (non-sysop) recipient users sincethey wouldn't normally meet the "access restrictions" of the user directory(by design).
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Thu Dec 14 22:07:43 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/68d9c3265f981c3579115177
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Truncate attempted user-name at '@' before comparing against name.can file

    '@' is in the name.can by default and the mail server recognizes user@addr formatted logins/attempts, so truncate at the '@' before comparing against
    the name.can file to prevent false !TEMPORARY BAN (1 login attempts, ... occurences.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sun Dec 17 01:37:48 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/39b718dd3ea96ef9f70b5575
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Fix typos in comments
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Jan 1 16:13:36 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/e675cd6612c6723d40063f44
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Fix bug with parse_birthdate() in year-first format

    The year is 4 digits, so the offsets aren't the same as the other 2 supported formats. Doh!

    Thanks Max for testing!
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sat Feb 10 17:13:02 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/3bf7380f569eababc753e3fc
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    nodestatus() print internal code rather than xtrn number, if possible

    (as a fall back to the full external program name).
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Mar 18 21:22:06 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/d6293e05bccdff9ff8fbb1c8
    Modified Files:
    src/sbbs3/userdat.c
    Log Message:
    Fix logic to add the "partially" prefix to download notification messages

    The file_t struct may not have the size of the file pre-poulated, so we needed to call getfilesize() here.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)