Index: src/squeezeplay_squeezeos/share/applets/Diagnostics/DiagnosticsApplet.lua =================================================================== --- src/squeezeplay_squeezeos/share/applets/Diagnostics/DiagnosticsApplet.lua (revision 8665) +++ src/squeezeplay_squeezeos/share/applets/Diagnostics/DiagnosticsApplet.lua (working copy) @@ -1,5 +1,5 @@ -local ipairs, tostring = ipairs, tostring, tonumber +local ipairs, tostring, tonumber = ipairs, tostring, tonumber -- stuff we use local oo = require("loop.simple") @@ -107,7 +107,7 @@ end -function serverPort(self, server, port, key) +function serverPort(self, server, port, key, cb) if not server then self:setValue(key, self.notConnected) return @@ -141,6 +141,10 @@ else self:setValue(key, portOk) end + + if cb then + cb(self, res, err) + end tcp:close() end) @@ -393,7 +397,20 @@ self:setValue("SC_NAME", sc:getName()) self:serverPing(sc, "SC_ADDRESS", "SC_PING") self:serverPort(sc, 3483, "SC_PORT_3483") - self:serverPort(sc, 9000, "SC_PORT_9000") + + -- port 9000 can be changed on the server, use the actual port + local ip, port = sc:getIpPort() + self:serverPort(sc, port, "SC_PORT_9000", + function(self) + if tonumber(port) ~= 9000 then + log:info("HTTP is running on non-standard port: ", port, " - adjusting label") + local label = tostring(self.labels["SC_PORT_9000"].text) + label = string.gsub(label, "9000", tostring(port)) + self.diagMenu:setText(self.labels["SC_PORT_9000"], label) + end + end + ) + end