-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wolfssl pkg with GNRC support #9894
Conversation
With @danielinux we discussed this PR IRL and worked together to do some changes I wanted. I will summarize my remarks and justification here too as they belong in the comments of this PR for reference and critics. I am only looking at the build system integration and not the code/implementation itself. My main concern is that the version only uses only one module for everything, where I would like to have one module for each thing, and that I do not like With more details: One module per directoryThe This leads to also define dependencies between these modules and only build in the directory if the module/package is actually used. Remove per application global configuration of
|
Post-summit update: First of all, a big thank you to @cladmi for taking the time to explain the dependencies in the build systems, and enlightening the path to make the wolfSSL pkg as modular as required. As a result, the module is Here are the major changes in this update:
|
This is now outdated, please refer to #10308 |
fcf2bb6
to
4ff2246
Compare
closing in favour of #10308 |
Contribution description
This patch is based on #7348 and introduces wolfSSL callback support for GNRC sock API
In this preliminary version, UDP callbacks are supported via the GNRC
sock_udp
interface.A new example
dtls-wolfssl
is provided. It uses similar shell commands to those indtls-echo
:dtlss
- start dtls server on port 11111dtlsc
addr - start dtls client demo connection to server at address addrwolftest
- run all sanity checks to ensure that the crypto engine is working on the targetTesting procedure
wolfSSL should now work on any 32-bit target with support for
gnrc_networking
.The test procedure for native riot-to-riot test is the following:
Prepare the bridge interface linking two tuntap:
Run the server
copy the server address
Run the client
Testing against host endpoints
Riot-to-host can be tested against the DTLS examples provided in the wolfSSL-examples repository.
Next steps
In case of positive feedback, we will implement TCP callbacks for GNRC and provide HTTPS/TLS1.3 examples over
sock_tcp
.Issues/PRs references
This PR replaces #7348 as the previous socket-functionalities are maintained in the existing wolfssl-client and wolfssl-server examples.
The wolfSSL library package temporarly lives in the feature branch https://github.com/danielinux/wolfssl/tree/riot-os until the new callbacks for GNRC are merged in.
-- @danielinux @kaleb-himes @wolfSSL