@@ -155,7 +155,6 @@ def make_flags(prefix, debug):
155155
156156 # tls 1.3
157157 flags .append ("--enable-tls13" )
158- flags .append ("--enable-sslv3" )
159158
160159 # for urllib3 - requires SNI (tlsx), options (openssl compat), peer cert
161160 flags .append ("--enable-tlsx" )
@@ -212,6 +211,7 @@ def build_wolfssl(ref, debug=False):
212211
213212
214213def make_optional_func_list (libwolfssl_path , funcs ):
214+ sys .stderr .write ("\n libwolfssl Path: %s\n " % libwolfssl_path )
215215 if libwolfssl_path .endswith (".so" ):
216216 libwolfssl = cdll .LoadLibrary (libwolfssl_path )
217217 defined = []
@@ -282,6 +282,13 @@ def generate_libwolfssl():
282282 generate_libwolfssl ()
283283 get_libwolfssl ()
284284
285+ # default values
286+ OLDTLS_ENABLED = 1
287+
288+ if featureDetection :
289+ OLDTLS_ENABLED = 0 if '#define NO_OLD_TLS' in optionsHeaderStr else 1
290+
291+ sys .stderr .write ("\n OLDTLS: %d\n " % OLDTLS_ENABLED )
285292
286293WolfFunction = namedtuple ("WolfFunction" , ["name" , "native_sig" , "ossl_sig" ])
287294# Depending on how wolfSSL was configured, the functions below may or may not be
@@ -302,6 +309,8 @@ def generate_libwolfssl():
302309source = """
303310 #include <wolfssl/options.h>
304311 #include <wolfssl/ssl.h>
312+
313+ int OLDTLS_ENABLED = """ + str (OLDTLS_ENABLED ) + """;
305314"""
306315ffi_source = source + openssl .source
307316
@@ -326,7 +335,9 @@ def generate_libwolfssl():
326335 */
327336 typedef unsigned char byte;
328337 typedef unsigned int word32;
329-
338+
339+ extern int OLDTLS_ENABLED;
340+
330341 typedef ... WOLFSSL_CTX;
331342 typedef ... WOLFSSL;
332343 typedef ... WOLFSSL_X509;
@@ -360,9 +371,16 @@ def generate_libwolfssl():
360371 /**
361372 * SSL/TLS Method functions
362373 */
374+ """
375+
376+ if OLDTLS_ENABLED :
377+ sys .stderr .write ("\n Adding OLDTLS\n " )
378+ cdef += """
363379 WOLFSSL_METHOD* wolfTLSv1_1_server_method(void);
364380 WOLFSSL_METHOD* wolfTLSv1_1_client_method(void);
381+ """
365382
383+ cdef += """
366384 WOLFSSL_METHOD* wolfTLSv1_2_server_method(void);
367385 WOLFSSL_METHOD* wolfTLSv1_2_client_method(void);
368386
@@ -373,7 +391,12 @@ def generate_libwolfssl():
373391 WOLFSSL_METHOD* wolfSSLv23_client_method(void);
374392
375393 WOLFSSL_METHOD* wolfSSLv23_method(void);
394+ """
395+ if OLDTLS_ENABLED :
396+ cdef += """
376397 WOLFSSL_METHOD* wolfTLSv1_1_method(void);
398+ """
399+ cdef += """
377400 WOLFSSL_METHOD* wolfTLSv1_2_method(void);
378401
379402 /**
@@ -501,7 +524,7 @@ def generate_libwolfssl():
501524for func in optional_funcs :
502525 cdef += "{};" .format (func .native_sig )
503526
504- ffi_cdef = cdef + openssl .construct_cdef (optional_funcs )
527+ ffi_cdef = cdef + openssl .construct_cdef (optional_funcs , OLDTLS_ENABLED )
505528ffi .cdef (ffi_cdef )
506529
507530if __name__ == "__main__" :
0 commit comments