Merge pull request #32 from LinuxJedi/tls_13_fix

pull/34/head
Chris Conlon 2022-07-26 09:48:50 -06:00 committed by GitHub
commit 59114919e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 26 additions and 9 deletions

View File

@ -53,8 +53,10 @@ def build_arg_parser():
)
parser.add_argument(
"-v", metavar="version", type=int, choices=[0, 1, 2, 3, 4], default=4,
help="SSL version [0-4] (SSLv3, TLSv1, TLSv1.1, TLSv1.2, SSLv23)"
"-v", metavar="version", type=int, choices=[0, 1, 2, 3, 4, 5],
default=5,
help="SSL version [0-5]"
"(SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3, SSLv23)"
)
parser.add_argument(
@ -96,6 +98,7 @@ def get_method(index):
wolfssl.PROTOCOL_TLSv1,
wolfssl.PROTOCOL_TLSv1_1,
wolfssl.PROTOCOL_TLSv1_2,
wolfssl.PROTOCOL_TLSv1_3,
wolfssl.PROTOCOL_SSLv23
)[index]

View File

@ -48,8 +48,10 @@ def build_arg_parser():
)
parser.add_argument(
"-v", metavar="version", type=int, choices=[0, 1, 2, 3, 4], default=4,
help="SSL version [0-4] (SSLv3, TLSv1, TLSv1.1, TLSv1.2, SSLv23)"
"-v", metavar="version", type=int, choices=[0, 1, 2, 3, 4, 5],
default=5,
help="SSL version [0-5]"
"(SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1_3, SSLv23)"
)
parser.add_argument(
@ -96,6 +98,7 @@ def get_method(index):
wolfssl.PROTOCOL_TLSv1,
wolfssl.PROTOCOL_TLSv1_1,
wolfssl.PROTOCOL_TLSv1_2,
wolfssl.PROTOCOL_TLSv1_3,
wolfssl.PROTOCOL_SSLv23
)[index]
@ -144,6 +147,7 @@ def main():
finally:
if secure_socket:
secure_socket.shutdown(socket.SHUT_RDWR)
secure_socket.close()
if not args.i:

View File

@ -45,11 +45,13 @@ def ssl_provider(request):
@pytest.fixture(
params=["TLSv1.1", "TLSv1.2", "SSLv23"])
params=["TLSv1.1", "TLSv1.2", "TLSv1.3", "SSLv23"])
def ssl_context(ssl_provider, request):
if request.param == "TLSv1.1":
return ssl_provider.SSLContext(ssl_provider.PROTOCOL_TLSv1_1)
if request.param == "TLSv1.2":
return ssl_provider.SSLContext(ssl_provider.PROTOCOL_TLSv1_2)
if request.param == "TLSv1.3":
return ssl_provider.SSLContext(ssl_provider.PROTOCOL_TLSv1_3)
if request.param == "SSLv23":
return ssl_provider.SSLContext(ssl_provider.PROTOCOL_SSLv23)

View File

@ -25,7 +25,7 @@
import pytest
from wolfssl._methods import (WolfSSLMethod, PROTOCOL_SSLv3, PROTOCOL_SSLv23,
PROTOCOL_TLS, PROTOCOL_TLSv1, PROTOCOL_TLSv1_1,
PROTOCOL_TLSv1_2)
PROTOCOL_TLSv1_2, PROTOCOL_TLSv1_3)
from wolfssl._ffi import ffi as _ffi
@ -37,8 +37,9 @@ def unsupported_method(request):
@pytest.fixture(
params=[PROTOCOL_SSLv23, PROTOCOL_TLS, PROTOCOL_TLSv1_1, PROTOCOL_TLSv1_2],
ids=["SSLv23", "TLS", "TLSv1_1", "TLSv1_2"])
params=[PROTOCOL_SSLv23, PROTOCOL_TLS, PROTOCOL_TLSv1_1, PROTOCOL_TLSv1_2,
PROTOCOL_TLSv1_3],
ids=["SSLv23", "TLS", "TLSv1_1", "TLSv1_2", "TLSv1_3"])
def supported_method(request):
yield request.param

View File

@ -366,6 +366,9 @@ cdef = """
WOLFSSL_METHOD* wolfTLSv1_2_server_method(void);
WOLFSSL_METHOD* wolfTLSv1_2_client_method(void);
WOLFSSL_METHOD* wolfTLSv1_3_server_method(void);
WOLFSSL_METHOD* wolfTLSv1_3_client_method(void);
WOLFSSL_METHOD* wolfSSLv23_server_method(void);
WOLFSSL_METHOD* wolfSSLv23_client_method(void);

View File

@ -63,6 +63,7 @@ def construct_cdef(optional_funcs):
static const long SSL_OP_NO_TLSv1;
static const long SSL_OP_NO_TLSv1_1;
static const long SSL_OP_NO_TLSv1_2;
static const long SSL_OP_NO_TLSv1_3;
static const long SSL_MODE_RELEASE_BUFFERS;
static const long SSL_OP_SINGLE_DH_USE;
static const long SSL_OP_SINGLE_ECDH_USE;
@ -175,11 +176,14 @@ def construct_cdef(optional_funcs):
SSL_METHOD* TLSv1_1_client_method(void);
SSL_METHOD* TLSv1_2_server_method(void);
SSL_METHOD* TLSv1_2_client_method(void);
SSL_METHOD* TLSv1_3_server_method(void);
SSL_METHOD* TLSv1_3_client_method(void);
SSL_METHOD* SSLv23_server_method(void);
SSL_METHOD* SSLv23_client_method(void);
SSL_METHOD* SSLv23_method(void);
SSL_METHOD* TLSv1_1_method(void);
SSL_METHOD* TLSv1_2_method(void);
SSL_METHOD* TLSv1_3_method(void);
/**
* SSL/TLS Context functions

View File

@ -8,4 +8,4 @@ __wolfssl_version__ = "v5.4.0-stable"
#
# MAJOR.MINOR.BUILD-POST
__version__ = "5.4.0-0"
__version__ = "5.4.0-1"