Commit Graph

2589 Commits

Author SHA1 Message Date
robert
87325ece82 Removed MG_DRIVER_* macros 2025-07-02 05:03:32 -04:00
Sergio R. Caprile
aa27fde9d0 fix unix detection in wrong place 2025-07-01 16:28:13 -03:00
Sergio R. Caprile
806ee0f2cb Improve Zephyr support 2025-06-27 14:11:04 -03:00
Sergio R. Caprile
f5e2c68c8b update examples 2025-06-24 16:26:31 -03:00
Sergey Lyubka
074ef5197b Introduce mg_calloc 2025-06-24 10:52:44 +01:00
Sergey Lyubka
f71cc3ebc3
Merge pull request #3173 from cesanta/chachaleak
Some checks failed
Build and test - essentials / ${{ matrix.example.path }} (map[path:ti/ek-tm4c1294xl-make-baremetal-builtin]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:ti/ek-tm4c1294xl-make-freertos-builtin]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:http/http-client/esp8266/http-client-server]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:http/uart-bridge/esp32]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:stm32/nucleo-g031-make-baremetal-builtin]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:esp32]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:http/device-dashboard/microchip/same54-xpro]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:nxp/rt1020-evk-make-freertos-builtin]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:nxp/rt1060-evk-make-freertos-builtin]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:nxp/rt1170-evk-make-freertos-builtin]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:pico-sdk/pico-2-w-picosdk-freertos-lwip]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:pico-sdk/pico-rndis-dashboard]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:pico-sdk/pico-w-picosdk-freertos-lwip]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:renesas/ek-ra6m4-make-baremetal-builtin]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:stm32/nucleo-f746zg-make-baremetal-builtin-cmsis_driver]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:stm32/nucleo-f746zg-make-freertos-tcp]) (push) Has been cancelled
Build and test - essentials / ${{ matrix.example.path }} (map[path:pico-sdk/pico-rndis-device]) (push) Has been cancelled
Build and test - essentials / cube_examples (push) Has been cancelled
Build and test - essentials / test_f7 (push) Has been cancelled
Build and test - essentials / test_f4 (push) Has been cancelled
Build and test - essentials / test_h743 (push) Has been cancelled
Build and test - essentials / test_h723 (push) Has been cancelled
Build and test - essentials / test_h5 (push) Has been cancelled
Build and test - essentials / test_rt1020 (push) Has been cancelled
Build and test - essentials / test_rt1060 (push) Has been cancelled
Build and test - essentials / test_rt1170 (push) Has been cancelled
Build and test - essentials / test_ra6m4 (push) Has been cancelled
Build and test - essentials / test_tm4c (push) Has been cancelled
Build and test - essentials / test_same54 (push) Has been cancelled
Build and test - essentials / test_pico_w5500 (push) Has been cancelled
Avoid chacha20 header leaking its redefinitions
2025-06-18 10:47:19 +01:00
Sergio R. Caprile
2fc56dd1d0 Allow KA from erroneous implementations 2025-06-17 15:14:30 -03:00
Sergio R. Caprile
a5ebe71394 Avoid chacha20 header leaking its redefinitions 2025-06-17 12:12:48 -03:00
Sergey Lyubka
3a0fe5288c Add MG_ARCH_TREADX 2025-06-16 11:09:41 +01:00
Sergio R. Caprile
acf217601b Add Keep-Alive ACK 2025-06-11 14:25:05 -03:00
Sergio R. Caprile
d6fdfe5b1b avoid ASAN reporting read overflows 2025-06-05 17:26:56 -03:00
Sergio R. Caprile
58f1533779 expand test coverage 2025-06-05 14:24:03 -03:00
Sergio R. Caprile
0459d9e106 Unbreak MbedTLS (#3148), rollback debugging leftovers 2025-06-04 09:05:27 -03:00
Sergio R. Caprile
98e744a9ad fix error introduced in #3149 2025-06-03 15:29:28 -03:00
Sergio R. Caprile
5be9e55425
Merge pull request #3142 from cesanta/wonder
Add support for SDIO
2025-05-26 10:07:41 -03:00
Sergio R. Caprile
1b06403a19 Add support for SDIO
Add support for SDIO in CYW driver
Add Portenta H7 example
2025-05-26 10:04:44 -03:00
Sergio R. Caprile
b740c80855 set is_tls at mg_listen and mg_connect level 2025-05-26 09:42:48 -03:00
Sergey Lyubka
29594283c1
Merge pull request #3148 from cesanta/iowaitormsscapped
flush TLS buffer
2025-05-26 11:38:41 +01:00
Sergio R. Caprile
1f48b1ca65 flush TLS buffer 2025-05-23 14:04:59 -03:00
robert
fd2d7cccf3 RA8 eth and phy support 2025-05-23 10:15:49 -04:00
Sergio R. Caprile
fadf28adb4 Make built-in TLS play fair to TCP
Handshake functions in Mongoose TLS assumed data was being fully sent
after calling mg_io_send(). This was in fact the case with the usual 1460-bytes MSS, but not with the default 536-bytes MSS.
This PR removes all those calls from individual handshake functions, actual send is done at the main handshake function, keeping track of the amount of data sent, and so handling small MTUs/MSSs and possible MG_IO_WAITs when running over a socket layer.
2025-05-22 14:45:46 -03:00
Sergio R. Caprile
a801160bc0 collaterals #3140
We prepend current path to the URI, so a tilde could not be the first
char in a path. However, the same would happen for double dots, and
since we're already checking for that, it doesn't hurt to be on the safe
side for future's sake.
2025-05-21 10:43:14 -03:00
Sergio R. Caprile
662cc27f4f
Merge pull request #3140 from dag10/master
Fix URIs or header values containing tildes being unparsable.
2025-05-21 09:58:30 -03:00
Sergio R. Caprile
8061a41b38 workaround 2025-05-19 09:22:59 -03:00
Drew Gottlieb
d01aa01a51 Fix URIs or header values containing tildes being unparsable. 2025-05-15 17:13:15 -07:00
Sergio R. Caprile
54d4611eb6 call mg_tcpip_free from mg_mgr_free() 2025-05-15 17:37:40 -03:00
Sergio R. Caprile
f3fafb6759 make clang happy 2025-05-15 17:09:29 -03:00
Sergio R. Caprile
14be42c868 INFO -> VERBOSE 2025-05-15 15:50:36 -03:00
Sergey Lyubka
ccd6bcd95f
Merge pull request #3132 from cesanta/tls
stronger bounds checking
2025-05-13 22:26:35 +01:00
Sergey Lyubka
a3b63f3b0d
Merge pull request #3130 from cesanta/longpost
fix broken TCP closure
2025-05-13 22:26:15 +01:00
Sergio R. Caprile
1ef6c6aeb5 Handle TCP options 2025-05-13 16:27:50 -03:00
robertc2000
bd53529b45
Merge pull request #3134 from cesanta/ota-rw612
OTA for FRDM-RW612
2025-05-13 10:33:41 +03:00
Sergio R. Caprile
cc8ecc5a42 stronger bounds checking 2025-05-12 18:13:41 -03:00
robert
5a816a1d41 OTA for FRDM-RW612 2025-05-12 07:59:15 -04:00
robert
cdc439bc38 Websocket offset validation enhancement 2025-05-09 06:04:34 -04:00
Sergio R. Caprile
ae8422e304 fix broken TCP closure 2025-05-08 13:40:02 -03:00
Sergey Lyubka
041ec6e1f8 Close if drained
Some checks failed
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:pico-sdk/pico-2-w-picosdk-freertos-lwip], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:pico-sdk/pico-rndis-dashboard], ) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:pico-sdk/pico-rndis-dashboard], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:pico-sdk/pico-w-picosdk-freertos-lwip], ) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:pico-sdk/pico-w-picosdk-freertos-lwip], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:renesas/ek-ra6m4-make-baremetal-builtin], ) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:renesas/ek-ra6m4-make-baremetal-builtin], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:stm32/nucleo-f746zg-make-baremetal-builtin-cmsis_driver], ) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:stm32/nucleo-f746zg-make-baremetal-builtin-cmsis_driver], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:stm32/nucleo-f746zg-make-freertos-tcp], ) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:stm32/nucleo-f746zg-make-freertos-tcp], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:tutorials/http/device-dashboard/microchip/same54-xpro], ) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:tutorials/http/device-dashboard/microchip/same54-xpro], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} (map[path:pico-sdk/pico-rndis-device]) (push) Has been cancelled
Full build and test / cube_examples (push) Has been cancelled
Full build and test / zephyr_examples (push) Has been cancelled
Full build and test / test_f7 (push) Has been cancelled
Full build and test / test_f4 (push) Has been cancelled
Full build and test / test_h743 (push) Has been cancelled
Full build and test / test_h723 (push) Has been cancelled
Full build and test / test_h5 (push) Has been cancelled
Full build and test / test_rt1020 (push) Has been cancelled
Full build and test / test_rt1060 (push) Has been cancelled
Full build and test / test_rt1170 (push) Has been cancelled
Full build and test / test_ra6m4 (push) Has been cancelled
Full build and test / test_tm4c (push) Has been cancelled
Full build and test / test_same54 (push) Has been cancelled
Full build and test / test_pico_w5500 (push) Has been cancelled
CodeQL Scanning / CodeQL-Build (push) Has been cancelled
CIFuzz / Fuzzing (push) Has been cancelled
2025-05-03 10:28:40 +01:00
Sergio R. Caprile
f618fe125c Fix lwIP builds
Some checks failed
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:pico-sdk/pico-2-w-picosdk-freertos-lwip], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:pico-sdk/pico-rndis-dashboard], ) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:pico-sdk/pico-rndis-dashboard], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:pico-sdk/pico-w-picosdk-freertos-lwip], ) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:pico-sdk/pico-w-picosdk-freertos-lwip], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:renesas/ek-ra6m4-make-baremetal-builtin], ) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:renesas/ek-ra6m4-make-baremetal-builtin], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:stm32/nucleo-f746zg-make-baremetal-builtin-cmsis_driver], ) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:stm32/nucleo-f746zg-make-baremetal-builtin-cmsis_driver], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:stm32/nucleo-f746zg-make-freertos-tcp], ) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:stm32/nucleo-f746zg-make-freertos-tcp], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:tutorials/http/device-dashboard/microchip/same54-xpro], ) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} ${{ matrix.ssl }} (map[path:tutorials/http/device-dashboard/microchip/same54-xpro], -DMG_TLS=MG_TLS_BUILTIN) (push) Has been cancelled
Full build and test / ${{ matrix.example.path }} (map[path:pico-sdk/pico-rndis-device]) (push) Has been cancelled
Full build and test / cube_examples (push) Has been cancelled
Full build and test / zephyr_examples (push) Has been cancelled
Full build and test / test_f7 (push) Has been cancelled
Full build and test / test_f4 (push) Has been cancelled
Full build and test / test_h743 (push) Has been cancelled
Full build and test / test_h723 (push) Has been cancelled
Full build and test / test_h5 (push) Has been cancelled
Full build and test / test_rt1020 (push) Has been cancelled
Full build and test / test_rt1060 (push) Has been cancelled
Full build and test / test_rt1170 (push) Has been cancelled
Full build and test / test_ra6m4 (push) Has been cancelled
Full build and test / test_tm4c (push) Has been cancelled
Full build and test / test_same54 (push) Has been cancelled
Full build and test / test_pico_w5500 (push) Has been cancelled
CodeQL Scanning / CodeQL-Build (push) Has been cancelled
CIFuzz / Fuzzing (push) Has been cancelled
fixes #3119

