BUGFIX: replay protection on repeaters tripped by timestamp sent from companion node mobile app. Send the node's RTC timestamp for TXT_TYPE_CLI_DATA messages instead of the timestamp from the app (matches the sendRequest() code logic).
This commit is contained in:
@@ -903,6 +903,7 @@ void MyMesh::handleCmdFrame(size_t len) {
|
|||||||
int result;
|
int result;
|
||||||
uint32_t expected_ack;
|
uint32_t expected_ack;
|
||||||
if (txt_type == TXT_TYPE_CLI_DATA) {
|
if (txt_type == TXT_TYPE_CLI_DATA) {
|
||||||
|
msg_timestamp = getRTCClock()->getCurrentTimeUnique(); // Use node's RTC instead of app timestamp to avoid tripping replay protection
|
||||||
result = sendCommandData(*recipient, msg_timestamp, attempt, text, est_timeout);
|
result = sendCommandData(*recipient, msg_timestamp, attempt, text, est_timeout);
|
||||||
expected_ack = 0; // no Ack expected
|
expected_ack = 0; // no Ack expected
|
||||||
} else {
|
} else {
|
||||||
@@ -1880,4 +1881,4 @@ bool MyMesh::advert() {
|
|||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user