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

  1. 10 Nov, 2020 5 commits
  2. 09 Nov, 2020 4 commits
    • Rob Swindell's avatar
      Optimize the newsgroup list part of previous commit. · 83465f65
      Rob Swindell authored
      Don't regenerate the newsgroup_list for *every* authenticated NNTP command.
    • Rob Swindell's avatar
      2 new (mutually exclusive) command-line options: -force and -filter · d124e3fb
      Rob Swindell authored
      These options are to attempt to address the issue (#178) reported by Michael J. Ryan
      with regards to a Thunderbird error:
      "Sending of the messages failed. You can only send to one news server at a time."
      when attempting to reply to a message that was posted to multiple newsgroups,
      but the server has not actually advertised that it serves that newsgroups (because
      it doesn't or the names a different than one the server uses for the same area).
      -force will force the export "Newsgroups" header field to contain only the name
      of the locally selectec newsgroup.
      -filter will remove any Newsgroup names from the exported "Newsgroups" header
      if they don't exist on the local server.
    • Rob Swindell's avatar
      Save/restore padding bytes in .cnf files (instead of writing 0's). · e963fe7e
      Rob Swindell authored
      Some padding bytes are expected to be 0xff's (not 0x00's) when
      unused by configuration properties.
      Also, this insures that this library is compatible with future .cnf files
      (i.e. it won't over-write new configuration properties with 0's).
    • Rob Swindell's avatar
      Add missing/newer configuration to main cnf definition. · fbff979c
      Rob Swindell authored
      - min_pwlen
      - textsec_mod
      - automsg_mod
      - xtrnsec_mod
      - nodelist_mod
      - whosonline_mod
      - privatemsg_mod
      - logonlist_mod
      Since cnflib.js doesn't save/restore padding areas (yet), this explains
      why using scripts that use cnflib to update/modify configuration files
      could result in some settings being reverted to default or blank values
      Next-up: fix cnflib so it saves and restores padding areas in .cnf files.
  3. 08 Nov, 2020 3 commits
  4. 07 Nov, 2020 3 commits
    • Rob Swindell's avatar
      Address warning: unused variable ‘argv’ · 43953c2d
      Rob Swindell authored
    • Rob Swindell's avatar
      Store client terminal information in node#/terminal.ini · ff449a11
      Rob Swindell authored
      In preparation for node-spy applications that can support multiple terminal sizes/types (none exist yet). The file is updated whenever there is new/updated information about the client's terminal.
      Exposed as JS method: console.term_updated().
    • Rob Swindell's avatar
      Fix sendmail bug introduced in 6851910b. · 3aacaa64
      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.: replied with:
      "501 Syntax error in parameters or arguments tnmpmscs"
      instead of the expected reply:
      "250 ..." replied with:
      "555 5.5.2 Syntax error. o6si11103060plk.317 - gsmtp"
      instead of the expected reply:
      "250 ..."
  5. 06 Nov, 2020 2 commits
  6. 05 Nov, 2020 14 commits
  7. 04 Nov, 2020 5 commits
    • Rob Swindell's avatar
    • Rob Swindell's avatar
      Always evaluate js.on_exit() installed expressions. · 175d0fbc
      Rob Swindell authored
      I noticed that when executing an external JS with the new "Use Shell / New Context" option set to "Yes", that any expressions (strings) installed via js.on_exit() were not being executed upon exit from the script. These on-exit strings are important for restoring global state information (e.g. control key pass-through, console mode) to the original state before the JS mod made any changes.
      I'm not sure why the special treatment of "scope == NULL" is through-out this function. Going back to v3.16, it appears this was special treatment for JS mods invoked via global hot key event (when scope != NULL). When invoking an xtrn JS mod with the new Context option, the scope argument is not NULL, so this check was defeating the parsing of the "exit_code" and the evaluation of any js.on_exit() installed expressions for no apparent reason. I can't think why global hot key events should be excluded from this logic either.
    • Rob Swindell's avatar
      Define CTRL character enum when not already defined. · f488c09a
      Rob Swindell authored
      These are defined in xpdev/gen_defs.h, but not all xsdk doors #include that
      (e.g. SBJ).
    • Rob Swindell's avatar
      Move the external program "pause on exit" implementation back to the C++ code. · 255ffd7a
      Rob Swindell authored
      Originally, the "pause on exit" was implemented in the C++ version of
      sbbs_t::xtrn_sec() and not sbbs_t::exec_xtrn(). This meant that the pause
      option was only implemented when the prgoram was invoked from the menu and
      not when invoked directly (e.g. via Baja or JS exec_xtrn function).
      When sbbs_t::xtrn_sec() was ported to JS, that functionality was also moved
      to JS. But it really should have been implemented in exec_xtrn() to begin
      with so that regardless of how the program is invoked, that SCFG setting takes
      Thanks to Michael Long for pointing this out.
    • Rob Swindell's avatar
      Rewrite recycle_servers() · ff90a5a0
      Rob Swindell authored
      Added an "All Servers" option.
      Fixed the "Telnet server" (now "Terminal Server") to set the correct/modern semaphore file.
      Simplified the implementation of this function.
  8. 03 Nov, 2020 1 commit
  9. 02 Nov, 2020 3 commits