From 9b1adf7032a0b18075e7e587f7459311a0ef1c19 Mon Sep 17 00:00:00 2001
From: rodriguezst <2828844+rodriguezst@users.noreply.github.com>
Date: Mon, 13 Jun 2022 14:40:51 +0000
Subject: [PATCH] Set certificate buffer sizes at CMakelists.txt
---
CMakeLists.txt | 5 +++++
WebCfgServer.cpp | 6 +++---
networkDevices/WifiDevice.h | 4 ----
3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a9816e8..58cdf70 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,6 +9,11 @@ project(nuki_hub CXX)
set(LOG_LEVEL ARDUHAL_LOG_LEVEL_NONE)
+# Length of char arrays to store certificates for MQTTS
+add_compile_definitions(TLS_CA_MAX_SIZE=1800)
+add_compile_definitions(TLS_CERT_MAX_SIZE=1800)
+add_compile_definitions(TLS_KEY_MAX_SIZE=1800)
+
include_directories(${PROJECT_NAME}
PRIVATE
lib/Crc16
diff --git a/WebCfgServer.cpp b/WebCfgServer.cpp
index af24b06..8cec783 100644
--- a/WebCfgServer.cpp
+++ b/WebCfgServer.cpp
@@ -452,9 +452,9 @@ void WebCfgServer::buildMqttConfigHtml(String &response)
printInputField(response, "MQTTPORT", "MQTT Broker port", _preferences->getInt(preference_mqtt_broker_port), 5);
printInputField(response, "MQTTUSER", "MQTT User (# to clear)", _preferences->getString(preference_mqtt_user).c_str(), 30);
printInputField(response, "MQTTPASS", "MQTT Password", "*", 30, true);
- printTextarea(response, "MQTTCA", "MQTT SSL CA Certificate", _preferences->getString(preference_mqtt_ca).c_str(), 1800);
- printTextarea(response, "MQTTCRT", "MQTT SSL Client Certificate", _preferences->getString(preference_mqtt_crt).c_str(), 1800);
- printTextarea(response, "MQTTKEY", "MQTT SSL Client Key", _preferences->getString(preference_mqtt_key).c_str(), 1800);
+ printTextarea(response, "MQTTCA", "MQTT SSL CA Certificate", _preferences->getString(preference_mqtt_ca).c_str(), TLS_CA_MAX_SIZE);
+ printTextarea(response, "MQTTCRT", "MQTT SSL Client Certificate", _preferences->getString(preference_mqtt_crt).c_str(), TLS_CERT_MAX_SIZE);
+ printTextarea(response, "MQTTKEY", "MQTT SSL Client Key", _preferences->getString(preference_mqtt_key).c_str(), TLS_KEY_MAX_SIZE);
printInputField(response, "NETTIMEOUT", "Network Timeout until restart (seconds; -1 to disable)", _preferences->getInt(preference_network_timeout), 5);
response.concat("");
response.concat("
");
diff --git a/networkDevices/WifiDevice.h b/networkDevices/WifiDevice.h
index ec1ed1e..8f2e522 100644
--- a/networkDevices/WifiDevice.h
+++ b/networkDevices/WifiDevice.h
@@ -6,10 +6,6 @@
#include "NetworkDevice.h"
#include "../SpiffsCookie.h"
-#define TLS_CA_MAX_SIZE 1800
-#define TLS_CERT_MAX_SIZE 1800
-#define TLS_KEY_MAX_SIZE 1800
-
class WifiDevice : public NetworkDevice
{
public: