Bug #666

Re-register in production mode using saved credentials

Added by Hammel about 2 years ago. Updated about 2 years ago.

Status:ClosedStart date:23 Aug 2018
Priority:ImmediateDue date:
Assignee:Hammel% Done:

100%

Category:-
Target version:Iron Man - 0.5.0
Severity:01 - Critical

Description

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.

Associated revisions

Revision 051707cf
Added by Hammel about 2 years ago

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.

Revision 768abee8
Added by Hammel about 2 years ago

RM #666: Clean up encode/decode handling (after updating AES library, which had bugs). Implement ping function that uses it to validate existing registration.

Revision 46afc6f0
Added by Hammel about 2 years ago

RM #666: Implement ping handler so nodes can re-verify they're registration using encryption.

History

#1 Updated by Hammel about 2 years ago

  • Project changed from Iron Man to Sensors
  • Category deleted (Sensors)

#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.
Closing issue.

Also available in: Atom PDF