diff --git a/hbs2-core/lib/HBS2/Actors/Peer.hs b/hbs2-core/lib/HBS2/Actors/Peer.hs index 2253e34c..3b7bf16c 100644 --- a/hbs2-core/lib/HBS2/Actors/Peer.hs +++ b/hbs2-core/lib/HBS2/Actors/Peer.hs @@ -163,9 +163,15 @@ data PeerEnv e = setEncryptionKey :: ( Hashable (PubKey 'Sign (Encryption L4Proto)) , Hashable PeerNonce - ) => PeerEnv L4Proto -> PeerData L4Proto -> Maybe (CommonSecret (Encryption L4Proto)) -> IO () -setEncryptionKey penv pd msecret = + , Show (PubKey 'Sign (Encryption L4Proto)) + , Show PeerNonce + , Show (CommonSecret (Encryption L4Proto)) + ) => PeerEnv L4Proto -> Peer L4Proto -> PeerData L4Proto -> Maybe (CommonSecret (Encryption L4Proto)) -> IO () +setEncryptionKey penv peer pd msecret = do atomically $ modifyTVar' (_envEncryptionKeys penv) $ Lens.at pd .~ msecret + case msecret of + Nothing -> trace $ "ENCRYPTION delete key" <+> pretty peer <+> viaShow pd + Just k -> trace $ "ENCRYPTION store key" <+> pretty peer <+> viaShow pd <+> viaShow k getEncryptionKey :: ( Hashable (PubKey 'Sign (Encryption L4Proto)) diff --git a/hbs2-peer/app/PeerMain.hs b/hbs2-peer/app/PeerMain.hs index 42a997e1..c8a38aaf 100644 --- a/hbs2-peer/app/PeerMain.hs +++ b/hbs2-peer/app/PeerMain.hs @@ -594,7 +594,7 @@ runPeer opts = U.handle (\e -> myException e , _proxy_clearEncryptionKey = \peer -> do mpeerData <- withPeerM penv $ find (KnownPeerKey peer) id - forM_ mpeerData \peerData -> setEncryptionKey penv peerData Nothing + forM_ mpeerData \peerData -> setEncryptionKey penv peer peerData Nothing -- deletePeerAsymmKey brains peer forM_ mpeerData \peerData -> deletePeerAsymmKey' brains (show peerData) @@ -686,7 +686,7 @@ runPeer opts = U.handle (\e -> myException e mpeerData <- withPeerM penv $ find (KnownPeerKey peer) id case mpubkey of Nothing -> do - trace $ "ENCRYPTION delete key" <+> pretty peer <+> viaShow mpeerData + -- trace $ "ENCRYPTION delete key" <+> pretty peer <+> viaShow mpeerData -- deletePeerAsymmKey brains peer forM_ mpeerData \peerData -> deletePeerAsymmKey' brains (show peerData) @@ -695,11 +695,11 @@ runPeer opts = U.handle (\e -> myException e let symmk = genCommonSecret @s (privKeyFromKeypair @s (view envAsymmetricKeyPair penv)) pk - trace $ "ENCRYPTION store key" <+> pretty peer <+> viaShow mpeerData case mpeerData of Nothing -> do -- insertPeerAsymmKey brains peer pk symmk - pure () + trace $ "ENCRYPTION can not store key. No peerData" + <+> pretty peer <+> viaShow mpeerData Just peerData -> insertPeerAsymmKey' brains (show peerData) pk symmk @@ -715,7 +715,7 @@ runPeer opts = U.handle (\e -> myException e subscribe @e PeerExpiredEventKey \(PeerExpiredEvent peer {-mpeerData-}) -> liftIO do mpeerData <- withPeerM penv $ find (KnownPeerKey peer) id - forM_ mpeerData \peerData -> setEncryptionKey penv peerData Nothing + forM_ mpeerData \peerData -> setEncryptionKey penv peer peerData Nothing -- deletePeerAsymmKey brains peer forM_ mpeerData \peerData -> deletePeerAsymmKey' brains (show peerData)