jiegec / netconf-rs

A rust library for NETCONF(RFC 6241)
MIT License
4 stars 2 forks source link

Replace SSH2 with russh. #3

Open pnhearer opened 8 months ago

pnhearer commented 8 months ago

SSH2 library has been abandoned. My suggestion is to replace it with Thruush. The last update was over a year ago for ssh2. RuSsh was last month.

This something you'd like to look in to?

jiegec commented 8 months ago

SSH2 library has been abandoned. My suggestion is to replace it with Thruush. The last update was over a year ago for ssh2. Thruush was last month.

This something you'd like to look in to?

Sure, what about supporting both?

pnhearer commented 8 months ago

What would that look like, and to what benefit?

My concern is keeping a dead crate as a dependency while attempting to bring this to an enterprise capable library. I just dont think ssh2 is it. But im not stubborn about it one way or another.

jiegec commented 8 months ago

What would that look like, and to what benefit?

My concern is keeping a dead crate as a dependency while attempting to bring this to an enterprise capable library. I just dont think ssh2 is it. But im not stubborn about it one way or another.

You can use feature flags to switch between different ssh crates. Besides, it seems that although ssh2 crate has no new release for some time, the repo is alive. So it is probably just nothing new to release.

pnhearer commented 8 months ago

It's actively looking for a maintainer.

See here:

https://github.com/alexcrichton/ssh2-rs/issues/228

But this is your crate. What do you think?

My arguments against ssh2 are

1.) Lack of thread safety/async.

2.) Not a feature complete library.

Edit: I can see PR's being approved from 4 months ago. So it's not completely dead.

But at the end of the day, feature flags do, in fact, exist as you stated previously.

pnhearer commented 8 months ago

Final determination: Gate SSH native lib behind feature flag.

RUSSH - Async Ops

SSH2 - Sync Ops

pnhearer commented 8 months ago

TODO: Implement feature gate.