Commit Graph

166 Commits (2cbf28d9e35f507eeeff35dea057f25f4f7c36d5)

Author SHA1 Message Date
John Safranek ace63e9c33
Merge pull request #22 from haydenroche5/compatibility-layer
Add an OpenSSL compatibility layer.
2021-09-03 09:30:04 -07:00
Hayden Roche 7db065dd34 Add an OpenSSL compatibility layer.
Prior to this commit, some compatibility layer functions were available in
wolfssl-py's FFI bindings but only via the wolfSSL names. For example,
`wolfSSLv23_server_method` was available, but not `SSLv23_server_method`. This
commit adds support for the OpenSSL names. So, a Python module that uses the
OpenSSL names can now be more easily ported to using wolfssl-py. For example,
the module pyOpenSSL is a Python wrapper around OpenSSL using FFI, very similar
to what we're doing with wolfssl-py. These new bindings in wolfssl-py allow us
to plug in our wolfSSL FFI to pyOpenSSL, which in turn allows projects using
pyOpenSSL to use wolfSSL under the hood. As a proof of concept, I used
wolfssl-py with pyOpenSSL to convert the Python module ndg_httpsclient from
OpenSSL to wolfSSL.
2021-09-02 08:51:37 -07:00
John Safranek e25f244697
Merge pull request #19 from cconlon/certupdate 2021-02-19 20:18:36 -08:00
Chris Conlon 3ab3fe45fb update example certs to match main wolfSSL ones 2021-02-18 14:18:58 -07:00
Chris Conlon 7d209322a5
Merge pull request #17 from tmael/write_check_ret0
Handle error when wolfSSL_write() returns 0
2020-11-06 08:39:44 -07:00
Tesfa Mael 84592548fa Raise error when wolfSSL_write() returns 0 2020-11-05 16:21:44 -08:00
Chris Conlon 15e0b25129
Merge pull request #18 from ejohnstown/touch-reqs
Copy Files
2020-11-05 16:26:31 -07:00
John Safranek 521ac648a0 add language python for linux 2020-11-05 11:10:21 -08:00
John Safranek 92a3f7fe4a
Modernize
1. Update the travis script to follow their multi-OS example.
2. Set the path to Python in the osx bulid wheels script.
3. Add newlines to a couple requirements.
4. For osx, removed all versions of python except 3.7 and 3.8.
2020-11-05 09:36:24 -08:00
Chris Conlon e7e64de2c3
Merge pull request #12 from ejohnstown/build-update
Build Update
2020-11-03 17:06:45 -07:00
Chris Conlon 9bef875bb4
Merge pull request #14 from tmael/pem-passwd-cb
Add support for wolfSSL Context password callback
2020-08-07 11:17:59 -06:00
Tesfa Mael 436b2360b6 Add support for wolfSSL ctx password callback 2020-08-04 12:57:06 -07:00
John Safranek 401e12aa4c
Merge pull request #13 from cconlon/copyright2020
update copyright to 2020
2020-07-28 15:41:19 -07:00
Chris Conlon 032f2e0167 update copyright to 2020 2020-01-03 16:24:35 -08:00
John Safranek f398057d54 change travis 2019-09-27 16:37:03 -07:00
John Safranek fc88398f8b Build Update
One more update to make the build_wheels scripts the same.
2019-09-27 16:30:47 -07:00
John Safranek 2982c718a0 Build Update
1. Replaced the versioned venv paths in gitignore with a wildcard, like
in the wolfCrypt project.
2. Remove the absolute path to the python interpreter. They just need to
be in the path. (For example, you might install old versions in /opt and
add their subdirs to the path while the latest runs out of its location.)
3. Build the name of python, pip, and venv_ based on the version.
2019-09-27 15:55:42 -07:00
Daniele Lacamera c2c7ee5da7 wolfSSL version updated to v4.1.0-stable 2019-09-26 18:00:10 +02:00
Daniele Lacamera c5c9b53196
Merge pull request #11 from cconlon/05.23.2019
Python3 fixes, feature detection, ssl module compatibility fixes
2019-09-26 17:54:29 +02:00
Chris Conlon 7dcfb22e55 import EWOULDBLOCK from errno instead of socket 2019-09-19 15:35:43 -06:00
Chris Conlon 9118da9acc handle SSL_ERROR_WANT_WRITE in SSLSocket.sendall 2019-08-14 09:40:15 -06:00
Chris Conlon e26e8174e2 add EWOULDBLOCK as argument in WantRead/WantWrite error exceptions 2019-08-14 09:39:02 -06:00
Chris Conlon 25fc942c90 add missing socket wrappers, SSLSocket.pending() 2019-06-27 10:24:48 -07:00
Chris Conlon 3d96e3e3e0 move native feature verification to setup.py 2019-05-24 14:48:44 -06:00
Chris Conlon 7782fa8ddb fix wolfssl_inc_path w/o USE_LOCAL_WOLFSSL 2019-05-24 12:14:53 -06:00
Chris Conlon 3c38346612 close options.h header after reading 2019-05-24 12:07:29 -06:00
Chris Conlon 0e6e405db5 Python3 fixes, native feature detection, cleanup 2019-05-23 16:57:18 -06:00
toddouska 444d871a3e
Merge pull request #8 from cconlon/pyupdate
Update wolfssl-py for use with urllib3 and websocket-client
2019-02-11 13:19:41 -08:00
Chris Conlon 0598e2ee9d fix travis ci build integration 2019-01-23 16:09:50 -07:00
Chris Conlon d6512b3179 comment about websocket-client using static RSA suites 2019-01-18 16:22:36 -08:00
Chris Conlon 2c9cd3e796 update README 2019-01-18 16:13:08 -08:00
Chris Conlon 938e392e46 update copyrights to 2019 2019-01-18 15:46:56 -08:00
Chris Conlon cf75110fd9 fix string decoding, implement recv_into(), add alert history 2019-01-18 15:12:35 -08:00
Chris Conlon 8ada6e4d3a rearrange requirements in setup.py 2019-01-18 14:50:55 -08:00
Chris Conlon e594b61280 wrap native wolfSSL_ERR_error_string(), fix do_handshake SSLError exception 2019-01-04 12:03:02 -08:00
Chris Conlon 1d588a8465 wrap wolfSSL_check_domain_name, add SSLContext.check_hostname 2019-01-03 13:27:20 -08:00
Chris Conlon 0ca4dd9a08 add USE_LOCAL_WOLFSSL to allow use of local wolfSSL library install 2019-01-03 13:06:20 -08:00
Chris Conlon d26781d774 enable debugging in example client/server if compiled in 2018-12-31 09:02:33 -08:00
Chris Conlon a28185bc3d detect error if server_side set incorrectly between CTX init and wrap_socket() 2018-12-31 09:02:05 -08:00
Chris Conlon e32799a5ed update copyright dates to 2019 2018-12-31 08:31:48 -08:00
Chris Conlon 9b396f47cf update native wolfSSL version to 3.15.7-stable 2018-12-31 08:28:24 -08:00
Chris Conlon a58fa13a60 update getpeercert() for compatibility with Python ssl module, add server_hostname to wrap_socket() 2018-12-28 16:09:38 -08:00
Chris Conlon 4fed878960 wrap WOLFSSL_CTX get/set options functions 2018-12-28 14:32:04 -08:00
Chris Conlon 9ff47b5728 wrap wolfSSL_X509_get_der() 2018-12-26 16:08:33 -08:00
Chris Conlon 6d60fa4b4b free WOLFSSL session instead of CTX on _release_native_object() 2018-12-26 12:53:46 -08:00
Chris Conlon fb42244d31 wrap SNI for urllib3, fix debug wrappers, additional WANT_READ/WRITE checks 2018-12-26 12:48:07 -08:00
Chris Conlon 48fefc2a80 modify SSLSocket class to override object instead of socket class, Python 2 did not allow overriding of some socket APIs 2018-12-26 09:52:13 -08:00
Chris Conlon 6268085fc5 wrap wolfSSL_get_peer_certificate(), get_subjectCN(), get_next_altname() 2018-12-26 09:40:46 -08:00
Chris Conlon 821c6f3ba2 wrap native wolfSSL_Debugging_ON/OFF() 2018-12-26 09:22:35 -08:00
Chris Conlon bb2422c65a split cflags and autoconf flags for easier appending 2018-12-26 09:18:50 -08:00