Browse Source

* repeater and room server: enable downgrading permissions on guest login

pull/906/merge
Scott Powell 8 months ago
parent
commit
c6b4a58449
  1. 1
      examples/simple_repeater/MyMesh.cpp
  2. 3
      examples/simple_room_server/MyMesh.cpp

1
examples/simple_repeater/MyMesh.cpp

@ -114,6 +114,7 @@ uint8_t MyMesh::handleLoginReq(const mesh::Identity& sender, const uint8_t* secr
MESH_DEBUG_PRINTLN("Login success!"); MESH_DEBUG_PRINTLN("Login success!");
client->last_timestamp = sender_timestamp; client->last_timestamp = sender_timestamp;
client->last_activity = getRTCClock()->getCurrentTime(); client->last_activity = getRTCClock()->getCurrentTime();
client->permissions &= ~0x03;
client->permissions |= perms; client->permissions |= perms;
memcpy(client->shared_secret, secret, PUB_KEY_SIZE); memcpy(client->shared_secret, secret, PUB_KEY_SIZE);

3
examples/simple_room_server/MyMesh.cpp

@ -286,7 +286,7 @@ void MyMesh::onAnonDataRecv(mesh::Packet *packet, const uint8_t *secret, const m
data[len] = 0; // ensure null terminator data[len] = 0; // ensure null terminator
ClientInfo* client = NULL; ClientInfo* client = NULL;
if (data[8] == 0 && !_prefs.allow_read_only) { // blank password, just check if sender is in ACL if (data[8] == 0) { // blank password, just check if sender is in ACL
client = acl.getClient(sender.pub_key, PUB_KEY_SIZE); client = acl.getClient(sender.pub_key, PUB_KEY_SIZE);
if (client == NULL) { if (client == NULL) {
#if MESH_DEBUG #if MESH_DEBUG
@ -322,6 +322,7 @@ void MyMesh::onAnonDataRecv(mesh::Packet *packet, const uint8_t *secret, const m
client->extra.room.push_failures = 0; client->extra.room.push_failures = 0;
client->last_activity = getRTCClock()->getCurrentTime(); client->last_activity = getRTCClock()->getCurrentTime();
client->permissions &= ~0x03;
client->permissions |= perm; client->permissions |= perm;
memcpy(client->shared_secret, secret, PUB_KEY_SIZE); memcpy(client->shared_secret, secret, PUB_KEY_SIZE);

Loading…
Cancel
Save