Skip to content
Snippets Groups Projects
  1. Dec 05, 2024
  2. Dec 04, 2024
  3. Dec 03, 2024
    • Deucе's avatar
      Introduce portable.h for ugly hacks · 1ab78800
      Deucе authored
      The plan is to hide non-standard stuff in here.  Currently, just
      has [[maybe-unused]] from C23.
      1ab78800
    • Deucе's avatar
      Use FindOpenSSL instead of pkg-config for OpenSSL · c65fe446
      Deucе authored
      c65fe446
    • Deucе's avatar
      Start of DeuceSSH · 1998f435
      Deucе authored
      The intent is that this will be a library implementation of SSH
      which allows simple extension of the base protocol, and exposes all
      defined features of the protocol (including ones nobody uses).
      
      This will support both client and server, with initial focus on the
      client implementation for use in SyncTERM.
      
      The goal of the core library is to only support the most secure
      standard methods.  When there are multiple methods that are not
      clearly of differing levels of security, the most common two will
      be implemented (ie: RSA and Ed25519).
      
      Additionally, care will be taken during development to allow for
      the OpenSSH Encrypt-then-MAC MAC modes in the expectation that
      someone will standardize an ETM mode at some point, and I expect
      to write an extension to support it soon after DeuceSSH is
      complete.
      
      Finally, if I cannot mitigate Terrapin without non-standard
      extensions, the OpenSSH "strict KEX" extension will be supported
      until there's a standard defined that solves the issue.
      1998f435
    • Rob Swindell's avatar
      On Windows, lock the opened mutex file to insure *nix sopen() will fail · 11af4bd4
      Rob Swindell authored
      Even though we use O_EXCL, networked file systems still sometimes allow the
      secondary open() to succeed. We use record locking in xpdev's sopen()
      implementation for *nix, so this lock will insure such opens (and locks) will
      now fail.
      
      This is an attempt to address occassional error on Vertrauen:
      ERROR 2 (No such file or directory) renaming *.rep to *.bad
      11af4bd4
    • Rob Swindell's avatar
    • Rob Swindell's avatar
      Check return value of writeuserfields() in putuserstr() · ccef9d28
      Rob Swindell authored
      Return correct error value upon seek failure.
      ccef9d28
    • Rob Swindell's avatar
      Don't use flock() in sopen() since it ends up using non-OFD fcntl() locks · 77a77109
      Rob Swindell authored
      When OFD locks are available, that's what we should be using.
      Otherwise, we suffer the horrible behavior of POSIX file/region locks and
      a subsequent open/close of the file releases any/all locks on it.
      
      This is currently in an !BSD block, which appears to include macOS, but
      macOS *does* support OFD locks, so I'll be fixing that here shortly.
      77a77109
  4. Dec 02, 2024
  5. Dec 01, 2024
    • Rob Swindell's avatar
      Unify the int return values of userdat.c functions · 44710259
      Rob Swindell authored
      These functions now return a common set of non-zero error values (where
      appropriate), defined in userdat.h
      
      Don't return errno.
      44710259
    • Rob Swindell's avatar
      Simplify the getnode.cpp API - use bool returns, default paramaeter value · 62ed3d3a
      Rob Swindell authored
      getnodedat() now performs a non-locked read by default.
      
      Perform more checks of getnodedat() return value before calling putnodedat()
      to avoid unintentionally zeroing out node.dab records.
      
      Add/use unlocknodedat() method for unlocking a node.dab record without
      writing.
      
      Note: The userdat.c getnodedat() and putnodedat() still return int (i.e. 0 on
      success), so that can be confusing.
      62ed3d3a
    • Rob Swindell's avatar
      Don't call uifc.bail() repeatedly · 322cccd5
      Rob Swindell authored
      Since this script already sets an on_exit() handler to call uifc.bail()
      it doesn't have to call it again (technically, before) in the "Done" block.
      This results in "UIFC is unitialized" error displayed, as reported by
      Fernando Toledo. Fixing issue #830
      
      Set WIN_ESC (remains active, but greyed when ESC key pressed) mode flag
      on main menu while we're here. That looks better.
      322cccd5
Loading