Franck Nijhof
475e70986b
Extend IP ban / failed login notification information ( #39020 )
2020-08-18 23:32:19 +02:00
Franck Nijhof
cc4ebc925c
Improve X-Forwarded-* request headers handling ( #38696 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
2020-08-11 22:57:50 +02:00
Franck Nijhof
20710d8605
Add current request context to get_url helper ( #38602 )
2020-08-09 14:07:31 +02:00
Stefan Agner
c2f5831181
Support dual stack IP support (IPv4 and IPv6) ( #38046 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-04 15:34:23 +02:00
Franck Nijhof
53545c984b
Log lines do not end with a full stop ( #37527 )
2020-07-05 23:04:19 +02:00
J. Nick Koston
00387bf870
Make the frontend available sooner (Part 2 of 2) ( #36264 )
...
* Part 1 of 2 (no breaking changes in part 1).
When integrations configured via the UI block startup or fail to start,
the webserver can remain offline which make it is impossible
to recover without manually changing files in
.storage since the UI is not available.
This change is the foundation that part 2 will build on
and enable a listener to start the webserver when the frontend
is finished loading.
Frontend Changes (home-assistant/frontend#6068 )
* Part 1 of 2 (no breaking changes in part 1).
When integrations configured via the UI block startup or fail to start,
the webserver can remain offline which make it is impossible
to recover without manually changing files in
.storage since the UI is not available.
This change is the foundation that part 2 will build on
and enable a listener to start the webserver when the frontend
is finished loading.
Frontend Changes (home-assistant/frontend#6068 )
* Part 2 of 2 (breaking changes in part 2).
When integrations configured via the UI block startup or fail to start,
the webserver can remain offline which make it is impossible
to recover without manually changing files in
.storage since the UI is not available.
This change is the foundation that part 2 will build on
and enable a listener to start the webserver when the frontend
is finished loading.
* bump timeout to 1800s, adjust comment
* bump timeout to 1800s, adjust comment
* bump timeout to 4h
* bump timeout to 4h
* remove timeout failsafe
* remove timeout failsafe
* and the test
* and the test
* find the test that needs mocking
* find the test that needs mocking
* Revert "find the test that needs mocking"
This reverts commit 064e7787a8e9bc65df965530726fa1c41f8bcd36.
* Revert "find the test that needs mocking"
This reverts commit 064e7787a8e9bc65df965530726fa1c41f8bcd36.
* fix the one that was missed due to the conflict
2020-06-02 17:02:09 -05:00
J. Nick Koston
578d4a9b6a
Make the frontend available sooner (Part 1 of 2) ( #36263 )
...
* Part 1 of 2 (no breaking changes in part 1).
When integrations configured via the UI block startup or fail to start,
the webserver can remain offline which make it is impossible
to recover without manually changing files in
.storage since the UI is not available.
This change is the foundation that part 2 will build on
and enable a listener to start the webserver when the frontend
is finished loading.
Frontend Changes (home-assistant/frontend#6068 )
* Address review comments
* bump timeout to 1800s, adjust comment
* bump timeout to 4h
* remove timeout failsafe
* and the test
2020-06-02 13:54:11 -05:00
Paulus Schoutsen
acbffb511d
Fix base_url extract stack ( #36331 )
...
* Fix base_url extract stack
* Fix tests
2020-06-01 11:44:45 -07:00
Pascal Vizeli
ed014e3c96
Revert "Ensure frontend is available if integrations fail to start - Part 1 of 2 ( #36093 )" ( #36251 )
...
This reverts commit fbe7b4ddfa
.
2020-05-29 10:18:39 +02:00
J. Nick Koston
fbe7b4ddfa
Ensure frontend is available if integrations fail to start - Part 1 of 2 ( #36093 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-05-28 21:09:07 -07:00
Ville Skyttä
f8416484f8
More data entry flow and HTTP related type hints ( #34430 )
2020-05-26 09:28:22 -05:00
Franck Nijhof
e3e3a113e9
async_get_url -> get_url ( #35382 )
2020-05-08 21:53:28 +02:00
Franck Nijhof
e56dd8ed50
Detect use of deprecated base_url ( #35353 )
...
* Detect use of deprecated base_url
* Update get_url helper
* Update core migration
* Migrate all tests
2020-05-08 17:52:32 +02:00
Franck Nijhof
2223592486
Add get_url helper, deprecate base_url ( #35224 )
2020-05-08 02:29:47 +02:00
springstan
4c38e6cfa5
Use HTTP_BAD_REQUEST constant ( #33797 )
2020-04-09 21:43:42 +02:00
Martin Hjelmare
c3decc6531
Do not ban supervisor ip if set ( #33781 )
...
* Use asynctest patch instead of mock_coro
* Add test for supervisor ip ban
* Do not ban supervisor ip if set
* Extract supervisor ip helper
* Check supervisor ip before banning
* Remove added blank line
* Clean up get supervisor ip
Co-Authored-By: Pascal Vizeli <pvizeli@syshack.ch>
Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
2020-04-08 10:31:44 -07:00
springstan
8d61893c39
Use HTTP_OK constant ( #33798 )
...
* Use http ok constant
* Remove incorrect use
* Run isort
* Fix pylint by adding missing imports
* Fix pylint by fixing one import
2020-04-08 11:47:38 -05:00
Paulus Schoutsen
f1d3c0d19b
Remove unused manifest fields ( #33595 )
2020-04-03 12:58:19 -07:00
springstan
157f972d72
Use f-strings in integrations starting with "H" - "L" ( #32265 )
...
* Use f-strings in integrations starting with "H"
* Use f-strings in integrations starting with "I"
* Use f-strings in integrations starting with "J"
* Use f-strings in integrations starting with "K"
* Use f-strings in integrations starting with "L"
* Fix lint error
* Use join instead of f-string in homekit_controller
* Use local variables with f-strings
* Fix lint error
* Escape the characters in f-string
* Sort imports with isort in homeworks light
* Fix pylint error
* Fix broken tests
* Fix broken tests v2
2020-02-28 12:39:29 +01:00
Paulus Schoutsen
33361f8580
Fix HTTP config serialization ( #31319 )
2020-01-30 09:47:16 -08:00
Paulus Schoutsen
5fdc60e067
Add Safe Mode ( #30723 )
...
* Store last working HTTP settings
* Add safe mode
* Fix tests
* Add cloud to safe mode
* Update logging text
* Fix camera tests leaving files behind
* Make emulated_hue tests not leave files behind
* Make logbook tests not leave files behind
* Make tts tests not leave files behind
* Make image_processing tests not leave files behind
* Make manual_mqtt tests not leave files behind
2020-01-14 13:03:02 -08:00
Pascal Vizeli
a4c1114c8e
Set body size for Proxy / streams to 16mb ( #30608 )
2020-01-09 11:09:34 +01:00
Franck Nijhof
bfa0edaf92
Migrate Integration Quality Scale from docs to manifest: internal ( #30551 )
2020-01-07 20:58:49 +01:00
Franck Nijhof
a84741392b
Format all manifests with prettier ( #30521 )
2020-01-06 21:28:23 +01:00
Ville Skyttä
e6388e186c
Remove unnecessary string literal concatenations ( #30360 )
2020-01-02 21:17:10 +02:00
Paulus Schoutsen
834929a14e
Clean up mobile app webhooks ( #30123 )
2019-12-21 22:45:06 +01:00
Ville Skyttä
130571c478
Remove no longer needed auth.util, use secrets instead ( #29861 )
2019-12-12 16:46:33 +01:00
springstan
04722fdd63
Move imports to top for http ( #29500 )
2019-12-05 13:42:09 +01:00
Paulus Schoutsen
c76f768a82
Make conversation and intent context aware ( #28965 )
...
* WIP
* LINT
2019-11-26 11:30:21 +01:00
Ville Skyttä
99c7608fb4
Lint config cleanups ( #28864 )
...
* Remove bunch of unneeded lint exclusions
* Use symbolic names instead of identifiers in pylint disables
* Tighten scope of some pylint disables
2019-11-25 22:40:08 -08:00
Ville Skyttä
d88ca0f5cb
Lint exclusions ( #28655 )
...
* Remove malformed pylint disable markers
* Remove some unused imports
* Remove some unneeded lint exclusions
* Remove more unneeded lint exclusions
* Add specific codes to all noqa's
2019-11-16 10:22:07 +01:00
Paulus Schoutsen
bb5da77f2c
Import shuffle ( #27935 )
...
* Simplify persistent_notification ws command
* Move cors import inside setup
* Fix stream imports
2019-10-19 12:44:51 -07:00
Paulus Schoutsen
3231e22ddf
Remove direct authentication via trusted networks or API password ( #27656 )
...
* Remove direct authentication via trusted networks and API password
* Fix tests
2019-10-14 14:56:45 -07:00
Paulus Schoutsen
e866d769e8
Google Assistant Local SDK ( #27428 )
...
* Local Google
* Fix test
* Fix tests
2019-10-13 14:16:27 -07:00
Quentame
ee8b72fb71
Move imports in http component ( #27474 )
2019-10-12 12:27:27 -07:00
Franck Nijhof
c7da781efc
Update documentation link URL for integrations in all manifests ( #27114 )
2019-10-02 09:25:44 -07:00
Ville Skyttä
fde128d66c
Upgrade mypy to 0.730, address raised issues ( #26959 )
...
https://mypy-lang.blogspot.com/2019/09/mypy-730-released.html
2019-09-27 22:57:59 +03:00
Ville Skyttä
54242cd65c
Type hint additions ( #26765 )
2019-09-20 08:23:34 -07:00
Franck Nijhof
decf13b948
Use literal string interpolation in core (f-strings) ( #26166 )
2019-08-23 09:53:33 -07:00
Ville Skyttä
b738082dad
Type check various base components ( #25878 )
...
* Type check various component base classes, disabling bunch of checks for now
* Type hint fixes
* Help mypy out some
* Add more type hints
2019-08-11 20:38:18 -07:00
Paulus Schoutsen
57f84cbbaa
Update HTTP defaults ( #25702 )
...
* Update HTTP defaults
* Fix tests
2019-08-05 08:24:54 +02:00
Paulus Schoutsen
4de97abc3a
Black
2019-07-31 12:25:30 -07:00
Paulus Schoutsen
297cd3dc13
Fix deprecation warning in test ( #25506 )
2019-07-26 17:40:40 -07:00
Paulus Schoutsen
fae3546910
Allow cors for static files ( #25468 )
2019-07-25 13:52:27 +02:00
Franck Nijhof
31f569ada9
Batch of Component(s) -> Integration(s) ( #24972 )
2019-07-05 15:24:26 -07:00
Paulus Schoutsen
f77514c6f2
Check cloud trusted proxies ( #24395 )
2019-06-07 23:08:55 -07:00
Paulus Schoutsen
6f903db8c4
Fix cors on the index view ( #24283 )
2019-06-03 11:43:13 -07:00
Paulus Schoutsen
e356d0bcda
Better handle file not found when loading YAML ( #23908 )
...
* Better handle file not found
* Lint
2019-05-19 12:01:29 +02:00
Pascal Vizeli
7a78d65633
Fix ingress bug with Firefox ( #23121 )
...
* Fix ingress bug with Firefox
* Fix mock
* Fix tests
* Fix test lint
2019-04-15 15:27:13 -07:00
cgtobi
2c07bfb9e0
Remove dependencies and requirements ( #23024 )
...
* Remove dependencies and requirements
* Revert "Remove dependencies and requirements"
This reverts commit fe7171b4cd
.
* Remove dependencies and requirements
* Revert "Remove dependencies and requirements"
This reverts commit 391355ee2c
.
* Remove dependencies and requirements
* Fix flake8 complaints
* Fix more flake8 complaints
* Revert non-component removals
2019-04-12 10:13:30 -07:00
Paulus Schoutsen
cfe4cf30ad
Add manifests ( #22699 )
...
* Add manifests
* Update auto name
* Update codeowners
* Add requirements from platforms
* Minor cleanup
* Incorporate changes from awarecan PR
2019-04-03 21:14:45 -07:00
Jason Hu
6a411710df
Fix trusted networks auth provider warning message ( #22671 )
...
* Fix trusted networks auth provider warning message
* Update auth.py
2019-04-02 21:23:59 -07:00
Jason Hu
39eaa7fc8d
Add trusted networks deprecating warning ( #22487 )
...
* Add trusted networks deprecating warning
* Update auth.py
* Update auth.py
* Update auth.py
* Update auth.py
* Tweak
2019-04-01 17:43:29 -07:00
Thomas Lovén
19d99ddf57
Lower severity level of log messages from http.view ( #21091 )
2019-03-26 19:18:32 -04:00
Paulus Schoutsen
4b1de61110
Use relative imports inside integrations ( #22235 )
...
* Use relative imports inside integrations
* Lint
* Fix automation tests
* Fix scene imports
2019-03-20 22:56:46 -07:00
Jason Hu
fe1840f901
Deprecate http.api_password ( #21884 )
...
* Deprecated http.api_password
* Deprecated ApiConfig.api_password
GitHub Drafted PR would trigger CI after changed it to normal PR.
I have to commit a comment change to trigger it
* Trigger CI
* Adjust if- elif chain in auth middleware
2019-03-10 19:55:36 -07:00
Paul Bottein
4d9cf15c45
Fix authorization header in cors ( #21662 )
...
* Fix authorization headers in cors
* Use aiohttp authorization header instead of custom const
2019-03-09 10:00:10 -08:00
Jason Hu
bbd01968ba
Override http.trusted_networks by auth_provider.trusted_networks ( #21844 )
2019-03-08 23:56:37 -08:00
Jason Hu
b18b1cffff
Fix warning ( #21538 )
2019-02-28 10:10:21 -08:00
Jason Hu
7bae76843c
Add config for trusted networks auth provider ( #21111 )
...
* Add config for trusted networks auth provider
* Lint
* Fix typing
* Fix pylint
* Fix lint
* Add some log information
* Add http.trusted_networks deprecated warning
* Remove log info
* Lint
2019-02-26 14:42:48 -08:00
Jason Hu
2155a861cd
Remove outdated url pattern match support for static file hosting ( #21109 )
2019-02-16 23:06:42 -08:00
Jason Hu
46efc0eafb
Refactor http CachingStaticResource ( #21062 )
...
* Simplify http.CachingStaticResource implementation
* Sync up CachingStaticResource._handle() implementation from aiohttp
* Ignore pylint duplicate-base warning
* Try to disable pylint for http/static.py
Caused by https://github.com/PyCQA/astroid/issues/633#issuecomment-463879288
* Remove pylint ignore
* Ignore pylint duplicate-base warning
2019-02-15 09:31:54 -08:00
Fabian Affolter
3736120c6a
Update file header ( #21061 )
...
* Update file header
* Fix lint issue
* Fix lint issue
2019-02-14 16:01:46 +01:00
Paulus Schoutsen
47f60e6cf2
Remove fingerprint middleware ( #20682 )
...
* Remove fingerprint middleware
* Lint
2019-02-02 11:52:34 +01:00
Louis Matthijssen
d39784906b
Fix HTTP login attempts check triggering too late ( #20431 )
2019-01-26 03:13:44 +01:00
Andrew Sayre
bb21cb6c89
Remove trailing slash from base_url and added ability to generate webhook path. ( #20295 )
2019-01-21 20:50:41 +01:00
Jason Hu
97394df0b9
Only authenticate request when owner can be found
2019-01-11 00:26:25 -08:00
Paulus Schoutsen
d1a621601d
No more opt-out auth ( #18854 )
...
* No more opt-out auth
* Fix var
2018-12-02 16:32:53 +01:00
Paulus Schoutsen
df21dd21f2
RFC: Call services directly ( #18720 )
...
* Call services directly
* Simplify
* Type
* Lint
* Update name
* Fix tests
* Catch exceptions in HTTP view
* Lint
* Handle ServiceNotFound in API endpoints that call services
* Type
* Don't crash recorder on non-JSON serializable objects
2018-11-30 21:28:35 +01:00
Paulus Schoutsen
d014517ce2
Always set hass_user ( #18844 )
2018-11-30 17:32:47 +01:00
Paulus Schoutsen
a2386f871d
Forbid float NaN in JSON ( #18757 )
2018-11-28 13:25:23 +01:00
Paulus Schoutsen
c2f8dfcb9f
Legacy api fix ( #18733 )
...
* Set user for API password requests
* Fix tests
* Fix typing
2018-11-27 10:41:44 +01:00
Paulus Schoutsen
8b8629a5f4
Add permission checks to Rest API ( #18639 )
...
* Add permission checks to Rest API
* Clean up unnecessary method
* Remove all the tuple stuff from entity check
* Simplify perms
* Correct param name for owner permission
* Hass.io make/update user to be admin
* Types
2018-11-25 18:04:48 +01:00
Paulus Schoutsen
1341ecd2eb
Use proper signals ( #18613 )
...
* Emulated Hue not use deprecated handler
* Remove no longer needed workaround
* Add middleware directly
* Dont always load the ban config file
* Update homeassistant/components/http/ban.py
Co-Authored-By: balloob <paulus@home-assistant.io>
* Update __init__.py
2018-11-21 20:55:21 +01:00
Paulus Schoutsen
312d49caec
Allow creating signed urls ( #17759 )
...
* Allow creating signed urls
* Fix parameter
* Lint
2018-10-25 16:44:57 +02:00
Paulus Schoutsen
2e6346ca43
Break up websocket 2 ( #17028 )
...
* Break up websocket 2
* Lint+Test
* Lintttt
* Rename
2018-10-01 16:09:31 +02:00
Jerad Meisner
50fb59477a
Store notifications in component. Add ws endpoint for fetching. ( #16503 )
...
* Store notifications in component. Add ws endpoint for fetching.
* Comments
2018-09-11 11:39:30 +02:00
Paulus Schoutsen
376d4e4fa0
Warning missed a space ( #16233 )
2018-08-28 09:32:50 +02:00
Paulus Schoutsen
9d491f5322
Change auth warning ( #16216 )
2018-08-27 10:37:03 +02:00
Jason Hu
24a8d60566
Tweak log level for bearer token warning ( #16182 )
2018-08-25 07:57:36 +02:00
Ville Skyttä
dd9d53c83e
Update pydocstyle to 2.1.1 and flake8-docstrings to 1.3.0 ( #14557 )
...
* Update pydocstyle to 2.1.1 and flake8-docstrings to 1.3.0
* Pydocstyle D401 fixes
2018-08-24 10:28:43 +02:00
Paulus Schoutsen
7bb5344942
Remove homeassistant.remote ( #16099 )
...
* Remove homeassistant.remote
* Use direct import for API
* Fix docstring
2018-08-21 15:49:58 +02:00
Paulus Schoutsen
121abb450a
Use aiohttp web.AppRunner ( #16020 )
...
* Use aiohttp web.AppRunner
* Stop site
2018-08-20 14:03:35 +02:00
Ville Skyttä
dbd0763f83
Grammar and spelling fixes ( #16065 )
2018-08-19 22:29:08 +02:00
Paulus Schoutsen
e776f88eec
Use JWT for access tokens ( #15972 )
...
* Use JWT for access tokens
* Update requirements
* Improvements
2018-08-14 21:14:12 +02:00
Paulus Schoutsen
6540d2e073
Switch to intermediate Mozilla cert profile ( #15957 )
...
* Allow choosing intermediate SSL profile
* Fix tests
2018-08-14 08:20:17 +02:00
Jason Hu
da8f93dca2
Add trusted networks auth provider ( #15812 )
...
* Add context to login flow
* Add trusted networks auth provider
* source -> context
2018-08-13 12:40:06 +02:00
Jason Hu
272be7cdae
Remove remote.API from core.Config ( #15951 )
...
* Use core.ApiConfig replace remote.API in core.Config
* Move ApiConfig to http
2018-08-13 09:26:20 +02:00
Jason Hu
6f2000f5e2
Make sure use_x_forward_for and trusted_proxies must config together ( #15804 )
...
* Make sure use_x_forward_for and trusted_proxies must config together
* Fix unit test
2018-08-03 13:52:34 +02:00
Paulus Schoutsen
c7f4bdafc0
Context ( #15674 )
...
* Add context
* Add context to switch/light services
* Test set_state API
* Lint
* Fix tests
* Do not include context yet in comparison
* Do not pass in loop
* Fix Z-Wave tests
* Add websocket test without user
2018-07-28 17:53:37 -07:00
Jason Hu
b2f4bbf93b
Only log change to use access token warning once ( #15690 )
2018-07-27 15:53:46 +02:00
Paulus Schoutsen
169c8d793a
Fix CORS duplicate registration ( #15670 )
2018-07-25 11:36:44 +02:00
Jason Hu
d7690c5fda
Add ipban for failed login attempt in new login flow ( #15551 )
...
* Add ipban for failed login attempt in new login flow
* Address review comment
* Use decorator to clean up code
2018-07-24 10:09:52 +02:00
Ville Skyttä
b7c336a687
Pylint cleanups ( #15626 )
...
* Pylint 2 no-else-return fixes
* Remove unneeded abstract-class-not-used pylint disable
2018-07-23 10:16:05 +02:00
Jason Hu
f1286f8e6b
Reset failed login attempts counter when login success ( #15564 )
2018-07-20 12:09:48 +02:00
Ville Skyttä
2f7b79764a
More pylint 2 fixes ( #15565 )
...
## Description:
More fixes flagged by pylint 2 that don't hurt to have before the actual pylint 2 upgrade (which I'll submit soon).
## Checklist:
- [ ] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
2018-07-20 11:45:20 +03:00
Paulus Schoutsen
2a76a0852f
Allow CORS requests to token endpoint ( #15519 )
...
* Allow CORS requests to token endpoint
* Tests
* Fuck emulated hue
* Clean up
* Only cors existing methods
2018-07-19 08:37:00 +02:00
Paulus Schoutsen
ad4cba70a0
Extract SSL context creation to helper ( #15483 )
...
* Extract SSL context creation to helper
* Lint
2018-07-16 10:32:07 +02:00
Paulus Schoutsen
ed0cfc4f31
Add user via cmd line creates owner ( #15470 )
...
* Add user via cmd line creates owner
* Ensure access tokens are not verified for inactive users
* Stale print
* Lint
2018-07-15 20:46:15 +02:00
Paulus Schoutsen
70fe463ef0
User management ( #15420 )
...
* User management
* Lint
* Fix dict
* Reuse data instance
* OrderedDict all the way
2018-07-13 15:31:20 +02:00