summaryrefslogtreecommitdiff
path: root/src/Network.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Network.hs')
-rw-r--r--src/Network.hs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Network.hs b/src/Network.hs
index eceeaff..339be7a 100644
--- a/src/Network.hs
+++ b/src/Network.hs
@@ -189,7 +189,10 @@ startServer origHead logd bhost services = do
mbpeer <- M.lookup paddr <$> readMVar peers
(peer, content, secure) <- if
| Just peer <- mbpeer
- , ChannelEstablished ch <- peerChannel peer
+ , Just ch <- case peerChannel peer of
+ ChannelEstablished ch -> Just ch
+ ChannelOurAccept _ sch -> Just $ fromStored sch
+ _ -> Nothing
, Right plain <- runExcept $ channelDecrypt ch msg
-> return (peer, plain, True)
@@ -399,7 +402,7 @@ handlePacket logd identity secure opeer chanSvc (TransportHeader headers) = do
[ serializeObject $ transportToObject $ TransportHeader $ reverse $ phHead ph
, BL.concat $ map lazyLoadBytes $ phBody ph
]
- case peerChannel opeer of
+ case peerChannel $ phPeer ph of
ChannelEstablished ch -> do
x <- runExceptT (channelEncrypt ch plain)
case x of Right ctext -> void $ sendTo (peerSocket $ phPeer ph) ctext paddr