Commit Graph
5623 Commits
Author SHA1 Message Date
TD-er 35dec0eeab Merge branch 'mega' into feature/MQTT_TLS 2022-02-14 23:09:48 +01:00
TD-er 4b08a1afd7 [Notifiers] Fix NPlugins not showing up in build. 2022-02-14 22:42:15 +01:00
TD-er c760a054d4 [PVS-Studio] Fix some tricky code noticed by PVS Studio 2022-02-14 22:07:12 +01:00
TD-er 5cede1fbe3 [Build] Fix IR builds and ESP32 builds due to missing includes. 2022-02-14 17:51:25 +01:00
TD-er 981af66379 [Build] fix build issue using fs:: namespace 2022-02-14 16:29:13 +01:00
TD-er f527ea7800 [Build] Fix ESP32 build 2022-02-14 16:16:07 +01:00
TD-er 50f0ca0b9a [Build] Update changed lib_ignore SD library name (from SD(esp8266) ) 2022-02-14 15:35:56 +01:00
TD-er 7bc5e21d62 [Build] Add missing #include <vector> 2022-02-14 11:12:56 +01:00
TD-er d830551d11 Fix build errors due to fwd declaration and typo 2022-02-14 10:54:08 +01:00
TD-er 36b30a8b7d [Build] Make sure SDFS and LittleFS are not linked in the build
See: https://github.com/esp8266/Arduino/issues/8483
2022-02-14 09:58:24 +01:00
TD-er ce3c04f142 Merge branch 'mega' into feature/MQTT_TLS 2022-02-11 14:47:10 +01:00
TD-er e6d0d8b702 [RAM tracker] fix potential multiple calls to std::move on the same str 2022-02-11 14:22:22 +01:00
TD-er 9f19c785d5 Merge branch 'mega' into feature/MQTT_TLS 2022-02-10 23:19:55 +01:00
TD-er 80cf72fbcb [Web UI] Serve web p[age template based on head or footer part of page 2022-02-10 21:42:46 +01:00
TD-er 9d44fad64c [Sysinfo] Fix strange ESP Chip ID on sysinfo web page 2022-02-10 20:34:00 +01:00
TD-er 74b52850d2 [ESP8266 2nd heap] Reduce nr of mem allocations and use 2nd heap 2022-02-10 17:43:26 +01:00
TD-er bb3d60e3a7 [Cleanup] Simple fixes to prevent String reallocation. 2022-02-10 16:11:29 +01:00
TD-er 71963c60e3 [Memory] Free allocated memory in Strings .clear() does not free it
See: https://github.com/esp8266/Arduino/issues/8485
2022-02-10 12:20:15 +01:00
TD-er f27ac68a62 [Log] Fix freeing memory in the log struct. 2022-02-10 11:33:50 +01:00
TD-er 84854ae50c [Log] Fix cleaning up Web log buffers + buffer efficiency 2022-02-10 10:44:50 +01:00
TD-er 10cca9ca72 [Log] Call addLogMove where log Strings can be moved instead of copied
This is a macro for:
```
#define addLogMove(L, S)  addToLogMove(L, std::move(S))
```

This will then try to move the constructed string to the log buffer.
If it cannot be moved (e.g. log level is not active), the string will be cleared to free up memory.
2022-02-09 22:28:18 +01:00
TD-er ea2cc6ae0f [Log] Make sure to allocate 2nd heap when available 2022-02-09 22:25:27 +01:00
TD-er 68147368f3 [Log] Prevent String copy when adding log
By allowing to use `std::move` a number of copy operations can be reduced when handling log.
2022-02-09 15:37:02 +01:00
TD-er 7a06dc4acd [MQTT TLS] Fix missing include <vector> 2022-02-08 18:31:03 +01:00
TD-er d51ace5c10 [MQTT TLS] Fix missing include mbedtls/oid.h 2022-02-08 18:04:46 +01:00
TD-er 821af361a8 [Merge Fix] Restore P095 and P096 from mega branch
Was by accident merged in the wrong direction.
2022-02-08 17:03:29 +01:00
TD-er c23a07d62f [Webserver] Fix merge issue (MQTT TLS) 2022-02-08 14:00:00 +01:00
TD-er 7d7ca8e812 Merge remote-tracking branch 'origin/feature/MQTT_TLS' into feature/MQTT_TLS 2022-02-08 12:39:03 +01:00
TD-er a7750e8145 [MQTT TLS] Add view of certificates + option to store 2022-02-08 12:38:06 +01:00
TD-er 9f0e3cf636 [MQTT TLS] Add certificate fingerprint validation 2022-02-08 12:38:06 +01:00
TD-er 5127f006d1 [MQTT TLS] Improve controller setup page show peer certificate 2022-02-08 12:37:15 +01:00
TD-er 4bb3bbf8f3 [TLS] Making proper datastructure init 2022-02-08 12:37:15 +01:00
TD-er 3cf92b9f6f [Cleanup] Use .clear() on strings instead of assigning empty string 2022-02-08 12:37:15 +01:00
TD-er 89e9f23e2c [MQTT TLS]Display connection info on controller page 2022-02-08 12:36:33 +01:00
TD-er 97a4594fa9 [TLS] Add fix for WiFiClientSecure connection timeout 2022-02-08 12:36:33 +01:00
TD-er 40d17e0403 [TLS] Add ALPN protocol 2022-02-08 12:36:33 +01:00
TD-er df010cdae0 [Webserver] Fix serving CSS
I made an error in previous commit for this PR
2022-02-08 12:36:33 +01:00
TD-er baf705df3e [Cleanup] Fix lots of missing delete calls to free memory
In a lot of places an object was allocated on the heap, but not always it was deleted thus leading to memory leaks.
2022-02-08 12:36:33 +01:00
TD-er 57a82b1df2 [MQTT TLS] Clear CA certificate when starting a new connection
Otherwise you may not always use the latest CA root certificate stored on the file system
2022-02-08 12:33:50 +01:00
TD-er eb8d956b46 [MQTT TLS] Fix memory leak... finally 2022-02-08 12:33:50 +01:00
TD-er 5ab83c56f6 [MQTT TLS] Work-around for memory leak in MbedTLS (not finished)
There is a memory leak in Mbed TLS, when connection failed.
For example when using a CA root certificate which does not match the certificate of the host we're connecting to.
This will take about 1880 bytes of memory on each attempt.

Still a work-in-progress as it is not yet fixed.
2022-02-08 12:33:50 +01:00
TD-er 0567e79c92 [MQTT TLS] Patch CA root cert to match strict layout
Making it easier for users to copy/paste certificate code into a file. It will be patched at load from the file system.
2022-02-08 12:33:50 +01:00
TD-er 375391741b [Web] Allow to stream from file system (e.g. CSS inline)
This may prevent additional calls to load the CSS from the file system in a separate HTTP GET call and also not loading the file into memory when streaming.
2022-02-08 12:33:50 +01:00
TD-er 4ffa604c47 [MQTT TLS] Allow to load CA root cert from file 2022-02-08 12:32:00 +01:00
TD-er f3b617c897 [MQTT TLS] Add TLS support for MQTT 2022-02-08 12:30:04 +01:00
TD-er dbadb03be7 Disable P118 Itho for 2nd heap builds to make it fit 2022-02-08 00:01:49 +01:00
TD-er c936e525f1 [Cleanup] Uncrustify P118 ltho 2022-02-07 23:21:08 +01:00
TD-er 4a3476e4a0 [Webserver] Fix crashes on 1 heap setups with serving flash strings. 2022-02-07 19:44:41 +01:00
TD-er 14df8e2081 [Webserver] Use move operator when possible to prevent copy strings 2022-02-07 16:33:34 +01:00
TD-er 5dd0a4b292 [PLUGIN_READ] Do not call PLUGIN_READ when not enabled. 2022-02-07 16:32:37 +01:00