mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
bpo-34271: Fix compatibility with 1.0.2 (GH-13728)
Fix various compatibility issues with LibreSSL and OpenSSL 1.0.2 introduced by bpo-34271. Signed-off-by: Christian Heimes <christian@python.org>
This commit is contained in:
parent
06651ee418
commit
e35d1ba9ea
4 changed files with 22 additions and 46 deletions
|
@ -1,5 +1,12 @@
|
|||
/* Debug helpers */
|
||||
|
||||
#ifndef SSL3_MT_CHANGE_CIPHER_SPEC
|
||||
/* Dummy message type for handling CCS like a normal handshake message
|
||||
* not defined in OpenSSL 1.0.2
|
||||
*/
|
||||
#define SSL3_MT_CHANGE_CIPHER_SPEC 0x0101
|
||||
#endif
|
||||
|
||||
static void
|
||||
_PySSL_msg_callback(int write_p, int version, int content_type,
|
||||
const void *buf, size_t len, SSL *ssl, void *arg)
|
||||
|
@ -41,11 +48,13 @@ _PySSL_msg_callback(int write_p, int version, int content_type,
|
|||
case SSL3_RT_HANDSHAKE:
|
||||
msg_type = (int)cbuf[0];
|
||||
break;
|
||||
#ifdef SSL3_RT_HEADER
|
||||
case SSL3_RT_HEADER:
|
||||
/* frame header encodes version in bytes 1..2 */
|
||||
version = cbuf[1] << 8 | cbuf[2];
|
||||
msg_type = (int)cbuf[0];
|
||||
break;
|
||||
#endif
|
||||
#ifdef SSL3_RT_INNER_CONTENT_TYPE
|
||||
case SSL3_RT_INNER_CONTENT_TYPE:
|
||||
msg_type = (int)cbuf[0];
|
||||
|
@ -210,4 +219,4 @@ _PySSLContext_set_keylog_filename(PySSLContext *self, PyObject *arg, void *c) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue