From 3ac912f95739779d6b9226b0bb79aebf1c0181cd Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Sun, 30 Jun 2019 18:50:42 +0200 Subject: [PATCH] Fixed compilation error when USE_MQTT_AWS_IOT set and USE_MQTT_TLS disabled --- sonoff/WiFiClientSecureLightBearSSL.h | 4 +++- sonoff/sonoff_post.h | 3 --- sonoff/xdrv_02_mqtt.ino | 30 +++++++++++++-------------- 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/sonoff/WiFiClientSecureLightBearSSL.h b/sonoff/WiFiClientSecureLightBearSSL.h index 3dde41403..653c75502 100644 --- a/sonoff/WiFiClientSecureLightBearSSL.h +++ b/sonoff/WiFiClientSecureLightBearSSL.h @@ -24,6 +24,7 @@ #ifndef wificlientlightbearssl_h #define wificlientlightbearssl_h +#ifdef USE_MQTT_TLS #include #include "WiFiClient.h" #include @@ -216,4 +217,5 @@ class WiFiClientSecure_light : public WiFiClient { }; -#endif +#endif // USE_MQTT_TLS +#endif // wificlientlightbearssl_h diff --git a/sonoff/sonoff_post.h b/sonoff/sonoff_post.h index 86d96df98..562883cca 100644 --- a/sonoff/sonoff_post.h +++ b/sonoff/sonoff_post.h @@ -52,9 +52,6 @@ void KNX_CB_Action(message_t const &msg, void *arg); #ifdef USE_EMULATION_WEMO #define USE_EMULATION #endif -#ifdef USE_MQTT_AWS_IOT -#define USE_MQTT_TLS -#endif #ifdef USE_MQTT_TLS const uint16_t WEB_LOG_SIZE = 2000; // Max number of characters in weblog diff --git a/sonoff/xdrv_02_mqtt.ino b/sonoff/xdrv_02_mqtt.ino index 41a19b122..9e2536bb8 100644 --- a/sonoff/xdrv_02_mqtt.ino +++ b/sonoff/xdrv_02_mqtt.ino @@ -136,7 +136,7 @@ void MqttInit(void) { #endif // USE_MQTT_TLS_CA_CERT MqttClient.setClient(*tlsClient); -#endif // USE_MQTT_AWS_IOT +#endif // USE_MQTT_TLS } @@ -255,7 +255,7 @@ void MqttPublishDirect(const char* topic, bool retained) void MqttPublish(const char* topic, bool retained) { char *me; -#ifdef USE_MQTT_AWS_IOT +#if defined(USE_MQTT_TLS) && defined(USE_MQTT_AWS_IOT) if (retained) { AddLog_P(LOG_LEVEL_INFO, S_LOG_MQTT, PSTR("Retained are not supported by AWS IoT, using retained = false.")); } @@ -366,7 +366,7 @@ void MqttDisconnected(int state) MqttClient.disconnect(); -#ifdef USE_MQTT_AWS_IOT +#if defined(USE_MQTT_TLS) && defined(USE_MQTT_AWS_IOT) AddLog_P2(LOG_LEVEL_INFO, PSTR(D_LOG_MQTT D_CONNECT_FAILED_TO " %s:%d, rc %d. " D_RETRY_IN " %d " D_UNIT_SECOND), AWS_endpoint, Settings.mqtt_port, state, mqtt_retry_counter); #else AddLog_P2(LOG_LEVEL_INFO, PSTR(D_LOG_MQTT D_CONNECT_FAILED_TO " %s:%d, rc %d. " D_RETRY_IN " %d " D_UNIT_SECOND), Settings.mqtt_host, Settings.mqtt_port, state, mqtt_retry_counter); @@ -482,7 +482,7 @@ void MqttReconnect(void) } MqttClient.setCallback(MqttDataHandler); -#ifdef USE_MQTT_AWS_IOT +#if defined(USE_MQTT_TLS) && defined(USE_MQTT_AWS_IOT) MqttClient.setServer(AWS_endpoint, Settings.mqtt_port); #else MqttClient.setServer(Settings.mqtt_host, Settings.mqtt_port); @@ -499,7 +499,7 @@ void MqttReconnect(void) allow_all_fingerprints |= learn_fingerprint2; tlsClient->setPubKeyFingerprint(Settings.mqtt_fingerprint[0], Settings.mqtt_fingerprint[1], allow_all_fingerprints); #endif -#ifdef USE_MQTT_AWS_IOT +#if defined(USE_MQTT_TLS) && defined(USE_MQTT_AWS_IOT) AddLog_P2(LOG_LEVEL_INFO, PSTR(D_LOG_MQTT "AWS IoT endpoint: %s"), AWS_endpoint); //if (MqttClient.connect(mqtt_client, nullptr, nullptr, nullptr, 0, false, nullptr)) { if (MqttClient.connect(mqtt_client, nullptr, nullptr, stopic, 1, false, mqtt_data, MQTT_CLEAN_SESSION)) { @@ -578,7 +578,7 @@ void MqttCheck(void) /*********************************************************************************************/ -#ifdef USE_MQTT_AWS_IOT +#if defined(USE_MQTT_TLS) && defined(USE_MQTT_AWS_IOT) void setLongMqttHost(const char *mqtt_host) { if (strlen(mqtt_host) <= sizeof(Settings.mqtt_host)) { strlcpy(Settings.mqtt_host, mqtt_host, sizeof(Settings.mqtt_host)); @@ -613,7 +613,7 @@ bool MqttCommand(void) serviced = false; // Unknown command } else if (CMND_MQTTHOST == command_code) { -#ifdef USE_MQTT_AWS_IOT +#if defined(USE_MQTT_TLS) && defined(USE_MQTT_AWS_IOT) if ((data_len > 0) && (data_len <= sizeof(Settings.mqtt_host) + sizeof(Settings.mqtt_user) - 2)) { setLongMqttHost((SC_CLEAR == Shortcut(dataBuf)) ? "" : (SC_DEFAULT == Shortcut(dataBuf)) ? MQTT_HOST : dataBuf); restart_flag = 2; @@ -675,7 +675,7 @@ bool MqttCommand(void) } Response_P(S_JSON_COMMAND_SVALUE, command, Settings.mqtt_client); } -#ifndef USE_MQTT_AWS_IOT // user and password are diabled with AWS IoT +#if !defined(USE_MQTT_TLS) || !defined(USE_MQTT_AWS_IOT) // user and password are disabled with AWS IoT else if (CMND_MQTTUSER == command_code) { if ((data_len > 0) && (data_len < sizeof(Settings.mqtt_user))) { strlcpy(Settings.mqtt_user, (SC_CLEAR == Shortcut(dataBuf)) ? "" : (SC_DEFAULT == Shortcut(dataBuf)) ? MQTT_USER : dataBuf, sizeof(Settings.mqtt_user)); @@ -853,7 +853,7 @@ const char HTTP_FORM_MQTT1[] PROGMEM = "

