862 Commits

Author SHA1 Message Date
Alexey Lapshin
1791325998 change(ci): enable -Werror=unused-but-set-variable 2026-07-16 10:54:36 +07:00
David Cermak
4c3d56aeb6 fix(lwip): tcp/ooseq: do not accept empty fin seg (+ other fixes)
* Update submodule: git log --oneline 9d2d8041..c6f2f878
  - test(lwip): add DHCP MTU validation unit test (espressif/esp-lwip@c6f2f878)
  - ppp: fix potential oob read in VJ decompression (espressif/esp-lwip@2ff439e6)
  - ip6-frag: Fix incorrect memcpy size to the actual struct (espressif/esp-lwip@91ad363b)
  - tcp/ooseq: do not accept empty fin seg (espressif/esp-lwip@fe4fb18c)
2026-07-01 20:21:59 +02:00
David Cermak
71eeec18c4 fix(lwip): Adds nullchecks after DHCP server alloc'd pools 2026-07-01 09:27:10 +02:00
David Cermak
32ca6039a0 fix(lwip): reject invalid DHCP MTU option values
Validate MTU from DHCP option 26 against RFC 2132 minimum (68 bytes)
before applying to netif->mtu, preventing rogue DHCP servers from
setting MTU to 0 or other dangerously low values that cause integer
wraparound in IPv4 fragmentation.
2026-07-01 09:27:10 +02:00
Nachiket Kukade
d244a37c12 feat(lwip): Add IPv6 static neighbor cache entry support
Add esp_netif_add_static_neighbor() and esp_netif_remove_static_neighbor(),
gated by CONFIG_LWIP_ND6_SUPPORT_STATIC_ENTRIES. These API's let callers
install/remove permanent IPv6->MAC mappings that bypass Neighbor Discovery
(no NS/NA). The calls run in the TCP/IP context and wrap the underlying lwIP
nd6_add_static_neighbor()/nd6_remove_static_neighbor() functions.
2026-06-30 02:21:50 +05:30
Alexey Lapshin
406bd2393e fix(ci): suppress GNU static analyzer warnings 2026-06-15 18:53:21 +07:00
Guillaume Souchere
62a28e250f feat(lwip): replace --wrap linker hacks with proper VFS registration on linux builds
The Linux LWIP port was using --wrap linker flags to intercept read,
write, close, fcntl and select, routing socket FDs (>= LWIP_SOCKET_OFFSET)
to lwip_*() functions. This conflicted with the dlsym(RTLD_NEXT)
cooperative syscall interposition used by the new FreeRTOS Linux
simulator.

Replace the --wrap approach with esp_vfs_register_fd_range(), matching
how LWIP already integrates with VFS on bare-metal ESP32 targets.
The cooperative read()/write() wrappers in vfs_coop_syscalls.c check
VFS first, so LWIP FDs are dispatched to lwip_read() etc. before the
cooperative fallback path is reached.
2026-06-04 11:36:34 +02:00
Abhik Roy
75f2ff7e0c fix(lwip): update submodule for DNS buffer overflow fix and CI sync
Updates esp-lwip from 20f8b0739 to 6233a1561, bringing in:
* fix(dns): add addr_cnt to DNS resolution to fix multi-IP buffer overflow
* ci: Add jira sync github workflows
2026-06-02 09:53:18 +10:00
David Cermak
ec470883d1 feat(lwip): Migrate lwip to mbedtls PSA API
Update submodule: git log --oneline fd432e4e..20f8b073
  - feat(lwip): migrate to to PSA API interface (espressif/esp-lwip@20f8b0739)
  - test: Fix multiple defs of util vars (espressif/esp-lwip@e9b8482e7)
  - ci: Add support for building tests/apps with both gcc and clang (espressif/esp-lwip@2a14051bf)
  - try to fix unit test compiling with clang (espressif/esp-lwip@6933a63cb)
  - apps/snmp: Remove @retval tags on void methods (espressif/esp-lwip@b6209dcf8)
  - snmp: Mention struct field removal in UPGRADING (espressif/esp-lwip@6659cf1f2)
  - snmp: remove unused prev field from snmp_varbind (espressif/esp-lwip@f32188001)
  - snmp: remove handling of varbind->prev because it is never used (espressif/esp-lwip@46660d5cf)
  - snmp: fix dangling pointer in snmp_traps (espressif/esp-lwip@0e3e97f8d)
