* extra debug diagnostics for repeater

This commit is contained in:
Scott Powell
2025-01-19 20:22:02 +11:00
parent 88f21d9aa4
commit 919e6d380c

View File

@@ -197,9 +197,11 @@ protected:
if (memcmp(&data[4], ADMIN_PASSWORD, 8) == 0) { // check for valid password
auto client = putClient(sender); // add to known clients (if not already known)
if (client == NULL || timestamp <= client->last_timestamp) {
MESH_DEBUG_PRINTLN("Client table full, or replay attack!");
return; // FATAL: client table is full -OR- replay attack
}
MESH_DEBUG_PRINTLN("Login success!");
client->last_timestamp = timestamp;
uint32_t now = getRTCClock()->getCurrentTime();
@@ -221,6 +223,9 @@ protected:
}
}
}
} else {
data[4+8] = 0; // ensure null terminator
MESH_DEBUG_PRINTLN("Incorrect password: %s", &data[4]);
}
}
}
@@ -290,7 +295,7 @@ protected:
int i = matching_peer_indexes[sender_idx];
if (i >= 0 && i < num_clients) { // get from our known_clients table (sender SHOULD already be known in this context)
Serial.printf("PATH to client, path_len=%d\n", (uint32_t) path_len);
MESH_DEBUG_PRINTLN("PATH to client, path_len=%d", (uint32_t) path_len);
auto client = &known_clients[i];
memcpy(client->out_path, path, client->out_path_len = path_len); // store a copy of path, for sendDirect()
} else {
@@ -364,7 +369,7 @@ static char command[80];
void setup() {
Serial.begin(115200);
delay(5000);
delay(1000);
board.begin();