Commit Graph

1182 Commits

Author SHA1 Message Date
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
Sergey Lyubka
4e880fb6e0 Nit - fix openssl error message 2022-06-23 13:11:04 +01:00
Sergey Lyubka
898e2b1e30 Add mg_json_get_hex(), mg_json_get_b64() 2022-06-22 16:28:22 +01:00
Sergey Lyubka
a68f3dc4eb Add %V and %H specifiers for mg_snrpintf() 2022-06-22 13:15:52 +01:00
Sergey Lyubka
4246e6c768 Fix #1599 2022-06-21 12:07:00 +01:00
Sergey Lyubka
2d5c26d44f Rename mg_log_set_fn properly 2022-06-19 09:08:37 +01:00
Sergey Lyubka
9760b7c9d6 Add mg_log_set_fn(), MG_ENABLE_LOG 2022-06-19 09:04:22 +01:00
Sergey Lyubka
1640287897 Add mg_http_var 2022-06-18 04:25:11 +01:00
Sergey Lyubka
30d6a44b0d Fix mg_http_upload() 2022-06-13 14:48:52 +01:00
Sergey Lyubka
67280724ba Remove pragma 2022-06-11 19:05:07 +01:00
Sergey Lyubka
d8a4b5aa34 Make mip MSVC friendly 2022-06-11 18:54:32 +01:00
Sergey Lyubka
d3368e4aad Move mip into mip/ 2022-06-11 17:29:45 +01:00
Sergey Lyubka
dfca896a64 Update huge response. More tests 2022-06-10 12:14:42 +01:00
Sergey Lyubka
33567bab41 Add %g support to mg_snprintf() 2022-06-10 09:38:36 +01:00
Sergey Lyubka
106662b1d7 Add JSON API 2022-06-09 17:17:33 +01:00
Sergey Lyubka
b73115c002 Unbreak build 2022-06-08 22:09:11 +01:00
Sergey Lyubka
cff208c5a9 Introduce %Q format specifier, rework device dashboard 2022-06-08 21:44:01 +01:00
Sergey Lyubka
807cd4df9e Make sock.c less verbose 2022-06-08 19:55:24 +01:00
Sergey Lyubka
d4106b5cbd Send puback for qos > 0 2022-06-08 19:51:03 +01:00
Sergey Lyubka
c701315ab5
Merge pull request #1581 from behnejad/patch-1
fixing offset of Content-Length value.
2022-06-07 08:35:24 +01:00
Sergey Lyubka
a53dc5c0a0 Fix #1580 - uri_to_path2 for / corner case 2022-06-07 04:33:46 +01:00
Behnejad
895ca80b2b
fixing offset of Content-Length value.
in very large HTTP response, this offset might cause a problem with HTTP header format.
2022-06-07 08:00:12 +04:30
Sergey Lyubka
0f0cf7a5db Integrate #1579 - properly clear c->is_readable and c->is_writable flags in mg_iotest() 2022-06-05 15:27:16 +01:00
Sergey Lyubka
cac7f653c9 Add mg_ws_printf() 2022-06-05 14:59:50 +01:00
Sergey Lyubka
c48349ba56 Add sntp-time-sync example 2022-06-03 13:57:57 +01:00
Sergey Lyubka
0763146254 Fix #1476 - introduce c->is_full to cap the recv buf len for streaming connections 2022-06-03 11:37:35 +01:00
Sergey Lyubka
5ac847076a Change long read_conn -> void read_conn 2022-06-02 14:02:09 +01:00
Sergey Lyubka
a88ea776a9 Change MG_MAX_RECV_BUF_SIZE -> MG_MAX_RECV_SIZE 2022-06-02 13:50:44 +01:00
Sergey Lyubka
fe682f8399 Fix #1560 - implement precompressed .gz file serving 2022-06-02 06:13:37 +01:00
Sergey Lyubka
55517d48ed Change linux target 2022-06-01 16:25:04 +01:00
Sergey Lyubka
4dd1891594 Add mg_http_serve_opts.page404 2022-05-31 23:44:03 +01:00
Sergey Lyubka
27e1472d88
Merge pull request #1568 from behnejad/master
adding new api to enable separation of query string with '&'.
2022-05-31 18:25:12 +01:00
Sergey Lyubka
a3d63c095a Handle #1562 - add udp/tcp extra param to mg_mkpipe() 2022-05-31 18:23:32 +01:00
Hooman Behnejad
499401d457 adding mg_split function 2022-05-31 14:11:14 +04:30
Sergey Lyubka
e2fcf5f92c Fix #1565 - mg_snprintf %.*s with zero len printing 2022-05-30 18:40:44 +01:00
Sergey Lyubka
b8bba7513a Fix #1566 - proper error cleanup in mg_listen 2022-05-30 17:56:50 +01:00
Sergey Lyubka
65957527cb Fix #1558 - add opts.extra_headers in 304 responses 2022-05-30 17:44:26 +01:00
Sergey Lyubka
44cf02e5ba Fix #1545 - do not send MG_EV_HTTP_MSG if chunks were deleted 2022-05-30 16:02:59 +01:00
Sergey Lyubka
686320a805 Remove verbose log in mg_iotest() 2022-05-27 23:18:23 +01:00
Sergey Lyubka
28c15b3ff4 More SNtp debug 11 2022-05-27 22:36:34 +01:00
Sergey Lyubka
f5af28c886 More SNtp debug 10 2022-05-27 22:26:17 +01:00
Sergey Lyubka
6b50039863 More SNtp debug 9 2022-05-27 22:24:45 +01:00
Sergey Lyubka
34c5f63c00 More SNtp debug 8 2022-05-27 22:18:14 +01:00
Sergey Lyubka
53bca4efab More SNtp debug 7 2022-05-27 22:08:05 +01:00
Sergey Lyubka
9029593691 More SNtp debug 6 2022-05-27 21:59:13 +01:00
Sergey Lyubka
4aad859e20 More SNtp debug 5 2022-05-27 21:44:03 +01:00
Sergey Lyubka
be8b01e289 More SNtp debug 4 2022-05-27 20:43:30 +01:00
Sergey Lyubka
360dedd9b2 More SNtp debug 3 2022-05-27 20:39:37 +01:00
Sergey Lyubka
d3e14ca7e5 More SNTP debug 3 2022-05-27 20:05:14 +01:00
Sergey Lyubka
7f8d12b9f7 Use time.windows.com too 2022-05-26 16:22:44 +01:00
Sergey Lyubka
7850b550d8 Unbreak test 2022-05-26 11:18:36 +01:00
Sergey Lyubka
10596a8bdc Proper TLS handling for poll(). Make poll() default on linux 2022-05-26 08:55:28 +01:00
Sergey Lyubka
252e4715d4
Merge pull request #1561 from vkoskiv/add-poll
Add optional poll() implementation under MG_ENABLE_POLL define
2022-05-26 07:53:02 +01:00
Valtteri Koskivuori
420b989adb
Add optional poll() implementation under MG_ENABLE_POLL
This adds the ability to substitute select() with poll() on supported
unix environments when MG_ENABLE_POLL is defined. A make flag called
USE_POLL is provided as well.
Using poll() removes the limitation of FD_SETSIZE concurrent sockets,
generally 1024 on Linux environments.
2022-05-26 06:00:27 +03:00
Sergey Lyubka
4139cdaf35 Remove poll() support 2022-05-26 02:07:37 +01:00
Sergey Lyubka
1fd65c77fe Enhance fs docs 2022-05-25 13:28:25 +01:00
Sergey Lyubka
2bfc838614 Fix build 2022-05-25 11:18:54 +01:00
Sergey Lyubka
5b448ec7a6 Integrate #1561 with some minor tweaks - add MG_ENABLE_POLL for poll() support 2022-05-25 11:14:12 +01:00
Sergey Lyubka
d5993ba27e Fix #1550 - excladdrinuse 2022-05-21 16:18:34 +01:00
Sergey Lyubka
7e2ca72310 Remove mg_log_set_callback. Use MG_PUTCHAR macro instead 2022-05-20 09:45:17 +01:00
Sergey Lyubka
7c17c806ad 7.6 -> 7.7 2022-05-19 11:44:32 +01:00
Sergey Lyubka
8e0f529a00 Add MIP - an experimental TCP/IP stack 2022-05-18 21:19:21 +01:00
Sergey Lyubka
47e15a3d47 RTX nits 2022-05-17 19:29:53 +01:00
Sergey Lyubka
25806e48dc Fix ESP32 build 2022-05-16 11:54:26 +01:00
Sergey Lyubka
3871f4b6ab Fix #1546 - dont send excess for range requests 2022-05-16 11:45:08 +01:00
Sergey Lyubka
27c892806b Fix #1540 - case sensitive match in mg_is_chunked() 2022-05-16 11:19:45 +01:00
Sergey Lyubka
2b9f0480a1 Fix #1549 - fix typo in log format specifier 2022-05-15 21:02:41 +01:00
Sergey Lyubka
7721b074e6 Log ms in test_sntp() 2022-05-15 19:31:29 +01:00
Sergey Lyubka
f5fd176b35 Increate SNTP timeout 3s->5s. Change mg_sntp_send() to mg_sntp_request(), remove one unnecessary parameter 2022-05-15 18:41:01 +01:00
Alex Alashkin
0ed7545947 Add TI support 2022-05-15 19:25:50 +03:00
Sergey Lyubka
cf7d1d8041 Address #1551 - better timers handling 2022-05-15 14:29:34 +01:00
Sergey Lyubka
c20e48179f Un-break the test and untie serving code in dash example 2022-05-13 22:15:33 +01:00
Sergey Lyubka
3fbb7de712 Refactor dashboard example 2022-05-13 20:08:08 +01:00
Sergey Lyubka
0294603dfc MG_ARCH_RTX nits 2022-05-12 15:07:02 +01:00
Sergey Lyubka
5458252e4a Add missing src/arch_rtx.h 2022-05-12 08:23:17 +01:00
Sergey Lyubka
31ce219544 Add MG_ARCH_RTX 2022-05-12 08:07:51 +01:00
Sergey Lyubka
86cd567968 Nit - use quotes, not brackets for custom arch 2022-05-11 21:14:44 +01:00
Sergey Lyubka
5c66d32bc0 Refactor mg_open_listener() 2022-05-10 13:43:47 +01:00
Sergey Lyubka
5ac5c93c90 Refactor mg_open_listener() 2022-05-10 13:41:45 +01:00
Sergey Lyubka
84480f4072 Fix #1539 - proper timer cleanup 2022-05-10 07:38:03 +01:00
Sergey Lyubka
b82953405d Fix valgrind test 2022-05-09 19:11:27 +01:00
Sergey Lyubka
5271626947 Disable SSI by default 2022-05-08 21:54:15 +01:00
Sergey Lyubka
bc16854ccb Get rid of MG_ENABLE_LOG, change mg_hexdump() 2022-05-06 21:09:13 +01:00
Sergey Lyubka
6db0485c7b Set c->loc for accepted and UDP connections 2022-05-06 20:19:40 +01:00
Sergey Lyubka
b5fc0d30a8 Add extraconnsize 2022-05-04 17:18:35 +01:00
Sergey Lyubka
38557aac7f Add MG_ARCH_NEWLIB 2022-05-01 13:47:33 +01:00
Sergey Lyubka
d621fbfab1 Remove unused macros 2022-05-01 08:18:18 +01:00
Sergey Lyubka
f19eec7fae Refactor multithreading API 2022-04-25 14:56:15 +01:00
Sergey Lyubka
bdd7d92108 Fix #1533 - fix iotest error on windows 2022-04-22 20:53:54 +01:00
Sergey Lyubka
a7cbc19755 Fix #1532 - improve ipv6 DNS lookup 2022-04-22 20:44:53 +01:00
Sergey Lyubka
9dd3b75165 Handle #1529 - do not mark normal conn termination as an error 2022-04-19 20:28:10 +01:00
Sergey Lyubka
20fc8f0279 Handle #1529: add automatic linkage against ws2_32.lib on _WIN32 targets 2022-04-19 18:51:28 +01:00
Sergey Lyubka
31698678fb Squash warning 2022-04-13 10:52:06 +01:00
Sergey Lyubka
ebd2e89faa Handle #1522 - Fix TLS buffering 2022-04-13 10:48:17 +01:00
Sergey Lyubka
ef44f90491 Fix #1520 - move state to struct mg_mgr 2022-04-12 14:14:55 +01:00
Sergey Lyubka
66376885e9 Fix #1521 - add mg_tou64() 2022-04-12 10:20:43 +01:00
Sergey Lyubka
db941e2627 Fix #1519 - make opts structs in API calls const 2022-04-12 10:04:55 +01:00
Sergey Lyubka
85281ae128 Fix #1514 - explicitely initialize io in mg_iobuf_init() 2022-04-12 09:54:05 +01:00
James Hilliard
e4ab9a4130 Ensure MQTT_CMD_SUBACK is received before calling mg_mqtt_pub in tests 2022-04-07 19:11:51 -06:00
Sergey Lyubka
a1ec179229 Use uint64_t for uptime in millis, not int64_t 2022-04-07 13:50:25 +01:00
Sergey Lyubka
2f77855ec1 Handle #1502 - send CLOSE when CLOSE is received 2022-04-05 14:45:39 +01:00
Sergey Lyubka
d11173fe90 Fix #1510 - wrap X509_VERIFY_PARAM_set1_host() usage inside a conditional 2022-04-05 13:09:17 +01:00
Sergey Lyubka
fde8b82b78
Merge pull request #1507 from jameshilliard/mbedtls-reset
Handle MBEDTLS_ERR_NET_CONN_RESET errors
2022-04-05 13:06:06 +01:00
Sergey Lyubka
b20eded30e Fix ESP32 example 2022-04-05 12:54:20 +01:00
James Hilliard
3ec17c41be Handle MBEDTLS_ERR_NET_CONN_RESET errors 2022-04-04 17:17:17 -06:00
Sergey Lyubka
0ed64707f3 Introduce MG_ENABLE_CUSTOM_MILLIS 2022-04-04 18:14:59 +01:00
Sergey Lyubka
4474ada291 Fix #1505: let mg_wakeup() return status 2022-04-03 00:17:31 +01:00
Sergey Lyubka
d954851d43 Drop CRL from mbedTLS integration - let customer do a custom init if required 2022-04-01 16:42:41 +01:00
Sergey Lyubka
df602c27d5 Disable SSI on Zephyr by default 2022-04-01 16:38:37 +01:00
Sergey Lyubka
3d9fa10485 Increase sock limit, fix multiple connections issue 2022-04-01 15:42:15 +01:00
Sergey Lyubka
6990040626 Set DNS error on UDP send error 2022-04-01 15:41:23 +01:00
Sergey Lyubka
b42ea6cd3c Better logging 2022-04-01 15:41:03 +01:00
Sergey Lyubka
8c7fd8b330 Set default socket in mg_connect() to -1 2022-04-01 15:40:53 +01:00
Sergey Lyubka
4f5d385e52 Enable SNTP in zephyr example 2022-03-31 17:42:09 +01:00
Sergey Lyubka
bb0bc41f99 Add zephyr example skeleton 2022-03-31 16:58:27 +01:00
Sergey Lyubka
1c2d67ded7 Add missing arch_zephyr.h, add musl target 2022-03-30 09:06:00 +01:00
Sergey Lyubka
7372a05ce5 Add initial Zephyr support 2022-03-30 07:56:44 +01:00
Sergey Lyubka
642befa8d5 Remove unused mg_hmac_sha1() 2022-03-22 13:30:25 +00:00
Sergey Lyubka
b78ced4fa9 Honor hostname validation for openssl 2022-03-22 08:50:37 +00:00
Sergey Lyubka
1bc81df00e Fix mg_dns_parse_name_depth() 2022-03-21 16:29:27 +00:00
Sergey Lyubka
ad4812218d Handle #1497 - handshake format 2022-03-21 15:17:09 +00:00
Sergey Lyubka
0fbc4b8ff4 Reuse sock.c logic in mbedtls integration 2022-03-21 14:39:27 +00:00
Sergey Lyubka
1141ea7933 Add connection timeout 2022-03-20 18:50:01 +00:00
Sergey Lyubka
6c021765bb
Merge pull request #1479 from zudwalex/infineon_rtx_support
Add RTX-RTOS support
2022-03-18 09:18:49 +00:00
Sergey Lyubka
8c447a95dd Fix #1483 - add valgrind target, do not use stdlib strcasecmp() 2022-03-18 08:52:54 +00:00
Sergey Lyubka
1125b1f545 Fix #1490 - add winerror.h to fix old mingw build 2022-03-15 10:10:08 +00:00
Sergey Lyubka
37cb51ee94 Fix #1488 - properly set non-blocking flags on accepted connections 2022-03-14 13:26:00 +00:00
Sergey Lyubka
02cabcc0ec Fix busy loop in TLS case 2022-03-14 11:16:41 +00:00
Sergey Lyubka
7bf8b81995 Fix mg_http_delete_chunk() 2022-03-11 15:38:59 +00:00
Sergey Lyubka
139f928731 Fix #1481 - use stricter compilation flags 2022-03-06 14:31:42 +00:00
Sergey Lyubka
a284df01d1 Fix #1480 - use memmove instead of memcpy in mg_iobuf_resize() 2022-02-28 16:51:46 +00:00
Alex Alashkin
412f5cf3e0 Add RTX-RTOS support 2022-02-23 19:56:37 +02:00
Sergey Lyubka
42ba1e4aed Fix #1473 - calm static analyzer 2022-02-23 13:34:20 +00:00
Sergey Lyubka
b0cbb70e53 Fix #1471 - calm static analyzer 2022-02-23 13:30:14 +00:00
Sergey Lyubka
78e81fef27 Fix #1471 - calm static analyzer 2022-02-23 13:28:56 +00:00
Sergey Lyubka
dd08231a34 Fix #1470 - calm static analyzer 2022-02-23 13:25:25 +00:00
Sergey Lyubka
8c78b7ef53 Refactor mg_alloc_conn() 2022-02-23 10:51:01 +00:00
Sergey Lyubka
c650fdcdfc Move mg_listen() to net.c 2022-02-23 03:06:02 +00:00
Sergey Lyubka
e99973d4b7 Introduce local address 2022-02-22 22:00:55 +00:00
Sergey Lyubka
048fee5c88 Fix build after mg_connect() move 2022-02-22 21:35:03 +00:00
Sergey Lyubka
a287fd97e4 Factor mg_connect() to net.c 2022-02-22 21:27:08 +00:00
Sergey Lyubka
3a249183f8 Factor out mg_alloc_conn() 2022-02-22 21:14:29 +00:00
Sergey Lyubka
393dad97e0 Get rid of ctype dependencies 2022-02-22 20:20:56 +00:00
Sergey Lyubka
113abc71d4 Add SPDX identifier. Fix #1387 2022-02-22 18:13:06 +00:00
Sergey Lyubka
507935d067 Tiny refactoring - move clearance of the c->is_resolving flag to the mg_connect_resolved() 2022-02-19 16:17:03 +00:00
Sergey Lyubka
e69ec148cc Better mbedtls debug 2022-02-19 13:46:07 +00:00
Sergey Lyubka
a76ade9bb2 Update packed fs 2022-02-14 17:44:43 +00:00
Sergey Lyubka
4fec149345 Disable dirlist by default 2022-02-14 11:32:01 +00:00
Sergey Lyubka
5bc164de76 Remove MG_ENABLE_DIRLIST 2022-02-14 11:19:24 +00:00
Sergey Lyubka
969b84043c Fix #1465 - rename LL_* constants, introduce MG_* log macros 2022-02-12 18:17:25 +00:00
Sergey Lyubka
da72dafbfb Fix #1462 - add helper function for getting HTTP response status code. 2022-02-12 16:51:37 +00:00
Sergey Lyubka
1adf7f6b2b Handle #1463 - add missing includes for windows 2022-02-12 16:43:08 +00:00
Sergey Lyubka
3e085ccbaa Eliminate explicit _WIN32 checks 2022-02-12 14:33:43 +00:00
Sergey Lyubka
3e8e2ab513 Add optional zip cmd to pack.c 2022-02-12 14:28:02 +00:00
Sergey Lyubka
313ac34e59 Handle minus in the fmt spec 2022-02-11 11:02:06 +00:00
Sergey Lyubka
54f75889fa Using mg_snprintf() everywhere 2022-02-10 17:11:03 +00:00
Sergey Lyubka
f64c86d23f Use mg_snprintf() 2022-02-10 11:56:55 +00:00
Sergey Lyubka
9e634310b4 Use MG_EV_HTTP_CHUNK for streaming upload 2022-02-09 12:24:06 +00:00
Sergey Lyubka
8cd4699dbc Rename FS API functions to avoid conflicts 2022-02-08 13:36:04 +00:00
Sergey Lyubka
63b880e624 Handle #1459 - deprecate mg_globmatch, introduce mg_match() 2022-01-29 11:03:54 +00:00
Sergey Lyubka
fbf5fa53c6 Refactor ff_open() 2022-01-25 10:50:08 +00:00
Sergey Lyubka
32f3c48b65 Fix FreeBSD build 2022-01-24 02:20:45 +00:00
Sergey Lyubka
544644e94b Refactor - always enable LOG macro. Enhance iolog 2022-01-23 06:10:14 +00:00
Sergey Lyubka
1b82aa02aa 7.5 -> 7.6 2022-01-21 12:41:52 +00:00
Sergey Lyubka
e565a7e73d Fix #1453 - do not allow empty wakeup buffer 2022-01-21 12:35:28 +00:00
Sergey Lyubka
59c4dfa33b Fix 1452 - byte order issue in mg_check_ip_acl 2022-01-21 12:24:58 +00:00
Sergey Lyubka
1a8e3c2e31 Decrese debug verbosity 2022-01-19 18:15:47 +00:00
Sergey Lyubka
226917e1cd Use mg_str, not pointers, in mg_mqtt_{sub,pub} 2022-01-19 09:57:27 +00:00
Sergey Lyubka
fe813ee247 Add buf,len params to mg_mgr_wakeup() 2022-01-19 09:25:01 +00:00
Sergey Lyubka
4cd830a0bf Improve ff_write - save large blocks in chunks 2022-01-19 08:43:34 +00:00
Sergey Lyubka
1259ca9ac9 Add missing mkdir() on ARM targets 2022-01-18 19:31:10 +00:00
Sergey Lyubka
d0857fe36c Add mkdir to the FS API 2022-01-18 19:19:34 +00:00
Sergey Lyubka
56a7438114 Add fs arg to mg_file* and mg_http_upload API 2022-01-18 17:11:02 +00:00
Sergey Lyubka
09df542db8 Fix unamalgamated build 2022-01-18 08:02:41 +00:00
Sergey Lyubka
1df102ab93 Add Fat FS support 2022-01-18 07:44:30 +00:00
Sergey Lyubka
02b3b780bb Add missing fs.c 2022-01-17 14:44:59 +00:00
Sergey Lyubka
f84f3da012 Change in FS API for fs->open() and fs->close() 2022-01-17 14:42:41 +00:00
Sergey Lyubka
c65c8fdaaa Protect against the directory traversal in mg_upload() 2022-01-17 12:08:23 +00:00
Sergey Lyubka
b60119790e Fix wrong memcmp usage in mg_url_port() 2022-01-14 12:45:55 +00:00
Sergey Lyubka
216427cea0 Cleanup suseconds_t usage 2022-01-14 12:33:06 +00:00
Sergey Lyubka
c53e2fcc14 Fix #1444 - clang warns on undefined behavior with null pointers 2022-01-14 09:55:15 +00:00
Sergey Lyubka
9fd80fd136 Fix #1445 - send error to a resolving connection when DNS error happens 2022-01-14 08:50:01 +00:00
Sergey Lyubka
5fc284722f Fix #1448 - fix MG_ENABLE_FILE build 2022-01-14 08:21:12 +00:00
Sergey Lyubka
ad6e395da0 Fix #1447 - typo in mg_random() 2022-01-14 08:18:28 +00:00
Sergey Lyubka
6c79a406cd Fix localtime_r and gmtmime_r signatures 2022-01-11 19:15:38 +00:00
Sergey Lyubka
456e8bd249 Use 3 params for fcntl() 2022-01-10 18:21:13 +00:00
Sergey Lyubka
de95f28598 Make stat and struct stat changeable 2022-01-10 18:07:45 +00:00
Sergey Lyubka
43405afdb2 Dont use ctype.h from str.h 2022-01-10 17:30:51 +00:00
Sergey Lyubka
ebda2cb100 Use sendto on Mac too 2022-01-07 16:31:29 +00:00
Sergey Lyubka
bb72b2494d Fix unamalgamated target 2022-01-07 15:48:09 +00:00
Sergey Lyubka
3b0a509cae Change mg_resolve() 2022-01-07 15:00:10 +00:00
Sergey Lyubka
2f981f9383 Skip connect() on UDP connection 2022-01-06 15:42:55 +00:00
Sergey Lyubka
fc3c08e411 Change mg_straddr() API 2022-01-05 19:09:11 +00:00
Sergey Lyubka
ff811f287a Squash warnings 2022-01-05 13:57:30 +00:00
Sergey Lyubka
8ebb3bc37b More detailed debug log - show ip/port for sender and receiver 2022-01-05 13:47:11 +00:00
Sergey Lyubka
6a82cbee71 Send MG_EV_WRITE for UDP messages 2022-01-05 13:03:56 +00:00
Sergey Lyubka
b0585bd0a9 Do not set c->label for DNS connections - let labels be user-only-settable 2022-01-05 11:46:26 +00:00
Sergey Lyubka
26a97ec36c Fix #1434 - set will QoS in CONNECT message correctly, and rename qos -> will_qos in struct mg_mqtt_opts 2021-12-23 11:00:18 +00:00
Sergey Lyubka
af3a0f6af0 Add realpath() for Win32 2021-12-22 18:04:27 +00:00
Sergey Lyubka
ce6164ca20 Fail stat() if S_ISDIR is not defined 2021-12-22 18:04:16 +00:00
Sergey Lyubka
25a1a24890 Fallback to time(0) in mg_millis() 2021-12-21 22:04:03 +00:00
Sergey Lyubka
2126b49ab3
Merge pull request #1433 from ryuukk/patch-2
Remove debugging left over
2021-12-21 21:56:41 +00:00
Sergey Lyubka
ae6767b1d2 Use int64_t for timers and mg_millis() 2021-12-21 21:50:18 +00:00
ryuukk
133629dbee
Remove debugging left over 2021-12-21 21:28:22 +01:00
Sergey Lyubka
fb0a9bc7e3 Fix build 2021-12-21 18:16:12 +00:00
Sergey Lyubka
2a3492766f Remove mg_time() and mg_usleep() 2021-12-21 17:44:34 +00:00
Sergey Lyubka
2ec7e5653e Merge branch 'master' of github.com:cesanta/mongoose 2021-12-21 17:40:04 +00:00
Sergey Lyubka
30bfb245f5 Make mongoose more bare-metal Keil friendly. Declare settings after arch. Introduce MG_ENABLE_FILE 2021-12-21 17:39:55 +00:00
ryuukk
7f55fabfec
Closed WS connection is not an error for the logger 2021-12-21 01:34:48 +01:00
Sergey Lyubka
9d38e26b81 Add MG_HTTP_INDEX build var 2021-12-17 13:54:01 +00:00
Sergey Lyubka
4e75a0c81e 7.4 -> 7.5 2021-12-17 13:34:32 +00:00
Sergey Lyubka
d0a6c111cb Call MG_EV_ERROR with c->is_closing set 2021-12-15 11:31:42 +00:00
Sergey Lyubka
aa6d8b4662 Remove TLS custom_init() API 2021-12-15 11:04:43 +00:00
Sergey Lyubka
3f5fd89fd7 Pass more args to custom TLS init 2021-12-14 13:21:59 +00:00
Sergey Lyubka
f43a5a005c Introduce custom TLS init function 2021-12-14 13:04:11 +00:00
Sergey Lyubka
755bf3c412 Split TLS files and introduce MG_ENABLE_CUSTOM_TLS 2021-12-14 12:42:41 +00:00
Sergey Lyubka
84f3fb0ba5 Move EXTERN_C to util.h 2021-12-14 12:11:05 +00:00
Sergey Lyubka
5ca9062d45 Less verbose serve_dir 2021-12-07 15:23:02 +00:00
Sergey Lyubka
9731a51dae Recognise :PORT as a valid URL 2021-11-29 13:57:33 +00:00
Sergey Lyubka
81220fa590 Remove noisy debug 2021-11-26 16:23:06 +00:00
Sergey Lyubka
922e1ce529 Make captive portal work on Linux 2021-11-23 17:52:54 +00:00
Sergey Lyubka
90c67e4226 Reformatting for better readability 2021-11-06 11:29:56 +00:00
Sergey Lyubka
093cd6a6a3 Fix FD_CLOEXEC setting 2021-11-05 13:30:12 +00:00
Sergey Lyubka
05b44204d5 Set FD_CLOEXEC properly 2021-11-04 18:28:32 +00:00
Sergey Lyubka
a6efd0b335 Merge branch 'master' into dec 2021-11-02 22:43:59 +00:00
Sergey Lyubka
ba02937ec6 Squash warnings 2021-11-02 16:40:25 +00:00
Sergey Lyubka
3d78b14deb Fix #1396 - JS sorting code for dir listing 2021-11-02 16:01:06 +00:00
Sergey Lyubka
f558551d1d Fix #1395 - show decoded URI in dir listing 2021-11-02 15:11:56 +00:00
Sergey Lyubka
12fe66370f Fix #1393 - cleanup mime types 2021-11-01 20:31:45 +00:00
Sergey Lyubka
423aaa492c Fix #1394 - mg_mqtt_sub(). Add MG_EV_OPEN, too. 2021-11-01 16:20:00 +00:00
Sergey Lyubka
52be84f04e Add user and pass to struct mg_mqtt_opts 2021-10-31 12:48:32 +00:00
Sergey Lyubka
03d187b147 Fix #1375 - change event processing order 2021-10-31 12:40:56 +00:00
Sergey Lyubka
3329047579 More explicit check on hm->uri.len 2021-10-31 12:37:40 +00:00
Sergey Lyubka
86c70e5abb Fix #1391 - make remove_double_dots less aggressive 2021-10-31 12:36:34 +00:00
Sergey Lyubka
b17f4108ea Change MG_PATH_MAX for ESP8266 2021-10-30 19:34:53 +01:00
Sergey Lyubka
f1bfe0760f Optimise TLS read 2021-10-27 19:18:44 +01:00
Sergey Lyubka
6ac09966ba Fix #1374 - fix ESP32 build 2021-10-22 22:06:10 +01:00
Sergey Lyubka
af9a7617f5
Merge pull request #1381 from ptsolakos/master
Certificate revocation checking when using mbedtls
2021-10-22 20:30:47 +01:00
Sergey Lyubka
42c89732c8 Remove private.h 2021-10-22 19:41:26 +01:00
Sergey Lyubka
054475ddbf Fix #1376 - handle comma for unquoted header vars 2021-10-22 14:33:51 +01:00
Sergey Lyubka
126d556d6a
Merge pull request #1380 from jameshilliard/fix-time
util: Actually return uptime on OSX/Linux for mg_millis
2021-10-22 14:06:44 +01:00
Sergey Lyubka
529a302e77
Merge pull request #1379 from jameshilliard/fix-sntp
sntp: Don't set Leap Indicator in client messages.
2021-10-22 14:04:54 +01:00
Sergey Lyubka
90b22716ea
Merge branch 'master' into undef 2021-10-22 14:03:25 +01:00
Sergey Lyubka
fb90c504a6 Remove private.h 2021-10-22 14:00:31 +01:00
Sergey Lyubka
4fb49b011e
Merge pull request #1377 from jameshilliard/missing-prototypes
Make private functions static and add missing prototypes.
2021-10-22 13:16:06 +01:00
Sergey Lyubka
54590aaf26 Use UDP sendto() on win32 only 2021-10-22 09:14:18 +01:00
Sergey Lyubka
7c5e67b272 Fix #1382 - use sendto for UDP send 2021-10-22 08:56:45 +01:00
Sergey Lyubka
c62c8ea4dd Correct licensing URL 2021-10-20 10:04:49 +01:00
Panagiotis Tsolakos
383653d608 mbedtls CRL support
Certificate revocation checking when using mbedtls
2021-10-14 17:56:31 +02:00
James Hilliard
001dc3f33d util: Actually return uptime on OSX/Linux for mg_millis
The documentation for mg_millis indicates it will:
Return current uptime in milliseconds.

