Embedded Web Server
This release fixes a security issue, reported at https://www.cvedetails.com/cve/CVE-2018-10945/
( Fix body length calculation in mg_handle_cgi
)
Add mg_url_encode_opt()
- a parametrized version of mg_url_encode()
Add MG_HIDE_SERVER_INFO
mg_file_upload_handler: Support multiple files
Add host name verification for OpenSSL
Add mg_strstrip
: trims whitespace at both ends of a string
Fix http pipelining
Fix buffer size passed to inet_ntop()
Fix an edge case in multipart HTTP upload parsing
Fix mg_http_parse_header
(treat ;
as a delimiter)
mg_lwip: Fix race during clean connection teardown
Fix a bug in mg_mgr_init_opt with opts.num_ifaces
Fix build with CS_ENABLE_STDIO=0
Fix warnings on newer versions of GCC
Fix body length calculation in mg_handle_cgi
Don't touch send_mbuf when sending MQTT messages
nonce
argument to mg_http_create_digest_auth_header()
: clients should use the value received from the server's authentication request.mg_bind
or mg_bind_opt
.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
).API changes
MG_EV_TIMER
event if it was not changed. User's handler must set it to 0 explicitly to avoid repeated invocation.FIxes
API changes:
MG_ENABLE_CALLBACK_USERDATA
- if set, changes signature of event handler function to include user_data argument. Disabled by default for now, in the future this will become the default.mg_set_nameserver()
- specify DNS server to usemg_assemble_uri()
- assemble a URI from partsmg_connect_ws()
now accepts http://
URLsBug fixes:
mg_get_http_var()
return valueA bunch of new platforms are now supported by Mongoose:
See a list of closed issues here.
Mongoose 6.6 can be built and run on STM32 microcontrollers. Check out the new example here for an MQTT Client for STM32. The example runs through how to build an MQTT client for STM32 with TI CC3100 WIFI as network module.
We’ve also added PIC32 support to Mongoose. And just as for STM32, we have a new example here for you to follow here. It runs through how an MQTT Client is intended for running on PIC32 (MX series with TI CC3100 as a network module).
We have improved the already support TI CC3200. Here, the TI Compiler on docker image was updated to version 5.8.2.
We want to make Mongoose as simple as possible to use. Check out the new API we’ve added in 6.6:
mg_http_send_redirect
- sends a redirect responsemg_http_serve_file
- serves a specific file with a given MIME type and optional extra headers.MG_F_ENABLE_BROADCAST
- new flag, allows to send broadcast messagesMG_EV_SSI_CALL_CTX
- new event, the variant of MG_EV_SSI_CALL with context of the SSI call being processed in addition to the tag argument.We mentioned the STM32 an PIC32 examples already, but they are not all! Check out these additional examples to help you get started with your embedded project:
We always improve bugs along the way between releases. If you come across anything, let us know in our forum.
hocalhost
if resolving via /etc/hosts failed. (especially useful for Windows users)We want you to be able to find all the answers you need in our documentation. That’s why we try to improve it as best we can. So you’ll see that we have more clear and structured documentation available as well as explanations for each example added directly in our documentation section.
Windows and Mac binaries are available for download from the website.
Mongoose is available under GPLv2. Commercial use requires a license, please contact us for terms.
Community support can be found on our forum. Commercial support options are available separately by contacting us.
Windows and Mac binaries are available for download from the website.
Mongoose is available under GPLv2. Commercial use requires a license, please contact us for terms.
Community support can be found on our forum. Commercial support options are available separately by contacting us.
Mongoose is available under GPLv2. Commercial use requires a license, please contact us for terms.
Community support can be found on our forum. Commercial support options are available separately by contacting us.