" D_PORT " (" STR(MQTT_PORT) ")

" "

" D_CLIENT " (%s)

"; const char HTTP_FORM_MQTT2[] PROGMEM = -#ifndef USE_MQTT_AWS_IOT // user and password disabled with AWS IoT +#if !defined(USE_MQTT_TLS) || !defined(USE_MQTT_AWS_IOT) // user and password disabled with AWS IoT "

" D_USER " (" MQTT_USER ")

" "

" D_PASSWORD "

" #endif // USE_MQTT_AWS_IOT @@ -877,7 +877,7 @@ void HandleMqttConfiguration(void) WSContentStart_P(S_CONFIGURE_MQTT); WSContentSendStyle(); WSContentSend_P(HTTP_FORM_MQTT1, -#ifdef USE_MQTT_AWS_IOT +#if defined(USE_MQTT_TLS) && defined(USE_MQTT_AWS_IOT) AWS_endpoint, #else Settings.mqtt_host, @@ -912,7 +912,7 @@ void MqttSaveSettings(void) strlcpy(Settings.mqtt_topic, stemp, sizeof(Settings.mqtt_topic)); strlcpy(Settings.mqtt_fulltopic, stemp2, sizeof(Settings.mqtt_fulltopic)); WebGetArg("mh", tmp, sizeof(tmp)); -#ifdef USE_MQTT_AWS_IOT +#if defined(USE_MQTT_TLS) && defined(USE_MQTT_AWS_IOT) setLongMqttHost((!strlen(tmp)) ? MQTT_HOST : (!strcmp(tmp,"0")) ? "" : tmp); #else strlcpy(Settings.mqtt_host, (!strlen(tmp)) ? MQTT_HOST : (!strcmp(tmp,"0")) ? "" : tmp, sizeof(Settings.mqtt_host)); @@ -921,16 +921,16 @@ void MqttSaveSettings(void) Settings.mqtt_port = (!strlen(tmp)) ? MQTT_PORT : atoi(tmp); WebGetArg("mc", tmp, sizeof(tmp)); strlcpy(Settings.mqtt_client, (!strlen(tmp)) ? MQTT_CLIENT_ID : tmp, sizeof(Settings.mqtt_client)); -#ifndef USE_MQTT_AWS_IOT +#if defined(USE_MQTT_TLS) && defined(USE_MQTT_AWS_IOT) + AddLog_P2(LOG_LEVEL_INFO, PSTR(D_LOG_MQTT D_CMND_MQTTHOST " %s, " D_CMND_MQTTPORT " %d, " D_CMND_MQTTCLIENT " %s, " D_CMND_TOPIC " %s, " D_CMND_FULLTOPIC " %s"), + AWS_endpoint, Settings.mqtt_port, Settings.mqtt_client, Settings.mqtt_topic, Settings.mqtt_fulltopic); +#else // USE_MQTT_AWS_IOT WebGetArg("mu", tmp, sizeof(tmp)); strlcpy(Settings.mqtt_user, (!strlen(tmp)) ? MQTT_USER : (!strcmp(tmp,"0")) ? "" : tmp, sizeof(Settings.mqtt_user)); WebGetArg("mp", tmp, sizeof(tmp)); strlcpy(Settings.mqtt_pwd, (!strlen(tmp)) ? "" : (!strcmp(tmp, D_ASTERISK_PWD)) ? Settings.mqtt_pwd : tmp, sizeof(Settings.mqtt_pwd)); AddLog_P2(LOG_LEVEL_INFO, PSTR(D_LOG_MQTT D_CMND_MQTTHOST " %s, " D_CMND_MQTTPORT " %d, " D_CMND_MQTTCLIENT " %s, " D_CMND_MQTTUSER " %s, " D_CMND_TOPIC " %s, " D_CMND_FULLTOPIC " %s"), Settings.mqtt_host, Settings.mqtt_port, Settings.mqtt_client, Settings.mqtt_user, Settings.mqtt_topic, Settings.mqtt_fulltopic); -#else // USE_MQTT_AWS_IOT -AddLog_P2(LOG_LEVEL_INFO, PSTR(D_LOG_MQTT D_CMND_MQTTHOST " %s, " D_CMND_MQTTPORT " %d, " D_CMND_MQTTCLIENT " %s, " D_CMND_TOPIC " %s, " D_CMND_FULLTOPIC " %s"), - AWS_endpoint, Settings.mqtt_port, Settings.mqtt_client, Settings.mqtt_topic, Settings.mqtt_fulltopic); #endif } #endif // USE_WEBSERVER