Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

  1. 12 Nov, 2020 5 commits
    • Rob Swindell's avatar
    • Rob Swindell's avatar
    • Rob Swindell's avatar
      Clean-up and optimize the pre/post exec xtrn modules · c669092d
      Rob Swindell authored
      Don't load() things unnecessarily (use require() instead).
      Fix the X-restriction issue (is not supposed to limit the execution of
      programs configured to run as logon events).
      c669092d
    • Rob Swindell's avatar
      Reduce unnecessary posted-to username searches. Auto-UTF8 in savemsg(). · a852cced
      Rob Swindell authored
      When posting to "All" or replying to a message that was posted by networked (not local) user, don't attempt to search for that username in the local user base to inform them of the posted message to them.
      
      savemsg() is the underlying C function for saving a new message (mail or post) to a message base from several places, including JS modules. If there was no "charset" specified in the passed message header, check to see if the message body text is non-ASCII but valid UTF-8, and if it is, set the FIDO_CHARSET header field to the appropriate UTF-8 charset identifier string. This would *also* address Issue #177 reported by Michael J. Ryan. It's possible, but unlikely, that a message text would contain valid CP437 that *also* happened to be valid UTF-8. If that does happen to occur (e.g. in posted ANSI art?), we might want to revert this enhancement to savemsg() and leave to the caller's to detect/specify the charset, always.
      a852cced
    • Rob Swindell's avatar
      Improved parsing of "charset" parameter in MIME Content-Type header. · ad79c591
      Rob Swindell authored
      In Issue #177, the reported problem message header was "Content-Type: text/plain; charset=utf-8; format=flowed"
      The fact that the "charset" value was not quoted and not space delimited means the charset would have been parsed as "utf-8;", which would not provide an exact match (against "utf-8") in smb_msg_is_utf8() and thus the message body would not be considered to be utf-8 encoded.
      
      The solution is to terminate the "charset" parameter value at the semicolon, if it exists, and the value was not quoted.
      
      Also, for good measure, only search for " charset" or ";charset" to avoid false-positive parameter matches,  like "notcharset".
      ad79c591
  2. 11 Nov, 2020 29 commits
  3. 10 Nov, 2020 6 commits