summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2026-10-10 14:46:48 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2026-10-13 19:48:22 +0200
commit28e7ca5dd25ece91686853a4264b3a38730bea38 (patch)
tree1b0f5fe876764f5fbeb183e6d7498dc89f8f83f0
parent82b6180030d3aaa19c1291f64e58f78060542807 (diff)
Fix tunnel offer for peers without inet addresses
Changelog: Fixed tunnel offer for peers without inet addresses.
-rw-r--r--src/Erebos/Discovery.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Erebos/Discovery.hs b/src/Erebos/Discovery.hs
index c287448..53cf744 100644
--- a/src/Erebos/Discovery.hs
+++ b/src/Erebos/Discovery.hs
@@ -242,14 +242,14 @@ emptyPeer = DiscoveryPeer
viaFromPeer :: DiscoveryAttributes -> Peer -> DiscoveryPeer -> IO (Maybe DiscoveryVia)
viaFromPeer attrs peer DiscoveryPeer {..}
| Just dpeer <- dpPeer
- , _ : _ <- dpAddress
= do
getPeerIdentity dpeer >>= \case
PeerIdentityFull pid -> do
offerTunnel <- offerTunnelBetween attrs peer dpeer
let viaAddress = (if offerTunnel then (++ [ DiscoveryTunnel ]) else id) dpAddress
let viaIdentity = refDigest $ storedRef $ idData pid
- return $ Just DiscoveryVia {..}
+ return $ if null viaAddress then Nothing
+ else Just DiscoveryVia {..}
_ -> return Nothing
| otherwise
= return Nothing