• 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
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/b105d77749607d5bc8dacc99
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Lower log level of the "Perhaps node is already runnnig" log msg from ERR to WARN

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Thu Sep 3 18:29:28 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/8bf25ec78bdcf404e0ddab27
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Lower the SSH-related log message severities to WARNING for SSH connections

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/cbdb2b494c85d24a7b3b887b
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Move the "connect" spy message to where the hostname and IP address are known

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/3a19853b763f35a22ece717c
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Address 32-bit GCC warning about printf format

    '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'off_t

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/6d0ec492cd2a5db51e416548
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Ooops, forgot to make btox static

    ---
    þ 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
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/db690fadea6237739f73825c
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Improve btox() so that it doesnt lead to any buffer overruns

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/656bdb8fe79786b94f7dc5ac
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Log a warning when falling-back the loaded node configuration.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/5e46cb0f6cc44b2176c97b0f
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Additional/optional 'mode' argument to global prompt() method

    Defaults to K_EDIT.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Feb 21 14:38:20 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/4187942a94aeb8489a4a1371
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix build issue on *nix with the new protected int destroy macros.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Feb 21 19:27:34 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/8fabcdf19acb64f684922f68
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Use the CopyFile() function when moving files.

    This function is the fastest file-copy method (or should be), but does not have any progress indication.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Fri Mar 5 15:41:25 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/f4d33f43cc1326150c82e100
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Don't leave the logged event code as "DAILY" after daily events run

    I noticed "DAILY ... Semaphore signaled" in the event thread log output. Now fixed.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Mar 14 20:16:56 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/5bb4bcc4a60fd2b03ca2efe8
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Increase flush write timeout for SSH.

    During YModem-G transfers, the previous 5-second timeout was
    exceeded.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/2e1cedadc9d93f2810cd9571
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Revert the last changes.

    Something weird is happening to the cryptlib session when SZ sends
    a lot of data... no real clues left.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wed Mar 31 12:51:17 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/8f0ae86b415a9e079ed1acfc
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix error in last commit.

    Looks like I was partially restoring old code before I stopped.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Apr 4 11:13:57 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/9c5205aa056dc04b0dd8e13e
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    ftell() can return negative, deal

    CID 33232

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Apr 4 21:13:34 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/59bb0c3da6774ae5f9b405b1
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Spaces -> Tabs

    Tabs are the shit.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Apr 4 21:15:12 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/9b14bb14cb24fb209a882e82
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    MOAR!

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Apr 4 21:25:04 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/5bf7a8475ec4aa7ee88c37e3
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    EVN MR!

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/b093e0c714828fe1aae5a3f9
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix newly-introduced (but likely harmless) bug in mv()

    Thanks Coverity! (CID 332340)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/eb4fa76ca9635a48ea2c103f
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Delete dead code

    CID 174474

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Feb 27 16:50:18 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/80de2727ae620ef4e770c3c6
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Lower the "SSH session establishment failed" log msg level

    from NOTICE to INFO, per Nelgin

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/eb7e6bbfaa15e42dc18239b3
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix CID 174378: Argument cannot be negative

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat Mar 12 19:26:38 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/570f6f5ebcdb52a8c359dfc8
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix CID 319133: Unchecked return value

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/3ff572429ea30b11fb33d6b1
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    When auto-deleting inactive users, log their real name too.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Apr 14 10:59:08 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/cfd62425cd0c93e927989897
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Address new GCC warning instance

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Fri Apr 15 12:09:33 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/f4b595c0a4726853510a083c
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Truncate node.dab to correct size when initializing any sbbs_t instance

    Fixes issue #395

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Jul 10 10:26:22 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/d2acbe52c3615ab8bfb45837
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Eliminate newly-unused variable: addr_str

    Fixes issue #421

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/fe78b9895edde6d8217c2dc1
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Call RingBufRead() when avail == 0 to reset events

    If something else sets these events, and they never get cleared,
    this will fall into a tight loop.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thu Dec 29 18:49:37 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/e379967ced1c8dc936090ff2
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Move some lines around to clamp sbbs->outbuf.highwater_mark at IO_THREAD_BUF_SIZE

    ---
    þ 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
    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
    https://gitlab.synchro.net/main/sbbs/-/commit/020382e9d42c92aa8da3324f
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Add sendsocket() result checking/error-logging to send_telnet_cmd()

    ---
    þ 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:38:24 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/993518491b6ec81ed2a83151
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix gcc warnings in previous commit: don't bother with [s]size_t here

    ---
    þ 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 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
    https://gitlab.synchro.net/main/sbbs/-/commit/2eea219da85b0b8e205900ba
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Clean-up the logging around the auto-tuned outbuf highwater mark

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Jan 1 20:28:10 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/f169a52fa7454842a6540423
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Remove accidentally added debug line with no effect.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Jan 3 21:41:33 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/fec7f7de961c102b4052e255
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Include time used (HH:MM:SS) in node#/laston mqtt msg

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/95a07b236294a36633481033
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix crash when getting file area web_file_prefix in JSexec

    js_init was assuming that startup != NULL

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/d6544a7700951590fa2916a4
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Enforce telbuf size bounds (don't just log the overflow condition)

    This should resolve CID 453850

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/6b49ddffc9b3ee4bb3bdb3c1
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Auto-recycle the term server if/when the ctrl/text.ini file is created/touched

    ---
    þ 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 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
    https://gitlab.synchro.net/main/sbbs/-/commit/1994a535b8c0e688e8a139fc
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Don't log error on final channel message

    ---
    þ 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 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
    https://gitlab.synchro.net/main/sbbs/-/commit/bac2285755b0eda8a209e365
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Another fix for the read() reutrn value FORTIFY warning

    that doesn't log an error

    ---
    þ 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 Wed Jan 17 13:31:24 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/a8374b52cbc57902bb303d7e
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    second part of commit 0b1b1a6f

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/af7852df11093dc6ed559f64
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Ignore remove() return value purposefully in this case.

    Does this resolve Coverity warning? I don't rember.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Wed Feb 7 12:23:42 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/2b2d8289b92d7f6e6faa1633
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    More time_t printf fun.

    ---
    þ 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 Wed Feb 14 15:11:56 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/1e734d10425f7ca7fb239931
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Remove line that was commented-out 14 years ago

    Commit d1182efc

    ---
    þ 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 Feb 24 14:54:24 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/0a6c1f00de9e4457f598b4f4
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Log a warning if failed to write to spy ring buffer

    ---
    þ 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 Sat Feb 24 20:31:04 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/4fa2aa66fda6be0ef693f512
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Don't log an error if spy socket write return EPIPE (expected)

    Also, resove a new gcc warning about signed/unsigned compares.

    ---
    þ 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 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
    https://gitlab.synchro.net/main/sbbs/-/commit/4c893720f8e0c57753b08a91
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Attempt to fix error nelgin reported with ssh session timeouts

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/c846776318dc4ca28946083c
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Break stuff to test things.

    ---
    þ 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:38:26 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/eddcfe2f9b10d250d16a6c7f
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Now unbreak!

    ---
    þ 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/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
    https://gitlab.synchro.net/main/sbbs/-/commit/19ab720de38838ae2e4e1154
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Resolve recently introduced warnings about const char* to char* conversion

    C++ <sigh>

    We don't need a .ini section separator anyway.

    ---
    þ 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 Apr 8 16:32:54 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/00a80d45d884c9ab547fef31
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    exec/*.bin cmd shell filenames were case sensitive (must've been lowercase)

    ... while the mods/*.bin command shell filenames could be any-case!

    Only impacted non-Windows systems (UNIX file systems are case-sensitive).

    Discovered while making this tutorial video: https://youtu.be/HlwQ0uX4S04

    ---
    þ 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 Wed Apr 10 23:07:19 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/76b5c7f4399c7774c368c754
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Resolve CID 492287 - we don't care about the fexistcase() return value here

    We're just using it to "fix" the case, if the file indeed exists.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net