- fix: multiple enhancements for stability of
npt
under heavy concurrent load
- feat: allow hyphens in device name
- build[deps]: upgrade:
at_client to 3.2.2 | at_onboarding_cli to 1.6.4 | at_utils to 3.0.19 | at_commons to 5.0.0
- feat: npt: added 'keep-alive' flag, and an adjustable session timeout (#1110)
- fix: sshnpd: ensure required directories exist (#1139)
- feat: all: set a 1-minute ttln (notification time-to-live) (#1095)
- feat: sshnp: No double ssh when sockets are encrypted (#1090)
- feat: sshnpd: make daemon storage location map to its device name (#1080)
- feat: sshnpd: add more type validation for session requests (#1063)
- fix: sshnp: various arg parsing issues (#1047)
- feat: sshnpd: add '--sshpublickey-permissions' option (#1004)
- fix: sshnpd,sshnp,npt: better error message if srv binary can't be located (#988)
- feat: include allowed services in device ping
- chore: deprecate -h and --host in favor of -r and --srvd
- feat: allow --list-devices to work without requiring -t or -r
- feat: SrvImplDart: supply a logger to SocketConnector so that the Srv can control what happens with any log messages that SocketConnector emits
- fix: Strict validation of device name as alphanumeric snake case
- feat: Increase device name max length from 15 to 36
- build: upgrade at_chops dependency to ^2.0.0
- chore: downgrade at_commons dependency from ^4.0.1 to ^4.0.0
- chore: downgrade at_client dependency from ^3.0.75 to ^3.0.73
- chore: downgrade at_chops dependency from ^2.0.0 to ^1.0.7
- chore: Uptake at_commons ^4.0.1 (was ^3.0.56)
- fix: lint errors related to the new version of at_commons
- chore: make SrvImpl throw an SshnpError instead of an Exception
- fix: ensure that directories for key creation exist before trying to create them
- fix: ensure that temporary keys are deleted after use
- ci: add srv.exe to the release on Windows
- Added ability to authenticate to the socket rendezvous, and made this the default behaviour.
- Added ability to end-to-end encrypt all traffic via the socket rendezvous ( SR), and made this the default behaviour. This provides a good general defense against compromise by man-in-the-middle attacks if the two ends are communicating via the SR. The encryption is implemented by exchanging a symmetric key via an ephemeral encryption keypair generated by the client for every session.
- Added ability to "ping" a daemon for info about it, including which features the daemon supports.
- By default, sshnp now immediately drops into a prompt for clients that don't
support sshnp.canRunShell().
-x
flag allows the ssh command to be output instead of executing ssh immediately. - Renamed everything sshrvd and sshrv to srvd and srv respectively
- refactor: move the
findLocalPortIfRequired
function toEphemeralPortBinder
, a mixin onSshnpCore
- fix: call
callFindLocalPortIfRequired
during the initialization of the unsigned sshnp client
- feat: Add
--storage-path
option to sshnpd to allow users to specify where it keeps any locally stored data
- fix: Add more supported ssh public key types to the send ssh public key filters for sshnpd.
- fix: Add more supported ssh public key types to the send ssh public key filters for sshnp.
- BREAKING CHANGE fix: changed
list-devices
arg from String option to boolean flag.
- fix(Pure Dart SSH client): send a keep alive to the server to prevent SSHAuthAbortError
- Initial release