-
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
-
From
Rob Swindell@1:103/705 to
Git commit to Main/master on Mon Nov 23 22:12:10 2020
-
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
-
From
Rob Swindell@1:103/705 to
Git commit to main/sbbs/master on Sun Apr 18 20:25:04 2021
-
From
Rob Swindell@1:103/705 to
Git commit to main/sbbs/master on Sun Apr 25 19:36:21 2021
-
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
-
From
Rob Swindell@1:103/705 to
Git commit to main/sbbs/master on Thu Feb 24 12:42:58 2022
-
From
Rob Swindell@1:103/705 to
Git commit to main/sbbs/master on Tue Mar 1 20:30:39 2022
-
From
Rob Swindell@1:103/705 to
Git commit to main/sbbs/master on Tue Mar 1 22:43:08 2022
-
From
Rob Swindell@1:103/705 to
Git commit to main/sbbs/master on Tue Mar 29 01:16:22 2022
-
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
-
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
-
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)