diff options
author | Eneas U de Queiroz <cotequeiroz@gmail.com> | 2019-06-28 11:05:20 -0300 |
---|---|---|
committer | Eneas U de Queiroz <cotequeiroz@gmail.com> | 2019-07-01 09:59:12 -0300 |
commit | 9b400b32eb3673ab525f12f41a2ff3e4e3bfcccb (patch) | |
tree | 979f7a8af8bc250f5abd86ea367cc00b397a85e5 /setup.py | |
parent | e4952a050d07a865611db3df1fc1509c783eabae (diff) | |
download | pycurl-9b400b32eb3673ab525f12f41a2ff3e4e3bfcccb.tar.gz |
Add locking support to wolfSSL
This takes advantage of wolfSSL openssl compatibility layer, so all
that that's needed are library detection, and inclusion of specific
headers.
WolfSSL must be built with --enable-opensslextra to enable the required
API, and that's being checked at build time, with a warning if disabled.
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 14 |
1 files changed, 13 insertions, 1 deletions
@@ -143,6 +143,7 @@ class ExtensionConfiguration(object): return { '--with-openssl': self.using_openssl, '--with-ssl': self.using_openssl, + '--with-wolfssl': self.using_wolfssl, '--with-gnutls': self.using_gnutls, '--with-nss': self.using_nss, '--with-mbedtls': self.using_mbedtls, @@ -163,7 +164,7 @@ class ExtensionConfiguration(object): if 'PYCURL_SSL_LIBRARY' in os.environ: ssl_lib = os.environ['PYCURL_SSL_LIBRARY'] - if ssl_lib in ['openssl', 'gnutls', 'nss', 'mbedtls']: + if ssl_lib in ['openssl', 'wolfssl', 'gnutls', 'nss', 'mbedtls']: ssl_lib_detected = ssl_lib getattr(self, 'using_%s' % ssl_lib)() else: @@ -188,6 +189,10 @@ class ExtensionConfiguration(object): self.using_openssl() ssl_lib_detected = 'openssl' break + if arg[2:] == 'wolfssl': + self.using_wolfssl() + ssl_lib_detected = 'wolfssl' + break if arg[2:] == 'gnutls': self.using_gnutls() ssl_lib_detected = 'gnutls' @@ -506,6 +511,11 @@ manually. For other SSL backends please ignore this message.''') self.libraries.append('ssl') self.define_macros.append(('HAVE_CURL_SSL', 1)) + def using_wolfssl(self): + self.define_macros.append(('HAVE_CURL_WOLFSSL', 1)) + self.libraries.append('wolfssl') + self.define_macros.append(('HAVE_CURL_SSL', 1)) + def using_gnutls(self): self.define_macros.append(('HAVE_CURL_GNUTLS', 1)) self.libraries.append('gnutls') @@ -572,6 +582,7 @@ def strip_pycurl_options(argv): PRETTY_SSL_LIBS = { # setup.py may be detecting BoringSSL properly, need to test 'openssl': 'OpenSSL/LibreSSL/BoringSSL', + 'wolfssl': 'wolfSSL', 'gnutls': 'GnuTLS', 'nss': 'NSS', 'mbedtls': 'mbedTLS', @@ -902,6 +913,7 @@ PycURL Unix options: --with-gnutls libcurl is linked against GnuTLS --with-nss libcurl is linked against NSS --with-mbedtls libcurl is linked against mbedTLS + --with-wolfssl libcurl is linked against wolfSSL ''' windows_help = '''\ |