1. 11 Feb, 2022 2 commits
  2. 10 Feb, 2022 6 commits
  3. 09 Feb, 2022 5 commits
  4. 08 Feb, 2022 8 commits
  5. 07 Feb, 2022 4 commits
  6. 06 Feb, 2022 5 commits
    • Rob Swindell's avatar
      Merge branch 'dd_file_lister_new' into 'master' · 9e8dbe4e
      Rob Swindell authored
      Created a file lister (in JS) that lists files in the user's current file directory
      See merge request !135
    • Eric Oulashin's avatar
      Created a file lister (in JS) that lists files in the user's current file · f3925de4
      Eric Oulashin authored
      directory with a lightbar interface, as well as message windows etc.
      If the user does not have an ANSI terminal, this lister will run Synchronet's
      stock file lister interface.
    • Rob Swindell's avatar
      Clear mouse hot spots (if any) before hanging up. · dbf0a87a
      Rob Swindell authored
      <nelgin> Ah, here's a good one. If I ssh to my bbs server, then ssh to my bbs, do whatever then /O to logout, when I left click in the putty window I get "0;98;20M0;98;20m and stuff like that. I have to run reset to get it working properly.
    • Rob Swindell's avatar
      Update comments only. · 0345e9f9
      Rob Swindell authored
    • Rob Swindell's avatar
      Fix access-control by terminal cap issue introduced a week ago · f5fed0b2
      Rob Swindell authored
      In commit 3f17c245, I was addressing the issue reported by Nelgin via IRC:
      <nelgin> If you login using a term that doesn't support ansi, it changes your settings - can you set 'em back when done?
      <DigitalMan> if you have auto-term enabled, it doesn't actually change your settings, just what's in use during that session
      <nelgin> I logged in using my BBC emulator which doesn't do ansi, then when I logged in through syncterm, I got the display like it was on the BBC. All my characters replaced with #'s and stuff.
      <nelgin> I had to go back into the user menu to fix it. That is going to confuse users.
      However, the chk_ar() function in userdat.c which is used to populate JS objects (e.g. xtrn_area.sec_list[].prog_list[]) uses the user.misc value (cannot call term_supports()), so the current user terminal flags need to be reflected in user.misc always. So the real fix for the originally reported problem is to clear the charset-related terminal settings when logging in with auto-terminal settings enabled (and before the auto-detected charset flags are OR'd in).
      I toyed with the idea of storing a copy of the term_supports() result in client_t, which is passed to chk_ar() when appropriate, but decided that was a bit overkill and there were issues with servers that don't have term_supports (e.g. the web server) and properly populating access-controlled areas in the JS object model (e.g. door games that require ANSI). Better to use the last-auto-detected terminal caps than assuming "no" terminal capabilities in that scenario.
  7. 05 Feb, 2022 2 commits
    • Rob Swindell's avatar
      O-restriction forces sent netmail to come from user's alias too · b35a9907
      Rob Swindell authored
      Users with the 'O' restriction (automatically set if a new user has the same "real name" as another account, and that's allowed by the sysop) will send netmail from their alias and not their real name to prevent impersonation of another user.
    • Rob Swindell's avatar
      Detect and reject duplicate internal code prefixes · 5fcc9090
      Rob Swindell authored
      Don't let (or at least try to prevent) a sysop create a duplicate message group or file library internal code prefix (which could lead to duplicate internal codes for subs and dirs, pretty easily and accidentally).
  8. 04 Feb, 2022 5 commits
  9. 02 Feb, 2022 1 commit
  10. 01 Feb, 2022 2 commits
    • Rob Swindell's avatar
      Fix (loss of) carrier detect reporting in Virtual UART driver · 5f2881f2
      Rob Swindell authored
      So Hobo and I have noticed that Global War was leaving game lock (*.LOK) files behind when he disconnected while in the game (e.g. due to the game not responding or something). 
      This was happening because GWAR was not recognizing the loss of connection ("carrier detect" or DCD) and SBBS would ungracefully terminate the process after 5 seconds of being disconnected, thus the game lock files would remain and requiring manual clean-up.
      I discovered that if I changed the WAR.CFG file to use FOSSIL instead of UART, Global War would then correctly recognize the loss of carrier and exit gracefully (and not leave any .LOK files behind). So... I suspected an issue with the Virtual UART driver. It turns out, that a program that relies on the modem status register change interrupt (and doesn't "poll" the UART MSR register) might never know that the "carrier" was lost. This is fixed by waiting on the hungup_event in the interrupt_thread and deasserting DCD in the "virtual" MSR register and asserting the MSR change interrupt to notify the program that it has in fact changed. Good thing for WaitForMultipleObjects(). Uh huh.
    • Rob Swindell's avatar
      Implement the sbbsfile.nam and sbbsfile.des post-processing in v3.19 · bc7030d3
      Rob Swindell authored
      This one was one of the last TODO items for the new filebase implementation: It's been supported (for a *long* time) that a file tester/upload processor could change the uploaded file's name or description by modifying the contents of the sbbsfile.nam and sbbsfile.des files in the node's directory (I know, great names, eh?). These files were not read-back into sbbs to apply any changes in v3.19b and that's now "fixed" though I'm not sure any file upload tester/processor actually ever made use of this feature.
      Also as part of this change, the '%s' specifier for the tester command-line will now be replaced with the path to the sbbsfile.des file and not the file's description itself (which could easily have been problematic for a command-line).
      Updated SCFG help text to suit.