From a5afef12b4445e03614b45803fda93529ec58654 Mon Sep 17 00:00:00 2001 From: Ben Meadors Date: Wed, 8 Apr 2026 15:14:00 -0500 Subject: [PATCH] Update src/modules/PositionModule.cpp Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/modules/PositionModule.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/modules/PositionModule.cpp b/src/modules/PositionModule.cpp index 3dc69f2c0..e362519f8 100644 --- a/src/modules/PositionModule.cpp +++ b/src/modules/PositionModule.cpp @@ -368,8 +368,10 @@ meshtastic_MeshPacket *PositionModule::allocAtakPli() } // Wire format: [flags byte][protobuf bytes] - // Flags byte 0xFF = uncompressed raw protobuf (no zstd dictionary) - // This is a special value checked before dict ID masking per WIRE_FORMAT.md spec + // Flags byte 0xFF is a reserved sentinel meaning the remainder is an + // uncompressed raw protobuf payload (that is, no zstd dictionary ID is + // encoded in the flags byte). Decoders must check for this sentinel before + // applying any dictionary-ID masking/interpretation. mp->decoded.payload.bytes[0] = 0xFF; memcpy(mp->decoded.payload.bytes + 1, protobuf_bytes, proto_size); mp->decoded.payload.size = proto_size + 1;