Commit Graph

50 Commits (ced81987378efc24a2667741b3732dffb8caf265)

Author SHA1 Message Date
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
Andras Fekete 2276fca0f4 Cancel runs on subsequent push to PR but not to branches 2023-01-19 10:12:08 -05:00
Andras Fekete d955768744 Only run on important branches 2023-01-19 10:03:26 -05:00
Andras Fekete ac8951c4e2 Fix typo 2023-01-19 09:54:20 -05:00
Andras Fekete 4d5dbe9b90 Give a better name to the workflow 2023-01-19 09:44:38 -05:00
Andras Fekete b1f423be38 Kill off previous run if another commit happens 2023-01-19 09:41:18 -05:00
Andras Fekete cb601bdf64 Combine ubuntu and macos tests to ensure the same thing is run 2023-01-19 09:33:26 -05:00
Andras Fekete 283ebd5afe Remove base job 2023-01-18 17:17:15 -05:00
Andras Fekete bb88c8fbfa Add in 'runs-on' 2023-01-18 17:13:08 -05:00
Andras Fekete caa7c9e8b5 One more missing keyword 2023-01-18 17:07:36 -05:00
Andras Fekete 0d73074718 Missing keyword 2023-01-18 17:00:47 -05:00
Andras Fekete ffee4edcf5 Fix dependency command 2023-01-18 16:22:06 -05:00
Andras Fekete 6ac09b5c66 Fix spacing 2023-01-18 16:12:54 -05:00
Andras Fekete cd0b3b4eb9 Separate out steps to individual jobs 2023-01-18 16:10:58 -05:00
David Garske 023db01aca * Fixed some build configuration variations.
* Fixed `PEM_BUFSIZE` macro redefined when building with coexist.
* Updated the `user_settings_all.h` and `user_settings_wolfboot_keytools.h` to include latest options.
* Improved API unit test error case checking where `TEST_RES_CHECK` is not used.
* Changed `TEST_SKIPPED` to unique value.
* Added CI tests for enable-all, small stack, and user setting templates.
2023-01-03 10:59:59 -08:00
András Fekete 4f8edb312b
Add compilation to espressif (#5947)
* Refactor GitHub actions and add ESP tests.
* Add script for building all examples for ESP.
* Fixes for ESP-IDF v5.0
* Consolidating Espressif files into a single include.am
Co-authored-by: Andras Fekete <andras@wolfssl.com>
2023-01-03 09:50:38 -08:00
elms 0f50ffb2ef github: Initial templates 2022-01-19 10:36:01 -08:00
John Safranek 3aa3fc889f
Add simple push and pull-request triggered build checks. 2021-04-28 16:52:54 -07:00