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

Make it build using OpenSSL 1.1.0 #48

Closed
wants to merge 2 commits into from

Conversation

kroeckx
Copy link

@kroeckx kroeckx commented Sep 18, 2016

No description provided.

sshkey.c Outdated
break;
case KEY_RSA_CERT:
#if 0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is intentionally left out or like todo for future readers?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added the message I sent to the openssh-unix list about this. Does that clear things up?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you. I noticed your message on the mailing list, but forgot to check it properly before commenting. Adding it here clears that up. Thank you.

@kroeckx
Copy link
Author

kroeckx commented Oct 21, 2016

It has the same regression tests failures as the master branch, and it has been tested with both 1.0.2 and 1.1.0.

Some comments about the patch:

  • I've included an libcrypto-compat.c to add new functions from OpenSSL that are needed with 1.1.0 but didn't exist in 1.0.2. Since they are copied from the OpenSSL source code, I also added the OpenSSL license to it. If this is a problem we can probably agree to put that file under a different license.
  • I've replaced the 2 EVP_CipherInit() calls in cipher_init() with 1. OpenSSL now clears everything when you call EVP_CipherInit() again, so what was passed in the first but not in the second call, and what the function calls between them did, was lost.
  • The test suite was insisting that things like rsa->n where not NULL in sshkey/test_sshkey.c. sshkey_add_private was also doing something like that for the private parts. I don't agree that it should just have BN members that are not set to a real value. So I removed that code and the checks. I'm not even sure why this was done. But sshkey_add_private() ends up as a rather useless function now.
  • In sshkey_private_deserialize() there was a KEY_RSA_CERT case. I'm not sure what it's about and I guess the test suite also doesn't check it. But it seems that it only has the private key in that case and OpenSSL now seems to insist that an RSA needs to have the public key information too.

sshkey.c Outdated