lwIP does not export ip_mreq by default, it requires enabling support for IGMP by setting LWIP_IGMP, with the associated extra stuff. Mongoose will print an error if mg_multicast_add() is called with no multicast support in lwIP.
2025-04-29 19:24:17 -03:00
Sergio R. Caprile
8ab514fabc make hexdump send CRLF 2025-04-28 12:33:31 -03:00
Sergio R. Caprile
143b0ac126 fix 2025-04-24 11:04:43 -03:00
Sergio R. Caprile
1d2a768184 refactor the rest of the drivers 2025-04-22 13:59:03 -03:00
Sergio R. Caprile
dceb4beb09 Refactor MIP strategy and first driver (CMSIS) 2025-04-22 12:55:21 -03:00
robert
6f697db49d Added MDNS and driver support for multicast 2025-04-22 12:55:15 -03:00
Sergio R. Caprile
8e0212c3db Fix not reading last TLS small record with fast closure
Fixes #3104
MbedTLS API fairplay
2025-04-22 09:56:49 -03:00
Sergio R. Caprile
21eefa4b55
Merge pull request #3102 from cesanta/mipfin
Fix handling of FIN segments carrying data
2025-04-14 11:27:09 -03:00
Sergey Lyubka
fb6c6aafeb
Merge pull request #3100 from cesanta/timers
Fix #2768 - remove completed timers
2025-04-14 15:15:36 +01:00
Sergio R. Caprile
df07426e78 Fix handling of FIN segments carrying data 2025-04-14 11:11:48 -03:00
Sergio R. Caprile
f2fe47e9f7 workaround causing TLS libs to return zero 2025-04-11 14:42:15 -03:00
Sergio R. Caprile
fbc1708000 Add support for RM2 with STM32F (429, 746) 2025-04-11 09:20:40 -03:00
Sergey Lyubka
0539cf1023 Fix #2768 - remove completed timers 2025-04-11 11:24:10 +01:00