1. 13 Mar, 2022 1 commit
  2. 11 Mar, 2022 1 commit
  3. 10 Mar, 2022 1 commit
  4. 02 Mar, 2022 2 commits
  5. 25 Feb, 2022 1 commit
    • Rob Swindell's avatar
      Add/use new text.dat strings for received Fido and Internet mail · 99312621
      Rob Swindell authored
      - InternetMailReceived
      - InternetMailForwarded
      - FidoNetMailReceived
      - WithAttachment
      - FidoEchoMailReceived
      For The Millionaire, closing issue #254
      The first string (suppressed with %.0s) is an optional date/time stamp.
      This also deprecates (removes support for) the [mail] NewMailNotice and ForwardNotice keys from sbbs.ini.
  6. 14 Jan, 2022 1 commit
    • Rob Swindell's avatar
      Disable libarchive support for creating/appending bundles · 55962a41
      Rob Swindell authored
      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).
  7. 04 Jan, 2022 1 commit
    • Rob Swindell's avatar
      Add overwrite argument to extract_file_from_archive and Archive.extract · 16cfe2d3
      Rob Swindell authored
      Previously, extracted files were always overwritten (so that is the "default" for Archive.extract() and mostly what I'm specifying in the C/C++ code by default now), but this caused a problem with DIZ extraction: archives that contained multiple DIZ files (e.g in sub-directories), the last to be extracted would be used. A maximum of 3 DIZs can be extracted, so it would usually be the 3rd DIZ in the archive if there were that many.
      Another solution would be to *only* extract DIZ files from the root of the archive and I should look into that as well, but the always-overwrite behavior also seemed to be wrong, so that *also* needed fixing (allow caller to control behavior).
      This fixes issue #317, at least for archives where the root DIZ exists *before* any nested DIZ files. I'll have to try and create a purposeful archive to test the other conditions (where the root DIZ would appear *after* the nested DIZ(s)).
  8. 19 Nov, 2021 1 commit
  9. 16 Nov, 2021 1 commit
  10. 12 Nov, 2021 2 commits
    • Rob Swindell's avatar
      Generate a MSGID kludge for netmail messages created by SBBSecho · e10b39d1
      Rob Swindell authored
      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).
    • Rob Swindell's avatar
      Log an error and exit immediately when a local linked-node is configured · 5012efb1
      Rob Swindell authored
      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
  11. 07 Oct, 2021 1 commit
    • Rob Swindell's avatar
      When packing netmail (stored messages), don't discard non-zero zones · ccc0e401
      Rob Swindell authored
      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).
  12. 30 May, 2021 3 commits
  13. 20 May, 2021 1 commit
  14. 10 May, 2021 1 commit
  15. 28 Apr, 2021 1 commit
    • Rob Swindell's avatar
      Add a separate "area tag" string configured per sub-board · fa0a154e
      Rob Swindell authored
      According to  Lupine Furmen (FURFOL):
      It says in the help that the field is used for both the Newsgroup name AND the
      Fido Echo-tag.
      These really should be 2 different fields.
      Now, the echo/area tag is usually configured in the area file (areas.bbs) and so does not need to match *any* string configured in SCFG. But since an area file *can* be generated from SCFG (Export Areas option) and its possible to use SBBSecho withOUT an area file at all, then it's possible someone would like to have their FidoNet-style area tags configured different from any other strings related to a sub-board (e.g. newsgroup name) - why? I'm not clear, but there it is: another string that  a sysop can set (or not).
      Since I'd recently added an area tag field per directory for use by hatchit.js, this does create some logical symmetry. And there were enough free bytes per-sub in the msgs.cnf, so why not.
  16. 04 Apr, 2021 2 commits
  17. 19 Mar, 2021 1 commit
  18. 22 Feb, 2021 4 commits
  19. 19 Feb, 2021 1 commit
    • Rob Swindell's avatar
      Automatically route in-transit mail to points to boss nodes · 45ced2a3
      Rob Swindell authored
      If the destination point node is not a linked node (does not exist in sbbsecho.ini), but the boss node is linked, automatically route to the boss node. The log entries look like this when this happens:
      "Routing packet (%s) to boss-node %s"
      "Routing NetMail (%s) to boss-node %s"
      For poindexter FORTRAN (REALITY) - test results appreciated.
      Incremented SBBSecho version to 3.13.
  20. 15 Feb, 2021 3 commits
    • Rob Swindell's avatar
      Address Coverity-reported issues · 68990cd8
      Rob Swindell authored
      Hopefully not introducing any bugs in the process.
    • Rob Swindell's avatar
      Address Coverity-reported issues · 0c441424
      Rob Swindell authored
      Hopefully not introducing any bugs in the process.
    • Rob Swindell's avatar
      When replying to PING netmails, use the destination addr as the origaddr · 53d31031
      Rob Swindell authored
      As tested and reported in FIDONEWS by Michiel van der Vlist, 2:280/5555, SBBSecho would use the "best match" FidoNet AKA for the originating address when replying to PING netmail messages and not necessarily the original destination address of the ping request. For systems that have multiple addresses (AKAs) that could be considered appropriate originating addresses for the requesting node address (e.g. multiple addresses in the same zone or zone/net), this could cause a confusion for the PING requester.
      The create_netmail() function now accepts an optional source (orig) address parameter and the PING response logic passes the netmail's destination address for the reply message's originating (source) address.
      I noticed that AreaMgr responses also follow the same logic as PING responses (just use the best-fit AKA, not necessarily the same address as the original request's destination address) - but I did not choose to address that "issue" at this time.
  21. 14 Feb, 2021 1 commit
  22. 18 Jan, 2021 1 commit
    • Rob Swindell's avatar
      Safe string handling with config-load error messages · 99dbeb14
      Rob Swindell authored
      We were just trusting that the error strings would be shorter than 256 (usually), but since we're including paths and strerror() results, we really have no control over the length of the error strings. So enforce some healthy boundaries. This could explain the crashes that Divarin of Mutiny is seeing with SCFG on WinXP or maybe it was the truncsp(strerror()) stuff that was just removed as well. We'll see...
  23. 25 Dec, 2020 2 commits
    • Rob Swindell's avatar
      Use QWKnet ID of originating system when imported via QWKnet · c590c437
      Rob Swindell authored
      Update to previous commit.
    • Rob Swindell's avatar
      Add/use new FTN "BBSID" control paragraph (kludge line) · f257f2ff
      Rob Swindell authored
      Advertise the system's QWK-ID (a.k.a. BBS ID) in exported echomail messages. This will allow correlation of avatars that were imported via SYNCDATA carried via QWKnet (e.g. DOVE-Net) with messages imported from those same BBSes via FTN.
      The alternative was to have SYNCDATA Avatar messages include all the AKAs of each BBS (in the body text), but that was looking like a rather complicated solution. This approach (the BBSID kludge) seems a much simpler solution.
      I still need to implement the JS side of this solution however (for avatar lookups using the FTN BBSID), but this was the first important step.
  24. 13 Dec, 2020 1 commit
  25. 10 Dec, 2020 1 commit
    • Rob Swindell's avatar
      Don't repeate mail "comment" headers in exported netmail msgs · a1e12784
      Rob Swindell authored
      smb_getmsgtxt() returns any "comment" headers as part of the message body text, and has since 2003.
      When I added mail->netmail (stored message) export support to SBBSecho v3, I duplicated this logic, so comment headers were added *twice* to exported netmail messages. Oops. I didn't notice until today when playing with forwarding-to-netmail (FTN).
      Also noticed and fixed: any comment headers in posted messages (unlikely/uncommon) would not be exported to EchoMail messages. Use the correct smb_getmsgtxt() mode flags ("NO_TAILS" instead of "BODY_ONLY") - I know, not great names.
  26. 23 Nov, 2020 1 commit
    • Rob Swindell's avatar
      The great C function dependency refactor of 2020 · c6808b3f
      Rob Swindell authored
      The goal of this commit is that: only modules that either are part-of sbbs.dll/libsbbs.so or need to link with/use that library, will #include "sbbs.h" and thus be dependent on its subsequent includes (e.g. cryptlib.h, jsapi.h). This should mean extdeps.mk can be trimmed way down.
      I also removed CVS keyword/comments and trimmed up the boilerplate copyright notice in modified and added source/header files in this commit.
      There is no functional change in behavior in this comment.
  27. 22 Nov, 2020 1 commit
    • Rob Swindell's avatar
      Fix netmail forwarding (new feature) · cbda86ec
      Rob Swindell authored
      The recipient net-addr/type was always being over-ridden a bit further down in the code. Don't do that.
      Also, log a message (sbbsecho.log) indicating that a message was forwarded ("Forwarding message ...").
      For geneb.
  28. 21 Nov, 2020 2 commits