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
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
0294603dfc
MG_ARCH_RTX nits
2022-05-12 15:07:02 +01:00
Sergey Lyubka
31ce219544
Add MG_ARCH_RTX
2022-05-12 08:07:51 +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
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
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
3d9fa10485
Increase sock limit, fix multiple connections issue
2022-04-01 15:42:15 +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
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
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
1893b06c13
Fix #1472 - calm static analyzer
2022-02-23 13:31:00 +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
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
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
544644e94b
Refactor - always enable LOG macro. Enhance iolog
2022-01-23 06:10:14 +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
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
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
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
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
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
92d3c7a4cd
Add realpath() for Win32
2021-12-22 18:04:36 +00:00
Sergey Lyubka
25a1a24890
Fallback to time(0) in mg_millis()
2021-12-21 22:04:03 +00:00
Sergey Lyubka
bf7fc1d5a9
Amalgamate
2021-12-21 21:58:03 +00:00
Sergey Lyubka
ae6767b1d2
Use int64_t for timers and mg_millis()
2021-12-21 21:50:18 +00: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
30bfb245f5
Make mongoose more bare-metal Keil friendly. Declare settings after arch. Introduce MG_ENABLE_FILE
2021-12-21 17:39:55 +00:00
Sergey Lyubka
9d38e26b81
Add MG_HTTP_INDEX build var
2021-12-17 13:54:01 +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
f1bfe0760f
Optimise TLS read
2021-10-27 19:18:44 +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
65fd834654
Increate mqtt test timeout
2021-10-22 13:58:51 +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
6d398bd5c7
Fix mg_random() for ESP32
2021-10-04 19:47:24 +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
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
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
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
Sergey Lyubka
568484f079
Fix #920 - add MQTT over Websocket client example
2021-08-01 14:10:21 +01:00
Sergey Lyubka
3ea4f1fda8
Merge pull request #1324 from ignacionr/fix/issue-1323
...
allow for in-url colon, when port is not specified
2021-07-31 22:30:04 +01:00
Sergey Lyubka
5366844581
Fix #1325 - squash gcc 10 warning, and optimise casts
2021-07-31 22:26:43 +01:00
Ignacio Rodriguez
e52a6184c4
test and fix
2021-07-30 12:34:55 -05:00
Sergey Lyubka
b40b1232cc
Enhance packed fs serving
2021-07-30 17:41:23 +01:00
Sergey Lyubka
3a46055e52
Better packed test
2021-07-30 13:19:20 +01:00
Sergey Lyubka
c2176f969b
Implement FS virtualization
2021-07-29 14:21:20 +01:00
Sergey Lyubka
9346122c29
Add FS API layer
2021-07-28 21:11:07 +01:00
Sergey Lyubka
55d102e450
Enable mg_fopen_packed in newlib
2021-07-27 09:50:11 +01:00
Sergey Lyubka
2d585474c1
Add riscv target, enhance arm target
2021-07-26 11:00:37 +01:00
Sergey Lyubka
53ee984eb7
Fix mg_prefix test
2021-07-26 09:26:52 +01:00
Sergey Lyubka
bdb747f9de
Fix mg_prefix test
2021-07-26 09:15:17 +01:00
Sergey Lyubka
299075c930
Add test for fopen_packed()
2021-07-26 09:05:34 +01:00
Sergey Lyubka
df2ffd1187
Refactor serve dir even more
2021-07-24 22:00:37 +01:00
Sergey Lyubka
b378082ec4
Refactor mg_http_serve_dir()
2021-07-24 21:48:19 +01:00
Sergey Lyubka
fb4fae9174
Optimise file serving path
2021-07-24 21:23:52 +01:00
Sergey Lyubka
cddff2b1b8
Cleanup on riscv baremetal build
2021-07-24 11:40:52 +01:00
Sergey Lyubka
d6dbf831f7
Remove mg_stat
2021-07-24 10:35:48 +01:00
Sergey Lyubka
2a2c17a232
Remove MG_ENABLE_STDIO and cleanup
2021-07-24 03:44:00 +01:00
Sergey Lyubka
328a87b02a
Remove mg_file_size()
2021-07-23 20:18:34 +01:00
Sergey Lyubka
529faa1172
MG_ENABLE_FS -> MG_ENABLE_STDIO
2021-07-23 19:47:26 +01:00
Sergey Lyubka
55e2077a46
Use mg_fopen only on win32
2021-07-22 22:46:33 +01:00
Sergey Lyubka
0d5d7bb26f
Keep directory listing compile-time option
2021-07-21 11:05:27 +01:00
Sergey Lyubka
8fc94e12af
Add enable_dirlist to mg_http_serve_opts
2021-07-20 17:22:41 +01:00
Sergey Lyubka
655f9a9f79
Add Content-Type header to the SSI files
2021-07-20 11:33:38 +01:00
Sergey Lyubka
497b8027f5
Fix #1314 - expose local port for listeners
2021-07-19 08:47:38 +01:00
Sergey Lyubka
89757388c7
Disable SSL v1.1
2021-07-16 12:10:48 +01:00
Sergey Lyubka
77fae5c562
Fix #1298 - shadowing struct mg_str constructor
2021-07-15 02:18:32 +01:00
Sergey Lyubka
80fcba91c8
Fix #1297 - %p warning
2021-07-14 04:00:27 +01:00
Sergey Lyubka
39d64be581
Fix FD_CLOEXEC setting
2021-07-13 22:49:36 +01:00
Sergey Lyubka
db11897d71
Fix #1302 - set FD_CLOEXEC on sockets
2021-07-13 19:32:31 +01:00
Sergey Lyubka
5e466f9037
Fix #1294 - add more common mime types
2021-07-13 19:24:46 +01:00
Sergey Lyubka
6b2698a503
Squash warning in mg_random()
2021-07-13 18:07:38 +01:00
Sergey Lyubka
4788db7e00
Fix #1301 - use correct openssl version conditional for SSL_use_certificate_chain_file()
2021-07-13 18:05:57 +01:00
Sergey Lyubka
d9680df510
Support mbedtls 3.x.x
2021-07-13 17:28:07 +01:00
cpq
f46453f80f
Squash warnings
2021-06-10 19:37:03 +01:00
cpq
3deafaea7f
Extend mg_mqtt_{pub,sub} by adding qos and retain
2021-06-10 19:27:19 +01:00
cpq
a15d518571
Add mg_mqtt_pubex
2021-06-10 19:15:50 +01:00
cpq
886a29d659
Fix #1292 - allow requests with missing protocol version, responses with no reason fields
2021-05-29 10:07:05 +01:00
cpq
e69de57def
Optimise mg_iobuf_append()
2021-05-29 09:46:50 +01:00
cpq
9d68e20dcc
Fix #1288 - better mg_iobuf_append allocation strategy
2021-05-29 09:44:07 +01:00
cpq
c0a8546330
Add MG_ARCH_FREERTOS_LWIP
2021-05-28 23:49:26 +01:00
cpq
7c37d75bf4
Squash even more warnings
2021-05-28 18:57:47 +01:00
cpq
838b0bcd27
Squash more warnings
2021-05-28 18:45:35 +01:00
cpq
736b8ad7b7
Fix #1285 - __builtin___snprintf_chk warning. Tighten test flags and refactor the code to squash all warnings
2021-05-28 18:30:42 +01:00
cpq
dbc2356768
FreeRTOS-Plus-TCP fixes
2021-05-19 00:00:32 +01:00
cpq
47e5e984df
stm32f7 example starts on real h/w, with plus-TCP driver
2021-05-17 17:36:57 +01:00
cpq
a98e980c8f
Nits to have tests pass
2021-05-12 09:25:21 +01:00
cpq
0de3f0d985
f1 build works
2021-05-12 08:43:34 +01:00
cpq
d6852f5e74
First stab
2021-05-11 09:12:06 +01:00
cpq
79aad7fabf
Put Range support back
2021-04-29 11:00:57 +01:00
cpq
7851930ac3
Fix #1256
2021-04-29 09:50:33 +01:00
cpq
758572872d
Fix #1255
2021-04-29 09:26:37 +01:00
cpq
111551477a
Integrate #1266
2021-04-29 09:17:24 +01:00
cpq
7061b7202f
Integrate 1265
2021-04-29 08:49:23 +01:00
cpq
35a8b8e8e8
TLS nits, more DNS logging
2021-04-22 15:21:16 +01:00
cpq
1b8624f135
Better log trace
2021-04-13 21:02:05 +01:00
cpq
e217066bf6
Squash warning
2021-04-13 19:42:47 +01:00