summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-26 17:58:00 +0100
committertv <tv@krebsco.de>2026-10-26 17:58:00 +0100
commit92065bdb8ae79f549abd405755df173858e3e573 (patch)
treefc40bb65e78d21ebcc1e2a39e4f583a90805d856 /src
parentc64c2d283ae99581bf5f06fed0303f7f2d82f980 (diff)
show sender on mycelium transport parse error
Diffstat (limited to 'src')
-rw-r--r--src/transport/mycelium/mod.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/transport/mycelium/mod.rs b/src/transport/mycelium/mod.rs
index 0b74793..f8569c1 100644
--- a/src/transport/mycelium/mod.rs
+++ b/src/transport/mycelium/mod.rs
@@ -322,8 +322,17 @@ impl Transport for MyceliumTransport {
}
}
Err(transport_error) => {
+ // Who sent it and what it claims to be: a peer on another build
+ // shows up as one sender whose messages of one kind all fail.
+ let kind = BASE64
+ .decode(&inbound_message.payload)
+ .ok()
+ .and_then(|payload| payload.first().copied());
tracing::error!(
error = %transport_error,
+ from = %inbound_message.src_pk,
+ kind = ?kind,
+ payload_bytes = base64_decoded_len(&inbound_message.payload),
topic = %inbound_message.topic,
"Dropping poisoned packet: parsing failed gracefully"
);