if (p == NULL || q == NULL || g == NULL ||
pub_key == NULL ||
(ret = sshbuf_put_bignum2(cert, p)) != 0 ||
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is certainly wrong. In this case, you should not allocate&put&set. It should be get&put. The same for below RSA case.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right, new commit added.

@Jakuje
Copy link
Contributor

Jakuje commented Nov 2, 2016

I noticed you didn't port the SSH1 code to OpenSSL 1.1.0 -- we don't care about this protocol, but in clients it will be among us for some time. I added a the missing (only client side) bits in the answer on the mailing list [1].

Also I noticed you created a new compat filename, even though, there is already openbsd-compat/openssl-compat.{c,h}, which should be able to accommodate these changes, though the final decisions is probably up to the upstream developers which place to choose.

Also the missing part under #if 0, which is using zero BIGNUMs for missing parts.

[1] http://lists.mindrot.org/pipermail/openssh-unix-dev/2016-November/035454.html

@noloader
Copy link

noloader commented Apr 2, 2017

Please expedite this patch. Lack of OpenSSL 1.1.0 support is harming users. From OpenSSL 1.1.0 integrtion on the user mailing list:

The OpenSSL 1.0.2 downgrade means users lose a number of features from OpenSSL, like Poly1305, curve25519 and the project's improved security posture and testing procedures. (Other improvements are available at https://www.openssl.org/news/openssl-1.1.0-notes.html).

@cookiengineer
Copy link

cookiengineer commented Apr 9, 2017

@Jakuje @kroeckx What is the work that is left to be done in order to get this PR merged? Following this thread it's a bit unclear for me as a third-party guy.

@Jakuje
Copy link
Contributor

Jakuje commented Apr 9, 2017

@cookiengineer The most of the discussion about this topic was held on the mailing list thread linked from the previous comment. The bottom-line can be found here:

http://lists.mindrot.org/pipermail/openssh-unix-dev/2016-November/035497.html

There is no work need to be done on this PR (ok, there are few problems in this PR resolved by the patch carried in Fedora) or upstream, but some compatibility between OpenSSL releases was requested which is very unclear if it can realistically happen.

halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Aug 9, 2017
The proposed openssl 1.1 patches are here:
openssh/openssh-portable#48

Openssl maintainers are not in a hurry to get 1.1 support in;
if it doesn't show up within reasonable time, we can take a patch
from Fedora:
http://lists.mindrot.org/pipermail/openssh-unix-dev/2016-November/035454.html

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
kraj pushed a commit to YoeDistro/poky-old that referenced this pull request Aug 9, 2017
The proposed openssl 1.1 patches are here:
openssh/openssh-portable#48

Openssl maintainers are not in a hurry to get 1.1 support in;
if it doesn't show up within reasonable time, we can take a patch
from Fedora:
http://lists.mindrot.org/pipermail/openssh-unix-dev/2016-November/035454.html

(From OE-Core rev: 66a6ef9bf0d368cea6fb0df7d23c49c1f66667a1)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Aug 10, 2017
The proposed openssl 1.1 patches are here:
openssh/openssh-portable#48

Openssl maintainers are not in a hurry to get 1.1 support in;
if it doesn't show up within reasonable time, we can take a patch
from Fedora:
http://lists.mindrot.org/pipermail/openssh-unix-dev/2016-November/035454.html

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
kraj pushed a commit to YoeDistro/poky-old that referenced this pull request Aug 11, 2017
The proposed openssl 1.1 patches are here:
openssh/openssh-portable#48

Openssl maintainers are not in a hurry to get 1.1 support in;
if it doesn't show up within reasonable time, we can take a patch
from Fedora:
http://lists.mindrot.org/pipermail/openssh-unix-dev/2016-November/035454.html

(From OE-Core rev: 5ccf4a9786fc607a5838edb3bf409f83d7483ba6)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kraj pushed a commit to YoeDistro/poky-old that referenced this pull request Aug 11, 2017
The proposed openssl 1.1 patches are here:
openssh/openssh-portable#48

Openssl maintainers are not in a hurry to get 1.1 support in;
if it doesn't show up within reasonable time, we can take a patch
from Fedora:
http://lists.mindrot.org/pipermail/openssh-unix-dev/2016-November/035454.html

(From OE-Core rev: 5ccf4a9786fc607a5838edb3bf409f83d7483ba6)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kraj pushed a commit to YoeDistro/poky-old that referenced this pull request Aug 13, 2017
The proposed openssl 1.1 patches are here:
openssh/openssh-portable#48

Openssl maintainers are not in a hurry to get 1.1 support in;
if it doesn't show up within reasonable time, we can take a patch
from Fedora:
http://lists.mindrot.org/pipermail/openssh-unix-dev/2016-November/035454.html

(From OE-Core rev: 5ccf4a9786fc607a5838edb3bf409f83d7483ba6)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Copy link

@davidben davidben left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Someone pointed this patch out to me as something Debian was considering picking up? A few drive-by comments:

dh.c Outdated
DH_free(dh);
return NULL;
}
BIGNUM *p, *g;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be NULL-initialized otherwise some of the goto err paths below will get confused on malloc error.

