Skip to content
Snippets Groups Projects
  1. Mar 11, 2023
  2. Mar 04, 2023
  3. Jan 30, 2023
    • Rob Swindell's avatar
      The 3rd great MQTT data scheme update (sorry Nelgin) · e94281e6
      Rob Swindell authored
      - Most published messages (besides log entries) have a timestamp (in ISO8601 format) prepended and tab-separated
      - The order and number of elements in client messages (list and activities) has been updated, now includes user number
      - Server client lists are now published to .../SERVER/client/list
      - Server client activities (connect, disconnect, update) are now published to .../SERVER/client/action/#
      - Server client count is now published to .../SERVER/client (with the maximum client count, if applicable)
      - Server states are now just represented by name (e.g. initializing, ready, stopping, stopped) and not number
      - BBS errors are logged to sbbs/BBS/action/error/LEVEL (where LEVEL is the log level name, e.g. "critical" or "error')
      - All server hack-attempts, SPAM attempts, logins, logouts, uploads, downloads, are published to sbbs/BBS/action/ACTION/*
      - Chat pages are published to sbbs/BBS/action/page/node/#
      - New users (on the terminal server) are published to sbbs/BBS/action/newuser
      - Posted messages and executed external programs (on the terminal server) are published to sbbs/BBS/action/ACTION/CODE topic
      - The event thread started/stopped status is published to .../SERVER/event
      
      Yeah, the wiki will get updated soon to reflect/document all these changes
      e94281e6
  4. Oct 18, 2022
    • Rob Swindell's avatar
      Full read/write support of new user.tab userbase file · 8a22b246
      Rob Swindell authored
      Also resolved some 32 vs 64-bit 'long' issues/ambiguities that have long-remained. :-)
      
      This commit also removes logon.lst file support.
      
      There's a TODO block remaining in js_user.c for setting portions of a user's birthdate (e.g. just the year or month or day).
      8a22b246
  5. Mar 24, 2022
    • Rob Swindell's avatar
      Support user credits and transfer stats > 4GB in total · 2d4ec7b8
      Rob Swindell authored
      Credits and daily free credits are accurate to the byte up to (a maximum) of 18446744073709551615 (that's 18 Exbibytes - 1).
      
      User's upload and download byte stats are now similarly extended in maximum range, but the accuracy is only "to the byte" for values less than 10,000,000,000. Beyond that value, the accuracy declines, but is generally pretty damn accurate (to 4 decimal places beyond the nearest multiple of a power of 1024), so I don't expect that to be an issue. This method of storing upload/download byte stats allowed me to use the same 10-character user record fields in the user.dat file.
      
      As a side-effect of this enhancements:
      * User and file credit values are now expressed in multiples of powers of 1024 (e.g. 4.0G rather than 4,294,967,296).
      * Free credits per day per security level has now been extended from 32 to 64-bits (to accommodate values >= 4GB).
      * adjustuserrec() now longer takes the record length since we can easily determine that automatically and don't need more "sources of truth" that can be out-of-sync (e.g. the U_CDT field length going from 10 to 20 chars with this change).
      * setting the stage for locale-dependent thousands-separators (e.g. space instead of comma) - currently still hard-coded to comma
      * more/better support for files > 4GB in size (e.g. in the batch download queue)
      * user_t ulong fields changed to either uint32_t or uint64_t - I didn't realize how many long/ulong's remained in the code (which are sometmies 32-bit, sometimes 64-bit) - ugh
      * Steve's ultoac() function renamed to u32toac() and created a C++ wrapper that still uses the old name, for homage
      2d4ec7b8
  6. Nov 18, 2021
    • Rob Swindell's avatar
      Add text.dat lines for "All" and the List key ('L'), used in quoting · 9513bdba
      Rob Swindell authored
      The internal line editor's quoting feature add some hard-coded strings ("Done" and "All") and the (L)ist key was hard-coded. Use the text.dat string (new and pre-existing) for these now.
      
      Also, use the new sbbs_t *_key() methods for referencing the configured key bindings (via text.dat) for these common key-stroke commands.
      Convert the text.dat strings for keys (e.g. YNQP) to uppercase always as well.
      9513bdba
  7. Apr 04, 2021
    • Rob Swindell's avatar
      A poll() failure with EINTR does not mean a socket is closed. · 925e3b0a
      Rob Swindell authored
      This won't impact Synchronet as it has a separate signal handling
      thread, but we still need to behave properly for processes that
      don't.  I'm also saying that ENOMEM does not indicate a disconnection,
      though it may be better to pretend it was disconnected...
      925e3b0a
  8. Nov 25, 2020
  9. Nov 05, 2020
  10. Aug 16, 2020
  11. Aug 31, 2019
  12. Aug 02, 2019
  13. Apr 10, 2019
  14. Jan 28, 2019
  15. Oct 30, 2018
    • rswindell's avatar
      External programs that are "binary" in nature (e.g. file transfer protocols) · be7d06bc
      rswindell authored
      now have their output translated to PETSCII equivalents for PETSCII terminals
      (but input is not yet translated).
      .seq files are now sent untranslated via printfile() and putmsg() to PETSCII
      terminals (using the new P_PETSCII putmsg mode flag).
      .seq files (and P_PETSCII mode text printed via putmsg) is now converted
      (poorly) from PETSCII to CP437 - this is still a work-in-progress.
      Remove the remants of WIP and HTMLterm support from putmsg() and printfile().
      be7d06bc
  16. Aug 03, 2018
  17. Jun 18, 2018
  18. Feb 20, 2018
  19. Jan 12, 2018
    • rswindell's avatar
      sbbs_t::sendfile() (used by JS bbs.send_file() and Baja FILE_SEND) would not · a4c36610
      rswindell authored
      check the protocol.log (e.g. DSZ.LOG) for successful transfer even when the
      protocol was so-configured in SCFG. Fixed.
      Additionally, while sendfile() would return a proper boolean result based on
      the errorlevel returned by the protocol driver process, the log and console
      output would report success and statistics adjusted as though the xfer
      was successful, regardless.
      a4c36610
  20. Nov 26, 2017
  21. Apr 28, 2015
    • rswindell's avatar
      Bug-fix: From the text.dat Yes/No/Quit/Password entry (YNQP), the 'Q' character · aa709e2a
      rswindell authored
      was never used. This was intended to be a method for internationalization,
      letting the sysop change which key is used as the uiniversal "quit" key.
      This commit replaces most of the uses of the hard-coded 'Q' for quit wtih the
      3rd charcter in the text.dat YNQP string. Some hard-coded menus still have the
      'Q' key hard-coded and will need to be addressed later. The text.h YN index
      macro was changed to YNQP and the JS text index variable name will change
      as well.
      aa709e2a
  22. Oct 19, 2011
  23. Sep 21, 2011
  24. Jul 21, 2011
    • rswindell's avatar
      Enhancement: most question-type text.dat entries are now optional. · 77a2cda0
      rswindell authored
      That is, if any of the following text.dat entries are set to a blank/emtpy
      string (by editing ctrl/text.dat or via run-time script modification), the
      question will not be asked of the user allowing greater sysop-customization
      of hard-coded processes (e.g. new user application):
      ClearUploadQueueQ
      ClearDownloadQueueQ
      HangUpAfterXferQ
      ChatWithGuruInsteadQ
      ForwardMailQ
      DownloadBatchQ
      LogOffQ
      DeleteErrorLogQ
      ClearErrCounter
      DeleteGuruLogQ
      AutoTerminalQ
      AnsiTerminalQ
      ColorTerminalQ
      ExAsciiTerminalQ
      CallingFromNorthAmericaQ
      ReadYourMailNowQ
      NScanAllGrpsQ
      SScanAllGrpsQ
      NewPasswordQ
      ContinueQ
      EnterYourPhoneNumber
      UserInfoCorrectQ
      UseExternalEditorQ
      DownloadAttachedFileQ
      AddSubToNewScanQ (new)
      RemoveFromNewScanQ
      DisplaySubjectsOnlyQ
      Post
      SearchExtendedQ
      ViewSysInfoFileQ
      ViewLogonMsgQ
      WithLineNumbersQ
      77a2cda0
  25. Mar 12, 2010
  26. Mar 06, 2010
  27. Nov 09, 2009
  28. Jun 11, 2009
  29. Mar 20, 2009
    • rswindell's avatar
      ARS improvements: · 1cdf2c10
      rswindell authored
      Added HOST and IP keywords to allow restricted access/privileges to/for
      specific remote hostnames or IP addresses (wildcards allowed).
      All string-argument type ARS keywords (e.g. SHELL, PROT, etc.) now support .can
      style wildcards.
      The current remote client is now used for protocol, host, and IP ARS checking,
      when available, so this requires passing the client pointer around (which
      explains why so many files are touched by this change) and takes care of a
      long standing to-do item (the user's 'modem' value was used for the PROT
      value checking, which was not always correct).
      1cdf2c10
  30. Jun 04, 2008
  31. Jun 18, 2006
  32. Jun 06, 2006
  33. Feb 28, 2006
  34. Jan 31, 2006
  35. Jan 26, 2006
  36. May 14, 2005
  37. Jan 15, 2005
Loading