Warning: Permanently added '3.82.11.118' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --srpm --task-url https://copr.fedorainfracloud.org/backend/get-srpm-build-task/11242071 Version: 1.10 PID: 11942 Logging PID: 11944 Task: {'appstream': False, 'background': False, 'build_id': 11242071, 'chroot': None, 'distributions_in_build': [], 'distributions_in_project': ['alma-kitten+epel-10', 'epel-10', 'epel-9', 'fedora-43', 'fedora-44', 'fedora-45'], 'package_name': None, 'project_dirname': 'daily', 'project_name': 'daily', 'project_owner': '@meshtastic', 'repos': [], 'sandbox': '@meshtastic/daily--vidplace7', 'source_json': {'clone_url': 'https://github.com/meshtastic/firmware.git', 'committish': '4c89b6937cc5073fc71fa825dfcca7c9f18becee', 'spec': '', 'srpm_build_method': 'rpkg', 'subdirectory': '', 'type': 'git'}, 'source_type': 8, 'submitter': 'vidplace7', 'task_id': '11242071'} Running: git clone https://github.com/meshtastic/firmware.git /var/lib/copr-rpmbuild/workspace/workdir-yjxszqx5/firmware --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://github.com/meshtastic/firmware.git', '/var/lib/copr-rpmbuild/workspace/workdir-yjxszqx5/firmware', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: Submodule path 'meshtestic': checked out 'dcac7e5673005f4d8a2b1f0f6e06877b689d7519' Submodule path 'protobufs': checked out '8d0ed0c135f91ad1d6f9c60bc341277d64946bce' stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-yjxszqx5/firmware'... Submodule 'meshtestic' (https://github.com/meshtastic/meshTestic) registered for path 'meshtestic' Submodule 'protobufs' (https://github.com/meshtastic/protobufs.git) registered for path 'protobufs' Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-yjxszqx5/firmware/meshtestic'... Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-yjxszqx5/firmware/protobufs'... Running: git checkout 4c89b6937cc5073fc71fa825dfcca7c9f18becee -- cmd: ['git', 'checkout', '4c89b6937cc5073fc71fa825dfcca7c9f18becee', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-yjxszqx5/firmware rc: 0 stdout: stderr: Note: switching to '4c89b6937cc5073fc71fa825dfcca7c9f18becee'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 4c89b6937 Router: drop received packets that carry our own node number (#12270) Generated rpkg config: [rpkg] preprocess_spec = True [git] anon_clone_url = https://github.com/%(repo_path)s [lookaside] download_url = https://${git_props:remote_netloc}/repo/pkgs/%(repo_path)s/%(filename)s/%(hashtype)s/%(hash)s/%(filename)s Writing config into /var/lib/copr-rpmbuild/workspace/workdir-yjxszqx5/.config/rpkg.conf Running: rpkg srpm --outdir /var/lib/copr-rpmbuild/results --spec /var/lib/copr-rpmbuild/workspace/workdir-yjxszqx5/firmware cmd: ['rpkg', 'srpm', '--outdir', '/var/lib/copr-rpmbuild/results', '--spec', '/var/lib/copr-rpmbuild/workspace/workdir-yjxszqx5/firmware'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-yjxszqx5/firmware rc: 0 stdout: Wrote: /var/lib/copr-rpmbuild/results/meshtasticd.spec setting SOURCE_DATE_EPOCH=1793577600 Wrote: /var/lib/copr-rpmbuild/results/meshtasticd-2.8.2-14621.daily.git4c89b6937.src.rpm RPM build warnings: stderr: git_dir_pack: archiving /var/lib/copr-rpmbuild/workspace/workdir-yjxszqx5/firmware: commit 4c89b6937cc5073fc71fa825dfcca7c9f18becee (HEAD, origin/develop, origin/HEAD, develop) Author: Jonathan Bennett Date: Sun Nov 1 19:45:00 2026 +0000 Router: drop received packets that carry our own node number (#12270) * Router: drop received packets that carry our own node number Every packet we transmit is recorded in PacketHistory when it is sent, so an echo heard back off the mesh is consumed by shouldFilterReceived(): the implicit ACK fires and retransmissions stop. A LoRa frame with our number that the filter does not recognise (one of ours that has aged out of PacketHistory, or that was sent before a reboot) was then processed as new inbound traffic: dispatched to modules and, when addressed to us, forwarded to the client as a fresh packet. MQTT and UDP ingress already drop from == us. Drop such packets in Router::perhapsHandleReceived() right after shouldFilterReceived(), so recognised echoes keep their implicit ACK and retransmission cancel. test_own_number_ingress pushes frames through the real ingress path: an unrecognised own-number frame to us and an unrecognised own-number broadcast reach neither modules nor the phone; a frame from another node still does; and a recognised echo of our own want_ack broadcast still yields the implicit ACK and clears the pending retransmission. Without the drop the two own-number cases fail; with the drop moved ahead of the filter the echo case fails. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Y1BYe4ahUHxyhw3nGTX67D * FloodingRouter: skip dupe reprocessing for our own packets The first copy of an unrecognised own-number frame enters PacketHistory before Router::perhapsHandleReceived() drops it, so a second copy takes the dupe path. With hop_start == hop_limit that path reprocesses it as an originator retry (traceroute handling, and an ACK for a want_ack frame to us), and an "upgraded" copy with more hops removes our own queued transmission from the TX queue. Neither applies to our own packets: we never relay them, and their implicit ACK is generated earlier in ReliableRouter::shouldFilterReceived. reprocessPacket() now returns false for them, and perhapsHandleUpgradedPacket() leaves them alone, so the upgraded copy falls through to the own-number drop. test_own_number_ingress adds a repeated want_ack own-number frame (must not be ACKed) and an upgraded own-number copy (our queued packet must stay queued). Both fail without the guards. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Y1BYe4ahUHxyhw3nGTX67D * FloodingRouter: consume upgraded copies of our own packets PacketHistory reports an upgraded copy as seen, so when perhapsHandleUpgradedPacket() returned false for an own-number copy it fell through to the ordinary dupe handling. With hop_start > hop_limit that reached perhapsCancelDupe(), which on a client cancels our own queued transmission. Return true for own-number copies instead, so they are consumed without touching the TX queue. test_own_number_ingress adds the hop_start > hop_limit upgrade case (our queued packet must stay queued); it fails without this change. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Y1BYe4ahUHxyhw3nGTX67D * test_own_number_ingress: follow the implicit ACK to the phone The echo case only counted the ACK request through the harness's stub sendAckNak(). AuthPipelineRoutingModule gains a deliverAcks switch that also runs the real RoutingModule::sendAckNak(), so the ACK travels Router::sendLocal() -> RoutingModule -> MeshService to the phone queue. - The broadcast echo case now requires exactly one frame on the phone: a ROUTING_APP success ACK carrying the original request_id. - New case: an opaque echo of our own want_ack PKI DM (unknown channel hash, OPAQUE_RELAY_ONLY) must cancel the retransmission and deliver the same ACK. Filtering our number at phone delivery (as in #11487) fails both; skipping the opaque implicit ACK (as in #11502) fails the PKI DM case. The switch is off by default and cleared on reset, so test_rebroadcast_mode is unaffected. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Y1BYe4ahUHxyhw3nGTX67D --------- Co-authored-by: Claude Co-authored-by: Ben Meadors git_dir_pack: Wrote: /var/lib/copr-rpmbuild/results/firmware-4c89b693.tar.gz warning: Downloading https://github.com/meshtastic/web/releases/download/v2.6.7/build.tar to /var/lib/copr-rpmbuild/results/build.tar Downloading https://github.com/meshtastic/web/releases/download/v2.6.7/build.tar to /var/lib/copr-rpmbuild/results/build.tar Output: ['meshtasticd.spec', 'meshtasticd-2.8.2-14621.daily.git4c89b6937.src.rpm', 'build.tar', 'firmware-4c89b693.tar.gz'] Running SRPMResults tool Using distributions_in_project for this build. Extracting arch-specific tags for alma-kitten+epel-10 Extracting arch-specific tags for epel-10 Extracting arch-specific tags for epel-9 Extracting arch-specific tags for fedora-43 Extracting arch-specific tags for fedora-44 Extracting arch-specific tags for fedora-45 Package info: { "architecture_specific_tags": { "alma-kitten+epel-10": {}, "epel-10": {}, "epel-9": {}, "fedora-43": {}, "fedora-44": {}, "fedora-45": {} }, "name": "meshtasticd", "epoch": null, "version": "2.8.2", "release": "14621.daily.git4c89b6937" } SRPMResults finished