Subject: Re: Release schedule

Re: Release schedule

From: Peter Stuge <>
Date: Sun, 6 May 2018 11:15:57 +0000

Will Cosgrove wrote:
> > A significant amount of code was needlessly copypasted into all
> > crypto backends, *replacing* previous abstraction which was still
> > suitable.
> Could you be more specific here?

I'm sorry: I looked into it now and I confused ECDH with "only" DH.

> The ECDH kex (and related code) is using the OpenSSL backend and is
> written in a very similar way to the RSA/DSA backends using all the
> given abstractions. There is nothing significant was copy-pasted
> into all backends, what are you referring to here? The only thing
> I can think of is a couple defines. What abstraction was replaced?

I consider commit f7daf31 to be completely wrong as it stands. The goal
is fine, to enable backends to call system DH, but the implementation
is particularly backwards.

It is so so wrong to push complexity which is common to all but one
backends *from common code **to** backends*. It is the direct opposite
of what we should be doing.

A better solution would be to add a few lines in common code allowing
backends to support either one of DH and modexp at their option.

modexp also ties into RSA, so backends may now have to support RSA
themselves, or individually re-implement RSA using that same modexp

This change made me really upset when I discovered it, and still does. >:(

> > I sent some patches a while back which may or may not be pending still

An example of the opposite of what I describe above is my AES-CTR patch
in that set. I don't use GitHub so I sent the patches to the list. That
patch implements CTR in common libssh2 code if a backend only supports

> > I don't know if there are major things being worked on at the moment?
> I have an open PR that includes the OpenSSH key file format support
> and ED25519 key support which is quite large.

Cool. Is there more work to be done on those, or do they "only" need
review? I'll have some libssh2 time the week after next.

Received on 2018-05-06