1. 23 Jan, 2021 3 commits
    • Rob Swindell's avatar
      Fix heap corruption in smb_getattachment() for blank attachments · d23ad38a
      Rob Swindell authored
      MSVC detected heap corruption from this function when the attachment was 0-bytes in length. Good catch.
    • Rob Swindell's avatar
      Don't support yields per x lines on SMTP receive · acede36f
      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).
    • Rob Swindell's avatar
      Fix bug introduced in c90ba307 - line endings stripped from rx'd mail · dd121bcf
      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.
  2. 22 Jan, 2021 4 commits
  3. 21 Jan, 2021 4 commits
    • Rob Swindell's avatar
      Fix new GCC warning about return type. · 7b05a613
      Rob Swindell authored
    • Rob Swindell's avatar
      Fix: initialize default data directories after auto-creating sub-dirs · 9439f5b8
      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.
    • Rob Swindell's avatar
      Support single-part MIME-encoded messages in SMBLIB · c90ba307
      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.
    • Rob Swindell's avatar
      Clean-up MIME-Decoded plain-text format message · f039b2aa
      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.
  4. 20 Jan, 2021 2 commits
  5. 19 Jan, 2021 1 commit
  6. 18 Jan, 2021 10 commits
  7. 17 Jan, 2021 4 commits
  8. 16 Jan, 2021 1 commit
    • Rob Swindell's avatar
      Fix js.exec() returned nul" unless exit() was called explicitly · da7c67c9
      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.
  9. 15 Jan, 2021 2 commits
  10. 14 Jan, 2021 3 commits
  11. 13 Jan, 2021 3 commits
  12. 12 Jan, 2021 3 commits