Skip to content
Snippets Groups Projects
  1. Nov 24, 2020
    • Rob Swindell's avatar
      Stop pretending to configure the JavaScript Context stack · a9a1b9e5
      Rob Swindell authored
      The argument to JS_NewContext that we were allowing to be configured was not the contest stack size, but rather:
      "The size, in bytes, of each "stack chunk". This is a memory management tuning parameter which most users should not adjust. 8192 is a good default value." - per Mozilla.
      
      So we're just going to use the suggested default, hard-coded.
      a9a1b9e5
  2. Nov 21, 2020
    • Rob Swindell's avatar
      Better FTN netmail gating support · efa8c523
      Rob Swindell authored
      Revert the previous change to the mailsrvr (don't try to parse the MS Outlook singled-quoted names in to/from header fields).
      
      Instead, use the new matchusername() to perform a liberal name match against the name portion of the destination email address and if it matches, go ahead and use the quoted-name field. Otherwise, use the name portion of the destination address as the TO field for the FTN netmail message.
      efa8c523
    • Rob Swindell's avatar
      The Received/trace header should contain the forward-path for "for" · ba920fb7
      Rob Swindell authored
      instead of the potentially-alias'd delivery address. The angle-brackets
      (now included) appear to be standards-compliant.
      ba920fb7
  3. Nov 20, 2020
  4. Nov 19, 2020
  5. Nov 07, 2020
    • Rob Swindell's avatar
      Fix sendmail bug introduced in 48fada56. · 77d0a2e1
      Rob Swindell authored
      The "MAIL FROM" command argument must always be enclosed in angle-brackets. Some mail servers (e.g. gmail, aol) would reject messages not delivered in this manner, e.g.:
      mx-aol.mail.gm0.yahoodns.net replied with:
      "501 Syntax error in parameters or arguments tnmpmscs"
      instead of the expected reply:
      "250 ..."
      gmail-smtp-in.l.google.com replied with:
      "555 5.5.2 Syntax error. o6si11103060plk.317 - gsmtp"
      instead of the expected reply:
      "250 ..."
      77d0a2e1
  6. Nov 06, 2020
    • Rob Swindell's avatar
      Replace ctype.h function calls with new MSVC-safe XPDEV macros · ec20d959
      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.
      ec20d959
  7. Nov 05, 2020
    • Rob Swindell's avatar
      Detect and reject forged "from" fields in submitted msg headers · 2aafd333
      Rob Swindell authored
      For non-authenticated SMTP clients, if the "From:" header field contains a "name" which appears to be an email address (i.e. it has an '@' in it), and that address does not match the *actual* address in the "From:" field, reject the mail with an error message about the forged/mismatched address.
      2aafd333
  8. Oct 26, 2020
    • Rob Swindell's avatar
    • Rob Swindell's avatar
      Use a mutex to serial message saving among multiple clients/threads · 3f3f6c26
      Rob Swindell authored
      This work-around shouldn't be necessary, but at least on my Linux/Samba setup, when GitLab sends out notification emails to subscribers and creates 4+ simultaneous SMTP connections and sends email messages, sometimes (often) it ends up with a lock-timeout on the mail base. The file locking should handle the contention fine, but somehow I end up in scenarios where savemsg() takes 30 seconds to complete (the configured SMB lock-timeout is 30 seconds, likely not a coincidence) - and this causes other clients to timeout trying to lock the base. Just use a sharead-mutex here instead as a work-around. The wait time is indefinite, might want to consider using a timed-wait instead.
      3f3f6c26
  9. Oct 25, 2020
  10. Oct 24, 2020
    • Rob Swindell's avatar
      More log message overhaul. POP3 CAPA cmd support in transaction state. · b4582ecf
      Rob Swindell authored
      Log the IP address first in most log messages.
      Condense white-space in log messages to a single space.
      Log the server IP address of incoming connections.
      (more) Intelligent email address enclosure in angle-brackets.
      Better duplicate address comparison (just for log message).
      Fix wrong order of lprintf arguments in !UNKNOWN USER log message (new bug).
      
      b4582ecf
  11. Oct 23, 2020
  12. Oct 22, 2020
  13. Oct 21, 2020
  14. Sep 13, 2020
  15. Sep 07, 2020
    • 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.
      dee21ed6
  16. Aug 30, 2020
    • Rob Swindell's avatar
      Only over-ride (lower the severity) of the cryptlib log msg for a single case · 20393557
      Rob Swindell authored
      Add another "get cryptlib error string" (at least, that's what I assume GCES
      stands for) that allows the log level to be specified, rather than derived
      from Cryptlib thinks the log level should be. Do this rather than adding one
      (lowering the severity) of every cryptlib log message as I did in the previous
      commit to this file.
      20393557
  17. Aug 29, 2020
  18. Aug 16, 2020
  19. Aug 08, 2020
    • rswindell's avatar
      The problem: the sysop (me) is not notified of critical errors (e.g.... · 5899a303
      rswindell authored
      The problem: the sysop (me) is not notified of critical errors (e.g. synchro.net zone file problems) in a timely manner.
      Part of the solution: notify a configured user (e.g. user #1) via short-message/telegram and email/netmail logged-errors when messages of a configured severity (e.g. "Critical") are logged.
      The second part of the solution (coming next) will be allowing timed events to log a message of a configurable severity logged when the event fails (returns a non-zero error level to sbbs).
      
      I'm saving the error-notification-user-number and log-severity as part of the node.cnf file because:
      - that's where the validation user number is already set
      - I can conceive of a large system were certain node ranges (different instances of sbbs) might want different operators to be notified of logged-errors
      
      This also means I eliminated all the legacy com port/modem stuff from the end of the node.cnf file. None of that is used in sbbs v3.
      
      Also included in this commit are improvements around logging:
      - reduce the severity of UDP recvfrom failures in services
      - a more detailed log message when the mail server successfully delivers an email (via SMTP) - easier to answer the question: was that email you/they sent delivered successfully?
      5899a303
  20. Jul 20, 2020
  21. Jun 02, 2020
  22. Jun 01, 2020
  23. May 14, 2020
    • rswindell's avatar
      No longer dynamically allocate compiled access requirment (AR) strings for configuration items. · 110cc8ac
      rswindell authored
      SCFG for Win32 is linked against a load_cfg lib that builds withOUT SCFG defined, so these compiled AR elements were allocated and then many SCFG operations (e.g. copy/paste, create new) would copy the allocated ARs to another configuration and then be subjected to double-free upon exit/clean-up (resulting in exception or crash).
      Just get rid of this cruft and some other related RAM-byte-saving hold-overs from the MS-DOS days.
      110cc8ac
  24. May 05, 2020
  25. May 01, 2020
    • rswindell's avatar
      Set the KILLSENT network attribute for created Internet email messages when... · 53068c01
      rswindell authored
      Set the KILLSENT network attribute for created Internet email messages when enabled in SCFG->Networks->Internet (new option).
      Do the same for FidoNet NetMail messages routed via SMTP.
      Only auto-delete sent Internet mail messges when either the KILLSENT
      network attribute flag is set or there was no SENDEREXT (from_ext) on the sent message.
      53068c01
  26. Apr 28, 2020
Loading