I gave it a quick spin today (after rust-sftp moved to the new version as well),
and unfortunately it wasn't as easy as increasing the version. The build failed
with these errors:
----
error[E0053]: method `check_server_key` has an incompatible type for trait
--> _transport_rs/src/ssh/russh_vendor.rs:68:28
|
68 | server_public_key: &russh::keys::ssh_key::PublicKey,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected
`PublicKeyOrCertificate`, found `russh::keys::PublicKey`
|
= note: expected signature `fn(&mut VerifyingHandler,
&PublicKeyOrCertificate) -> _`
found signature `fn(&mut VerifyingHandler,
&russh::keys::PublicKey) -> _`
help: change the parameter type to match the trait
|
68 - server_public_key: &russh::keys::ssh_key::PublicKey,
68 + server_public_key: &PublicKeyOrCertificate,
|
error[E0599]: no method named `fingerprint` found for enum `AgentIdentity` in
the current scope
--> _transport_rs/src/ssh/russh_vendor.rs:616:17
|
616 | key.fingerprint(Default::default()),
| ^^^^^^^^^^^ method not found in `AgentIdentity`
error[E0599]: no method named `algorithm` found for enum `AgentIdentity` in the
current scope
--> _transport_rs/src/ssh/russh_vendor.rs:617:17
|
617 | key.algorithm()
| ^^^^^^^^^ method not found in `AgentIdentity`
error[E0308]: mismatched types
--> _transport_rs/src/ssh/russh_vendor.rs:620:60
|
620 | .authenticate_publickey_with(user.to_string(), key, None,
&mut agent)
| --------------------------- ^^^ expected
`PublicKey`, found `AgentIdentity`
| |
| arguments to this method are incorrect
|
note: method defined here
--> /usr/share/cargo/registry/russh-0.64.1/src/client/mod.rs:503:18
|
503 | pub async fn authenticate_publickey_with<U: Into<String>, S:
auth::Signer>(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Some errors have detailed explanations: E0053, E0308, E0599.
For more information about an error, try `rustc --explain E0053`.
error: could not compile `dromedary-transport-rs` (lib) due to 4 previous errors
----
So, I guess the code needs some adapting.
--
Regards,
Marga