1. 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.
      45ced2a3
  2. 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.
      68990cd8
    • Rob Swindell's avatar
      Address Coverity-reported issues · 0c441424
      Rob Swindell authored
      Hopefully not introducing any bugs in the process.
      0c441424
    • 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.
      53d31031
  3. 14 Feb, 2021 1 commit
  4. 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...
      99dbeb14
  5. 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.
      c590c437
    • 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.
      f257f2ff
  6. 13 Dec, 2020 1 commit
  7. 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.
      a1e12784
  8. 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.
      c6808b3f
  9. 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.
      cbda86ec
  10. 21 Nov, 2020 3 commits
  11. 06 Nov, 2020 1 commit
    • Rob Swindell's avatar
      Replace ctype.h function calls with new MSVC-safe XPDEV macros · 8a7b7308
      Rob Swindell authored
      I'm fed-up with MSVC assertions in ctype functions (e.g. isdigit, isprint, isspace, etc.) when called with out-of-range (e.g. negative) values.
      
      This problem only affects MSVC debug builds, but if you run them (like I do), these things are like little time bombs that can drive you crazy (knocking your board out of service).
      
      The new macros names are bit more descriptive as well.
      8a7b7308
  12. 22 Oct, 2020 1 commit
  13. 26 Sep, 2020 1 commit
    • Rob Swindell's avatar
      Don't attempt to parse origin addr from origin lines in NetMail msgs · da486a78
      Rob Swindell authored
      Apparently, some versions or configurations of Mystic BBS will include an
      Origin Line in FTN NetMail messages. That would've been okay for SBBSecho,
      except these origin lines do not contain an FTN address (in parenthesis).
      
      So, firstly: when importing NetMail messages (subnum=INVALID_SUB), don't
      attempt to parse any Origin Lines. Secondly, fix up the Origin Line parse
      code a bit better detect the case when no FTN address is actually present.
      da486a78
  14. 25 Sep, 2020 2 commits
  15. 17 Aug, 2020 1 commit
  16. 16 Aug, 2020 2 commits
    • Rob Swindell's avatar
      Fix issue with jsexec being used for CGI scripts · 54431b31
      Rob Swindell authored
      If jsexec is used for a CGI script and the SBBSCTRL env var was not
      set, a warning would be printed (to stderr), even if the -c option
      was used to specify the path to the ctrl dir.
      
      get_ctrl_dir() now accepts a boolean argument to specify whether to
      print a warning when the default value ("/sbbs/ctrl") is used.
      Pass FALSE for jsexec, TRUE for other callers (currently).
      54431b31
    • Rob Swindell's avatar
      Commit with CVS Keywords expanded. · dfa1a0a4
      Rob Swindell authored
      dfa1a0a4
  17. 19 Jul, 2020 2 commits
  18. 16 Jul, 2020 1 commit
  19. 20 May, 2020 1 commit
    • rswindell's avatar
      Fix issue reported by Alterego: · 47411e10
      rswindell authored
      Don't auto-add sub-boards to the area file if the echotag is already in the area file (but marked as pass-through or associated with a different sub-board already). This configuration could result in the same sub-board(s) being auto-added to the area file for every invocation of sbbsecho.
      47411e10
  20. 02 May, 2020 1 commit
  21. 01 May, 2020 1 commit
  22. 30 Apr, 2020 2 commits
    • rswindell's avatar
      Remove unnecessary typecasts. · 07545606
      rswindell authored
      07545606
    • rswindell's avatar
      When importing messages into a local msgbase that contained an origin line · 4364fd73
      rswindell authored
      but no tear line, I noticed that the initial space before "* Origin" was absent
      from the tail. It turns out the missing space character was being appended to
      the end of the body text. While investigating why that was, I was dismayed at
      the cruftiness of code but totally suprised that there was 80-column word-wrap
      logic in here (!). Removed that word-wrap logic <blush> and fixed the origin
      thing. More clean-up coming up next.
      4364fd73
  23. 28 Apr, 2020 2 commits
  24. 27 Apr, 2020 4 commits
  25. 26 Apr, 2020 2 commits
    • rswindell's avatar
      Add support for "robots": Right now, robots are for receiving netmail messages · 8df3c6b7
      rswindell authored
      only (e.g. areamgr requests or whatever). In the future, they could be extended
      to echomail areas too, if that's desirable.
      
      For now, it's really intended for ticket-FileFix.
      
      Anyway, NetMail can be received for the robot-name@<your-ftn-address> and
      the mail message will be stored in the Synchronet "mail" base. The recipient
      extension will be absent since there is no valid user account associated with
      the robot. Robot names supercede other user names/aliases for received netmail.
      If one or more netmail messages were imported for a robot and that robot has
      a semaphore path/filename specified (e.g. to trigger a timed event), then that
      semaphore will be "touched" before SBBSecho exits.
      One weird anomly with this is if attached files are received for robots, those
      files will be stored in data/user/0000.in. The altnerative is to just ignore
      file attachments sent to robots.
      
      The echofg supprot for robots is still yet to be added. In the mean time, you
      can add robots to your sbbsecho.ini like so:
      [robot:<name>]
      semfile=/path/to/semfile
      
      Incremented version to 3.11.
      8df3c6b7
    • rswindell's avatar
      Fix bug reported by Mark Lewis (Rampage@SESTAR), when packing NetMail messages · 41ed7a56
      rswindell authored
      (from stored messages in .msg files into packets), the origin net/node within
      the  *packed message* header would be set to the local system's address
      net/node (for the destination zone), always. This is the appropriate action
      when packing EchoMail, but not for NetMail.
      
      Now, there are lot of other header fields in the packed message that contain
      the source/origin address (e.g. @FMPT, @INTL kludges) and those would reflect
      the original origin address still. And these fields take precedence over the
      orign net/node fields of the packed message header. So I'm not sure this bug
      would actually cause any problems anywhere, but it was a bug all the same.
      41ed7a56
  26. 22 Apr, 2020 1 commit