Re-register in production mode using saved credentials
|Status:||Closed||Start date:||23 Aug 2018|
|Target version:||Iron Man - 0.5.0|
|Severity:||01 - Critical|
In production mode, after reading registration credentials, imlightsw should ping the monitor. The ping should get a response saying the registration is valid.
If the registration is not valid then the registration should be cleared and we go into standby mode forcing the user to re-register the device. This is how you deal with devices whose registration have been cleared from the monitor but the device doesn't know it (perhaps it was powered off when the device was cleared from the monitor).
A blink pattern needs to be displayed if we have to re-register. Use BP_NOT_REGISTERED.
This will require a new API for the monitor: POST /ping which accepts the encrypted "ping" message. If decrypting the ping fails then the response is 401, otherwise it's 200.
RM #666: Allow resetting of registration credentials if either 1) we're compiled with RESET=1 or 2) we are in Config Mode and actually connect to the remote host.
RM #666: Clean up encode/decode handling (after updating AES library, which had bugs). Implement ping function that uses it to validate existing registration.
#2 Updated by Hammel about 2 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
This took longer than expected because the AES library had bugs that had been fixed upstream but hadn't been pulled locally. After that, things worked pretty much as expected.
Ping function implemented on both imlightsw and imrest and verified on hardware - nodes can now revalidate their registration on power up using encrypted requests.
All code pushed upstream.