Commit Graph

67 Commits

Author SHA1 Message Date
Juliusz Sosinowicz bc4c0df315 Update multi-compiler timeout 2023-08-09 16:47:03 +02:00
Juliusz Sosinowicz e04033ae3d Adjust timeout to account for longer brew install 2023-08-04 10:49:39 +02:00
Juliusz Sosinowicz ee9ecd9591 Point krb5 action to master branch of osp repo 2023-07-27 11:14:41 +02:00
JacobBarthelmeh 3e5e16f1ff
Merge pull request #6641 from julek-wolfssl/gh/6555
Dtls13GetRnMask: Correctly get chacha counter on BE systems
2023-07-26 11:29:39 -06:00
Juliusz Sosinowicz 4a175ba280 Updates for Kerberos 5 1.21.1
- wolfssl_ec_point_mul: fix parameters being passed into ec_mul2add
- Compile in compressed ecc key parsing for OPENSSLALL
- Improve debugging around compat layer ecc operations
- wolfSSL_BN_div: dv can be NULL
- Add spake like computation test
- Add CI krb5 testing
- Add timeouts to CI
2023-07-26 16:40:38 +02:00
Juliusz Sosinowicz 8ec2e23773 Rework curl action to use actions-build-autotools-project 2023-07-24 09:13:10 +02:00
Juliusz Sosinowicz 72d99d0ae0 Add timeouts to action tests 2023-07-24 09:13:10 +02:00
John Bland 2e4b651b87 update tls13 to handle an OCSP_WANT_READ, update
async client test to retry connect on OCSP_WANT_READ instead of timing out
2023-07-21 16:24:59 -04:00
Lealem Amedie f30364a00d Fix test 2023-07-11 13:27:37 -06:00
Lealem Amedie e140a83fad Add curl gh actions test 2023-07-11 13:27:37 -06:00
Kareem 8906ee95fd Hitch code review feedback. 2023-07-10 10:06:12 -07:00
Kareem 2d0cc65381 Fix hitch test make check. 2023-07-10 10:06:12 -07:00
Kareem 56328d845a Hitch code review feedback. 2023-07-10 10:06:12 -07:00
Kareem 3bfa189286 Fix hitch Github action. 2023-07-10 10:06:12 -07:00
Kareem e871b1c04d Add hitch support to wolfSSL.
Add support for cipher aliases DHE, EDH and EECDH.

Add define SSL_CTRL_GET_CHAIN_CERTS to help hitch and other programs detect SSL_CTX_get0_chain_certs is supported.

Add wolfSSL_get_locking_callback.

Allow using ECDHE+RSA cipher suites when ECDHE alias is used while in OpenSSL compatibility mode.

Add more alerts for hitch.

SSL_CM should use the CTX's x509_store_pt if available.

Add support for SSL_CERT_FILE and SSL_CERT_DIR.  Load default OpenSSL TLS 1.3 ciphers when using OPENSSL_COMPATIBLE_DEFAULTS.

Use wolfSSL_sk_X509_new_null to allocate WOLFSSL_STACK in wolfSSL_CTX_get_extra_chain_certs.  Previous approach of malloc'ing without setting type/memsetting was leading to a segfault.

Add --enable-hitch.

hitch: Add unit tests for new APIs, fix a couple of issues uncovered by unit testing.

Correct behavior of wolfSSL_BIO_set_mem_buf for BIO_CLOSE/NOCLOSE and update unit test accordingly.

Add Github action test for hitch.
2023-07-10 10:06:10 -07:00
Juliusz Sosinowicz c4cbf0508b Add zephyr action 2023-07-07 20:18:19 +02:00
Juliusz Sosinowicz 0abaa89787 Add support for nginx-1.25.0
- nginx: add necessary defines and function
- Implement Certificate Authorities for TLS 1.3
- Implement secret logging for TLS 1.3. Can be used for example with:
  ./configure CPPFLAGS="-DWOLFSSL_SSLKEYLOGFILE -DSHOW_SECRETS -DHAVE_SECRET_CALLBACK -DWOLFSSL_SSLKEYLOGFILE_OUTPUT='\"/tmp/secrets\"'"
- Implement session context checking for tickets
- Check for authorized responder in OCSP basic response
- Fix handling call to ocsp->statusCb
- compat: Translate SOCKET_PEER_CLOSED_E to WOLFSSL_ERROR_SYSCALL
- Fix wolfSSL_CTX_set_session_cache_mode
  - WOLFSSL_SESS_CACHE_OFF means nothing should be on
  - WOLFSSL_SESS_CACHE_NO_INTERNAL turns off only the internal cache
