Skip to content
Snippets Groups Projects
  1. Jan 23, 2021
    • Rob Swindell's avatar
      Close the mime part even when error opening file · bbc06cb3
      Rob Swindell authored
      If there was an error opening a file for attachment, the MIME part would be left unterminated.
      bbc06cb3
    • Rob Swindell's avatar
      Don't support yields per x lines on SMTP receive · cf8c5664
      Rob Swindell authored
      Consume the SMTP lines as fast as possible since the sender may be on the
      local network (or even local/loopback interface!) and could get way ahead and
      timeout otherwise, resulting in the "premature evacuation" error (and dumping
      of the received message) on the receive side. This resolves an observed issue
      with sending large attachments to the mail server at very high rates and the
      sending client timing and disconnecting waiting for a response from the server
      (which was throttling the receive using YIELD).
      cf8c5664
    • Rob Swindell's avatar
      Fix bug introduced in e9f56e5d - line endings stripped from rx'd mail · 459893f5
      Rob Swindell authored
      An unrelated optimization (elimination of an unnecessary use of fprintf) resulted in a new bug that combined all lines from SMTP-received mail messages into a single long line, thus breaking all decoding ability of multi-part MIME messages (where blank lines are significant).
      
      Went ahead and replaced some other unnecessary uses of fprintf(), replaces with fputs() while at it.
      459893f5
  2. Jan 22, 2021
    • Rob Swindell's avatar
      Optionally distinguish between timeout and NUL inkey() result · 18bbb277
      Rob Swindell authored
      Some terminals can send NUL (ASCII 0), e.g. hitting Ctrl-Space in Apple iTerm. Allow users of inkey() (in C++ or JS) to optionally detect the difference by specifying the K_NUL mode flag. In JS, console.inkey() will return null upon timeout (rather than "") when the K_NUL mode flag is used and return an empty string ("") upon receipt of NUL (ASCII 0).
      
      The default is the previous behavior where a timeout and the receipt of a NUL character appear the same to the caller of inkey().
      18bbb277
  3. Jan 21, 2021
    • Rob Swindell's avatar
      Fix: initialize default data directories after auto-creating sub-dirs · 670acd23
      Rob Swindell authored
      When a file library's "Access to Sub-directories" option was enabled, any auto-created directories would have their data dir initialized as "blank" (empty), so their data files (e.g. <code>.dat, <code>.ixb) would be created in the ctrl directory.
      
      I guess nobody used this feature? It is pretty cool, but not really documented. If you were using it before this commit, you'll need to move your sub-directories data files to data/dirs or re-add the files (recreate the database files). And you can remove the old cruft from the ctrl dir.
      670acd23
    • Rob Swindell's avatar
      Support single-part MIME-encoded messages in SMBLIB · e9f56e5d
      Rob Swindell authored
      This involved the removal of the content-transfer-decoding feature of the SMTP mail server since we need single-part MIME-attached file contents to be stored in their original encoded form (e.g. base64-encoded) and not in binary, for the message body text (where NULs aren't allowed, CR/LF is appended, etc).
      
      I accidentally made this change to smbtxt.c in the new_file_base branch and then copied over here, so there's some unrelated innocuous changes (comment header, removal of SMBCALL) that hopefully won't cause a merge conflict later.
      
      I don't actually receive single-part MIME attached files, so depending on others (e.g. Nelgin and Dream Master) to test for me.
      e9f56e5d
    • Rob Swindell's avatar
      Clean-up MIME-Decoded plain-text format message · 08ae8875
      Rob Swindell authored
      Don't display at all if smb_getplaintext() returns a blank string.
      Don't display "(null)" if there's no text sub-type.
      08ae8875
  4. Jan 18, 2021
  5. Jan 17, 2021
    • Rob Swindell's avatar
      Don't include message number in origaddr portion of FTN NetMail MSGIDs · 42ba119c
      Rob Swindell authored
      Some old/unsupported FidoNet software (NetMgr? Squish?) reportedly parse addresses from MSGID control/kludge lines in NetMail messages to determine the source and/or destination address. This is clearly a bad idea for a lot of reasons, but to improve compatibility, let's not include the message number (or an '@') in the origaddr field for NetMail messages. This does slightly increase the chance of a duplicate MSGID being accidentally generated if the "mail" base is renumbered. No change for EchoMail MSGIDs (where dupe detection and threading still benefit from the additional entropy).
      For Watchman.
      42ba119c
    • Rob Swindell's avatar
      Deuce wants js.exec() to support non-number return values via exit_code · d235b4cb
      Rob Swindell authored
      <@Deuce> Just saying that if someone does the work of exit_code = {thing: function(x) { return secretsauce }); exit(); they should get away with it.
      d235b4cb
  6. Jan 16, 2021
    • Rob Swindell's avatar
      Fix js.exec() returned nul" unless exit() was called explicitly · d33fa178
      Rob Swindell authored
      Don't use the "exit_code" property value as the return value of js.exec() unless it's a number. As reported by mlong (thanks).
      
      Also, "exit_code" was being set to null (instead of void/undefined) in js_PrepareToExecute(). I think this was just an oversight or typo by Deuce from his commit of 5 years ago (f3256d81). Since we're comparing exit_code with JSVAL_VOID in other places to determine if it was actually set, this appears to be a long standing bug.
      d33fa178
  7. Jan 11, 2021
  8. Jan 09, 2021
    • Rob Swindell's avatar
      Don't delete pack####.now upon FTP-logoff · 4e6b8853
      Rob Swindell authored
      When a user logins to the FTP server concurrently, this creates a
      race condition with an/the other FTP session that may be creating/
      downloading a QWK packet. On Vertrauen, this results in the
      occasional error removing the file since it was removed unexpectedly:
      !ERROR 2 (No such file or directory) in main.cpp line 2747 (event_thread) removing "/sbbs/data/pack1111.now" access=0
      4e6b8853
  9. Jan 05, 2021
  10. Jan 04, 2021
  11. Jan 03, 2021
  12. Jan 02, 2021
  13. Jan 01, 2021
    • Rob Swindell's avatar
      Fix: can_* and is_* properties were not dynamic. Added "posts" property. · e5856f0a
      Rob Swindell authored
      The following properties would only reflect the status at the time the
      msg_area object was initialized:
      - can_access
      - can_read
      - can_post
      - is_operator
      - is_moderated
      
      ... so if changes were made the user while online, for example, these
      property values would *not* also change to reflect the current state.
      
      The grp[] and grp_list[] 'can_access' properties still have this flaw.
      
      Also: Add a new "posts" property to the sub[] and sub_list[] objects to
      report the current number of posted messages (quicker than opening a MsgBase
      instance).
      e5856f0a
  14. Dec 31, 2020
  15. Dec 30, 2020
  16. Dec 29, 2020
  17. Dec 28, 2020
  18. Dec 27, 2020
Loading