Skip to content
Snippets Groups Projects
  1. May 01, 2022
  2. Apr 30, 2022
    • Rob Swindell's avatar
      Fix DIZ extraction/use for FTP uploads · 77d72d0e
      Rob Swindell authored
      1. Was not setting f->dir to the correct directory number, so only ftp-uploads to the *first* directory (dirnum = 0) would extract DIZ files of uploaded files.
      
      Removing the 'dirnum' parameter to addfile() since that implied that you did not have to initialize the 'dir' element of the passed file_t, but you do: to get the correct file path for file size/date detection and the DIZ extraction.
      
      2. Was getting heap-corruption when freeing the imported/formatted DIZ text on Windows once the above problem was fixed: can't free() in one DLL memory that was allocated in another DLL. Created and now using free_diz() to free the memory allocated in read_diz().
      
      format_diz() handles a NULL 'lines' argument correctly/gracefully, so no need for the NULL lines check in sbbs_t::uploadfile().
      
      Added FTP server log messages for successful file upload or update by user.
      77d72d0e
    • Rob Swindell's avatar
      Fix CID 174496: Integer handling issues (BAD_SHIFT) · dc9847ee
      Rob Swindell authored
      Don't repeat call atoi() unnecessarily.
      dc9847ee
  3. Apr 29, 2022
    • Rob Swindell's avatar
      Give the timed event config menu the left/right arrow key treatment · e924cc90
      Rob Swindell authored
      Allows quick traversing through timed events (e.g. for comparison of settings).
      e924cc90
    • Rob Swindell's avatar
      Add "Native" option for QWKnet call-out cmd-lines · 23a0836f
      Rob Swindell authored
      This really shouldn't be necessary to toggle (at least now) on Windows, since we treat all off-line executions as "native", but for *nix, it could make a big difference if trying to invoke a native program or shell script for a QWKnet call-out and it would either fail due to no DOS support or try to executing using Linux-DOSEMU (unless the command's program name was in the global "native program list" configured in SCFG->External Programs).
      23a0836f
    • Rob Swindell's avatar
      When running 16-bit DOS commands "offline" on Windows, don't use dosxtrn · 7f991beb
      Rob Swindell authored
      We shouldn't need a virtual UART/FOSSIL driver to execute "offline" program (e.g. timed events) in the first place, and our virtual UART/FOSSIL for Windows wouldn't work right in the scenario anyway even if it did load successfully.
      
      This resolves the reported issues with timed events configured as not "native" returning error 255 (and not running successfully) on Windows with SBBS v3.19. I'm not even sure what changed exactly in xtrn.cpp, dosxtrn.c, and sbbexec.c between v3.18 and v3.19 that's causing this to now fail, but it (using DOSXTRN to run offline DOS programs) really shouldn't have been attempted in the first place. So that was just a design issue that happened to kind of sort of work up until v3.19.
      7f991beb
  4. Apr 28, 2022
  5. Apr 26, 2022
  6. Apr 25, 2022
  7. Apr 22, 2022
    • Rob Swindell's avatar
      Fix segfault when printing Bad-echo name after failing to load cfg · a96a1ab0
      Rob Swindell authored
      This is a weird one: sbbsecho ran right as I was saving msgs.cnf via
      SCFG and it seems like it loaded 0-byte msgs.cnf into memory and this
      segfault was a result of trying to print sub[INVALID_SUB]->code.
      
      The use of [f]nopen() with proper share perms should have prevented this
      (truncated msgs.cnf read) from happening, so there's something else afoot here.
      a96a1ab0
    • Rob Swindell's avatar
      Use smb_open_sub() for the "mail" base too · cac411de
      Rob Swindell authored
      This restores the ability for JS MsgBase() to be used to create the
      initial mail message base properly, if needed.
      
      This means that the 'subnum' should now be equal to scfg.total_subs
      when referencing an arbitrary SMB via path (not in the configuration).
      cac411de
    • Rob Swindell's avatar
      Restore ability for MsgBase.open() to open an arbitrary SMB msgbase · 61ecda33
      Rob Swindell authored
      Before commit 5da26eca, you could pass Msgbase() the path to an SMB
      on the disk and open() it, no configuration needed. As of 2 years
      ago, I broke that, and passing a path to an SMB would open the "mail" base
      instead - most unexpected. This is a feature of smb_open_sub() which we
      switched to using (from smb_open()), so go back to using smb_open() when
      an unrecognized code is pass to the constructor.
      
      This has the negative consequence that the "mail" base can't be created
      via JS. Probably should fix that.
      61ecda33
    • Rob Swindell's avatar
      Limit door.sys numeric values to 32767 · 177f83a3
      Rob Swindell authored
      The DoorFrame door library will about with "Overflow Error" if it reads a door.sys file with lines 16 (calls), 42 (minute credits), or 52 (posted messages) with a value > 32767, the maximum positive value of a signed 16-bit integer. So cap these values in the door.sys file at that maximum. This does potentially break/limit doors that give minutes using the door.sys drop file, so use that "modify user data" option in SCFG with care.
      
      Electrosys initially reported this problem with the Lemonade! door game which was barfing on a line 42 value of 449632.
      177f83a3
  8. Apr 19, 2022
  9. Apr 18, 2022
  10. Apr 16, 2022
  11. Apr 15, 2022
  12. Apr 14, 2022
Loading