* repeater and room server: enable downgrading permissions on guest login
This commit is contained in:
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user