From 6a50ba8572d4fdb760c28dafd0ab652fab9c01fd Mon Sep 17 00:00:00 2001 From: Bin Jin Date: Mon, 13 Mar 2017 00:38:47 +0800 Subject: Remove unnecessary publickey check --- src/Network/WireGuard/Core.hs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/Network/WireGuard/Core.hs') diff --git a/src/Network/WireGuard/Core.hs b/src/Network/WireGuard/Core.hs index f36b3c9..e37554b 100644 --- a/src/Network/WireGuard/Core.hs +++ b/src/Network/WireGuard/Core.hs @@ -14,8 +14,7 @@ import Control.Monad.STM (atomically) import Control.Monad.Trans.Except (ExceptT, runExceptT, throwE) import Crypto.Noise (HandshakeRole (..)) -import Crypto.Noise.DH (dhGenKey, dhPubEq, - dhPubToBytes) +import Crypto.Noise.DH (dhGenKey, dhPubToBytes) import qualified Data.ByteArray as BA import qualified Data.ByteString as BS import qualified Data.HashMap.Strict as HM @@ -165,8 +164,8 @@ processPacket device@Device{..} _key _psk sock HandshakeResponse{..} = do let state1 = initNoise iwait outcome = recvSecondMessage state1 encryptedPayload case outcome of - Left err -> throwE (NoiseError err) - Right (decryptedPayload, rpub, sks) -> do + Left err -> throwE (NoiseError err) + Right (decryptedPayload, sks) -> do now <- liftIO epochTime newCounter <- liftIO $ atomically $ newTVar 0 let newsession = Session receiverIndex senderIndex sks @@ -175,7 +174,6 @@ processPacket device@Device{..} _key _psk sock HandshakeResponse{..} = do newCounter when (BA.length decryptedPayload /= 0) $ throwE $ InvalidWGPacketError "empty payload expected" - unless (rpub `dhPubEq` remotePub peer) $ throwE RemotePeerNotFoundError succeeded <- liftIO $ atomically $ do erased <- eraseInitiatorWait device peer (Just receiverIndex) when erased $ do -- cgit v1.2.3-59-g8ed1b