Skip to content
Snippets Groups Projects
  1. Apr 15, 2020
    • deuce's avatar
      Pass CTRL-x through as the respective ATASCII graphics characters. · c8fb79da
      deuce authored
      Requested by Jeffrey S. Worley.
      
      Note: There's still no way to send ◢, ▗, ◣, and 🮂 as these are mapped
      to Backspace, Tab, Line Feed, and Carriage Return respectively.
      c8fb79da
    • deuce's avatar
      Add an SDL beep to allow the first beep to not block the console. · f918c402
      deuce authored
      (successive beeps currently still will)
      f918c402
    • deuce's avatar
      Various thread safety issues... · 5b1f0487
      deuce authored
      Make xptone_open()/close() reference count in threaded mode.
      Use pthread_once() for init.
      Use a semaphore to ensure the sample play thread is only started once.
      Expose makewave()
      5b1f0487
    • rswindell's avatar
      Added 2 new environment variables dynamically-defined when launching DOS · a3cdd3b8
      rswindell authored
      programs: PCBDRIVE (the drive letter of the current node directory) and PCBDIR
      (the path to the current node directory, without the drive letter).
      
      These emulate the same variables crated by PCBoard.
      
      The reason these are being added is that Sunrise Door Software's 16-bit doors
      contain special support for these environment vars when used in their .CFG files
      (e.g. %PCBDIR%DOOR.SYS) and this allows easy multi-node configuration with a
      single .CFG file. The SBBSNODE environment varialbe would have worked perfectly
      fine for this purpose, but apparently Sunrise Doors (or the DoorFrame
      development kit they utilized) has hard-coded these PCBoard (and Wildcat!)
      environment variable names, so SBBSNODE wont' work for this purpose.
      
      For Synchronet-Win32, you will need the DOSXTRN.EXE revision 25 or later
      or you may experience NTVDM crashes when running external DOS programs.
      a3cdd3b8
    • rswindell's avatar
      So 20 years ago I decided that the DOSXTRN.ENV file created by SBBS would never · dfe45581
      rswindell authored
      have more than 10 environment variables defined in it. I added no bounds
      checking or dynamic allocation, so if the file contained more than 10
      environment variables (and it has since 2002), other stack memory in DOSXTRN
      would get over-written (classic buffer overflow).
      
      When I recently experimented with adding another environment variable (PCBDIR),
      all dosxtrn NTVDM instances would crash with a familiar but mysterious error
      dialog. This bug may have been causing other dosxtrn instances to crash for a
      long tmie.
      I also had an arbitrary limit on the number of command-line arguments, 16, with
      no bounds-checking, so passing a long list of space-separated arguments could
      also crash DOSXTRN.
      
      So I've increased both limits to 32 and added bounds checking. I had to break
      out the old 16-bit MSVC (v1.52) and an NT2K DDK (and remove the 64-bit int
      stuff from gen_defs.h) to get this thing to build. But here it is. Updated
      again after all these years. Who'd a thunk.
      dfe45581
    • rswindell's avatar
      Increase the SpyTimerTick read chunk from 1KB-1 to 8KB. This appears · e85eeed0
      rswindell authored
      to resolve the infinite loop when emulvt.pas received terminal sequences it
      doesn't like (e.g. SyncTERM font-transfers).
      e85eeed0
    • rswindell's avatar
      7a65830c
    • rswindell's avatar
      Updated patched v3.4.5 Cryptlib for Win32: · 762cb2b5
      rswindell authored
      So Deuce spent a lot of effort creating patches to the original Cryptlib v3.4.5
      source files to tune cipher-suite selections/priorities to make modern SSH
      clients (e.g. OpenSSH v7.6) and HTTPS/TLS browsers or security-checking
      software happy. See the current list of 3rdp/build/cl-*.patch files for details.
      762cb2b5
    • rswindell's avatar
      Warn the sysop that changing the System Password will require a regeneration · dedf7e22
      rswindell authored
      of the Cryptlib private key (cryptlib.key) and TLS certificate (ssl.cert) files.
      When the system password is changed, prompt to delete the cryptlib.key and
      ssl.cert files for the sysop.
      
      This is sort of hacky-yucky but better than answering this FAQ all the time.
      dedf7e22
    • rswindell's avatar
      Include the VOTING.DAT section name in errors reported from qwk_vote() for · 3da9ce2d
      rswindell authored
      better traceability.
      3da9ce2d
    • rswindell's avatar
      Fix bug in qwk_handle_remaining_votes(): If a QWK packet was not fully imported · 22dc399a
      rswindell authored
      (e.g. because the console/terminal server was terminated locally), this routine
      would attempt to handle any remaining (unhandled) vote mesages and throw-up
      checking "conference number" access=0 invalid=invalid errors
      because it was trying to process all the (unhandled) sections in the VOTING.DAT
      file rather than just the sections beginning with the applicable section
      prefixes ("poll:", "vote:" or "close:"). Every other section is actually just a
      hex offset into the MESSAGES.DAT file and does not contain the "Conference"
      key that qwk_vote() was expecting to find.
      22dc399a
    • rswindell's avatar
      800b53e5
    • rswindell's avatar
    • rswindell's avatar
      smb_open_sub() will now create the msgbase if hasn't been created yet. · 9391ac78
      rswindell authored
      I noticed that more than one caller of smb_open_sub() would not call
      smb_create() if the sub had not been previously "created" and in some of the
      instances where they did call smb_create(), if create failed, the message base
      was errorneously left open. So just do the create here to elmiinate the chance
      of error (forgetting) and redundancy of logic.
      9391ac78
  2. Apr 14, 2020
  3. Apr 13, 2020
Loading