So we should use API's that actually return uptime.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
2021-10-13 17:06:18 -06:00
James Hilliard
37d45b3fbb sntp: Don't set Leap Indicator in client messages.
Per RFC4330:
This field is significant only in server messages

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
2021-10-13 16:48:33 -06:00
James Hilliard
f72b8c6034 Fix some undefined macro warnings.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
2021-10-13 13:06:00 -06:00
James Hilliard
c11e5a9383 Make private functions static and add missing prototypes.
Fixes:
mongoose/mongoose.c:180:8: warning: no previous prototype for ‘mg_dns_parse_name’ [-Wmissing-prototypes]
  180 | size_t mg_dns_parse_name(const uint8_t *s, size_t n, size_t ofs, char *dst,
      |        ^~~~~~~~~~~~~~~~~
mongoose/mongoose.c:306:6: warning: no previous prototype for ‘mg_dns_send’ [-Wmissing-prototypes]
  306 | void mg_dns_send(struct mg_connection *c, const struct mg_str *name,
      |      ^~~~~~~~~~~
mongoose/mongoose.c:925:6: warning: no previous prototype for ‘mg_http_parse_headers’ [-Wmissing-prototypes]
  925 | void mg_http_parse_headers(const char *s, const char *end,
      |      ^~~~~~~~~~~~~~~~~~~~~
mongoose/mongoose.c:1125:7: warning: no previous prototype for ‘mg_http_etag’ [-Wmissing-prototypes]
 1125 | char *mg_http_etag(char *buf, size_t len, size_t size, time_t mtime) {
      |       ^~~~~~~~~~~~
mongoose/mongoose.c:2578:6: warning: no previous prototype for ‘mg_sha1_transform’ [-Wmissing-prototypes]
 2578 | void mg_sha1_transform(uint32_t state[5], const unsigned char buffer[64]) {
      |      ^~~~~~~~~~~~~~~~~
mongoose/mongoose.c:2976:8: warning: no previous prototype for ‘mg_open_listener’ [-Wmissing-prototypes]
 2976 | SOCKET mg_open_listener(const char *url, struct mg_addr *addr) {
      |        ^~~~~~~~~~~~~~~~

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
2021-10-12 20:18:11 -06:00
Sergey Lyubka
3771f2c088 Merge branch 'master' of github.com:cesanta/mongoose 2021-10-04 19:47:34 +01:00
Sergey Lyubka
6d398bd5c7 Fix mg_random() for ESP32 2021-10-04 19:47:24 +01:00
Sergey Lyubka
693863a51e
Merge pull request #1366 from zudwalex/fix_rtos_lwip
Add missed include for FreeRTOS/LwIP arch
2021-10-02 22:45:08 +01:00
Sergey Lyubka
f08d280429 Version 7.4 2021-09-30 13:35:44 +01:00
Sergey Lyubka
6fbb749431 7.4 -> 7.5 2021-09-30 13:34:55 +01:00
Alex Alashkin
bc7178e5f7 Add missed include 2021-09-29 12:25:25 +03:00
Sergey Lyubka
ea85f93e37 Merge branch 'master' of github.com:cesanta/mongoose 2021-09-27 13:52:59 +01:00
Sergey Lyubka
46029c501a Fix #1359 - add conditional for MSVC, _DEBUG and strdup 2021-09-27 13:52:39 +01:00
Sergey Lyubka
9af6f4b02e
Merge pull request #1360 from zudwalex/azure_basics
Add AzureRTOS basic support
2021-09-27 08:39:15 +01:00
Alex Alashkin
d86ceecd8c Add AzureRTOS basic support 2021-09-26 10:25:44 +03:00
Sergey Lyubka
c490ff8ae7 Fix typo 2021-09-22 20:38:28 +01:00
Sergey Lyubka
f73ebbf689 Fix #1354 - report correct errno in mg_open_listener() 2021-09-22 18:52:42 +01:00
Sergey Lyubka
90a131bd29 Include ipv6 wrapping brackets [] in the result of mg_url_host() 2021-09-21 08:10:27 +01:00
Sergey Lyubka
8652006aea Remove dead code 2021-09-20 12:26:09 +01:00
Sergey Lyubka
2139fbc4b7 Support multiple web roots 2021-09-20 12:24:44 +01:00
Sergey Lyubka
a7afea0963 Handle ipv4-mapped addresses 2021-09-18 19:38:59 +01:00
Sergey Lyubka
c7bd63ef53 Fix #1351 - squash warning 2021-09-17 11:07:20 +01:00
Sergey Lyubka
40b3382023 Enable WS data size check 2021-09-17 10:56:58 +01:00
Sergey Lyubka
409fdaec59 Rename posix_* -> p_* to avoid build conflict on linux 2021-09-16 11:16:10 +01:00
Sergey Lyubka
894a168833 Get rid of fs->realpath 2021-09-15 07:43:48 +01:00
Sergey Lyubka
df848973dc Fix unamalgamated target 2021-09-14 12:27:02 +01:00
Sergey Lyubka
f37e5ecc38 WS frame len sanity check 2021-09-14 10:26:03 +01:00
Sergey Lyubka
6316609a5f Show log level 2021-09-13 13:48:02 +01:00
Sergey Lyubka
acf58972f7 Fix posix_open() 2021-09-02 10:20:55 +01:00
Sergey Lyubka
5bf5516b29 struct iobuf doc 2021-08-30 13:06:45 +01:00
Sergey Lyubka
40b99e3751 Print openssl error on TLS error 2021-08-30 11:45:30 +01:00
Sergey Lyubka
28a56370d4 Fix zeromem() call in mg_iobuf_del() 2021-08-30 11:39:19 +01:00
Sergey Lyubka
e3589577ed Update OpenSSL handshake error codepath 2021-08-29 16:54:24 +01:00
Sergey Lyubka
477e48bf54 mg_iobuf_append -> mg_iobuf_add 2021-08-28 08:08:54 +01:00
Sergey Lyubka
913e730ec2 mg_iobuf_delete -> mg_iobuf_del 2021-08-28 07:16:38 +01:00
Sergey Lyubka
bd64043377 mg_comma -> mg_commalist 2021-08-28 06:54:56 +01:00
Sergey Lyubka
714b7a8145 Handle WS fragmentation 2021-08-27 10:25:24 +01:00
Sergey Lyubka
fc9c454518 Add mg_check_ip_acl() 2021-08-25 07:59:31 +01:00
Sergey Lyubka
1c456fc2df mg_next_comma_entry -> mg_comma 2021-08-23 16:54:58 +01:00
Sergey Lyubka
9b37ac384f
Merge pull request #1341 from lnksz/bugfix-1340-http_chunked
Fix #1340: Long HTTP Chunks
2021-08-23 14:50:39 +01:00
Kristof Havasi
4d07a99ee2 Fix bug in long HTTP chunk handling
Due to a copy/paste error, the start of the payload in the latest parsed
chunk was compared to chunk-length of the terminating chunk (5 chars).
So only chunks were parsed as expected, which also had a single hex
digit length.
2021-08-23 08:50:58 +02:00
Sergey Lyubka
07568a8f06 Docs nits 2021-08-22 10:51:40 +01:00
Alex Alashkin
453d4be4d0 Update FREERTOS + LWIP support 2021-08-12 13:54:43 +03:00
Sergey Lyubka
fd5eb2d3f9 Refactor mg_mkpipe() 2021-08-11 19:17:04 +01:00
Sergey Lyubka
8b770d2a0d Fix #1334 - typo in mg_call(..MG_EV_WS_OPEN) call 2021-08-11 04:52:39 +01:00
Sergey Lyubka
11c07470bb Refactor UDP handling 2021-08-07 22:55:13 +01:00
Sergey Lyubka
76865cbe14 Fix STM32 build 2021-08-07 17:52:51 +01:00
Sergey Lyubka
b7ce8213d7 Better multithreading support: remove mg_socketpair, add mg_mkpipe() and mg_rmpipe() 2021-08-07 17:22:47 +01:00
Sergey Lyubka
86f43cd8d6 Refactor mg_socketpair and document MG_ENABLE_NATIVE_SOCKETPAIR 2021-08-06 10:23:08 +01:00
Sergey Lyubka
47ce072af7 Fix #1331 - add comment about order of operations in conn_close() 2021-08-05 10:39:24 +01:00
Sergey Lyubka
c2c6ff11ed Fix #1329 - send MG_EV_WS_OPEN for server connections 2021-08-04 11:38:32 +01:00
Sergey Lyubka
9b18a6350a Make ws_upgrade() respond with error if request is not and upgrade 2021-08-03 23:37:50 +01:00
Sergey Lyubka
a36050ab4b Fix #1326 - spelling errors 2021-08-02 00:23:01 +01:00