2026-05-14 16:40:38 +02:00
Jiang Jiang Jian
1aae08cb12 Merge branch 'fix/fix_lost_ip_event_issue' into 'master'
fix(lwip): add some feature for dhcp and improve api

Closes WIFI-7304

See merge request espressif/esp-idf!47221
2026-05-07 20:53:23 +08:00
David Cermak
22b75a18bc fix(lwip): Fix DHCP server potentially incomplete pbuf copy
handle_dhcp: use pbuf_copy_partial for safe chain traversal

The manual two-segment copy loop was replaced with a single call
to pbuf_copy_partial(p, p_dhcps_msg, tlen, 0), which correctly
walks the entire pbuf chain regardless of segmentation.
A return-value check rejects truncated copies.
2026-05-06 21:03:56 +02:00
David Cermak
d8678b1d3d fix(lwip): Remove test-only Kconfig options 2026-05-06 20:54:19 +02:00
David Cermak
1d328aea61 fix(lwip): Trim to max packet size in dhcp server 2026-04-30 21:25:28 +08:00
David Čermák
d574eca661 Merge branch 'fix/lwip_timeout' into 'master'
fix(lwip): prevent integer overflow in sys_arch_sem_wait timeout

Closes IDFGH-17541

See merge request espressif/esp-idf!47841
2026-04-30 16:56:33 +08:00
wangtao@espressif.com
b0c5d076ce feat(lwip): dhcp server add support for dhcp inform 2026-04-30 11:50:12 +08:00
jjsch-dev
d0dcfda4bf fix(lwip): prevent integer overflow in sys_arch_sem_wait timeout 2026-04-29 13:32:47 +02:00
David Cermak
150e56c9fc fix(lwip): Add pytest to lwip 2026-04-09 15:44:04 +02:00
David Cermak
300e8ee870 fix(lwip): Add unit test for dhcps opt parsing 2026-04-09 15:42:49 +02:00
David Cermak
8b4b5d5301 fix(lwip): Fix DHCP servver OOB read issue 2026-04-09 15:14:23 +02:00
Tomas Rohlinek
3c499632c7 Merge branch 'feat/unify_vfs_api' into 'master'
feat(storage/vfs): Unify VFS API by removing context-less APIs

Closes IDF-15107

See merge request espressif/esp-idf!44161
2026-03-13 15:05:04 +01:00
Evgeny Torbin
d0f062c018 ci: remove unused test cases 2026-03-12 12:02:10 +01:00
Tomáš Rohlínek
a46fec8d96 feat(storage/vfs): Remove usage of context less VFS APIs 2026-03-11 11:03:43 +01:00
Tomáš Rohlínek
515975d2bb feat(storage/vfs): Make lwip specific API private 2025-12-16 17:48:55 +08:00
Tomáš Rohlínek
8c9d62de98 feat(storage/vfs): Remove old API usage 2025-12-16 17:48:55 +08:00
C.S.M
f405e51784 ci(esp32s31): Add ci build test for esp32s31 2025-12-11 15:17:15 +08:00
Alexey Lapshin
31810ae993 feat(esp_libc): make picolibc default libc 2025-12-03 13:31:42 +07:00
Mahavir Jain
d42cb3b3f7 fix(lwip): allow task stack from SPIRAM except for ESP32 ECO2 and below
Closes https://github.com/espressif/esp-idf/issues/17827
2025-11-11 14:14:22 +05:30
David Čermák
9748cae749 Merge branch 'fix/lwip_sys_mem_frag' into 'master'
[lwip]: Allocate signals/mboxes once to reduce heap frag

