cpq
f022633f29
Generalize socket constants
2022-11-05 12:33:49 +00:00
Sergio R. Caprile
a3ede75842
Accept zero-length payload messages
2022-11-03 11:26:08 -03:00
cpq
efec738c89
ARP lookup hosts in the same net. Use up-to-date code in zephyr dash example
2022-11-03 08:06:17 +00:00
Sergio R. Caprile
e3d1a69223
CR incorrectly set in STM32 driver
2022-11-02 19:25:05 -03:00
cpq
613655767b
Housekeeping at the end of c->label
2022-11-01 21:01:03 +00:00
Sergio R. Caprile
e9421d557a
Fix TI-RTOS port
...
Sockets were not being put in non-blocking mode as the setsockopt() call wasn't using SOL_SOCKET
Do not include errno.h but serrno.h, otherwise error codes are mangled... NDK functions use serrno, errno belongs to the compiler
UDP sockets require binding to receive responses
select() does not return write-ready on connect if the amount of bytes to write is below the "low-water mark". This parameter defaults to 2048, there was some code apparently setting this otherwise, with no success. Reworked the code to set this water mark at half the buffer size by just using plain getsockopt/setsockopt calls.
For the record:
TI typedef's void * SOCKET for internal use, INVALID_SOCKET is cast to (void *). Their BSD compatible socket interface expects and returns int; while Mongoose uses SOCKET... this generates lots of warnings 169 and 515, disabled in the examples
2022-10-28 18:55:10 -03:00
cpq
bbc0c0df94
Unbreak test
2022-10-28 15:35:40 +01:00
cpq
7ab81d3805
Add mg_hello()
2022-10-28 10:57:06 +01:00
Sergio R. Caprile
c8c540b453
Improve TI-RTOS timing support
2022-10-24 11:48:54 -03:00
Sergio R. Caprile
51c51d49ad
Fix unintended socket close on systems with valid fd=0 descriptor numbering
2022-10-20 10:34:26 -03:00
cpq
17ada1c894
Fix #1803 - conditional for SSL_set1_host(). In unit test, disable time.windows.com, use google and apple SNTP servers
2022-10-19 09:06:47 +01:00
cpq
ce8fa4c24b
Echo WS CLOSE payload back
2022-10-18 14:31:47 +01:00
Yeicor
b17c62618d
Remove mg_hexdump from deliver_chunked_chunks
2022-10-16 21:11:00 +02:00
cpq
aacae6444e
Fix stack overflow in fuzzer - too big on-stack array
2022-10-15 17:18:31 +01:00
Sergio R. Caprile
1ef0aa14c0
Update to latest Zephyr and their Docker repo
2022-10-04 17:24:13 -03:00
James Hilliard
b944db30fd
Update GPL license identifier
...
GPL-2.0 was deprecated in favor of GPL-2.0-only.
GPL-2.0+ was deprecated in favor of GPL-2.0-or-later.
See: https://spdx.org/licenses/
2022-09-29 15:18:10 -04:00
cpq
9680b8ccb3
Fix overflow in rx_icmp
2022-09-29 16:53:11 +01:00
cpq
a88a11c243
Fix TX overflow in rx_icmp()
2022-09-29 11:13:40 +01:00
cpq
88097f1829
Fix endianness issues in unit test
2022-09-28 20:22:09 +01:00
James Hilliard
76f693e5d7
Test on big endian CPU architectures
2022-09-26 05:16:49 -04:00
James Hilliard
3c71977e2e
Fix null pointer dereference in mg_rpc_add()
...
Fixes #1736
2022-09-25 14:08:58 -04:00
cpq
5574a2663a
Close connection on 3 keep-alive misses
2022-09-25 17:35:14 +01:00
cpq
c409cca20e
Optimize fuzzer
2022-09-25 10:19:17 +01:00
Sergio R. Caprile
89f2e66c80
Merge pull request #1752 from cesanta/asan
...
Activate asan for mip_test
2022-09-23 09:45:18 -03:00
cpq
ebd931f7af
Get rid of va_copy
2022-09-23 08:59:02 +01:00
cpq
6a47ff6422
Activate asan for mip_test
2022-09-23 08:35:59 +01:00
cpq
1237185bb4
MIP: atomic -> volatile. Add lease time
2022-09-22 17:16:52 +01:00
Sergey Lyubka
e5b0528aca
Merge pull request #1742 from cesanta/mip-fuzz
...
Fuzzing MIP
2022-09-21 21:15:50 +01:00
cpq
a12bd2271e
Fuzzing MIP
2022-09-21 20:29:49 +01:00
Sergey Lyubka
15c5858732
Merge pull request #1746 from cesanta/dtoa
...
Fix issue #1733
2022-09-21 17:48:06 +01:00
Sergio R. Caprile
dd4227f444
Fix issue #1733
2022-09-21 11:38:39 -03:00
Sergey Lyubka
fe8a7d8db9
Merge pull request #1748 from cesanta/va_end
...
Fix issue #1735
2022-09-21 09:43:47 +01:00
Sergio R. Caprile
7a1544e76a
Fix issue #1735
2022-09-20 14:26:06 -03:00
Sergio R. Caprile
27ffc23664
Fix issue #1737
2022-09-20 13:54:17 -03:00
cpq
48800504be
Add smtp client example
2022-09-20 11:34:22 +01:00
cpq
535d8b9e02
Fix mbedtls MG_IO_WAIT case
2022-09-19 13:38:59 +01:00
cpq
82b50fd3a5
Pass MDC clock divider explicitly rather than guess
2022-09-12 23:57:04 +01:00
cpq
c718d7999f
Add MAC addr filtering to stm32 driver. Record free space in q profiler
2022-09-10 16:38:03 +01:00
Sergio R. Caprile
995f90aa49
Add irq and drop counters to qprofiler
2022-09-09 14:47:46 -03:00
cpq
fd4e1975a3
Pass long *bytes_read to MG_EV_READ
2022-09-09 17:09:18 +01:00
cpq
124ac12150
Add mbedtls support to MIP
2022-09-09 15:53:42 +01:00
cpq
a57c0f4700
Fix #1712 - JSON parsing for keys with arrays
2022-09-08 10:59:23 +01:00
Sergey Lyubka
c33116166f
Merge pull request #1720 from cesanta/qprofile
...
Add rudimentary queue profiler
2022-09-08 10:37:01 +01:00
cpq
cd30cf2d6c
Fix #1710 - free MIP in mg_mgr_free()
2022-09-08 08:53:54 +01:00
cpq
419126652e
Merge branch 'master' of github.com:cesanta/mongoose
2022-09-08 08:50:51 +01:00
cpq
06ab83dca6
Implement keep-alive, 45 sec interval. Correct ACK piggyback
2022-09-08 08:50:42 +01:00
Sergio R. Caprile
313fddf722
Add rudimentary queue profiler
...
ETH IRQ and mip_poll() can both write to the queue, so if a memcpy() is interrupted we might see some weird records.
2022-09-07 17:14:03 -03:00
Sergey Lyubka
f4def36ccb
Merge pull request #1717 from cesanta/fixmipq
...
Fix MIP Q
2022-09-07 20:59:12 +01:00
cpq
881b282604
Implement ack timer
2022-09-07 20:48:23 +01:00
Sergio R. Caprile
9675bfe07d
Fix MIP Q
2022-09-07 14:59:58 -03:00
cpq
75892cb523
Add %f to src/fmt.c
2022-09-07 15:09:52 +01:00
Sergey Lyubka
63e0041644
Merge pull request #1715 from davidhozic/feature/1714
...
Bug Fix #1714
2022-09-07 15:03:51 +01:00
cpq
b2624f6055
Make mip-pcap work on Mac
2022-09-07 13:36:00 +01:00
David Hozic
0bb8144677
Bug Fix #1714
2022-09-07 13:35:32 +02:00
cpq
1c181e091e
Add mip test
2022-09-05 15:56:03 +01:00
cpq
f9272d0959
Introduce mg_timer_expired(). Adopt DHCP and link status to use it
2022-09-03 09:45:19 +01:00
Sergio R. Caprile
a1992f5910
Re-enable sending ACKs until proper mechanism is in place
2022-09-02 20:48:30 -03:00
Sergio R. Caprile
4a1a26e8b7
Extend explanation for MDC clock
2022-09-02 15:03:46 -03:00
Sergio R. Caprile
7358ed25a5
Add CR setup, set MDC based on HCLK
2022-09-02 14:02:02 -03:00
cpq
0d385c29a3
More JSON tests
2022-09-02 16:23:39 +01:00
cpq
567fccd7ee
Refactor W5500 driver, add arduino w5500 example
2022-09-02 12:58:54 +01:00
oakfire
8131e30002
Fix mg_json_get for the array element result not as expected.
2022-09-01 15:02:17 +08:00
cpq
cf1566e116
Add more comments in json code
2022-08-31 17:59:04 +01:00
Sergey Lyubka
5d2c977029
Merge pull request #1697 from oakfire/master
...
fix : #1696 mg_json_get() bugs.
2022-08-31 17:55:12 +01:00
cpq
aefc588e6e
Unbreak win98 build
2022-08-31 08:53:22 +01:00
cpq
c131b8daf1
struct mip_ipcfg -> struct mip_cfg
2022-08-31 08:41:16 +01:00
cpq
8a61969c8f
Add struct mip_spi for SPI drivers, and skeleton for enc28j60 driver
2022-08-31 08:35:06 +01:00
oakfire
a686beb9a7
fix : #1696 mg_json_get() bugs.
2022-08-30 14:22:58 +08:00
cpq
0a265e79a6
Remove debug log and add a comment
2022-08-29 13:10:11 +01:00
cpq
7f30c01c58
Correct condition check sequence for the prev fix
2022-08-29 13:01:56 +01:00
cpq
0661f5921a
Fix #1690 - mg_json_get for keys with the same prefix
2022-08-29 12:40:50 +01:00
cpq
ef89776517
Add reponse end to the http dir list
2022-08-28 13:58:41 +01:00
cpq
dcdeffff9a
MIP refactor: use mg_hton*, move driver_data to ifp, parametrise f746 PLL setup
2022-08-27 16:45:31 +01:00
cpq
229b492ccc
Minor refactorings, reduced MG_HTTP_MAX_HEADERS 40 -> 30 to reduce stack usage
2022-08-27 12:31:43 +01:00
cpq
b73022096d
Let RPC handle responses too
2022-08-26 17:41:13 +01:00
cpq
c7b9ca68c2
Move mg_mqtt_next-* to the example, and some nits
2022-08-26 14:20:54 +01:00
cpq
d565faa75d
Make non-initialised MIP poll work
2022-08-21 23:35:24 +01:00
cpq
9c3c4a6f4b
MIP client
2022-08-20 00:03:15 +01:00
cpq
fee6de6a7f
Allow NULL head in struct mg_rpc
2022-08-19 15:08:01 +01:00
cpq
8596e1bef7
Enable FPU
2022-08-16 16:45:05 +01:00
cpq
e48e353066
Restore mg_file_write() to use tmp file
2022-08-15 16:08:34 +01:00
cpq
6b69bef2ef
mg_dtoa, mg_atod, mg_lld made static
2022-08-14 01:25:38 +01:00
cpq
d2a27d3d91
mg_*rprintf -> mg_*xprintf
2022-08-13 20:34:20 +01:00
cpq
d76f86f7db
Get rid of mg_*asprintf
2022-08-13 15:37:55 +01:00
cpq
a3bfe3e61a
Use hand-crafted packet for large WS frame test
2022-08-13 14:52:43 +01:00
cpq
da28213613
Squash warning
2022-08-13 11:36:24 +01:00
cpq
6615a821f1
Test WS frames that are larger than 64k
2022-08-13 11:16:13 +01:00
cpq
ef9f7d4c16
Change mg_ws_send: const char * -> const void *
2022-08-11 12:12:00 +01:00
Sergey Lyubka
3b112cc8c8
Merge pull request #1668 from cesanta/index.gz
...
check for gzipped index file when / is requested
2022-08-10 21:45:09 +01:00
Sergio R. Caprile
374be7b065
check for gzipped index file when / is requested
2022-08-10 15:54:24 -03:00
cpq
2ba3630de9
Remove dangerous mg_pfn_realloc(). Add %q printf specifier
2022-08-10 18:27:58 +01:00
cpq
c8c0b8fb91
Squash vc98 warn 3
2022-08-09 19:17:40 +01:00
cpq
e5585cb0e7
Squash vc98 warn 2
2022-08-09 18:58:58 +01:00
cpq
bd32f6e2ef
Squash warn on vc98
2022-08-09 15:49:54 +01:00
cpq
6149b619e7
Squash warnings
2022-08-09 12:39:40 +01:00
cpq
b7406357c5
Fix #1600 - more precise SNTP time calculation
2022-08-09 12:13:23 +01:00
cpq
4246f5d206
PATH_MAX -> MG_PATH_MAX
2022-08-06 22:26:07 +01:00
cpq
740b609e1e
Fix for deliver_normal_chunks() and a test case
2022-08-06 09:01:34 +01:00
cpq
779c825e92
Fixes to chunked support when pipelining
2022-08-05 19:18:06 +01:00
cpq
457ce5e563
Refactor chunking support. Fix #1656
2022-08-04 17:10:53 +01:00
Sergey Lyubka
51cb40acd2
Enable epoll on linux
2022-08-03 15:07:26 +01:00
Sergey Lyubka
bd7ee0d1e8
Refactor mg_http_reply and mg_http_printf_chunk to use less allocs and mem copies
2022-08-01 21:07:42 +01:00
Sergey Lyubka
17e2fdd4cb
Add align to struct mg_iobuf
2022-08-01 12:53:25 +01:00
Sergey Lyubka
a468f58128
Use int debug level
2022-08-01 11:19:32 +01:00
Sergey Lyubka
581a0698af
Expose rpc guts
2022-07-31 22:51:59 +01:00
Sergey Lyubka
f02f88f336
mg_rpc_free -> mg_rpc_del
2022-07-30 21:13:30 +01:00
Sergey Lyubka
54d6bad5e5
Refactor JSON and RPC API
2022-07-30 07:55:26 +01:00
Sergey Lyubka
56e6cf406a
Fix unamalgamated build
2022-07-28 10:47:12 +01:00
Sergey Lyubka
a2289a0625
Fix unamalgamated build
2022-07-28 10:33:44 +01:00
Sergey Lyubka
f2009ebd62
Move mg_*printf* decls in fmt.h
2022-07-28 10:18:17 +01:00
Sergey Lyubka
0dabc45780
Add RPC API
2022-07-27 00:46:05 +01:00
Sergio R. Caprile
1eed80375d
Fix MG_EOO
2022-07-22 11:50:23 -03:00
Sergey Lyubka
4a3d760c06
Add timer ID attribute, for safe cleanup in the scripted environment
2022-07-17 12:52:30 +01:00
John Brzustowski
d5fe3261f4
NTP reponse gives fractional (not micro-) seconds, per RFC5905
2022-07-13 04:08:54 -03:00
Sergey Lyubka
46af09f776
Change ff_open to explicit memcpy()
2022-07-11 18:13:46 +01:00
Sergey Lyubka
f40b272eeb
Fix #1626 - ignore @ in query string
2022-07-10 15:41:43 +01:00
Sergey Lyubka
2c01893bb1
Give more time for unit test to detect conn refused on windows
2022-07-04 19:18:20 +01:00
Sergey Lyubka
543b4a132b
Fix POLLERR usage
2022-07-04 18:25:13 +01:00
Sergey Lyubka
e4a5296fbf
Introduce c->is_mqtt5 for keeping mqtt version. Make mqtt over ws work again
2022-07-04 17:47:17 +01:00
Sergey Lyubka
6c796b8552
Fix memset in mg_iotest, add mg_random_str test
2022-07-04 16:13:38 +01:00
Sergey Lyubka
e30ad43d36
Merge pull request #1612 from cesanta/mqtt
...
Exported MQTT result codes
2022-07-04 15:15:19 +01:00
Sergey Lyubka
735b7bece6
Squash more warns
2022-07-04 11:43:52 +01:00
James Hilliard
c24343f107
util: use correct clock on OSX
...
CLOCK_MONOTONIC_RAW on OSX is not the same as CLOCK_MONOTONIC_RAW on linux
2022-07-04 04:04:43 -06:00
Sergey Lyubka
81ffcd8ee9
Fix #1616 - randomize mqtt will and client id for parallel test
2022-07-04 11:00:06 +01:00
Sergey Lyubka
432452ea9a
Fix #1615 - prefer monotonic clock. Add clock for rp2040
2022-07-04 10:08:21 +01:00
Sergey Lyubka
6c14c7d623
Unbreak mac build
2022-07-04 00:06:01 +01:00
Sergey Lyubka
dca43f430b
Fix poll support for win32
2022-07-02 12:45:44 +01:00
Sergey Lyubka
91fa2ad23b
Enable poll support on windows
2022-07-02 11:52:16 +01:00
Sergio R. Caprile
85d300ce71
Exported MQTT result codes
2022-07-01 15:32:24 -03:00
Sergey Lyubka
d6e1a3ab4c
Unbreak my heart ^W the build
2022-07-01 18:10:40 +01:00
Sergey Lyubka
f1da8542ce
Nits
2022-07-01 17:28:06 +01:00
Sergey Lyubka
a183621268
Fix ff_write() call
2022-07-01 13:22:36 +01:00
Sergey Lyubka
035de980e3
Fix ff_read() call
2022-07-01 13:18:49 +01:00
Sergey Lyubka
99f0688377
Change mg_http_upload API
2022-06-30 21:54:50 +01:00
Sergey Lyubka
56412193e7
Add mg_remove_double_dots(), hide mg_http_upload()
2022-06-30 20:27:43 +01:00
Sergey Lyubka
c5751b0bd3
Add mg_json_get_long
2022-06-30 20:03:29 +01:00
Sergey Lyubka
5b8979a0f1
Better connect() result test
2022-06-29 19:19:19 +01:00
Sergey Lyubka
89e2a15eb7
Fix build
2022-06-29 18:03:04 +01:00
Sergey Lyubka
b1896d9944
Fix typo
2022-06-29 17:57:59 +01:00
Sergey Lyubka
d0dedcfd2e
Fix build
2022-06-29 17:54:33 +01:00
Sergey Lyubka
73297c8e65
Use mg_putchar_iobuf in mg_vprintf
2022-06-29 17:42:55 +01:00
Sergey Lyubka
017c7290d6
Better error handling - report from iotest
2022-06-29 17:02:37 +01:00
Sergey Lyubka
93a6bc501e
Refactor guess_mime_type()
2022-06-29 10:28:37 +01:00
Sergey Lyubka
e8f050c194
Dont use realloc
2022-06-29 00:00:16 +01:00
Sergey Lyubka
ba08140197
Initial mqtt5 support
2022-06-28 11:31:13 +01:00
Sergey Lyubka
d65ce3b596
Add mg_rprintf, mg_vrprintf
2022-06-28 00:45:52 +01:00
Sergey Lyubka
4e880fb6e0
Nit - fix openssl error message
2022-06-23 13:11:04 +01:00
Sergey Lyubka
898e2b1e30
Add mg_json_get_hex(), mg_json_get_b64()
2022-06-22 16:28:22 +01:00
Sergey Lyubka
a68f3dc4eb
Add %V and %H specifiers for mg_snrpintf()
2022-06-22 13:15:52 +01:00
Sergey Lyubka
c446fe0c6d
Make stm32 eth declared as volatile
2022-06-21 12:11:59 +01:00