From 9ee0049248d2f0e09a30cfe2690e39e465865f50 Mon Sep 17 00:00:00 2001 From: Ryan Holt Date: Fri, 17 Aug 2018 12:15:44 -0400 Subject: [PATCH 1/7] adjusted to support self-signed certificates on mqtt --- Dockerfile | 20 ++++++++++++++++++++ data/configuration.yaml | 1 + lib/mqtt.js | 5 +++++ 3 files changed, 26 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..585b45176 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM alpine:3.7 + +# Copy files +ADD . /app +RUN cp /app/data/configuration.yaml /app +RUN cp /app/docker/run.sh /app +RUN chmod +x /app/run.sh +WORKDIR /app + +# Write .hash.json +ARG COMMIT +RUN echo "{\"hash\": \"$COMMIT\"}" > .hash.json + +# Install dependencies +RUN apk add --update --no-cache make gcc g++ python linux-headers udev nodejs git && \ + npm install --unsafe-perm && \ + apk del make gcc g++ python linux-headers udev git + +# Entrypoint +ENTRYPOINT ["./run.sh"] diff --git a/data/configuration.yaml b/data/configuration.yaml index 3ed7c1ce0..f9fbadcf0 100644 --- a/data/configuration.yaml +++ b/data/configuration.yaml @@ -13,6 +13,7 @@ mqtt: # MQTT server authentication, uncomment if required: # user: my_user # password: my_password + # selfsigned: false # Serial settings serial: diff --git a/lib/mqtt.js b/lib/mqtt.js index 9f7450a8e..e486fa0ee 100644 --- a/lib/mqtt.js +++ b/lib/mqtt.js @@ -22,6 +22,11 @@ class MQTT { logger.debug(`Using MQTT client ID: '${mqttSettings.client_id}'`); options.clientId = mqttSettings.client_id; } + + if (mqttSettings.selfsigned) { + logger.debug(`Using Self Signed Cert. Ignoring warnings.`); + options.rejectUnauthorized = false; + } this.client = mqtt.connect(mqttSettings.server, options); From db1fd6dd12680cde5b1c6a00c0a176c342f3c803 Mon Sep 17 00:00:00 2001 From: Ryan Holt Date: Fri, 17 Aug 2018 12:16:47 -0400 Subject: [PATCH 2/7] removed dockerfile --- Dockerfile | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 585b45176..000000000 --- a/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM alpine:3.7 - -# Copy files -ADD . /app -RUN cp /app/data/configuration.yaml /app -RUN cp /app/docker/run.sh /app -RUN chmod +x /app/run.sh -WORKDIR /app - -# Write .hash.json -ARG COMMIT -RUN echo "{\"hash\": \"$COMMIT\"}" > .hash.json - -# Install dependencies -RUN apk add --update --no-cache make gcc g++ python linux-headers udev nodejs git && \ - npm install --unsafe-perm && \ - apk del make gcc g++ python linux-headers udev git - -# Entrypoint -ENTRYPOINT ["./run.sh"] From 1e0c64caf5f05a2a91ecab2fbe8ca821ac593a13 Mon Sep 17 00:00:00 2001 From: Ryan Holt Date: Fri, 17 Aug 2018 12:17:18 -0400 Subject: [PATCH 3/7] made true default within commented section. --- data/configuration.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/configuration.yaml b/data/configuration.yaml index f9fbadcf0..c9308702c 100644 --- a/data/configuration.yaml +++ b/data/configuration.yaml @@ -13,7 +13,7 @@ mqtt: # MQTT server authentication, uncomment if required: # user: my_user # password: my_password - # selfsigned: false + # selfsigned: true # Serial settings serial: From b0b2bd2444e8773310e05829163f2a4b49364a52 Mon Sep 17 00:00:00 2001 From: Ryan Holt Date: Fri, 17 Aug 2018 12:22:27 -0400 Subject: [PATCH 4/7] adjusted whitespace to remove tabs and replace with spaces. --- lib/mqtt.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/mqtt.js b/lib/mqtt.js index e486fa0ee..181b2fa53 100644 --- a/lib/mqtt.js +++ b/lib/mqtt.js @@ -23,9 +23,9 @@ class MQTT { options.clientId = mqttSettings.client_id; } - if (mqttSettings.selfsigned) { - logger.debug(`Using Self Signed Cert. Ignoring warnings.`); - options.rejectUnauthorized = false; + if (mqttSettings.selfsigned) { + logger.debug(`Using Self Signed Cert. Ignoring warnings.`); + options.rejectUnauthorized = false; } this.client = mqtt.connect(mqttSettings.server, options); From c00f091d7fbfbaa336caaf602c48838a589c0b7f Mon Sep 17 00:00:00 2001 From: Ryan Holt Date: Fri, 17 Aug 2018 12:25:02 -0400 Subject: [PATCH 5/7] removed trailing whitespace --- lib/mqtt.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mqtt.js b/lib/mqtt.js index 181b2fa53..0f5418747 100644 --- a/lib/mqtt.js +++ b/lib/mqtt.js @@ -22,7 +22,7 @@ class MQTT { logger.debug(`Using MQTT client ID: '${mqttSettings.client_id}'`); options.clientId = mqttSettings.client_id; } - + if (mqttSettings.selfsigned) { logger.debug(`Using Self Signed Cert. Ignoring warnings.`); options.rejectUnauthorized = false; From 47de3e20ae8880fb8fd6593b0da0b7c9d2928135 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Fri, 17 Aug 2018 18:34:33 +0200 Subject: [PATCH 6/7] Remove selfsigned from configuration.yaml --- data/configuration.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/data/configuration.yaml b/data/configuration.yaml index c9308702c..3ed7c1ce0 100644 --- a/data/configuration.yaml +++ b/data/configuration.yaml @@ -13,7 +13,6 @@ mqtt: # MQTT server authentication, uncomment if required: # user: my_user # password: my_password - # selfsigned: true # Serial settings serial: From fb9600d55de7b6723cd100e28a18f0b6e086abb7 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Fri, 17 Aug 2018 18:39:45 +0200 Subject: [PATCH 7/7] Change selfsigned to reject_unauthorized --- lib/mqtt.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/mqtt.js b/lib/mqtt.js index 0f5418747..1bc0c4760 100644 --- a/lib/mqtt.js +++ b/lib/mqtt.js @@ -23,8 +23,8 @@ class MQTT { options.clientId = mqttSettings.client_id; } - if (mqttSettings.selfsigned) { - logger.debug(`Using Self Signed Cert. Ignoring warnings.`); + if (mqttSettings.hasOwnProperty('reject_unauthorized') && !mqttSettings.reject_unauthorized) { + logger.debug(`MQTT reject_unauthorized set false, ignoring certificate warnings.`); options.rejectUnauthorized = false; }