Staging
v0.5.1
v0.5.1
https://github.com/python/cpython
Revision 7316c6d4a57931e9786c06eae168b227d7463317 authored by Christian Heimes on 05 September 2017, 14:00:44 UTC, committed by GitHub on 05 September 2017, 14:00:44 UTC
* Change NPN detection: Version breakdown, support disabled (pre-patch/post-patch): - pre-1.0.1: OPENSSL_NPN_NEGOTIATED will not be defined -> False/False - 1.0.1 and 1.0.2: OPENSSL_NPN_NEGOTIATED will not be defined -> False/False - 1.1.0+: OPENSSL_NPN_NEGOTIATED will be defined and OPENSSL_NO_NEXTPROTONEG will be defined -> True/False Version breakdown support enabled (pre-patch/post-patch): - pre-1.0.1: OPENSSL_NPN_NEGOTIATED will not be defined -> False/False - 1.0.1 and 1.0.2: OPENSSL_NPN_NEGOTIATED will be defined and OPENSSL_NO_NEXTPROTONEG will not be defined -> True/True - 1.1.0+: OPENSSL_NPN_NEGOTIATED will be defined and OPENSSL_NO_NEXTPROTONEG will not be defined -> True/True * Refine NPN guard: - If NPN is disabled, but ALPN is available we need our callback - Make clinic's ssl behave the same way This created a working ssl module for me, with NPN disabled and ALPN enabled for OpenSSL 1.1.0f. Concerns to address: The initial commit for NPN support into OpenSSL [1], had the OPENSSL_NPN_* variables defined inside the OPENSSL_NO_NEXTPROTONEG guard. The question is if that ever made it into a release. This would need an ugly hack, something like: GH-if defined(OPENSSL_NO_NEXTPROTONEG) && \ !defined(OPENSSL_NPN_NEGOTIATED) GH- define OPENSSL_NPN_UNSUPPORTED 0 GH- define OPENSSL_NPN_NEGOTIATED 1 GH- define OPENSSL_NPN_NO_OVERLAP 2 GH-endif [1] https://github.com/openssl/openssl/commit/68b33cc5c7 (cherry picked from commit b2d096b)
1 parent e2543a6
Tip revision: 7316c6d4a57931e9786c06eae168b227d7463317 authored by Christian Heimes on 05 September 2017, 14:00:44 UTC
[3.6] bpo-30622: Change NPN detection: (GH-2079) (#3314)
[3.6] bpo-30622: Change NPN detection: (GH-2079) (#3314)
Tip revision: 7316c6d
File | Mode | Size |
---|---|---|
clinic | ||
stringlib | ||
README | -rw-r--r-- | 41 bytes |
abstract.c | -rw-r--r-- | 80.9 KB |
accu.c | -rw-r--r-- | 2.4 KB |
boolobject.c | -rw-r--r-- | 6.5 KB |
bytearrayobject.c | -rw-r--r-- | 68.7 KB |
bytes_methods.c | -rw-r--r-- | 21.0 KB |
bytesobject.c | -rw-r--r-- | 99.6 KB |
capsule.c | -rw-r--r-- | 7.2 KB |
cellobject.c | -rw-r--r-- | 4.8 KB |
classobject.c | -rw-r--r-- | 18.2 KB |
codeobject.c | -rw-r--r-- | 27.4 KB |
complexobject.c | -rw-r--r-- | 31.7 KB |
descrobject.c | -rw-r--r-- | 53.7 KB |
dict-common.h | -rw-r--r-- | 2.3 KB |
dictnotes.txt | -rw-r--r-- | 6.0 KB |
dictobject.c | -rw-r--r-- | 131.7 KB |
enumobject.c | -rw-r--r-- | 13.0 KB |
exceptions.c | -rw-r--r-- | 87.0 KB |
fileobject.c | -rw-r--r-- | 15.2 KB |
floatobject.c | -rw-r--r-- | 70.7 KB |
frameobject.c | -rw-r--r-- | 32.2 KB |
funcobject.c | -rw-r--r-- | 30.1 KB |
genobject.c | -rw-r--r-- | 67.8 KB |
iterobject.c | -rw-r--r-- | 8.9 KB |
listobject.c | -rw-r--r-- | 86.2 KB |
listsort.txt | -rw-r--r-- | 34.9 KB |
lnotab_notes.txt | -rw-r--r-- | 5.7 KB |
longobject.c | -rw-r--r-- | 167.1 KB |
memoryobject.c | -rw-r--r-- | 88.6 KB |
methodobject.c | -rw-r--r-- | 15.5 KB |
moduleobject.c | -rw-r--r-- | 22.0 KB |
namespaceobject.c | -rw-r--r-- | 7.3 KB |
object.c | -rw-r--r-- | 56.6 KB |
obmalloc.c | -rw-r--r-- | 79.4 KB |
odictobject.c | -rw-r--r-- | 76.8 KB |
rangeobject.c | -rw-r--r-- | 37.1 KB |
setobject.c | -rw-r--r-- | 73.0 KB |
sliceobject.c | -rw-r--r-- | 19.2 KB |
structseq.c | -rw-r--r-- | 12.9 KB |
tupleobject.c | -rw-r--r-- | 30.0 KB |
typeobject.c | -rw-r--r-- | 232.5 KB |
typeslots.inc | -rw-r--r-- | 3.9 KB |
typeslots.py | -rwxr-xr-x | 1.2 KB |
unicodectype.c | -rw-r--r-- | 7.5 KB |
unicodeobject.c | -rw-r--r-- | 454.3 KB |
unicodetype_db.h | -rw-r--r-- | 234.1 KB |
weakrefobject.c | -rw-r--r-- | 29.5 KB |
Computing file changes ...