Skip to content
Snippets Groups Projects
  1. Apr 25, 2022
    • Rob Swindell's avatar
      Fix possible underflow conditions in gettimeleft() · 1f0d557e
      Rob Swindell authored
      If a non-'T' exempt user had already used more time today than their security level allows, their timeleft would be computed as a negative value due to integer underflow. Since the return value of this function is assigned to a ulong (timeleft), this becomes a large positive number. Cap the floor of the computed time left at 0.
      
      Also fix the potential for underflow that could occur if the system clock changes while a user is online and 'now' becomes greater than 'starttime'.
      1f0d557e
    • Rob Swindell's avatar
      Add winsock library (ws2_32.lib) to multi-threaded xpdev props file · 2a8f12b9
      Rob Swindell authored
      This additional library was already included in the single-threaded version, so this was just a miss.
      2a8f12b9
    • Rob Swindell's avatar
      Dates in drop files are always MM/DD/YY, never DD/MM/YY · 109a8d30
      Rob Swindell authored
      Previously, if a sysop had set SCFG->System->Toggles->European Date Format (DD/MM/YY) to "Yes", then many of the dates in drop files would have been written in this format. Unfortunately, since most BBS doors and door development kits were written by Americans, MM/DD/YY format is always assumed. So fixed that (using new TM_MONTH macro too).
      
      Also, line 37 ("Event Time") of DOOR.SYS was always 00:00, now it'll be the next event time (in HH:MM format). Unfortunately, that time might be tomorrow or days away and there's no way to represent *that* fact in the DOOR.SYS file format. <shrug>
      109a8d30
    • Rob Swindell's avatar
      Populate line 36 (user alias) of door.sys with the current user's handle · cc85090b
      Rob Swindell authored
      Previously, we just always made this a blank line.
      cc85090b
    • Rob Swindell's avatar
      Add line 8 (user's real name) to DOORFILE.SR (Solar Realms' drop file) · 620f024e
      Rob Swindell authored
      Apparently this line was added at some point, not sure if it's actually used
      in any doors, but here it is anyway.
      620f024e
  2. 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
  3. Apr 19, 2022
  4. Apr 18, 2022
  5. Apr 16, 2022
  6. Apr 15, 2022
  7. Apr 14, 2022
  8. Apr 13, 2022
    • Rob Swindell's avatar
      Fix packet filename in "Gruned message" log entry on Win32 · 30cb0393
      Rob Swindell authored
      e.g. "Grunged message (type 2) from 4:80/1 at offset 58 in packet: (null)"
      
      off_t is 64-bit, but long in 32-bit (on Win32), so needs a typecast here in
      lprintf() call (otherwise, the upper 4 bytes of the offset are interpreted
      as the string address for the corresponding '%s' argument, the filename).
      30cb0393
  9. Apr 12, 2022
  10. Apr 11, 2022
    • Rob Swindell's avatar
      Install OperationCallback for all executed JS scripts · d6d40bc4
      Rob Swindell authored
      JS doors with the "Use Shell or New Context" option enabled in SCFG and JS
      modules installed a global hot key handlers would not automatically terminate
      when the user disconnected (and js.auto_terminate was true, the default).
      I'm not sure why the operation callback was only installed when scope==NULL
      but always installing it fixes the issue with some global hot key modules
      and JS doors becoming "zombies" when a user disconnects while running them.
      d6d40bc4
  11. Apr 09, 2022
  12. Apr 05, 2022
  13. Apr 04, 2022
  14. Apr 03, 2022
Loading