Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libssh2 deprecated in Redhat 7 removed in 8. #5225

Closed
toddr opened this issue Sep 11, 2019 · 14 comments
Closed

libssh2 deprecated in Redhat 7 removed in 8. #5225

toddr opened this issue Sep 11, 2019 · 14 comments

Comments

@toddr
Copy link

toddr commented Sep 11, 2019

I just thought I'd give you a heads up. libssh2-devel is no longer available in Redhat 8. Per Redhat:

https://bugzilla.redhat.com/show_bug.cgi?id=1660344

Long story short, libssh2 has been removed from RHEL-8 intentionally.

libssh is now the supported SSH library in RHEL-8. It has incompatible ABI/API with libssh2, so libssh2-based application needs to be migrated to libssh unless they support both the libraries (as, for example upstream curl does).

I don't know what other distros are doing but you might consider if switching to libssh might be desirable in the near term.

@ethomson
Copy link
Member

Thanks for the details. I'd like to think that we have abstracted the transport layer sufficiently that we could support libssh2 or libssh (I would hate to pull the rug out from under people who use and even package libssh2 themselves).

In any case, I think that this makes the libssh support more urgent.

@cuviper
Copy link

cuviper commented Sep 11, 2019

I intend to work on libssh support here, and I'd be happy to collaborate. My own interest comes indirectly from Rust/Cargo's use of libgit2, and how we're building that toolchain in RHEL 8.

@cuviper
Copy link

cuviper commented Sep 11, 2019

(I don't mind working independently either, just don't want to duplicate effort.)

@pks-t
Copy link
Member

pks-t commented Sep 12, 2019

Yeah, it seems like this makes a migration to libssh more urgent. We've already had quite a lot of complaints about our use of libssh2, especially so as libssh abstracts away quite a lot of things that an application developer would've had to handle himself with libssh2 (".ssh/config" comes to mind).

Is anybody already working on a transport implementation here? @tiennou?

@tiennou
Copy link
Contributor

tiennou commented Sep 12, 2019

I've started here, this is my day-old non-compiling wip ssh backend : master...tiennou:feature/libssh-backend. I'm still prodding around the API , as well as deciding where to cut off (so it still mostly is preprocessor based). Feel free to use it, as I don't think I'll be able to look at it for a few days.

@tiennou
Copy link
Contributor

tiennou commented Sep 12, 2019

(I seem to have missed a previous attempt at #4338 as well…).

@cuviper
Copy link

cuviper commented Sep 12, 2019

@tiennou I think your branch is missing your new ssh_backend.h -- could you push that?
(I see some code that was totally removed from ssh.c, which I assume you moved there.)

@pks-t
Copy link
Member

pks-t commented Sep 13, 2019

@tiennou: well, if you've started working on it already then I'm happy to defer this to you. I guess collaborating is rather hard without having an immediate communications channel, and I'd probably have to start from scratch first to get the whole picture (that's not because of how you have started the work, but simply to help myself understand everything)

@tiennou
Copy link
Contributor

tiennou commented Sep 13, 2019

@cuviper Sorry about that, I forgot to git add it… I've rebased on top of #5223, and there's only one API-point left to convert — I'm here, and I'm looking at the mismatch with the LIBSSH2 typedefs, actually. And then test, test, test 😉. The main "logic" to the port hides the differences inside ssh_backend.h, using a mess of #defines, to keep the code in ssh.c agnostic and clear.

@pks-t I have hem, stuff, scheduled for the next couple of weeks. I just bit the bullet about writing the backend this week, out of frustration, so it's kinda strange to have it accelerate like this… In short, I'm kinda deferring to @cuviper (thanks!) for a few weeks.

@cuviper
Copy link

cuviper commented Sep 13, 2019

Thanks! I'll see what I can do with that.

so it's kinda strange to have it accelerate like this…

Just fortunate timing, I guess. :)

@cuviper
Copy link

cuviper commented Feb 19, 2020

Hi @tiennou, I'm very sorry that I disappeared on this -- where does it stand? I see your PR #5253, but no maintainer has reviewed it, and it seems like there are some API questions that would be good to resolve before libgit2 1.0...

If there's any part that I can still help with, please let me know.

@ChristianWeissCG
Copy link

Maybe real-world examples (complains) help to generate more motivation to solve this issue:

libssh2 was marked as deprecated in dec. 2018 or maybe even before that point in time.
It was dropped with RHEL8 in may 2019 and with CentOS 8 in sep 2019.
I can not recomment users to install salt-master with gitfs-feature (saltstack->pygit2->libgit2) on CentOS 8 / RHEL 8 at the moment. So users had to stick to CentOS 7 or need to use HTTPS-based git clones instead.

Hope to see some progress here.

@pkittenis
Copy link

Latest libssh2 (1.9+) can be found in the EPEL repository on Redhat 8. It's only older versions that are not available in rhel8.

There is no need to downgrade an OS to install an (out of date) package.

@ethomson
Copy link
Member

We've added OpenSSH support; happy to see more backends in the future if that makes sense.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants