Skip to content
Snippets Groups Projects
  1. Aug 16, 2020
  2. Aug 15, 2020
    • rswindell's avatar
      Notify (short-message, email) the sysop when they've been paged to chat. · 64ab234c
      rswindell authored
      Try that, Nelgin.
      64ab234c
    • rswindell's avatar
      More file existence/length checks, with only a WARNING log level (not error)... · f94d2132
      rswindell authored
      More file existence/length checks, with only a WARNING log level (not error) since some QWKnet nodes apparently like to start concurrent QWK packet downloads and inevitably one finishes first, deleting the file, and the second transfer logs and error. Examples:
        8/14  08:10:06p  2296 <EPHRAM> downloading QWK packet (1320 bytes) in passive mode
        8/14  08:10:06p  3792 <EPHRAM> downloading QWK packet (1320 bytes) in passive mode
        8/14  08:10:06p  2296 <EPHRAM> DATA Transfer successful: 1320 bytes sent in 0 seconds (2640 cps)
        8/14  08:10:06p  3792 <EPHRAM> !DATA ERROR 2 (No such file or directory) line 1376 opening s:\sbbs\data\file/0888.qwk
        8/14  11:28:55p  2576 <POTOGOLD> downloading QWK packet (27129 bytes) in passive mode
        8/14  11:28:55p  2576 <POTOGOLD> DATA Transfer successful: 27129 bytes sent in 0 seconds (54258 cps)
        8/14  11:28:55p  1924 <POTOGOLD> downloading QWK packet (4294967295 bytes) in passive mode
        8/14  11:28:56p  1924 <POTOGOLD> !DATA ERROR 2 (No such file or directory) line 1376 opening s:\sbbs\data\file/0168.qwk
      
      Also some more 64-bit file length support (flength returns an off_t now, not a ulong).
      And ftell() returns a long (not a ulong).
      f94d2132
  3. Aug 14, 2020
  4. Aug 11, 2020
    • rswindell's avatar
      The MOUSE user setting flag is bit 31 (1<<31). Modifying a user.setting · 03004b56
      rswindell authored
      property with bit 31 set would result in a user.setting value of 0xffffffff which means the user is both deleted and inactive (all bits are set).
      JS_ValueToInt32() does "bad things" when bit-31 is set in the value being converted, use JS_ValueToECMAInt32 or JS_ValueToECMAUint32 instead.
      03004b56
  5. Aug 10, 2020
  6. Aug 09, 2020
  7. Aug 08, 2020
    • rswindell's avatar
      socket_strerror() is now thread-safe. · 0da49d8b
      rswindell authored
      0da49d8b
    • rswindell's avatar
      Allow timed event failure msg log-level to be configured (defaults: LOG_ERR). · cb22c743
      rswindell authored
      Some other timed event related configuration text/help fixes/beautification too.
      cb22c743
    • rswindell's avatar
    • rswindell's avatar
      *lower* log-levels are more severe. · f06d2522
      rswindell authored
      f06d2522
    • rswindell's avatar
      The problem: the sysop (me) is not notified of critical errors (e.g.... · 741cf7e3
      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
      741cf7e3
    • rswindell's avatar
      errorlog() function signature was changed. · d7d8eb70
      rswindell authored
      d7d8eb70
    • 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
  8. Aug 04, 2020
  9. Aug 03, 2020
  10. Aug 02, 2020
    • rswindell's avatar
      Add support for %^ command-line specifer which expands to the system... · 8a44af72
      rswindell authored
      Add support for %^ command-line specifer which expands to the system architecture (e.g. "i686" for Win32 builds, "x64" for Linux-x86_64 builds).
      Currently, there underlying XPDEV macro definition does not differentiate
      between arm32 and arm64, but it should. Next...
      8a44af72
    • rswindell's avatar
      Fix bug reported by WitNik (John): · 049499ad
      rswindell authored
      The msgbase 'status' header created with smb_open_sub() had all its fields
      0-filled.
      This would cause all kinds of msgbase settings (e.g. max msgs, max age, etc.) to not propagate from their SCFG settings (for mail or sub-boards)
      to the newly-created msg base(s).
      But most importantly, it would cause the mail base to be created without the
      "EMail" attribute flag, causing the msgbase to be treated as a sub-board
      (public message area) and users could not then read their received mail.
      
      The root-cause was that smb_open() will zero-out the current smb.status
      value before trying to read it from the msgbase header, thus losing any
      values that were populated in there before calling smb_open(). Rather than
      change the behavior of the ancient smb_open() function, just restore the
      correct default smb.status values after calling smb_open() and before
      calling smb_create().
      049499ad
    • rswindell's avatar
  11. Aug 01, 2020
    • rswindell's avatar
      Auto-detect non-Telnet connections to the terminal server's Telnet port and · 40d829f2
      rswindell authored
      automatically revert to Raw/TCP mode. This resolves the issue of users that
      connect using modem/serial emulators over TCP that do not actually support Telnet and then either try to transfer files, which usually will not work due to escaped (or unescaped) IAC (0xFF) characters, or the user may be sent Telnet Go Ahead (GA) sequences which may display as periodic garbage in their terminal program.
      
      This seemed like a better solution than having (yet another) dedicated terminal server port for "raw" connections over TCP, though a "raw" port still might not be a bad idea for a future enhancement. RLogin is already super close to "raw", so it's probably not really necessary to have another port configured/listening.
      40d829f2
    • rswindell's avatar
      The latest default text.dat strings. · eddb8b75
      rswindell authored
      eddb8b75
    • rswindell's avatar
      An experimental external() mode flag that runs JS modules in their own... · b898eb73
      rswindell authored
      An experimental external() mode flag that runs JS modules in their own separate runtime and context - currently does not work (appears to corrupt the shared JS context). Not actually used currently.
      The reason I wanted to run a JS module (actually JS doorgame) in its own context was to get useful error messages (filenames and line numbers) when the module throws an exception. Currently, the error is just reported as occuring in xtrn_sec.js, which isn't helpful or correct.
      b898eb73
  12. Jul 20, 2020
  13. Jul 19, 2020
  14. Jul 16, 2020
  15. Jul 15, 2020
  16. Jun 30, 2020
  17. Jun 12, 2020
  18. Jun 02, 2020
Loading