The official firmware for Meshtastic, an open-source, off-grid mesh communication system.
  • C++ 72.9%
  • C 22.2%
  • Python 2.7%
  • Shell 1.6%
  • Batchfile 0.2%
  • Other 0.2%
Find a file
Jonathan Bennett 364a111f4a
Uplink PKI DMs the gateway relays but cannot decrypt to MQTT (#12110)
Since the packet authenticity gate (d6b12ea3f), a PKI DM between two other
nodes decodes as DECODE_OPAQUE, so perhapsHandleReceived() relays it and
returns before dispatchReceived(). That was the only place such a DM was
marked pki_encrypted and published on the PKI topic, so a gateway no longer
uplinked DMs (or the PKI-encrypted ACKs answering them) from its mesh, and
DMs between mesh and MQTT stopped completing.

Publish those DMs from the opaque path instead, under the same conditions as
before (MQTT and its encryption enabled, channel 0, unicast, not to or from
us, not via MQTT). A small (from, id) ring keeps the copy heard from each
relay from being published again, since opaque frames stay out of
PacketHistory. The now-unreachable DECODE_OPAQUE branch in
dispatchReceived() is removed.


Claude-Session: https://claude.ai/code/session_01ECUkcuNgzRpL3MdDjZih2h

Co-authored-by: Claude <noreply@anthropic.com>
2026-10-08 16:23:26 +00:00
.claude Extract mcp-server to its own repo (meshtastic/meshtastic-mcp) (#10861) 2026-07-02 14:33:04 -05:00
.clusterfuzzlite lint: fix stale trivy rule codes in clusterfuzzlite Dockerfile (#11165) 2026-07-24 07:45:06 +00:00
.devcontainer Meshtasticd notifications (#10216) 2026-10-01 17:38:14 +00:00
.github Gate verbose radio logging behind LOG_DEBUG_RADIO (RADIO_DEBUG) (#12071) 2026-10-05 15:14:10 +00:00
.trunk Upgrade trunk (#11924) 2026-10-02 11:59:23 +00:00
.vscode VSCode: Prepare for pioarduino transition (#10471) 2026-05-13 09:25:11 -05:00
bin rename lora-frametastic to lora-usb-frametastic (#12104) 2026-10-07 22:54:14 +00:00
boards fix(boards): add the missing openocd_target to t-impulse-plus (#12034) 2026-10-07 21:10:00 +00:00
branding spelling fixes in .md files (#9810) 2026-03-05 08:54:57 +11:00
data/static Bundle WebUI (#878) 2021-10-09 17:15:12 +11:00
debian feat(portduino): add a test-menu action to power off the host (#11920) 2026-10-02 17:54:37 +00:00
extra_scripts fix drop_stale_sdkconfig_defaults() (#11861) 2026-09-16 16:15:22 +00:00
images No idea why trunk wants to disturb these PNGs but... 2024-10-08 05:34:41 -05:00
meshtestic@dcac7e5673 python3 ref 2024-09-24 15:24:08 -05:00
monitor lint: drop redundant bandit ignores in c3 exception decoder (#11173) 2026-07-26 05:32:05 +00:00
packaging/windows Package meshtasticd for Windows as an MSI (#11289) 2026-07-31 04:53:52 +00:00
protobufs@95c5f8c1c4 Update protobufs (#12065) 2026-10-03 21:22:22 +02:00
release Cleans up visibility in GPS.h (#5426) 2024-11-23 06:10:09 -06:00
scripts lint: hoist stdlib imports above Import(env) in add_mbedtls_sources (#11172) 2026-07-26 05:32:54 +00:00
src Uplink PKI DMs the gateway relays but cannot decrypt to MQTT (#12110) 2026-10-08 16:23:26 +00:00
test Uplink PKI DMs the gateway relays but cannot decrypt to MQTT (#12110) 2026-10-08 16:23:26 +00:00
tools emdashes begone (#10847) 2026-07-01 19:01:27 -05:00
variants nRF52840: run X25519 and Ed25519 verify on the CC310 (#12098) 2026-10-07 11:42:11 +00:00
.coderabbit.yaml docs(agents): exempt test headers from the two-line comment limit (#11742) 2026-09-09 01:56:22 +00:00
.dockerignore Initial commit of a fuzzer for Meshtastic (#5790) 2025-01-16 18:42:21 -06:00
.env.example meshtasticd-docker: simplify, add USB compose (#5662) 2024-12-26 12:59:26 -06:00
.envrc Add initial Nix shell (#8530) 2026-01-29 10:06:58 -06:00
.gitattributes update gitattributes for windows (#6289) 2025-03-11 13:05:51 -05:00
.gitignore Add MEDIUM_TURBO modem preset (#10988) 2026-07-11 08:24:35 -05:00
.gitmodules Consume device-ui as a pio library (#6193) 2025-03-05 16:19:59 -06:00
.mcp.json Extract mcp-server to its own repo (meshtastic/meshtastic-mcp) (#10861) 2026-07-02 14:33:04 -05:00
.semgrepignore Actions: exclude mutable action tag rule from Semgrep scans (#11944) 2026-09-21 19:09:28 +00:00
AGENTS.md feat(portduino): admin keys in config.yaml, beyond the protobuf's three (#12056) 2026-10-03 03:19:01 +00:00
alpine.Dockerfile Meshtasticd notifications (#10216) 2026-10-01 17:38:14 +00:00
CLAUDE.md test(harness): make run-tests.sh drivable by a caller that cannot see the terminal (#11862) 2026-09-22 11:10:53 +00:00
CODE_OF_CONDUCT.md Trunk 2024-11-28 06:26:51 -06:00
CONTRIBUTING.md lol of course trunk fmt 2024-09-04 15:33:28 -07:00
default_8MB.csv ESP32: Migrate to Arduino 3.x (pioarduino) (#9122) 2026-05-17 18:53:32 -05:00
default_16MB.csv ESP32: Migrate to Arduino 3.x (pioarduino) (#9122) 2026-05-17 18:53:32 -05:00
docker-compose.yml meshtasticd-docker: simplify, add USB compose (#5662) 2024-12-26 12:59:26 -06:00
Dockerfile feat(portduino): BLE peripheral support via BlueZ for meshtasticd (Raspberry Pi) (#11396) 2026-10-01 21:20:09 +00:00
Dockerfile.test Meshtasticd notifications (#10216) 2026-10-01 17:38:14 +00:00
flake.lock Add initial Nix shell (#8530) 2026-01-29 10:06:58 -06:00
flake.nix Add initial Nix shell (#8530) 2026-01-29 10:06:58 -06:00
LICENSE move my bt experiment into its own repo (about to remove ttn) 2020-02-01 08:30:53 -08:00
meshtasticd.spec.rpkg feat(portduino): add a test-menu action to power off the host (#11920) 2026-10-02 17:54:37 +00:00
partition-table-8MB.csv reorganize 8MB partition for MUI devices (#7860) 2025-09-08 05:56:47 -05:00
partition-table-t3s3.csv Give the 4MB T3-S3 boards an app partition that fits (#10978) 2026-07-10 10:18:09 -05:00
partition-table.csv - new Bootloader for ESP-IDF 4.2 2022-09-26 22:42:58 +02:00
platformio.ini Update meshtastic/device-ui digest to 57c7bc6 (#11982) 2026-10-02 10:45:16 +00:00
pyocd.yaml Add semihosting support for nrf52 devices (#4137) 2024-06-24 10:27:37 -05:00
README.md README: Add Membrowse badge (#12057) 2026-10-03 22:43:30 +00:00
renovate.json Renovate: Change base branch from 'master' to 'develop' (#10821) 2026-06-30 10:19:27 -05:00
rpkg.conf rpkg Fedora packaging (#5735) 2025-01-13 12:24:05 +08:00
SECURITY.md Update supported versions in SECURITY.md 2026-09-02 09:02:30 +02:00
shell.nix Add initial Nix shell (#8530) 2026-01-29 10:06:58 -06:00
suppressions.txt fix(ci): unbreak the ESP32 static analysis gate after the cppcheck 2.20 jump (#11777) 2026-09-08 23:52:54 +00:00
userPrefs.jsonc Remove TMM relayed-position precision clamp (#12039) 2026-10-02 01:50:43 +00:00
version.properties Automated version bumps (#12033) 2026-10-01 23:43:14 +00:00

Meshtastic Logo

Meshtastic Firmware

GitHub release downloads CI CLA assistant Fiscal Contributors Vercel MemBrowse

meshtastic%2Ffirmware | Trendshift

Overview

This repository contains the official device firmware for Meshtastic, an open-source LoRa mesh networking project designed for long-range, low-power communication without relying on internet or cellular infrastructure. The firmware supports various hardware platforms, including ESP32, nRF52, RP2040/RP2350, and Linux-based devices.

Meshtastic enables text messaging, location sharing, and telemetry over a decentralized mesh network, making it ideal for outdoor adventures, emergency preparedness, and remote operations.

Get Started

Join our community and help improve Meshtastic! 🚀

Stats

Alt