From: Calin Crisan Date: Wed, 7 Jan 2015 19:21:16 +0000 (+0200) Subject: fixed issues with numeric usernames and passwords X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=0974ea88ffdae03fa1b6d690c302fb59635d3fb3;p=motioneye-debian fixed issues with numeric usernames and passwords --- diff --git a/src/config.py b/src/config.py index 48e2d64..09215a6 100644 --- a/src/config.py +++ b/src/config.py @@ -86,7 +86,9 @@ def get_main(as_lines=False): if as_lines: return lines - main_config = _conf_to_dict(lines, list_names=['thread']) + main_config = _conf_to_dict(lines, + list_names=['thread'], + no_convert=['@admin_username', '@admin_password', '@normal_username', '@normal_password']) if settings.WPA_SUPPLICANT_CONF: _get_wifi_settings(main_config) @@ -251,7 +253,9 @@ def get_camera(camera_id, as_lines=False): if as_lines: return lines - camera_config = _conf_to_dict(lines) + camera_config = _conf_to_dict(lines, + no_convert=['@name', '@network_share_name', '@network_server', + '@network_username', '@network_password', '@storage_device']) if utils.local_camera(camera_config): # determine the enabled status @@ -1096,7 +1100,7 @@ def _python_to_value(value): return value -def _conf_to_dict(lines, list_names=[]): +def _conf_to_dict(lines, list_names=[], no_convert=[]): data = OrderedDict() for line in lines: @@ -1124,7 +1128,8 @@ def _conf_to_dict(lines, list_names=[]): (name, value) = parts value = value.strip() - value = _value_to_python(value) + if name not in no_convert: + value = _value_to_python(value) if name in list_names: data.setdefault(name, []).append(value) diff --git a/src/handlers.py b/src/handlers.py index af8ecbf..9af89f3 100644 --- a/src/handlers.py +++ b/src/handlers.py @@ -286,11 +286,11 @@ class ConfigHandler(BaseHandler): logging.debug('setting main config...') old_main_config = config.get_main() - old_admin_credentials = old_main_config.get('@admin_username', '') + ':' + old_main_config.get('@admin_password', '') + old_admin_credentials = '%s:%s' % (old_main_config.get('@admin_username', ''), old_main_config.get('@admin_password', '')) main_config = config.main_ui_to_dict(ui_config) main_config.setdefault('thread', old_main_config.get('thread', [])) - admin_credentials = main_config.get('@admin_username', '') + ':' + main_config.get('@admin_password', '') + admin_credentials = '%s:%s' % (main_config.get('@admin_username', ''), main_config.get('@admin_password', '')) wifi_changed = bool([k for k in ['@wifi_enabled', '@wifi_name', '@wifi_key'] if old_main_config.get(k) != main_config.get(k)])