cpq
2192914cbb
Create MG_ARCH_FREERTOS, MG_ENABLE_LWIP, MG_ENABLE_FREERTOS_TCP. Remove MG_ARCH_FREERTOS_TCP, MG_ARCH_RTX_LWIP
2022-11-07 23:58:58 +00:00
cpq
f022633f29
Generalize socket constants
2022-11-05 12:33:49 +00:00
cpq
0defce37f0
Pull mongoose_custom.h
2022-11-03 12:59:55 +00:00
Sergio R. Caprile
47a12c30ca
mongoose_custom.h not pulled in when MG_ARCH=MG_ARCH_CUSTOM
2022-11-01 21:01:33 -03: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
Sergey Lyubka
03284ba046
Merge pull request #1810 from cesanta/zephyresp
...
Support Zephyr on ESP32
2022-10-25 17:22:47 +01:00
Sergio R. Caprile
c8c540b453
Improve TI-RTOS timing support
2022-10-24 11:48:54 -03:00
Sergio R. Caprile
a0585f75f7
Support Zephyr on ESP32
2022-10-21 11:44:09 -03:00
cpq
a84465ddba
Use MG_SOCK_LISTEN_BACKLOG_SIZE -> 128 for FreeRTOS-TCP
2022-10-10 13:41:07 +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
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
cpq
ebd931f7af
Get rid of va_copy
2022-09-23 08:59:02 +01:00
cpq
a12bd2271e
Fuzzing MIP
2022-09-21 20:29:49 +01:00
cpq
48800504be
Add smtp client example
2022-09-20 11:34:22 +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
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
cpq
f9272d0959
Introduce mg_timer_expired(). Adopt DHCP and link status to use it
2022-09-03 09:45:19 +01:00
cpq
567fccd7ee
Refactor W5500 driver, add arduino w5500 example
2022-09-02 12:58:54 +01:00
cpq
83c76bdafc
Make mongoose_custom.h a local include, for Arduino builds
2022-08-31 18:20:34 +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
cpq
44efa45d75
7.8
2022-08-28 14:11:08 +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
c7b9ca68c2
Move mg_mqtt_next-* to the example, and some nits
2022-08-26 14:20:54 +01:00
cpq
786e118f06
Include mongoose_custom.h early to allow overrides
2022-08-20 18:26:29 +01:00
cpq
9c3c4a6f4b
MIP client
2022-08-20 00:03:15 +01:00
cpq
6ad7af54dc
Fix docs, nits to freertos includes
2022-08-14 23:46:33 +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
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
cpq
2ba3630de9
Remove dangerous mg_pfn_realloc(). Add %q printf specifier
2022-08-10 18:27:58 +01:00
cpq
e8289ec17d
Fix #1648 - set MG_PATH_MAX to FILENAME_MAX on windows and unix
2022-08-06 22:19:55 +01:00
cpq
779c825e92
Fixes to chunked support when pipelining
2022-08-05 19:18:06 +01:00
Sergey Lyubka
51cb40acd2
Enable epoll on linux
2022-08-03 15:07:26 +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
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
Sergey Lyubka
4a3d760c06
Add timer ID attribute, for safe cleanup in the scripted environment
2022-07-17 12:52:30 +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
e30ad43d36
Merge pull request #1612 from cesanta/mqtt
...
Exported MQTT result codes
2022-07-04 15:15:19 +01:00
Sergey Lyubka
2ccc4acf34
Squash warns for rp2040 builds
2022-07-04 11:10:08 +01:00
Sergey Lyubka
81ffcd8ee9
Fix #1616 - randomize mqtt will and client id for parallel test
2022-07-04 11:00:06 +01:00
Sergey Lyubka
30126072dc
Add MG_ARCH_RP2040
2022-07-03 23:00:15 +01:00
Sergio R. Caprile
85d300ce71
Exported MQTT result codes
2022-07-01 15:32:24 -03:00
Sergey Lyubka
d6e1a3ab4c
Unbreak my heart ^W the build
2022-07-01 18:10:40 +01:00
Sergey Lyubka
f1da8542ce
Nits
2022-07-01 17:28:06 +01:00
Sergey Lyubka
99f0688377
Change mg_http_upload API
2022-06-30 21:54:50 +01:00
Sergey Lyubka
56412193e7
Add mg_remove_double_dots(), hide mg_http_upload()
2022-06-30 20:27:43 +01:00
Sergey Lyubka
c5751b0bd3
Add mg_json_get_long
2022-06-30 20:03:29 +01:00
Sergey Lyubka
2536865c4d
Fix freertos-tcp build
2022-06-29 19:39:36 +01:00
Sergey Lyubka
73297c8e65
Use mg_putchar_iobuf in mg_vprintf
2022-06-29 17:42:55 +01:00
Sergey Lyubka
ba08140197
Initial mqtt5 support
2022-06-28 11:31:13 +01:00
Sergey Lyubka
d65ce3b596
Add mg_rprintf, mg_vrprintf
2022-06-28 00:45:52 +01:00
Sergey Lyubka
898e2b1e30
Add mg_json_get_hex(), mg_json_get_b64()
2022-06-22 16:28:22 +01:00
Sergey Lyubka
4246e6c768
Fix #1599
2022-06-21 12:07:00 +01:00
Sergey Lyubka
9760b7c9d6
Add mg_log_set_fn(), MG_ENABLE_LOG
2022-06-19 09:04:22 +01:00
Sergey Lyubka
1640287897
Add mg_http_var
2022-06-18 04:25:11 +01:00
Sergey Lyubka
67280724ba
Remove pragma
2022-06-11 19:05:07 +01:00
Sergey Lyubka
d8a4b5aa34
Make mip MSVC friendly
2022-06-11 18:54:32 +01:00
Sergey Lyubka
d3368e4aad
Move mip into mip/
2022-06-11 17:29:45 +01:00
Sergey Lyubka
33567bab41
Add %g support to mg_snprintf()
2022-06-10 09:38:36 +01:00
Sergey Lyubka
106662b1d7
Add JSON API
2022-06-09 17:17:33 +01:00
Sergey Lyubka
b73115c002
Unbreak build
2022-06-08 22:09:11 +01:00
Sergey Lyubka
cac7f653c9
Add mg_ws_printf()
2022-06-05 14:59:50 +01:00
Sergey Lyubka
0763146254
Fix #1476 - introduce c->is_full to cap the recv buf len for streaming connections
2022-06-03 11:37:35 +01:00
Sergey Lyubka
a88ea776a9
Change MG_MAX_RECV_BUF_SIZE -> MG_MAX_RECV_SIZE
2022-06-02 13:50:44 +01:00
Sergey Lyubka
4dd1891594
Add mg_http_serve_opts.page404
2022-05-31 23:44:03 +01:00
Sergey Lyubka
27e1472d88
Merge pull request #1568 from behnejad/master
...
adding new api to enable separation of query string with '&'.
2022-05-31 18:25:12 +01:00
Sergey Lyubka
a3d63c095a
Handle #1562 - add udp/tcp extra param to mg_mkpipe()
2022-05-31 18:23:32 +01:00
Hooman Behnejad
499401d457
adding mg_split function
2022-05-31 14:11:14 +04:30
Sergey Lyubka
f5af28c886
More SNtp debug 10
2022-05-27 22:26:17 +01:00
Sergey Lyubka
7850b550d8
Unbreak test
2022-05-26 11:18:36 +01:00
Sergey Lyubka
10596a8bdc
Proper TLS handling for poll(). Make poll() default on linux
2022-05-26 08:55:28 +01:00
Sergey Lyubka
252e4715d4
Merge pull request #1561 from vkoskiv/add-poll
...
Add optional poll() implementation under MG_ENABLE_POLL define
2022-05-26 07:53:02 +01:00
Valtteri Koskivuori
420b989adb
Add optional poll() implementation under MG_ENABLE_POLL
...
This adds the ability to substitute select() with poll() on supported
unix environments when MG_ENABLE_POLL is defined. A make flag called
USE_POLL is provided as well.
Using poll() removes the limitation of FD_SETSIZE concurrent sockets,
generally 1024 on Linux environments.
2022-05-26 06:00:27 +03:00
Sergey Lyubka
4139cdaf35
Remove poll() support
2022-05-26 02:07:37 +01:00
Sergey Lyubka
1fd65c77fe
Enhance fs docs
2022-05-25 13:28:25 +01:00
Sergey Lyubka
2bfc838614
Fix build
2022-05-25 11:18:54 +01:00
Sergey Lyubka
5b448ec7a6
Integrate #1561 with some minor tweaks - add MG_ENABLE_POLL for poll() support
2022-05-25 11:14:12 +01:00
Sergey Lyubka
7e2ca72310
Remove mg_log_set_callback. Use MG_PUTCHAR macro instead
2022-05-20 09:45:17 +01:00
Sergey Lyubka
7c17c806ad
7.6 -> 7.7
2022-05-19 11:44:32 +01:00
Sergey Lyubka
8e0f529a00
Add MIP - an experimental TCP/IP stack
2022-05-18 21:19:21 +01:00
Sergey Lyubka
25806e48dc
Fix ESP32 build
2022-05-16 11:54:26 +01:00
Sergey Lyubka
f5fd176b35
Increate SNTP timeout 3s->5s. Change mg_sntp_send() to mg_sntp_request(), remove one unnecessary parameter
2022-05-15 18:41:01 +01:00
Alex Alashkin
0ed7545947
Add TI support
2022-05-15 19:25:50 +03:00
Sergey Lyubka
cf7d1d8041
Address #1551 - better timers handling
2022-05-15 14:29:34 +01:00
Sergey Lyubka
0294603dfc
MG_ARCH_RTX nits
2022-05-12 15:07:02 +01:00
Sergey Lyubka
31ce219544
Add MG_ARCH_RTX
2022-05-12 08:07:51 +01:00
Sergey Lyubka
86cd567968
Nit - use quotes, not brackets for custom arch
2022-05-11 21:14:44 +01:00
Sergey Lyubka
5271626947
Disable SSI by default
2022-05-08 21:54:15 +01:00
Sergey Lyubka
bc16854ccb
Get rid of MG_ENABLE_LOG, change mg_hexdump()
2022-05-06 21:09:13 +01:00
Sergey Lyubka
b5fc0d30a8
Add extraconnsize
2022-05-04 17:18:35 +01:00
Sergey Lyubka
38557aac7f
Add MG_ARCH_NEWLIB
2022-05-01 13:47:33 +01:00
Sergey Lyubka
d621fbfab1
Remove unused macros
2022-05-01 08:18:18 +01:00
Sergey Lyubka
f19eec7fae
Refactor multithreading API
2022-04-25 14:56:15 +01:00
Sergey Lyubka
a7cbc19755
Fix #1532 - improve ipv6 DNS lookup
2022-04-22 20:44:53 +01:00
Sergey Lyubka
ebd2e89faa
Handle #1522 - Fix TLS buffering
2022-04-13 10:48:17 +01:00
Sergey Lyubka
ef44f90491
Fix #1520 - move state to struct mg_mgr
2022-04-12 14:14:55 +01:00
Sergey Lyubka
66376885e9
Fix #1521 - add mg_tou64()
2022-04-12 10:20:43 +01:00
Sergey Lyubka
db941e2627
Fix #1519 - make opts structs in API calls const
2022-04-12 10:04:55 +01:00
Sergey Lyubka
a1ec179229
Use uint64_t for uptime in millis, not int64_t
2022-04-07 13:50:25 +01:00
Sergey Lyubka
b20eded30e
Fix ESP32 example
2022-04-05 12:54:20 +01:00
Sergey Lyubka
0ed64707f3
Introduce MG_ENABLE_CUSTOM_MILLIS
2022-04-04 18:14:59 +01:00
Sergey Lyubka
4474ada291
Fix #1505 : let mg_wakeup() return status
2022-04-03 00:17:31 +01:00
Sergey Lyubka
d954851d43
Drop CRL from mbedTLS integration - let customer do a custom init if required
2022-04-01 16:42:41 +01:00
Sergey Lyubka
7372a05ce5
Add initial Zephyr support
2022-03-30 07:56:44 +01:00
Sergey Lyubka
642befa8d5
Remove unused mg_hmac_sha1()
2022-03-22 13:30:25 +00:00
Sergey Lyubka
6c021765bb
Merge pull request #1479 from zudwalex/infineon_rtx_support
...
Add RTX-RTOS support
2022-03-18 09:18:49 +00:00
Sergey Lyubka
1125b1f545
Fix #1490 - add winerror.h to fix old mingw build
2022-03-15 10:10:08 +00:00
Sergey Lyubka
139f928731
Fix #1481 - use stricter compilation flags
2022-03-06 14:31:42 +00:00
Alex Alashkin
412f5cf3e0
Add RTX-RTOS support
2022-02-23 19:56:37 +02:00
Sergey Lyubka
8c78b7ef53
Refactor mg_alloc_conn()
2022-02-23 10:51:01 +00:00
Sergey Lyubka
c650fdcdfc
Move mg_listen() to net.c
2022-02-23 03:06:02 +00:00
Sergey Lyubka
e99973d4b7
Introduce local address
2022-02-22 22:00:55 +00:00
Sergey Lyubka
3a249183f8
Factor out mg_alloc_conn()
2022-02-22 21:14:29 +00:00
Sergey Lyubka
113abc71d4
Add SPDX identifier. Fix #1387
2022-02-22 18:13:06 +00:00
Sergey Lyubka
e69ec148cc
Better mbedtls debug
2022-02-19 13:46:07 +00:00
Sergey Lyubka
4fec149345
Disable dirlist by default
2022-02-14 11:32:01 +00:00
Sergey Lyubka
5bc164de76
Remove MG_ENABLE_DIRLIST
2022-02-14 11:19:24 +00:00
Sergey Lyubka
969b84043c
Fix #1465 - rename LL_* constants, introduce MG_* log macros
2022-02-12 18:17:25 +00:00
Sergey Lyubka
da72dafbfb
Fix #1462 - add helper function for getting HTTP response status code.
2022-02-12 16:51:37 +00:00
Sergey Lyubka
1adf7f6b2b
Handle #1463 - add missing includes for windows
2022-02-12 16:43:08 +00:00
Sergey Lyubka
313ac34e59
Handle minus in the fmt spec
2022-02-11 11:02:06 +00:00
Sergey Lyubka
54f75889fa
Using mg_snprintf() everywhere
2022-02-10 17:11:03 +00:00
Sergey Lyubka
f64c86d23f
Use mg_snprintf()
2022-02-10 11:56:55 +00:00
Sergey Lyubka
8cd4699dbc
Rename FS API functions to avoid conflicts
2022-02-08 13:36:04 +00:00
Sergey Lyubka
63b880e624
Handle #1459 - deprecate mg_globmatch, introduce mg_match()
2022-01-29 11:03:54 +00:00
Sergey Lyubka
32f3c48b65
Fix FreeBSD build
2022-01-24 02:20:45 +00:00
Sergey Lyubka
544644e94b
Refactor - always enable LOG macro. Enhance iolog
2022-01-23 06:10:14 +00:00
Sergey Lyubka
1b82aa02aa
7.5 -> 7.6
2022-01-21 12:41:52 +00:00
Sergey Lyubka
e565a7e73d
Fix #1453 - do not allow empty wakeup buffer
2022-01-21 12:35:28 +00:00
Sergey Lyubka
226917e1cd
Use mg_str, not pointers, in mg_mqtt_{sub,pub}
2022-01-19 09:57:27 +00:00
Sergey Lyubka
fe813ee247
Add buf,len params to mg_mgr_wakeup()
2022-01-19 09:25:01 +00:00
Sergey Lyubka
4cd830a0bf
Improve ff_write - save large blocks in chunks
2022-01-19 08:43:34 +00:00
Sergey Lyubka
1259ca9ac9
Add missing mkdir() on ARM targets
2022-01-18 19:31:10 +00:00