Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-01-18 | ChannelInner is Send + Sync | Wez Furlong | |
This allows Channel and Stream to be Send | |||
2020-01-18 | Restore deleted Send impl | Wez Furlong | |
Heh, I removed this by accident at the last minute before submitting the PR to the CI... restore it! | |||
2020-01-18 | remove now-unused Binding trait | Wez Furlong | |
2020-01-18 | Make properly Send safe | Wez Furlong | |
In earlier iterations I accidentally removed Send from Session and then later restored it in an unsafe way. This commit restructures the bindings so that each of the objects holds a reference to the appropriate thing to keep everything alive safely, without awkward lifetimes to deal with. The key to this is that the underlying Session is tracked by an Arc<Mutex<>>, with the related objects ensuring that they lock this before they call into the underlying API. In order to make this work, I've had to adjust the API around iterating both known hosts and agent identities: previously these would iterate over internal references but with this shift there isn't a reasonable way to make that safe. The strategy is instead to return a copy of the host/identity data and then later look up the associated raw pointer when needed. The purist in me feels that the copy feels slightly wasteful, but the realist justifies this with the observation that the cardinality of both known hosts and identities is typically small enough that the cost of this is in the noise compared to actually doing the crypto+network ops. I've removed a couple of error code related helpers from some of the objects: those were really internal APIs and were redundant with methods exported by the Error type anyway. Fixes: https://github.com/alexcrichton/ssh2-rs/issues/154 Refs: https://github.com/alexcrichton/ssh2-rs/issues/137 | |||
2020-01-18 | rename unwrap_inner_or_err to get_inner | bold | |
2020-01-18 | rename unwrap_raw_or_err to get_raw | bold | |
2020-01-18 | simplify function signature | bold | |
2020-01-18 | eliminate conditionals when enforce blocking in destructors | bold | |
2020-01-18 | use take instead of as_ref | bold | |
2020-01-18 | set ssh2 to blocking when dropping sftp and file | bold | |
2020-01-18 | make set_blocking and is_blocking available for inner session | bold | |
2020-01-18 | add shutdown and close methods | bold | |
This commit exposes the `shutdown` method of `Sft` and `close` method of `File` to free resources. Previously this was done synchronously and therefor not usable in async wrappers. Whith the methods exposed they can be polled until success. If successful a flag is set to notify the destructor that no resources need to be freed anymore. However, if resources were not cleaned up by calling `close` or `shutdown` the destructor will clean up synchronously. | |||
2020-01-18 | derive clone for session | bold | |
2020-01-18 | derive Debug and Clone for PtyModes | bold | |
2020-01-17 | macOS: use the set-env command to persist environment variables | Yusuke Sasaki | |
2020-01-17 | use actions-rs/toolchain for Rust installation | Yusuke Sasaki | |
2020-01-14 | Bump libssh2-sys to 0.2.14 | Alex Crichton | |
2020-01-14 | Clarify licenses | Alex Crichton | |
They've been present in `Cargo.toml` forever, add dedicated files as well | |||
2020-01-11 | fix: define libssh2_socket_t using pointer width for aarch64 windows | Harrison Metzger | |
2020-01-11 | let compiler figure out the correct type | bold | |
2020-01-11 | cargo fmt | bold | |
2020-01-11 | let compiler figure out the correct type | bold | |
2020-01-11 | simplify unwrap_or_else argument | bold | |
2020-01-11 | make retrieving last session error private | bold | |
2020-01-11 | return correct errors | bold | |
2020-01-03 | cargo fmt | bold | |
2020-01-03 | export block directions | bold | |
2019-12-21 | use internal-sftp in sshd for tests | bold | |
2019-12-08 | update systest ctest deps | Wez Furlong | |
2019-12-08 | update bitflags dep | Wez Furlong | |
2019-12-08 | update readme for the imminent 0.6 release | Wez Furlong | |
2019-12-08 | map TIMEOUT -> std::io::ErrorKind::TimedOut | Wez Furlong | |
Closes: https://github.com/alexcrichton/ssh2-rs/issues/141 | |||
2019-12-08 | improve docs | Wez Furlong | |
2019-12-08 | A PtyModes helper for specifying terminal modes | Wez Furlong | |
Closes: https://github.com/alexcrichton/ssh2-rs/issues/145 | |||
2019-12-08 | CI: ugh, more problems with implicit shell on GH actions on windows | Wez Furlong | |
2019-12-08 | CI: update GH actions for recent changes to defaults | Wez Furlong | |
An unspecified shell now defaults to powershell, breaking config that was previously using cmd. This section was just for debugging purposes anyway, so remove it. | |||
2019-11-06 | fix cargo doc link | Wez Furlong | |
closes https://github.com/alexcrichton/ssh2-rs/issues/142 | |||
2019-10-20 | GH actions: maybe parameterize the rust toolchain | Wez Furlong | |
2019-10-20 | tests: disable UsePrivilegeSeparation for ubuntu 16 | Wez Furlong | |
2019-10-20 | dump server log | Wez Furlong | |
2019-10-20 | increase debugability of integration tests | Wez Furlong | |
2019-10-20 | Add linux build to GH actions CI config | Wez Furlong | |
2019-10-20 | make GH actions run on pushes to master too (fixes up badges) | Wez Furlong | |
2019-10-20 | fixup links to GH actions workflows | Wez Furlong | |
2019-10-20 | disable gh-pages deploy in travis config | Wez Furlong | |
It's not currently working and I don't think anyone uses the GH pages version of the docs. | |||
2019-10-20 | fix warning in doc build | Wez Furlong | |
2019-10-20 | add GH action badges to readme | Wez Furlong | |
2019-10-20 | version bumps | Wez Furlong | |
This is largely to accomodate making Session Send again, so go from 0.4 -> 0.5. | |||
2019-10-20 | Make Session be `Send` again | Wez Furlong | |
Refs: https://github.com/alexcrichton/ssh2-rs/issues/137 | |||
2019-10-20 | complete deletion of src/test.rs | Wez Furlong | |
I think this was overlooked in c95e6ea1e74f82f1a889302978e37a7baf4073cf |