From 9544a3c6bf36555a2babc6bb0d81d4f2157a410b Mon Sep 17 00:00:00 2001 From: "Rob Swindell (on Windows 11)" <rob@synchro.net> Date: Mon, 26 Feb 2024 23:19:52 -0800 Subject: [PATCH] Don't send NodeLoggedOn message to any nodes if user isn't being logged-on If user is being kicked off for being on "More than one node at a time", then don't send a message to other any other nodes that the user logged-on successfully (they haven't). Previosuly, it'd send messages to all the lower-numbered nodes that were in-use (but not by the same user). Reported by Nelgin. --- src/sbbs3/logon.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/sbbs3/logon.cpp b/src/sbbs3/logon.cpp index 76afffdb74..90c9fa42fb 100644 --- a/src/sbbs3/logon.cpp +++ b/src/sbbs3/logon.cpp @@ -526,7 +526,7 @@ bool sbbs_t::logon() getsmsg(useron.number); /* Moved from further down */ sync(); c=0; - for(i=1;i<=cfg.sys_nodes;i++) + for(i=1;i<=cfg.sys_nodes;i++) { if(i!=cfg.node_num) { getnodedat(i,&node,0); if(!(cfg.sys_misc&SM_NONODELIST) @@ -546,6 +546,11 @@ bool sbbs_t::logon() hangup(); return(false); } + } + } + for(i=1;i<=cfg.sys_nodes;i++) { + if(i!=cfg.node_num) { + getnodedat(i,&node,0); if(thisnode.status!=NODE_QUIET && (node.status==NODE_INUSE || node.status==NODE_QUIET) && !(node.misc&NODE_AOFF) && node.useron!=useron.number) { @@ -555,6 +560,7 @@ bool sbbs_t::logon() ,connection)); } } + } if(cfg.sys_exp_warn && useron.expire && useron.expire>now /* Warn user of coming */ && (useron.expire-now)/(1440L*60L)<=cfg.sys_exp_warn) /* expiration */ -- GitLab