The ASAN build fails with
```
cookie_auth.c:62:7: error: variable 'ret' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
if (cookie_header == NULL) goto clean;
^~~~~~~~~~~~~~~~~~~~~
cookie_auth.c:84:10: note: uninitialized use occurs here
return ret;
^~~
cookie_auth.c:62:3: note: remove the 'if' if its condition is always false
if (cookie_header == NULL) goto clean;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cookie_auth.c:65:3: note: variable 'ret' is declared here
struct session *ret = NULL;
^
cookie_auth.c:62:7: error: variable 'ssid' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
if (cookie_header == NULL) goto clean;
^~~~~~~~~~~~~~~~~~~~~
cookie_auth.c:81:7: note: uninitialized use occurs here
if (ssid != ssid_buf) {
^~~~
cookie_auth.c:62:3: note: remove the 'if' if its condition is always false
if (cookie_header == NULL) goto clean;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cookie_auth.c:64:3: note: variable 'ssid' is declared here
char *ssid = ssid_buf;
^
2 errors generated.
```
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
* ARM
* Provide MSP and PSP
* Provide FreeRTOS task info
* Profide target specification XML (extra regs and FPU / no FPU Cortex cores)
* ESP32
* Use uxTaskGetSystemState instead of uxTaskGetTaskHandles
* General cleanup and refactoring
CL: Core dump analysis improvements
PUBLISHED_FROM=3297ffb2e6069a3a6a598367273bc2183063cf1e
All the platforms except esp32 (which uses heavily patched 9.0 from IDF) and esp8266 (doesn't use RTOS at all) are using the same version of FreeRTOS now.
CL: Make FreeRTOS a library, upgrade to 10.2.0
PUBLISHED_FROM=a4f7949a9f1546d23fc183412445859830f02d1a
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
Use old baud rate and autodetected divider to calculate new divider.
This works better with higher baud rates and drifting clocks.
CL: mos: Improve ESP flasher baud rate setting
PUBLISHED_FROM=7761e756c3ae7cc76e3b9a4fe3e40d06a779b2e8
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
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
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
Replacement for fw_meta.py commands and also supports unbundling .hex files.
General syntax is:
```
$ mos create-fw-bundle -o fw.zip part1:prop1=val1,prop2=val2,... part2:...
```
Example of building a mos fw bundle for ESP8266:
```
$ mos create-fw-bundle -o fw.zip --platform esp8266 --build-info=build_info.json \
boot:addr=0x0,src=rboot.bin,update=false \
boot_cfg:addr=0x7000,size=0x1000,fill=0xff \
fw:addr=0x100000,src=demo-c.bin \
fs:src=fs.bin,type=fs,addr=0x8000,fs_size=262144,fs_block_size=4096,fs_page_size=256,fs_erase_size=4096
```
Example of converting a HEX file to a bundle:
```
$ mos create-fw-bundle -o fw.zip host:type=host,src=hostfw.hex
```
CL: mos: Add create-fw-bundle command
PUBLISHED_FROM=35f52ea53e4b5900463415257323a4c08cf45deb