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