- Respect ssl->options.internalCacheOff
- Implement SSL_SESSION_set_time
- wolfSSL_SSL_in_init: fix detection for TLS 1.3
- Fix handling call to ssl->alpnSelect
- SendTls13NewSessionTicket: always generate new ID
  - When we send a new ticket for the same session (for example we resumed a connection and are sending a new ticket so that the client can resume in the future), we need to generate a new ID so that we don't overwrite the old session in the cache. Overwriting the session results in the `diff` calculation in `DoClientTicketCheck()` producing the wrong value and failing to resume.
Add nginx github action test
- Fix memory leaks
- wolfSSL_OCSP_basic_verify: implement OCSP_TRUSTOTHER flag
- AKID: implement matching on issuer name and serial number
- ocsp: check for a chain match for OCSP responder
- Split CreateTicket into CreateTicket and SetupTicket
- SendCertificateStatus: free response.buffer
- Use heap hint when allocating responseBuffer
- Remove responseBuffer from internal API's that don't use it anywhere
2023-07-07 11:22:58 +02:00
David Garske 72ffa743a0 Fix for async ECC shared secret. ZD 15938 2023-05-01 15:30:03 -07:00
tmael 1106e5ff0e
TLS v1.3: Support a stateful ticket and test HAVE_EXT_CACHE (#5960)
* Add TLSv1.3 stateful support
Fix internal and external session cache

* session cache fixes

* Refactor

- implement wolfSSL_CTX_flush_sessions
- use wolfSSL_CTX_flush_sessions to make test_wolfSSL_CTX_add_session_ext deterministic
- add dtls to test_wolfSSL_CTX_add_session_ext
- DoClientTicket_ex does not modify ssl object
- only call session remove callback on:
  - timeout
  - session is being overwritten/removed from the cache

* Session fixes

- restore bogus ID on session duplicate
- don't evict on overwrite
- use memmove instead on memcpy as `ssl->session == session` is possible
- ignore ClientSession parameter in AddSessionToCache on NO_SESSION_CACHE_REF
- use sessionID when altSessionID not present

* Session fixes

- DoClientTicketFinalize: always copy in the ID as teh altSessionID
- don't overwrite ex_data when overwriting cacheSession and cacheSession owns it

* Callback wants to retain a copy

* wolfSSL_GetSessionClient: ssl->ctx->get_sess_cb does not apply here

* test_wolfSSL_CTX_add_session_ext 

gate expected results on WOLFSSL_DTLS_NO_HVR_ON_RESUME

* TlsSessionIdIsValid: copy return can't be ignored

* Silence unused parameter

* test_wolfSSL_CTX_add_session_ext: handle async case

* Gate wolfSSL_SSL_CTX_remove_session on NO_SESSION_CACHE

* ssl.c: style fixes

* Add twcase_get_sessionCb_cleanup to free external cache

* Remove hard tab

* Correct build error in wolfSSL_CTX_flush_sessions

* Jenkins fixes:

- altSessionID only available with WOLFSSL_TICKET_HAVE_ID
- slim out psk_sess_free_cb_ctx

* Stateful dtls case has 2 accesses. Stateless just one.

* Add version numbering to hostap logs

* Import internal.h for test_wolfSSL_SESSION_get_ex_new_index

* wolfSSL_SetSession: don't check SslSessionCacheOff for session setting

* wolfSSL_SetSession: fully set expired session for OpenSSL compatibility

* wolfSSL_SetSession: check if setting same object

* AddSession: always populate the session object to allow re-use

* Add logging to wolfSSL_NewSession and wolfSSL_FreeSession

* Always setup session object

* Check if session has been setup before setting it

* Print errors in async test

* Make SetupSession available outside NO_SESSION_CACHE

* Review comments

* Fix ticBuf leak and TlsSessionIdIsValid logic

* Fix unmatched curly brackets

* TlsSessionIdIsValid: always need to check copy var

* TlsResumptionIsValid: set resume to FALSE default

* wolfSSL_SetSession: remove now variable since only used in one place

* Move internalCacheLookupOff into HAVE_EXT_CACHE block

---------

Co-authored-by: Juliusz Sosinowicz <juliusz@wolfssl.com>
2023-04-21 06:46:08 -07:00
Juliusz Sosinowicz aa47a38a9e hostap/hwsim: use a custom commit to update the expired certs
- use 'theirs' merge strategy
2023-04-17 18:43:47 +02:00
JacobBarthelmeh cb422bfaf7
Merge pull request #6242 from julek-wolfssl/harden-tls
Implement TLS recommendations from RFC 9325
2023-04-04 10:13:27 -06:00
JacobBarthelmeh 35611cad96
Merge pull request #6252 from julek-wolfssl/async-test-action
Initial async test with gh action
2023-03-31 11:33:32 -06:00
JacobBarthelmeh 74e6f0d337
Merge pull request #6243 from julek-wolfssl/reuse-wolfssl-builds
actions: Build wolfSSL in seperate job
2023-03-31 09:26:43 -06:00
Juliusz Sosinowicz 4ddc975aca Expand asyn-check script 2023-03-31 11:25:46 +02:00
Juliusz Sosinowicz 27794c4b7e Initial async test with gh action 2023-03-30 19:33:54 +02:00
Juliusz Sosinowicz 43ca374cad actions: Fix openwrt patch 2023-03-29 11:32:32 +02:00
Juliusz Sosinowicz 415d6151ff Use unique name in openwrt action 2023-03-28 18:10:01 +02:00
Juliusz Sosinowicz f5b0c406c0 use unique artifact names 2023-03-28 17:17:18 +02:00
Juliusz Sosinowicz 1766a69152 actions: Build wolfSSL in seperate job 2023-03-28 17:00:51 +02:00
Juliusz Sosinowicz 60501236cf Add counter 2023-03-28 14:15:57 +02:00
Juliusz Sosinowicz e73ae077dc Retry hwsim tests 3 times on fail 2023-03-28 14:15:57 +02:00
Juliusz Sosinowicz 28fd14621a Add harden config to testing 2023-03-27 17:20:16 +02:00
JacobBarthelmeh 8ba35a5f16
Merge pull request #6180 from julek-wolfssl/openvpn-test
Add libnl-genl-3-200 as dependency to openvpn test
2023-03-15 10:11:20 -06:00
Andras Fekete f3e785b4c7 Let tests run to completion 2023-03-13 09:48:37 -04:00
Juliusz Sosinowicz a47cf08273 Add initial testing for wpa_supplicant 2023-03-10 17:12:56 +01:00
Juliusz Sosinowicz 9628eb0159 Add libnl-genl-3-200 as dependency to openvpn test
Looks like github actions removed libnl-genl-3-200 from the default image. Need to install manually.
2023-03-09 21:47:10 +01:00
Juliusz Sosinowicz e04a01dc4c Add fsanitize testing for openvpn 2023-03-08 11:23:41 +01:00
Andras Fekete 2cbf5435c6 Attempt to fix build error 2023-02-27 17:07:13 -05:00
Juliusz Sosinowicz 261054896c Actions fix
Fix for `workflows must be defined at the top level of the .github/workflows/ directory` error.
2023-02-20 18:42:47 +01:00
Juliusz Sosinowicz 8b7ea9e820 Refactor os-check.yml 2023-02-20 18:42:47 +01:00
Juliusz Sosinowicz 04cc85b31e Separate out into different files 2023-02-20 18:29:41 +01:00
Juliusz Sosinowicz d3551acc2b Code review 2023-02-20 18:29:41 +01:00
Juliusz Sosinowicz 36df1e1ae9 Add OSP github action 2023-02-20 18:29:41 +01:00
Andras Fekete dc08ecf287 Disable latest OpenWrt test 2023-02-06 11:03:41 -05:00
András Fekete 414c72adbc
Fix workflow concurrency (#6031)
* First test of the consolidated workflows
Co-authored-by: Andras Fekete <andras@wolfssl.com>
2023-01-30 10:10:54 -08:00
David Garske 10529e6199 Add `user_settings.h` template for wolfTPM 2023-01-26 10:40:59 -08:00
András Fekete 8ecd906c23
Update open wrt test (#6010)
Adding in tests of various versions of OpenWrt. Also simplified the way to reproduce potential issues and added in breadcrumbs for debugging.

Co-authored-by: Andras Fekete <andras@wolfssl.com>
2023-01-25 13:58:52 -08:00
András Fekete b9a544920d
Add open wrt test (#5985)
* First test

* Don't forget to run autogen.sh!

* Add tools needed by automake

* Try additional platforms

* Add in qemu for other platforms

* No real support for arm containers

* Fix indentation

* Simplify container build with a testing script

* Simpler names for actions

* No need to distribute OpenWRT test files

* Better list to put ignore files onto

* Create an 'ignore_files' list after all

* Add in some documentation of how OpenWRT tests work

* Fix up naming of OpenWrt

Co-authored-by: Andras Fekete <andras@wolfssl.com>
2023-01-20 16:59:36 -08:00
Andras Fekete 7e87623973 Don't auto-cancel GitHub Workflows 2023-01-20 16:17:20 -05:00
András Fekete f0c9f5f9f0
Multi compiler test (#5991)
* First attempt with GCC only

* Make the test run on every push temporarily

Also clean up the description of the workflow

* Fix invalid job name

* Missing hunks added

* Try out matrix actions

* Fix missing 'runs-on'

* Only needs to run on Ubuntu

* Use local installations of gcc/clang instead of containers

* Explicitly list out compilers to test

* Clean up names and concurrency group

* Only need to run on PRs and important branches

Co-authored-by: Andras Fekete <andras@wolfssl.com>
2023-01-19 14:56:16 -08:00