1. 13 Mar, 2022 1 commit
  2. 03 Mar, 2022 1 commit
  3. 02 Mar, 2022 2 commits
  4. 11 Feb, 2022 1 commit
  5. 18 Nov, 2021 1 commit
    • Rob Swindell's avatar
      Add text.dat lines for "All" and the List key ('L'), used in quoting · 064b602f
      Rob Swindell authored
      The internal line editor's quoting feature add some hard-coded strings ("Done" and "All") and the (L)ist key was hard-coded. Use the text.dat string (new and pre-existing) for these now.
      Also, use the new sbbs_t *_key() methods for referencing the configured key bindings (via text.dat) for these common key-stroke commands.
      Convert the text.dat strings for keys (e.g. YNQP) to uppercase always as well.
  6. 18 Aug, 2021 1 commit
    • Rob Swindell's avatar
      When writing/reading quotes.txt, ignore first 2 lines if WWIV-type · 4d018183
      Rob Swindell authored
      WWIV writes 2 lines of metadata to the beginning of its quotes.txt file created for external message editors. Its not clear yet what these lines should contain, but the first line apparently should contain a '#' character since BREdit checks for this character before deciding to throw-away/ignore these lines (don't use them for quoted text). Thanks mlong for this tip!
      So if the external editor is set to "WWIV CHAIN.TXT" in SCFG (even if the door doesn't need/use it), then the quotes.txt file created by Synchronet will contain the extra 2 lines. We're just writing a # to the first line and the second line is blank.
      This fixes reported issue #188.
  7. 06 Jun, 2021 1 commit
  8. 17 May, 2021 1 commit
  9. 16 May, 2021 1 commit
  10. 26 Apr, 2021 1 commit
  11. 04 Apr, 2021 1 commit
    • Rob Swindell's avatar
      A poll() failure with EINTR does not mean a socket is closed. · fcf58640
      Rob Swindell authored
      This won't impact Synchronet as it has a separate signal handling
      thread, but we still need to behave properly for processes that
      don't.  I'm also saying that ENOMEM does not indicate a disconnection,
      though it may be better to pretend it was disconnected...
  12. 01 Apr, 2021 1 commit
  13. 13 Mar, 2021 1 commit
    • Rob Swindell's avatar
      Fix error removing INPUT.MSG introduced in Commit 0c441424 · 5b044471
      Rob Swindell authored
      remove() is expected to fail in this scenario sometimes depending
      on how writemsg() is used - in the error case, the user was trying
      to edit his .plan file with the ;plan command:
      term Node 10 <Deuce> !ERROR 11 (Resource temporarily unavailable) in writemsg.cpp line 1232 (editfile) removing "/sbbs/node10/temp/INPUT.MSG" access=0
      Thanks for the bug report!
  14. 06 Mar, 2021 1 commit
    • Rob Swindell's avatar
      Don't allow subject to be changed when forwarding file attachments · 3e999815
      Rob Swindell authored
      Since the filename is in the subject, we can't allow the user to change the subject (duh). Also, don't bother with the "Fwd:" prefix thing as that could potentially cause problems in other places where the filename (only) is assumed to be in the subject.
      Also, make sure to create the destination directory when moving file attachments. These changes fix issue #230 reported by Keyop.
  15. 04 Mar, 2021 1 commit
    • Rob Swindell's avatar
      Ignore filenames in subject that aren't valid filenames, e.g. "Fwd:" · e779b88d
      Rob Swindell authored
      There were 2 bug identified by issue #230:
      - the "Fwd:" prefix being added to the message subject was being treated as a filename. I first thought to just remove this subject tag, but then thought it best to just ignore obviously invalid filenames in the subject in the first place.
      - when forwarding files to a netmail address, the 'to' extension (user number) is 0, so the file will be in the data/file/####.out directory of the sender instead.
      We have 4 places (at least) where the message subjects are parsed and only one of those places currently supports quoted filenames (e.g. with spaces in them) and some of the others (e.g. QWK) don't support multiple filenames at all. That should be fixed.
  16. 16 Feb, 2021 2 commits
  17. 15 Feb, 2021 2 commits
  18. 27 Jan, 2021 1 commit
  19. 20 Dec, 2020 1 commit
  20. 12 Dec, 2020 1 commit
  21. 11 Dec, 2020 1 commit
    • Rob Swindell's avatar
      Support forwarding of single-part HTML emails, add "Fwd:" subject prefix · d79e9514
      Rob Swindell authored
      When forwarding a single-part MIME-encoded HTML email, the preamble (original message header info) and any user comments, need to be HTML-encoded.
      Add the commonly-used "Fwd: " prefix to the default message subject, when forwarding.
      This required that smb_getplaintext() no longer always-NULLify the message's text_subtype (e.g. "html"). For single-part messages, this element was getting freed and NULLed.
      Add/use a new SMBLIB convenience function to add a string header field, but only if non-NULL: smb_hfield_string()
  22. 10 Dec, 2020 2 commits
    • Rob Swindell's avatar
      Allow subject to be changed when forwarding mail, support fwd-to QWKnet · c8e6ae68
      Rob Swindell authored
      The new messages subject may be passed into forwardmail(). If it isn't, it'll be prompted for (defaulting to the original message subject).
      Also, fix forwarding to QWKnet (look-up full-route/to-user-number).
    • Rob Swindell's avatar
      Overhauled message forwarding, allow comments · 7b5c33e2
      Rob Swindell authored
      No longer derive the new message header from the original - too many problems. Simplified the forwarding support smblib (multiple SENDER* and RECIPIENT* header fields no longer expected/supported). Technically, the FORWARDED header field really serves no important purpose now.
      A comment can be passed into forwardmail() or (if NULL), will be prompted for. There is an issue where the added comment can be obscured by the receiving mail program if the original message is a multi-part MIME message. Not sure the best solution for that. Still a WIP in that regard.
  23. 09 Dec, 2020 2 commits
  24. 25 Nov, 2020 1 commit
  25. 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.
  26. 22 Oct, 2020 1 commit
  27. 09 Sep, 2020 1 commit
    • Rob Swindell's avatar
      Replace fcopy with CopyFile (Win32 API function) on Windows. · 047ca2f8
      Rob Swindell authored
      Thanks to Wilfred van Velzen (2:280/464) for the tip. CopyFile() reduced
      the 1GB file copy test (from and to CIFS/SMB) duration from 37 seconds
      to 5 seconds with very low CPU utilization!
      Created a wrapper for non-Windows OSes in xpdev/dirwrap. This is where
      non-Windows-OS-specific optimized versions may appear in the future,
      but for now it's just the previous fcopy() implementation (using a 256KB
      stack buffer). sbbs doesn't actually copy files very often, so this
      isn't as big of a deal as one might assume. The JavaScript global
      method: file_copy() also benefits from these improvements, so any
      scripts that use it (e.g. tickit.js) will also benefit. binkit.js has
      its own file-copy logic (using a 2MB buffer), so no change there.
  28. 07 Sep, 2020 1 commit
    • Rob Swindell's avatar
      Fix observed race-condition resulting in the HOSTNAME @-code being blank. · dee21ed6
      Rob Swindell authored
      Eliminate the hack in each server where it will over-write startup host_name
      (with the configured Internet email address), if it's blank. This hack was
      subject to a race condition where the parent app (e.g. sbbsctrl.exe) would
      clear or re-initialize the host_name after the sever threads had initialized.
      Instead, just use a function which will return either the startup->host_name
      or (fallback to) scfg.inet_addr.
  29. 16 Aug, 2020 1 commit
  30. 24 May, 2020 1 commit
  31. 13 May, 2020 1 commit
  32. 16 Apr, 2020 1 commit
    • rswindell's avatar
      The auto-message module is now configurable (in SCFG->System->Loadable Modules) · d8e4d105
      rswindell authored
      defaults to "automsg" (e.g. automsg.js). So now shells that use the Baja
      auto_message function (or call JS bbs.auto_msg()) will execute the module
      configured here automatically.
      Deleted the old-crufty sbbs_t::automsg() implementation. We have the work-alike
      auto.js, but really it's time to totally overhaul that sucker into something
      modernish (e.g. allow *editing* the message you wrote <gasp>).
  33. 24 Aug, 2019 1 commit
  34. 04 Aug, 2019 1 commit
  35. 03 Aug, 2019 1 commit