• src/sbbs3/main.cpp

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Feb 21 19: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 Mon Feb 22 00: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 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@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 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