UNPKG

@bobsled/ssh2

Version:

SSH2 client and server modules written in pure JavaScript for node.js

697 lines (651 loc) 163 kB
# v1.16.3 (Wed Jan 22 2025) #### ⚠️ Pushed to `master` - Merge remote-tracking branch 'origin/master' ([@J4cku](https://github.com/J4cku)) - Update maxReadLen ([@J4cku](https://github.com/J4cku)) #### Authors: 1 - Jacek Leszczyński ([@J4cku](https://github.com/J4cku)) --- # v1.16.2 (Wed Jan 22 2025) #### ⚠️ Pushed to `master` - Update maxReadLen ([@J4cku](https://github.com/J4cku)) #### Authors: 1 - Jacek Leszczyński ([@J4cku](https://github.com/J4cku)) --- # v1.15.7 (Wed Jan 15 2025) #### ⚠️ Pushed to `master` - package: bump version to v1.16.0 ([@mscdex](https://github.com/mscdex)) - readme: fix Github markdown rendering ([@mscdex](https://github.com/mscdex)) - readme: update hostVerifier documentation ([@mscdex](https://github.com/mscdex)) - keyParser: fix equals() ([@mscdex](https://github.com/mscdex)) - client: fix implicit key hashing during rekey (ishan37371@gmail.com) #### Authors: 2 - Ishan (ishan37371@gmail.com) - mscdex ([@mscdex](https://github.com/mscdex)) --- # v1.15.6 (Thu Aug 08 2024) #### ⚠️ Pushed to `master` - FIX: fixed issue with multipart ([@williams-bobsled](https://github.com/williams-bobsled)) #### Authors: 1 - Williams ([@williams-bobsled](https://github.com/williams-bobsled)) --- # v1.15.5 (Wed Aug 07 2024) #### ⚠️ Pushed to `master` - ADD: Added back ignore ([@williams-bobsled](https://github.com/williams-bobsled)) - MOD: removed crypto ([@williams-bobsled](https://github.com/williams-bobsled)) - MOD: ignored back vrypto ([@williams-bobsled](https://github.com/williams-bobsled)) - ADD: Added crypto build to package ([@williams-bobsled](https://github.com/williams-bobsled)) #### Authors: 1 - Williams ([@williams-bobsled](https://github.com/williams-bobsled)) --- # v1.15.3 (Wed Aug 07 2024) #### ⚠️ Pushed to `master` - ADD: pnpm to action ([@williams-bobsled](https://github.com/williams-bobsled)) - MOD: minor changes ([@williams-bobsled](https://github.com/williams-bobsled)) - MOD: minor lint fixes ([@williams-bobsled](https://github.com/williams-bobsled)) - MOD: removed build comand ([@williams-bobsled](https://github.com/williams-bobsled)) - fixed package ([@williams-bobsled](https://github.com/williams-bobsled)) #### Authors: 1 - Williams ([@williams-bobsled](https://github.com/williams-bobsled)) --- # v1.15.3 (Wed Aug 07 2024) #### ⚠️ Pushed to `master` - MOD: minor lint fixes ([@williams-bobsled](https://github.com/williams-bobsled)) - MOD: removed build comand ([@williams-bobsled](https://github.com/williams-bobsled)) - fixed package ([@williams-bobsled](https://github.com/williams-bobsled)) #### Authors: 1 - Williams ([@williams-bobsled](https://github.com/williams-bobsled)) --- # v1.15.2 (Wed Aug 07 2024) #### 🐛 Bug Fix - Sled [#2](https://github.com/rhizo-co/ssh2/pull/2) ([@williams-bobsled](https://github.com/williams-bobsled)) - Sled [#1](https://github.com/rhizo-co/ssh2/pull/1) ([@eastlondoner](https://github.com/eastlondoner) [@williams-bobsled](https://github.com/williams-bobsled)) #### ⚠️ Pushed to `master` - ADD: Added auto (williams@bobsled.co) - ci: bump setup-python to v5 ([@mscdex](https://github.com/mscdex)) - ci: bump checkout and setup-node to v4 ([@mscdex](https://github.com/mscdex)) - ci: add node v22.x ([@mscdex](https://github.com/mscdex)) - package: bump cpu-features to v0.0.10 and nan to v2.20.0 ([@mscdex](https://github.com/mscdex)) - SFTP: replace deprecated util.isDate() ([@wdavidw](https://github.com/wdavidw)) - package: bump version to v1.15.0 ([@mscdex](https://github.com/mscdex)) - package: bump nan to v2.18.0 ([@mscdex](https://github.com/mscdex)) - ci: update test workflow ([@mscdex](https://github.com/mscdex)) - lib: add strict key exchange mode support ([@mscdex](https://github.com/mscdex)) - package: bump cpu-features version to v0.0.9 ([@mscdex](https://github.com/mscdex)) - ci: update workflows ([@mscdex](https://github.com/mscdex)) - package: bump version to v1.14.0 ([@mscdex](https://github.com/mscdex)) - package: bump cpu-features to v0.0.8 ([@mscdex](https://github.com/mscdex)) - ci: attempt to fix Python 2.7 support ([@mscdex](https://github.com/mscdex)) - ci: switch Python 2.7 installation method ([@mscdex](https://github.com/mscdex)) - protocol/kex: always immediately update decipher ([@mscdex](https://github.com/mscdex)) - package: bump version to v1.13.0 ([@mscdex](https://github.com/mscdex)) - package: bump various dependency versions ([@mscdex](https://github.com/mscdex)) - test: add keygen tests ([@mscdex](https://github.com/mscdex)) - keyParser: style fix ([@mscdex](https://github.com/mscdex)) - keyParser: ensure auto padding is disabled ([@mscdex](https://github.com/mscdex)) - keygen: fix undefined value ([@mscdex](https://github.com/mscdex)) - lib,readme: add key generators ([@mscdex](https://github.com/mscdex)) - lib: add initial SSH key generators ([@mscdex](https://github.com/mscdex)) - package: bump version to v1.12.0 ([@mscdex](https://github.com/mscdex)) - ci: update lint workflow ([@mscdex](https://github.com/mscdex)) - test: fix race condition causing intermittent test failure ([@mscdex](https://github.com/mscdex)) - ci: add node v20.x ([@mscdex](https://github.com/mscdex)) - lib: add server-sig-algs support ([@mscdex](https://github.com/mscdex)) - readme: fix typo ([@mscdex](https://github.com/mscdex)) - package: bump cpu-features dep to v0.0.6 ([@mscdex](https://github.com/mscdex)) - package: bump nan to ^2.17.0, cpu-features to ~0.0.5 ([@mscdex](https://github.com/mscdex)) - ci: update action versions ([@mscdex](https://github.com/mscdex)) - client,server: add setNoDelay() ([@mscdex](https://github.com/mscdex)) - readme: add missing property for client pty requests ([@mscdex](https://github.com/mscdex)) - SFTP: add support for newer extension requests ([@mscdex](https://github.com/mscdex)) - SFTP: fix ext_openssh_expandPath() callback value type ([@mscdex](https://github.com/mscdex)) - lib: fix lint issues ([@mscdex](https://github.com/mscdex)) - crypto: mark binding as worker-enabled ([@mscdex](https://github.com/mscdex)) - crypto: expand scope of disabled warning ([@mscdex](https://github.com/mscdex)) - docs: add missing SFTP copy-data extended request ([@mscdex](https://github.com/mscdex)) - readme: fix incomplete authHandler documentation ([@mscdex](https://github.com/mscdex)) - package: bump version to v1.11.0 ([@mscdex](https://github.com/mscdex)) - package: bump eslint-config dev dependency version ([@mscdex](https://github.com/mscdex)) - package: bump nan dependency version ([@mscdex](https://github.com/mscdex)) - package: bump version to v1.10.0 ([@mscdex](https://github.com/mscdex)) - SFTP: drain buffer if channel opened with empty window ([@mscdex](https://github.com/mscdex)) - ci: add node v18.x ([@mscdex](https://github.com/mscdex)) - crypto: work around deprecated OpenSSL APIs ([@mscdex](https://github.com/mscdex)) - crypto: ignore useless gcc warnings ([@mscdex](https://github.com/mscdex)) - SFTP: rename closed status property ([@mscdex](https://github.com/mscdex)) - SFTP: fix read() callback buffer argument ([@mscdex](https://github.com/mscdex)) - SFTP: add copy-data extended request ([@mscdex](https://github.com/mscdex)) - package: bump version to v1.9.0 ([@mscdex](https://github.com/mscdex)) - package: bump cpu-features to v0.0.4 ([@mscdex](https://github.com/mscdex)) - package: bump version to v1.8.0 ([@mscdex](https://github.com/mscdex)) - package: bump cpu-features to v0.0.3 ([@mscdex](https://github.com/mscdex)) - install,lib: fix issues where node's bundled OpenSSL and linked OpenSSL differ ([@mscdex](https://github.com/mscdex)) - binding: remove superfluous EVP_CIPHER_CTX_cleanup() ([@mscdex](https://github.com/mscdex)) - package: bump version to v1.7.0 ([@mscdex](https://github.com/mscdex)) - protocol: fatal error due to undefined DISCONNECT_REASON (vinay@smplabs.com) - lib,test: add initial support for node v17+ ([@mscdex](https://github.com/mscdex)) - protocol: add simple cipher and mac algorithm checks ([@mscdex](https://github.com/mscdex)) - package: bump version to v1.6.0 ([@mscdex](https://github.com/mscdex)) - SFTP: fix lint issue ([@mscdex](https://github.com/mscdex)) - SFTP: be less strict with status response parsing ([@mscdex](https://github.com/mscdex)) - keyParser: fix returning of errors ([@Marcel-a](https://github.com/Marcel-a)) - protocol/constants: re-add non-OpenSSH variants of 'aes128-gcm' and 'aes256-gcm' to supported ciphers ([@cole-mujadzic-liongard](https://github.com/cole-mujadzic-liongard)) - Channel: return `this` from `destroy()` ([@danielroe](https://github.com/danielroe)) - bump version to v1.5.0 ([@mscdex](https://github.com/mscdex)) - lib: fix server channel cleanup for bare sessions ([@mscdex](https://github.com/mscdex)) - test: remove non-OpenSSH GCM ciphers ([@mscdex](https://github.com/mscdex)) - client,Protocol: make protocol start explicit ([@mscdex](https://github.com/mscdex)) - readme: fix markdown ([@mscdex](https://github.com/mscdex)) - protocol/constants: remove non-OpenSSH GCM cipher names ([@mscdex](https://github.com/mscdex)) - protocol/crypto: simplify null deciphering ([@mscdex](https://github.com/mscdex)) - protocol/kex: fix Cisco-specific payload rewriting ([@mscdex](https://github.com/mscdex)) - docs: fix markdown rendering ([@mscdex](https://github.com/mscdex)) - docs: add missing SFTP OpenSSH extension functions ([@mscdex](https://github.com/mscdex)) - bump version to 1.4.0 ([@mscdex](https://github.com/mscdex)) - protocol/crypto: fix CBC decrypting in binding ([@mscdex](https://github.com/mscdex)) - Protocol: add type check ([@mscdex](https://github.com/mscdex)) - SFTP: increase max packet length, add missing OpenSSH extensions ([@mscdex](https://github.com/mscdex)) - test: fix OpenSSH key auth checking ([@mscdex](https://github.com/mscdex)) - bump version to 1.3.0 ([@mscdex](https://github.com/mscdex)) - protocol/kex: do not wait to send NEWKEYS ([@mscdex](https://github.com/mscdex)) - readme: fix parseKey usage in example ([@xxorax](https://github.com/xxorax)) - readme: sort event, method, and property names ([@mscdex](https://github.com/mscdex)) - docs: fix typos ([@bl-ue](https://github.com/bl-ue)) - test: fix lint issue ([@mscdex](https://github.com/mscdex)) - Server: allow injected sockets ([@mscdex](https://github.com/mscdex)) - bump version to 1.2.0 ([@mscdex](https://github.com/mscdex)) - Protocol: squeeze ident and CRLF into same write ([@mscdex](https://github.com/mscdex)) - SFTP: fix channel status checking ([@mscdex](https://github.com/mscdex)) - crypto: remove emscripten's unhandledRejection handler ([@mscdex](https://github.com/mscdex)) - lib: add hostkeys-00 support ([@mscdex](https://github.com/mscdex)) - protocol/kex: fix preferred prime size calculation ([@mscdex](https://github.com/mscdex)) - readme: fix authHandler value type ([@mscdex](https://github.com/mscdex)) - test: skip OpenSSH integration tests on Windows ([@mscdex](https://github.com/mscdex)) - test: improve log message ([@mscdex](https://github.com/mscdex)) - test: bypass ssh-agent test on Windows for now ([@mscdex](https://github.com/mscdex)) - binding: avoid missing symbol on Windows ([@mscdex](https://github.com/mscdex)) - binding: avoid VLA to appease MSVC ([@mscdex](https://github.com/mscdex)) - ci: remove windows-build-tools ([@mscdex](https://github.com/mscdex)) - ci: add windows target ([@mscdex](https://github.com/mscdex)) - version: v1.1.0 ([@mscdex](https://github.com/mscdex)) - ci: add explicit minimum node version ([@mscdex](https://github.com/mscdex)) - lib: perform async crypto init ([@mscdex](https://github.com/mscdex)) - version: v1.0.0 ([@mscdex](https://github.com/mscdex)) - package: bump nan version ([@mscdex](https://github.com/mscdex)) - ci: update github lint workflow ([@mscdex](https://github.com/mscdex)) - package: use external lint config ([@mscdex](https://github.com/mscdex)) - readme: add missing authHandler() changes ([@mscdex](https://github.com/mscdex)) - SFTP: explicitly set autoClose option for node 14+ ([@imatlopez](https://github.com/imatlopez)) - lib,test: fix lint issues ([@mscdex](https://github.com/mscdex)) - client: prevent reserved channel leak on rejected channel open ([@mscdex](https://github.com/mscdex)) - lib: add more flexible auth handling ([@mscdex](https://github.com/mscdex)) - keyParser: don't return array for newer OpenSSH keys ([@mscdex](https://github.com/mscdex)) - Channel: call both end() and close() on destroy ([@mscdex](https://github.com/mscdex)) - Channel: use close() for destroy() ([@mscdex](https://github.com/mscdex)) - lib: clean up various TODOs ([@mscdex](https://github.com/mscdex)) - lib: remove outdated comment ([@mscdex](https://github.com/mscdex)) - ci: node v15.x->v16.x ([@mscdex](https://github.com/mscdex)) - test: make assertion more reliable ([@mscdex](https://github.com/mscdex)) - Client: emit just one error on connection fail ([@mscdex](https://github.com/mscdex)) - lint: update rules ([@mscdex](https://github.com/mscdex)) - lib: fix read() overflow handling ([@mscdex](https://github.com/mscdex)) - test: include more error details ([@mscdex](https://github.com/mscdex)) - lib: fix ident parsing ([@mscdex](https://github.com/mscdex)) - keyParser: make RFC4716 key parsing more strict ([@mscdex](https://github.com/mscdex)) - SFTP: adjust packet length calculations ([@mscdex](https://github.com/mscdex)) - Client,Server: handle protocol parsing errors ([@mscdex](https://github.com/mscdex)) - protocol/kex: remove old comment ([@mscdex](https://github.com/mscdex)) - protocol/crypto: fix OpenSSL error handling in binding ([@mscdex](https://github.com/mscdex)) - protocol/kex: fix lint issue ([@mscdex](https://github.com/mscdex)) - SFTP: fix incorrect outgoing data buffering ([@mscdex](https://github.com/mscdex)) - test: fix expired certificate ([@mscdex](https://github.com/mscdex)) - SFTP: fix comment typo ([@mscdex](https://github.com/mscdex)) - SFTP: clean up outstanding requests on close ([@mscdex](https://github.com/mscdex)) - SFTP: use stricter type checking ([@mscdex](https://github.com/mscdex)) - Protocol: add length in CHANNEL_DATA debug output ([@mscdex](https://github.com/mscdex)) - protocol/kex: fix group exchange implementation ([@mscdex](https://github.com/mscdex)) - lib: add workaround for node regression ([@mscdex](https://github.com/mscdex)) - test: fix event count expection ([@mscdex](https://github.com/mscdex)) - Client: remove 'error' event check ([@mscdex](https://github.com/mscdex)) - ci: always run on all versions ([@mscdex](https://github.com/mscdex)) - Client: emit error on pre-handshake connection loss ([@mscdex](https://github.com/mscdex)) - Protocol: allocate NullCipher early ([@mscdex](https://github.com/mscdex)) - ci: add node v15.x ([@mscdex](https://github.com/mscdex)) - ci,readme: remove Travis CI ([@mscdex](https://github.com/mscdex)) - ci: fix module installation ([@mscdex](https://github.com/mscdex)) - ci: first attempt at Github Actions ([@mscdex](https://github.com/mscdex)) - crypto: use correct length in memset() ([@mscdex](https://github.com/mscdex)) - crypto: fix array initialization in binding ([@mscdex](https://github.com/mscdex)) - Server: remove outdated comment ([@mscdex](https://github.com/mscdex)) - httpAgents: add another workaround, this time for node v12.x only ([@mscdex](https://github.com/mscdex)) - httpAgents: add workaround for node regression ([@mscdex](https://github.com/mscdex)) - test: fix client/server config copying ([@mscdex](https://github.com/mscdex)) - test: include test name in exception ([@mscdex](https://github.com/mscdex)) - test: fix OpenSSH test timing out ([@mscdex](https://github.com/mscdex)) - test: fix client/server config handling ([@mscdex](https://github.com/mscdex)) - test: exit non-zero for any failing test file ([@mscdex](https://github.com/mscdex)) - ci: add node v15 ([@mscdex](https://github.com/mscdex)) - Server: fix channel end detection ([@mscdex](https://github.com/mscdex)) - test: add openssh_forwardOutStreamLocal() test ([@mscdex](https://github.com/mscdex)) - lib: fix channel end, close event order ([@mscdex](https://github.com/mscdex)) - readme,Server: remove ctx.sigAlgo and update docs ([@mscdex](https://github.com/mscdex)) - keyParser: fix ASCII hex digit check ([@mscdex](https://github.com/mscdex)) - lib: fix regexp-based algorithm matching ([@mscdex](https://github.com/mscdex)) - lib: match public name for consistency ([@mscdex](https://github.com/mscdex)) - readme: fix algorithms documentation ([@mscdex](https://github.com/mscdex)) - test: add http(s) agent tests ([@mscdex](https://github.com/mscdex)) - lib: add workaround for ended streams ([@mscdex](https://github.com/mscdex)) - lib: fix http(s) agent ([@mscdex](https://github.com/mscdex)) - Server: fix missing server flags ([@mscdex](https://github.com/mscdex)) - test: fix debug output handling ([@mscdex](https://github.com/mscdex)) - lib: fix signal handling ([@mscdex](https://github.com/mscdex)) - readme: add further clarification to optional dependency ([@mscdex](https://github.com/mscdex)) - readme: mention optional package dependency ([@mscdex](https://github.com/mscdex)) - lib: re-add password change mechanism ([@mscdex](https://github.com/mscdex)) - test: add debug test ([@mscdex](https://github.com/mscdex)) - package: fix main entry point ([@mscdex](https://github.com/mscdex)) - test: fix flaky subsystem test ([@mscdex](https://github.com/mscdex)) - Server: fix keyboard-interactive handling ([@mscdex](https://github.com/mscdex)) - test: expand code coverage ([@mscdex](https://github.com/mscdex)) - lib: remove unused code ([@mscdex](https://github.com/mscdex)) - test: refactor tests ([@mscdex](https://github.com/mscdex)) - lib: ensure cleanup when server connections end ([@mscdex](https://github.com/mscdex)) - SFTP: fix `fs` usage again ([@mscdex](https://github.com/mscdex)) - test: add setWindow()/'window-change' test ([@mscdex](https://github.com/mscdex)) - test: simplify exec test ([@mscdex](https://github.com/mscdex)) - test: be more strict about function invocations ([@mscdex](https://github.com/mscdex)) - doc: update SFTP documentation ([@mscdex](https://github.com/mscdex)) - test: add zlib tests ([@mscdex](https://github.com/mscdex)) - SFTP: fix constants usage ([@mscdex](https://github.com/mscdex)) - install: explicitly pass target to node-gyp ([@mscdex](https://github.com/mscdex)) - crypto: remove commented code ([@mscdex](https://github.com/mscdex)) - examples,lib,test: switch to code rewrite ([@mscdex](https://github.com/mscdex)) - bump version ([@mscdex](https://github.com/mscdex)) - package: bump ssh2-streams dependency ([@mscdex](https://github.com/mscdex)) - ci: add node v13 for curve25519 testing ([@mscdex](https://github.com/mscdex)) - test: add fix for recent node versions ([@mscdex](https://github.com/mscdex)) - readme: update node version requirement ([@mscdex](https://github.com/mscdex)) - package: update ssh2-streams dependency ([@mscdex](https://github.com/mscdex)) - test: add GCM rekey test ([@mscdex](https://github.com/mscdex)) - package: bump ssh2-streams dep version ([@mscdex](https://github.com/mscdex)) - package: bump ssh2-streams dep version ([@KodeStar](https://github.com/KodeStar)) - readme: fix signature verification ([@fredericosilva](https://github.com/fredericosilva)) - readme: fix 'close' event documentation ([@mscdex](https://github.com/mscdex)) - Client: check stderr.resume is a function first ([@mscdex](https://github.com/mscdex)) - test: fix some tests on OpenSSH 8.0+ ([@mscdex](https://github.com/mscdex)) - test: misc changes for OpenSSH integration tests ([@mscdex](https://github.com/mscdex)) - readme: switch to forwardOut() for connection hop ([@mscdex](https://github.com/mscdex)) - lib: add http(s).Agent implementations ([@mscdex](https://github.com/mscdex)) - examples: add missing break statement (andrew@whosonlocation.com) - Client: Support terminal modes in pty options (thingalon@gmail.com) - Channel: increase max window size ([@mscdex](https://github.com/mscdex)) - Server: fix new OpenSSH key usage ([@mscdex](https://github.com/mscdex)) - ci: add node v12 ([@mscdex](https://github.com/mscdex)) - readme: minor updates ([@mscdex](https://github.com/mscdex)) - lib: add ed25519 key support ([@mscdex](https://github.com/mscdex)) - readme: remove references to stderr for shell() ([@mscdex](https://github.com/mscdex)) - Client: support localAddress and localPort config options ([@mscdex](https://github.com/mscdex)) - Server: provide client socket family and port number ([@mscdex](https://github.com/mscdex)) - readme: add valid authentication method names ([@mscdex](https://github.com/mscdex)) - test: correct assertion message ([@AndrewLane](https://github.com/AndrewLane)) - Agent: assume Windows pipe path is an ssh-agent socket ([@SchoofsKelvin](https://github.com/SchoofsKelvin)) - Client: support custom X11 protocol and cookie ([@mscdex](https://github.com/mscdex)) - test: cleanup ([@mscdex](https://github.com/mscdex)) - Channel: simplify incoming state check ([@mscdex](https://github.com/mscdex)) - Client: add missing null checks for objects ([@mscdex](https://github.com/mscdex)) - readme: update server examples ([@mscdex](https://github.com/mscdex)) - Client: add check for newer OpenSSH key format ([@mscdex](https://github.com/mscdex)) - client: allow custom auth handling function ([@mscdex](https://github.com/mscdex)) - readme: fix node version requirement ([@mscdex](https://github.com/mscdex)) - ci: remove node v4 ([@mscdex](https://github.com/mscdex)) - lib,test: fix ssh2-streams API usage ([@mscdex](https://github.com/mscdex)) - readme: fix hostHash description ([@mscdex](https://github.com/mscdex)) - Channel: allow window adjustments after closing stdin ([@mscdex](https://github.com/mscdex)) - lib: move utility function to only file it's used in ([@mscdex](https://github.com/mscdex)) - test: increase test timeout ([@mscdex](https://github.com/mscdex)) - Client: don't emit handshake timeout error on handshake error ([@mscdex](https://github.com/mscdex)) - Client: fix compatibility with node v10.x ([@mscdex](https://github.com/mscdex)) - test: check error level ([@mscdex](https://github.com/mscdex)) - Server: fix compatibility with node v10.x ([@mscdex](https://github.com/mscdex)) - Client: only set error level when not defined ([@mscdex](https://github.com/mscdex)) - ci: replace node v9 with v10 ([@mscdex](https://github.com/mscdex)) - lib,test: use more generic sha1 hash ([@mscdex](https://github.com/mscdex)) - meta: update ssh2-streams dependency ([@mscdex](https://github.com/mscdex)) - lib,test: update code for modern node versions ([@mscdex](https://github.com/mscdex)) - Client: call outstanding channel open request callbacks on cleanup ([@mscdex](https://github.com/mscdex)) - Server: export incoming client class ([@131](https://github.com/131)) - Client: fix OpenSSH UNIX socket forwarding support ([@mscdex](https://github.com/mscdex)) - test: add test timeout ([@mscdex](https://github.com/mscdex)) - readme: add TOC ([@mscdex](https://github.com/mscdex)) - readme: document timing attacks in server examples ([@pzrq](https://github.com/pzrq)) - Client: fix empty username checking ([@mscdex](https://github.com/mscdex)) - Client: allow env vars to be sent with shell() ([@mscdex](https://github.com/mscdex)) - test: fix tests after auth method order change ([@mscdex](https://github.com/mscdex)) - Client: try 'none' auth first ([@mscdex](https://github.com/mscdex)) - Client: disable TCP keepalive ([@mscdex](https://github.com/mscdex)) - ci: add node v7 ([@mscdex](https://github.com/mscdex)) - Client: catch and emit data signing errors ([@mscdex](https://github.com/mscdex)) - readme,test: update documentation and tests to align with upstream changes ([@mscdex](https://github.com/mscdex)) - test: simplify assertion message generation ([@mscdex](https://github.com/mscdex)) - test: add test for handshake errors ([@mscdex](https://github.com/mscdex)) - Client: add workaround for binding on port 0 with OpenSSH 5.x server ([@mscdex](https://github.com/mscdex)) - Channel: adjust window sooner ([@mscdex](https://github.com/mscdex)) - readme: document `env` event for server session objects ([@mscdex](https://github.com/mscdex)) - examples: update code examples ([@mscdex](https://github.com/mscdex)) - ci: add node v6.x ([@mscdex](https://github.com/mscdex)) - test: fix OpenSSH version parsing ([@mscdex](https://github.com/mscdex)) - ci: output installed OpenSSH version ([@mscdex](https://github.com/mscdex)) - test: restrict OpenSSH flag to specific versions ([@mscdex](https://github.com/mscdex)) - test: re-enable OpenSSH DSS/DSA key support ([@mscdex](https://github.com/mscdex)) - test: add encrypted private key auth test ([@mscdex](https://github.com/mscdex)) - readme: fix examples' style ([@mscdex](https://github.com/mscdex)) - readme: add travis-ci badge ([@mscdex](https://github.com/mscdex)) - test: fix syntax error ([@mscdex](https://github.com/mscdex)) - Channel: fix premature emitting of close event ([@mscdex](https://github.com/mscdex)) - lib: clean up outstanding callbacks on channel close ([@mscdex](https://github.com/mscdex)) - Channel: fix premature stderr closing on server ([@mscdex](https://github.com/mscdex)) - test: fix fingerprint verification test ([@mscdex](https://github.com/mscdex)) - Client: support async host fingerprint verification ([@mscdex](https://github.com/mscdex)) - test: fix file permissions to avoid OpenSSH client issues ([@mscdex](https://github.com/mscdex)) - test: add server tests with OpenSSH client ([@mscdex](https://github.com/mscdex)) - Server: guarantee global-request reply order (richard.bann@vertis.com) - examples: add a download-only SFTP server example ([@uberbrady](https://github.com/uberbrady)) - test: add missing version check ([@mscdex](https://github.com/mscdex)) - test: update version check ([@mscdex](https://github.com/mscdex)) - Client: remove dsa-specific signature modding ([@mscdex](https://github.com/mscdex)) - agent: fix agent forwarding with pageant ([@mscdex](https://github.com/mscdex)) - test: add missing fixtures ([@mscdex](https://github.com/mscdex)) - test: add tests for ECDSA and algorithms option ([@mscdex](https://github.com/mscdex)) - test: fix style ([@mscdex](https://github.com/mscdex)) - test: remove unnecessary binary encoding usage ([@mscdex](https://github.com/mscdex)) - test: use better naming ([@mscdex](https://github.com/mscdex)) - test: improve tests' event checking ([@mscdex](https://github.com/mscdex)) - examples: fix server chat style and update API usage ([@mscdex](https://github.com/mscdex)) - readme: update examples and server API ([@mscdex](https://github.com/mscdex)) - test: update tests ([@mscdex](https://github.com/mscdex)) - Server: only force objects for encrypted keys ([@mscdex](https://github.com/mscdex)) - test: fix style and remove unused variables ([@mscdex](https://github.com/mscdex)) - Server: allow algorithms config and multiple host keys ([@mscdex](https://github.com/mscdex)) - Server: style changes ([@mscdex](https://github.com/mscdex)) - Client: reuse data conversion functions from ssh2-streams ([@mscdex](https://github.com/mscdex)) - Client: remove more binary string usage ([@mscdex](https://github.com/mscdex)) - readme: remove binary string usage in example ([@mscdex](https://github.com/mscdex)) - Client: support ECDSA keys from ssh agent ([@mscdex](https://github.com/mscdex)) - Client: use consistent key type checking ([@mscdex](https://github.com/mscdex)) - Client: remove nonexistent parameters ([@mscdex](https://github.com/mscdex)) - agent: fix style ([@mscdex](https://github.com/mscdex)) - Channel: fix style ([@mscdex](https://github.com/mscdex)) - Channel: remove unused module ([@mscdex](https://github.com/mscdex)) - bump node version requirement ([@mscdex](https://github.com/mscdex)) - readme: update config options ([@mscdex](https://github.com/mscdex)) - Client: allow force disable of compression ([@mscdex](https://github.com/mscdex)) - Client: allow configurable algorithms ([@mscdex](https://github.com/mscdex)) - Client: use cached crypto hashes list ([@mscdex](https://github.com/mscdex)) - Client: use stricter length check ([@mscdex](https://github.com/mscdex)) - Client: fix style ([@mscdex](https://github.com/mscdex)) - Channel: ensure readable/writable gets updated ([@mscdex](https://github.com/mscdex)) - lib: add ECDSA key support ([@mscdex](https://github.com/mscdex)) - Server: avoid re-parsing server key on every connection ([@mscdex](https://github.com/mscdex)) - readme: improve example descriptions a bit ([@mscdex](https://github.com/mscdex)) - test: add server greeting test ([@mscdex](https://github.com/mscdex)) - test: fix capitalization ([@mscdex](https://github.com/mscdex)) - Client: only use bound port reported by server if requested port is 0 ([@tlunter](https://github.com/tlunter)) - Client: fix a bug in forwarded-tcpip (richard.bann@vertis.com) - lib: use objects instead of arrays ([@mscdex](https://github.com/mscdex)) - readme: fix tcp metadata property names ([@mscdex](https://github.com/mscdex)) - Server: tweak keepalive logic ([@mscdex](https://github.com/mscdex)) - Server: remove redundant code ([@mscdex](https://github.com/mscdex)) - Server: fix constructor call without new (richard.bann@vertis.com) - Client: use more generic OpenSSH version checking ([@mscdex](https://github.com/mscdex)) - ci: update node versions ([@mscdex](https://github.com/mscdex)) - agent: remove OLD_SIGNATURE usage for dss ([@mscdex](https://github.com/mscdex)) - Client: update OpenSSH version check ([@mscdex](https://github.com/mscdex)) - Client: fix missing banner event ([@mscdex](https://github.com/mscdex)) - examples: update `blessed` version ([@mscdex](https://github.com/mscdex)) - test: bump test case timeout ([@mscdex](https://github.com/mscdex)) - test: force exit on non-zero exit code ([@mscdex](https://github.com/mscdex)) - ci: add travis ci ([@mscdex](https://github.com/mscdex)) - readme: add missing require() in example ([@mscdex](https://github.com/mscdex)) - Client: check socket writability instead ([@mscdex](https://github.com/mscdex)) - Channel: do not close on exit status/signal ([@mscdex](https://github.com/mscdex)) - Channel: add more guards for state change events ([@mscdex](https://github.com/mscdex)) - Client: ensure unexpected protocol errors get re-emitted ([@mscdex](https://github.com/mscdex)) - Client: allow no pty for shell() ([@mscdex](https://github.com/mscdex)) - Client: fix allowHalfOpen default value ([@mscdex](https://github.com/mscdex)) - Channel: fix allowHalfOpen default value ([@mscdex](https://github.com/mscdex)) - Client: unpipe SSH2Stream on socket close ([@mscdex](https://github.com/mscdex)) - Client: check socket writable status on end() to avoid EPIPE ([@mscdex](https://github.com/mscdex)) - Client: add setWindow() support to exec streams ([@mingqi](https://github.com/mingqi)) - readme: re-add missing Pseudo-TTY settings post-streams split ([@mscdex](https://github.com/mscdex)) - readme: add simple SFTP server example ([@mscdex](https://github.com/mscdex)) - readme: document re-exported constants ([@mscdex](https://github.com/mscdex)) - Client: re-export SFTP constants for server usage ([@mscdex](https://github.com/mscdex)) - readme: add helpful tidbit ([@mscdex](https://github.com/mscdex)) - Client: move ready timeout closer to connection time ([@mscdex](https://github.com/mscdex)) - Client: fix double SSH2Stream pipe on explicit unconnected socket ([@mscdex](https://github.com/mscdex)) - test: add PPK key auth test ([@mscdex](https://github.com/mscdex)) - SFTPWrapper: proxy 'close' event ([@mscdex](https://github.com/mscdex)) - test: add DSA host key test ([@mscdex](https://github.com/mscdex)) - agent: Use `cygpath -w` if initial cygwin socket read fails ([@mscdex](https://github.com/mscdex)) - Client: Reduce required packet size for channels ([@mscdex](https://github.com/mscdex)) - Client: fix socket connection on Windows XP ([@mscdex](https://github.com/mscdex)) - examples: update blessed version hash ([@mscdex](https://github.com/mscdex)) - examples: improve server chat ([@mscdex](https://github.com/mscdex)) - examples: add exit instructions to greeting for server chat ([@mscdex](https://github.com/mscdex)) - examples: update note for server chat example ([@mscdex](https://github.com/mscdex)) - examples: add chat server app example ([@mscdex](https://github.com/mscdex)) - Server: remove stream from keepalive manager on stream end ([@mscdex](https://github.com/mscdex)) - Server: adjust prompts with simple usage ([@mscdex](https://github.com/mscdex)) - Server: fix variable assignment ([@mscdex](https://github.com/mscdex)) - Server: always pass responses as first argument ([@mscdex](https://github.com/mscdex)) - Server: fix setting of current auth method ([@mscdex](https://github.com/mscdex)) - Server: prevent duplicate channel failure messages ([@mscdex](https://github.com/mscdex)) - agent: destroy agent socket as soon as possible ([@mscdex](https://github.com/mscdex)) - Client: add convenience options for using strictly IPv4/IPv6 ([@mscdex](https://github.com/mscdex)) - test: remove unnecessary debug output ([@mscdex](https://github.com/mscdex)) - Client: check for immediate exit code on SFTP request ([@mscdex](https://github.com/mscdex)) - Channel: ignore data on closed channel ([@mscdex](https://github.com/mscdex)) - Channel: loosen exit() and signal() usage restrictions ([@mscdex](https://github.com/mscdex)) - readme: tweak SFTPStream link text ([@mscdex](https://github.com/mscdex)) - Server: pass `methodsLeft` and `isPartial` on reject() to SSH2Stream ([@mscdex](https://github.com/mscdex)) - test: add test for push after EOF ([@mscdex](https://github.com/mscdex)) - lib: remove deletes irrelevant since node v0.10.16+ ([@mscdex](https://github.com/mscdex)) - Client: forcefully destroy socket on timeouts ([@mscdex](https://github.com/mscdex)) - readme: undocument per-session agentForward ([@mscdex](https://github.com/mscdex)) - Client: ensure agent forwarding is only enabled once per connection ([@mscdex](https://github.com/mscdex)) - Channel: remove useless code ([@mscdex](https://github.com/mscdex)) - Client: ensure all channels are closed on socket close ([@mscdex](https://github.com/mscdex)) - Client: remove undocumented config option ([@mscdex](https://github.com/mscdex)) - readme: re-add agentForward client config setting and clarify behavior ([@mscdex](https://github.com/mscdex)) - Client: check that an agent was configured before forwarding ([@mscdex](https://github.com/mscdex)) - readme: update event reference: drain -> continue ([@mscdex](https://github.com/mscdex)) - lib: re-emit continue event for client and server ([@mscdex](https://github.com/mscdex)) - deps: bump ssh2-streams ([@mscdex](https://github.com/mscdex)) - SFTPWrapper: re-emit 'continue' ([@mscdex](https://github.com/mscdex)) - SFTPWrapper: pass on return values of proxied functions ([@mscdex](https://github.com/mscdex)) - readme: remove old upgrade info ([@mscdex](https://github.com/mscdex)) - readme: fix SFTPStream docs links ([@mscdex](https://github.com/mscdex)) - ssh2-streams is in npm now, so use version in dependencies ([@mscdex](https://github.com/mscdex)) - test: remove debug output ([@mscdex](https://github.com/mscdex)) - Channel: add missing exit code info on close ([@mscdex](https://github.com/mscdex)) - readme: document rekey() for servers ([@mscdex](https://github.com/mscdex)) - Server: allow server-initiated rekey ([@mscdex](https://github.com/mscdex)) - Server: fix sender channel id lookup ([@mscdex](https://github.com/mscdex)) - test: add test for request on disconnected ([@mscdex](https://github.com/mscdex)) - Server: prepend debug output with unique id per connection ([@mscdex](https://github.com/mscdex)) - Client: automatically call outstanding requests' callbacks ([@mscdex](https://github.com/mscdex)) - Client: more guards ([@mscdex](https://github.com/mscdex)) - Client: don't bother restarting keepalive if disconnected ([@mscdex](https://github.com/mscdex)) - Client: use push(), it's generally faster nowadays ([@mscdex](https://github.com/mscdex)) - test: improve unhandled exception display ([@mscdex](https://github.com/mscdex)) - Client: throw on request when not connected ([@mscdex](https://github.com/mscdex)) - test: remove unused function ([@mscdex](https://github.com/mscdex)) - test: use localhost instead of hard-coded IPv4 address ([@mscdex](https://github.com/mscdex)) - Client: connect() while connected should defer until close ([@mscdex](https://github.com/mscdex)) - Channel: pass exit info to `close` event handlers too ([@mscdex](https://github.com/mscdex)) - Client: remove duplicate interval check ([@mscdex](https://github.com/mscdex)) - Fix README example : wrong output ([@xxorax](https://github.com/xxorax)) - lib: use faster splicing ([@mscdex](https://github.com/mscdex)) - test: add simple sftp test ([@mscdex](https://github.com/mscdex)) - SFTPWrapper: needs EventEmitter to emit ([@mscdex](https://github.com/mscdex)) - readme: add note about sftp wrapper ([@mscdex](https://github.com/mscdex)) - Client: use SFTP wrapper for backwards compatibility ([@mscdex](https://github.com/mscdex)) - use master tarball for ssh2-streams for now ([@mscdex](https://github.com/mscdex)) - Client: fix sftp initialization ([@mscdex](https://github.com/mscdex)) - readme: improve socks proxy example ([@mscdex](https://github.com/mscdex)) - lib: ensure open channel before channel req/data ([@mscdex](https://github.com/mscdex)) - Channel: discard inbound packets if no window space ([@mscdex](https://github.com/mscdex)) - Channel: micro-optimizations ([@mscdex](https://github.com/mscdex)) - lib: micro-optimizations ([@mscdex](https://github.com/mscdex)) - lib: fix require() ([@mscdex](https://github.com/mscdex)) - Channel: add missing incoming window increment ([@mscdex](https://github.com/mscdex)) - lib: add keepalive server-side and match OpenSSH behavior more ([@mscdex](https://github.com/mscdex)) - Client: add extra guard to starting keepalive ([@mscdex](https://github.com/mscdex)) - Client: prevent emitting multiple keepalive errors ([@mscdex](https://github.com/mscdex)) - Client: use OpenSSH-style keepalive checking ([@mscdex](https://github.com/mscdex)) - Client: increase default ready timeout ([@mscdex](https://github.com/mscdex)) - Client: fix ready timeout logic ([@mscdex](https://github.com/mscdex)) - Channel: check for unexpected channel requests ([@mscdex](https://github.com/mscdex)) - remove TODO ([@mscdex](https://github.com/mscdex)) - readme: improve hostbased documentation ([@mscdex](https://github.com/mscdex)) - lib: add hostbased user authentication support ([@mscdex](https://github.com/mscdex)) - test: move durability tests to ssh2-streams ([@mscdex](https://github.com/mscdex)) - test: add initial durability tests ([@mscdex](https://github.com/mscdex)) - Server: silence pre-connection event errors ([@mscdex](https://github.com/mscdex)) - Client: reset server version variable ([@mscdex](https://github.com/mscdex)) - Client: fix renamed method ([@mscdex](https://github.com/mscdex)) - Server: fix missing break ([@mscdex](https://github.com/mscdex)) - Server: remove unused parameter ([@mscdex](https://github.com/mscdex)) - readme: update after recent changes ([@mscdex](https://github.com/mscdex)) - Server: improve wording ([@mscdex](https://github.com/mscdex)) - Server: add support for openssh extensions ([@mscdex](https://github.com/mscdex)) - Server: don't bother creating accept on auto-reject ([@mscdex](https://github.com/mscdex)) - Client: adjust wording ([@mscdex](https://github.com/mscdex)) - Client: add methods for openssh extensions ([@mscdex](https://github.com/mscdex)) - Client: move vendor extension methods to end ([@mscdex](https://github.com/mscdex)) - Client: match ssh2-streams changes ([@mscdex](https://github.com/mscdex)) - Server: lint ([@mscdex](https://github.com/mscdex)) - readme: add publickey auth to server example ([@mscdex](https://github.com/mscdex)) - readme: update examples to reflect API change ([@mscdex](https://github.com/mscdex)) - Server: set signature algorithm in PK AuthContext ([@mscdex](https://github.com/mscdex)) - Client: pass ssh2-streams utils on to end user ([@mscdex](https://github.com/mscdex)) - test: check pty allocation for shell() ([@mscdex](https://github.com/mscdex)) - readme: update to reflect recent changes ([@mscdex](https://github.com/mscdex)) - Client: make callback optional for some methods ([@mscdex](https://github.com/mscdex)) - Server: ensure authenticated before channel open ([@mscdex](https://github.com/mscdex)) - Client: support no-more-sessions ([@mscdex](https://github.com/mscdex)) - Client: add strict vendor checking option ([@mscdex](https://github.com/mscdex)) - Server: automatic no-more-sessions handling ([@mscdex](https://github.com/mscdex)) - test: add dsa PK auth test ([@mscdex](https://github.com/mscdex)) - test: add basic successful client/server tests ([@mscdex](https://github.com/mscdex)) - Client: fix typo ([@mscdex](https://github.com/mscdex)) - readme: move agent forwarding to per-channel ([@mscdex](https://github.com/mscdex)) - Server: handle auth-agent-req ([@mscdex](https://github.com/mscdex)) - Client: ensure accurate X11 forwarding count ([@mscdex](https://github.com/mscdex)) - Client: make agent forwarding per-session ([@mscdex](https://github.com/mscdex)) - Server: pass terminal name for pty-req ([@mscdex](https://github.com/mscdex)) - Client: fix missing reply ([@mscdex](https://github.com/mscdex)) - Server: handle env requests ([@mscdex](https://github.com/mscdex)) - Server: fix missing flag setting ([@mscdex](https://github.com/mscdex)) - Server: set current auth method ([@mscdex](https://github.com/mscdex)) - Channel: fix closing behavior on node v0.11+ ([@mscdex](https://github.com/mscdex)) - Channel: always close channel on unexpected request ([@mscdex](https://github.com/mscdex)) - Channel: improve comment ([@mscdex](https://github.com/mscdex)) - Client: return value from upstream ([@mscdex](https://github.com/mscdex)) - test: remove old files ([@mscdex](https://github.com/mscdex)) - Server: merge event handling ([@mscdex](https://github.com/mscdex)) - Server: fix missing end event ([@mscdex](https://github.com/mscdex)) - readme: add server example ([@mscdex](https://github.com/mscdex)) - readme: update Channel documentation ([@mscdex](https://github.com/mscdex)) - Server: set type/subtype correctly for sessions ([@mscdex](https://github.com/mscdex)) - Channel: fix missing server mode flag ([@mscdex](https://github.com/mscdex)) - Server: fix typo ([@mscdex](https://github.com/mscdex)) - Server: AuthContext has no method data parameter ([@mscdex](https://github.com/mscdex)) - Channel: stricter checks ([@mscdex](https://github.com/mscdex)) - Channel: add exit() for server mode ([@mscdex](https://github.com/mscdex)) - Channel: always send close after eof in server mode ([@mscdex](https://github.com/mscdex)) - Channel: auto-remove client close handler ([@mscdex](https://github.com/mscdex)) - readme: clarify SFTPStream usage ([@mscdex](https://github.com/mscdex)) - Channel: stderr is writable server-side ([@mscdex](https://github.com/mscdex)) - Server: don't emit sftp as subsystem ([@mscdex](https://github.com/mscdex)) - Server: allow passing chosen port to tcpip forward accept() ([@mscdex](https://github.com/mscdex)) - readme: fix formatting ([@mscdex](https://github.com/mscdex)) - readme: first go at documentation rewrite ([@mscdex](https://github.com/mscdex)) - Server: pass nothing for channel requests with no extra info ([@mscdex](https://github.com/mscdex)) - Server: return push() value where possible ([@mscdex](https://github.com/mscdex)) - Server: auto-reject unauthenticated global requests ([@mscdex](https://github.com/mscdex)) - Use latest stable `readable-stream` ([@mscdex](https://github.com/mscdex)) - update package.json ([@mscdex](https://github.com/mscdex)) - test: remove irrelevant tests ([@mscdex](https://github.com/mscdex)) - Initial changeover for rewrite ([@mscdex](https://github.com/mscdex)) - Connection: passphrase is only needed once ([@mscdex](https://github.com/mscdex)) - Connection: move setting of socket options ([@mscdex](https://github.com/mscdex)) - Connection: use socket.setKeepAlive() explicitly ([@mscdex](https://github.com/mscdex)) - Connection: allow forced destroy ([@mscdex](https://github.com/mscdex)) - Connection: try 'none' auth after all other methods ([@mscdex](https://github.com/mscdex)) - ChannelStream: emit end/close/finish on socket close ([@mscdex](https://github.com/mscdex)) - ChannelStream: add destroy() alias ([@mscdex](https://github.com/mscdex)) - update TODO ([@mscdex](https://github.com/mscdex)) - readme: add simple dynamic port forward example ([@mscdex](https://github.com/mscdex)) - SFTPv3: use RFC min msg len as max except for OpenSSH ([@mscdex](https://github.com/mscdex)) - SFTPv3: fix missing callbacks ([@mscdex](https://github.com/mscdex)) - readme: remove confusion ([@mscdex](https://github.com/mscdex)) - test: make sure big testfile is removed on error or normal exit ([@mscdex](https://github.com/mscdex)) - test: add test for bad agent key, bad interactive password ([@mscdex](https://github.com/mscdex)) - Connection: fix no auth methods for keyboard-interactive ([@mscdex](https://github.com/mscdex)) - Connection: fix continual agent key list retries ([@mscdex](https://github.com/mscdex)) - test: do async cleanup before normal exit ([@mscdex](https://github.com/mscdex)) - Connection: add 'level' property for handshake timeout error ([@mscdex](https://github.com/mscdex)) - test: use argv[0] for node name ([@mscdex](https://github.com/mscdex)) - test: make test group runner async ([@mscdex](https://github.com/mscdex)) - test: dynamically create large testfile ([@mscdex](https://github.com/mscdex)) - Connection: fix DSA-based agent signatures ([@mscdex](https://github.com/mscdex)) - test: adjust regexp for openssh debug output ([@mscdex](https://github.com/mscdex)) - readme: fix readdir example output ([@mscdex](https://github.com/mscdex)) - bump asn1 dependency version ([@mscdex](https://github.com/mscdex)) - readme: add link to 0.2->0.3 changes ([@mscdex](https://github.com/mscdex)) - test: add rest of sftp integration tests ([@mscdex](https://github.com/mscdex)) - test: improve test files cleanup ([@mscdex](https://github.com/mscdex)) - test: also check atime for fsetstat ([@mscdex](https://github.com/mscdex)) - test: fix test name references ([@mscdex](https://github.com/mscdex)) - test: add some sftp tests ([@mscdex](https://github.com/mscdex)) - SFTPv3: guard end usage in ReadStream ([@mscdex](https://github.com/mscdex)) - SFTPv3: always update file position in streams ([@mscdex](https://github.com/mscdex)) - SFTPv3: truncate decimal when making timestamp ([@mscdex](https://github.com/mscdex)) - SFTPv3: fix copy-paste error ([@mscdex](https://github.com/mscdex)) - SFTPv3: strip out '.' and '..' from readdir list ([@mscdex](https://github.com/mscdex)) - SFTPv3: fix undefined error in readdir ([@mscdex](https://github.com/mscdex)) - test: fix Buffer buffering and stream handling ([@mscdex](https://github.com/mscdex)) - test: disable privilege separation ([@mscdex](https://github.com/mscdex)) - test: check for sshd first ([@mscdex](https://github.com/mscdex)) - readme: update ChannelStream description ([@mscdex](https://github.com/mscdex)) - readme: change style ([@mscdex](https://github.com/mscdex)) - readme: add shell() example ([@mscdex](https://github.com/mscdex)) - readme: simplify examples ([@mscdex](https://github.com/mscdex)) - test: add stderr stream test ([@mscdex](https://github.com/mscdex)) - test: simplify stream buffering ([@mscdex](https://github.com/mscdex)) - Channel: emit close on stderr ([@mscdex](https://github.com/mscdex)) - keyParser: fix empty line check ([@mscdex](https://github.com/mscdex)) - Connection: keyParser errors should be less verbose ([@mscdex](https://github.com/mscdex)) - test: add keyParser tests ([@mscdex](https://github.com/mscdex)) - keyParser: parse RFC4716 keys according to spec ([@mscdex](https://github.com/mscdex)) - keyParser: simplify slice() ([@mscdex](https://github.com/mscdex)) - keyParser: cleanup ([@mscdex](https://github.com/mscdex)) - keyParser: return descriptive errors on bad parse ([@mscdex](https://github.com/mscdex)) - test: add port forwarding tests ([@mscdex](https://github.com/mscdex)) - Connection: fix remote port forward type check ([@mscdex](https://github.com/mscdex)) - test: ensure proper permissions on key files ([@mscdex](https://github.com/mscdex)) - test: fix exec pty test ([@mscdex](https://github.com/mscdex)) - test: add missing test files ([@mscdex](https://github.com/mscdex)) - readme: update stream description ([@mscdex](https://github.com/mscdex)) - test: add stricter pty testing ([@mscdex](https://github.com/mscdex)) - test: add more integration tests ([@mscdex](https://github.com/mscdex)) - test: fix forked integration tests ([@mscdex](https://github.com/mscdex)) - Connection: forward parser errors ([@mscdex](https://github.com/mscdex)) - test: add another integration test ([@mscdex](https://github.com/mscdex)) - test: improve existing integration tests ([@mscdex](https://github.com/mscdex)) - test: prevent next test from running on forked test failure ([@mscdex](https://github.com/mscdex)) - test: use 'temp' instead of 'chroot' ([@mscdex](https://github.com/mscdex)) - Connection: fix style ([@mscdex](https://github.com/mscdex)) - test: improve existing tests ([@mscdex](https://github.com/mscdex)) - test: add start of integration tests ([@mscdex](https://github.com/mscdex)) - Connection: include debug message w