Skip to content

Commit

Permalink
Merge pull request #12 from 2Zero/tlsEnable
Browse files Browse the repository at this point in the history
Add TLS options to service and related strings.
  • Loading branch information
owagner committed Jan 30, 2016
2 parents 18a4eb5 + 361c370 commit 108c991
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 5 deletions.
20 changes: 20 additions & 0 deletions service.mqtt/resources/language/English/strings.po
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,23 @@ msgstr ""
msgctxt "#30103"
msgid "Password"
msgstr ""

msgctxt "#30104"
msgid "Use TLS connection"
msgstr ""

msgctxt "#30105"
msgid "TLS broker CA crt"
msgstr ""

msgctxt "#30106"
msgid "Use client certificates"
msgstr ""

msgctxt "#30107"
msgid "TLS client certificate"
msgstr ""

msgctxt "#30108"
msgid "TLS client key"
msgstr ""
15 changes: 10 additions & 5 deletions service.mqtt/resources/settings.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<category label="30001">
<setting label="30011" type="text" id="mqtthost" default="127.0.0.1"/>
<setting label="30012" type="number" id="mqttport" default="1883"/>
<setting label="30011" type="text" id="mqtthost" default="127.0.0.1"/>
<setting label="30012" type="number" id="mqttport" default="1883"/>
<setting label="30013" type="text" id="mqtttopic" default="kodi/"/>
<setting label="30014" type="bool" id="mqttdebug" default="false"/>
</category>
<category label="30100">
<setting label="30101" type="bool" id="mqttanonymousconnection" default="true" />
<setting label="30102" type="text" id="mqttusername" default="" visible="eq(-1,false)" />
<setting label="30103" type="text" id="mqttpassword" option="hidden" default="" visible="eq(-2,false)" />
<setting label="30101" type="bool" id="mqttanonymousconnection" default="true" />
<setting label="30102" type="text" id="mqttusername" default="" visible="eq(-1,false)" />
<setting label="30103" type="text" id="mqttpassword" option="hidden" default="" visible="eq(-2,false)" />
<setting label="30104" type="bool" id="mqtttlsconnection" default="false" />
<setting label="30105" type="file" id="mqtttlsconnectioncrt" value="" default="" visible="eq(-1,true)" subsetting="true" />
<setting label="30106" type="bool" id="mqtttlsclient" default="false" visible="eq(-2,true)" />
<setting label="30107" type="file" id="mqtttlsclientcrt" value="" default="" visible="eq(-3,true) + eq(-1,true)" subsetting="true" />
<setting label="30108" type="file" id="mqtttlsclientkey" value="" default="" visible="eq(-4,true) + eq(-2,true)" subsetting="true" />
</category>
</settings>
7 changes: 7 additions & 0 deletions service.mqtt/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,13 @@ def startmqtt():
mqc.on_disconnect=disconnecthandler
if __addon__.getSetting("mqttanonymousconnection")=='false':
mqc.username_pw_set(__addon__.getSetting("mqttusername"), __addon__.getSetting("mqttpassword"))
xbmc.log("MQTT: Anonymous disabled, connecting as user: %s" % __addon__.getSetting("mqttusername"))
if __addon__.getSetting("mqtttlsconnection")=='true' and __addon__.getSetting("mqtttlsconnectioncrt")!='' and __addon__.getSetting("mqtttlsclient")=='false':
mqc.tls_set(__addon__.getSetting("mqtttlsconnectioncrt"))
xbmc.log("MQTT: TLS enabled, connecting using CA certificate: %s" % __addon__.getSetting("mqtttlsconnectioncrt"))
elif __addon__.getSetting("mqtttlsconnection")=='true' and __addon__.getSetting("mqtttlsclient")=='true' and __addon__.getSetting("mqtttlsclientcrt")!='' and __addon__.getSetting("mqtttlsclientkey")!='':
mqc.tls_set(__addon__.getSetting("mqtttlsconnectioncrt"), __addon__.getSetting("mqtttlsclientcrt"), __addon__.getSetting("mqtttlsclientkey"))
xbmc.log("MQTT: TLS with client certificates enabled, connecting using certificates CA: %s, client %s and key: %s" % (__addon__.getSetting("mqttusername"), __addon__.getSetting("mqtttlsclientcrt"), __addon__.getSetting("mqtttlsclientkey")))
topic=__addon__.getSetting("mqtttopic")
if not topic.endswith("/"):
topic+="/"
Expand Down

0 comments on commit 108c991

Please sign in to comment.