818 Commits

Author SHA1 Message Date
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