From 96d3877ef63ae7a2bbbd2a33597bc9d837267c19 Mon Sep 17 00:00:00 2001 From: Gregg Date: Thu, 18 Feb 2021 21:02:41 -0600 Subject: [PATCH] Added check to ensure HostName is valid Must be 255 or less alphanumeric characters or a hyphen, except hyphen can't be first or last character. --- src/HomeSpan.cpp | 10 ++++++++++ src/src.ino | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/HomeSpan.cpp b/src/HomeSpan.cpp index 637aec2..c9463a2 100644 --- a/src/HomeSpan.cpp +++ b/src/HomeSpan.cpp @@ -398,6 +398,16 @@ void Span::checkConnect(){ else sprintf(hostName,"%s%s",hostNameBase,hostNameSuffix); + char d[strlen(hostName)+1]; + sscanf(hostName,"%[A-Za-z0-9-]",d); + + if(strlen(hostName)>255|| hostName[0]=='-' || hostName[strlen(hostName)-1]=='-' || strlen(hostName)!=strlen(d)){ + Serial.printf("\n*** Error: Can't start MDNS due to invalid hostname '%s'.\n",hostName); + Serial.print("*** Hostname must consist of 255 or less alphanumeric characters or a hyphen, except that the hyphen cannot be the first or last character.\n"); + Serial.print("*** PROGRAM HALTED!\n\n"); + while(1); + } + Serial.print("\nStarting MDNS...\n\n"); Serial.print("HostName: "); Serial.print(hostName); diff --git a/src/src.ino b/src/src.ino index c2ed9eb..eff4b47 100644 --- a/src/src.ino +++ b/src/src.ino @@ -10,15 +10,15 @@ void setup() { homeSpan.setLogLevel(1); -// homeSpan.setHostNameSuffix(""); + homeSpan.setHostNameSuffix("-lamp1"); homeSpan.setPortNum(1201); // homeSpan.setMaxConnections(6); // homeSpan.setQRID("One1"); homeSpan.enableOTA(); - homeSpan.setSketchVersion("Test 1.3.0"); + homeSpan.setSketchVersion("Test 1.3.1"); homeSpan.setWifiCallback(wifiEstablished); - homeSpan.begin(Category::Lighting,"HomeSpan Lamp Server","homespanlamp"); + homeSpan.begin(Category::Lighting,"HomeSpan Lamp Server","homespan"); new SpanAccessory(); // Begin by creating a new Accessory using SpanAccessory(), which takes no arguments