mirror of
https://github.com/Dielee/volvo2mqtt.git
synced 2026-08-13 19:29:52 +02:00
Add settings validation to prevent abuse
This commit is contained in:
+2
-1
@@ -2,10 +2,11 @@ import logging
|
|||||||
from volvo import authorize
|
from volvo import authorize
|
||||||
from mqtt import update_loop, connect
|
from mqtt import update_loop, connect
|
||||||
from const import VERSION
|
from const import VERSION
|
||||||
from util import set_tz, setup_logging, set_mqtt_settings
|
from util import set_tz, setup_logging, set_mqtt_settings, validate_settings
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
validate_settings()
|
||||||
set_tz()
|
set_tz()
|
||||||
set_mqtt_settings()
|
set_mqtt_settings()
|
||||||
setup_logging()
|
setup_logging()
|
||||||
|
|||||||
+11
@@ -136,3 +136,14 @@ def set_mqtt_settings():
|
|||||||
config.settings["mqtt"]["port"] = broker_port
|
config.settings["mqtt"]["port"] = broker_port
|
||||||
config.settings["mqtt"]["username"] = broker_user
|
config.settings["mqtt"]["username"] = broker_user
|
||||||
config.settings["mqtt"]["password"] = broker_pass
|
config.settings["mqtt"]["password"] = broker_pass
|
||||||
|
|
||||||
|
|
||||||
|
def validate_settings():
|
||||||
|
setting_keys = settings.volvoData["vccapikey"]
|
||||||
|
if isinstance(setting_keys, list):
|
||||||
|
if len(setting_keys) > 3:
|
||||||
|
raise Exception("Settings invalid! Maximum allowed vccapikeys are three!")
|
||||||
|
|
||||||
|
update_interval = settings["updateInterval"]
|
||||||
|
if update_interval < 60:
|
||||||
|
raise Exception("Settings invalid! Minimum allowed update interval is 60 seconds!")
|
||||||
|
|||||||
Reference in New Issue
Block a user