Browse Source

* companion: fix for CMD_IMPORT_PRIVATE_KEY, to re-calc shared secrets

pull/563/head
Scott Powell 10 months ago
parent
commit
f87e856347
  1. 4
      examples/companion_radio/MyMesh.cpp
  2. 2
      src/helpers/BaseChatMesh.h

4
examples/companion_radio/MyMesh.cpp

@ -661,6 +661,7 @@ void MyMesh::begin(bool has_display) {
_active_ble_pin = 0;
#endif
resetContacts();
_store->loadContacts(this);
addChannel("Public", PUBLIC_GROUP_PSK); // pre-configure Andy's public channel
_store->loadChannels(this);
@ -1097,6 +1098,9 @@ void MyMesh::handleCmdFrame(size_t len) {
if (_store->saveMainIdentity(identity)) {
self_id = identity;
writeOKFrame();
// re-load contacts, to recalc shared secrets
resetContacts();
_store->loadContacts(this);
} else {
writeErrFrame(ERR_CODE_FILE_IO_ERROR);
}

2
src/helpers/BaseChatMesh.h

@ -88,6 +88,8 @@ protected:
memset(connections, 0, sizeof(connections));
}
void resetContacts() { num_contacts = 0; }
// 'UI' concepts, for sub-classes to implement
virtual bool isAutoAddEnabled() const { return true; }
virtual void onDiscoveredContact(ContactInfo& contact, bool is_new, uint8_t path_len, const uint8_t* path) = 0;

Loading…
Cancel
Save