Commit Graph

1182 Commits

Author SHA1 Message Date
robert
264026acde added TCP/UDP packet splitting to fit within MTU 2023-09-12 07:05:13 -04:00
Sergio R. Caprile
1391bdcf8b remove certs.h 2023-09-06 15:49:02 -03:00
Sergio R. Caprile
8140ea16a7
Merge pull request #2371 from cesanta/cloexec
Fix #2369 - set CLOEXEC on epoll and regular file fds
2023-09-05 10:15:58 -03:00
Sergey Lyubka
2883709756
Merge pull request #2370 from cesanta/ota
Add OTA to the device dashboard. Implement for H5
2023-09-05 13:28:22 +01:00
cpq
ca4c2c6c41 Set CLOEXEC on epoll and regular file fds 2023-09-05 06:56:41 +01:00
cpq
2f014237b2 Add OTA to the device dashboard. Implement for H5 2023-09-04 22:07:32 +01:00
robert
f33e3a7752 closing connection if a fragmented packet is received 2023-08-30 10:30:51 -04:00
cpq
e8d57ac4e1 Style: always braces around if + else 2023-08-25 14:46:38 +01:00
cpq
527e89754e Change base64 API 2023-08-22 12:11:13 +01:00
robertc2000
30e0f42c97
Merge pull request #2357 from cesanta/tcpip-conn-init
improved tcp connection initiation
2023-08-22 09:30:24 +03:00
cpq
3256218fd2 Do uri len check after it is finalised 2023-08-21 17:16:48 +01:00
robert
a4f14b0ddf improved tcp connection initiation 2023-08-21 10:22:53 -04:00
cpq
b32d1c15f0 Store certs in certs/. Add mg_unpacked() 2023-08-20 23:43:04 +01:00
Sergio R. Caprile
1e0d57a832
Merge pull request #2352 from cesanta/mip
Unify naming: all network stacks are in src/net_...
2023-08-18 16:40:57 -03:00
cpq
f3617a1cf3 Add integer overflow protection 2023-08-18 20:33:57 +01:00
cpq
89a9a50b96 Unify naming: all network stacks are in src/net_... 2023-08-18 19:59:15 +01:00
robertc2000
3ea5f8dbde
Merge pull request #2344 from cesanta/tcp-closure
improved tcp closure
2023-08-18 14:06:41 +03:00
Sergio R. Caprile
7459d30a28 deprecate mg_mkpipe() 2023-08-17 18:05:03 -03:00
robert
f5e87cceec improved tcp closure 2023-08-17 10:34:31 -04:00
cpq
9fe7807b02 Fix #2322 - stricter Content-Length check, allow 1*DIGIT only 2023-08-17 12:55:08 +01:00
cpq
58886a9693 Fix #2345 - json parsing of arrays of objects 2023-08-16 22:09:45 +01:00
cpq
ea3968601e Add http serve to fuzzer 2023-08-16 20:18:52 +01:00
Sergio R. Caprile
face6c44c6 SAME54 Ethernet driver
Add tls_builtin.c
2023-08-10 18:59:23 -03:00
Sergio R. Caprile
3721bcc790
Revert "Foo" 2023-08-10 17:48:55 -03:00
cpq
70fc71c6f7 Changes 2023-08-07 06:18:49 -04:00
cpq
519d4b0286 Changes 2023-08-04 13:53:01 +01:00
cpq
8005a5e687 Changes 2023-08-04 13:53:01 +01:00
cpq
f5943fe591 Add tls_builtin.c 2023-08-04 13:53:01 +01:00
robert
b5213c13dd SAME54 Ethernet driver 2023-08-04 13:48:55 +01:00
Sergio R. Caprile
5cdf6c1d05 Add SYN timeout 2023-08-03 14:23:14 -03:00
Sergio R. Caprile
5754e5dd59 fix ARP timeout 2023-08-03 13:42:56 -03:00
cpq
697576b63c Implement ARP resolution for local LANs 2023-08-03 13:48:23 +01:00
cpq
7548af895b H7 mbedtls build fixed 2023-07-25 15:34:22 +01:00
cpq
0613cc62f4 TLS API refactor 2023-07-25 13:07:28 +01:00
cpq
0a761c09e3 AVR build fixes 2023-07-20 16:07:53 +01:00
cpq
3c9e218d07 Nits 2023-07-19 05:08:28 +01:00
cpq
e1c91b5763 Merge branch 'master' of github.com:cesanta/mongoose 2023-07-18 17:47:02 +01:00
cpq
c49b472f92 Ignore DHCP for static IP config 2023-07-18 17:46:52 +01:00
Sergey Lyubka
0a6b1b9418
Merge pull request #2297 from cesanta/2251-implement-tcp-retransmit-in-mip
implemented tcp retransmission
2023-07-16 04:53:06 +01:00
Sergio R. Caprile
ac40673a9e test for retransmitted segment 2023-07-12 11:22:35 -04:00
robert
320da5e84c implemented tcp retransmission 2023-07-11 06:20:47 -04:00
cpq
88e880f107 Fix #2292 - fail on stray \r character in headers 2023-07-09 18:18:18 +01:00
cpq
bf8c4dfc83 Merge branch 'master' of github.com:cesanta/mongoose 2023-07-07 08:44:33 +01:00
cpq
5dff282132 Fix #2293 - stricter header validity check 2023-07-07 08:44:25 +01:00
Sergio R. Caprile
59c46fc594 update 2023-07-05 17:49:18 -03:00
cpq
03a94e3a6a Use \r\n for log messages, for terminal apps 2023-07-05 10:26:27 +01:00
Sergio R. Caprile
5c8e05a4fc bump revno up 2023-07-04 12:18:09 -03:00
robert
040936eb47 fixed mqtt vc98 warning 2023-07-03 10:49:18 -04:00
Sergey Lyubka
101beec3ae
Merge pull request #2284 from cesanta/enhance-mg_remove_double_dots
enhanced path sanitizing
2023-07-03 14:43:32 +01:00
robert
2f1a836bf0 enhanced path sanitizing 2023-07-03 06:14:50 -04:00
Sergio R. Caprile
eda1e8a402 fix header truncation 2023-06-27 14:56:04 -03:00
Sergio R. Caprile
c688687ff8 Reinstall extra HTTP codes
the extra strings are not polluting the binary much
2023-06-27 13:44:44 -03:00
Sergio R. Caprile
d56e5bea62
Merge pull request #2274 from cesanta/mqtt-var-length-issue
fixed mqtt variable length header issue
2023-06-27 09:48:20 -03:00
robert
aed7b6b37a fixed mqtt variable length header issue 2023-06-27 01:00:45 -04:00
WKJay
5be1c6381b add RT-Thread support 2023-06-26 16:18:40 +08:00
Sergio R. Caprile
6e6e34c423 improve DHCP in MIP 2023-06-22 18:55:48 -03:00
Sergio R. Caprile
71b3e26232 fix DHCP xid being ignored 2023-06-19 18:50:51 -03:00
Sergey Lyubka
7ea2093a91
Merge pull request #2250 from cesanta/2241-optimise-struct-mg_addr
optimized mg_addr structure
2023-06-09 14:54:27 +01:00
robert
dd32deb2ad optimized mg_addr structure 2023-06-09 09:19:37 -04:00
Sergey Lyubka
4178fc125d
Merge pull request #2245 from cesanta/2235-fix
byte-encoded properties issue fixed
2023-06-08 13:32:23 +01:00
Ubuntu
a0dd3ecd68 byte-encoded properties issue fixed 2023-06-07 10:13:21 -04:00
Sergio R. Caprile
0168a312f2
Merge pull request #2240 from cesanta/dhcp
Renew dhcp lease
2023-06-07 09:39:01 -03:00
cpq
92fe5a5b58 Renew dhcp lease 2023-06-07 13:33:28 +01:00
Allan Park
8166339920 Adding tls_ctx into mg_mgr for storing TLS context shared by all TLS sessions 2023-06-07 10:21:46 +03:00
Sergio R. Caprile
6511b6dd5d comment 2023-06-06 18:48:45 -03:00
Sergio R. Caprile
9f8ce82825 Improve driver 2023-06-06 18:32:11 -03:00
Sergey Lyubka
c3c925dc84
Merge pull request #2230 from cesanta/rl
RL: fix accept() not looping on BSD_EWOULDBLOCK
2023-06-06 19:42:17 +01:00
cpq
828f7a513c Merge branch 'master' of github.com:cesanta/mongoose 2023-06-06 08:38:18 +01:00
cpq
6085998d57 Proper handling {} in JSON array + unit test 2023-06-06 08:38:08 +01:00
Sergio R. Caprile
e762bbdbf8 disambiguate comments 2023-06-05 18:39:13 -03:00
cpq
fe0d2272f6 Export mg_json_unescape() 2023-06-03 09:28:59 +01:00
Sergio R. Caprile
4abc34ffd1 fix accept() not looping on BSD_EWOULDBLOCK 2023-06-02 11:56:27 -03:00
Sergey Lyubka
250b1d511b
Merge pull request #2229 from cesanta/mqttst
MQTT QoS + v5
2023-06-02 10:49:49 +01:00
cpq
f961f993c8 FD_SETSIZE fix 2023-06-02 06:57:39 +01:00
cpq
adf124c00c Dont check fd against FD_SETSIZE if POLL or EPOLL are used 2023-06-01 22:55:15 +01:00
Sergio R. Caprile
f8579131e8 MQTT QoS + v5 2023-05-31 21:35:03 -03:00
Sergio R. Caprile
06ac9e18cb fix qos=2 handling 2023-05-30 14:49:32 -03:00
Sergey Lyubka
1ccc9aa72e
Merge pull request #2205 from cesanta/arbitrary_content-length
improve negative Content-length handling
2023-05-26 17:16:08 +01:00
cpq
bad05485d0 Define SIGPIPE for Win32, fix sleep() for Win32 2023-05-23 03:49:24 +01:00
Sergio R. Caprile
ab10b042be fix bind issue in W 2023-05-22 19:13:48 -03:00
Sergio R. Caprile
26699914cc improve negative Content-length handling 2023-05-22 17:40:08 -03:00
Sergio R. Caprile
45e4b3c423 bump revno up 2023-05-18 12:26:19 -03:00
cpq
514de84b97 Add MG_ESC helper macro 2023-05-17 11:58:40 +01:00
Sergio R. Caprile
e468b90442 remove stalled doc in header 2023-05-16 18:08:48 -03:00
Allan Park
4663090a8f Added check for negative value for HTTP Content-Length header 2023-05-16 18:52:33 +03:00
cpq
48333041f4 Apply SO_EXCLUSIVEADDRUSE and SO_REUSEADDR on windows 2023-05-12 14:08:49 +01:00
cpq
717c9dbe89 On Windows, prefer EXCLADDRINUSE, then REUSEADDR 2023-05-09 11:25:18 +01:00
Sergey Lyubka
5cebce3f4b
Merge pull request #2173 from cesanta/arp
Add multicast and local broadcast MAC resolution
2023-04-29 12:01:01 +01:00
Sergey Lyubka
bb344b14a8
Merge pull request #2168 from cesanta/udp-listener
Fix UDP listeners in MIP
2023-04-29 12:00:33 +01:00
Sergey Lyubka
20e613b444
Merge pull request #2169 from cesanta/udp-printf
Fix mg_xprint() for UDP in MIP
2023-04-29 11:59:46 +01:00
Sergey Lyubka
a0952e0012
Merge pull request #2171 from cesanta/null_fs
Check for calloc() failure in filesystem code
2023-04-29 11:59:03 +01:00
Sergey Lyubka
49e66f809e
Merge pull request #2172 from cesanta/null_mip
Check for calloc() failure in MIP
2023-04-29 11:57:25 +01:00
cpq
33811a826f Include TCP/IP API only if enabled 2023-04-29 11:45:28 +01:00
Sergio R. Caprile
7d53c52a6b Check for calloc() failure in MIP 2023-04-27 11:34:23 -03:00
Sergio R. Caprile
f015a8686e Check for calloc() failure in filesystem code 2023-04-27 11:19:02 -03:00
Sergio R. Caprile
ab791d2a2d Add multicast and local broadcast MAC resolution 2023-04-26 19:56:03 -03:00
Sergio R. Caprile
a303858da7 Fix mg_xprint() for UDP in MIP 2023-04-26 18:32:54 -03:00
Sergio R. Caprile
4c58c62cfe Fix UDP listeners 2023-04-26 15:09:27 -03:00
cpq
9f5d8c4280 Fix #1927: respect Accept-Encoding when serving .gz files 2023-04-26 09:07:43 +01:00
cpq
59b8434e36 mqtt fixes 2023-04-25 07:48:33 +01:00
robert
6c13df1aff MQTT: support for properties feature added 2023-04-23 16:35:50 +03:00
cpq
9ade464c2e Fix #2089 - allow to bind v4 and v6 sockets on the same port 2023-04-18 08:26:18 +01:00
Sergio R. Caprile
cd64bfe84b Remove %H %V %Q %q modifiers 2023-04-14 10:13:22 -03:00
cpq
d9f05532cd Address #2125: treat negative poll time as infinite wait 2023-04-10 15:04:37 +01:00
Sergio R. Caprile
8e14ad0536 Add printf.h 2023-04-07 19:28:00 -03:00
cpq
6b29a2a724 Fix #2104 - %.*f formatting 2023-04-07 08:38:28 +01:00
Sergio R. Caprile
8167291ffc Fix FreeRTOS-Plus-TCP 2023-03-24 15:28:32 -03:00
Sergio R. Caprile
4827831107 Let FreeRTOS-Plus-TCP build on Keil 2023-03-23 17:13:02 -03:00
Sergio R. Caprile
f4ed5062f6 Add arch for CMSIS-RTOS v1 and v2 2023-03-21 19:32:56 -03:00
Sergio R. Caprile
ba872217d7 Let lwIP and FreeRTOS build on Keil 2023-03-21 12:09:00 -03:00
Sergio R. Caprile
245dc76503 Add MG_ARCH_ARMCC 2023-03-15 09:39:36 -03:00
Sergio R. Caprile
2ece3a8b4c MIP_STATE_* -> MG_TCPIP_STATE_* 2023-03-09 11:25:02 -03:00
cpq
20c5da6e55 Fix build - NULL pointer check 2023-02-28 17:55:25 +00:00
Sergio R. Caprile
bba361016d Update RMII ex, enhance MIP 2023-02-27 18:30:53 -03:00
Sergio R. Caprile
4e7584167b force check and failures 2023-02-27 10:54:32 -03:00
cpq
910f19fe55 Use mg_queue in mip 2023-02-24 19:40:31 +00:00
Jean-François Simon
2c5c46dc48
Fix headers (drivers) (#2081)
Co-authored-by: Jean-Francois Simon <jfsimon@startmail.com>
2023-02-21 16:39:53 +01:00
Jean-François Simon
6423b4cbb9
rt1020 driver check frame crc/truncated (#2080)
Co-authored-by: Jean-Francois Simon <jfsimon@startmail.com>
2023-02-21 16:27:04 +01:00
cpq
57c1d787e3 Fix #2075. Add MG_HTTP_DIRLIST_TIME_FMT, remove MG_HTTP_DIRLIST_TIME and MG_HTTP_DIRLIST_TIME_UTC 2023-02-20 21:25:55 +00:00
cpq
4a1f2e0dd3 Fix mg_fs_posix.st() for Windows symlinks using ftell 2023-02-17 10:36:06 +00:00
cpq
24e3514640 Fix mg_fs_posix.st() for Windows symlinks 2023-02-17 10:20:33 +00:00
Sergey Lyubka
2ece24e077
Merge pull request #2066 from cesanta/queue
Refactor queue
2023-02-15 22:33:07 +00:00
Sergey Lyubka
a8c5b04feb
Merge pull request #2070 from cesanta/fixcl
Fix content-length header in mg_http_reply()
2023-02-15 19:22:03 +00:00
cpq
515e438d4f Refactor queue 2023-02-15 18:53:44 +00:00
Sergio R. Caprile
60c6b04a01 Add mg_srand() and seed with some entropy 2023-02-15 14:29:02 -03:00
Sergio R. Caprile
267f54bc0e Fix content-length header in mg_http_reply() 2023-02-15 11:28:14 -03:00
Jean-François Simon
07e91bb73a
Fix build mip -> mg_tcpip (#2060)
Co-authored-by: Jean-Francois Simon <jfsimon@startmail.com>
2023-02-13 12:02:57 +01:00
cpq
5aebed95a4 Fix VC98 build 2023-02-12 10:41:51 +00:00
cpq
bf9d69ab56 Add struct mg_queue and API, change examples/multi-threaded, add tests 2023-02-11 13:24:26 +00:00
cpq
a4430dd49d Split mg_*printf* functions into src/printf.c/h 2023-02-10 15:47:23 +00:00
cpq
2e16a10720 Fix ifp->eport init 2023-02-09 18:39:14 +00:00
cpq
b6fc67fff2 Use linux ephemeral range (start from 32768). More TCP debug 2023-02-09 15:20:08 +00:00
Jean-François Simon
12f00d785d
mg_tcpip_imxrt1020 (#2033)
MG_TCPIP driver for NXP i.MX RT1020
2023-02-09 15:31:59 +01:00
cpq
2c62e58dbd Move mip/ -> src/tcpip/, rename mip_ -> mg_tcpip_ 2023-02-07 21:35:37 +00:00
cpq
9dc86aa77d Kill ARP cache, kill qprofile 2023-02-07 14:26:03 +00:00
Sergio R. Caprile
5d7a080e39 Remove %I and %A 2023-02-02 16:28:24 -03:00
cpq
961cc13948 Nits: fix DNS resolution message. Add Makefile comment for testing targets 2023-02-02 10:33:00 +00:00
Sergio R. Caprile
736a78faed
Merge pull request #2007 from cesanta/rl
Better error handling for RL NET
2023-02-01 18:23:13 -03:00
cpq
1612e1d142 Better error handling for RL NET 2023-02-01 13:59:47 +00:00
Sergio R. Caprile
99dbbc7f39 Do not use %I %A in MIP 2023-01-31 14:37:00 -03:00
Sergio R. Caprile
54c651f7e2 Add mg_print_mac() 2023-01-31 13:31:46 -03:00
Sergio R. Caprile
476232ea22
Merge pull request #1995 from cesanta/mg_print_ip
Add mg_print_ip, mg_print_ip_port helper functions
2023-01-30 16:57:45 -03:00
Sergey Lyubka
4c83f4e2de
Merge pull request #1987 from hakabahitoyo/bugfix-openssl-tls-sni
Bugfix OpenSSL TLS SNI
2023-01-30 11:43:43 +00:00
cpq
4bf39e18d9 Add mg_print_ip, mg_print_ip_port helper functions 2023-01-29 14:30:06 +00:00
cpq
51136ce982 Merge branch 'master' of github.com:cesanta/mongoose 2023-01-27 09:36:24 +00:00
cpq
84893ec582 Small usability nits 2023-01-27 09:36:16 +00:00
Sergio R. Caprile
4236405b90 Ready to release 2023-01-24 13:30:45 -03:00
Hakaba Hitoyo
382362668e bugfix openssl tls sni 2023-01-22 14:27:44 +09:00
Sergio R. Caprile
7fc6be9f39 Fix FreeRTOS arch includes on newlib platforms 2023-01-20 18:09:21 -03:00
cpq
82d702fedc mg_url_encode() 0-terminate the destination 2023-01-16 15:05:04 +00:00
cpq
da5e8e9778 Rename struct mg_connection::label -> data. Make its size configurable 2023-01-10 08:19:49 +00:00
cpq
3d75d71767 Do not show response handler in the rpc.list result 2023-01-08 06:38:08 +00:00
cpq
57a5c0ba38 Add TinyUSB example 2022-12-19 14:31:54 +00:00
cpq
c0f15d50d6 Squash cppcheck warn 2022-12-09 09:29:34 +00:00
Sergio R. Caprile
99aa498bc4 Use %I in mip.c
Add %A to print hw address and use it in mip.c
Fix some debug data
2022-12-06 13:44:31 -03:00
cpq
b01989f041 Fix #1888: add %I *printf specifier for IP address. Remove mg_ntoa, mg_straddr 2022-12-03 14:27:07 +00:00
Sergio R. Caprile
a80a003865 Add stdlib.h to includes in FreeRTOS arch 2022-11-24 10:15:03 -03:00
Sergey Lyubka
db81c30d24
Merge pull request #1871 from cesanta/straddr
Fix mg_straddr() stack overwrite
2022-11-21 07:00:23 +00:00
cpq
41ea8de0d6 Mark request close for HTTP redirects 2022-11-20 12:18:15 +00:00
Sergio R. Caprile
c4b5b37568 Fix mg_straddr() stack overwrite 2022-11-19 19:44:52 -03:00
cpq
a39b7ddbac Fix fuzzer use-after-poison READ 1 2022-11-11 15:03:48 +00:00
cpq
804a3bf380 Fix #1801 - report ipv4 accepted address for ipv4 listeners 2022-11-11 14:01:17 +00:00
cpq
abfac8aa40 Expose mip guts 2022-11-09 19:25:40 +00:00
cpq
28a4778187 Endianness test 2022-11-09 09:20:15 +00:00
cpq
2192914cbb Create MG_ARCH_FREERTOS, MG_ENABLE_LWIP, MG_ENABLE_FREERTOS_TCP. Remove MG_ARCH_FREERTOS_TCP, MG_ARCH_RTX_LWIP 2022-11-07 23:58:58 +00:00
Sergey Lyubka
095cdcd69e
Merge pull request #1834 from cesanta/sock
Generalize socket constants
2022-11-05 13:11:57 +00:00
cpq
f022633f29 Generalize socket constants 2022-11-05 12:33:49 +00:00
Sergio R. Caprile
a3ede75842 Accept zero-length payload messages 2022-11-03 11:26:08 -03:00
cpq
0defce37f0 Pull mongoose_custom.h 2022-11-03 12:59:55 +00:00
Sergio R. Caprile
47a12c30ca mongoose_custom.h not pulled in when MG_ARCH=MG_ARCH_CUSTOM 2022-11-01 21:01:33 -03:00
cpq
613655767b Housekeeping at the end of c->label 2022-11-01 21:01:03 +00:00
Sergio R. Caprile
e9421d557a Fix TI-RTOS port
Sockets were not being put in non-blocking mode as the setsockopt() call wasn't using SOL_SOCKET
Do not include errno.h but serrno.h, otherwise error codes are mangled... NDK functions use serrno, errno belongs to the compiler
UDP sockets require binding to receive responses
select() does not return write-ready on connect if the amount of bytes to write is below the "low-water mark". This parameter defaults to 2048, there was some code apparently setting this otherwise, with no success. Reworked the code to set this water mark at half the buffer size by just using plain getsockopt/setsockopt calls.

For the record:
	TI typedef's void * SOCKET for internal use, INVALID_SOCKET is cast to (void *). Their BSD compatible socket interface expects and returns int; while Mongoose uses SOCKET... this generates lots of warnings 169 and 515, disabled in the examples
2022-10-28 18:55:10 -03:00
cpq
bbc0c0df94 Unbreak test 2022-10-28 15:35:40 +01:00
cpq
7ab81d3805 Add mg_hello() 2022-10-28 10:57:06 +01:00
Sergey Lyubka
03284ba046
Merge pull request #1810 from cesanta/zephyresp
Support Zephyr on ESP32
2022-10-25 17:22:47 +01:00
Sergio R. Caprile
c8c540b453 Improve TI-RTOS timing support 2022-10-24 11:48:54 -03:00
Sergio R. Caprile
a0585f75f7 Support Zephyr on ESP32 2022-10-21 11:44:09 -03:00
Sergio R. Caprile
51c51d49ad Fix unintended socket close on systems with valid fd=0 descriptor numbering 2022-10-20 10:34:26 -03:00
cpq
17ada1c894 Fix #1803 - conditional for SSL_set1_host(). In unit test, disable time.windows.com, use google and apple SNTP servers 2022-10-19 09:06:47 +01:00
cpq
ce8fa4c24b Echo WS CLOSE payload back 2022-10-18 14:31:47 +01:00
Yeicor
b17c62618d
Remove mg_hexdump from deliver_chunked_chunks 2022-10-16 21:11:00 +02:00
cpq
a84465ddba Use MG_SOCK_LISTEN_BACKLOG_SIZE -> 128 for FreeRTOS-TCP 2022-10-10 13:41:07 +01:00
Sergio R. Caprile
1ef0aa14c0 Update to latest Zephyr and their Docker repo 2022-10-04 17:24:13 -03:00
James Hilliard
b944db30fd Update GPL license identifier
GPL-2.0 was deprecated in favor of GPL-2.0-only.

GPL-2.0+ was deprecated in favor of GPL-2.0-or-later.

See: https://spdx.org/licenses/
2022-09-29 15:18:10 -04:00
cpq
9680b8ccb3 Fix overflow in rx_icmp 2022-09-29 16:53:11 +01:00
cpq
88097f1829 Fix endianness issues in unit test 2022-09-28 20:22:09 +01:00
James Hilliard
76f693e5d7 Test on big endian CPU architectures 2022-09-26 05:16:49 -04:00
James Hilliard
3c71977e2e Fix null pointer dereference in mg_rpc_add()
Fixes #1736
2022-09-25 14:08:58 -04:00
Sergio R. Caprile
f70a407611 issue #1734, avoid passing null ptr to memmove 2022-09-23 19:34:36 -03:00
cpq
ebd931f7af Get rid of va_copy 2022-09-23 08:59:02 +01:00
Sergey Lyubka
e5b0528aca
Merge pull request #1742 from cesanta/mip-fuzz
Fuzzing MIP
2022-09-21 21:15:50 +01:00
cpq
a12bd2271e Fuzzing MIP 2022-09-21 20:29:49 +01:00
Sergey Lyubka
15c5858732
Merge pull request #1746 from cesanta/dtoa
Fix issue #1733
2022-09-21 17:48:06 +01:00
Sergio R. Caprile
dd4227f444 Fix issue #1733 2022-09-21 11:38:39 -03:00
Sergey Lyubka
fe8a7d8db9
Merge pull request #1748 from cesanta/va_end
Fix issue #1735
2022-09-21 09:43:47 +01:00
Sergio R. Caprile
7a1544e76a Fix issue #1735 2022-09-20 14:26:06 -03:00
Sergio R. Caprile
27ffc23664 Fix issue #1737 2022-09-20 13:54:17 -03:00
cpq
48800504be Add smtp client example 2022-09-20 11:34:22 +01:00
cpq
535d8b9e02 Fix mbedtls MG_IO_WAIT case 2022-09-19 13:38:59 +01:00
cpq
fd4e1975a3 Pass long *bytes_read to MG_EV_READ 2022-09-09 17:09:18 +01:00
cpq
124ac12150 Add mbedtls support to MIP 2022-09-09 15:53:42 +01:00
cpq
a57c0f4700 Fix #1712 - JSON parsing for keys with arrays 2022-09-08 10:59:23 +01:00
Sergey Lyubka
50a2063e45
Merge pull request #1713 from behnejad/master
display file modify date in "%Y/%m/%d %H:%M:%S".
2022-09-08 08:55:22 +01:00
cpq
cd30cf2d6c Fix #1710 - free MIP in mg_mgr_free() 2022-09-08 08:53:54 +01:00
cpq
881b282604 Implement ack timer 2022-09-07 20:48:23 +01:00
Behnejad
d4cd1c61ee
fixing defines. 2022-09-07 22:08:50 +04:30
cpq
75892cb523 Add %f to src/fmt.c 2022-09-07 15:09:52 +01:00
cpq
b2624f6055 Make mip-pcap work on Mac 2022-09-07 13:36:00 +01:00
Behnejad
ad50447ec6
display file modify date in "%Y/%m/%d %H:%M:%S".
adding compile time option to display file modification date as "%Y/%m/%d %H:%M:%S" in http directory indexing.
2022-09-07 09:04:15 +04:30
cpq
1c181e091e Add mip test 2022-09-05 15:56:03 +01:00
cpq
f9272d0959 Introduce mg_timer_expired(). Adopt DHCP and link status to use it 2022-09-03 09:45:19 +01:00
cpq
0d385c29a3 More JSON tests 2022-09-02 16:23:39 +01:00
cpq
567fccd7ee Refactor W5500 driver, add arduino w5500 example 2022-09-02 12:58:54 +01:00
cpq
83c76bdafc Make mongoose_custom.h a local include, for Arduino builds 2022-08-31 18:20:34 +01:00
cpq
cf1566e116 Add more comments in json code 2022-08-31 17:59:04 +01:00
cpq
8a61969c8f Add struct mip_spi for SPI drivers, and skeleton for enc28j60 driver 2022-08-31 08:35:06 +01:00
cpq
0a265e79a6 Remove debug log and add a comment 2022-08-29 13:10:11 +01:00
cpq
7f30c01c58 Correct condition check sequence for the prev fix 2022-08-29 13:01:56 +01:00
cpq
0661f5921a Fix #1690 - mg_json_get for keys with the same prefix 2022-08-29 12:40:50 +01:00
cpq
44efa45d75 7.8 2022-08-28 14:11:08 +01:00
cpq
ef89776517 Add reponse end to the http dir list 2022-08-28 13:58:41 +01:00
cpq
229b492ccc Minor refactorings, reduced MG_HTTP_MAX_HEADERS 40 -> 30 to reduce stack usage 2022-08-27 12:31:43 +01:00
cpq
b73022096d Let RPC handle responses too 2022-08-26 17:41:13 +01:00
cpq
c7b9ca68c2 Move mg_mqtt_next-* to the example, and some nits 2022-08-26 14:20:54 +01:00
cpq
786e118f06 Include mongoose_custom.h early to allow overrides 2022-08-20 18:26:29 +01:00
cpq
101cc1a672 Add define for strdup 2022-08-20 00:02:36 +01:00
cpq
fee6de6a7f Allow NULL head in struct mg_rpc 2022-08-19 15:08:01 +01:00
cpq
e48e353066 Restore mg_file_write() to use tmp file 2022-08-15 16:08:34 +01:00
cpq
6ad7af54dc Fix docs, nits to freertos includes 2022-08-14 23:46:33 +01:00
cpq
6b69bef2ef mg_dtoa, mg_atod, mg_lld made static 2022-08-14 01:25:38 +01:00
cpq
d2a27d3d91 mg_*rprintf -> mg_*xprintf 2022-08-13 20:34:20 +01:00
cpq
d76f86f7db Get rid of mg_*asprintf 2022-08-13 15:37:55 +01:00
cpq
40ca26f23b Refactor mg_ws_connect() 2022-08-13 14:44:08 +01:00
cpq
da28213613 Squash warning 2022-08-13 11:36:24 +01:00
cpq
6615a821f1 Test WS frames that are larger than 64k 2022-08-13 11:16:13 +01:00
cpq
ef9f7d4c16 Change mg_ws_send: const char * -> const void * 2022-08-11 12:12:00 +01:00
Sergey Lyubka
3b112cc8c8
Merge pull request #1668 from cesanta/index.gz
check for gzipped index file when / is requested
2022-08-10 21:45:09 +01:00
Sergio R. Caprile
374be7b065 check for gzipped index file when / is requested 2022-08-10 15:54:24 -03:00
cpq
2ba3630de9 Remove dangerous mg_pfn_realloc(). Add %q printf specifier 2022-08-10 18:27:58 +01:00
cpq
c8c0b8fb91 Squash vc98 warn 3 2022-08-09 19:17:40 +01:00
cpq
e5585cb0e7 Squash vc98 warn 2 2022-08-09 18:58:58 +01:00
cpq
bd32f6e2ef Squash warn on vc98 2022-08-09 15:49:54 +01:00
cpq
6149b619e7 Squash warnings 2022-08-09 12:39:40 +01:00
cpq
b7406357c5 Fix #1600 - more precise SNTP time calculation 2022-08-09 12:13:23 +01:00
cpq
4246f5d206 PATH_MAX -> MG_PATH_MAX 2022-08-06 22:26:07 +01:00
cpq
e8289ec17d Fix #1648 - set MG_PATH_MAX to FILENAME_MAX on windows and unix 2022-08-06 22:19:55 +01:00
cpq
740b609e1e Fix for deliver_normal_chunks() and a test case 2022-08-06 09:01:34 +01:00
cpq
779c825e92 Fixes to chunked support when pipelining 2022-08-05 19:18:06 +01:00
cpq
457ce5e563 Refactor chunking support. Fix #1656 2022-08-04 17:10:53 +01:00
Sergey Lyubka
51cb40acd2 Enable epoll on linux 2022-08-03 15:07:26 +01:00
Sergey Lyubka
bd7ee0d1e8 Refactor mg_http_reply and mg_http_printf_chunk to use less allocs and mem copies 2022-08-01 21:07:42 +01:00
Sergey Lyubka
17e2fdd4cb Add align to struct mg_iobuf 2022-08-01 12:53:25 +01:00
Sergey Lyubka
a468f58128 Use int debug level 2022-08-01 11:19:32 +01:00
Sergey Lyubka
581a0698af Expose rpc guts 2022-07-31 22:51:59 +01:00
Sergey Lyubka
f02f88f336 mg_rpc_free -> mg_rpc_del 2022-07-30 21:13:30 +01:00
Sergey Lyubka
54d6bad5e5 Refactor JSON and RPC API 2022-07-30 07:55:26 +01:00
Sergey Lyubka
56e6cf406a Fix unamalgamated build 2022-07-28 10:47:12 +01:00
Sergey Lyubka
a2289a0625 Fix unamalgamated build 2022-07-28 10:33:44 +01:00
Sergey Lyubka
f2009ebd62 Move mg_*printf* decls in fmt.h 2022-07-28 10:18:17 +01:00
Sergey Lyubka
0dabc45780 Add RPC API 2022-07-27 00:46:05 +01:00
Sergio R. Caprile
1eed80375d Fix MG_EOO 2022-07-22 11:50:23 -03:00
Sergey Lyubka
4a3d760c06 Add timer ID attribute, for safe cleanup in the scripted environment 2022-07-17 12:52:30 +01:00
John Brzustowski
d5fe3261f4 NTP reponse gives fractional (not micro-) seconds, per RFC5905 2022-07-13 04:08:54 -03:00
Sergey Lyubka
46af09f776 Change ff_open to explicit memcpy() 2022-07-11 18:13:46 +01:00
Sergey Lyubka
f40b272eeb Fix #1626 - ignore @ in query string 2022-07-10 15:41:43 +01:00
Sergey Lyubka
2c01893bb1 Give more time for unit test to detect conn refused on windows 2022-07-04 19:18:20 +01:00
Sergey Lyubka
543b4a132b Fix POLLERR usage 2022-07-04 18:25:13 +01:00
Sergey Lyubka
e4a5296fbf Introduce c->is_mqtt5 for keeping mqtt version. Make mqtt over ws work again 2022-07-04 17:47:17 +01:00
Sergey Lyubka
6c796b8552 Fix memset in mg_iotest, add mg_random_str test 2022-07-04 16:13:38 +01:00
Sergey Lyubka
e30ad43d36
Merge pull request #1612 from cesanta/mqtt
Exported MQTT result codes
2022-07-04 15:15:19 +01:00
Sergey Lyubka
735b7bece6 Squash more warns 2022-07-04 11:43:52 +01:00
Sergey Lyubka
4c9fdaf8b0
Merge pull request #1617 from jameshilliard/osx-clock
util: use correct clock on OSX
2022-07-04 11:12:58 +01:00
Sergey Lyubka
2ccc4acf34 Squash warns for rp2040 builds 2022-07-04 11:10:08 +01:00
James Hilliard
c24343f107 util: use correct clock on OSX
CLOCK_MONOTONIC_RAW on OSX is not the same as CLOCK_MONOTONIC_RAW on linux
2022-07-04 04:04:43 -06:00
Sergey Lyubka
81ffcd8ee9 Fix #1616 - randomize mqtt will and client id for parallel test 2022-07-04 11:00:06 +01:00
Sergey Lyubka
432452ea9a Fix #1615 - prefer monotonic clock. Add clock for rp2040 2022-07-04 10:08:21 +01:00
Sergey Lyubka
6c14c7d623 Unbreak mac build 2022-07-04 00:06:01 +01:00
Sergey Lyubka
30126072dc Add MG_ARCH_RP2040 2022-07-03 23:00:15 +01:00
Sergey Lyubka
dca43f430b Fix poll support for win32 2022-07-02 12:45:44 +01:00
Sergey Lyubka
91fa2ad23b Enable poll support on windows 2022-07-02 11:52:16 +01:00
Sergio R. Caprile
85d300ce71 Exported MQTT result codes 2022-07-01 15:32:24 -03:00
Sergey Lyubka
d6e1a3ab4c Unbreak my heart ^W the build 2022-07-01 18:10:40 +01:00
Sergey Lyubka
f1da8542ce Nits 2022-07-01 17:28:06 +01:00
Sergey Lyubka
a183621268 Fix ff_write() call 2022-07-01 13:22:36 +01:00
Sergey Lyubka
035de980e3 Fix ff_read() call 2022-07-01 13:18:49 +01:00
Sergey Lyubka
99f0688377 Change mg_http_upload API 2022-06-30 21:54:50 +01:00
Sergey Lyubka
56412193e7 Add mg_remove_double_dots(), hide mg_http_upload() 2022-06-30 20:27:43 +01:00
Sergey Lyubka
c5751b0bd3 Add mg_json_get_long 2022-06-30 20:03:29 +01:00
Sergey Lyubka
2536865c4d Fix freertos-tcp build 2022-06-29 19:39:36 +01:00
Sergey Lyubka
5b8979a0f1 Better connect() result test 2022-06-29 19:19:19 +01:00
Sergey Lyubka
89e2a15eb7 Fix build 2022-06-29 18:03:04 +01:00
Sergey Lyubka
b1896d9944 Fix typo 2022-06-29 17:57:59 +01:00
Sergey Lyubka
d0dedcfd2e Fix build 2022-06-29 17:54:33 +01:00
Sergey Lyubka
73297c8e65 Use mg_putchar_iobuf in mg_vprintf 2022-06-29 17:42:55 +01:00
Sergey Lyubka
017c7290d6 Better error handling - report from iotest 2022-06-29 17:02:37 +01:00
Sergey Lyubka
93a6bc501e Refactor guess_mime_type() 2022-06-29 10:28:37 +01:00
Sergey Lyubka
e8f050c194 Dont use realloc 2022-06-29 00:00:16 +01:00
Sergey Lyubka
ba08140197 Initial mqtt5 support 2022-06-28 11:31:13 +01:00
Sergey Lyubka
d65ce3b596 Add mg_rprintf, mg_vrprintf 2022-06-28 00:45:52 +01:00
Sergey Lyubka
4864a6e618 Use SSL_set1_host() 2022-06-28 00:45:47 +01:00