GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — Try default logon credentials in SslAesTransport by sdb9696 · Pull Request #1195 · python-kasa/python-kasa Conversation
|
There was an error while loading. Please reload this page.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@ ## master #1195 +/- ## ======================================= Coverage 92.38% 92.38% ======================================= Files 99 99 Lines 6525 6525 Branches 1613 1613 ======================================= Hits 6028 6028 Misses 378 378 Partials 119 119 ☔ View full report in Codecov by Sentry. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
| ) | ||
| if ( | ||
| default_error_code := self._get_response_error(resp_dict) | ||
| ) is SmartErrorCode.INVALID_NONCE: |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
INVALID_NONCE? :-)
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
That's the response we get to handshake1 in order to successfully handle handshake2. I tried to see if the discovery response has a "pass first time" nonce but it doesn't work.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| if ( | ||
| not resp_dict | ||
| or (error_code := self._get_response_error(resp_dict)) | ||
| is not SmartErrorCode.INVALID_NONCE | ||
| ): |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Maybe worth to extract into its own _try_login_with_default_creds?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Maybe this comment is no longer relevant as I've removed the erroneous forcing of the default creds try.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
A couple of quick remarks, feel free to merge as you see fit.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
|
||
| body = { | ||
| "method": "login", | ||
| "params": { |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Probably not worth assigning if this is used only once?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| or (error_code := self._get_response_error(resp_dict)) | ||
| is not SmartErrorCode.INVALID_NONCE |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Would it be better to invert the check, and bail out early on different errors?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
As I've done a bunch of testing I'll merge as is and once we've stabilised the transport and added a bunch of tests I'll be more comfortable refactoring |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
## [0.7.6](https://github.com/python-kasa/python-kasa/tree/0.7.6) (2024-10-29) [Full Changelog](0.7.5...0.7.6) **Release summary:** - Experimental support for Tapo cameras and the Tapo H200 hub which uses the same protocol. - Better timestamp support across all devices. - Support for new devices P304M, S200D and S200B (see README.md for note on the S200 support). - Various other fixes and minor features. **Implemented enhancements:** - Add support for setting the timezone [\#436](#436) - Add stream\_rtsp\_url to camera module [\#1197](#1197) (@sdb9696) - Try default logon credentials in SslAesTransport [\#1195](#1195) (@sdb9696) - Allow enabling experimental devices from environment variable [\#1194](#1194) (@sdb9696) - Add core device, child and camera modules to smartcamera [\#1193](#1193) (@sdb9696) - Fallback to get\_current\_power if get\_energy\_usage does not provide current\_power [\#1186](#1186) (@Fulch36) - Add https parameter to device class factory [\#1184](#1184) (@sdb9696) - Add discovery list command to cli [\#1183](#1183) (@sdb9696) - Add Time module to SmartCamera devices [\#1182](#1182) (@sdb9696) - Add try\_connect\_all to allow initialisation without udp broadcast [\#1171](#1171) (@sdb9696) - Update dump\_devinfo for smart camera protocol [\#1169](#1169) (@sdb9696) - Enable newer encrypted discovery protocol [\#1168](#1168) (@sdb9696) - Initial TapoCamera support [\#1165](#1165) (@sdb9696) - Add waterleak alert timestamp [\#1162](#1162) (@rytilahti) - Create common Time module and add time set cli command [\#1157](#1157) (@sdb9696) **Fixed bugs:** - Only send 20002 discovery request with key included [\#1207](#1207) (@sdb9696) - Fix SslAesTransport default login and add tests [\#1202](#1202) (@sdb9696) - Fix device\_config serialisation of https value [\#1196](#1196) (@sdb9696) **Added support for devices:** - Add S200B\(EU\) fw 1.11.0 fixture [\#1205](#1205) (@sdb9696) - Add TC65 fixture [\#1200](#1200) (@rytilahti) - Add P304M\(UK\) test fixture [\#1185](#1185) (@Fulch36) - Add H200 experimental fixture [\#1180](#1180) (@sdb9696) - Add S200D button fixtures [\#1161](#1161) (@rytilahti) **Project maintenance:** - Fix mypy errors in parse_pcap_klap [\#1214](#1214) (@sdb9696) - Make HSV NamedTuple creation more efficient [\#1211](#1211) (@sdb9696) - dump\_devinfo: query get\_current\_brt for iot dimmers [\#1209](#1209) (@rytilahti) - Add trigger\_logs and double\_click to dump\_devinfo helper [\#1208](#1208) (@sdb9696) - Fix smartcamera childdevice module [\#1206](#1206) (@sdb9696) - Add H200\(EU\) fw 1.3.2 fixture [\#1204](#1204) (@sdb9696) - Do not pass None as timeout to http requests [\#1203](#1203) (@sdb9696) - Update SMART test framework to use fake child protocols [\#1199](#1199) (@sdb9696) - Allow passing an aiohttp client session during discover try\_connect\_all [\#1198](#1198) (@sdb9696) - Add test framework for smartcamera [\#1192](#1192) (@sdb9696) - Rename experimental fixtures folder to smartcamera [\#1191](#1191) (@sdb9696) - Combine smartcamera error codes into SmartErrorCode [\#1190](#1190) (@sdb9696) - Allow deriving from SmartModule without being registered [\#1189](#1189) (@sdb9696) - Improve supported module checks for hub children [\#1188](#1188) (@sdb9696) - Update smartcamera to support single get/set/do requests [\#1187](#1187) (@sdb9696) - Add S200B\(US\) fw 1.12.0 fixture [\#1181](#1181) (@sdb9696) - Add T110\(US\), T310\(US\) and T315\(US\) sensor fixtures [\#1179](#1179) (@sdb9696) - Enforce EOLs for \*.rst and \*.md [\#1178](#1178) (@rytilahti) - Convert fixtures to use unix newlines [\#1177](#1177) (@rytilahti) - Add motion sensor to known categories [\#1176](#1176) (@rytilahti) - Drop urllib3 dependency and create ssl context in executor thread [\#1175](#1175) (@sdb9696) - Expose smart child device map as a class constant [\#1173](#1173) (@sdb9696)
Also ensure `AuthenticationErrors` are raised during handshake1.
## [0.7.6](https://github.com/python-kasa/python-kasa/tree/0.7.6) (2024-10-29) [Full Changelog](python-kasa/python-kasa@0.7.5...0.7.6) **Release summary:** - Experimental support for Tapo cameras and the Tapo H200 hub which uses the same protocol. - Better timestamp support across all devices. - Support for new devices P304M, S200D and S200B (see README.md for note on the S200 support). - Various other fixes and minor features. **Implemented enhancements:** - Add support for setting the timezone [\python-kasa#436](python-kasa#436) - Add stream\_rtsp\_url to camera module [\python-kasa#1197](python-kasa#1197) (@sdb9696) - Try default logon credentials in SslAesTransport [\python-kasa#1195](python-kasa#1195) (@sdb9696) - Allow enabling experimental devices from environment variable [\python-kasa#1194](python-kasa#1194) (@sdb9696) - Add core device, child and camera modules to smartcamera [\python-kasa#1193](python-kasa#1193) (@sdb9696) - Fallback to get\_current\_power if get\_energy\_usage does not provide current\_power [\python-kasa#1186](python-kasa#1186) (@Fulch36) - Add https parameter to device class factory [\python-kasa#1184](python-kasa#1184) (@sdb9696) - Add discovery list command to cli [\python-kasa#1183](python-kasa#1183) (@sdb9696) - Add Time module to SmartCamera devices [\python-kasa#1182](python-kasa#1182) (@sdb9696) - Add try\_connect\_all to allow initialisation without udp broadcast [\python-kasa#1171](python-kasa#1171) (@sdb9696) - Update dump\_devinfo for smart camera protocol [\python-kasa#1169](python-kasa#1169) (@sdb9696) - Enable newer encrypted discovery protocol [\python-kasa#1168](python-kasa#1168) (@sdb9696) - Initial TapoCamera support [\python-kasa#1165](python-kasa#1165) (@sdb9696) - Add waterleak alert timestamp [\python-kasa#1162](python-kasa#1162) (@rytilahti) - Create common Time module and add time set cli command [\python-kasa#1157](python-kasa#1157) (@sdb9696) **Fixed bugs:** - Only send 20002 discovery request with key included [\python-kasa#1207](python-kasa#1207) (@sdb9696) - Fix SslAesTransport default login and add tests [\python-kasa#1202](python-kasa#1202) (@sdb9696) - Fix device\_config serialisation of https value [\python-kasa#1196](python-kasa#1196) (@sdb9696) **Added support for devices:** - Add S200B\(EU\) fw 1.11.0 fixture [\python-kasa#1205](python-kasa#1205) (@sdb9696) - Add TC65 fixture [\python-kasa#1200](python-kasa#1200) (@rytilahti) - Add P304M\(UK\) test fixture [\python-kasa#1185](python-kasa#1185) (@Fulch36) - Add H200 experimental fixture [\python-kasa#1180](python-kasa#1180) (@sdb9696) - Add S200D button fixtures [\python-kasa#1161](python-kasa#1161) (@rytilahti) **Project maintenance:** - Fix mypy errors in parse_pcap_klap [\python-kasa#1214](python-kasa#1214) (@sdb9696) - Make HSV NamedTuple creation more efficient [\python-kasa#1211](python-kasa#1211) (@sdb9696) - dump\_devinfo: query get\_current\_brt for iot dimmers [\python-kasa#1209](python-kasa#1209) (@rytilahti) - Add trigger\_logs and double\_click to dump\_devinfo helper [\python-kasa#1208](python-kasa#1208) (@sdb9696) - Fix smartcamera childdevice module [\python-kasa#1206](python-kasa#1206) (@sdb9696) - Add H200\(EU\) fw 1.3.2 fixture [\python-kasa#1204](python-kasa#1204) (@sdb9696) - Do not pass None as timeout to http requests [\python-kasa#1203](python-kasa#1203) (@sdb9696) - Update SMART test framework to use fake child protocols [\python-kasa#1199](python-kasa#1199) (@sdb9696) - Allow passing an aiohttp client session during discover try\_connect\_all [\python-kasa#1198](python-kasa#1198) (@sdb9696) - Add test framework for smartcamera [\python-kasa#1192](python-kasa#1192) (@sdb9696) - Rename experimental fixtures folder to smartcamera [\python-kasa#1191](python-kasa#1191) (@sdb9696) - Combine smartcamera error codes into SmartErrorCode [\python-kasa#1190](python-kasa#1190) (@sdb9696) - Allow deriving from SmartModule without being registered [\python-kasa#1189](python-kasa#1189) (@sdb9696) - Improve supported module checks for hub children [\python-kasa#1188](python-kasa#1188) (@sdb9696) - Update smartcamera to support single get/set/do requests [\python-kasa#1187](python-kasa#1187) (@sdb9696) - Add S200B\(US\) fw 1.12.0 fixture [\python-kasa#1181](python-kasa#1181) (@sdb9696) - Add T110\(US\), T310\(US\) and T315\(US\) sensor fixtures [\python-kasa#1179](python-kasa#1179) (@sdb9696) - Enforce EOLs for \*.rst and \*.md [\python-kasa#1178](python-kasa#1178) (@rytilahti) - Convert fixtures to use unix newlines [\python-kasa#1177](python-kasa#1177) (@rytilahti) - Add motion sensor to known categories [\python-kasa#1176](python-kasa#1176) (@rytilahti) - Drop urllib3 dependency and create ssl context in executor thread [\python-kasa#1175](python-kasa#1175) (@sdb9696) - Expose smart child device map as a class constant [\python-kasa#1173](python-kasa#1173) (@sdb9696)
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.