From 6d60fa34259ea5f716a87d76adabaed037e5f72c Mon Sep 17 00:00:00 2001 From: Sergey Ivanov Date: Tue, 18 Jul 2023 23:57:40 +0400 Subject: [PATCH] only send sendBeginEncryptionExchange when key is absent --- hbs2-peer/app/EncryptionKeys.hs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/hbs2-peer/app/EncryptionKeys.hs b/hbs2-peer/app/EncryptionKeys.hs index 88270923..2a963e40 100644 --- a/hbs2-peer/app/EncryptionKeys.hs +++ b/hbs2-peer/app/EncryptionKeys.hs @@ -73,5 +73,10 @@ encryptionHandshakeWorker pconf penv creds EncryptionHandshakeAdapter{..} = do peers <- knownPeers @e pl forM_ peers \peer -> do - -- TODO: Только если ещё не знаем ключ ноды - sendBeginEncryptionExchange @e creds ourpubkey peer + -- Только если ещё не знаем ключ ноды + mpeerData <- find (KnownPeerKey peer) id + mkey <- liftIO do + join <$> forM mpeerData \peerData -> getEncryptionKey penv peerData + case mkey of + Just _ -> pure () + Nothing -> sendBeginEncryptionExchange @e creds ourpubkey peer