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 code. 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 AES-CBC. > > 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. //Peter _______________________________________________ libssh2-devel https://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel