Skip to content
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

Add FreeRTOS + wolfIP + wolfSSL HTTPS example #491

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

devin-ai-integration[bot]
Copy link

Add FreeRTOS + wolfIP + wolfSSL HTTPS Example

This PR adds a new full-stack example demonstrating embedded HTTPS server functionality using:

  • FreeRTOS (POSIX port) for RTOS simulation
  • wolfIP for zero-allocation networking
  • wolfSSL for TLS 1.3 security

Features

  • Virtual networking through TAP interface (10.10.0.0/24)
  • HTTPS server with TLS 1.3 support
  • UDP echo server for testing
  • Comprehensive test scripts

Testing

  • Built and tested on Ubuntu
  • Verified TLS 1.3 handshake with TLS_AES_256_GCM_SHA384
  • Confirmed network connectivity through TAP interface
  • Tested HTTPS functionality with curl

Link to Devin run

https://app.devin.ai/sessions/9009e1c8e0304b43a2e0c5effeb90b2c

Requested by

[email protected]

devin-ai-integration bot and others added 9 commits February 21, 2025 12:58
This example demonstrates a full-stack embedded networking application using:
- FreeRTOS (POSIX port) for RTOS simulation
- wolfIP for zero-allocation networking
- wolfSSL for TLS 1.3 security

Features:
- Virtual networking through TAP interface
- HTTPS server with TLS 1.3
- UDP echo server for testing
- Comprehensive test scripts

Co-Authored-By: [email protected] <[email protected]>
Copy link
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add "(aside)" to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@danielinux danielinux self-assigned this Feb 25, 2025
@danielinux
Copy link
Member

Tested and fixed two minor things.

3. Build the example:
```bash
mkdir -p build && cd build
cmake ..
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When running I get an error saying that wolfIP is missing, had to clone it outside of the wolfssl-examples manually (in ../../../ relative to wolfssl-examples) before running cmake .., maybe this can be integrated into setup.sh when cloning the FreeRTOS repositories and the setting up the example.
Same for wolfssl (with default config: ./configure).

```bash
mkdir -p build && cd build
cmake ..
make
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the creation of the build directory and the cmake command can be integrated directly into the make command.


# Clone FreeRTOS repositories if they don't exist
if [ ! -d "FreeRTOS" ]; then
git clone $FREERTOS_REPO
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may be worth to add --depth=1 to the cloning of the repos to make the setup quicker?

fi

if [ ! -d "FreeRTOS-Kernel" ]; then
git clone $FREERTOS_KERNEL_REPO
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above, can be cloned with --depth=1.

devin-ai-integration bot and others added 2 commits February 27, 2025 18:22
- Add --depth=1 to git clone commands for faster downloads
- Integrate wolfSSL and wolfIP setup into setup.sh
- Simplify build instructions in README.md

Co-Authored-By: [email protected] <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants