-
src/sbbs3/main.cpp
From
deuce@VERT to
CVS commit on Thu Mar 15 10:42:00 2018
src/sbbs3 main.cpp 1.696 1.697
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv25838
Modified Files:
main.cpp
Log Message:
Fix unterminated string usage.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Mar 15 19:06:00 2018
src/sbbs3 main.cpp 1.697 1.698
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv21340
Modified Files:
main.cpp
Log Message:
Adjusted log output:
Added "Node # SSH" to a lot of SSH-related log messages.
Lowered the severity of the SSH "attempt to use channel" msg from ERROR
to WARNING.
Removed "last:" from temp-ban message when there is no last-used username.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Mon Mar 19 13:37:00 2018
src/sbbs3 main.cpp 1.698 1.699
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv1168
Modified Files:
main.cpp
Log Message:
Some four spaces to tab conversion at the beginnings of lines.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Fri Mar 23 12:57:00 2018
src/sbbs3 main.cpp 1.700 1.701
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv27599
Modified Files:
main.cpp
Log Message:
Log a generic "SSH session establishment failed" message (with NOTICE
severity) whenever there is an SSH session establishment failure, because
some of the SSH failure errors are DEBUG level severity and won't be visible with "Normal" (informational) log output filtering. This resolves the issue
of seing "SSH connection accepted from <ip-address> port <port>" messages
with no follow-up messages as to what happened to that connection.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Sun Mar 25 17:40:00 2018
src/sbbs3 main.cpp 1.702 1.703
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv27858
Modified Files:
main.cpp
Log Message:
Since much more than the number of bytes we're reading can be sent on a
channel we ignore/close, we would get a separate warning for each chunk of
data on that channel until we read past the close. Instead, if we're closing
a channel, we note the channel ID, and simply discard the information immediately on the most recently closed channel.
A remote could still cause a bunch of log output by multiplexing two or more writes to invalid channels, but nobody seems to do that, so this should be
good for now.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Fri Mar 30 21:14:00 2018
src/sbbs3 main.cpp 1.703 1.704
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv28048
Modified Files:
main.cpp
Log Message:
Tabs are stupid.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Fri Mar 30 21:40:00 2018
src/sbbs3 main.cpp 1.704 1.705
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv30934
Modified Files:
main.cpp
Log Message:
Check the terminate_output_thread flag after acquiring the ssh_muex.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sun Apr 1 09:48:00 2018
src/sbbs3 main.cpp 1.705 1.706
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
main.cpp
Log Message:
Added function names to SSH error messages so we can better tell where
these errors are coming from.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Apr 2 12:45:00 2018
src/sbbs3 main.cpp 1.706 1.707
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv4421
Modified Files:
main.cpp
Log Message:
Create yet-another GCES macro (GCESSTR) to log the output_thread instance description string ('node') in SSH-related log messages (e.g. errors) from the output_thread: No more "Node 0" log entries from here.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Apr 12 18:25:00 2018
src/sbbs3 main.cpp 1.709 1.710
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
main.cpp
Log Message:
Apparent fix for SSH cryptlib session leak (leading to eventual
'Resource/space exhausted' errors in TLS and SSH:
The wrong ssh_session is being passed to cryptDestroySession() in sbbs_t::hangup() (introduced in rev 1.615), this call to cryptDestorySession() fails (returns -1, bad param) thus leaving the actual
ssh_session never destroyed (leaked).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Apr 16 11:39:00 2018
src/sbbs3 main.cpp 1.711 1.712
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
main.cpp
Log Message:
Fix typo in previous commit.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tue Apr 17 19:46:00 2018
src/sbbs3 main.cpp 1.712 1.713
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv4929
Modified Files:
main.cpp
Log Message:
Some log output updates, mainly adding errno string-representation where missing, but also now logging when renaming (or failing to rename) bad
received .REP packet files.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Apr 19 21:18:00 2018
src/sbbs3 main.cpp 1.713 1.714
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv21015
Modified Files:
main.cpp
Log Message:
Fix race-condition causing SSH errors:
Terminal Server SSH ERROR 'Bad argument, parameter 1' (-1)
... from output_thread
The bbs_thread() sets the global/server sbbs ssh_mode to false and ssh_session to 0 (the "parameter 1" value used in the cryptlib function calls in output_thread) but was doing this without owning the ssh_mutex, so the output_thread had a race condition where it would check ssh_mode=true and
then use grab the ssh_mutex and use ssh_session in a few cryptlib function calls. The fix for the bbs_thread() to grab the ssh_mutex before setting ssh_mode to false and ssh_session to 0 and have the output_thread() re-check the ssh_mode after grabbing the ssh_mutex and not call any cryptlib
functions if ssh_mode was set to false while waiting for the mutex.
The cause would have been more obvious if the various cryptlib error/log messages contained the cryptlib session ID value (which was 0 in this case).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Apr 23 14:43:00 2018
src/sbbs3 main.cpp 1.714 1.715
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
main.cpp
Log Message:
Fix more race conditions which cause Terminal Server SSH ERROR 'Bad argument, parameter 1' (-1) ... from output_thread
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Apr 23 15:12:00 2018
src/sbbs3 main.cpp 1.715 1.716
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
main.cpp
Log Message:
Fix yet another race condition that could cause:
Terminal Server SSH ERROR 'Bad argument, parameter 1' (-1) ...
from output_thread
Don't set ssh_mode=true until the ssh_session has been created successfully.
Also added some more debug output with regards to Cryptlib session number.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Apr 23 15:23:00 2018
src/sbbs3 main.cpp 1.716 1.717
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv26275
Modified Files:
main.cpp
Log Message:
Added protocol (e.g. Telnet, Rlogin, or SSH) to more log messages
(e.g. warnings and errors).
Also, stripped trailing white-space from many lines (editor setting).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Fri Jun 29 14:11:00 2018
src/sbbs3 main.cpp 1.719 1.720
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv6643
Modified Files:
main.cpp
Log Message:
Fix problem with socket-I/O external programs executed while the client
using SSH: the output from the program (file transfer driver, door game)
would reach the SSH client, but input from the client (or user) would not
reach the external program:
passthru_output_thread() - responsible for SSH input from the client/user
to be sent to a "raw" pass-through socket used by the external program,
had a reversed logic bug added around rev 1.686.
Problem was introduced as part of the cryptlib update/SSH overhaul of
early 2018. Thanks to Thumper @ THEWASTE for the bug report!
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tue Jul 24 17:00:00 2018
src/sbbs3 main.cpp 1.721 1.722
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv19028
Modified Files:
main.cpp
Log Message:
More eprintf() to sbbs->lputs/lprintf() replacements.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tue Jul 24 19:12:00 2018
src/sbbs3 main.cpp 1.722 1.723
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv10420
Modified Files:
main.cpp
Log Message:
Make sure the current user number is 0 when terminating the event thread
or else we may end up with user names in log msgs that don't apply.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tue Jul 24 19:23:00 2018
src/sbbs3 main.cpp 1.723 1.724
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv12956
Modified Files:
main.cpp
Log Message:
More useron number clearing after timed event segments.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tue Jul 24 19:28:00 2018
src/sbbs3 main.cpp 1.724 1.725
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv14954
Modified Files:
main.cpp
Log Message:
Strip control codes from strings logged with sbbs_t::lputs().
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tue Jul 24 21:40:00 2018
src/sbbs3 main.cpp 1.725 1.726
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv2227
Modified Files:
main.cpp
Log Message:
More eprintf() to sbbs->lprintf() conversion.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Aug 2 19:27:00 2018
src/sbbs3 main.cpp 1.726 1.727
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv8199
Modified Files:
main.cpp
Log Message:
Fix conditions where event log messages could still be sent to the terminal server log output/window.
Also added comment about an observed exception upon shutdown with regards to the node_threads_running counter (protected int) being accessed after destruction.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Oct 1 12:01:00 2018
src/sbbs3 main.cpp 1.727 1.728
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv4756
Modified Files:
main.cpp
Log Message:
Log the execution result (error-level/return-value) of more events and
QWKnet call-outs. Hopefully help debug Mortifis' problem with QWKnet
call-outs.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Oct 1 12:21:00 2018
src/sbbs3 main.cpp 1.728 1.729
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv7009
Modified Files:
main.cpp
Log Message:
Log errors when failing to delete semaphore (e.g. *.now) and other files.
Fixed some funny typos in comments.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Oct 4 19:25:00 2018
src/sbbs3 main.cpp 1.729 1.730
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv13955
Modified Files:
main.cpp
Log Message:
Enclose user's name/alias in < > in log output, this makes the name clearly separate from the log text and is consistent with the mail server log
output.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sat Oct 6 11:36:00 2018
src/sbbs3 main.cpp 1.730 1.731
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv14540
Modified Files:
main.cpp
Log Message:
Zero-initialize the subscan array.
Lock the mail base while backing it up as part of the daily maintenance.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Wed Oct 17 07:59:00 2018
src/sbbs3 main.cpp 1.732 1.733
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
main.cpp
Log Message:
Fixed some gcc warnings:
format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has
type ‘unsigned int’
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Wed Oct 17 08:09:00 2018
src/sbbs3 main.cpp 1.733 1.734
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
main.cpp
Log Message:
Deal with gcc warnings that crop up because sizeof() is an unsigned long sometimes and sometimes it's an unsigned int.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sun Oct 21 20:38:00 2018
src/sbbs3 main.cpp 1.735 1.736
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv19254
Modified Files:
main.cpp
Log Message:
When logging event-thread error messages, include the "evnt " prefix before
the string (which starts with the event internal code).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Fri Nov 23 04:18:00 2018
src/sbbs3 main.cpp 1.738 1.739
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv26989
Modified Files:
main.cpp
Log Message:
Cosmetic fixes to timed event logging (the event code part of the log messages)
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sat Dec 29 16:33:00 2018
src/sbbs3 main.cpp 1.739 1.740
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv9095
Modified Files:
main.cpp
Log Message:
Change the "unpack REP" log messgae prefix to "unpackREP" instead of "unQWK".
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Feb 14 16:09:00 2019
src/sbbs3 main.cpp 1.741 1.742
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv3304
Modified Files:
main.cpp
Log Message:
Added new semfile to clear the failed login attempt list: "ctrl/clear"
So now if you need to clear the failed-login/temp-ban list, just
'touch /sbbs/ctrl/clear'
Other changes to the semfiles:
The terminal server is now identified as "term" rather than "telnet" in the (optional) server/protocol specific semfile naming.
Removed support for the old telnet.rec semfile (long deprecated).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
deuce@VERT to
CVS commit on Mon Jun 3 09:55:17 2019
src/sbbs3 main.cpp 1.749 1.750
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv16111
Modified Files:
main.cpp
Log Message:
New cryptlib uses 345 not 3450.
*sigh*
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Aug 12 08:03:49 2019
src/sbbs3 main.cpp 1.757 1.758
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv22730
Modified Files:
main.cpp
Log Message:
Accept and store the "Internet host number" portion of the telnet
TERMINAL LOCATION NUMBER (RFC 946) in sbbs_t::telnet_location.
Some (older?) versions of fTelnet request to send this option to the BBS to share the real IP address of the client. Accept this option (when using
"format 0") and store the first 32-bits (an IPv4 address) in the telnet location storage / caller-ID information. The same place the telnet
SEND LOCATION value is stored if received.
Now, we're not requesting this option (e.g. with a Telnet "DO" command), but fTelnet doesn't need that: It offers to send it, so we accept.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tue Aug 13 13:10:20 2019
src/sbbs3 main.cpp 1.758 1.759
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv17377
Modified Files:
main.cpp
Log Message:
Log the length of received telnet sub-negotiation commands (in bytes).
Only retain the last (most recent) 10 data/<id>.qwk.*.bad files and data/file/<user-num>.rep.*.bad files.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Aug 22 12:49:15 2019
src/sbbs3 main.cpp 1.760 1.761
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv12091
Modified Files:
main.cpp
Log Message:
We need to expand telnet IACs contained in passthru socket data received from external programs (when in Telnet mode).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sat Aug 24 18:29:55 2019
src/sbbs3 main.cpp 1.763 1.764
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
main.cpp
Log Message:
A couple of passthrough socket fixes:
1. when de-activating the passthru socket, give the passthru_thread some
cycles to copy any remaining socket data into the outbuf before we let
the node_thread continue on and spew its own data into the outbuf.
This fixes the problem of final messages of a file transfer protocol
being intermixed with BBS data (prompts, menus, and such) and causing
file download finalization issues.
2. Don't read from the passthru socket until there is enough room in the
outbuf for the maximum possible telnet-expanded read size. This fixes
streaming download protocol (ZMODEM and YMODEM-G) errors.
Also, for good measure, check the passthru_socket for writability before send()ing on it and log a warning if it's ever not writable.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sun Aug 25 18:44:36 2019
src/sbbs3 main.cpp 1.765 1.766
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv27823
Modified Files:
main.cpp
Log Message:
Re-enable socket optoins and blocking configuration for the client_socket_dup when de-activating the passthru_socket.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Aug 26 13:08:34 2019
src/sbbs3 main.cpp 1.766 1.767
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv4564
Modified Files:
main.cpp
Log Message:
passthru_socket():
Always call recv() when select() says the passthru_socket is readable, even
if the outbuf is full. This resolves an issue where the disconnection of the passthru_socket would not be detected if the outbuf was full (e.g. the output_thread stopped running).
Also, check if RingBufWrite() returns a short-write count and log the values (actual versus expected write byte count).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Aug 26 14:17:25 2019
src/sbbs3 main.cpp 1.767 1.768
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv14985
Modified Files:
main.cpp
Log Message:
Log value of 'writable' in "could not write to passthru socket" log msg.
May help determine if the socket is disconnected or just not writable.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Aug 26 14:19:25 2019
src/sbbs3 main.cpp 1.768 1.769
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/home/rswindell/sbbs/src/sbbs3
Modified Files:
main.cpp
Log Message:
Resolve a couple harmless GCC warnings.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Aug 26 20:48:00 2019
src/sbbs3 main.cpp 1.769 1.770
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv28680
Modified Files:
main.cpp
Log Message:
When the passthru_thread terminates, set passthru_socket_active to false.
This resolves the issue where if an external program closes the client_socket_dup, the passthru_thread can't write to the passthru_socket,
so it terminates itself - by definition, deactivating the passthru_socket, but it didn't clear passthru_socket_active, so the input_thread would keep trying to write to it rather than sending the input from the user to the BBS.
Also, terminate the passthru_thread (without any special log message) when sbbs->online is non-zero.
Also overhauled a lot of the passthru-related log messages. Passthru ain't just for SSH anymore.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Aug 26 23:36:42 2019
src/sbbs3 main.cpp 1.770 1.771
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv21353
Modified Files:
main.cpp
Log Message:
Leave room for telnet IAC expansion (as much as 100%) in the outbuf.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Tue Aug 27 05:24:23 2019
src/sbbs3 main.cpp 1.771 1.772
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv12576
Modified Files:
main.cpp
Log Message:
Eliminate call to inet_ntop() which is apparently not present in WinXP:
The procedure entry point inet_ntop could not be located in dynamic link library ws2_32.dll
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Wed Aug 28 15:23:41 2019
src/sbbs3 main.cpp 1.772 1.773
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv20280
Modified Files:
main.cpp
Log Message:
Don't try to remove a bad .QWK packet if it's been renamed to *.bad.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Ragnarok@VERT/DOCKSUD to
rswindell on Thu Aug 29 07:07:23 2019
El 28/8/19 a las 23:23, rswindell escribió:
src/sbbs3 main.cpp 1.772 1.773
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv20280
Modified Files:
main.cpp
Log Message:
Don't try to remove a bad .QWK packet if it's been renamed to *.bad.
---
i notice that have several *.bad packets at my data dir.
-rw------- 1 root root 6807 ago 16 03:47 VERT.qwk.5d5a512f.bad
-rw------- 1 root root 7898 ago 13 19:47 VERT.qwk.5d5a5944.bad
-rw------- 1 root root 7245 ago 14 14:47 VERT.qwk.5d5a59bc.bad
i rename to vert.qwk to reprocess it, and say that all message are dupe.
Then, i think that was process and import messages fine.
is this commit related to this issue?
Aug 29 10:24:45 localhost synchronet: evnt Inbound QWK Packet detected: /sbbs/data/VERT.qwk
Aug 29 10:24:45 localhost synchronet: evnt QNET Executing external:
unzip -o -j /sbbs/data/VERT.qwk * -d /sbbs/temp/event/
Aug 29 10:24:45 localhost synchronet: evnt QNET Reading /sbbs/temp/event/HEADERS.DAT
Aug 29 10:24:45 localhost synchronet: evnt QNET Reading /sbbs/temp/event/VOTING.DAT
Aug 29 10:24:45 localhost synchronet: evnt Importing QWK Network Packet: /sbbs/data/VERT.qwk
Aug 29 10:24:45 localhost synchronet: evnt Importing QWK messages from
VERT into DOVE-Net Synchronet Discussion
Aug 29 10:24:45 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D564377.6017.sync@vert.synchro.net> found in message #36400
Aug 29 10:24:45 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D563EDE.40572.dove_sync@digitaldistortionbbs.com> found in message #36401
Aug 29 10:24:45 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D563EDE.40572.dove_sync@digitaldistortionbbs.com> found in message #36401
Aug 29 10:24:45 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D564039.40573.dove_sync@digitaldistortionbbs.com> found in message #36402
Aug 29 10:24:45 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D5633E8.3542.dove-syncdisc@bbs.leenooks.net> found in
message #36403
Aug 29 10:24:45 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D564ECC.6022.sync@vert.synchro.net> found in message #36404
Aug 29 10:24:45 localhost synchronet: evnt Importing QWK messages from
VERT into DOVE-Net Synchronet Programming (C/C++ and CVS)
Aug 29 10:24:45 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <5D56516D.39346.syncprog@cvsuser> found in message #21047
Aug 29 10:24:45 localhost synchronet: evnt Importing QWK messages from
VERT into DOVE-Net Synchronet Data
Aug 29 10:24:45 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D564BFC.177089.syncdata@vert.synchro.net> found in message
#13539
Aug 29 10:24:45 localhost synchronet: evnt Finished Importing QWK
Network Packet from VERT: (0 msgs) in 1 seconds (0 msgs/sec), 1 errors,
8 dupes
Aug 29 10:24:45 localhost synchronet: evnt QNET /sbbs/data/VERT.qwk
renamed to /sbbs/data/VERT.qwk.5d67d21d.bad
Aug 29 10:24:45 localhost synchronet: evnt QNET !ERROR 2 (No such file
or directory) in main.cpp line 2876 (event_thread) removing "/sbbs/data/VERT.qwk" access=0
thanks!!
---
þ Synchronet þ Dock Sud BBS TLD 24 HS -
http://bbs.docksud.com.ar -
telnet://bbs.docksud.com.ar
-
From
Digital Man@VERT to
Ragnarok on Thu Aug 29 10:35:36 2019
Re: Re: src/sbbs3/main.cpp
By: Ragnarok to rswindell on Thu Aug 29 2019 11:07 am
El 28/8/19 a las 23:23, rswindell escribió:
src/sbbs3 main.cpp 1.772 1.773
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv20280
Modified Files:
main.cpp
Log Message:
Don't try to remove a bad .QWK packet if it's been renamed to *.bad.
---
i notice that have several *.bad packets at my data dir.
-rw------- 1 root root 6807 ago 16 03:47 VERT.qwk.5d5a512f.bad -rw------- 1 root root 7898 ago 13 19:47 VERT.qwk.5d5a5944.bad -rw------- 1 root root 7245 ago 14 14:47 VERT.qwk.5d5a59bc.bad
i rename to vert.qwk to reprocess it, and say that all message are dupe. Then, i think that was process and import messages fine.
is this commit related to this issue?
The commit fixes this error:
Aug 29 10:24:45 localhost synchronet: evnt QNET !ERROR 2 (No such file
or directory) in main.cpp line 2876 (event_thread) removing "/sbbs/data/VERT.qwk" access=0
digital man
This Is Spinal Tap quote #37:
David St. Hubbins: We are Spinal Tap from the UK - you must be the USA!
Norco, CA WX: 92.1øF, 42.0% humidity, 4 mph NE wind, 0.00 inches rain/24hrs
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Ragnarok@VERT/DOCKSUD to
Digital Man on Thu Aug 29 19:57:38 2019
i enable debug:, the "QWK vote failure, offset 6144 in
/sbbs/data/VERT.qwk" appear:
Aug 29 23:54:29 localhost synchronet: evnt Inbound QWK Packet detected: /sbbs/data/VERT.qwk
Aug 29 23:54:29 localhost synchronet: evnt QNET Executing external:
unzip -o -j /sbbs/data/VERT.qwk * -d /sbbs/temp/event/
Aug 29 23:54:29 localhost synchronet: evnt QNET Reading /sbbs/temp/event/HEADERS.DAT
Aug 29 23:54:29 localhost synchronet: evnt QNET Reading /sbbs/temp/event/VOTING.DAT
Aug 29 23:54:29 localhost synchronet: evnt Importing QWK Network Packet: /sbbs/data/VERT.qwk
Aug 29 23:54:29 localhost synchronet: evnt Importing QWK messages from
VERT into DOVE-Net Synchronet Discussion
Aug 29 23:54:29 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D564377.6017.sync@vert.synchro.net> found in message #36400
Aug 29 23:54:29 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D563EDE.40572.dove_sync@digitaldistortionbbs.com> found in message
#36401
Aug 29 23:54:29 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D563EDE.40572.dove_sync@digitaldistortionbbs.com> found in message
#36401
Aug 29 23:54:29 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D564039.40573.dove_sync@digitaldistortionbbs.com> found in message
#36402
Aug 29 23:54:29 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D5633E8.3542.dove-syncdisc@bbs.leenooks.net> found in
message #364
03
Aug 29 23:54:29 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D564ECC.6022.sync@vert.synchro.net> found in message #36404
Aug 29 23:54:29 localhost synchronet: evnt QNET Duplicate vote-msg from VERT Aug 29 23:54:29 localhost synchronet: evnt QNET QWK vote failure, offset
6144 in /sbbs/data/VERT.qwk
Aug 29 23:54:29 localhost synchronet: evnt Importing QWK messages from
VERT into DOVE-Net Synchronet Programming (C/C++ and CVS)
Aug 29 23:54:29 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <5D56516D.39346.syncprog@cvsuser> found in message #21047
Aug 29 23:54:29 localhost synchronet: evnt Importing QWK messages from
VERT into DOVE-Net Synchronet Data
Aug 29 23:54:29 localhost synchronet: evnt QNET !smb_addmsg duplicate Message-ID: <
5D564BFC.177089.syncdata@vert.synchro.net> found in message
#13539
Aug 29 23:54:29 localhost synchronet: evnt Finished Importing QWK
Network Packet from VERT: (0 msgs) in 1 seconds (0 msgs/sec), 1 errors,
8 dupes
Aug 29 23:54:29 localhost synchronet: evnt QNET /sbbs/data/VERT.qwk
renamed to /sbbs/data/VERT.qwk.5d688fe5.bad
---
þ Synchronet þ Dock Sud BBS TLD 24 HS -
http://bbs.docksud.com.ar -
telnet://bbs.docksud.com.ar
-
From
rswindell@VERT to
CVS commit on Fri Aug 30 15:05:01 2019
src/sbbs3 main.cpp 1.773 1.774
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv22798
Modified Files:
main.cpp
Log Message:
Log (debug-level) interesting sizeof() values during initialization, debug-builds only.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sat Aug 31 22:08:40 2019
src/sbbs3 main.cpp 1.774 1.775
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv15235
Modified Files:
main.cpp
Log Message:
Received-telnet command improvements:
- If a telnet command was received in multiple packets, the memcpy optimization
in telnet_interpret() would skip/drop all bytes in the subsequent pkt payload
before an IAC char. Don't optimize when in the middle of a telnet command.
- If a received telnet command exceeds the telnet_cmd buffer, reset the
received telnet_cmdlen and log a warning-level message
- If a telnet sub-negotiation END command is received as the beginning of a
new telnet command, log a warning-level message and reset the telnet_cmdlen.
This fixes the occasional problem observed when using fTelnet and its sending the "SEND-LOCATION" sub-neg command split between 2 TCP packets. Only
part of the first packet would be used as the location data and the rest processed as input from the users (e.g. as the Login: prompt). Thanks, Ree!
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sun Sep 22 15:18:21 2019
src/sbbs3 main.cpp 1.775 1.776
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv18524
Modified Files:
main.cpp
Log Message:
This change goes with the previous commit to scfglib2.c (with no commit msg): Address problem reported by Mark Lewis:
If a timed event is configured to both run "exclusively" and on "Any" node, then any nodes in use at the time of the event would get their status changed to waiting-for-connection (WFC) and it could actually become possible for 2 clients to be using the same node number.
So, when loading the configuration, turn off the "exclusive" flag if the event's node is set to "Any" (0).
Just for completeness, fix the actual bug (introduced in main.cpp 1.744) too.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Dec 19 19:09:34 2019
src/sbbs3 main.cpp 1.777 1.778
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv10703
Modified Files:
main.cpp
Log Message:
Fix feature added in rev 1.759 (wrong path argument to delfiles):
Only retain the last (most recent) 10 data/<id>.qwk.*.bad files and data/file/<user-num>.rep.*.bad files.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sat Feb 1 13:55:14 2020
src/sbbs3 main.cpp 1.778 1.779
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv12537
Modified Files:
main.cpp
Log Message:
The log msg "passthru socket listening on port n" was always wrong
(said port 0) since the port had not been bound yet.
So fix the display order of that msg (after listen() is called)
and lower the log level to debug.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Thu Apr 16 18:38:31 2020
src/sbbs3 main.cpp 1.782 1.783
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv1099
Modified Files:
main.cpp
Log Message:
Clear the current attribute after the user stirng input in the JS prompt() function (don't leave it high-intensity white on accident).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Mon Apr 27 10:00:32 2020
src/sbbs3 main.cpp 1.783 1.784
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv20792
Modified Files:
main.cpp
Log Message:
The "all nodes in use" message specifically said "telnet nodes". Change to "terminal nodes".
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sat May 23 08:11:07 2020
src/sbbs3 main.cpp 1.789 1.790
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv533
Modified Files:
main.cpp
Log Message:
Address problem reported by wkitty42:
May 21 00:00:15 southeaststar synchronet: evnt BBS Events Executing external: ?logonlist -m
May 21 00:00:15 southeaststar synchronet: evnt BBS Events !JavaScript warning /sbbs/exec/load/nodedefs.js line 167: Disconnected
... by setting the online mode to ON_LOCAL while executing the sys_daily event.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
rswindell@VERT to
CVS commit on Sun Jul 19 17:12:22 2020
src/sbbs3 main.cpp 1.790 1.791
Update of /cvsroot/sbbs/src/sbbs3
In directory cvs:/tmp/cvs-serv13583
Modified Files:
main.cpp
Log Message:
Don't display full path (just the filename) of errored JS file to user.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to sbbs/master on Sun Aug 23 13:50:06 2020
-
From
Rob Swindell@VERT to
Git commit to sbbs/master on Thu Sep 3 18:29:28 2020
-
From
Rob Swindell@VERT to
Git commit to sbbs/master on Sat Sep 19 18:33:42 2020
https://gitlab.synchro.net/sbbs/sbbs/-/commit/9bf4b7bba19d951f3ca48c96
Modified Files:
src/sbbs3/main.cpp
Log Message:
Don't send telnet commands to spy sockets
send_telnet_cmd() now sends telnet commands/replies directly to the client socket. This avoid the entire output_thread() teeing of sent data to spy sockets/buffers (which may not be Telnet at all).
There are some concerns with this change:
- if client_socket isn't writable, will sendsocket() block?
- if output_thread is sending on the same socket, are our 2/3-byte telnet
commands going to have other output data interleaved within? (seems very
unlikely)
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to sbbs/master on Sat Sep 19 19:04:07 2020
-
From
Rob Swindell@VERT to
Git commit to sbbs/master on Thu Oct 22 21:51:57 2020
https://gitlab.synchro.net/sbbs/sbbs/-/commit/ec6d7e3edf557779be7e54cd
Modified Files:
src/sbbs3/main.cpp
Log Message:
Don't count guest logins as authenticated connections...
When enforcing the MaxConcurrentConnections limit, don't count connections for user's with blank passwords (i.e. Guest) as authenticated.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to sbbs/master on Wed Nov 4 18:28:33 2020
-
From
Rob Swindell@VERT to
Git commit to sbbs/master on Thu Nov 12 19:24:17 2020
https://gitlab.synchro.net/sbbs/sbbs/-/commit/bd78d5c5725843afc6659822
Modified Files:
src/sbbs3/main.cpp
Log Message:
Add timestamp of node.log file to crash.log
When a preexisting node.log file is found, a terminal server crash is suspected. Include the timestamp of the node.log in the message appended to the system log (data/logs/*.log) to help identify the likely time of the crash.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Deon George@VERT to
Git commit to sbbs/master on Sat Nov 21 19:35:59 2020
-
From
Deon George@VERT to
Git commit to sbbs/master on Sat Nov 21 19:35:59 2020
-
From
Digital Man@VERT to
Deon George on Sun Nov 22 08:23:45 2020
Re: src/sbbs3/main.cpp
By: Deon George to Git commit to sbbs/master on Sun Nov 22 2020 12:35 am
https://gitlab.synchro.net/sbbs/sbbs/-/commit/6d0ec492cd2a5db51e416548 Modified Files:
src/sbbs3/main.cpp
Log Message:
Ooops, forgot to make btox static
Oops, I forgot to squash this giant merge. <grimmace>
--
digital man
Rush quote #64:
He's cleaning up his systems to keep his nature pure .. New World Man
Norco, CA WX: 75.9øF, 29.0% humidity, 6 mph NNE wind, 0.00 inches rain/24hrs ---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sat Nov 28 19:31:28 2020
https://gitlab.synchro.net/main/sbbs/-/commit/82d3ae6e61d8876d35444bdf
Modified Files:
src/sbbs3/main.cpp
Log Message:
Load/keep/refresh each node's configuration in memory.
Previously, all nodes shared the same copy of the configuration in memory. This prevented any node from seeing an updated configuration until all nodes were offline or waiting for connection and could be recycled. Now, no recycling of the server is needed for a node to load a new config. A node in-use *still* cannot reload configuration until the user disconnects, but all you have to do is logon to another unused node and you (or that user) will get an updated configuration. Bots or server recycling problems will no longer prevent the sysop or user from getting a current configuration when connecting to any node.
This is one of those instances of giving the sysop what he wants rather than what he asked for. I should've done this a long time ago, but the idea just occurred to me. You're welcome. :-)
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sun Nov 29 06:40:10 2020
https://gitlab.synchro.net/main/sbbs/-/commit/827063bb1d4343e145a85ffa
Modified Files:
src/sbbs3/main.cpp
Log Message:
Copy event last-run info from global config into node config
Fixes issue introduced in last commit to this file (the each-node-has-its-own-config-in-memory enhancement) that would prevent users from logging in because their time was reduced for an upcoming event that had already run. The change assumes the event thread is running (its the thing that reads the event last-run info from time.dab). Thanks to mlong for the report.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sun Nov 29 07:28:05 2020
https://gitlab.synchro.net/main/sbbs/-/commit/07bd3442362ada96e99a4294
Modified Files:
src/sbbs3/main.cpp
Log Message:
Fallback to the "first node" configuration
If a node's configuration can't be loaded (e.g. nodeX/node.cnf is missing), fall-back and load the "first node" (e.g. Node1) configuration. On recent *nix installs (since the migration to Git), the node2+/node.cnf files were not copied/created, so let's solve that soon-to-be-FAQ now.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sun Nov 29 08:10:58 2020
-
From
Bob Roberts@VERT/HOVAL to
Rob Swindell on Sun Nov 29 07:45:15 2020
Re: src/sbbs3/main.cpp
By: Rob Swindell to Git commit to main/sbbs/master on Sun Nov 29 2020 12:31 am
another unused node and you (or that user) will get an updated configuration. Bots or server recycling
problems will no longer prevent the sysop or user from getting a current configuration when connecting
to any node.
This is one of those instances of giving the sysop what he wants rather than what he asked for. I
should've done this a long time ago, but the idea just occurred to me. You're welcome. :-)
This is freaking awesome. Thanks DM!
|01bobbobbobbob|09bob|03bob|11bob|03bob|09bob|01bobbobbob |01robrobrobrob|09rob|03rob|11rob|03rob|09rob|01robrobrob
|07
---
þ Synchronet þ Halls of Valhalla =San=Francisco= Happy Holidays
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sun Dec 6 15:21:13 2020
https://gitlab.synchro.net/main/sbbs/-/commit/d9ea54258ab2a39b3e71bdcf
Modified Files:
src/sbbs3/main.cpp
Log Message:
Don't create a JS "client" object for timed events
There is no actual TCP-client when a timed event is executing, so don't create one in the JS context when the socket is invalid.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sat Dec 12 21:00:30 2020
https://gitlab.synchro.net/main/sbbs/-/commit/0d8ea19e309c6afd80a587c8
Modified Files:
src/sbbs3/main.cpp
Log Message:
Create node#/client.ini for each node client connection
Paves the way for utilities like umonitor to show client details for node connections (e.g. IP address, hostname, connection duration, etc.)
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sat Dec 19 11:09:15 2020
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sun Feb 21 14:38:20 2021
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sun Feb 21 19:27:34 2021
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Fri Mar 5 15:41:25 2021
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Sun Mar 14 20:16:56 2021
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Sun Mar 14 20:52:25 2021
https://gitlab.synchro.net/main/sbbs/-/commit/ffb202237f4fde4d79c407a2
Modified Files:
src/sbbs3/main.cpp
Log Message:
Changing timeout didn't help. Use PopData of zero bytes to rekey...
This issue may actually be a rekey issue, to clear this, we need
to call cryptPopData(), but we can pop zero bytes.
In this case, re-try the flush.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Sun Mar 14 21:11:15 2021
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Wed Mar 31 12:51:17 2021
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sun Apr 4 11:13:57 2021
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Sun Apr 4 21:13:34 2021
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Sun Apr 4 21:15:12 2021
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Sun Apr 4 21:25:04 2021
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Wed May 12 18:53:45 2021
https://gitlab.synchro.net/main/sbbs/-/commit/3202b477e52faa34e6fa5666
Modified Files:
src/sbbs3/main.cpp
Log Message:
Attempt to resolve "!ERROR 11 receiving from socket" reported by plt
<plt> May 13 00:39:40 sbbs synchronet: term Node 1 <plt> append key into keybuf: 4E (N)
<plt> May 13 00:39:40 sbbs synchronet: term Node 1 <plt> Executing external: /sbbs/exec/sexyz 14 -Telnet sz /mnt/disk1/dl/COCO/AGI/agi-xmas.zip
<plt> May 13 00:39:40 sbbs synchronet: term Node 1 <plt> sexyz: Synchronet External X/Y/ZMODEM v3.0 master/23b741a1c Copyright Rob Swindell
<plt> May 13 00:39:40 sbbs synchronet: term Node 1 <plt> sexyz: !File skipped by receiver
<plt> May 13 00:39:40 sbbs synchronet: term Node 1 <plt> sexyz: !File Skipped <plt> May 13 00:39:40 sbbs synchronet: term Node 1 <plt> sexyz: !0 Aborting Transfer (Sending ZABORT)
<plt> May 13 00:39:40 sbbs synchronet: term Node 1 !ERROR 11 receiving from socket 14
<plt> May 13 00:39:40 sbbs synchronet: term Node 1 input thread terminated (received 365 bytes in 35 blocks)
Not sure why this isn't happening for other sysops - perhaps plt was spying on the node?
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sun May 16 12:47:09 2021
https://gitlab.synchro.net/main/sbbs/-/commit/4a705a4667fea6e699d7965a
Modified Files:
src/sbbs3/main.cpp
Log Message:
Log local address in passthru connection failure
Altere reported via IRC:
!ERROR -1 (113) connecting to passthru socket
It might be helpful to know the address the passthru socket is bound to and the connection is being attempted on, so log that with the error.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sun May 16 14:13:51 2021
https://gitlab.synchro.net/main/sbbs/-/commit/54de9ce32a60a3ec38fcd41d
Modified Files:
src/sbbs3/main.cpp
Log Message:
Fix the printf format for the "ERROR ... connecting to passthru socket"
Was passing the address string twice, so the port appeared as an invalid number.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Tue Jun 8 17:59:20 2021
https://gitlab.synchro.net/main/sbbs/-/commit/31149a208abdd6cf12317cb4
Modified Files:
src/sbbs3/main.cpp
Log Message:
Always use rename() on *nix when mv() is called with copy=FALSE
This should fix issue #272 reported by Ragnarok. Not the libarchive error part, but the second (mv) CopyFile error part.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Fri Jun 11 07:29:25 2021
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Tue Jan 18 20:31:29 2022
https://gitlab.synchro.net/main/sbbs/-/commit/26bc17de8f51f3e34977bd82
Modified Files:
src/sbbs3/main.cpp
Log Message:
Add run-time check for non-terminating/unsafe snprintf() function
Only in debug builds.
If this check fails, then we may be producing/using potentially un-terminated strings and need to do something about that. By default, xpdev/genwrap.h redefines snprintf() as safe_snprintf(), so this check *should* always succeed.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sat Feb 5 21:34:55 2022
https://gitlab.synchro.net/main/sbbs/-/commit/dbf0a87ad95f01a4f88a324d
Modified Files:
src/sbbs3/main.cpp
Log Message:
Clear mouse hot spots (if any) before hanging up.
<nelgin> Ah, here's a good one. If I ssh to my bbs server, then ssh to my bbs, do whatever then /O to logout, when I left click in the putty window I get "0;98;20M0;98;20m and stuff like that. I have to run reset to get it working properly.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Mon Feb 21 10:59:31 2022
https://gitlab.synchro.net/main/sbbs/-/commit/b269b65ad5d09814abbbff51
Modified Files:
src/sbbs3/main.cpp
Log Message:
Refactor timed-event and QWKnet call-out scheduling
Reduced probably the biggest if() conditionals in sbbs to a single line by breaking the "time to run" logic into separate functions and sharing those functions between both QWKnet and timed-event scheduling. There was no actual problem with this code/logic, it was just very difficult to read and understand and step-through with a debugger and understand why or why not an event might run under different configurations and circumstances.
Also removed the PostLink network call-out logic. pnet.dab is no longer read and written-to and if you happened to have any PostLink hubs configured (how?!?), they'll no longer be "polled". This is the only functional change unless I did something wrong in the process.
One thing I noticed and contemplated, the current time is not queried between consecutive timed-event scheduling/execution. It's possible that an executed event can take a long time and impact the criteria for the next timed event. The events are checked for scheduling every few seconds, so I can't really think of a big down-side to the current design (apparently intended to reduce unnecessary querying of the current date/time), so I didn't do anything to change that. Just something I noticed.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Wed Feb 23 18:25:45 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sun Feb 27 16:50:18 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Tue Mar 1 17:43:07 2022
https://gitlab.synchro.net/main/sbbs/-/commit/b9e78bdf93e4d9b3e7608e4d
Modified Files:
src/sbbs3/main.cpp
Log Message:
Batch download queue not cleared upon packed QWK packet
Before the "new filebase" merge of 2021, a user's batch download queue would be cleared when a QWK packet was successfully packed for them via the event thread (i.e. triggered via semaphore file). That was lost in the new filebase change (the batch download queue would not be cleared) - caught by Coverity (CID 350336).
It appears pre-packed QWK packets never cleared the batch download queue (does anyone actually use this feature in this day and age?) - fixed.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Thu Mar 3 11:45:56 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sat Mar 12 19:26:38 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Wed Mar 30 20:11:44 2022
https://gitlab.synchro.net/main/sbbs/-/commit/141112e104ee22552140d82f
Modified Files:
src/sbbs3/main.cpp
Log Message:
Lower level of new "Logoff time <= logon time" log message
... from ERROR to WARNING, but log the human-readable logon time too.
This condition can easily happen if the system clock is corrected (e.g. a few seconds via NTP adjustment) during a quick connect/disconnect.
Don't call logoffstats() unless a user actually successfully logged-in. I don't think sysops actually want all the time bots sit at the logon prompt counted as "time online" in their stats anyway.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Thu Mar 31 14:59:38 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Thu Apr 14 10:59:08 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Fri Apr 15 12:09:33 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sun Jul 10 10:26:22 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Fri Sep 16 12:46:29 2022
https://gitlab.synchro.net/main/sbbs/-/commit/b91acb61c474ed71a1fa3a2e
Modified Files:
src/sbbs3/main.cpp
Log Message:
Fix crash when cleanup() was called twice in a row, e.g. load_cfg failure
Need to nullify the xpms after destroying/freeing (as is done in other
servers already).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sat Nov 19 13:20:40 2022
https://gitlab.synchro.net/main/sbbs/-/commit/d1f4767a9597b659d7996e83
Modified Files:
src/sbbs3/main.cpp
Log Message:
Correct node number *always* before clearning NODE_RRUN [R] status flag
If nodeX/node.cnf has the wrong node number, the [R] flag would be cleared from the wrong node upon automatic configuration reload. This likely fixes the issue that Keyop is reporting in #synchronet
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Thu Dec 29 13:54:23 2022
https://gitlab.synchro.net/main/sbbs/-/commit/56d1e7fe4b3c6bf6176e4406
Modified Files:
src/sbbs3/main.cpp
Log Message:
Output snappiness improvements.
When the system checks for an incoming byte, if there's any pending
output, send it immediately, bypassing the outbuf highwater mark.
This allows the final non-full packet to be sent without waiting
for the OutbufDrainTimeout (default 10ms), and makes a big difference
when doing a large number of ANSI queries (send an ANSI code, wait
for a response). There's a small but noticable placebo effect as
well that makes everything feel smoother.
This commit also cleans up the output thread where it pulls from
the ring buffer into the linear buffer to take advantage of the new
event-based ring buffers. Much easier to read now.
Speaking of easier to read, this also includes some whitespace
fixups.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Thu Dec 29 17:14:12 2022
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Thu Dec 29 18:49:37 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Thu Dec 29 19:36:44 2022
https://gitlab.synchro.net/main/sbbs/-/commit/dfc4e9320299020943ea640c
Modified Files:
src/sbbs3/main.cpp
Log Message:
Eliminate the global 'sbbs' here, was masking bugs
I'm not sure what purpose this global variable once had, but it wasn't needed now and it was masking copy/paste issues in some of the sbbs_t methods in this file. Just make an 'sbbs' local to bbs_thread(), since there's where it's legit-used.
FYI: All the Cryptlib-SSH macros assume there's an 'sbbs' in scope.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Thu Dec 29 19:36:44 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Thu Dec 29 19:38:24 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Fri Dec 30 01:16:32 2022
https://gitlab.synchro.net/main/sbbs/-/commit/d1e32893f4adc36ed88f69a0
Modified Files:
src/sbbs3/main.cpp
Log Message:
Lower log level of send_telnet_cmd() send failure (to debug level)
As apparently these happen a lot when a client disconnects right
away after connecting.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Fri Dec 30 03:37:24 2022
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sun Jan 1 20:28:10 2023
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Tue Jan 3 21:41:33 2023
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sat Jan 21 13:15:16 2023
https://gitlab.synchro.net/main/sbbs/-/commit/6426954c87ae1bd5c04691e4
Modified Files:
src/sbbs3/main.cpp
Log Message:
Don't attempt to remove a non-existing qwk-pack semfile
Reduce occurrences of subsequent errors (unsure of root-cause):
!ERROR 2 (No such file or directory) in main.cpp line 2778 (event_thread) removing "/sbbs/data/pack0341.now"
This does seem to be the only location that deleted pack*.now files, so weird that they'd disappear sometime after calling glob(), but I do understand that its theoretically possible.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Tue Jan 24 21:30:09 2023
https://gitlab.synchro.net/main/sbbs/-/commit/5f7f1104db341b7c52e4e209
Modified Files:
src/sbbs3/main.cpp
Log Message:
Don't try to upgrade */csts.dab and */dsts.dab files that don't exist
In a fresh v3.20 install, the legacy stats files don't exist, so don't try
to convert/upgrade them and log errors about it.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows)@VERT to
Git commit to main/sbbs/master on Thu Feb 2 13:30:13 2023
https://gitlab.synchro.net/main/sbbs/-/commit/d60262aa81e4b14405e6fd57
Modified Files:
src/sbbs3/main.cpp
Log Message:
Lower severity of "Spy socket ... connected" log message from ERR (?) to INFO
Looks like just a confluence of search/replace errors over the past 19 years, starting with commit 9ef382e50c6.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Fri Feb 10 21:52:17 2023
-
From
Rob Swindell (in GitKraken)@VERT to
Git commit to main/sbbs/master on Sun Mar 12 18:21:16 2023
https://gitlab.synchro.net/main/sbbs/-/commit/9eeb09f19514e1ccf10d85eb
Modified Files:
src/sbbs3/main.cpp
Log Message:
Fix PETSCII 40/80 column port connections for IPv6
The connected TCP port detection method only worked for IPv4, so automatically detecting a CBM/PETSCII connection over IPv6 didn't work. Thanks to Deuce's xp_sockaddr and helper functions, this was an easy change.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Sun May 7 13:45:08 2023
-
From
Rob Swindell (on Windows)@VERT to
Git commit to main/sbbs/master on Fri Jun 2 17:49:52 2023
https://gitlab.synchro.net/main/sbbs/-/commit/ca7ab040466b030281a9aaca
Modified Files:
src/sbbs3/main.cpp
Log Message:
Add a 60-second timeout to sbbs_t::passthru_socket_activate()
Keyop reported an issue via irc whereby a user that failed to download a file would leave the node "hung" in "downloading via telnet" node status even
though the user had long since disconnected and the log reflected that the terminal server was aware of this:
term Node 4 <user> sexyz: !1152 zmodem_recv_raw TIMEOUT (10 seconds)
term Node 4 <user> sexyz: !zmodem_recv_header TIMEOUT
term Node 4 <user> external Timeout waiting for output buffer to empty
<minutes later>
term Node 4 connection reset by peer on send
term Node 4 !ERROR 32 sending on socket 102
term Node 4 !ERROR 32 sending on socket 102
term Node 4 !ERROR 32 sending on socket 102
term Node 4 !ERROR 32 sending on socket 102
term Node 4 !ERROR 32 sending on socket 102
term Node 4 disconnected
term Node 4 !ERROR 32 sending on socket 102
and
term Node 3 <user> sexyz: !1152 zmodem_recv_raw TIMEOUT (10 seconds)
term Node 3 <user> sexyz: !zmodem_recv_header TIMEOUT
term Node 3 <user> sexyz: !Receive timeout (1 seconds)
term Node 3 <user> sexyz: !Receive timeout (1 seconds)
term Node 3 <user> sexyz: !Receive timeout (1 seconds)
term Node 3 <user> sexyz: !Receive timeout (1 seconds)
term Node 3 <user> sexyz: !Receive timeout (1 seconds)
term Node 3 <user> sexyz: !Receive timeout (1 seconds)
term Node 3 <user> sexyz: !Receive timeout (1 seconds)
term Node 3 <user> sexyz: !Receive timeout (1 seconds)
term Node 3 <user> sexyz: !Receive timeout (1 seconds)
term Node 3 <user> sexyz: !Receive timeout (1 seconds)
term Node 3 <user> sexyz: !1152 zmodem_recv_raw TIMEOUT (10 seconds)
term Node 3 <user> sexyz: !zmodem_recv_header TIMEOUT
term Node 3 <user> external Timeout waiting for output buffer to empty
<minutes later>
term Node 3 connection reset by peer on receive
term Node 3 !ERROR 32 sending on socket 96
These nodes were then locked up in call to passthru_socket_activate(false)
as reported by gdb, e.g.
Looking at passthru_socket_activate(), the deactivation path (called at the
end of external() in this case), it was clear that this could be an infinite loop in the case the user had disconnected:
do { // Allow time for the passthru_thread to move any pending socket data to the outbuf
SLEEP(100); // Before the node_thread starts sending its own data to the outbuf
} while(RingBufFull(&outbuf));
These flush/purge loops aren't strictly needed if the user has disconnected, but as can be seen by the above logs, the terminal server may not know that (the socket may not indicate disconnect) before passthru_socket_activate()
is called by external().
So... worst case, just do the activation and deactivation buffer flushes
and purges for 60 seconds.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows)@VERT to
Git commit to main/sbbs/master on Wed Sep 13 18:56:11 2023
https://gitlab.synchro.net/main/sbbs/-/commit/23cd780b3dc51f1d55398748
Modified Files:
src/sbbs3/main.cpp
Log Message:
Remove redundant timestamp from "End of preexisting log entry" log message
Most logs sysops are looking at already have a date/timestamp for each
message, so this one ended up with 3 date/timestamps in a single line.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows)@VERT to
Git commit to main/sbbs/master on Tue Sep 19 18:37:16 2023
https://gitlab.synchro.net/main/sbbs/-/commit/e5f64faf337040f12844c4cc
Modified Files:
src/sbbs3/main.cpp
Log Message:
Log a critical error message if a node is WFC, but its socket is still in use
This should avoid/work-around issue #630
Nelgin's terminal server log indicated that the node's configuration was being reloaded for a new client connection (which doesn't normally/always happen, only when there's been a config file change or a node "rerun" requested),
while there was still a user online using that node. This would explain the segfault (configuration fields being freed and reallocated).
The node_socket[] array indicates when a node thread is actively servicing
a client, so it should contain INVALID_SOCKET for the any node's that WFC.
If it doesn't, that means something/someone changed the node's status value
to 0 (WFC) in the node.dab file while the node was still in-use. Let's not crash in this case and rather just log the message and give the client the
next available node (if any).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows)@VERT to
Git commit to main/sbbs/master on Sun Sep 24 01:32:43 2023
https://gitlab.synchro.net/main/sbbs/-/commit/229cca918d31e14add4b2ef7
Modified Files:
src/sbbs3/main.cpp
Log Message:
Close node socket after waiting one hour to go inactive to run exclusive event
After 90 minutes of waiting, we'll do the same abort wait (and run the event anyway), but closing the node's socket should be enough to get the node_thread to terminate and set the node status back to NODE_WFC.
Apparently some sysops like to leave their terminals idling (e.g. running MRC) and never disconnect and since they're T-exempt, the BBS won't limit their
time online to allow events to run. Exclusive events will wait for all nodes
to become inactive, but give up after 90 minutes of waiting and run the event anyway and set node status to WFC at the end. If the node was actually still connected/in-use, this could lead to the (new) critical error messages logged "!Node X status is WFC, but the node socket (N) and thread are still in use!" and other chaos (NODE STATUS FIXUP and the like).
This should prevent all that by just abruptly disconnecting the node after waiting 60 minutes for the sysop to gracefully disconnect. The log message
when this happens:
"!TIRED of waiting for node N to become inactive (status=X), closing socket Y"
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows)@VERT to
Git commit to main/sbbs/master on Mon Sep 25 18:07:33 2023
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Sat Nov 11 13:07:10 2023
https://gitlab.synchro.net/main/sbbs/-/commit/230bd5872d55cb239b03aeed
Modified Files:
src/sbbs3/main.cpp
Log Message:
js_init() now logs notice-level messages upon runtime or context creation fail
js_init() failures are now logged with a critical error level (instead of just "error").
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Fri Dec 29 10:17:20 2023
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Thu Jan 4 19:19:36 2024
https://gitlab.synchro.net/main/sbbs/-/commit/7df6956da2b4246a9ca3940e
Modified Files:
src/sbbs3/main.cpp
Log Message:
Don't log an error if there's QWKnet sub pointer value to be read
This partially reverts commit 44c3350f where a bunch of read() and write() return value checking was added.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Thu Jan 11 00:33:48 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Wed Jan 17 13:31:24 2024
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sat Jan 20 20:25:21 2024
https://gitlab.synchro.net/main/sbbs/-/commit/e53f173153fdaf0341cca95c
Modified Files:
src/sbbs3/main.cpp
Log Message:
Remove unnecessary call to DuplicateHandle() in Win32 builds of sbbs_t::init()
The client_socket_dup is overwritten after with the return value of accept(), so this was likely a socket/handle leak (since commit 74470573, 17 years ago).
Noticed this only after logging a new error in an SSH connection when this
call to DuplicateHandle() failed for some reason (WinError 6), but it seems like it's been redundant code for a long time now. So just ace it and possibly fix a resource leak.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Mon Jan 22 17:43:44 2024
https://gitlab.synchro.net/main/sbbs/-/commit/346a2d304c7d921d656489ad
Modified Files:
src/sbbs3/main.cpp
Log Message:
Log the socket descriptor and protocol when getsockname() fails
This is a new error that just started cropping up. I suspect it's related to recent SSH changes. This might help a little with context, when it happens again.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Tue Feb 6 12:35:50 2024
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Wed Feb 7 12:23:42 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Wed Feb 14 15:11:56 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Sat Feb 24 14:54:24 2024
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Sat Feb 24 20:31:04 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Mon Feb 26 22:41:59 2024
https://gitlab.synchro.net/main/sbbs/-/commit/a474017fb7c51f91ef9c4095
Modified Files:
src/sbbs3/main.cpp
Log Message:
sbbs_t::incom() should return NOINP immediately if/when socket disconnected
JS console.inkey() and friends use this as the underlying function to get
input from the TCP socket.
This might address issue #725
Hoping Nelgin will let us know.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Tue Feb 27 20:20:48 2024
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Wed Feb 28 15:29:55 2024
https://gitlab.synchro.net/main/sbbs/-/commit/e4adbcb541c6f7139e63d2ca
Modified Files:
src/sbbs3/main.cpp
Log Message:
Prevent the input thread from closing channel that has a session,
but does not yet have a session type.
Also, fix what appears to be a fairly blatant memory leak.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Deuc¨@VERT to
Git commit to main/sbbs/master on Thu Feb 29 11:55:23 2024
https://gitlab.synchro.net/main/sbbs/-/commit/346849ac253a08374b9bfca0
Modified Files:
src/sbbs3/main.cpp
Log Message:
Unlock ssh_mutex before calling sftps_recv()
This should fix the sftp hangs...
While FreeBSD will return EDEADLOCK when a mutex would deadlock,
Linux will do what I ask and deadlock.
Since we're not checking the return value of pthread_mutex_lock(),
this would go completely unnoticed on FreeBSD, resulting in the
mutex being unlocked early and all sorts of unprotected accesses
would happen, potentially doing crazy things. On Linux it just
deadlocks, and taking a peek at the thread backtraces makes the
problem obvious.
So, point to Linux for making life more correct for people who
do incorrect things (locking without checking the return value).
I'd also like to thank nelgin, for sticking with me on this issue
and being my gdb puppet.
And really, this commit should be shared by all the contributors
who... ¨¨¨¨
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Thu Mar 21 23:34:07 2024
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Thu Mar 21 23:38:26 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Fri Mar 22 21:28:05 2024
https://gitlab.synchro.net/main/sbbs/-/commit/be8603b11bd6cf12c6f74256
Modified Files:
src/sbbs3/main.cpp
Log Message:
Replace (and auto-upgrade) ctrl/time.dab with time.ini
This will allow us to change scfg_t.event[].last to a time_t value (from time32_t) whenever we abandon Borland C/C++ in the future.
Now it's trival for sysops to view/edit when their timed events 'last run' values. And there's no more endianness concerns. Bad .dab files, bad, go away.
After I wrote this change, I found the original conversion code in v4upgrade.c which is almost exactly the same (except I was going to write to different filename). Finally actually implemented this. Next up: qnet.dab
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Fri Mar 22 21:28:05 2024
https://gitlab.synchro.net/main/sbbs/-/commit/03be991a6f30b98ae9c0320b
Modified Files:
src/sbbs3/main.cpp
Log Message:
Convert (and auto-upgrade) ctrl/qnet.dab to ctrl/time.ini as well
I suppose this should've been part of the previous commit.
Again, this is almost verbatim what v4upgrade.c did (though never actually used).
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Fri Mar 22 22:50:36 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Mon Apr 8 16:32:54 2024
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Wed Apr 10 23:07:19 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Thu Jul 11 19:17:01 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Thu Jul 11 19:17:01 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Thu Jul 11 19:29:21 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Thu Jul 11 19:39:16 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Sat Aug 3 19:58:06 2024
https://gitlab.synchro.net/main/sbbs/-/commit/c03ed4b9ce042d5651575e18
Modified Files:
src/sbbs3/main.cpp
Log Message:
Log a warning if any socket inactivity max durations are shorter/equal to ...
to the getkey inactivity timeout.
By setting a socket timeout shorter or equal to the getkey timeout, the getkey timeout effectively does nothing.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Sun Oct 13 13:36:54 2024
https://gitlab.synchro.net/main/sbbs/-/commit/2ce9ccfe50ab05c3bacf2e8d
Modified Files:
src/sbbs3/main.cpp
Log Message:
Reset sbbs_t menu path vars (menu_dir and menu_file) before execing cmd shell
I obvserved an issue with Amessyroom's bbs where his custom (JS) shell is setting bbs.menu_dir but when switching to another stock shell, his menu
files were still being displayed (with mismatching command keys as a result).
bbs.menu_dir (and implicitly, the set_menu_dir Baja function) apparently have not been used in this way (much) before.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Tue Nov 12 20:08:02 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Thu Nov 14 20:07:31 2024
https://gitlab.synchro.net/main/sbbs/-/commit/27e30f1277531509630d3ca8
Modified Files:
src/sbbs3/main.cpp
Log Message:
Better support for multiple hosts handling QWK events
First, fix the logged username bug in the "Lock exists" log message.
Next, double check that the trigger file (sem file or REP file) still exists after acquiring the file mutex.
Use a temp varible (fname) to make the code easier to read.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Thu Nov 14 20:55:21 2024
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Thu Nov 14 21:09:21 2024
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Fri Nov 15 12:20:16 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Fri Nov 15 12:26:02 2024
https://gitlab.synchro.net/main/sbbs/-/commit/87b22bda88174a8e03e25558
Modified Files:
src/sbbs3/main.cpp
Log Message:
Reolve !ERROR 2 (No such file or directory) removing "data/pack####.now"
glob() results might be out of date by the time we look at each file, just
skip missing QWK pack semaphore files silently. This should resolve the
".now already gone" messages too. Hopefully.
Removed some extraneous quotes around logged event command-lines.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Fri Nov 15 18:29:09 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Fri Nov 15 22:17:53 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Fri Nov 15 22:37:59 2024
-
From
Rob Swindell (on Debian Linux)@VERT to
Git commit to main/sbbs/master on Sun Nov 17 03:02:57 2024
https://gitlab.synchro.net/main/sbbs/-/commit/2fa8db2b6a1a5da43db71887
Modified Files:
src/sbbs3/main.cpp
Log Message:
Perform "first level Ctrl-C input checking" even when in Telnet BINARY_TX
This condition caused aborting BBS operations via Ctrl-C to fail when connecting from a traditional Telnet client using binary transmission
mode (e.g. telnet -8) or SyncTERM v1.2rc6.
The check of rio_abortable was probably enough to disable this function
during file transfers (e.g. we've had no issues with SSH file transfers
that might include byte 0x03 received from the client), but I added the
check for SS_FILEXFER system status check too, perhaps unnecessary.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Mon Nov 18 22:11:42 2024
-
From
Rob Swindell (on ChromeOS)@VERT to
Git commit to main/sbbs/master on Tue Nov 19 22:55:43 2024
https://gitlab.synchro.net/main/sbbs/-/commit/fa5321fe8850f6d2d9558312
Modified Files:
src/sbbs3/main.cpp
Log Message:
request_telnet_opt() will ignore all cmds but DO, DONT, WILL and WONT
This allows us to save unitialized telnet_*_option values (i.e. 0x00) and pass those values back to request_telnet_opt() with no side effect.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell@VERT to
Git commit to main/sbbs/master on Sat Nov 23 01:24:28 2024
-
From
Deuc¿@VERT to
Git commit to main/sbbs/master on Sun Nov 24 09:34:14 2024
-
From
Rob Swindell (on macOS)@VERT to
Git commit to main/sbbs/master on Sun Dec 1 19:57:53 2024
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Fri Dec 6 17:38:28 2024
https://gitlab.synchro.net/main/sbbs/-/commit/f83b805f2ebdc68d7612ab6d
Modified Files:
src/sbbs3/main.cpp
Log Message:
Don't try to renaming a bad (unpackable) REP packet if it doesn't exist
There still appears to be some race condition with network (Samba) FS
directory caching and opening/locking of files, so it does seem illogical that the packet file wouldn't exist at this point (since we have the lock file opened) but this does still happen on occasion on Vertrauen.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
-
From
Rob Swindell (on Windows 11)@VERT to
Git commit to main/sbbs/master on Sat Dec 14 13:08:11 2024