• src/sbbs3/sbbsecho.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu May 20 02:48:11 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/1031d0f6e01686c5a8dda583
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Replace tempnam() usage with the suggested mkstemp()

    Since we're cleaning up warnings... this will break the Windows build for now.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat May 29 19:32:50 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/0f262d8ab2a6bd870adbb428
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Don't allow downlinks (AreaFix add) of our "Unknown echoes" sub-board

    It was recently pointed out to me that a downlink could link to the '*' echo via Area Manager (AreaFix) request. This was not intentional.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat May 29 20:12:09 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/7f0390149d84d79a3b7bfb10
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Keep the same area file (areas.bbs) mode flags (permissions)

    When executing area manager requests that alter the area file, the temp area file created (with mkstemp) had mode 0600 (owner read/write only). The sysop very possibly had different permission flags they want to keep for their area file, so copy the mode flags from the original area file to the temp/new area file.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat May 29 20:16:25 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/9a8c8e6d414c2bfe503aa841
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Microsoft doesn't have fchmod(), so use chmod() on the closed file

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed Oct 6 18:38:09 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/ccc0e4019838ce4021c16b0e
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    When packing netmail (stored messages), don't discard non-zero zones

    As reported by Ragnarok (DOCKSUD) via DOVE-Net, when packing (packetizing) netmail messages, the source and destination zones from the netmail header were discarded (since they are defined as "optional" in FTS-1) and the zone values were replaced with the system's primary/default zone number. If the netmail message included an INTL kludge, the source and destination zone values would be parsed from that kludge line and this issue would not be noticed.

    So the fix is: Only if the netmail message header contains a source or destination zone number of 0, replace that zone with the system's primary/default zone number. As before, the INTL kludge zone information can override the header fields.

    Also, there's no reason to force the point numbers from the header to zero, since if they were not valid (e.g. "fill" in the original FTS-1 specification), they would be already zero. So use the source and destination point numbers, as is, from the netmail header too (with the FMPT and TOPT kludge override support left in-tact).

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Nov 11 18:43:46 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/5012efb1eb3d2d20289a01c1
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Log an error and exit immediately when a local linked-node is configured

    When a linked-node (in echocfg->Linked Nodes) contains one of the local system's FTN addresses, display/log an error and exit immediately, e.g.:
    Configuration ERROR: Linked node #20 is your own address: 1:103/705

    I'd perform this check in EchoCfg, but:
    1. echocfg doesn't read the BBS's configuration files (where the local FTN addresses are configured), and
    2. some sysops just directly edit their sbbsecho.ini file

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Fri Nov 12 14:09:35 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/e10b39d1aee183a16a3d9458
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Generate a MSGID kludge for netmail messages created by SBBSecho

    The "serialno" field is a bad/naive one (a time_t value), but this is really just an experiment for Ragnarok to see if this fixes issue #306 (with hotdoged receiving AreaFix responses/notices).

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Nov 18 17:38:10 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/27dfa4f6b9ebc59e1c4f097e
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Resolve gcc warning

    warning: format `%lx' expects argument of type `long unsigned int'

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Jan 13 17:04:35 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/55962a410034e3633fe3ff09
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Disable libarchive support for creating/appending bundles

    libarchive apparently cannot be used for in-place modification of (e.g. adding files to) existing archives, so if a bundle already exists, this code would over-write it with a new archive containing just the latest packet. Issue reported by acn (IMZADI) via DOVE-Net.

    I could and might create an update_archive() function which extracts and re-creates an archive with additional files, but since I don't have that yet, just disable this for now and always use an external archive utility to create or update bundles (so again, an "Archive" configuration is required in your sbbsecho.ini file, which you most likely already have).

    ---
    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:08 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/4ec5647c783a5f5af9d68611
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Resolve some Coverity-discovered issues

    with lseek() argument types, ftell() return type, etc.

    Likely none of these would be actual issues with files < 2GiB in size.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed Mar 2 10:07:45 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/f9a681ac286284fe57f7f5c2
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Fix possible negative offset to fseeko()

    CID 350353

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Fri Mar 11 00:08:19 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/c4b6a79d6f3a6b217cb87a1b
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Add subject.can (Subject filter file) support

    For Trikester (DOVEMOD/BSMNTQQ)

    ---
    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:38:44 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/e530a12cf6268ef9ab47f36c
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Fix CID 174355: Big parameter passed by value

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Apr 3 16:51:09 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/726223ee8d8a7dde927fc833
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    For sub-boards configured to export "ASCII Only", convert UTF-8 correctly

    This converts the body text as well as the to, from, and subject header
    fields (first to CP437, then to ASCII).

    This should address the issue raised in issue #386 with exporting UTF-8 sequences to some message networks.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Mon Apr 4 05:36:28 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/bf3da76e32fbc8cd7785fa1f
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Resolve GCC warnings

    Fixes isue #388 - no change in behavior

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Tracker1@VERT/TRN to Rob Swindell on Mon Apr 4 18:56:06 2022
    On 4/3/22 16:51, Rob Swindell wrote:
    https://gitlab.synchro.net/main/sbbs/-/commit/726223ee8d8a7dde927fc833 Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    For sub-boards configured to export "ASCII Only", convert UTF-8 correctly

    This converts the body text as well as the to, from, and subject header fields (first to CP437, then to ASCII).

    This should address the issue raised in issue #386 with exporting UTF-8 sequences to some message networks.

    Maybe adding a "CP437/DOS Only" option? Not sure what the underlying
    value is though.
    --
    Michael J. Ryan - tracker1@roughneckbbs.com
    ---
    Synchronet Roughneck BBS - roughneckbbs.com
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed Apr 13 18:35:02 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/414d34ec8bc2c13601ce476a
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Fix packet filename in "Gruned message" log entry on Win32

    e.g. "Grunged message (type 2) from 4:80/1 at offset 58 in packet: (null)"

    off_t is 64-bit, but long in 32-bit (on Win32), so needs a typecast here in lprintf() call (otherwise, the upper 4 bytes of the offset are interpreted
    as the string address for the corresponding '%s' argument, the filename).

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thu Apr 21 22:09:52 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/2962e4a5bf733e4b0c3869c4
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Fix segfault when printing Bad-echo name after failing to load cfg

    This is a weird one: sbbsecho ran right as I was saving msgs.cnf via
    SCFG and it seems like it loaded 0-byte msgs.cnf into memory and this
    segfault was a result of trying to print sub[INVALID_SUB]->code.

    The use of [f]nopen() with proper share perms should have prevented this (truncated msgs.cnf read) from happening, so there's something else afoot here.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell (in GitKraken)@VERT to Git commit to main/sbbs/master on Thu Feb 16 00:01:50 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/6fb20b919003c805a40c207c
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Resolve signed/unsigned compare warning with MSVC

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sat Feb 18 12:59:30 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/ccfad124e104b09bf825392e
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    More consistent 'exact' parameter values to findnodecfg() - e.g. false, not 0

    No functional change.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on ChromeOS)@VERT to Git commit to main/sbbs/master on Sat Feb 18 12:59:30 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/15b230af547ff5932c6073e5
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Rework NetMail routing logic to handle point destinations better

    With this commmit, the logic is now:

    If the NetMail destination is a point and there's no linked-node for it
    and the boss node for this point is not one of our AKAs
    then route to the boss node (no linked-node match needed)
    if the boss node matches a linked-node with a route configuration
    then route to that configured route destination (2-levels of routing
    and thus 2 "Routing NetMail" msgs will be logged in this scenario)

    If the NetMail destination is a point and there is a linked-node for it
    then the netmail will not be routed
    unless that linked node has a route configuration

    NetMail destined for non-points are treated the same as before this
    commit.

    No change in the routing of echomail for points.

    I think this change fixes issue #520 which can be traced back to commit 45ced2a3b for poindexter FORTRAN (REALITY), 2 years ago almost to the
    day, where that change added point->boss routing, but only if the boss
    had a matching linked-node configuration (for both echomail and
    netmail).

    This commit also re-thinks commit ffe69b43623d (for Alterego) which
    would not route a point netmail if any our local AKAs matched the
    destination address, igorining the point value. I think what was
    intended here (I coudln't locate the original enhancmenet request or
    issue), was to not route if a local AKA was the *boss* of the point.
    And with this commit, that's now how it now works.

    As before, "test results appreciated".

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From poindexter FORTRAN@VERT/REALITY to Rob Swindell (on ChromeOS) on Sat Feb 18 18:45:27 2023
    Re: src/sbbs3/sbbsecho.c
    By: Rob Swindell (on ChromeOS) to Git commit to main/sbbs/master on Sat Feb 18 2023 12:59 pm

    As before, "test results appreciated".

    Thanks for doing this. I'm relying on the nightlies, so I'll download them tomorrow and test.
    ---
    Synchronet .: realitycheckbbs.org :: scientia potentia est :.
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sat Apr 15 19:45:46 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/227e2f4986eb0b04c05cc6ea
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Stop classifying msgs for unknown areas as security violations

    When Secure EchoMail is enabled and a Bad Echo Area (*) is defined in the
    area file (areas.bbs), but the packet source address is *not* listed as a
    link to the Bad Echo Area (tag: *) in areas.bbs, any messages for unknown
    areas in such a packet would cause the pkt to be considered a bad packet
    with a security violation. Instead, the message should just be skipped.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Tue May 30 17:27:04 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/b185201161cd35dea8273d84
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Strip the "in-transit" attribute flag from imported packed-messages

    Log a warning message when either the "local" or "in-transit" flag has been stripped from ("Sanitized") imported packed-messages.

    Keyop reported a chksmb warning on a FidoNet message that contained the 'in-transit' attribute:
    <Keyop> Message flagged as 'In Transit' (?): 1
    <Keyop> fidonet_fidosoft Message Base has Errors!

    The message in question appears just to be a corrupted echomail msg coming
    from HPT:
    Sender '56:43 '
    To Tommi Koivula
    Subject test
    X-FTN-AREA FIDOSOFT.HUSKY
    X-FTN-TID hpt/os2-wc 1.9.0-cur 2021-03-14

    SBBSecho didn't use to convert/import the "in-transit" flag on imported
    netmail or echomail messages, ... until commit 446ab0ef7e09e5c61cf, which
    was needed to support the TickFix robot. So now, let's just sanitize the packed-message attributes a little sooner in the import process and log a warning when such sanitization has taken place.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Tue May 30 17:27:04 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/d6eadf369e7ed75248b1819c
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Truncate trailing whitespace from FidoNet message header fields

    It's unclear whether trailing whitespace is supposed to be significant or not (FidoNet specs don't say), but I don't see any reason why "John Doe" and
    "John Doe " should be considered unique senders or recipients. Remove any trailing whitespace from message subjects too.

    This change makes the trailing whitespace truncation in SMB hash functions unnecessary (at least for SBBSecho-imported messages), but most (all?) other message transports don't allow for this nonsense in the first place.

    ---
    Synchronet Vertrauen Home of Synchronet [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Mon Jun 26 11:03:45 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/e76fafaae4580941b343253b
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Fix type 2.2 packet header generation

    As reported by Deon on DOVE-Net: type 2.2 packet generation was not (since SBBSecho v3.0) setting the origin and destination point values correctly:
    was leaving the packet type 2.0 date values in these fields.

    Also, zero-out the reserved bytes in the type 2.2 packet header (don't leave the type 2.0 date values in there).

    Thanks for the report Deon!

    ---
    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 Jul 20 11:53:05 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/68df9812f31add3f94430d77
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Always delete the AREASxxxxxx temp file

    When there are no changes (areas added or removed) via an areafix message, the data/AREASxxxxxx temp file would be left behind. The file was only removed if areas were added or removed from the area file via areafix message.

    The orphaned data/AREASxxxxxxx files were reported via DOVE-Net by Gamgee (PALANTIR)
    If you have these stale files, you can safely delete them.

    ---
    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 Sep 17 23:27:45 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/f9b0dda5a1cac371a50f9f3f
    Modified Files:
    src/sbbs3/sbbsecho.c
    Log Message:
    Add more detail (e.g. line number) to various "error opening" log msgs

    Some of the errors could be pretty vague since they looked the same and
    we were depending on the path/file attempted to be opened in the log msg
    to clue us into what exactly was being attempted. But some of these file
    paths are sysop-configurable, and they can put unexpected things in there
    that make it difficult to determine exactly what file was trying to be
    opened and for what purpose. This should help a little bit.

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