https://gitlab.synchro.net/main/sbbs/-/commit/5167dd17365da1bc6cd47263
Modified Files:
ctrl/sbbs.ini src/sbbs3/answer.cpp getkey.cpp inkey.cpp js_console.cpp main.cpp newuser.cpp sbbs.h sbbs_ini.c src/sbbs3/scfg/scfgnode.c scfgsys.c scfgxtrn.c src/sbbs3/scfgdefs.h scfglib1.c scfglib2.c scfgsave.c startup.h text.h text_defaults.c xtrn_sec.cpp
Log Message:
Add terminal-client socket inactivity detection/disconnection
- New keys in [BBS] section of sbbs.ini:
MaxLoginInactivity (default: 10 minutes)
MaxNewUserInactivity (default: 60 minutes)
MaxSessionInactivity (default: none/unlimited)
- Each configured external program/door in SCFG can have its own maximum inactivity setting (or else the session max inactivity is applied)
- moved node-specific sec_hangup to system-wide/shared max_getkey_inactivity (configured in SCFG->System->Advanced)
- moved node-specific sec_warn (seconds of inactivity before sending warning) to inactivity_warn (a percentage of elapsed max inactivity before sending warning), also configured in SCFG->System->Advanced and used for both socket and getkey inactivity detection
- Renamed JS console.inactivity_hangup to console.max_getkey_inactivity (old name remains as alias)
- Renamed JS console.timeout to console.last_getkey_activity (old name remains as alias)
- Removed JS console.inactivity_warning
- Added JS console.max_socket_inactivity (current input_thread inactivity threshold)
- New text.dat string: InactivityAlert (just contains 3 ^G/BELLs by default) used for non-visual inactive-user warning
The MaxLoginInactivity setting in particular solves the problem of custom scripts (e.g. animated pause prompts) that just poll indefinitely for user input and never time-out - these will no longer cause nodes to be tied-up with inactive/bot users at login.
You may ask yourself, how did I get here? No, you may ask yourself: why configure these socket inactivity max values in sbbs.ini? The reason is consistency: sbbs.ini is where the MaxInactivity is configured for all the other TCP servers and services.
This fixes issue #534 for Krueger in #synchronet
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net