Skip to content

Validate link proofs - #99

Merged
attermann merged 1 commit into
attermann:masterfrom
zerokelvin-dev:link-proof-validate
Nov 10, 2026
Merged

attermann merged 1 commit into
attermann:masterfrom
zerokelvin-dev:link-proof-validate

Conversation

@jamiecounsell

Copy link
Copy Markdown
Contributor

validate_link_proof() had its signature check stubbed to false, so a proof for a packet sent over a link was never accepted. The packet was never marked delivered and its delivery callback would never run.

This restores the check (from the Python reference). Link::validate() isn't const, so it validates even through a copy of the link, which shares the same state.

Restoring the check works in my testing. Was there a reason it was disabled?

Testing: running in SolarOS on a ThinkNode M9 (ESP32-S3, ESP-IDF) against Python RNS nodes over LoRa, exchanging LXMF messages. Native tests pass, and the series builds for ttgo-lora32-v21 and wiscore_rak4631.

validate_link_proof() had its signature check stubbed to false, so a proof
for a packet sent over a link was never accepted. The packet was never
marked delivered and its delivery callback never ran.

This restores the check from the Python reference. link is passed as
const Link& but Link::validate() isn't const, so it validates through a
copy of the link (copies share the same state).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019rUgoKJdB4U8fNS9HybY8S
@attermann

Copy link
Copy Markdown
Owner

Thanks for tracking this down and fixing it. The check was stubbed out in the port and I don't recall a deliberate reason, so restoring it from the reference looks right. Testing against Python RNS nodes over LoRa is useful confirmation.

If you have time, a small test that a valid link proof marks the receipt delivered and a bad signature doesn't would be welcome. It isn't blocking.

@attermann
attermann merged commit db5793d into attermann:master Nov 10, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants