Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MQTT TLS] Add TLS support for MQTT #3788

Merged
merged 257 commits into from
Oct 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
257 commits
Select commit Hold shift + click to select a range
e9fdc3b
Merge branch 'mega' into feature/MQTT_TLS
TD-er Oct 24, 2021
1a2e671
Merge branch 'mega' into feature/MQTT_TLS
TD-er Oct 26, 2021
93b0c6d
[MQTT TLS] Allow to load CA root cert from file
TD-er Nov 4, 2021
921c0f8
[Web] Allow to stream from file system (e.g. CSS inline)
TD-er Nov 4, 2021
596a739
[MQTT TLS] Patch CA root cert to match strict layout
TD-er Nov 4, 2021
e006c19
[MQTT TLS] Work-around for memory leak in MbedTLS (not finished)
TD-er Nov 4, 2021
b9b7e45
[MQTT TLS] Fix memory leak... finally
TD-er Nov 4, 2021
53fadc5
[MQTT TLS] Clear CA certificate when starting a new connection
TD-er Nov 4, 2021
6ca2c6f
[Cleanup] Fix lots of missing delete calls to free memory
TD-er Nov 4, 2021
c993904
[Webserver] Fix serving CSS
TD-er Nov 4, 2021
3617326
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 5, 2021
dd774da
[TLS] Add ALPN protocol
TD-er Nov 6, 2021
eca6308
[TLS] Add fix for WiFiClientSecure connection timeout
TD-er Nov 6, 2021
c909eaa
[MQTT TLS]Display connection info on controller page
TD-er Nov 6, 2021
fc22043
[Cleanup] Use .clear() on strings instead of assigning empty string
TD-er Nov 6, 2021
c8d56be
[TLS] Making proper datastructure init
TD-er Nov 7, 2021
d801c36
[MQTT TLS] Improve controller setup page show peer certificate
TD-er Nov 7, 2021
02df54b
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 18, 2021
21e91c4
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 22, 2021
8af28b8
[MQTT TLS] Add certificate fingerprint validation
TD-er Nov 25, 2021
900aac1
[MQTT TLS] Add view of certificates + option to store
TD-er Nov 29, 2021
aebb6ea
Merge branch 'mega' into feature/MQTT_TLS
TD-er Dec 27, 2021
78d5f08
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jan 7, 2022
1ac63f0
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jan 9, 2022
0574ddf
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jan 21, 2022
9ddd1e5
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jan 23, 2022
94ab0fd
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jan 29, 2022
f3b617c
[MQTT TLS] Add TLS support for MQTT
TD-er Sep 25, 2021
3046533
[MQTT TLS] Add cert.py to extract certificate info
TD-er Oct 19, 2021
4ffa604
[MQTT TLS] Allow to load CA root cert from file
TD-er Nov 4, 2021
3753917
[Web] Allow to stream from file system (e.g. CSS inline)
TD-er Nov 4, 2021
0567e79
[MQTT TLS] Patch CA root cert to match strict layout
TD-er Nov 4, 2021
5ab83c5
[MQTT TLS] Work-around for memory leak in MbedTLS (not finished)
TD-er Nov 4, 2021
eb8d956
[MQTT TLS] Fix memory leak... finally
TD-er Nov 4, 2021
57a82b1
[MQTT TLS] Clear CA certificate when starting a new connection
TD-er Nov 4, 2021
baf705d
[Cleanup] Fix lots of missing delete calls to free memory
TD-er Nov 4, 2021
df010cd
[Webserver] Fix serving CSS
TD-er Nov 4, 2021
40d17e0
[TLS] Add ALPN protocol
TD-er Nov 6, 2021
97a4594
[TLS] Add fix for WiFiClientSecure connection timeout
TD-er Nov 6, 2021
89e9f23
[MQTT TLS]Display connection info on controller page
TD-er Nov 6, 2021
3cf92b9
[Cleanup] Use .clear() on strings instead of assigning empty string
TD-er Nov 6, 2021
4bb3bbf
[TLS] Making proper datastructure init
TD-er Nov 7, 2021
5127f00
[MQTT TLS] Improve controller setup page show peer certificate
TD-er Nov 7, 2021
9f0e3cf
[MQTT TLS] Add certificate fingerprint validation
TD-er Nov 25, 2021
a7750e8
[MQTT TLS] Add view of certificates + option to store
TD-er Nov 29, 2021
7d7ca8e
Merge remote-tracking branch 'origin/feature/MQTT_TLS' into feature/M…
TD-er Feb 8, 2022
c23a07d
[Webserver] Fix merge issue (MQTT TLS)
TD-er Feb 8, 2022
821af36
[Merge Fix] Restore P095 and P096 from mega branch
TD-er Feb 8, 2022
d51ace5
[MQTT TLS] Fix missing include mbedtls/oid.h
TD-er Feb 8, 2022
7a06dc4
[MQTT TLS] Fix missing include <vector>
TD-er Feb 8, 2022
9f19c78
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 10, 2022
ce3c04f
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 11, 2022
35dec0e
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 14, 2022
a733d50
Merge branch 'mega' into feature/MQTT_TLS
TD-er Mar 30, 2022
e9e50bc
Merge branch 'mega' into feature/MQTT_TLS
TD-er Mar 31, 2022
e1b5184
Merge branch 'mega' into feature/MQTT_TLS
TD-er Apr 1, 2022
7d1a458
Merge branch 'mega' into feature/MQTT_TLS
TD-er Apr 2, 2022
dcac800
Merge branch 'mega' into feature/MQTT_TLS
TD-er Apr 7, 2022
4b7aca6
Merge branch 'mega' into feature/MQTT_TLS
TD-er Apr 22, 2022
90b06ea
[Build] Fix merge issue.
TD-er Apr 22, 2022
cd8473e
Merge branch 'mega' into feature/MQTT_TLS
TD-er Apr 23, 2022
570e4db
Merge branch 'mega' into feature/MQTT_TLS
TD-er Apr 26, 2022
37c25c2
Merge branch 'mega' into feature/MQTT_TLS
TD-er Apr 26, 2022
343eec3
Merge branch 'mega' into feature/MQTT_TLS
TD-er Apr 27, 2022
f76cfa9
Merge branch 'mega' into feature/MQTT_TLS
TD-er May 2, 2022
eec2a4e
[MQTT TLS] Fix build issues
TD-er May 2, 2022
2f184fe
Merge branch 'mega' into feature/MQTT_TLS
TD-er May 3, 2022
2e19fc2
Merge branch 'mega' into feature/MQTT_TLS
TD-er May 16, 2022
9453d63
Merge branch 'mega' into feature/MQTT_TLS
TD-er May 17, 2022
13c9b17
Merge branch 'mega' into feature/MQTT_TLS
TD-er May 17, 2022
81fdbc4
Merge branch 'mega' into feature/MQTT_TLS
TD-er May 19, 2022
af97069
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jun 11, 2022
272c755
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jun 12, 2022
a63fc97
[MQTT TLS] Disable fingerprint verify on ESP8266 as not implemented
TD-er Jun 12, 2022
3b3ac15
[MQTT TLS] Disable USE_MQTT_TLS for LIMIT_BUILD_SIZE and 1M builds
TD-er Jun 12, 2022
ff7f867
[MQTT TLS] Disable TLS for ESP8266 completely
TD-er Jun 12, 2022
8902d54
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jun 15, 2022
630a6b3
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jun 23, 2022
8b87b2d
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jun 25, 2022
55bf754
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jun 29, 2022
fbad249
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jul 14, 2022
bfb4810
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jul 18, 2022
d7e40fc
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jul 18, 2022
1595f38
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jul 22, 2022
7f57255
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jul 25, 2022
c78785a
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jul 27, 2022
eae27f6
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jul 28, 2022
7b55393
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jul 29, 2022
6c558aa
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jul 29, 2022
b7ceec6
Merge branch 'mega' into feature/MQTT_TLS
TD-er Aug 5, 2022
76cbc48
Merge branch 'mega' into feature/MQTT_TLS
TD-er Aug 7, 2022
d90217c
Merge branch 'mega' into feature/MQTT_TLS
TD-er Aug 8, 2022
5945846
Merge branch 'mega' into feature/MQTT_TLS
TD-er Aug 12, 2022
b9c0b7a
Merge branch 'mega' into feature/MQTT_TLS
TD-er Aug 21, 2022
a883d3e
Merge branch 'mega' into feature/MQTT_TLS
TD-er Aug 25, 2022
fdf6c61
Merge branch 'mega' into feature/MQTT_TLS
TD-er Aug 27, 2022
ea9eb99
Merge branch 'mega' into feature/MQTT_TLS
TD-er Aug 30, 2022
b962694
Merge branch 'mega' into feature/MQTT_TLS
TD-er Sep 2, 2022
20f51b3
Merge branch 'mega' into feature/MQTT_TLS
TD-er Sep 2, 2022
a61e6b3
Merge branch 'mega' into feature/MQTT_TLS
TD-er Oct 16, 2022
1a10561
[MQTT TLS] Rename USE_MQTT_TLS to FEATURE_MQTT_TLS
TD-er Oct 16, 2022
47233d5
[MQTT TLS] Resize certificate info textareas
TD-er Oct 16, 2022
80c189d
[MQTT TLS] Fix layout controller page
TD-er Oct 16, 2022
7261869
Merge remote-tracking branch 'letscontrolit/mega' into feature/MQTT_TLS
TD-er Oct 16, 2022
9661259
[MQTT TLS] Cleanup, reducing build size when no MQTT TLS is set
TD-er Oct 16, 2022
ade708f
Merge remote-tracking branch 'letscontrolit/mega' into feature/MQTT_TLS
TD-er Oct 16, 2022
c4a88fe
[Build] Disable ext. RTC on limited build size builds
TD-er Oct 16, 2022
746acfd
Merge branch 'mega' into feature/MQTT_TLS
TD-er Oct 16, 2022
6a159bf
[Build] Reduce bin size by excluding libs from 1M builds
TD-er Oct 17, 2022
c0bb2c5
Merge remote-tracking branch 'origin/feature/MQTT_TLS' into feature/M…
TD-er Oct 17, 2022
95fce7b
Merge branch 'mega' into feature/MQTT_TLS
TD-er Oct 17, 2022
1e6834a
Merge branch 'mega' into feature/MQTT_TLS
TD-er Oct 17, 2022
7a4d731
Merge branch 'mega' into feature/MQTT_TLS
TD-er Oct 18, 2022
354598b
Merge branch 'mega' into feature/MQTT_TLS
TD-er Oct 23, 2022
750fe6f
[GPS] Fix set system time via GPS
TD-er Oct 25, 2022
fd79843
[MQTT TLS] Add MQTT TLS feature to ESP32 MAX builds
TD-er Oct 25, 2022
0f3e1b8
Merge branch 'mega' into feature/MQTT_TLS
TD-er Oct 26, 2022
86548c4
[GPS] Use custom GPS view of plugin stats data
TD-er Oct 27, 2022
dc4f924
Merge branch 'mega' into feature/MQTT_TLS
TD-er Oct 27, 2022
f3fdb2a
Merge branch 'mega' into feature/MQTT_TLS
TD-er Oct 27, 2022
67af44b
Merge branch 'mega' into feature/MQTT_TLS
TD-er Oct 27, 2022
be4c717
Merge branch 'mega' into feature/MQTT_TLS
TD-er Oct 29, 2022
7f1fca7
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 2, 2022
75f0910
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 3, 2022
a9062b9
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 5, 2022
f7c8e07
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 6, 2022
11a6ea4
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 7, 2022
03e8108
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 8, 2022
8b5348d
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 9, 2022
82de769
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 14, 2022
e1cf509
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 21, 2022
44b7013
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 22, 2022
0b150d1
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 24, 2022
afdf6c6
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 25, 2022
786a4e2
Merge branch 'mega' into feature/MQTT_TLS
TD-er Dec 8, 2022
d5c1d5f
Merge branch 'mega' into feature/MQTT_TLS
TD-er Dec 9, 2022
b5fd21e
[MQTT TLS] Fix crashes due to null pointer dereference.
TD-er Dec 14, 2022
95efb7c
[Controller] Allow system variables in controller username
TD-er Dec 14, 2022
ff94c30
Merge branch 'mega' into feature/MQTT_TLS
TD-er Dec 16, 2022
c81ff58
Merge branch 'mega' into feature/MQTT_TLS
TD-er Dec 23, 2022
8c91f14
Merge branch 'mega' into feature/MQTT_TLS
TD-er Dec 25, 2022
c8cb2e0
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jan 10, 2023
25874e1
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jan 13, 2023
d39d1d3
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jan 18, 2023
73dd096
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jan 19, 2023
ce2efd0
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jan 20, 2023
50e5100
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jan 26, 2023
63a0854
[Cache Reader] Add intended nr of 'samples' per bulk message
TD-er Jan 29, 2023
de4a154
[Cache Reader] Cleanup Export dump to CSV & fix separator
TD-er Feb 1, 2023
b836654
[Cache Reader] Allow bulk dump CSV to MQTT
TD-er Feb 1, 2023
2cc6c7d
[Cache Reader] Fix serving 'last line' of stored data
TD-er Feb 1, 2023
7a4eea1
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 1, 2023
4c20467
[Cache Reader] Send bulk taskinfo in either CSV or JSON, using settings
TD-er Feb 1, 2023
dd894c7
Merge remote-tracking branch 'origin/feature/MQTT_TLS' into feature/M…
TD-er Feb 1, 2023
7205606
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 6, 2023
6275390
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 13, 2023
cdddd97
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 13, 2023
bb9b2b3
[TaskRun] Reschedule task to set Interval
TD-er Feb 13, 2023
b4ae2c2
[TaskRun] Cleanup code
TD-er Feb 13, 2023
c41a220
[Build] Cleanup code + reduce build size
TD-er Feb 13, 2023
c8e9743
[TaskRun] Fix new command ScheduleTaskRun
TD-er Feb 13, 2023
4aff637
[Cleanup] Simplify generating task events
TD-er Feb 13, 2023
d0434c0
[Cleanup] Reduce build size by omitting some conversions
TD-er Feb 14, 2023
5143eee
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 14, 2023
bb52583
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 16, 2023
6004375
[ADC] Add config commands to set calibration
TD-er Feb 16, 2023
5772a4d
[ADC] Document new ADC set calibration commands
TD-er Feb 17, 2023
d19d5dc
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 17, 2023
70b4853
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 19, 2023
e3b4017
[SenseAir] Fix reading error state from sensor
TD-er Feb 21, 2023
6ce446c
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 22, 2023
166e190
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 28, 2023
1596e46
Merge branch 'mega' into feature/MQTT_TLS
TD-er Feb 28, 2023
25fec56
Merge branch 'mega' into feature/MQTT_TLS
TD-er Mar 2, 2023
fa05391
Merge branch 'mega' into feature/MQTT_TLS
TD-er Mar 7, 2023
5df1ec9
Merge branch 'mega' into feature/MQTT_TLS
TD-er Mar 8, 2023
fca9ffe
Merge branch 'mega' into feature/MQTT_TLS
TD-er Mar 8, 2023
dddf2c4
Merge remote-tracking branch 'letscontrolit/mega' into feature/MQTT_TLS
TD-er Mar 9, 2023
e515ecc
[Provisioning] Fix setting allowed file types to download via rules
TD-er Mar 14, 2023
b178329
Revert accidentally committed pre_custom_esp32.py
TD-er Mar 14, 2023
d388130
[Provisioning] Fix cache and mDNS updates after provisioning
TD-er Mar 16, 2023
24818ab
[SenseAir] Add more sensor info + begin implementing setting ABC
TD-er Mar 16, 2023
60ebf8a
[Provisioning] Only allow downloading firmware update from set host
TD-er Mar 16, 2023
df70c60
[Cache Reader] Add option to delete files after upload
TD-er Mar 16, 2023
0104c73
Merge branch 'mega' into feature/MQTT_TLS
TD-er Mar 23, 2023
57d7865
Merge branch 'mega' into feature/MQTT_TLS
TD-er Mar 31, 2023
4449db3
Merge branch 'mega' into feature/MQTT_TLS
TD-er Apr 1, 2023
fe3c125
Merge branch 'mega' into feature/MQTT_TLS
TD-er Apr 5, 2023
80902c2
[SenseAir] Temperature is 2-complement signed value
TD-er Apr 6, 2023
01dbaa6
[SenseAir] Fix reading temperature on non-S8 sensors
TD-er Apr 7, 2023
a182bdb
Merge branch 'mega' into feature/MQTT_TLS
TD-er Apr 9, 2023
8e66d61
Merge branch 'mega' into feature/MQTT_TLS
TD-er Apr 16, 2023
6253f44
[SenseAir] Keep SenseAir code in sync with PR #4550
TD-er Apr 16, 2023
8d91d83
Merge branch 'mega' into feature/MQTT_TLS
TD-er May 5, 2023
2b9922b
Merge branch 'mega' into feature/MQTT_TLS
TD-er May 7, 2023
a6ca66a
Merge branch 'mega' into feature/MQTT_TLS
TD-er May 10, 2023
cfeb842
Merge branch 'mega' into feature/MQTT_TLS
TD-er May 13, 2023
1813375
Merge branch 'mega' into feature/MQTT_TLS
TD-er May 30, 2023
4d39938
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jun 1, 2023
1bc3922
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jun 5, 2023
fde3f97
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jun 14, 2023
9ed0d9d
[ESP32 IDF] Update to IDF 4.4.5 (2023-06-14)
TD-er Jun 14, 2023
c2995ac
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jun 21, 2023
00b40c1
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jun 22, 2023
f42e1ae
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jun 22, 2023
a1e046b
Merge branch 'mega' into feature/MQTT_TLS
TD-er Aug 8, 2023
4f8cfd6
[Build] Fix merge issues
TD-er Aug 8, 2023
1527732
[Build] Fix merge issues MQTT TLS
TD-er Aug 8, 2023
14fa635
Merge branch 'mega' into feature/MQTT_TLS
TD-er Aug 24, 2023
f8869d7
Merge branch 'mega' into feature/MQTT_TLS
TD-er Sep 2, 2023
8bf0d82
Merge branch 'mega' into feature/MQTT_TLS
TD-er Sep 6, 2023
c2ffcfb
Merge branch 'mega' into feature/MQTT_TLS
TD-er Sep 6, 2023
82fe969
[MQTT TLS] Add MQTT import to Custom ESP32
TD-er Sep 8, 2023
e387cd3
Merge branch 'mega' into feature/MQTT_TLS
TD-er Sep 21, 2023
a839c1a
Merge branch 'mega' into feature/MQTT_TLS
TD-er Sep 21, 2023
9d7de5b
[MQTT TLS] Fix merge issues
TD-er Sep 21, 2023
6af29a7
[MQTT TLS] Fix static_assert check after update with 'mega' branch
TD-er Sep 22, 2023
d997321
Merge branch 'mega' into feature/MQTT_TLS
TD-er Sep 30, 2023
af3e92e
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 27, 2023
61a3c99
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 27, 2023
c6513aa
Merge branch 'mega' into feature/MQTT_TLS
TD-er Nov 27, 2023
4f4ff87
Merge branch 'mega' into feature/MQTT_TLS
TD-er Dec 25, 2023
8b992eb
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jul 13, 2024
1256cfb
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jul 15, 2024
4897c7c
[MQTT-TLS] Fix merge issue
TD-er Jul 15, 2024
3b01a05
[MQTT-TLS] Fix merge issues
TD-er Jul 15, 2024
ba7a8eb
Merge branch 'mega' into feature/MQTT_TLS
TD-er Jul 27, 2024
10575ba
Merge branch 'mega' into feature/MQTT_TLS
TD-er Aug 22, 2024
5f185d1
Merge branch 'mega' into feature/MQTT_TLS
TD-er Sep 24, 2024
36cd315
Merge branch 'mega' into feature/MQTT_TLS
TD-er Sep 26, 2024
9f60b5e
[ESP-IDF5.3] Update to SDK IDF5.3.1/Arduino3.0.5 20240924
TD-er Sep 26, 2024
4ae6c40
[ESP-IDF5.3] Update to 20240926
TD-er Sep 27, 2024
f815583
Merge branch 'mega' into build/idf_5.3.1_20240924
TD-er Sep 28, 2024
fa902d5
Merge branch 'mega' into feature/MQTT_TLS
TD-er Sep 28, 2024
15ea42d
Merge branch 'mega' into build/idf_5.3.1_20240924
TD-er Sep 28, 2024
695fcf1
Merge branch 'mega' into feature/MQTT_TLS
TD-er Sep 28, 2024
2db4231
[LibSSL] Add LightBearSSL lib made by Tasmota
TD-er Sep 29, 2024
c83e415
[MQTT-TLS] Switch to Tasmota's Light-Weight BearSSL lib
TD-er Sep 29, 2024
4ed7185
Merge remote-tracking branch 'letscontrolit/mega' into feature/MQTT_TLS
TD-er Sep 29, 2024
fd8f8e5
Merge branch 'mega' into build/idf_5.3.1_20240924
TD-er Sep 29, 2024
8c17434
Merge remote-tracking branch 'origin/build/idf_5.3.1_20240924' into f…
TD-er Sep 29, 2024
059479f
[MQTT TLS] Fix build hidden write(uint8_t)
TD-er Sep 29, 2024
e28505b
[MQTT-TLS] Enable TLS for MQTT on all ESP32-xx Custom builds
TD-er Sep 29, 2024
9bca93b
[MQTT TLS] Disable PSK option
TD-er Sep 30, 2024
695e30e
[MQTT TLS] Uncrustify controller source files
TD-er Sep 30, 2024
4917ff9
[MQTT-TLS] Improve stability of MQTT connection while serving JSON pages
TD-er Sep 30, 2024
f8ffe8e
[PVS-Studio] Add fixes suggested by PVS-Studio
TD-er Oct 1, 2024
f6c0a4b
[MQTT-TLS] Make connection to broker more stable
TD-er Oct 1, 2024
acc8b78
[MQTT TLS] Disable certificate validation options for now
TD-er Oct 1, 2024
7c77b5b
[MQTT TLS] Add some documentation about using TLS for MQTT
TD-er Oct 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/source/Controller/C016.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Each time a plugin sends data to this controller, a sample set is stored.

A typical sample set contains:

- Timestamp (Default: Unix Time, but can be switched to "local time" in the controller settings)
- Timestamp (Default: Unix Time, but can be switched to "local time" in the controller settings with the "Use Local System Time" checkbox)
- task index delivering the data
- 4 float values

Expand Down
22 changes: 22 additions & 0 deletions docs/source/Controller/_Controller.rst
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,28 @@ before WiFi connection is made or during lost connection.
For almost all controllers, sending data is a blocking call, so it may halt execution of other code on the node.
With timouts longer than 2 seconds, the ESP may reboot as the software watchdog may step in.

TLS configuration
-----------------

Added: 2024-10-02

Some protocols like MQTT may use TLS to provide a secure connection to the host.
Where the default port for not encrypted connections to a MQTT broker is port 1883, its TLS counterpart is by default using port 8883.

.. note:: The current (2024-10-02) implementation does only allow to set to use TLS for MQTT controllers. There is not yet a proper validation of the used certificate.

Future implementations will add various ways to validate the used certificates using:

- Root CA, allowing to validate whether a certificate was signed by a known certificate authority (CA).
- Fingerprint, check whether a certificate is still the same as before.
- Check whether a certificate has expired.

To summarize, the current implementation does allow to encrypt the connection to the MQTT broker.
However a man-in-the-middle attack is still perfectly possible as the used certificates are not validated.

This does make using it extremely simple as even self-signed certificates can be used.
However do not consider this to be a 'secure' method since some attacker can redirect to another host and serve some false certificate.



Sample ThingSpeak configuration
Expand Down
13 changes: 13 additions & 0 deletions lib/lib_ssl/bearssl-esp8266/bearssl_esp8266-customized.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
This library is adapted from bearssl-esp8266 to avoid conflict with the
BearSSL headers in Arduino Core.

To recreate, copy all original 'src/' and 'inc/' into 'src/' lib.

Then rename the following:
- "bearssl with "t_bearssl
- "inner with "t_inner
- "config with "t_config

Add the customized files in src/:
- t_bearssl_tasmota_config.h
- pgmspace_bearssl.h
21 changes: 21 additions & 0 deletions lib/lib_ssl/bearssl-esp8266/conf/esp8266.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Configuration for compiling to an ESP8266 from a UNIX system

# We are on a Unix system so we assume a Single Unix compatible 'make'
# utility, and Unix defaults.
include conf/Unix.mk

# We override the build directory.
BUILD = esp8266

# C compiler, linker, and static library builder.
TOOLCHAIN_PREFIX := xtensa-lx106-elf-
CC := $(TOOLCHAIN_PREFIX)gcc
CFLAGS = -W -Wall -g -O2 -Wpointer-arith -Wl,-EL -nostdlib -mlongcalls -mno-text-section-literals -ffunction-sections -fdata-sections -Werror
CFLAGS += -D__ets__ -DICACHE_FLASH -DESP8266 -DBR_SLOW_MUL15=1
LD := $(TOOLCHAIN_PREFIX)ld
AR := $(TOOLCHAIN_PREFIX)ar

# We compile only the static library.
DLL = no
TOOLS = no
TESTS = no
9 changes: 9 additions & 0 deletions lib/lib_ssl/bearssl-esp8266/library.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name=BearSSL
version=0.6
author=Thomas Pornin <[email protected]>
maintainer=Earle F. Philhower, III <[email protected]>
sentence=BearSSL implementation of the SSL/TLS protocol optimized for ESP8266 by Earle F. Philhower, optimized for Tasmota by Stephan Hadinger
paragraph=
category=Other
url=https://github.com/earlephilhower/bearssl-esp8266.git
architectures=esp8266,esp32
Loading