Skip to content
Snippets Groups Projects
  1. Nov 23, 2022
  2. Nov 20, 2022
  3. Nov 19, 2022
  4. Nov 15, 2022
    • Deucе's avatar
      Add new 3-wire (No RTS) connection type · ee5f1e62
      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).
      ee5f1e62
  5. Nov 08, 2022
  6. Nov 07, 2022
  7. Nov 06, 2022
  8. Nov 05, 2022
  9. Nov 04, 2022
    • Rob Swindell's avatar
      Resolve undetected or infinitely-retried socket-send failures · b795cf6a
      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.
      b795cf6a
  10. Oct 24, 2022
  11. Oct 23, 2022
  12. Oct 22, 2022
    • Rob Swindell's avatar
      Fix CID 319174 (Out-of-bounds write) correctly · e2098e8c
      Rob Swindell authored
      This Coverity reported issue was previously resolved (incorrectly) with
      commit d02fc1a2 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.
      e2098e8c
  13. Oct 21, 2022
  14. Oct 20, 2022
  15. Oct 19, 2022
  16. Oct 12, 2022
  17. Oct 11, 2022
  18. Oct 10, 2022
    • Rob Swindell's avatar
      Use nearest-zone matching for source FTN address when replying to netmail · c7782d8c
      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)
      c7782d8c
  19. Oct 09, 2022
  20. Oct 08, 2022
    • Deucе's avatar
      Fix warning anywhere netwrap.h is included before sockwrap.h · 4c8e2639
      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*);
                                ^
      4c8e2639
    • Deucе's avatar
      Update to new Coverity Scan, fix new High impact issues · d7096512
      Deucе authored
      New Medium impact and a low impact issue still needs to be triaged.
      d7096512
    • Rob Swindell's avatar
      When user hangs-up on external programs on *nix, try to terminate w/SIGTERM · e1f93e5c
      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.
      e1f93e5c
  21. Oct 07, 2022
    • Rob Swindell's avatar
      Recycle all servers/services after updating certificate · c3283568
      Rob Swindell authored
      Per Deon (ALTERANT) via DOVE-Net:
      
      Oct  7 09:47:16 d-11-1 synchronet: srvc 0060 BINKPS connection accepted from:
      2402:1f00:8101:b3c:1000::2 port 55338
      Oct  7 09:47:16 d-11-1 synchronet: srvc 0060 BINKPS TLS ERROR 'Server
      certificate has expired' (-3) setting private key
      Oct  7 09:47:16 d-11-1 synchronet: srvc 0060 BINKPS TLS ERROR 'Data has not
      been initialised' (-11) setting session active
      
      Which was odd, because my cert was renewed.
      
      I forced renewed it, and confirmed it was valid, but they were still failing.
      
      I noticed that letsyncrypt only recycles the web, which is probably the issue.
      Once I recycled everything, binkps connections started working again.
      c3283568
Loading