Sergey Lyubka
a68f3dc4eb
Add %V and %H specifiers for mg_snrpintf()
2022-06-22 13:15:52 +01:00
Sergey Lyubka
3774f676cf
Less verbose unit test
2022-06-13 21:12:11 +01:00
Sergey Lyubka
a71262437d
Use mip for arm and riscv targets
2022-06-12 12:43:01 +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
b73115c002
Unbreak build
2022-06-08 22:09:11 +01:00
Sergey Lyubka
cff208c5a9
Introduce %Q format specifier, rework device dashboard
2022-06-08 21:44:01 +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
45816ef5db
Add missing test file
2022-06-02 06:18:43 +01:00
Sergey Lyubka
fe682f8399
Fix #1560 - implement precompressed .gz file serving
2022-06-02 06:13:37 +01:00
Sergey Lyubka
4dd1891594
Add mg_http_serve_opts.page404
2022-05-31 23:44:03 +01:00
Sergey Lyubka
a3d63c095a
Handle #1562 - add udp/tcp extra param to mg_mkpipe()
2022-05-31 18:23:32 +01:00
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
e2ce68e3ef
Fix build: delete -> del
2022-05-30 16:20:14 +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
34c5f63c00
More SNtp debug 8
2022-05-27 22:18:14 +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
5998208449
More SNTP debug
2022-05-27 19:57:15 +01:00
Sergey Lyubka
4fc84621ae
More SNTP debug
2022-05-27 19:55:39 +01:00
Sergey Lyubka
cfaca604f5
Debug SNTP issue 2
2022-05-26 17:50:56 +01:00
Sergey Lyubka
7f8d12b9f7
Use time.windows.com too
2022-05-26 16:22:44 +01:00
Sergey Lyubka
72cc433265
Make SNTP test more resilient
2022-05-15 19:41:37 +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
Sergey Lyubka
cf7d1d8041
Address #1551 - better timers handling
2022-05-15 14:29:34 +01:00
Sergey Lyubka
3fbb7de712
Refactor dashboard example
2022-05-13 20:08:08 +01:00
Sergey Lyubka
84480f4072
Fix #1539 - proper timer cleanup
2022-05-10 07:38:03 +01:00
Sergey Lyubka
bc16854ccb
Get rid of MG_ENABLE_LOG, change mg_hexdump()
2022-05-06 21:09:13 +01:00
Sergey Lyubka
38557aac7f
Add MG_ARCH_NEWLIB
2022-05-01 13:47:33 +01:00
Sergey Lyubka
f19eec7fae
Refactor multithreading API
2022-04-25 14:56:15 +01:00
Sergey Lyubka
93ff3e4d1f
Add message sequence test
2022-04-21 03:13:31 +01:00
Sergey Lyubka
1dfc748e87
Add message sequence test
2022-04-21 02:50:50 +01:00
Sergey Lyubka
944704a12d
Fix #1528 : pack.c build on Win32
2022-04-19 18:46:29 +01:00
Sergey Lyubka
e9fabdcc96
Handle #1523 - multiple WS messages
2022-04-13 11:14:57 +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
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
b20eded30e
Fix ESP32 example
2022-04-05 12:54:20 +01:00
James Hilliard
e268affb5a
Fix mg_mgr_wakeup conflicting types error
2022-04-02 22:10:17 -06:00
James Hilliard
173c2ba338
Print mqtt buffer on error in tests
...
This test seems to fail randomly a lot, print the buffer on error to
make it easier to isolate issues.
2022-04-02 15:26:15 -06:00
Sergey Lyubka
3b5a9e2d4b
Add tests for mg_ws_wrap() and messages > 128 bytes
2022-03-22 12:46:55 +00:00
Sergey Lyubka
6b3d9d9baf
Add failed TLS host validation
2022-03-22 10:51:37 +00:00
Sergey Lyubka
436852d077
Enable TLS host validation in test_http_client()
2022-03-22 10:48:50 +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
1141ea7933
Add connection timeout
2022-03-20 18:50:01 +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
139f928731
Fix #1481 - use stricter compilation flags
2022-03-06 14:31:42 +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
393dad97e0
Get rid of ctype dependencies
2022-02-22 20:20:56 +00:00
Sergey Lyubka
63261ec0d5
Use mg_http_status()
2022-02-19 16:19:51 +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
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
3e8e2ab513
Add optional zip cmd to pack.c
2022-02-12 14:28:02 +00:00
Sergey Lyubka
4f802ece52
Enhance mg_snrpintf tests
2022-02-11 18:15:34 +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
544644e94b
Refactor - always enable LOG macro. Enhance iolog
2022-01-23 06:10:14 +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
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
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
c65c8fdaaa
Protect against the directory traversal in mg_upload()
2022-01-17 12:08:23 +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
43405afdb2
Dont use ctype.h from str.h
2022-01-10 17:30:51 +00:00
Sergey Lyubka
ff811f287a
Squash warnings
2022-01-05 13:57:30 +00:00
Sergey Lyubka
6a82cbee71
Send MG_EV_WRITE for UDP messages
2022-01-05 13:03:56 +00:00
Sergey Lyubka
62411d039e
Increase mqtt timeouts
2021-12-24 12:14:06 +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
ae6767b1d2
Use int64_t for timers and mg_millis()
2021-12-21 21:50:18 +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
9731a51dae
Recognise :PORT as a valid URL
2021-11-29 13:57:33 +00:00
Sergey Lyubka
24e8c4d81a
Increase SNMP test timeout
2021-11-25 17:31:41 +00:00
Sergey Lyubka
bf88167152
Add missing test files
2021-10-31 12:50:06 +00:00
Sergey Lyubka
86c70e5abb
Fix #1391 - make remove_double_dots less aggressive
2021-10-31 12:36:34 +00: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
65fd834654
Increate mqtt test timeout
2021-10-22 13:58:51 +01: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
7d620965e2
Update ca.pem: DST root CA has expired
2021-10-01 09:22:49 +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
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
894a168833
Get rid of fs->realpath
2021-09-15 07:43:48 +01:00
Sergey Lyubka
477e48bf54
mg_iobuf_append -> mg_iobuf_add
2021-08-28 08:08:54 +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
f6f0e49de4
Add failing test for HTTP chunk
...
This test would have caught #1340 : handling chunks longer than 15 chars
2021-08-23 08:19:46 +02: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
b7ce8213d7
Better multithreading support: remove mg_socketpair, add mg_mkpipe() and mg_rmpipe()
2021-08-07 17:22:47 +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
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
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
b98556a4dc
Enable mg_fopen_packed on ARM
2021-07-27 09:54:45 +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
299075c930
Add test for fopen_packed()
2021-07-26 09:05:34 +01:00
Sergey Lyubka
d6dbf831f7
Remove mg_stat
2021-07-24 10:35:48 +01:00
Sergey Lyubka
a09238debd
Place config.h before arch*.h
2021-07-23 20:48:48 +01:00
Sergey Lyubka
32406b678b
Increase sntp test timeout
2021-07-22 23:03:20 +01:00
Sergey Lyubka
a771d6a19d
Add unicode filename
2021-07-22 20:16:50 +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
5e466f9037
Fix #1294 - add more common mime types
2021-07-13 19:24:46 +01:00
cpq
3deafaea7f
Extend mg_mqtt_{pub,sub} by adding qos and retain
2021-06-10 19:27:19 +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
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
47e5e984df
stm32f7 example starts on real h/w, with plus-TCP driver
2021-05-17 17:36:57 +01:00
cpq
0f32f50c50
Add missing files
2021-05-13 22:05:00 +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
79aad7fabf
Put Range support back
2021-04-29 11:00:57 +01:00
cpq
e9d122f231
Stricter checks for mg_url_*()
2021-03-24 15:49:35 +00:00
cpq
912dd518bf
Tests for mg_to64()
2021-03-21 16:18:44 +00:00
cpq
4dbb2da78f
Add form-upload example
2021-03-17 13:28:36 +00:00
cpq
cd36708b6d
Fix tests
2021-03-17 07:46:39 +00:00
cpq
5bd22cb5e4
Add mg_http_next_multipart()
2021-03-17 07:43:29 +00:00
cpq
4528cc28ef
Add sizep param to mg_file_read()
2021-03-15 09:16:34 +00:00
cpq
6366c832b0
Add struct mg_http_serve_opts::extra_headers
2021-03-10 07:56:14 +00:00
cpq
e84ea91a4a
Process chunked body before sending MG_EV_HTTP_MSG
2021-03-09 08:21:29 +00:00
cpq
2dcb10ef36
Less verbose test
2021-03-08 15:45:09 +00:00
cpq
1b5cc341a5
Add streaming client support, MG_EV_HTTP_CHUNK
2021-03-08 15:41:16 +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
0a9303bb07
Stricter mg_http_parse()
2021-02-09 21:16:33 +00:00
cpq
6827972f71
Fix #1210 - on win32, open upload file in binary mode
2021-02-02 08:43:56 +00:00
cpq
d327ee9834
Improve SNI
2021-01-30 13:03:11 +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
9eabf3fa81
URL decoding URI
2021-01-21 17:14:08 +00:00
cpq
89beadd2ce
Squash warning in unit test
2021-01-21 10:24:49 +00:00
cpq
6ecb6c1500
Fix DNS timeout, add unit test
2021-01-21 10:00:18 +00:00
cpq
ae6fd6aa35
Add extra headers param to mg_ws_upgrade()
2021-01-16 22:48:43 +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
749326c83a
Add more mg_http_parse unit tests
2020-12-24 14:33:23 +00:00
cpq
9657577c00
Fix typo in fuzz test
2020-12-24 09:09:25 +00:00
cpq
9f5216d259
Add more fuzz tests
2020-12-24 09:07:55 +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
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
f176e1ae59
Handle more mime types
2020-12-15 11:58:30 +00:00
cpq
348c579521
Add dns test case
2020-12-14 09:31:23 +00:00
cpq
09beadb98a
Fix c++ fuzzer build
2020-12-13 16:56:30 +00:00
cpq
5b265a76bd
Add minor case to fuzzer
2020-12-13 16:33:46 +00:00
cpq
c5a4a1c6f2
Remove debug leftover
2020-12-13 00:37:04 +00:00
cpq
88ada54045
More tests
2020-12-12 20:38:09 +00:00
cpq
f3f397f31e
Add MQTT client example
2020-12-12 10:03:19 +00:00
cpq
d806ed5d5f
Better coverage
2020-12-11 22:58:50 +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
cf62702f08
Switch to hivemq
2020-12-10 16:36:24 +00:00
cpq
d1b8f9e01f
Fuzz-test mg_http_var and base64
2020-12-07 18:52:40 +00:00
cpq
7ea3293aba
More tests
2020-12-07 08:54:58 +00:00
cpq
cb7743fa39
Move tests -> test
2020-12-06 23:19:56 +00:00
cpq
6691a2fdad
Add badges
2020-12-05 11:46:12 +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
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
4ea452307e
Update certs used for SSL test
...
PUBLISHED_FROM=2236ecf7fe06bdaf9a89e697b83ff69e1f8c805c
2020-05-21 16:17:12 +01: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
ff4649fe42
Better UI
...
PUBLISHED_FROM=50f0cafa84cd06428f0da376d85766dcf62af9da
2019-07-12 12:33:28 +00:00
Sergey Lyubka
1a38e91042
Next
...
PUBLISHED_FROM=6fa0be81ce429b8db9e3ed572cb4a876b6fb2693
2019-07-12 09:33:26 +00:00
Sergey Lyubka
2bdbfc27f6
Integrate https://github.com/cesanta/mongoose/issues/1008
...
PUBLISHED_FROM=1b7bf2d7318568851e6c8f07451cd3982d9498b6
2019-06-13 07:48:28 +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
c3057df3f5
Fix mongoose CI test
...
CL: none
PUBLISHED_FROM=9510e460251c250cb6a67a40edc0af515044f9fe
2019-02-08 17:38:56 +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
Бобби
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
Deomid Ryabkov
3130e59244
Stop reading if connection is closing
...
CL: none
PUBLISHED_FROM=3b74ca02e2960bbbf130f6d95aef679f2917e824
2018-11-02 18:12:34 +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
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
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
c2fbff6d0e
Fix mg_http_parse_header
...
Per standard, cookies are delimited by `; `.
CL: Fix mg_http_parse_header: treat ";" as a delimiter.
PUBLISHED_FROM=039243c30f5fabf4a4700a43506f841b3268306a
2018-04-10 10:19:36 +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
Serge A. Zaitsev
d16dbc197f
mongoose: fix http pipeline
...
mongoose: fix formatting
mongoose: fix formatting
mongoose: remove debugging messages
PUBLISHED_FROM=1194e018001cc5f2b598096593d7aac4ec8dc04d
2018-03-20 16:41:56 +00:00
Serge A. Zaitsev
127f27e375
mongoose: unit test for http get pipeline
...
PUBLISHED_FROM=00e8634913232eb2e50a0d739f85e81706dbc400
2018-03-17 16:35:04 +00:00
Deomid Ryabkov
a3c4a48ef7
Make sure test assertions are evaluated once
...
E.g. if `ASSERT_EQ(myfunc(), 123)` fails, `myfunc()` would be invoked again to print the actual value.
This can cause confusion sometimes.
To avoid this, we cast arguments to double, which is wide enough for most cases and we provide a variant for 64 bit value types for when it's not.
We also perform a check and fail if argument to the check results in loss of precision.
CL: none
PUBLISHED_FROM=a14551289d92e8a5dead21d16471ebddebe938a8
2018-02-10 12:19:40 +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
Deomid Ryabkov
50ecc30b4d
Commonize unit test main()
...
CL: none
PUBLISHED_FROM=ee76407d89f3fcbe3da23810117a374d06af0a25
2018-02-07 16:19:32 +00:00
Dmitry Frank
7bf5144e62
Make tests work on public repo as well
...
PUBLISHED_FROM=78acb18d597b6f47f31da13087fa6685f21ce445
2018-02-05 14:35:37 +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
8742fac5d8
Publish mongoose src and tests
...
CL: Mongoose Web Server: Publish sources and tests
Resolves https://github.com/cesanta/mongoose/issues/745
PUBLISHED_FROM=7ecd7a3c518cfa614a6ba0838678dcb91b75a8c0
2018-02-02 15:49:55 +00:00
Marko Mikulicic
8927c9d22b
Merge dev branch code named Fossa as next stable Mongoose
2015-09-08 14:34:30 +02:00
Sergey Lyubka
14d6f71f82
Fix unit test
2015-05-20 10:50:32 +01:00
Sergey Lyubka
bf7a115bf2
Fix url rewrites
2015-05-11 09:13:46 +01:00
Sergey Lyubka
2d1d2e6534
SIZE_MAX is not defined on MSVC6, use (size_t) ~0
2015-03-17 17:00:59 +00:00
Dinis Rosário
3bd79c7cd5
Fix remove_double_dots_and_double_slashes removing all the dots leading http server to serve wrong URI
...
If the uri is something like '/js/...jquery.js', remove_double_dots_and_double_slashes will remove the 3 dots and the http server will serves the /js/jquery.js file.
remove_double_dots_and_double_slashes should check if a dot or double dots is followed by a slash (or backslash) and only remove this to avoid disclosure attack.
2015-03-17 16:04:59 +01:00
Sergey Lyubka
c52e0744cb
Squashed warnings after size_t change
2015-03-17 13:18:15 +00:00
Sergey Lyubka
e4ad3010be
Fix #416
2014-12-30 03:56:29 +00:00
Sergey Lyubka
710b888122
Added -pthread to test/Makefile::CFLAGS
2014-10-17 20:12:29 +01:00
Sergey Lyubka
80db048578
Added more dependencies in test/Makefile
2014-09-15 01:28:03 +01:00
Sergey Lyubka
fac0e9b0ac
Moved unit test to dedicated dir
2014-09-09 18:23:48 +01:00
Sergey Lyubka
5a3b1123f6
tests moved under build
2013-12-07 17:47:14 +00:00
Sergey Lyubka
af7efd980c
Adjusting unit test for core
2013-12-06 22:14:55 +00:00
Sergey Lyubka
ebf9ee089b
Do not send 500 when timing out getreq()
2013-12-05 11:12:07 +00:00
Sergey Lyubka
37751a2875
directory ops moved to directory.c
2013-11-23 10:24:25 +00:00
Sergey Lyubka
5153eebc9b
mg_read() does not block on content_len=0. mg_read() reads until socket is closed if content-length is not provided
2013-10-01 17:47:32 +01:00
Sergey Lyubka
70154f6c23
Moved mod_lua.c to src/lua.c
2013-10-01 15:16:09 +01:00
Sergey Lyubka
ecbf79135f
Refactored API, returned back to event-based handlers. Upload and Websocket API simplified
2013-09-28 11:00:54 +01:00
Sergey Lyubka
98214ce1a4
Removed init_lua() and open_file() callbacks
2013-09-26 09:35:07 +01:00
Sergey Lyubka
46e04e857c
Added test for dir with non-ascii char
2013-09-24 10:08:39 +01:00
Sergey Lyubka
e556a487e0
Fix for the SCRIPT_NAME in the presence of PATH_INFO, https://code.google.com/p/mongoose/issues/detail?id=403
2013-09-07 18:49:24 +01:00
Sergey Lyubka
b461edabd9
Squashed warnings
2013-09-07 18:46:50 +01:00
Sergey Lyubka
18e64397fc
Fixed tests
2013-09-07 07:07:18 +01:00
Sergey Lyubka
d8596fae27
Fixed unit test
2013-08-19 19:10:17 +01:00
Sergey Lyubka
2055d41a9f
Corrected misplaced brackets in parse_http_message()
2013-08-14 10:55:36 +01:00
Sergey Lyubka
743f48b8e0
Added mg_exec_lua_script, mg_prepare_lua_environment -> prepare_lua_environment
2013-08-08 13:11:05 +01:00
Sergey Lyubka
e53d05637a
Binding to IPv6 addresses
2013-07-28 12:15:16 +01:00
Sergey Lyubka
62d66201c9
make match_prefix() case-insensitive
2013-07-25 07:07:25 +01:00
Sergey Lyubka
c80a88a407
Added test for uploading 2 files
2013-07-23 08:17:00 +01:00
Sergey Lyubka
35cb27dbe6
Always use absolute path for document_root. If relative path is used, it is relative to mongoose.exe directory. See https://github.com/valenok/mongoose/issues/181
2013-07-20 14:11:05 +01:00
Sergey Lyubka
e003236a03
Made SSI #include file= relative to the current doc, as per spec
2013-07-19 07:57:47 +01:00
Sergey Lyubka
d864d72470
On windows, enclosing path to CGI script in quotes to allow paths with spaces
2013-07-17 08:24:52 +01:00
Sergey Lyubka
bc40aa5442
fixed strtoll() for win32: using _atoi64
2013-07-14 12:49:24 +01:00
Sergey Lyubka
e7c34c26cb
mg_read() with no Content-Length would read until socket is closed
2013-07-01 08:45:07 +01:00
Sergey Lyubka
6e59ad8a0d
Fix for prepare_lua_environment
2013-05-19 01:25:10 +01:00
Sergey Lyubka
2e232b3304
Lua functionality change: print renamed to mg.write, read renamed to mg.read. Expanded user manual, fixed example pages.
2013-05-15 17:42:34 +01:00
Sergey Lyubka
e579355b01
url_decode -> mg_url_decode
2013-05-08 11:40:13 +01:00
Sergey Lyubka
4120b9bcc0
mg_get_cookie() signature change
2013-04-11 12:49:41 -07:00
Sergey Lyubka
4505b00733
Removed support for option names
2013-03-05 18:26:10 +00:00
Sergey Lyubka
69cb94f3fb
Removed header printing from page.lp
2013-02-27 18:06:35 +00:00
Sergey Lyubka
a58bb71c19
Added Lua section to the user manual
2013-02-27 10:44:59 +00:00
Sergey Lyubka
fbf1ccee45
Fix out-of-bounds acces in url_decode()
2013-02-16 14:31:37 +00:00
Sergey Lyubka
0bd43bcae3
Using mg_strcasestr() instead of strstr()
2013-02-16 14:17:38 +00:00
Sergey Lyubka
b809665cad
Squashed warning
2013-02-16 12:54:16 +00:00
Sergey Lyubka
9baf2d4ba4
Using keep alive in unit test
2013-02-08 08:19:01 +00:00
Sergey Lyubka
cde25a8b82
Removed embedded test
2013-02-03 19:56:24 +00:00
Sergey Lyubka
1b7f036199
Removed embedded test
2013-02-03 19:56:16 +00:00
Sergey Lyubka
b80157b7ea
Setting user data pointer properly
2013-02-03 19:15:27 +00:00
Sergey Lyubka
ee55d38b55
API CHANGE: using struct mg_callbacks
2013-02-01 16:48:30 +00:00
Sergey Lyubka
d73aa1ad09
Added skeleton for regex checks
2013-01-31 18:06:05 +00:00
Sergey Lyubka
d5bc58c38d
Using sqlite as an example
2013-01-31 15:17:40 +00:00
Sergey Lyubka
7ed94d1918
Unit test call fixed
2013-01-27 20:49:30 +00:00
Sergey Lyubka
ec7d0b1abd
Added test_mg_upload()
2013-01-25 20:27:08 +00:00
Sergey Lyubka
75d9a6c844
Removed mg_connect() and mg_fetch(). Added mg_download()
2013-01-23 21:54:27 +00:00
Sergey Lyubka
4b29689a42
Binding to 127.0.0.1 to prevent popup windows on mac
2013-01-22 12:26:56 +00:00
Sergey Lyubka
9c4853471c
Added stub for test_mg_upload()
2013-01-22 09:08:00 +00:00
Sergey Lyubka
bec6ea00ea
Using unit test targets
2013-01-22 08:59:42 +00:00
Sergey Lyubka
83fae879bf
Binding to 127.0.0.1 to prevent annoying popups on mac
2013-01-21 22:29:31 +00:00
Sergey Lyubka
dbb8a5bbf4
put_delete_passwords_file -> put_delete_auth_file
2013-01-18 09:45:36 +00:00
Sergey Lyubka
05fa677382
Fixed unit test to accomodate mg_get_var() API change
2012-12-24 10:43:15 +00:00
Sergey Lyubka
1ef31461bc
Added test_skip_quoted()
2012-12-07 01:50:12 +00:00
Sergey Lyubka
080cb2dd4b
Changed signature of url_decode(): signalling on destination buffer overflow. mg_get_var() now does not require extra space for variable buffer
2012-11-14 09:26:02 -08:00
Sergey Lyubka
e251375c0c
Using .lp extension for Lua server pages
2012-10-23 20:21:24 +01:00
Sergey Lyubka
038f8823f1
Added test to mg_stat(). Fixed set_gpass()
2012-10-05 08:58:13 +01:00
Sergey Lyubka
b597da34da
Pass user_data to the callback
2012-10-05 02:10:35 +01:00
Sergey Lyubka
557d1f4c49
Added MG_OPEN_FILE message
2012-09-29 18:56:41 +01:00
Sergey Lyubka
2539a473fe
Added test for byte range past EOF
2012-09-29 18:56:23 +01:00
Sergey Lyubka
3ffdf5459a
API change: folded user_data into request_info, and introduced event-specific ev_data
2012-09-27 22:20:02 +01:00
Sergey Lyubka
8c1866a4af
Lua server pages support
2012-09-26 23:37:03 +01:00
Sergey Lyubka
dfc0f00478
Implement -T option, throttling functionality
2012-09-23 13:28:27 +01:00
Sergey Lyubka
771ce9059c
added
2012-09-22 13:31:10 +01:00
Sergey Lyubka
ff0c2d3f91
Added unit test for mg_get_var
2012-09-22 12:22:30 +01:00
Sergey Lyubka
167338f216
Using slash, "/" as the universal directory separator throughout the code
2012-09-20 18:20:41 +01:00
Sergey Lyubka
98fb44f836
Refactored data buffering. Updated websocket example to have 2 message roundtrips.
2012-09-20 13:45:35 +01:00
Sergey Lyubka
f9873eb87a
Experimentl websocket support
2012-09-19 12:23:54 +01:00
Sergey Lyubka
05b2a04267
moved status_code, user_data, log_message out of struct mg_request_info
2012-09-17 19:38:19 +01:00
test
66e088d843
Removed the test for a directory name with only a backslash, because this causes problems on windows.
2012-08-27 14:40:32 +02:00
test
83dc425e25
Removed the test for a directory name with only a backslash, because this causes problems on windows.
2012-08-23 16:36:41 +02:00
Sergey Lyubka
ee8111e424
Unbreak backslash dir test
2012-08-19 12:06:35 +01:00
Ger Hobbelt
ccf43fe3e3
backport of the relevant fix as per http://code.google.com/p/mongoose/issues/detail?id=370#c5
2012-08-18 21:44:29 +02:00
Sergey Lyubka
6619f2edac
Implemented -x option
2012-08-14 16:06:10 +01:00