• src/sbbs3/main.cpp

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Fri Mar 5 20: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 Mon Mar 15 00: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 Mon Mar 15 00: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 Mon Mar 15 01: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 16: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 15: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 Mon Apr 5 01: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 Mon Apr 5 01: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 Mon Apr 5 01: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 22: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 16: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 18: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 21: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 11: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 Wed Jan 19 01: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 Sun Feb 6 02: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 15: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 23: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 21: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 22: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 16: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 Sun Mar 13 00: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 Thu Mar 31 00: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 18: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 14: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 16: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 14: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 16: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 (on Windows 11)@VERT to Git commit to main/sbbs/master on Thu Jul 11 19:17:01 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/6713d10cb1f9e44d1cb8a9e6
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix incorrect 'socket' value for new (highwater) log 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 Jul 11 19:17:01 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/06f6b07ddbc0ba9f7d66f5c5
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Eliminate large-scoped 'i' variable in bbs_thread()

    This is just a code quality (readability) improvement. No functional change.

    ---
    þ 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 Jul 11 19:29:21 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/59e30dda6bb683b9c1a97298
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix *nix build

    We removed the large-scope 'i', but didn't update the Unix-only blocks of code (dealing with UNIX domain spy sockets).

    ---
    þ 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 Jul 11 19:39:16 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/bca9510b25f790f84f59545a
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Include current node number intead of socket descriptor in highwater log msg

    looks better, more consistent with the log messages before/after it.

    ---
    þ 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 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
    https://gitlab.synchro.net/main/sbbs/-/commit/ccab84c359406ffea9695db3
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Use new FILE_RETRY_ERRNO() macro for sopen() retries in sbbs_t::nopen()

    ---
    þ 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: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
    https://gitlab.synchro.net/main/sbbs/-/commit/5956805f6e2e985824a86d52
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Log event command-lines (repeating event code was redundant)

    Only log messages about QWK mutex files existing when > 60 seconds old

    ---
    þ 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 Nov 14 21:09:21 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/3127e4f4b89c73263cadd901
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Detect hung event_thread and log details

    Add log message when spawning background timed event

    ---
    þ 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 Nov 15 12:20:16 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/6df88451e8d9ce67c27bd4d0
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Use timestr() instead of ctime_r() for logging full date/times

    Also when detecting a blocked event_thread, log the event_code that is/was running last.

    ---
    þ 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 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
    https://gitlab.synchro.net/main/sbbs/-/commit/f37e9789f42d73d4991d2ff3
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Use fmutex_open() instead of fmutex() to better protect the pack*.lock files

    ---
    þ 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 22:17:53 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/6dda18740c154c5f099070d1
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Use fmutex_close() and don't log ENOENT errors when removing pack*.now files

    ---
    þ 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 22:37:59 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/208f263b94e85ef91dc62cc3
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Just a little wording update on the fmutex file open log message

    ---
    þ 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 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
    https://gitlab.synchro.net/main/sbbs/-/commit/6d7f85680177ba6fef1946f2
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Don't use uninitialized variable: lockfname

    Where's the compiler warnings guys?

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • 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
    https://gitlab.synchro.net/main/sbbs/-/commit/277855436d2143b88bd9a501
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix crash when NO_EVENTS option is set for terminal server

    Don't deref that null pointer

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Nov 24 09:34:14 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/26886a8c7ba879f2e84d2650
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Remove ssh_errors variable.

    We're carefully counting the errors, but never looking at the count.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on macOS)@VERT to Git commit to main/sbbs/master on Sun Dec 1 19:57:53 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/89a884e9dca8116090df2d87
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Log the error description upon failure to send on socket

    ---
    þ 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 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
    https://gitlab.synchro.net/main/sbbs/-/commit/65ff68a0bb3386cd6d4c3fab
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Always unlock nodefile_mutex before calling errormsg()

    ---
    þ 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 Dec 22 14:37:37 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/74724d0b83150c1da1a88d74
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    When searching for unused nodes, skip nodes that have sockets in-use

    We already know such nodes are in-use, so no need to read their node.dab
    record and put extra contention on the node.dab file. Hoepfully this
    reduces or eliminates occurrences of the error:
    Node n status is WFC, but the node socket (s) and thread are still in use! Though I kind of expect occurrences of "NODE STATUS FIXUP" errors to likely return.

    We could in theory just track status of nodes in memory (for those
    nodes that this instance of sbbs controls), and not read the node.dab file at all when checking those nodes' status, but:
    - that would prevent out of process control of node status
    e.g. using the node utility to mark a node as offline
    - we'd have to protect instance of in-memory node status checking/changing
    with a mutex

    ---
    þ 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 Dec 22 21:32:50 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/a4f032b82ed2ddfbd23e963d
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix-up node status when node status is in-use, but no socket active

    This is a situation we can auto-correct and log a message when we do.

    ---
    þ 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 Dec 27 16:17:12 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/2d487931e40d312071024416
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix race conditions around node_socket and node.dab checks

    Check and clear/invalidate node_socket while holding the node.dab record
    lock.

    This should fix the error reported by kk4qnb (KK4QBN)

    ---
    þ 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 1 21:40:30 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/480598355c061c7a3507f24e
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Continue the "ERROR ... renaming" bad QWK packet fight

    Check and log the length of the packet now (since fexist() continues to report that the file exists when fexistcase() said it did not, even when
    experimenting with adding a call to access(filanem, F_OK).

    This likely affects no system but VERT.

    ---
    þ 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 2 00:34:57 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/e4e41db746c18c1bab6a0083
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Don't create (or write) to qnet.dab, so open with right access

    We're just converting/upgrading this file (to time.ini), so don't log an error (reading) if/when the file doesn't exist.

    ---
    þ 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 Jan 3 17:45:26 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/d06e2f27e7f3862cf049bc6a
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Add another flength() check before renaming bad QWK packets

    To hopefully address:
    !ERROR 2 (No such file or directory) renaming s:\sbbs\data\file/somenum.rep
    (-1 bytes) to s:\sbbs\data\file/somenum.rep.6777ed7c.bad

    Clearly flength() is returning -1 (file doesn't exist) at this point, so perhaps the call to fremove() just above updated a cached directory?

    ---
    þ 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 20 20:37:00 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/3bf096b52465792776df3787
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Make JS global alert() and deny() methods inline with jsexec versions

    alert() doesn't throw exception on null/undefined, just no arg

    deny() throws exception on no args or null/undefined arg

    ---
    þ 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 Feb 9 00:09:25 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/64352121b6727a90eee5e848
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Don't attempt to remove inbound QWK packet if doesn't exist (renamed?)

    Address error report by Greg Meckel (THEICECA)
    evnt QNET !ERROR 2 (No such file or directory) (EinError 2) in main.cpp line 3195 (event_thread) removing "C:\sbbs\data\VERT.qwk" access=0

    ... this could happen after a bad QWK packet was detected and renamed.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sun Mar 23 18:11:53 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/6a0971f6e79ec18c2ed611dc
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    filelength() can return -1 on error, deal

    Just caught during code review

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sun Mar 23 18:11:54 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/0ac5ed5728c53d93eb347c23
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Set node "interrupt" flag to try to gracefully disconnect user blocking event

    When a timed event is configured to run "exclusively", all nodes need to not be in in-use. As it was, after waiting 60 minutes for the online user(s) to
    notice they'd run out of time and disconnect, we'd just (rather ungracefully) close the sockets used by such node(s) connections. This results in same logged errors about trying to send to bad socket descriptors and provides no feedback to the user about why they were disconnected.

    Since we have the node interrupt flag (which hopefully, all scripts are checking via node_sync) - use that to try to more gracefully terminate the user's session/connection after 30 minutes of waiting for the user to disconnect.

    If after 60 minutes of waiting, the node is still in-use, we still do the socket disconnection method.

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