mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	Escape double quotes and backslashes in ssid and psk (#507)
## Description: Escape ssid and psk **Related issue (if applicable):** fixes <link to issue> https://github.com/esphome/issues/issues/81 **Pull request in [esphome-docs](https://github.com/esphome/esphome-docs) with documentation (if applicable):** esphome/esphome-docs#<esphome-docs PR number goes here> **Pull request in [esphome-core](https://github.com/esphome/esphome-core) with C++ framework changes (if applicable):** esphome/esphome-core#<esphome-core PR number goes here> ## Checklist: - [X] The code change is tested and works locally. - [n/a] Tests have been added to verify that the new code works (under `tests/` folder). If user exposed functionality or configuration variables are added/changed: - [n/a] Documentation added/updated in [esphomedocs](https://github.com/OttoWinter/esphomedocs). Co-authored-by: Otto Winter <otto@otto-winter.com>
This commit is contained in:
		| @@ -61,11 +61,15 @@ api: | |||||||
| """ | """ | ||||||
|  |  | ||||||
|  |  | ||||||
|  | def sanitize_double_quotes(value): | ||||||
|  |     return value.replace('\\', '\\\\').replace('"', '\\"') | ||||||
|  |  | ||||||
|  |  | ||||||
| def wizard_file(**kwargs): | def wizard_file(**kwargs): | ||||||
|     config = BASE_CONFIG.format(**kwargs) |     config = BASE_CONFIG.format(**kwargs) | ||||||
|  |  | ||||||
|     if kwargs['password']: |     if kwargs['password']: | ||||||
|         config += u"  password: '{0}'\n\nota:\n  password: '{0}'\n".format(kwargs['password']) |         config += u'  password: "{0}"\n\nota:\n  password: "{0}"\n'.format(kwargs['password']) | ||||||
|     else: |     else: | ||||||
|         config += u"\nota:\n" |         config += u"\nota:\n" | ||||||
|  |  | ||||||
| @@ -75,6 +79,11 @@ def wizard_file(**kwargs): | |||||||
| def wizard_write(path, **kwargs): | def wizard_write(path, **kwargs): | ||||||
|     name = kwargs['name'] |     name = kwargs['name'] | ||||||
|     board = kwargs['board'] |     board = kwargs['board'] | ||||||
|  |  | ||||||
|  |     kwargs['ssid'] = sanitize_double_quotes(kwargs['ssid']) | ||||||
|  |     kwargs['psk'] = sanitize_double_quotes(kwargs['psk']) | ||||||
|  |     kwargs['password'] = sanitize_double_quotes(kwargs['password']) | ||||||
|  |  | ||||||
|     if 'platform' not in kwargs: |     if 'platform' not in kwargs: | ||||||
|         kwargs['platform'] = 'ESP8266' if board in ESP8266_BOARD_PINS else 'ESP32' |         kwargs['platform'] = 'ESP8266' if board in ESP8266_BOARD_PINS else 'ESP32' | ||||||
|     platform = kwargs['platform'] |     platform = kwargs['platform'] | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user