mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-03-30 14:45:52 +00:00
fix: encrypted payload field sizes match firmware source (Mesh.cpp)
Per firmware: PAYLOAD_VER_1 uses dest(1) + src(1) + MAC(2), not 6+6+4. Confirmed from Mesh.cpp lines 129-130: uint8_t dest_hash = payload[i++] and MeshCore.h: CIPHER_MAC_SIZE = 2. Changed: decodeEncryptedPayload (REQ/RESPONSE/TXT_MSG), decodeAck, decodeAnonReq (dest 1B + pubkey 32B + MAC 2B), decodePath (1+1+2). Updated test min-length assertions.
This commit is contained in:
@@ -22,9 +22,9 @@
|
||||
<meta name="twitter:title" content="MeshCore Analyzer">
|
||||
<meta name="twitter:description" content="Real-time MeshCore LoRa mesh network analyzer — live packet visualization, node tracking, channel decryption, and route analysis.">
|
||||
<meta name="twitter:image" content="https://raw.githubusercontent.com/Kpa-clawbot/meshcore-analyzer/master/public/og-image.png">
|
||||
<link rel="stylesheet" href="style.css?v=1774315381">
|
||||
<link rel="stylesheet" href="home.css?v=1774315381">
|
||||
<link rel="stylesheet" href="live.css?v=1774315381">
|
||||
<link rel="stylesheet" href="style.css?v=1774315966">
|
||||
<link rel="stylesheet" href="home.css?v=1774315966">
|
||||
<link rel="stylesheet" href="live.css?v=1774315966">
|
||||
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"
|
||||
integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY="
|
||||
crossorigin="anonymous">
|
||||
@@ -81,27 +81,27 @@
|
||||
<main id="app" role="main"></main>
|
||||
|
||||
<script src="vendor/qrcode.js"></script>
|
||||
<script src="roles.js?v=1774315381"></script>
|
||||
<script src="customize.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="region-filter.js?v=1774315381"></script>
|
||||
<script src="hop-resolver.js?v=1774315381"></script>
|
||||
<script src="hop-display.js?v=1774315381"></script>
|
||||
<script src="app.js?v=1774315381"></script>
|
||||
<script src="home.js?v=1774315381"></script>
|
||||
<script src="packet-filter.js?v=1774315381"></script>
|
||||
<script src="packets.js?v=1774315381"></script>
|
||||
<script src="map.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="channels.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="nodes.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="traces.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="analytics.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="audio.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="audio-v1-constellation.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="audio-lab.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="live.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="observers.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="observer-detail.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="node-analytics.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="perf.js?v=1774315381" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="roles.js?v=1774315966"></script>
|
||||
<script src="customize.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="region-filter.js?v=1774315966"></script>
|
||||
<script src="hop-resolver.js?v=1774315966"></script>
|
||||
<script src="hop-display.js?v=1774315966"></script>
|
||||
<script src="app.js?v=1774315966"></script>
|
||||
<script src="home.js?v=1774315966"></script>
|
||||
<script src="packet-filter.js?v=1774315966"></script>
|
||||
<script src="packets.js?v=1774315966"></script>
|
||||
<script src="map.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="channels.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="nodes.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="traces.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="analytics.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="audio.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="audio-v1-constellation.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="audio-lab.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="live.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="observers.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="observer-detail.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="node-analytics.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
<script src="perf.js?v=1774315966" onerror="console.error('Failed to load:', this.src)"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -233,7 +233,7 @@ test('ACK decode', () => {
|
||||
});
|
||||
|
||||
test('ACK too short', () => {
|
||||
const hex = '0D00' + '00'.repeat(10);
|
||||
const hex = '0D00' + '00'.repeat(3);
|
||||
const p = decodePacket(hex);
|
||||
assert(p.payload.error);
|
||||
});
|
||||
@@ -282,7 +282,7 @@ test('PATH decode', () => {
|
||||
});
|
||||
|
||||
test('PATH too short', () => {
|
||||
const hex = '2100' + '00'.repeat(8);
|
||||
const hex = '2100' + '00'.repeat(1);
|
||||
const p = decodePacket(hex);
|
||||
assert(p.payload.error);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user