1. 12 Feb, 2022 1 commit
  2. 28 Jan, 2022 1 commit
    • Rob Swindell's avatar
      Use sbbs.ini [web] FileVPathPrefix to configure web filebase prefix · acd808d3
      Rob Swindell authored
      It bothered Deuce having a web server setting in scfg_t/SCFG->File Options, so I moved this setting to [web_]startup_t and the sbbs.ini file.
      
      The downside is that file_area.web_file_prefix is no longer available to JS environments outside of the web server and terminal server, but meh, probably not going to use it elsewhere anyway? I can imagine use cases for JSexec scripts to want to generate URLs to filebase files. If that ends up being a need, they'll have to find and parse the "right" sbbs.ini file to determine the vpath prefix. 
      acd808d3
  3. 20 Jan, 2022 2 commits
  4. 30 Dec, 2021 1 commit
  5. 18 Nov, 2021 2 commits
    • Rob Swindell's avatar
      Add text.dat lines for "All" and the List key ('L'), used in quoting · 064b602f
      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.
      064b602f
    • Rob Swindell's avatar
      Make msg/file scan configuration prompts and keys configurable · 35c1d051
      Rob Swindell authored
      For localization purposes, no more hard-coded text strings or characters in the new-file and file scan configuration menus.
      
      This change fixes issue 232.
      
      A Hungarian sysop also requested this change via Facebook not long ago.
      35c1d051
  6. 12 Nov, 2021 1 commit
    • Rob Swindell's avatar
      Don't write uploaded filename and description to env variables · 7fd781cd
      Rob Swindell authored
      Environment variables are shared among all threads of a process (e.g. all nodes of a instance of sbbs), so this scheme of passing the uploaded filename and description to an external file tester (upload processor) via environment variables has always been fraught with the possibility of failure or flakiness in Synchronet v3. Since I very much doubt that any upload processor is actually using this scheme, just remove it. Upload processors can and should)use the sbbsfile.nam and sbbsfile.des text files created in the node directory instead.
      7fd781cd
  7. 10 Jun, 2021 1 commit
    • Rob Swindell's avatar
      mv() simplified for the non-copy case · 80422644
      Rob Swindell authored
      Constified function arguments. Source path is still case-insensitive, but destination is case-sensitive (hopefully that's not an issue).
      
      When a "move" (!copy) is requested, a rename() is always attempted first and if successful, job done. Otherwise, we continue on with the file-copy (and then remove).
      
      This should resolve CID 332219 (DEADCODE).
      80422644
  8. 06 Jun, 2021 1 commit
  9. 28 May, 2021 1 commit
    • Rob Swindell's avatar
      Add optional "temp file transfer" module (defaults to "tempxfer"[.js]) · 18aaca6b
      Rob Swindell authored
      This module (name configurable in SCFG->System->Loadable Modules) replaces the old hard-coded temp/archive file menu in v3.18 and earlier, going all the way back to v1a. Good-bye to yet more old and crufty Synchronet C source code. :-/
      
      Change the "Pre Xtrn Prog" and "Post Xtrn Prop" menu option in SCFG->System->Loadable Modules to just "Pre Xtrn" and "Post Xtrn". The help text had the wrong names anyway (now fixed).
      Save the menu lightbar position in the "Loadable Modules" SCFG menu.
      18aaca6b
  10. 25 May, 2021 1 commit
  11. 14 May, 2021 4 commits
  12. 25 Apr, 2021 1 commit
  13. 24 Apr, 2021 1 commit
    • Rob Swindell's avatar
      DIZ enhancements: Read/use SAUCE data, support ANSI, increase max 1->4K · 2a8e1c11
      Rob Swindell authored
      Inspired by Blocktronics (and other ANSI art group) packs' FILE_ID.DIZ/ANS files:
      * Support (and prioritize) FILE_ID.ANS
      * Convert ANSI color/attribute sequences in DIZ files to Ctrl-A equivalent (uses SAUCE width and ICE color, if specified)
      * Don't treat DIZ as a series of lines, they're not always nowadays.
      * New putmsg() mode: P_INDENT to print files indented by current column
      * Display full (up to 64-char) filenames in lists when using 132+ column terminal.
      * Use the Author, Group, and Title fields from the SAUCE if present/non-blank
      * 2 new text.dat strings: 301 (FiAuthor) and 302 (FiGroup)
      * Also fix bug with repeated Cost header field on bulk-uploaded files.
      
      I know this'll break the *nix build (sauce.c dependency), but I'll fix that next.
      2a8e1c11
  14. 04 Apr, 2021 3 commits
  15. 03 Apr, 2021 1 commit
  16. 02 Apr, 2021 1 commit
    • Deucе's avatar
      Initial work on setTimeout() · ad635a64
      Deucе authored
      This appears to work and the event handler *should* work on other
      event types already.
      
      Note, this is *nix-only due to the use of poll().  select() will
      need to be used for Windows to keep XP compatability.
      ad635a64
  17. 31 Mar, 2021 1 commit
    • Deucе's avatar
      Use new PREFER_POLL define to control poll() usage · 3de05e2d
      Deucе authored
      Rather than depending on _WIN32 which is silly, make it clear what
      exactly is being done and why.
      
      Note that the spy socket stuff and some external stuff on *nix have
      had the select() implementation removed.  To support using select()
      on !Win32 will require de-refactoring that's not really worth doing.
      Instead, just use #error and reference the commit where the old
      code can be found.
      3de05e2d
  18. 30 Mar, 2021 1 commit
    • Deucе's avatar
      Initial poll() work · af30c430
      Deucе authored
      Still needs updates in services_thread(), CGI stuff in websrvr.c,
      and sbbs_t::external()
      af30c430
  19. 18 Feb, 2021 1 commit
  20. 22 Jan, 2021 1 commit
    • Rob Swindell's avatar
      Optionally distinguish between timeout and NUL inkey() result · bec4667e
      Rob Swindell authored
      Some terminals can send NUL (ASCII 0), e.g. hitting Ctrl-Space in Apple iTerm. Allow users of inkey() (in C++ or JS) to optionally detect the difference by specifying the K_NUL mode flag. In JS, console.inkey() will return null upon timeout (rather than "") when the K_NUL mode flag is used and return an empty string ("") upon receipt of NUL (ASCII 0).
      
      The default is the previous behavior where a timeout and the receipt of a NUL character appear the same to the caller of inkey().
      bec4667e
  21. 21 Dec, 2020 1 commit
    • Rob Swindell's avatar
      Fix next-forced-exclusive event time calculation · d6a2af22
      Rob Swindell authored
      Jump the time forward (in 24-hour chunks) to find the next date/time the event will run rather than just adding 24-hours and assuming it's an event that runs every day (of the week or month) at a specific time.
      
      Also, expose the next-run-date/time for an event as a new `next_run` property for `xtrn_area.event[]` (in `time_t` format) for easier debugging of these kinds of issues.
      Also expose the error log level as a new property: `error_level` while we're here.
      d6a2af22
  22. 20 Dec, 2020 1 commit
  23. 12 Dec, 2020 2 commits
  24. 10 Dec, 2020 2 commits
    • Rob Swindell's avatar
      Allow subject to be changed when forwarding mail, support fwd-to QWKnet · c8e6ae68
      Rob Swindell authored
      The new messages subject may be passed into forwardmail(). If it isn't, it'll be prompted for (defaulting to the original message subject).
      
      Also, fix forwarding to QWKnet (look-up full-route/to-user-number).
      c8e6ae68
    • Rob Swindell's avatar
      Overhauled message forwarding, allow comments · 7b5c33e2
      Rob Swindell authored
      No longer derive the new message header from the original - too many problems. Simplified the forwarding support smblib (multiple SENDER* and RECIPIENT* header fields no longer expected/supported). Technically, the FORWARDED header field really serves no important purpose now.
      A comment can be passed into forwardmail() or (if NULL), will be prompted for. There is an issue where the added comment can be obscured by the receiving mail program if the original message is a multi-part MIME message. Not sure the best solution for that. Still a WIP in that regard.
      7b5c33e2
  25. 09 Dec, 2020 1 commit
  26. 02 Dec, 2020 1 commit
  27. 01 Dec, 2020 1 commit
  28. 30 Nov, 2020 1 commit
    • Rob Swindell's avatar
      Better native vs. DOS cmd-line detection in cmdstr() · 94517fdf
      Rob Swindell authored
      Always check the command-line for a '*' or '?' prefix and compare the executed filename against the native program list. For DOSEMU magic drive/path name command-line specifier substitution, but only when invoking DOS programs. Reported by bobrob via IRC.
      94517fdf
  29. 25 Nov, 2020 1 commit
  30. 23 Nov, 2020 2 commits
    • Deucе's avatar
      Add generic on_exit support. · f09622cd
      Deucе authored
      Store all on_exit() strings in the global scope, execute them
      one scope at a time with scopes ordered in reverse order of
      first call to js.on_exit().  Within a scope, they are ordered
      last string first.
      f09622cd
    • Rob Swindell's avatar
      The great C function dependency refactor of 2020 · c6808b3f
      Rob Swindell authored
      The goal of this commit is that: only modules that either are part-of sbbs.dll/libsbbs.so or need to link with/use that library, will #include "sbbs.h" and thus be dependent on its subsequent includes (e.g. cryptlib.h, jsapi.h). This should mean extdeps.mk can be trimmed way down.
      
      I also removed CVS keyword/comments and trimmed up the boilerplate copyright notice in modified and added source/header files in this commit.
      
      There is no functional change in behavior in this comment.
      c6808b3f