Closes IDF-11823

See merge request espressif/esp-idf!42116
2025-10-29 16:10:57 +08:00
David Čermák
4a59e94b4e Merge branch 'fix/lwip_dhcps_fuzz' into 'master'
[lwip]: Fix dhcp server minor issues found when fuzzing

See merge request espressif/esp-idf!42315
2025-10-24 04:41:24 +08:00
David Čermák
406c7f3ec6 Merge branch 'fix/netif_deprecated_inc' into 'master'
[lwip]: Removed deprecated headers

Closes IDF-6414

See merge request espressif/esp-idf!41868
2025-10-23 13:51:26 +08:00
David Cermak
4709069e13 fix(lwip): Fix dhcp-server to use callback only if configured 2025-10-23 13:49:21 +08:00
David Cermak
0cc53db591 fix(lwip): Fix dhcp-server to mem_free() items allocated by mem_alloc() 2025-10-23 13:49:21 +08:00
David Čermák
76966b3d8d Merge branch 'fix/docs_dhcp_acd' into 'master'
[lwip]: Clarify and test DHCP conflict detection

Closes IDF-7271

See merge request espressif/esp-idf!42020
2025-10-21 17:28:14 +08:00
David Cermak
18907c2c8f fix(lwip): Remove deprecated ping wrappers over lwip raw api 2025-10-20 17:51:39 +08:00
David Cermak
a04c5ba9bc fix(esp_netif): Remove deprecated sntp.h 2025-10-20 17:51:39 +08:00
David Cermak
5a9d6a5027 fix(lwip): Allocate signals/mboxes once to reduce heap frag 2025-10-20 11:21:30 +02:00
Marius Vikhammer
a257812e14 feat(stdio): added esp_stdio component
esp_stdio contains everything the old esp_vfs_console contained (the vfs stdio glue layer)
as well as other functionality related to stdio (previously referred to as console)
2025-10-16 10:01:59 +08:00
David Cermak
0586066d1b fix(lwip): Clarify and test DHCP conflict detection 2025-10-14 12:48:58 +02:00
David Cermak
69baa8f998 fix(lwip): Removed unused lwip flags 2025-10-03 14:41:31 +02:00
David Čermák
9063a6c279 Merge branch 'feat/lwip_netif_callbacks' into 'master'
[lwip]: Add support for netif link callback

Closes IDFGH-16317

See merge request espressif/esp-idf!42097
2025-10-02 12:37:37 +08:00
David Cermak
16b02aeb7a feat(lwip): Add support for netif link callback 2025-10-01 17:58:47 +08:00
Nebojša Cvetković
8760e3f38f feat(lwip): TCPIP_THREAD_NAME "tcpip" 2025-10-01 14:07:18 +08:00
David Cermak
d744d16fb0 fix(lwip): Make lwip alloc/free consistend in port layer
Merges https://github.com/espressif/esp-idf/pull/11534
2025-09-30 17:07:44 +08:00
Abhik Roy
d574382d7b feat(lwip): Remove deprecated LWIP_DHCPS_ADD_DNS Kconfig option 2025-09-29 21:26:01 +08:00
David Cermak
75e0d62739 feat(lwip/dhcps): Add support for reporting clients hostname 2025-09-26 07:54:20 +02:00
Ivan Grokhotkov
0d10158016 Merge branch 'feature/rename-newlib-to-esp_libc' into 'master'
change(esp_libc): rename newlib component to esp_libc

Closes IDF-11226

See merge request espressif/esp-idf!41584
2025-09-11 09:34:43 +02:00
wangtao@espressif.com
c2d87d962b fix(lwip): fix dhcp arp check issue 2025-09-11 13:23:49 +08:00
Alexey Lapshin
9281e78381 change(esp_libc): rename newlib component to esp_libc 2025-09-09 22:00:44 +08:00
Marek Fiala
9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
Marius Vikhammer
bf84ab652a change(test_utils): moved test_utils component to tools/test_apps/components/ 2025-07-21 14:05:50 +08:00