dh.c Outdated
(g = BN_new()) == NULL)
goto err;
if (BN_hex2bn(&p, modulus) == 0 ||
BN_hex2bn(&g, gen) == 0 ||

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: I believe you can just omit lines 294 and 295 (after fixing the NULL-initializing above). BN_hex2bn just allocates things for you.

cipher.c Outdated
@@ -372,7 +372,7 @@ cipher_init(struct sshcipher_ctx **ccp, const struct sshcipher *cipher,
ret = SSH_ERR_ALLOC_FAIL;
goto out;
}
if (EVP_CipherInit(cc->evp, type, NULL, (u_char *)iv,
if (EVP_CipherInit(cc->evp, type, (u_char *)key, (u_char *)iv,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Asking EVP_CipherInit to copy keylen bytes worth of key before telling it what keylen is (EVP_CIPHER_CTX_set_key_length) seems kind of questionable, notably for ciphers with variable-length keys. Are you sure this works? It was probably previously in two steps so it'd all happen in the right order.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't even remember why I did change (it's been more than a year). But I guess the same applies to the IV?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I did make a comment about this:

I've replaced the 2 EVP_CipherInit() calls in cipher_init() with 1. OpenSSL now clears
everything when you call EVP_CipherInit() again, so what was passed in the first but not
in the second call, and what the function calls between them did, was lost.

I wonder if this is actually a problem in OpenSSL.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the IV can be passed in at either time? OpenSSL doesn't have a mechanism for ciphers with variable-length IVs as far as I know.

If the EVP_CIPHER has a fixed length key [and you already took care that what you're passing as the right size, since the EVP_CipherInit API isn't bounds-checked], you don't need to do EVP_CIPHER_CTX_set_key_length first. If you have a variable-length key cipher [and you're not using whatever the default key size is], you do.

Granted, it seems the only such ciphers, barring ENGINE mischief, are Blowfish, CAST, RC2, RC4, and RC5 so this pattern is only of so much interest... :-) Though the existing EVP_CIPHER_CTX_set_key_length logic did also act as a bounds check I think.
https://git.openssl.org/gitweb/?p=openssl.git&a=search&h=HEAD&st=grep&s=EVP_CIPH_VARIABLE_LENGTH
https://git.openssl.org/gitweb/?p=openssl.git&a=search&h=HEAD&st=grep&s=EVP_CIPH_CUSTOM_KEY_LENGTH

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aha! I think what might actually be going on here is that openssh should have been using EVP_CipherInit_ex, not EVP_CipherInit. EVP_CipherInit was for folks who didn't call EVP_CIPHER_CTX_init (which EVP_CIPHER_CTX_new did implicitly).

But in 1.0.2, there was this weird quirk where EVP_CipherInit would skip EVP_CIPHER_CTX_init if cipher was NULL:
https://git.openssl.org/gitweb/?p=openssl.git;a=blob;f=crypto/evp/evp_enc.c;h=be577bac767fe9cf2c163be6967b20d1f6cc9014;hb=refs/heads/OpenSSL_1_0_2-stable#l94

OpenSSL 1.1.0 lost this behavior:
https://git.openssl.org/gitweb/?p=openssl.git;a=blob;f=crypto/evp/evp_enc.c;h=d21a0c7e54d54a5a77a2d5a6593e4851cf2f5291;hb=HEAD#l50

So I believe you want to revert this and merely switch those EVP_CipherInit calls to EVP_CipherInit_ex, which should work fine in 1.0.2 and 1.1.0. (Unless 1.1.0 additionally changed behavior here in ways I'm missing.) You may also wish to consider at minimum marking EVP_CipherInit as deprecated and documenting this behavior change, and possibly restoring the 1.0.2 behavior to avoid breaking folks.

digest-openssl.c Outdated
if (EVP_DigestInit_ex(&ret->mdctx, digest->mdfunc(), NULL) != 1) {
ret->mdctx = EVP_MD_CTX_new();
if (ret->mdctx == NULL ||
EVP_DigestInit_ex(ret->mdctx, digest->mdfunc(), NULL) != 1) {
free(ret);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This now leaks ret->mdctx if EVP_DigestInit_ex hits a malloc failure. You want EVP_MD_CTX_free(ret->mdctx); free(ret); or ssh_digest_free(ret).

@@ -0,0 +1,410 @@
/*

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Personally I would have just made these header-only, but whatever.)

buffer_get_bignum_bits(b, key->dsa->q);
buffer_get_bignum_bits(b, key->dsa->pub_key);
buffer_get_bignum_bits(b, key->dsa->priv_key);
case KEY_DSA: {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: These blocks seem over-indented (which makes the diff a little more annoying), or is that the preferred style here? Ditto with the other case FOO: { ... } blocks.

@@ -67,7 +67,7 @@ struct pkcs11_key {
struct pkcs11_provider *provider;
CK_ULONG slotidx;
int (*orig_finish)(RSA *rsa);
RSA_METHOD rsa_method;
RSA_METHOD *rsa_method;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pkcs11_rsa_finish doesn't free this.

ssh-pkcs11.c Outdated
attribs[2].ulValueLen, NULL);
if (RSA_set0_key(rsa, rsa_n, rsa_e, NULL) == 0)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check that rsa_n and rsa_e are NULL.

helper_rsa.rsa_priv_enc = pkcs11_rsa_private_encrypt;
RSA_set_method(rsa, &helper_rsa);
if (helper_rsa == NULL) {
helper_rsa = RSA_meth_dup(RSA_get_default_method());

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Error-handling?

sshkey.c Outdated
switch (k->type) {
#ifdef WITH_OPENSSL
case KEY_RSA1:
case KEY_RSA:
case KEY_RSA_CERT:
return BN_num_bits(k->rsa->n);
RSA_get0_key(k->rsa, &bn, NULL, NULL);
return BN_num_bits(bn);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RSA_bits? (Also DSA_bits below, but you'll need to add a new compat wrapper.)

@kroeckx
Copy link
Author

kroeckx commented Oct 29, 2017

I've fixed the merge conflicts, rebased it against current master, and fixed various issues.

ssh-pkcs11.c Outdated
== NULL) {
error("RSAPublicKey_dup");
}
if (x509)
X509_free(x509);
}
if (rsa && rsa->n && rsa->e &&
RSA_get0_key(rsa, &n, &e, NULL);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be rewritten to something like the following, otherwise it will segfault for non-RSA keys (ECC on yubikey):

if (rsa && RSA_get0_key(rsa, &n, &e, NULL) && n && e &&

I just noticed it with the version I run on Fedora.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nope ... the RSA_get0_key() is void function so it will not work this way. But clearly we can call this function only if we are sure the rsa is not NULL.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the RSA_get0_key() is void function so it will not work this way. But clearly we can call this function only if we are sure the rsa is not NULL

Just my 2¢, but if RSA_get0_key can't handle a NULL parameter, then it sounds like an OpenSSL bug. The RSA_get0_key document does not state the parameter cannot be NULL; and it also states other parameters can be NULL.

@rcombs
Copy link

rcombs commented Dec 1, 2017

Anything still blocking here, other than the RSA_get0_key issue?

@kroeckx
Copy link
Author

kroeckx commented Dec 1, 2017

I've fixed the RSA_get0_key() call.

@rcombs
Copy link

rcombs commented Dec 20, 2017

Any remaining blockers here? It seems like the primary issue that's been raised is compatibility with both the 1.0 and 1.1 APIs, which is handled here. It appears that all review comments have been addressed. Is this just pending additional review?

@noloader
Copy link

noloader commented Jan 14, 2018

From the TLS Working Group mailing list at 3rd WGLC: draft-ietf-tls-tls13:

All,

This is the 3rd working group last call (WGLC) announcement for draft-ietf-tls-t
ls13; it will run through January 26th.  This time the WGLC is for version -23 (
https://datatracker.ietf.org/doc/draft-ietf-tls-tls13/).  This WGLC is a targete
d WGLC because it only address changes introduced since the 2nd WGLC on version
-21, i.e., changes introduced in versions -22 and -23.  Note that the editor has
 kindly included a change log in s1.2 and the datatracker can also produce diffs
 (https://www.ietf.org/rfcdiff?url1=draft-ietf-tls-tls13-21&url2=draft-ietf-tls-
tls13-23).  In general, we are considering all other material to have WG consens
us, so only critical issues should be raised about that material at this time.

Cheers,

spt

@laomaiweng
Copy link

On my Gentoo box (using OpenSSL 1.1.0g configured with --api=1.0.0 and no OPENSSL_API_COMPAT #defined at build time), this PR is still missing some stuff:

Hope that helps!

@okias
Copy link

okias commented Mar 31, 2018

Will be this issue fixed in OpenSSH 7.7?

I migrated to OpenSSL 1.1.1, because of TLS 1.3 support, which is really nice to have!

@AnimusPEXUS
Copy link

as far as I can recall, openssh provides only executables. no shared objects. libssh and libssh2 build with openssl-1.1.x not bad. probably, now it is good opportunity for somebody to start concurrent project to openssh.. ;)

halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Aug 28, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gbionescu pushed a commit to gbionescu/poky that referenced this pull request Aug 28, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

(From OE-Core rev: 1fa56a688237816fb47d92769e612e251384df83)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gbionescu pushed a commit to gbionescu/poky that referenced this pull request Aug 28, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

(From OE-Core rev: 1fa56a688237816fb47d92769e612e251384df83)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kraj pushed a commit to kraj/openembedded-core that referenced this pull request Aug 29, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Aug 29, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gbionescu pushed a commit to gbionescu/poky that referenced this pull request Aug 29, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

(From OE-Core rev: 26edbb9546436e04b96ca77ea828a7a7831a8319)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gbionescu pushed a commit to gbionescu/poky that referenced this pull request Aug 29, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

(From OE-Core rev: 26edbb9546436e04b96ca77ea828a7a7831a8319)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
cotequeiroz added a commit to cotequeiroz/packages that referenced this pull request Aug 29, 2018
This is a rebase of Kurt Roeckx's patch
openssh/openssh-portable#48

On top of that, the calls to deprecated openssl functions were updated,
and added a fix for redeclaration of pthread functions.

Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Aug 30, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gbionescu pushed a commit to gbionescu/poky that referenced this pull request Aug 30, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

(From OE-Core rev: 15002f4fde44a66cadaa94989ca11a418a3db572)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gbionescu pushed a commit to gbionescu/poky that referenced this pull request Aug 30, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

(From OE-Core rev: 15002f4fde44a66cadaa94989ca11a418a3db572)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Aug 30, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gbionescu pushed a commit to gbionescu/poky that referenced this pull request Aug 30, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

(From OE-Core rev: 0c9757e00e1763d10270d71a732620a1927874b6)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Aug 30, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gbionescu pushed a commit to gbionescu/poky that referenced this pull request Aug 30, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

(From OE-Core rev: 3b8bbd02fa0fbf74cb42fcf28596c551e9fa4447)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Aug 31, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gbionescu pushed a commit to gbionescu/poky that referenced this pull request Aug 31, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

(From OE-Core rev: 7c9eda8535b88a8889629b52342935894d71d9c9)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gbionescu pushed a commit to gbionescu/poky that referenced this pull request Aug 31, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

(From OE-Core rev: 7c9eda8535b88a8889629b52342935894d71d9c9)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
halstead pushed a commit to openembedded/openembedded-core that referenced this pull request Sep 4, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gbionescu pushed a commit to gbionescu/poky that referenced this pull request Sep 4, 2018
After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

(From OE-Core rev: e7ac137bfc59bc67e17d5372b59d20bdbfcc2550)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
jpuhlman pushed a commit to MontaVista-OpenSourceTechnology/poky that referenced this pull request Sep 6, 2018
Source: poky
MR: 00000
Type: Integration
Disposition: Merged from poky
ChangeID: 7294453
Description:

After reading through this:

openssh/openssh-portable#48

and this thread:

https://lists.mindrot.org/pipermail/openssh-unix-dev/2017-October/036344.html

I've concluded that this is the best of the three not-great options. The alternatives:

- bundle libressl inside openssh packages
- keep openssh dependent on openssl 1.0 and wait until upstream does something

are both inferior. Libressl is used with openssh in OpenBSD and in OS X,
so it did get at least some testing in the real world.

(From OE-Core rev: e7ac137bfc59bc67e17d5372b59d20bdbfcc2550)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
@xnox
Copy link

xnox commented Sep 11, 2018

https://www.openssl.org/blog/blog/2018/09/11/release111/

Since 1.1.1 is our new LTS release we are strongly advising all users to upgrade as soon as possible.

Our previous LTS release (OpenSSL 1.0.2) will continue to receive full support until the end of this year. After that it will receive security fixes only. It will stop receiving all support at the end of 2019. Users of that release are strongly advised to upgrade to OpenSSL 1.1.1.

escalade pushed a commit to escalade/packages that referenced this pull request Sep 12, 2018
This is a rebase of Kurt Roeckx's patch
openssh/openssh-portable#48

On top of that, the calls to deprecated openssl functions were updated,
and added a fix for redeclaration of pthread functions.

Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
neheb pushed a commit to neheb/packages that referenced this pull request Sep 15, 2018
This is a rebase of Kurt Roeckx's patch
openssh/openssh-portable#48

On top of that, the calls to deprecated openssl functions were updated,
and added a fix for redeclaration of pthread functions.

Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
@emaste
Copy link

emaste commented Sep 18, 2018

OpenSSL 1.1.x compatibility started arriving about a week ago: 482d23b

I cherry-picked the 1.1.x-compat commits on top of V_7_8_P1 (resolving trivial conflicts) and pushed the result here: https://github.com/emaste/openssh-portable/tree/v7.8p1-OpenSSL1.1

thewtex added a commit to thewtex/dockcross that referenced this pull request Dec 17, 2018
1.0.2o is now longer served.

OpenSSH does currently not support 1.1 per:

  openssh/openssh-portable#48
thewtex added a commit to thewtex/dockcross that referenced this pull request Dec 17, 2018
1.0.2o is now longer served.

OpenSSH does currently not support 1.1 per:

  openssh/openssh-portable#48
@daztucker
Copy link
Contributor

OpenSSL 1.1.x is now supported. Thanks.

@daztucker daztucker closed this Jun 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet