Age | Commit message (Collapse) | Author |
|
* Update libssh2-sys to 0.2.21 in ssh2 dependencies
* Update parking_lot to 0.11
Signed-off-by: Akira Moroo <retrage01@gmail.com>
|
|
|
|
https://github.com/libssh2/libssh2 (#205)
* Update libssh2 submodule to track back from https://github.com/libssh2/libssh2
* Update sys crate to track latest change from https://github.com/libssh2/libssh2
|
|
* Handle more precise SFTP error codes
* Allow set-env in macos github action
* Bump to 0.9 since the Error interface has changed, hence this is a breaking change
|
|
|
|
refs: https://github.com/alexcrichton/ssh2-rs/issues/187
refs: https://github.com/alexcrichton/ssh2-rs/issues/191
|
|
|
|
This method enables agent forwarding
|
|
|
|
|
|
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
|
|
|
|
Closes: https://github.com/alexcrichton/ssh2-rs/issues/145
|
|
closes https://github.com/alexcrichton/ssh2-rs/issues/142
|
|
This is largely to accomodate making Session Send again, so go
from 0.4 -> 0.5.
|
|
The fact that I overlooked this prior to the 0.4.0 release says
something about my humility or my attention to detail.
You decide!
|
|
* Adopt scp_recv2 instead, which uses compatible 64-bit stat types
* Mark scp_recv as deprecated
* small version bump
Fixes https://github.com/alexcrichton/ssh2-rs/issues/109
Refs https://github.com/alexcrichton/ssh2-rs/pull/117
Co-authored-by: Joyce Babu <joyce@ennexa.com>
|
|
Refs: https://github.com/alexcrichton/ssh2-rs/issues/96
This is a breaking change, so bump the package version
|
|
This enables building `ssh2` and `libssh2-sys` with the
`vendored-openssl` feature, which in turn causes openssl to be built and
linked locally, and does not require that homebrew or some other
externally provided version of openssl be made available.
It does require a working C compiler, perl and make.
|
|
Also removes the reexported flags from the crate root, since they're now
assoc. consts and it would be a bit weird to reexport those.
(breaking change)
|
|
* Remove `cmake` dependency in favor of `cc`
This has been done in a few other projects and has made it lightyears easier to
compile native C code, so let's do it here!
More info at alexcrichton/curl-rust#225
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|