Subj : docs/v322_new.md exec/fingerservice.js To : Git commit to main/sbbs/master From : Rob Swindell (on Windows 11) Date : Sun Aug 09 2026 07:19:18 https://gitlab.synchro.net/main/sbbs/-/commit/b8dfffeb335e4e4a37983331 Modified Files: docs/v322_new.md exec/fingerservice.js Log Message: Fix Finger service errors on numeric and forwarded requests fingerservice.js passed the client's request straight to new User() after a bare truthiness test. A numeric request outside int32 range threw an uncaught "can't convert usernum to an integer"; an in-range but nonexistent number threw "Error -101 reading user number". The if(u == null) guard added in 1ee5ce3f0c (2003-04-02) can never catch either, since the User constructor throws rather than returning null. Validate against system.lastuser instead, which also makes the existing "!INVALID USER NUMBER" log message reachable. Stripping "@hostname" from a forwarded request (RFC 1288 {Q2}) used substr(0, at - 1), dropping the last character of the name, so "finger sysopx@vert@vert.synchro.net" answered with user "sysop" -- a truncated name can match a different account, not just fail to match. Off-by-one present since 379b5d27d7 (2001-11-10). Co-Authored-By: Claude Opus 5 (1M context) --- SBBSecho 3.37-Linux * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705) .