Skip to content

feat(lws): bump submodule for mbedTLS 4 support; allow IDF v6.0#1070

Open
vikramdattu wants to merge 1 commit into
espressif:masterfrom
vikramdattu:feat/libwebsockets/mbedtls4-idf6
Open

feat(lws): bump submodule for mbedTLS 4 support; allow IDF v6.0#1070
vikramdattu wants to merge 1 commit into
espressif:masterfrom
vikramdattu:feat/libwebsockets/mbedtls4-idf6

Conversation

@vikramdattu

Copy link
Copy Markdown
Contributor

Summary

  • Bump libwebsockets submodule from `a74362ff` → `7726361c` (warmcat main HEAD) which carries Andy Green's mbedTLS 4 migration commits (`3079d311 mbedtls4` + `7726361 sai-fixes` completing it).
  • Drop the `idf <6.0` cap from `idf_component.yml` — IDF v6.0 ships mbedTLS 4 by default and the bumped libwebsockets supports it. Component version `4.3.31` → `4.3.32`.

Verification

  • `examples/client` builds clean on IDF release/v6.0 (target esp32) — exit 0, full link.
  • No release tag of libwebsockets carries mbedTLS 4 support yet (v4.5.8 predates the migration); pinning by SHA is the only option until warmcat cuts a tag.

Notes

@vikramdattu

Copy link
Copy Markdown
Contributor Author

Hi @david-cermak — heads up on the clang-tidy failure: it's not the
code in this PR, it's an upstream libwebsockets bug.

At the SHA we pin (7726361c) — and at every SHA after a68609413 "qpack" (May 20) — the tree declares a gitlink
minimal-examples-lowlevel/api-tests/api-test-qpack/qifs but ships no
.gitmodules file. So git submodule update --init --recursive
fails. I checked: .gitmodules was never in the repo; Andy Green
added the gitlink without registering it. Bisecting to an earlier
lws SHA can't escape it without losing the mbedtls4 commit.

I've filed the upstream fix: warmcat/libwebsockets#3597.

Two paths:

  1. Wait for the warmcat maintainer to review and merge #3597 — could
    be a few days.
  2. Interim workaround in this PR's CI: replace the recursive
    submodule init with explicit per-component non-recursive inits
    (scoped to lws, doesn't touch asio/mosquitto).

Which do you prefer?

@espressif-bot espressif-bot added the Status: Opened Issue is new label Jun 4, 2026
@vikramdattu vikramdattu force-pushed the feat/libwebsockets/mbedtls4-idf6 branch from 231032f to 98a9ac5 Compare June 4, 2026 14:39
@david-cermak david-cermak added the lws libwebsockets label Jun 4, 2026
@david-cermak

Copy link
Copy Markdown
Collaborator
  • Wait for the warmcat maintainer to review and merge #3597 — could
    be a few days.
  • Interim workaround in this PR's CI: replace the recursive
    submodule init with explicit per-component non-recursive inits
    (scoped to lws, doesn't touch asio/mosquitto).

Both options are fine with me. If the upstream fix gets merged within days, I would wait.

@@ -1,5 +1,5 @@
version: "4.3.3~1"
version: "4.3.3~2"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@david-cermak the version and the changelog above will pick the commit title automatically?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@vikramdattu see https://github.com/espressif/esp-protocols/blob/master/CONTRIBUTING.md#release-process

the commit (when created by the bump command) will update the version files and changelog (based on commit delta from the previous tag)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

when created by the bump command

but that doesn't support these ~postfix numbers (yet), so you'd need to edit the commit.

Here's an example #1071

PS: If you like, we can merge #1071 to release v4.3.3~2 for now, and after the upstream maintainers fix the above, we can merge this one to release v4.3.3~3

@vikramdattu vikramdattu changed the title feat(lws): bump submodule for mbedTLS 4 support; allow IDF v6.0 Draft: feat(lws): bump submodule for mbedTLS 4 support; allow IDF v6.0 Jun 8, 2026
@vikramdattu vikramdattu changed the title Draft: feat(lws): bump submodule for mbedTLS 4 support; allow IDF v6.0 feat(lws): bump submodule for mbedTLS 4 support; allow IDF v6.0 Jun 8, 2026
@vikramdattu

vikramdattu commented Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

Rebase needed once warmcat/libwebsockets#3600 and warmcat/libwebsockets#3601 and warmcat/libwebsockets#3602 are merged

@vikramdattu vikramdattu marked this pull request as draft June 9, 2026 09:37
@vikramdattu vikramdattu marked this pull request as ready for review June 9, 2026 15:58
Pin the libwebsockets submodule at warmcat main (mbedTLS 4 + the
FreeRTOS/ESP-IDF v6 build fixes), allow IDF v6.0, and force lws's
mbedTLS 4 code path on IDF: lws's own V4 probe doesn't run on FreeRTOS,
so detect the version from the IDF mbedtls component and inject the
tf-psa-crypto include dirs.
@vikramdattu vikramdattu force-pushed the feat/libwebsockets/mbedtls4-idf6 branch from c144d26 to 617e107 Compare June 9, 2026 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants