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
cpq
5430408218
Merge branch 'master' of github.com:cesanta/mongoose
2021-04-09 16:55:16 +01:00
cpq
d2744063a0
Remove unused MG_SWAPxx macros
2021-04-09 16:55:12 +01:00
Mark Cottrell
6ce2e48dd3
fixed msvc errors around VLAs
2021-04-09 08:11:16 -07:00
cpq
e9d122f231
Stricter checks for mg_url_*()
2021-03-24 15:49:35 +00:00
cpq
691460c5fc
Add linux target to http-server example
2021-03-22 11:30:48 +00:00
cpq
0051f23e12
Even stricted check in mg_to64()
2021-03-21 16:14:44 +00:00
cpq
9009cbc528
Adjust recv.len after stripping chunked body
2021-03-19 13:13:24 +00:00
panosto
5036a71334
mbedtls parse cert and key from buffer
2021-03-17 15:23:45 +01:00
cpq
531c47b47c
mg_to64 overflow protection
2021-03-17 13:46:50 +00:00
cpq
4dbb2da78f
Add form-upload example
2021-03-17 13:28:36 +00:00
cpq
41c1e0f08d
Squash truncation warning
2021-03-17 12:22:19 +00: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
381d7cce54
Do not call setsockopts() on a listening connection
2021-03-13 12:36:00 +00:00
cpq
2594e7b37a
Stricter MG_ARCH_CUSTOM and type conversions in sock.c
2021-03-13 12:34:26 +00:00
cpq
6366c832b0
Add struct mg_http_serve_opts::extra_headers
2021-03-10 07:56:14 +00:00
cpq
829827d46f
Add mg_mqtt_next_unsub
2021-03-09 09:54:02 +00:00
cpq
e84ea91a4a
Process chunked body before sending MG_EV_HTTP_MSG
2021-03-09 08:21:29 +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
79e5841483
Fix QNX build
2021-03-04 11:09:57 +00:00
cpq
56980be48c
Do not reveal full root dir path
2021-02-17 16:07:18 +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
0a9303bb07
Stricter mg_http_parse()
2021-02-09 21:16:33 +00:00
cpq
42bc7b1f47
Add "struct mg_http_message::head" attr
2021-02-09 13:27:17 +00:00
cpq
4844ed60bd
Remove fflush in logging
2021-02-09 00:16:13 +00:00
cpq
41f5daeb47
Fix mg_random
2021-02-08 19:43:01 +00:00
cpq
a3f8f33d50
Allow mbedtls CA being inline PEM
2021-02-08 17:50:00 +00:00
cpq
fd8db5c53a
Better unicode handling on win32
2021-02-07 22:43:49 +00:00
cpq
ed1a98c381
Remove debug logs
2021-02-03 02:19:17 +00:00
cpq
457d76b049
Fix #1211 - adjust ESP32 example to serve FS
2021-02-03 02:13:05 +00:00
cpq
6827972f71
Fix #1210 - on win32, open upload file in binary mode
2021-02-02 08:43:56 +00:00
cpq
582fde5c6e
Fix #1209
2021-01-31 19:54:42 +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
6678e36278
Use openssl/ssl.h
2021-01-28 08:45:24 +00:00
cpq
5118355732
Use 64bit file ops even on 32bit systems
2021-01-26 17:43:31 +00:00
cpq
7614a8101f
Wrap util funcs that use FILE into MG_ENABLE_FS
2021-01-26 16:34:42 +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
eecf3d854b
Show accepted IPv6 peer corrently
2021-01-25 10:35:45 +00:00
cpq
66287ad6c1
TLS nits 2
2021-01-25 10:08:15 +00:00
cpq
9a19485454
TLS nits
2021-01-24 13:57:40 +00:00
cpq
7d67d578fd
TLS krypton compat
2021-01-23 17:47:51 +00:00
cpq
9eabf3fa81
URL decoding URI
2021-01-21 17:14:08 +00:00
cpq
6ecb6c1500
Fix DNS timeout, add unit test
2021-01-21 10:00:18 +00:00
cpq
51bc5f70c5
Disable native socketpair by default, fix multithreaded win32 example
2021-01-21 09:12:49 +00:00
cpq
161c34384d
Enable SO_EXCLUSIVEADDRUSE on Win32. Better listdir response.
2021-01-20 11:10:02 +00:00
cpq
d83e547fa9
Make mg_url_port() return 80 for ws://
2021-01-18 18:39:22 +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
72d3a49352
Restore SO_EXCLUSIVEADDRUSE
2021-01-13 03:47:11 +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
Hakaba Hitoyo
1689a0d56b
Update mongoose.c.
2021-01-05 12:35:28 +09:00
cpq
117aeaa15d
Fix fd leak for cached static files
2021-01-03 09:39:46 +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
1b0636c2d2
More checks in mg_ws_send
2021-01-02 12:20:08 +00:00
cpq
bdef3d6afd
Fix win98 test
2020-12-28 06:32:55 +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
55f5f74658
Add mingw gcc and g++ tests
2020-12-25 19:24:51 +00:00
cpq
49b8480bfb
Add http-reverse-proxy example
2020-12-25 04:32:56 +00:00
cpq
b2ab484883
Fix #954
2020-12-24 19:10:54 +00:00
cpq
4c3b97be7d
Squash -DMG_ENABLE_FS=0 build warning
2020-12-24 18:48:28 +00:00
cpq
60e1b64455
Fix https://github.com/cesanta/mongoose/issues/1030
2020-12-24 17:01:49 +00:00
cpq
6bcd02bb1c
Enhance HTTP client example
2020-12-24 16:52:58 +00:00
cpq
c8826e8f9c
Refactor mg_ntoa and mg_straddr
2020-12-24 08:05:54 +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
abfd81cb9d
Fix WS frame length encoding for len 0xffff
2020-12-23 16:18:49 +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
c3aae185df
Add ipv6 server test
2020-12-22 10:16:31 +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
1052ee0766
Fix openssl build, and add openssl test
2020-12-20 21:45:58 +00:00
cpq
29534218d7
IPv6 related refactoring
2020-12-20 16:55:33 +00:00
cpq
d7abd53062
Always send MG_EV_CONNECT on TCP connect
2020-12-18 15:13:19 +00:00
cpq
aede72fa37
Refactor HTTP client
2020-12-18 14:29:30 +00:00
cpq
d3ebcaf5d2
Remove unneeded defines that break vc2015 build
2020-12-18 09:48:28 +00:00
cpq
04450ec659
Update http server example to showcase SSL
2020-12-18 09:01:14 +00:00
cpq
82a378e519
Add extra param to http_reply()
2020-12-17 22:47:55 +00:00
cpq
29d31ba919
More boundary checks for mg_dns_parse()
2020-12-17 19:14:17 +00:00
cpq
4519ea568d
Add conditional for SSL_use_certificate_chain_file()
2020-12-17 12:12:46 +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
f176e1ae59
Handle more mime types
2020-12-15 11:58:30 +00:00
cpq
88ada54045
More tests
2020-12-12 20:38:09 +00:00
cpq
c5b1c08d05
Use MSG_NONBLOCKING for recv/send
2020-12-12 16:48:47 +00:00
cpq
d806ed5d5f
Better coverage
2020-12-11 22:58:50 +00:00
cpq
37e9a2ee95
Fix C++ build error
2020-12-11 18:26:54 +00:00
cpq
90686ee5c9
Add ws examples
2020-12-11 17:35:58 +00:00
cpq
85c5577955
mg_dns_parse_name() recursion protection
2020-12-11 14:02:52 +00:00
cpq
30d4a1ad0f
Fix mg_sntp_parse()
2020-12-11 13:16:51 +00:00
cpq
1b551741b8
Fix mg_url_decode fuzz
2020-12-11 09:35:50 +00:00
cpq
369f44adfa
Add version.h
2020-12-10 17:46:26 +00:00
cpq
42d7865e14
Pre-built desktop server
2020-12-10 17:39:40 +00:00
cpq
94d2e86b60
More docs
2020-12-08 16:26:17 +00:00
cpq
d1b8f9e01f
Fuzz-test mg_http_var and base64
2020-12-07 18:52:40 +00:00
cpq
228acefa36
Fix native socketpair call
2020-12-07 10:55:50 +00:00
cpq
d1d8a77bf6
Use socketpair syscall when available
2020-12-07 10:25:28 +00:00
cpq
7ea3293aba
More tests
2020-12-07 08:54:58 +00:00
cpq
866c987409
Tuning test
2020-12-07 05:46:47 +00:00
cpq
136a37ef73
Tuning test
2020-12-07 05:18:07 +00:00
cpq
bcc62c96c8
Tuning test
2020-12-07 04:56:50 +00:00
cpq
15d6cb3065
Tuning test
2020-12-07 04:44:23 +00:00
cpq
d7a02d13e4
Add test++ linx++
2020-12-07 03:47:37 +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
a4b6d58b24
Add cs_log_{lock,unlock}
...
In implementatiosn that have preemptive scheduelrs these can be implemented
to ensure logging from different threads is properly serialized.
2020-08-28 20:29:13 +01:00
Sergey Lyubka
86f391c701
Merge pull request #1139 from rojer/warns
...
Fix warnings and sync line numbers of unamalgamated sources
2020-08-20 00:45:02 +01:00
Deomid Ryabkov
a308872c88
Fix warnings and sync line numbers of unamalgamated sources
2020-08-19 22:02:50 +01:00
Deomid Ryabkov
a369160296
Add missing range check in mg_get_http_header()
...
h/t BushraAloraini
Fixes https://github.com/cesanta/mongoose/issues/1135
2020-08-19 21:48:45 +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
d22ff2fce7
Really revert 4880069
2020-06-11 19:08:55 +01:00
Sergey Lyubka
d6693ed360
Revert 4880069
2020-06-11 19:04:24 +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
4680573a6b
Fixes for -pedantic build mode
...
PUBLISHED_FROM=d0a15356cf047e579c74869ce3e8fe813752e8c7
2020-05-23 15:55:27 +00: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
3d53ed17fb
Allow OpenSSL session reuse on 2-way SSL, integrate https://github.com/cesanta/mongoose/pull/877
...
PUBLISHED_FROM=6e2568b963869d062dd51b590f8e536d043c4ca2
2020-05-21 16:17:14 +01:00
Sergey Lyubka
ca11f5ab49
Fix OpenSSL error issue
...
PUBLISHED_FROM=a3bcdb68f48a4de4a4f55b4399792fdd5211c88d
2020-05-02 11:19:29 +00:00
Sergey Lyubka
ef92f2e9c5
Integrate cesanta/dev#1062 - Fix dereferencing in mg_http_free_proto_data_endpoints
...
PUBLISHED_FROM=47fd1a4de07d2c53c994d29c88ac1d3a7f61c1a0
2020-02-21 14:30:21 +00:00
Sergey Lyubka
b015e33ea5
Integrate https://github.com/cesanta/mongoose/pull/1096 - dir listing nits
...
PUBLISHED_FROM=a343bd61f98cbcc0f8cab02a62b912e494c27601
2020-02-14 08:30:56 +00:00
Sergey Lyubka
734c13cdf5
Squash win32 warnings
...
PUBLISHED_FROM=3819e74efb9ac8ff84a68105107afcacaeeab92a
2020-02-11 11:52:07 +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
884b9a4813
Add Content-Encoding: gzip when serving .gz files
...
If file ends with .gz and has known "secondary extnesion", i.e. test.html.gz,
its content type is determined by the secondary extension and content-encoding is set to gzip.
PUBLISHED_FROM=a238763b4424bafabec2e58ccae4522cacdd7c78
2020-02-01 08:33:49 +00:00
Deomid "rojer" Ryabkov
c2b5e4f3b8
Fix a leak when CA certificate file is invalid
...
Also free up some RAM by not allocating ca_cert when `MBEDTLS_X509_CA_CHAIN_ON_DISK` is enabled.
PUBLISHED_FROM=5e5f4103707de98c929973d2aed0aaedf0bb60da
2020-01-22 10:03: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
Deomid Ryabkov
10b11b03a8
Add mg_dns_encode_name_s for non-NUL terminated strings
...
PUBLISHED_FROM=012e2939021d1b275a39632fd2982891d2c98c4e
2019-12-29 19:33:41 +00:00
Sergey Lyubka
cb602f178c
Fix int overflow in parse_mqtt()
...
PUBLISHED_FROM=f9106d2f746c67ae004aeab12685eaf9cd558cd8
2019-12-23 11:13:41 +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
8fb58ebbca
Lsm
...
PUBLISHED_FROM=5f465d245bb9ada5202cdd23ddc5b9856df26951
2019-11-04 13:48:28 +00:00
Sergey Lyubka
1a38e91042
Next
...
PUBLISHED_FROM=6fa0be81ce429b8db9e3ed572cb4a876b6fb2693
2019-07-12 09:33:26 +00:00
Sergey Lyubka
b6196371bb
Lsm
...
PUBLISHED_FROM=18d9d1e6411db84788c527d1c34ad2adc846df00
2019-06-26 10:33:24 +00:00
Sergey Lyubka
b3e0f780c3
Fix heap-based overflow in parse_mqtt
...
PUBLISHED_FROM=3306592896298597fff5269634df0c1a1555113b
2019-06-13 08:18:14 +00:00
Sergey Lyubka
2bdbfc27f6
Integrate https://github.com/cesanta/mongoose/issues/1008
...
PUBLISHED_FROM=1b7bf2d7318568851e6c8f07451cd3982d9498b6
2019-06-13 07:48:28 +00:00
Sergey Lyubka
3fc61a3edc
Fix mg_resolve2()
...
PUBLISHED_FROM=b0df728a75073c6ea9fc1984bb6a6b463f539347
2019-05-24 12:33:25 +00:00
Deomid Ryabkov
1fb9f922b0
Fix mgos compile check
...
CL: none
PUBLISHED_FROM=a1320658181aa19cd1a269d7ae62e11b3439ef84
2019-05-03 16:36:08 +00:00
Deomid Ryabkov
b4fbaf7c13
Fix locking in lwip net_if
...
Was not being enabled when it should have been.
CL: Fix locking in lwip net_if
PUBLISHED_FROM=4810e73417c7599f0ea08a09812ed320d02f7cae
2019-04-23 20:03:44 +00:00
Deomid Ryabkov
9884241df8
mg_net_if_lwip: Fix invoking callbacks on tcpip thread
...
tcpip_callback doesn't wait for the callback to run (as was previosuly assumed).
CL: mg_net_if_lwip: Fix invoking callbacks on tcpip thread
PUBLISHED_FROM=930c45f1346f9c3b024e5e684f4a452c762db92b
2019-04-15 16:33:40 +00:00
Deomid Ryabkov
e5910da300
Deliver EV_CLOSE to the last endpoint handler
...
CL: mg: Deliver EV_CLOSE to the last endpoint handler
PUBLISHED_FROM=02ee2c6627ed9ee1d35022244f71dfe1877ce2c0
2019-03-19 13:15:41 +00:00
Sergey Lyubka
23533b83a4
Allow NULL handler for mg_bind and mg_connect
...
CL: Allow NULL handler for mg_bind and mg_connect
PUBLISHED_FROM=4963d5c022c2c57dd03101d9c7e72ca910c3bb61
2019-03-06 12:33:24 +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
86ffa3a3ea
Properly support MQTT wildcards when matching topics
...
CL: mg: Properly support MQTT wildcards when matching topics
PUBLISHED_FROM=aa60a71d488f4b56dff0951886c8a9a4066fd4f2
2019-01-22 12:19:04 +00:00
Deomid Ryabkov
69e2b2985d
Add mg_strfree()
...
CL: Add mg_strfree()
PUBLISHED_FROM=b80566218986e0607a9d2758bf776a1031b27212
2019-01-16 22:48:59 +00:00
Бобби
c431904b56
Send extra options with OPTIONS
...
CL: Send extra options with OPTIONS. Integrate https://github.com/cesanta/mongoose/pull/657
PUBLISHED_FROM=6ee609a92febd8d908f7713f94fb73657443a09a
2019-01-16 11:33:57 +00:00
Sergey Lyubka
22e602debb
Check for NULL in tcp_recved_tcpip()
...
CL: Check for NULL in tcp_recved_tcpip()
PUBLISHED_FROM=3f5bbc2e35b79d363eac4b99a1f0d17c9b81d4ec
2018-12-21 13:03:48 +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
3130e59244
Stop reading if connection is closing
...
CL: none
PUBLISHED_FROM=3b74ca02e2960bbbf130f6d95aef679f2917e824
2018-11-02 18:12:34 +00:00
Deomid Ryabkov
93286836f9
Read all available data during recv poll
...
CL: mg: Read all available data during recv poll
PUBLISHED_FROM=b081025b9fb392c988924c7097b5333c38053f6f
2018-11-02 14:50:32 +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
220231e647
Fix digest auth result comparison
...
Should use length of the exected response, not the response sent by the user.
CL: mg: Fix digest auth result comparison
PUBLISHED_FROM=23375133b8babac0b276b51395917ad975e1bd3c
2018-10-15 16:47:18 +00:00
Deomid Ryabkov
c438bb0bc5
Make mg_rpc more easily portable
...
CL: none
PUBLISHED_FROM=2e77d72cdf82454349a7fe29cc77bd0b90ac4369
2018-10-09 12:04:12 +00:00
Deomid Ryabkov
1ffccdb7b2
Remove a spammy log line
...
PUBLISHED_FROM=b3ec2b3b43a464700a6e6d75b7336f823549cce3
2018-10-04 15:48:48 +00:00
Deomid Ryabkov
e79fe4b8f0
Update mbedTLS to 2.13.1
...
CL: Update mbedTLS to 2.13.1
PUBLISHED_FROM=bd1216f727605a901f062a044c0c0ca762f4a6d1
2018-10-04 10:06:35 +00:00
Deomid Ryabkov
aaf1fc3a4a
Schedule a poll when LwIP reports TCP data sent
...
PUBLISHED_FROM=0cf3029d9a9b851882325e2298b878bc83fc2d33
2018-09-28 11:03:47 +00:00
Deomid Ryabkov
8b42353039
Check HTTP chunk size, ensure it's reasonable
...
CL: mg: Check HTTP chunk size, ensure it's reasonable
PUBLISHED_FROM=d9f6babd314c092b42ce9e7fe31d6b30a38366a2
2018-09-27 12:51:21 +00:00
Deomid Ryabkov
05c687e251
Fix handling of keepalive HTTP requests/responses
...
Clean the HTTP connection state when ia request/response has been fully
buffered and handler invoked.
Fixes https://github.com/cesanta/mongoose/issues/971
CL: mg: Fix handling of keepalive HTTP requests/responses
PUBLISHED_FROM=70c854aa306aacb9161f6ee48841f38dc0312e6b
2018-09-27 12:51:18 +00:00
Deomid Ryabkov
b99a94a652
Fix build w/o logging
...
PUBLISHED_FROM=694346bd6562c55e5ab00886df47f7cbfb0a3720
2018-09-25 11:34:05 +00:00
Deomid Ryabkov
98f6c8aa4f
Trim recv_mbuf when we know the size of the data
...
CL: none
PUBLISHED_FROM=e354b67ab6f8246af50c601f5f70d36c029601ea
2018-09-17 16:04:00 +00:00
Deomid Ryabkov
f63d833a33
Update STM32 build image
...
* Update CubeL4 to 1.13.0
* Rebuild OurTLS with `-DMBEDTLS_X509_CA_CHAIN_ON_DISK`
* Add `-Wextra` and fix build issues
CL: Update STM32 build image
PUBLISHED_FROM=a7eacff7580bab6c6e40bdaf6164df575a717c55
2018-09-11 11:49:08 +00:00
Deomid Ryabkov
ab035901f8
ISM43XXX networking support (TCP, UDP client)
...
Listeners still TODO
CL: ISM43XXX networking support (TCP, UDP client)
PUBLISHED_FROM=b58ba88b9e6bd7b55ccb607d0b69cea98cb52fa5
2018-09-11 06:34:08 +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
Бобби
955d4a3129
Fix file upload on windows
...
CL: Fix https://github.com/cesanta/mongoose/issues/962 - file upload on windows
PUBLISHED_FROM=85688eee147a1df468cca92f4ac61526ce9c02bf
2018-08-21 15:06:40 +00:00
Deomid Ryabkov
c2d83a9db0
Don't touch send_mbuf when sending MQTT messages
...
h/t @M4GNV5
Fixes https://github.com/cesanta/mongoose/issues/943
Closes https://github.com/cesanta/mongoose/issues/944
CL: mg: Don't touch send_mbuf when sending MQTT messages
PUBLISHED_FROM=da7b4f8acec2e403caa4addd5739d036a6a74c76
2018-08-13 14:04:49 +00:00
Deomid Ryabkov
f33d3a4e02
Fix body length calculation in mg_handle_cgi
...
Fixes https://nvd.nist.gov/vuln/detail/CVE-2018-10945
CL: mg: Fix body length calculation in mg_handle_cgi
PUBLISHED_FROM=0c30cf36fdb67c75f6148468701e23d6ee72d953
2018-08-13 13:05:22 +00:00
Deomid Ryabkov
86b8a56b05
Add host name verification for OpenSSL
...
Closes https://github.com/cesanta/mongoose/pull/955
CL: mg: Add host name verification for OpenSSL
PUBLISHED_FROM=e35dd636ba7ce63116f0a38031074d22f6cd5dac
2018-08-13 13:05:21 +00:00
Deomid Ryabkov
31632c6361
Fix build with CS_ENABLE_STDIO=0
...
Closes https://github.com/cesanta/mongoose/pull/945
CL: Fix build with CS_ENABLE_STDIO=0
PUBLISHED_FROM=7d15f17fc42241facdba5b1004b5b7f3dda599dc
2018-07-12 20:42:45 +00:00
Deomid Ryabkov
98c99279c3
Fix warnings on newer versions of GCC
...
PUBLISHED_FROM=f1d25145446057fed9e8d634ca637364ca43a5e8
2018-07-09 08:34:29 +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
6a51af9efe
Fix a bug in mg_mgr_init_opt with opts.num_ifaces
...
h/t @YankunLi
Closes https://github.com/cesanta/mongoose/pull/939
CL: mg: Fix a bug in mg_mgr_init_opt with opts.num_ifaces
PUBLISHED_FROM=a87518b3505429a3cf9cd6d84b3b781e7dbdcfd5
2018-06-27 08:50:07 +00:00
Deomid Ryabkov
1c8449cea6
Fix pipelining issue with multipart upload
...
Do not clear buffer at the end of multipart request to allow following request to proceed.
Closes https://github.com/cesanta/mongoose/pull/940
CL: mg: Fix pipelining issue with multipart upload
PUBLISHED_FROM=cc7d38b126eaa863553ee4e124cfafcd72030fcf
2018-06-26 12:05:04 +00:00
Deomid Ryabkov
339bbee0df
mg_file_upload_handler: Support multiple files
...
curl -F file1 -F file2 ...
Add a unit test and fix a minor memory leak when returning an error.
CL: mg_file_upload_handler: Support multiple files
PUBLISHED_FROM=5c4bf2be676346fb782e80f50f79df6a6721ac88
2018-06-20 13:35:31 +00:00
Deomid Ryabkov
9ba6eb716d
mg_lwip: Fix race during clean conenction teardown
...
Set CLOSE_IMMEDIATELY flag when destroying conn.
This avoid some races in LWIP adapter.
CL: mg_lwip: Fix race during clean conenction teardown
PUBLISHED_FROM=5c67982390dfaf83527e85d1291f64c6050aa932
2018-06-18 16:35:04 +00:00
Deomid Ryabkov
1299d6118f
Add MG_HIDE_SERVER_INFO
...
Closes https://github.com/cesanta/mos-libs/pull/2
CL: Add MG_HIDE_SERVER_INFO
PUBLISHED_FROM=ed8a5b65f1c8238df414cd1c1f8bb1f579082f55
2018-05-17 16:20:44 +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