• src/sbbs3/sbbsecho.c sbbs

    From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Thursday, June 12, 2025 16:04:00
    https://gitlab.synchro.net/main/sbbs/-/commit/87df26e25a30401dd0179b3b
    Modified Files:
    src/sbbs3/sbbsecho.c sbbsecho.h
    Log Message:
    Automatically enable "EchoList Only" areamgr mode when EchoList Keys are used

    Logs a warning when doing so since this might be confusing if a sysop specifically left this setting disabled ("Allow Users to Add Areas from Area List" set to "Yes", the default, in echocfg) with EchoLists configured with Required Keys.

    This should automatically solve the "non-intuitive" configuration issue reported via DOVE-net by poindexter FORTRAN (REALITY).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From poindexter FORTRAN@VERT/REALITY to Rob Swindell (on Windows 11) on Friday, June 13, 2025 17:15:00
    Re: src/sbbs3/sbbsecho.c sbbsecho.h
    By: Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Thu Jun 12 2025 04:04 pm

    This should automatically solve the "non-intuitive" configuration issue reported via DOVE-net by poindexter FORTRAN (REALITY).


    Thanks!

    ---
    þ Synchronet þ .: realitycheckbbs.org :: scientia potentia est :.
  • From Gamgee@VERT/PALANTIR to poindexter FORTRAN on Friday, June 13, 2025 21:20:00
    poindexter FORTRAN wrote to Rob Swindell (on Windows 11) <=-

    This should automatically solve the "non-intuitive" configuration issue reported via DOVE-net by poindexter FORTRAN (REALITY).

    Thanks!

    Yep, and you're welcome for my answer too, which explained it, but you couldn't be bothered to acknowledge... :-\



    ... Post may contain information unsuitable for overly sensitive persons.
    --- MultiMail/Linux v0.52
    þ Synchronet þ Palantir BBS * palantirbbs.ddns.net * Pensacola, FL
  • From Rob Swindell (on Debian L@VERT to Git commit to main/sbbs/m on Tuesday, July 15, 2025 22:40:00
    https://gitlab.synchro.net/main/sbbs/-/commit/6d037195018beb8a946bdebb
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    When netmail is forwarded to an external (netmai/email) address, notify user

    Include the appropriate text.dat string (like the mail server does) in
    short message sent to user.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian L@VERT to Git commit to main/sbbs/m on Monday, September 22, 2025 22:08:00
    https://gitlab.synchro.net/main/sbbs/-/commit/3bcc0d624061d1833c15ecbf
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    If the area file is configured to be blank, don't try to open/read

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian L@VERT to Git commit to main/sbbs/m on Sunday, September 28, 2025 23:53:00
    https://gitlab.synchro.net/main/sbbs/-/commit/c5addbdc2fd644cff1f3e654
    Modified Files:
    src/sbbs3/sbbsecho.c sbbsecho.h
    Log Message:
    Strip Ctrl-A codes from exported NetMail messages

    Ctrl-A codes aren't FidoNet-friendly. Though we've long stripped them from exported echomail messages, they weren't being stripped from exported netmail.

    Increment version to 3.30

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, October 22, 2025 09:34:00
    https://gitlab.synchro.net/main/sbbs/-/commit/faf0f4d29ca57bdcc0d130c5
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Fix handling of .msg files from IBBS doors.

    IBBS doors configured for Binkley style outbound will put the
    binkley directives in the subject, expecting them to pass through
    to the FLO file.

    SBBSEcho v2 and v3 since a3b2f9e2d have stripped the "delete file"
    indication ('^') and generated an error, refusing to send messages
    with #, ~, -, !, and @.

    This changes the behaviour to translate '-' to '^', '!' to '~', and
    strip '@', and keep the prefix that was in the .msg file.

    This fixes the issue where outbound files from IBBS games configured
    for Binkley style outbound would never get deleted.

    Note that in this implementation, the prefix overrides the configured truncation value and any "FLAGS KFL" kludge lines.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, October 22, 2025 09:38:00
    https://gitlab.synchro.net/main/sbbs/-/commit/377ac0563666ae3852f33cef
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Fix last commit to not include the prefix when validating the filename

    Derp.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/m on Wednesday, October 22, 2025 09:52:00
    https://gitlab.synchro.net/main/sbbs/-/commit/aa7a1b6505417cfcdcc8530b
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Previous "fix" actually broke more than it fixed.

    I wouldn't call me a real developer.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian L@VERT to Git commit to main/sbbs/m on Friday, October 31, 2025 19:44:00
    https://gitlab.synchro.net/main/sbbs/-/commit/3b527199322f25832617f964
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Fix potential buffer overflow in fmsgattr_str()

    Pass it 0xffff and it overflows its local (static) string buffer.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS@VERT to Git commit to main/sbbs/m on Friday, October 31, 2025 20:24:00
    https://gitlab.synchro.net/main/sbbs/-/commit/41e2191514f2a45fe862b6b4
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Replace import_netmail() magic constansts with (expanded) IMPORT_* enum values

    The only really important values (other than for debug-logging reasons) are
    0 (success) and IMPORT_CLOSED (was -2).

    One functional change included here: when fmsgtosmsg returned non-zero values, import_netmail() would log the value and still return 0 (success). This will result in more debug-level log msgs when fmsgtosmsg() returns an error value, but that's all.

    The logged import_netmail() error numbers *are* changed by this commit.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS@VERT to Git commit to main/sbbs/m on Friday, October 31, 2025 23:19:00
    https://gitlab.synchro.net/main/sbbs/-/commit/d5b59539e7e688f57ce3c43e
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Implement Deuce's suggested fix for importing netmail messages (.msg files)

    ... for robots.

    I thought he said he was importing packets, but in any case, we don't want to be deleting a .msg file destined for a configured robot.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Saturday, November 01, 2025 13:48:00
    https://gitlab.synchro.net/main/sbbs/-/commit/e7b93ae3f3f8dfb24d450f1c
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Clean up import_netmail()

    - No longer use special return value (IMPORT_CLOSED) to indicate the .msg
    file was closed. Now we just set the FILE* to NULL if it was closed and
    return IMPORT_SUCCESS.
    - No longer deletes the .msg file here; expect the caller (main()) to do that. - Update the message header here (e.g. adding "RECEIVED" attribute flag),
    when appropriate. Sometimes this was added here, sometimes in the main(),
    and in some cases it should not have been added (e.g. for ignored and
    filtered netmail messages) but it was anyway.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Saturday, November 01, 2025 14:11:00
    https://gitlab.synchro.net/main/sbbs/-/commit/5b21df6e401a7b3071c44f8b
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Fix typo in previous commit

    Weird that it compiled without warning. I didn't try linking it, so that's why it wasn't caught.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Sunday, November 09, 2025 14:47:00
    https://gitlab.synchro.net/main/sbbs/-/commit/f8a33572e1e6fe5ac9887856
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Remove direct printf() calls from import_netmail()

    ... direct all output through lprintf() instead.

    This insures that the helpful output may always be logged to the sbbsecho.log file and the sysop need not view the stdout to find out why a netmail message was ignored or discarded or otherwise problematic.

    It appeared there may have been redundant output to stdout before anyway and trying to keep both the stdout and the log output both helpful and beautified was getting tedius.

    Most sysops don't look at the console/stdout of sbbsecho when it runs and we normally expect a sysop to be able to use the sbbsecho.log file to debug any issues (possibly after increasing their log level to DEBUG).

    Include the netmail message attributes value (both in hex and verbose form)
    in the information logged about an incoming netmail message.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Wednesday, December 10, 2025 16:04:00
    https://gitlab.synchro.net/main/sbbs/-/commit/fe2d6930583d7961596c3e1c
    Modified Files:
    src/sbbs3/sbbsecho.c sbbsecho.h
    Log Message:
    Don't write empty PATH: control line to exported echomail message

    Points don't normally have any addresses to add to the PATH: line, so
    (as was pointed out in the FIDOTEST echo), an empty PATH: line would be included in exported echomail messages from points.

    Although this isn't a violation of FTS-4, it is a violation of its proposed successor: FSC-74:

    "Blank" path lines shall not be transmitted

    And this caused a duplicate PATH: line to be added by FMail when processing such messages.

    This change also eliminates possibility of adding "\r\x01PATH:" not
    followed by space (ASCII 32) character, which was also a violation of FSC-74.

    I resisted the urge to clean-up this crufty bit of code here and made this commit the minimal necessary change.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Wednesday, December 10, 2025 17:12:00
    https://gitlab.synchro.net/main/sbbs/-/commit/e69955e0e7e951634ad90f48
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Replace integer constants 0 and 1 with values of appropriate type (e.g. bool)

    Code clean-up, no functional change.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian L@VERT to Git commit to main/sbbs/m on Wednesday, December 24, 2025 19:50:00
    https://gitlab.synchro.net/main/sbbs/-/commit/241bd37f9feb34506c3b295d
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Better logging around area list file open failures

    This also fixes the empty "Title" key/valiue lines in the echostats.ini file.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Thursday, December 25, 2025 14:00:00
    https://gitlab.synchro.net/main/sbbs/-/commit/ffcb56c0e13b5a147c109557
    Modified Files:
    src/sbbs3/sbbsecho.c sbbsecho.h
    Log Message:
    REQ files aren't supposed to be listed in flow files

    Per FTS-5005:

    4.1 File request files are named using the same method as flow
    files, with an extension of req. The format of request files
    is documented in FTS-0006. File requests have no flavour on
    their own. They DO NOT initiate a poll to the remote system,
    and must be accompanied by a [reduced] flow file.

    I'm not sure why "reduced" is in brackets here (implying optional?) but apparently accompanying a .req file with a full/normal FLO entry causes duplicate requests/replies as reported recently by Dan (Gamgee @ PALANTIR).

    Incremented version to 3.34.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Denn@VERT/OUTWEST to Gamgee on Saturday, December 27, 2025 12:02:00
    Re: Re: src/sbbs3/sbbsecho.c
    By: Gamgee to MRO on Tue Feb 04 2025 06:41 pm

    MRO wrote to k9zw <=-
    Alas my system merged this in another echo... puzzling how at the
    moment... appreciate the reply!

    put your data files in their own sub directory for each msg network
    you have.

    That isn't necessary and certainly is not the default way.

    But it does keep the directories a little tidier.

    ... Remember how simple life was when there were only two sexes?

    ---
    þ Synchronet þ the Outwest BBS - outwest.synchro.net - Home of BBSBASE 6.0
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Monday, January 19, 2026 15:07:00
    https://gitlab.synchro.net/main/sbbs/-/commit/eebfd74ddc924e1e98c2b159
    Modified Files:
    src/sbbs3/sbbsecho.c sbbsecho.h
    Log Message:
    Unpack bundles starting from 6 weekdays ago, not (always) Sunday

    There was a conversation in the SYNCHRONET echo/conference about message
    import ordering and it occurred to me that SBBSecho shouldn't always start the bundle search/unpack with Sunday (*.SU?) as we might import bundles out of order if multiple bundles spanning multiple days came in at once (or were collected over time without running SBBSecho import). Of course, the whole
    "day of week" naming scheme doesn't work very well if the link is in a different time zone, but this is no less accurate than just always starting the search from Sunday (*.SU*) and will usually be more "chronologically" accurate.

    Using UTC to determine the current "day of week" for creating and consuming bundles would be more deterministic, but alas, it's not how things have been done (anyone have a document/reference for the origination of the defacto bundle naming scheme?).

    FSC-23 refers to this scheme as "Day-of-week bullshit", and I have to agree. UTC Day of year would've been a much better chronological and sequential
    naming scheme, but I think some systems were sensistive to the size of bundles and packets and needed them split-up and the DOS 8.3 filename limitation had
    to be designed around.

    One solution is to just always transfer packets and never bundles since packets are usually unambiguously and sequentially named (SBBSecho supports this just fine).

    Increment version to 3.35

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows@VERT to Git commit to main/sbbs/m on Saturday, January 31, 2026 20:59:00
    https://gitlab.synchro.net/main/sbbs/-/commit/96b077d3cc75e4bdc13b6bf4
    Modified Files:
    src/sbbs3/sbbsecho.c sbbsecho.h
    Log Message:
    Treat the *last* (not first) tear line as the divider between body and tail

    I was reading some echomail and noticed a message that wasn't word-wrapped.
    I thought that was odd, so I looked at the (SMB) header of the message and
    it indicated that the *entire* message was the *tail* of the message (it had no body text):
    data_field[0] TEXT_TAIL, offset 0, length 641

    Looking at the message itself made it obvious to me what had happened: the original message started with a sort of quote indicator, like this (but with no indentation):
    --- Original Message ---

    SBBSecho saw that leading "--- " as a tear line and imported the remainder of the message text as the message tail. Message tails are not word-wrapped when displayed in SBBS, which was my initial clue that something was amiss.

    Now when adding the parsing of the "last" tear line to fmsgtosmsg(), I noticed that there was some handling of the possibility of linefeeds in the imported message text. That was going to complicate my "next" tear line parsing (I'd have to search for all permuations with both CR and CRLF). But that got me wondering: why is getfmsg() returning a buffer with linefeeds in it?
    (they're supposed to be ignored, per FidoNet's oldest standard, FTS-1)

    So when looking at getfmsg(), I decided I could both add the linefeed ignore/ strip there and improve it as well: getfmsg() no longer reads and seeks and reads again. The logic is now simplier and there's less file I/O (it's a stream so likely it was just dealing with memory anyway), but I thought it best to mostly rewrite getfmsg(). Now everywhere getfmsg() is used in SBBSecho doesn't need to be concerned with the possibility of there being LFs in the message text: there cannot be.

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