Skip to content
Snippets Groups Projects
  1. Nov 26, 2022
  2. Nov 23, 2022
  3. Nov 20, 2022
  4. Nov 19, 2022
  5. Nov 15, 2022
    • Deucе's avatar
      Add new 3-wire (No RTS) connection type · 0203737e
      Deucе authored
      This is for weird embedded systems where RTS is not supported by
      the communications channel, but is actually controlling something
      else (TX, Bootloader update mode, etc).
      0203737e
  6. Nov 08, 2022
  7. Nov 07, 2022
  8. Nov 06, 2022
  9. Nov 05, 2022
  10. Nov 04, 2022
    • Rob Swindell's avatar
      Resolve undetected or infinitely-retried socket-send failures · 4dd32231
      Rob Swindell authored
      My hub (1:218/700) is currently having what appears to be a TCP/IP
      connectivity issue that was resulting in infinite "Send failure"
      log messages and "We got an M_EOB, but there are still N files pending M_GOT"
      log messages.
      
      I first added better socket-send failure detection (checking return value of
      sendCmd() and sendData() where needed) and then noticed that failure to send
      a file was not detected (the sending.file.position is advanced even if
      sendData() fails), so now handling that condition too.
      
      Also added more diagnostics around socket-send failures (is socket writable?)
      in this particular case, the socket is not writable and socket-send is
      returning 0.
      4dd32231
  11. Oct 24, 2022
  12. Oct 23, 2022
  13. Oct 22, 2022
    • Rob Swindell's avatar
      Fix CID 319174 (Out-of-bounds write) correctly · 6812da2f
      Rob Swindell authored
      This Coverity reported issue was previously resolved (incorrectly) with
      commit 0c441424 which also introduced a bug that ate all the unexpected
      cursor position report characters (causing issue #304).
      
      The correct fix was to compare the response length against the buffer size
      minus one, to leave room for the NUL terminator.
      
      While fixing this and issue #304, I noticed that this function was using the
      response length ('rsp') as both the state machine state and string length,
      which didn't work right if a nearly-matching report/response was received:
      the x/y values would have been stripped from the response before stuffing
      in the keyboard input buffer. So a bit of a refactor here using a proper
      state machine variable.
      6812da2f
  14. Oct 21, 2022
  15. Oct 20, 2022
  16. Oct 19, 2022
  17. Oct 12, 2022
  18. Oct 11, 2022
  19. Oct 10, 2022
    • Rob Swindell's avatar
      Use nearest-zone matching for source FTN address when replying to netmail · 641747f6
      Rob Swindell authored
      Rather than only matching exact zone numbers as a final "nearest" address
      search, use a "nearest zone" matching algorithm ("nearest" being the most
      mathematically near). This way, replying to netmail from a zone 2 address
      would always match a zone 1 source address, regardless of how many othernet
      addresses are configured and which order they are configured in SCFG.
      
      Fixes issue #447 reported by Charles Blackburn (FBOBBS)
      641747f6
  20. Oct 09, 2022
  21. Oct 08, 2022
    • Deucе's avatar
      Fix warning anywhere netwrap.h is included before sockwrap.h · 0fe595ea
      Deucе authored
      sbbs3/../xpdev/netwrap.h:45:27: warning: 'parseIPv6Address' has C-linkage specified, but returns incomplete type 'struct in6_addr' which could be incompatible with C [-Wreturn-type-c-linkage]
      DLLEXPORT struct in6_addr parseIPv6Address(const char*);
                                ^
      0fe595ea
    • Deucе's avatar
      Update to new Coverity Scan, fix new High impact issues · cdec9ba7
      Deucе authored
      New Medium impact and a low impact issue still needs to be triaged.
      cdec9ba7
    • Rob Swindell's avatar
      When user hangs-up on external programs on *nix, try to terminate w/SIGTERM · e7109c87
      Rob Swindell authored
      Previously, when a user disconnected or ran out of time while running a
      stdio-based external program on *nix, if the program was still running, we'd
      send it a SIGHUP, wait up to 10 seconds for the process to terminate and if
      it did not, terminate it (ungracefully) with SIGKILL. Since some programs
      catch SIGTERM (and not SIGHUP) to indicate a termination request, we now will
      first attempt a SIGHUP, wait up to 5 seconds for the process to terminate and
      if it does not, then send a SIGTERM and wait up to another 5 seconds for it
      to terminate and if it doesn't, then finally send it a SIGKILL (which cannot
      be caught and always results in an ungraceful termination of the child
      process).
      
      This doesn't resolve any specific problem with any specific stdio-based
      external program, but I was playing around with ESR's port of Adventure
      (https://gitlab.com/esr/open-adventure) and a new auto-save/restore of game
      state and noticed that we weren't using SIGTERM for this situation, though we
      should have. Most modern programs, if they catch SIGHUP at all, use it to
      indicate a refresh of configuration or data files, not a termination request
      (or indication that a user has "hung up"). So SIGTERM is more reasonable to be
      expected to be caught and initiate the graceful termination of the child
      program that we're hoping for.
      e7109c87
Loading