Skip to content

Conversation

@tiran
Copy link
Member

@tiran tiran commented Jan 20, 2018

The ssl module now contains a workaround for missing NPN support in LibreSSL
2.6.1. Upstream has removed NPN without setting OPENSSL_NO_NEXTPROTONEG.

Obsoletes PR #4930
See libressl/portable#368

https://bugs.python.org/issue32378

The ssl module now contains a workaround for missing NPN support in LibreSSL
2.6.1. Upstream has removed NPN without setting OPENSSL_NO_NEXTPROTONEG.
* designated OPENSSL_NO_NEXTPROTONEG feature flag. See upstream issue
* https://github.com/libressl-portable/portable/issues/368
*/
#if defined(LIBRESSL_VERSION_NUMBER) && !defined(TLSEXT_TYPE_next_proto_neg)

Choose a reason for hiding this comment

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

This is not really a LibreSSL quirk - due to various history, no one can set OPENSSL_NO_NEXTPROTONEG without breaking multiple open source projects (each in different ways). As such, I would strongly recommend conditioning on the availability of TLSEXT_TYPE_next_proto_neg, rather than trying to map this to OPENSSL_NO_NEXTPROTONEG.

If you wish to retain this approach, the comment above could at least be updated to explain why OPENSSL_NO_NEXTPROTONEG cannot be set via LibreSSL (or OpenSSL for that matter).

@tiran
Copy link
Member Author

tiran commented Feb 24, 2018

I'm closing my PR in favor of GH-5343

@tiran tiran closed this Feb 24, 2018
@tiran tiran deleted the bpo-32378-libressl-npn-2 branch February 24, 2018 19:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting merge type-bug An unexpected behavior, bug, or error

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants