Commit Graph

2045 Commits

Author SHA1 Message Date
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
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
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
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
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
c446fe0c6d Make stm32 eth declared as volatile 2022-06-21 12:11:59 +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
5a448ab4f5 Compile driver_stm32.c only for __arm__ 2022-06-13 01:04:09 +01:00
Sergey Lyubka
a71262437d Use mip for arm and riscv targets 2022-06-12 12:43:01 +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
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
a53dc5c0a0 Fix #1580 - uri_to_path2 for / corner case 2022-06-07 04:33:46 +01:00
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
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
b9d1d4a94f More SNtp debug 4 2022-05-27 20:48:19 +01:00
Sergey Lyubka
360dedd9b2 More SNtp debug 3 2022-05-27 20:39:37 +01:00
Sergey Lyubka
e5d3d02307 More SNtp debug 2022-05-27 20:16:08 +01:00
Sergey Lyubka
7f8d12b9f7 Use time.windows.com too 2022-05-26 16:22:44 +01:00
Sergey Lyubka
10596a8bdc Proper TLS handling for poll(). Make poll() default on linux 2022-05-26 08:55:28 +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
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
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
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