Sergey Lyubka
e30ad43d36
Merge pull request #1612 from cesanta/mqtt
...
Exported MQTT result codes
2022-07-04 15:15:19 +01:00
Sergey Lyubka
2ccc4acf34
Squash warns for rp2040 builds
2022-07-04 11:10:08 +01: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
30126072dc
Add MG_ARCH_RP2040
2022-07-03 23:00:15 +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
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
73297c8e65
Use mg_putchar_iobuf in mg_vprintf
2022-06-29 17:42:55 +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
898e2b1e30
Add mg_json_get_hex(), mg_json_get_b64()
2022-06-22 16:28:22 +01:00
Sergey Lyubka
4246e6c768
Fix #1599
2022-06-21 12:07:00 +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
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
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
cac7f653c9
Add mg_ws_printf()
2022-06-05 14:59:50 +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
a88ea776a9
Change MG_MAX_RECV_BUF_SIZE -> MG_MAX_RECV_SIZE
2022-06-02 13:50:44 +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
f5af28c886
More SNtp debug 10
2022-05-27 22:26:17 +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
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
25806e48dc
Fix ESP32 build
2022-05-16 11:54:26 +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
86cd567968
Nit - use quotes, not brackets for custom arch
2022-05-11 21:14:44 +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
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
a7cbc19755
Fix #1532 - improve ipv6 DNS lookup
2022-04-22 20:44:53 +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
a1ec179229
Use uint64_t for uptime in millis, not int64_t
2022-04-07 13:50:25 +01:00
Sergey Lyubka
b20eded30e
Fix ESP32 example
2022-04-05 12:54:20 +01: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
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
6c021765bb
Merge pull request #1479 from zudwalex/infineon_rtx_support
...
Add RTX-RTOS support
2022-03-18 09:18:49 +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
139f928731
Fix #1481 - use stricter compilation flags
2022-03-06 14:31:42 +00:00
Alex Alashkin
412f5cf3e0
Add RTX-RTOS support
2022-02-23 19:56:37 +02: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
3a249183f8
Factor out mg_alloc_conn()
2022-02-22 21:14:29 +00:00
Sergey Lyubka
113abc71d4
Add SPDX identifier. Fix #1387
2022-02-22 18:13:06 +00:00
Sergey Lyubka
e69ec148cc
Better mbedtls debug
2022-02-19 13:46:07 +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
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
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
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
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
f84f3da012
Change in FS API for fs->open() and fs->close()
2022-01-17 14:42:41 +00:00
Sergey Lyubka
216427cea0
Cleanup suseconds_t usage
2022-01-14 12:33:06 +00:00
Sergey Lyubka
6c79a406cd
Fix localtime_r and gmtmime_r signatures
2022-01-11 19:15:38 +00:00
Sergey Lyubka
43405afdb2
Dont use ctype.h from str.h
2022-01-10 17:30:51 +00:00
Sergey Lyubka
3b0a509cae
Change mg_resolve()
2022-01-07 15:00:10 +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
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
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
4e75a0c81e
7.4 -> 7.5
2021-12-17 13:34:32 +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
90c67e4226
Reformatting for better readability
2021-11-06 11:29:56 +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
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
fb90c504a6
Remove private.h
2021-10-22 14:00:31 +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
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
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
5bf5516b29
struct iobuf doc
2021-08-30 13:06:45 +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
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
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
568484f079
Fix #920 - add MQTT over Websocket client example
2021-08-01 14:10:21 +01:00
Sergey Lyubka
5366844581
Fix #1325 - squash gcc 10 warning, and optimise casts
2021-07-31 22:26:43 +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
bdb747f9de
Fix mg_prefix test
2021-07-26 09:15:17 +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
d130c6f42d
Remove leftovers
2021-07-24 02:44:25 +01:00
Sergey Lyubka
a09238debd
Place config.h before arch*.h
2021-07-23 20:48:48 +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
8e5efd4804
7.3 -> 7.4
2021-07-23 12:17:05 +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
3982e065c8
Fix #1315 , fix #1317 - use #ifndef instead of #pragma once for compilers that do not support #pragma once
2021-07-19 09:04:18 +01:00
Sergey Lyubka
497b8027f5
Fix #1314 - expose local port for listeners
2021-07-19 08:47:38 +01:00
Sergey Lyubka
77fae5c562
Fix #1298 - shadowing struct mg_str constructor
2021-07-15 02:18:32 +01:00
cpq
302bf865f9
Fix #1310 - wrap _CRT_SECURE_NO_WARNINGS into #ifndef
2021-07-13 07:13:06 +01:00
cpq
015586950f
Fix #1305 - add #ifdef __cplusplus for C++ linkage
2021-07-13 06:58:34 +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
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
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
7c0d126edc
Build with -DMG_ENABLE_FS=1
2021-05-19 08:10:38 +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
72f0489ec2
Using nucleo-f746zg. Moved 3party libs to test/. Using headers from ST
2021-05-13 14:56:14 +01:00
cpq
5fe34fd6c3
Remove MG_ENABLE_MGOS
2021-05-12 11:05:05 +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
7851930ac3
Fix #1256
2021-04-29 09:50:33 +01:00
cpq
31c9e3fb7e
Make mg_random() weak, see #1269
2021-04-29 09:09:21 +01:00
cpq
d2744063a0
Remove unused MG_SWAPxx macros
2021-04-09 16:55:12 +01:00
cpq
5bd22cb5e4
Add mg_http_next_multipart()
2021-03-17 07:43:29 +00:00
cpq
bc00d5159a
Add mg_http_next_part
2021-03-15 13:20:53 +00:00
cpq
4528cc28ef
Add sizep param to mg_file_read()
2021-03-15 09:16:34 +00:00
cpq
2594e7b37a
Stricter MG_ARCH_CUSTOM and type conversions in sock.c
2021-03-13 12:34:26 +00:00
cpq
e788853156
Fix typos
2021-03-11 13:15:53 +00:00
cpq
6366c832b0
Add struct mg_http_serve_opts::extra_headers
2021-03-10 07:56:14 +00:00
cpq
5b272c2b5c
Bump HEAD to 7.3
2021-03-09 11:38:37 +00:00
cpq
452bcc68a4
Add mg_mqtt_next_unsub() signature
2021-03-09 11:29:53 +00:00
cpq
99fa7f0851
2020 -> 2021
2021-03-08 15:44:57 +00:00
cpq
1b5cc341a5
Add streaming client support, MG_EV_HTTP_CHUNK
2021-03-08 15:41:16 +00:00
cpq
060bb29cdc
Restore mg_mqtt_{ping,pong,disconnect}
2021-03-07 12:21:59 +00:00
cpq
366426e8bb
Avoid extra allocation for static HTTP handling
2021-03-07 11:56:20 +00:00
cpq
e710df4c80
Define WEAK to nothing on Cygwin
2021-03-04 14:25:50 +00:00
cpq
374ab4ecf0
Add struct mg_mgr::userdata
2021-02-28 16:40:27 +00:00
cpq
602c5c0866
Refactor mg_url_encode
2021-02-15 14:42:55 +00:00
cpq
d5a1d5a5e8
Stricter realpath checks
2021-02-11 15:03:22 +00:00
cpq
ae5f6c0920
Increase conn label size 32 -> 50
2021-02-10 11:09:13 +00:00
cpq
42bc7b1f47
Add "struct mg_http_message::head" attr
2021-02-09 13:27:17 +00:00
cpq
fd8db5c53a
Better unicode handling on win32
2021-02-07 22:43:49 +00:00
cpq
457d76b049
Fix #1211 - adjust ESP32 example to serve FS
2021-02-03 02:13:05 +00:00
cpq
d327ee9834
Improve SNI
2021-01-30 13:03:11 +00:00
cpq
86b1053678
Add error check for iobuf allocation
2021-01-29 12:32:34 +00:00
cpq
5118355732
Use 64bit file ops even on 32bit systems
2021-01-26 17:43:31 +00:00
cpq
3c851bcfc3
mg_file_write -> mg_file_printf
2021-01-26 16:30:44 +00:00
cpq
8e52075636
Handle calloc failures
2021-01-26 12:16:58 +00:00
cpq
66287ad6c1
TLS nits 2
2021-01-25 10:08:15 +00:00
cpq
161c34384d
Enable SO_EXCLUSIVEADDRUSE on Win32. Better listdir response.
2021-01-20 11:10:02 +00:00
cpq
12c32d09fb
Pass mg_http_message to MG_EV_WS_OPEN
2021-01-17 11:16:19 +00:00
cpq
ae6fd6aa35
Add extra headers param to mg_ws_upgrade()
2021-01-16 22:48:43 +00:00
cpq
6c93446a1f
Better reuseaddr handling on Win32
2021-01-13 03:08:11 +00:00
cpq
b7a79a556a
Add extra headers param to mg_http_serve_file
2021-01-07 12:48:20 +00:00
cpq
c7e09bd7b4
Add SSI include file=, include virtual=
2021-01-02 17:57:51 +00:00
cpq
86824795a0
Pass opts structure to mg_http_serve_dir()
2021-01-02 12:30:09 +00:00
cpq
a882aab30e
Add captive dns server example
2020-12-28 05:25:29 +00:00
cpq
71a22adc06
Add ESP8266 example
2020-12-27 01:29:42 +00:00
cpq
e1fd82bc46
Remove unused code
2020-12-25 15:04:43 +00:00
cpq
25bc13ef1e
Squash some warnings under mingw crosscompiler
2020-12-24 07:26:50 +00:00
cpq
4d123a15f9
Drop deprecated register keyword
2020-12-23 21:20:48 +00:00
cpq
2cf1b09767
Workaround for WIN32 C++ snprintf/vsnprintf/strdup calls
2020-12-23 21:05:46 +00:00
cpq
3895678bee
Use MG_EV_WS_CTL for WS control messages
2020-12-23 11:58:08 +00:00
cpq
e0a1feafe0
Fix localhost resolution
2020-12-23 10:15:09 +00:00
cpq
2e87783246
Add IPv6 client test
2020-12-22 09:44:59 +00:00
cpq
b93456f512
Do not create socket until resolved
2020-12-21 12:26:44 +00:00
cpq
29534218d7
IPv6 related refactoring
2020-12-20 16:55:33 +00:00
cpq
d3ebcaf5d2
Remove unneeded defines that break vc2015 build
2020-12-18 09:48:28 +00:00
cpq
82a378e519
Add extra param to http_reply()
2020-12-17 22:47:55 +00:00
cpq
d9551c75b1
Refactor MQTT parsing
2020-12-16 10:14:00 +00:00
cpq
8d45cf6972
Add mqtt-server example
2020-12-15 20:29:47 +00:00
cpq
94d2e86b60
More docs
2020-12-08 16:26:17 +00:00
cpq
d7a02d13e4
Add test++ linx++
2020-12-07 03:47:37 +00:00
cpq
47b6060910
Add docs
2020-12-06 21:12:05 +00:00
cpq
f2fba1d200
7.0 refactor
2020-12-05 11:26:32 +00:00
Deomid Ryabkov
be64f81eee
Add mg_next_query_string_entry_n() and mg_url_decode_n()
...
Move to mg_util.h so encode and decode are next ot each other.
Pull out mg_next_list_entry_n() for advanced use cases.
Add unit tests.
2020-10-24 22:53:50 +01:00
Deomid Ryabkov
a308872c88
Fix warnings and sync line numbers of unamalgamated sources
2020-08-19 22:02:50 +01:00
Deomid Ryabkov
b0a1cd7b0d
Sync src with amalgamated versions
...
Now src contains exactly what's embedded in mongoose.c and .h, nothing more.
Added `tools/amalgam.sh` to aamlgamate both files at once.
There are no functional changes to mongoose.c, .h in this PR, only slight filename changes.
2020-07-08 02:08:49 +01:00
Sergey Lyubka
f778d22eac
Make it possible to override default FS update algorithm
...
PUBLISHED_FROM=774a111548da97bd9d195e177b5fb66b0fd66135
2020-06-11 18:27:48 +01:00
Sergey Lyubka
3aa76dcaec
Subst CREDPARAMS
...
PUBLISHED_FROM=545e8dff4ea0bef061c893252c613e3429f56184
2020-06-11 18:27:46 +01:00
Deomid "rojer" Ryabkov
95fcb261eb
Fix processing of keep-alive requests when chunks are consumed
...
PUBLISHED_FROM=136ce2ed4f143d7ee246e5fd1078c431e205bb3a
2020-05-22 23:07:38 +00:00
Sergey Lyubka
5867c67da2
Allow OpenSSL session reuse on 2-way SSL, integrate https://github.com/cesanta/mongoose/pull/877
...
PUBLISHED_FROM=6e2568b963869d062dd51b590f8e536d043c4ca2
2020-05-22 18:56:31 +00:00
Sergey Lyubka
43a0b500f5
6.17 -> 6.18
...
PUBLISHED_FROM=7893a216b1f7e86e845122eb425e4fed271244b4
2020-05-21 16:42:09 +01:00
Sergey Lyubka
4e89eac8dd
Integrate cesanta/dev#1074 - Fix typedef bool for MSC
...
PUBLISHED_FROM=f52fe15edd617d9f1ba2aa4051c116e79671554d
2020-02-21 14:24:50 +00:00
Sergey Lyubka
517ef216c1
6.16 -> 6.17
...
PUBLISHED_FROM=c0cbd13faf84fdac1f4566be02b596a232b68713
2020-02-11 11:54:54 +00:00
Deomid "rojer" Ryabkov
1bf3ad2426
MQTT ping fixes
...
* Actually drop the connection when no response to ping arrives within the next interval.
* Avoid sending immediate ping when wall time is adjusted, it's usually spurious.
PUBLISHED_FROM=8049280b58edfb94dd0fcb6a1e89ffefe69bcea1
2020-02-11 08:04:02 +00:00
Deomid "rojer" Ryabkov
7153690016
Keep the size of the structure the same in non-SSL build
...
PUBLISHED_FROM=8f93bee72bc18efff64354203ee6268f4f8e8768
2020-01-31 11:01:35 +00:00
Deomid "rojer" Ryabkov
f00b3a2b3a
Move ssl_if_data to the end of mg_connection
...
PUBLISHED_FROM=4fb65477b03bedc3206ac286e8236f0f9536f20e
2020-01-31 09:48:30 +00:00
Deomid "rojer" Ryabkov
bc15e9ce9a
Fix value of MG_MQTT_DUP
...
PUBLISHED_FROM=de1772bd6ea01f3dc467ceebb3b2af5cbe8eb240
2020-01-20 09:33:25 +00:00
Deomid Ryabkov
70dc6d8dc9
Add mg_strcasecmp()
...
CL: Add mg_strcasecmp()
PUBLISHED_FROM=cd2a26fa12473bfa0f5e7a0a1d34fb86562ee082
2019-12-29 19:39:45 +00:00
Sergey Lyubka
464113c5ae
Sync mongoose changes
...
PUBLISHED_FROM=8b6ebf46728aca40f916dde88e372b4540ed6ea4
2019-12-19 11:12:57 +00:00
Deomid Ryabkov
c34f6c54e7
Fix ota-shadow logic
...
PUBLISHED_FROM=68a57c967f8864946244893c71a397ab4e27d75d
2019-12-07 09:03:26 +00:00
Sergey Lyubka
19acf23c49
6.14 -> 6.15
...
PUBLISHED_FROM=69f3a5f14d4ebce0fb89728fc345f90f1e7b1700
2019-06-13 08:49:37 +00:00
Deomid Ryabkov
4e8660a21f
RS14100 fixes
...
CL: none
PUBLISHED_FROM=4d5d68f92d6c082b5b0c25ed8935fc097939001f
2019-04-24 19:16:41 +00:00
Deomid Ryabkov
c277a1d878
Do not amalgamate platform_custom.h include
...
CL: none
PUBLISHED_FROM=4f84111ef76bd609348c439304f46556ce5d4497
2019-03-12 11:48:27 +00:00
Deomid Ryabkov
7820ad3a59
RS14100: Blinky
...
The humble beginning...
CL: RS14100: Blinky
PUBLISHED_FROM=7f1dc4d826122ababae44b52c52ed84b15d0ae5c
2019-03-08 23:03:39 +00:00
Deomid Ryabkov
8f36597048
Mongoose 6.14
...
PUBLISHED_FROM=3e6e17d1f1cfb05efc37d76279dcbedb7f1add5d
2019-03-04 15:15:35 +00:00
Deomid Ryabkov
1e9fabe1ca
Fix handling of WS handshake error response
...
Check response code, make sure it's 101.
Pass http_message to the client to keep it appraised.
This represents a slight change in the API -
in case of an error MG_EV_WEBSOCKET_HANDSHAKE_DONE will now be delivered where previosuly connection would just hang.
Clients that do not examine the argument may for a moment think handshake has succeeded but in fact connection will be closed immediately.
CL: mg: Fix handling of WS handshake error response
PUBLISHED_FROM=645a43d9e5bee216e54411f85827c9b974e9a7d1
2019-02-14 21:19:34 +00:00
Deomid Ryabkov
95a36b1759
Log file:line instead of function; add cs_log_set_file_level()
...
cs_log_set_filter() is removed in favor of cs_log_set_file_level() which
allows setting log verbosity of individual files and/or lines.
E.g.: `mg_=1,mjs=1,=4` - level for for everything except mjs and mongoose.
We use the fact that we are usually pretty careful with our file names and use prefixes consistently.
In mos, `debug.file_level` sets the option on boot and `Sys.SetDebug` is updated to parse `file_level` option to change it at runtime.
CL: Log file:line instead of function; add cs_log_set_file_level()
PUBLISHED_FROM=49f18d4d0d3dd224865129a4f8fe6cccd1d9bc12
2019-01-30 12:57:19 +00:00
Deomid Ryabkov
69e2b2985d
Add mg_strfree()
...
CL: Add mg_strfree()
PUBLISHED_FROM=b80566218986e0607a9d2758bf776a1031b27212
2019-01-16 22:48:59 +00:00
Deomid Ryabkov
455cec67a5
CC3220: Enterprise auth support
...
CL: wifi: CC3220: Enterprise auth support
PUBLISHED_FROM=ce445eb5b740073c9a3f9811f1acd404ce134f2e
2018-12-18 18:19:21 +00:00
Deomid Ryabkov
e2dfac946d
Ensure that user sees all the data before connection is closed
...
If user throttles receive by setting recv_mbuf_limit,
after the net interface reports connection as closed we must wait
for data to trickle through before disposing of it.
There can still b data in the buffers (e.g. SSL).
CL: mg: Ensure that user sees all the data before connection is closed
PUBLISHED_FROM=22be0fa368950a9fdb03cfb00febc7c0a1674b01
2018-12-10 21:04:49 +00:00
Бобби
c198d2e5f1
Make MG_CTL_MSG_MESSAGE_SIZE overridable
...
CL: Make MG_CTL_MSG_MESSAGE_SIZE overridable
Fix https://github.com/cesanta/mongoose/pull/987
PUBLISHED_FROM=b0a7c67297b98f616c9eadcd3c34b8747939c918
2018-12-07 10:04:00 +00:00
Deomid Ryabkov
9a70abef24
Add mbuf_append_and_free() and mbuf_move()
...
CL: Add mbuf_append_and_free() and mbuf_move()
PUBLISHED_FROM=bdf73906dd93b2ebeace160596508e15480b54b4
2018-12-05 21:49:01 +00:00
Deomid Ryabkov
53e1c469a2
Add ability for multipart data handler to provide pushback
...
It can specify how much data was actually processed and the rest will be re-delivered on next poll.
CL: mg: Add ability for multipart data handler to provide pushback
PUBLISHED_FROM=e0168c5064c3a32921c9209bc09f4da2079cd616
2018-12-05 16:02:56 +00:00
Deomid Ryabkov
15b361fbac
Add mbuf_clear()
...
PUBLISHED_FROM=754b98b3000b24ad3b3d9cc0b4c480ca005a1c3f
2018-11-23 15:50:55 +00:00
Deomid Ryabkov
91b57aa9a8
Add MG_MK_STR_N() and mg_str_starts_with()
...
CL: Add MG_MK_STR_N() and mg_str_starts_with()
PUBLISHED_FROM=f01003efc6aa6ff45fa99c7ad6e5319f5002f22d
2018-10-29 15:50:31 +00:00
Deomid Ryabkov
bc56353a79
Mongoose 6.13
...
CL: none
PUBLISHED_FROM=32418b7da17a68193e88405547152f58a4dd877f
2018-10-08 12:20:32 +00:00
Deomid Ryabkov
341ae53e85
Update mongoose.h (amalgamation)
...
PUBLISHED_FROM=1fbe72f99bda5745c4b9b9def0601bdc5bf70e65
2018-09-14 21:19:15 +00:00
Deomid Ryabkov
20f54059ad
STM32: Make LWIP optional
...
CL: STM32: Make LWIP optional
PUBLISHED_FROM=eebffe7800a74d7b69aafd95e476b2e90328be98
2018-09-06 11:27:58 +00:00
Deomid Ryabkov
563c31303e
Add net_if_null, a no-op net interface
...
Can be used for cases where device has no networking but mongoose is still needed for its event loop.
CL: mg: Add net_if_null, a no-op net interface
PUBLISHED_FROM=e79b4a8667508bbde1437dda9dad77ce3a3aa630
2018-09-06 08:34:17 +00:00
Deomid Ryabkov
421e099f2b
Refactor mg polling
...
* Change return type of mg_mgr_poll to return number of events
* Add mg_mgr_min_timer
* Refactor main poll loop to remove LwIP-specific stuff
CL: Refactor mg polling
PUBLISHED_FROM=dc94618b32fa3c84a2f053bd04d134297780ec82
2018-09-06 06:34:18 +00:00
Deomid Ryabkov
0a3e186f11
Mongoose 6.12
...
CL: Mongoose 6.12
PUBLISHED_FROM=8008e4db2f6d94d972fb6e1077525e262c8744aa
2018-08-13 14:41:42 +00:00
Deomid Ryabkov
cdb8d7b692
Add mg_strstrip: trims whitespace at the ends of s
...
CL: Add mg_strstrip: trims whitespace at the ends of s
PUBLISHED_FROM=a7e10054ac25fa2b3a878876da93a6b30d9507b3
2018-07-07 14:04:42 +00:00
Deomid Ryabkov
93ac3e19f0
Stringify multi-word macros correctly
...
Use vararg macros for this.
PUBLISHED_FROM=735c40b79dedef17a1fdbb5b846e984df0ae7018
2018-07-03 15:05:23 +00:00
Deomid Ryabkov
3bbbd41196
Add missing CC3220 sub-header to mongoose.h
...
CL: Add missing CC3220 sub-header to mongoose.h
PUBLISHED_FROM=a143485b629109c6e16c66b035f02f7552f76129
2018-06-21 16:34:56 +00:00
Deomid Ryabkov
53f34dea04
Fix TZ on ESP8266
...
CL: Fix TZ on ESP8266
PUBLISHED_FROM=435a501a8b52524bccb67bb5a8ae7e09dfb4d44a
2018-04-26 15:26:39 +00:00
Deomid Ryabkov
1614e7ba8d
Restore FFI-ability of struct mg_str
...
mgos_dlsym needs to include mg_str for ffi_exports to be able to use it
PUBLISHED_FROM=a2dd167c8e8f9e9b7316a856f19a4603080c3632
2018-04-13 17:12:07 +00:00
Deomid Ryabkov
43b5a4e735
Add a special attribute to printf-like funcs
...
Enables extra compile-time checks
CL: none
PUBLISHED_FROM=9f7d658fbda5c721cf40293bf29967bb056d0437
2018-04-13 17:12:06 +00:00
Deomid Ryabkov
e89be2e944
Add mg_url_encode_opt()
...
CL: Add `mg_url_encode_opt()` - a parametrized version of `mg_url_encode()`
PUBLISHED_FROM=17fa57a7a5325b51b6e3aef3855eac4e82c35782
2018-04-10 11:04:31 +00:00
Deomid Ryabkov
b8eca17c55
Reamalgam mongoose.{c,h}
...
PUBLISHED_FROM=8828792097bd19774472b8a2e61420565684d174
2018-04-03 16:08:21 +00:00
Deomid Ryabkov
3e33e57707
Mongoose net_if and ssl_if refactoring
...
A major cleanup, disentangling net_if and ssl_if.
Pulled a lot of common logic into the core and reduced size of net_if implementations.
CL: Mongoose net_if and ssl_if refactoring
PUBLISHED_FROM=29bd4dcb264a1fd96b3dd164e2d880e1c2c0921e
2018-03-30 23:19:49 +00:00
Deomid Ryabkov
0a90cab44a
Improve mbuf allocation behavior
...
* Limit total amount of headroom, in absolute terms (`MBUF_SIZE_MAX_HEADROOM`).
* If unable to allocate with headroom, fall back to allocating the required minimum.
* For mOS, set default `MBUF_SIZE_MULTIPLIER` to 2 to avoid floating point operations.
Since max headroom size is now capped to 128 bytes, this will not result in much of a bloat.
PUBLISHED_FROM=11d4fc65a46a805bb7c8960f89a3d0b753c58bb8
2018-03-22 07:49:57 +00:00
Бобби
780077d118
Fix mg_socketpair for lwip + UDP
...
CL: Fix mg_socketpair for lwip + UDP
PUBLISHED_FROM=6dd09136b3837016026523fb34acb5cc893cadbe
2018-02-18 16:49:38 +00:00
Dmitry Frank
2a3cfc9858
Bump mongoose version to 6.11
...
PUBLISHED_FROM=92604e1b7c65009a6214fea9f1b2460df721d38e
2018-02-08 16:51:43 +00:00
Dmitry Frank
b9b20c6494
Implement mg_http_parse_header2()
...
Which is a replacement of (deprecated) `mg_http_parse_header`, but,
similarly to `asprintf`, allocates a new buffer if the client-provided
one is not large enough.
Also use it throughout mongoose code, and thus some header-related
limitations are removed; in particular,
https://github.com/cesanta/mongoose/issues/813 is fixed.
CL: Mongoose Web Server: Deprecate `mg_http_parse_header()` and implement `mg_http_parse_header2()` instead, which allocates a new buffer if the client-provided one is not large enough (similarly to `asprintf`).
CL: Mongoose Web Server: Fix limitations of header value lengths, e.g. when parsing authentication headers such as nonce, etc.
PUBLISHED_FROM=c75b1bbbbdb294ea85075ce69b1368f115fdd1ef
2018-02-07 23:04:29 +00:00
Dmitry Frank
c3d9d17e34
Remove "mongoose" prefix from includes
...
In certain files it was necessary to make tests work from public
mongoose repo, so this commit makes things consistent.
PUBLISHED_FROM=694454d0ff007229c65d524a2a2beaf126420f15
2018-02-05 20:20:05 +00:00
Dmitry Frank
aba60dadec
Add mg_ prefix to mongoose sources
...
CL: none
PUBLISHED_FROM=d6ebe5fa88c61ae3b8569897d9b09d54610bec73
2018-02-03 01:20:47 +02:00
Dmitry Frank
f29457e967
Remove tunneling from mongoose
...
CL: Mongoose Web Server: Remove tunneling functionality which was used by nobody
PUBLISHED_FROM=38b9e8ae7b0a5a1dbba5cff4074843dc681267d3
2018-02-02 21:50:13 +00:00
Dmitry Frank
47abc641f1
Fix nonce in digest authentication
...
CL: Mongoose Web Server: Digest authentication: Fix nonce validity check (expired nonce or nonce from the future did not cause the the check to fail)
CL: Mongoose Web Server: Digest authentication: Fix nonce request value; it worked before because nonce validity check was broken as well
CL: Mongoose Web Server: Digest authentication: Add `nonce` argument to `mg_http_create_digest_auth_header()`: clients should use the value received from the server's authentication request.
Resolves https://github.com/cesanta/mongoose/issues/809
PUBLISHED_FROM=5e59f90ed6b2a4311ed6763159da81c2aaf6af4c
2018-02-01 22:05:43 +00:00
Dmitry Frank
7519b2ef3a
Improve websocket implementation
...
CL: Mongoose Web Server: Websocket: Respond to Ping with Pong
CL: Mongoose Web Server: Websocket: Properly close a connection with Close frame (in response to a client's close and when protocol failure is detected)
CL: Mongoose Web Server: Websocket: Fix support of fragmented messages
CL: Mongoose Web Server: Websocket: Add support for control frames interjected in the middle of a fragmented message
PUBLISHED_FROM=e2b3794aaacc64633540c493194cccc62afa2077
2018-02-01 13:20:19 +00:00
Dmitry Frank
673f25f75a
Include stdbool.h for NRF52
...
Fixes https://github.com/cesanta/mjs/issues/82
Integrates https://github.com/cesanta/mjs/pull/85
PUBLISHED_FROM=2f5f50c25ec1c92fdfb783cd95cb57f0cb20642b
2018-01-29 22:35:15 +00:00
Бобби
961fb96bb7
Fix OOB access in mg_match_prefix_n()
...
CL: Fix OOB access in mg_match_prefix_n().
Made mg_match_prefix_n() return non-negative result.
PUBLISHED_FROM=611454df6a6c55bfa7ddf05e7d268a86fa0457a8
2018-01-27 13:50:13 +00:00