From ff7f40546a2b488d17ea9ccf2d2a808c81c63d51 Mon Sep 17 00:00:00 2001 From: James Crayne Date: Wed, 30 May 2018 05:16:34 +0000 Subject: more netcrypto debug trace messages --- src/Network/Tox/Crypto/Handlers.hs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/Network/Tox/Crypto/Handlers.hs') diff --git a/src/Network/Tox/Crypto/Handlers.hs b/src/Network/Tox/Crypto/Handlers.hs index ac7379d4..453d4b08 100644 --- a/src/Network/Tox/Crypto/Handlers.hs +++ b/src/Network/Tox/Crypto/Handlers.hs @@ -47,6 +47,7 @@ import Control.Concurrent.Supply import Data.InOrOut import DPut import Debug.Trace +import Text.Printf import Data.Bool -- util, todo: move to another module @@ -369,7 +370,7 @@ ncToWire getState seqno bufend pktno msg = do $ lookupInRangeMap typ64 msgOutMapVar case result1 of -- msgOutMapLookup typ64 msgOutMap of Nothing -> trace "lookupInRangeMap gave Nothing!" $ return Nothing - Just outid -> do + Just outid -> trace ("encrypting packet with Nonce: " ++ show n24) $ do let setMessageId (OneByte _) mid = OneByte (toEnum8 mid) setMessageId (TwoByte _ x) mid = TwoByte (toEnum8 mid) x setMessageId (UpToN _ x) mid = UpToN (toEnum8 mid) x @@ -384,7 +385,9 @@ ncToWire getState seqno bufend pktno msg = do } plain = encodePlain cd encrypted = encrypt state plain - pkt = CryptoPacket { pktNonce = nonce24ToWord16 n24, pktData = encrypted } + pkt = CryptoPacket { pktNonce = let r = nonce24ToWord16 n24 + in trace (printf "converting n24 to word16: 0x%x" r) r + , pktData = encrypted } in return (Just (pkt, pktno)) Lossless -> let cd = CryptoData @@ -667,7 +670,9 @@ cryptoNetHandler sessions addr (NetCrypto (CryptoPacket nonce16 encrypted)) = do pubkey <- maybeToEither ncTheirSessionPublic Right $ do -- IO Monad dput XNetCrypto $ "cryptoNetHandler: pubkey = " ++ show (key2id $ pubkey) + dput XNetCrypto $ "cryptoNetHandler: theirBaseNonce = " ++ show theirBaseNonce dput XNetCrypto $ "cryptoNetHandler: tempNonce = " ++ show tempNonce + ++ " nonce16=" ++ printf "0x%x" nonce16 ++ " last2bytes =" ++ printf "0x%x" (last2Bytes theirBaseNonce) secret <- lookupSharedSecret crypto ncSessionSecret pubkey tempNonce let step1 = decrypt secret encrypted case step1 of @@ -696,6 +701,8 @@ cryptoNetHandler sessions addr (NetCrypto (CryptoPacket nonce16 encrypted)) = do atomically $ do y <- readTVar ncTheirBaseNonce let x = addtoNonce24 y (fromIntegral dATA_NUM_THRESHOLD) + trace ("nonce y(" ++ show y ++ ") + " ++ show (fromIntegral dATA_NUM_THRESHOLD) + ++ " = " ++ show x) (return ()) writeTVar ncTheirBaseNonce y -- then set session confirmed, atomically $ writeTVar ncState Confirmed {-Established-} @@ -721,7 +728,7 @@ cryptoNetHandler sessions addr (NetCrypto (CryptoPacket nonce16 encrypted)) = do where last2Bytes :: Nonce24 -> Word16 last2Bytes (Nonce24 bs) = case S.decode (B.drop 22 bs) of - Right n -> byteSwap16 n + Right n -> trace ("byteSwap16 " ++ printf "0x%x" n ++ " = " ++ printf "0x%x" (byteSwap16 n)) $ byteSwap16 n _ -> error "unreachable-last2Bytes" dATA_NUM_THRESHOLD = 21845 -- = 65535 / 3 -- cgit v1.2.3