avoid exposing auth tokens in debug

This commit is contained in:
Joey Hess 2016-12-09 16:55:48 -04:00
parent e71755abc9
commit 52ccd44812
No known key found for this signature in database
GPG key ID: C910D9222512E3C7

View file

@ -98,7 +98,7 @@ runNet conn runner f = case f of
SendMessage m next -> do
v <- liftIO $ tryNonAsync $ do
let l = unwords (formatMessage m)
debugM "p2p" ("P2P > " ++ l)
debugMessage "P2P >" m
hPutStrLn (connOhdl conn) l
hFlush (connOhdl conn)
case v of
@ -109,10 +109,10 @@ runNet conn runner f = case f of
case v of
Left e -> return (Left (show e))
Right Nothing -> return (Left "protocol error")
Right (Just l) -> do
liftIO $ debugM "p2p" ("P2P < " ++ l)
case parseMessage l of
Just m -> runner (next m)
Right (Just l) -> case parseMessage l of
Just m -> do
liftIO $ debugMessage "P2P <" m
runner (next m)
Nothing -> runner $ do
let e = ERROR $ "protocol parse error: " ++ show l
net $ sendMessage e
@ -150,6 +150,14 @@ runNet conn runner f = case f of
-- all Proto actions.
runnerio = runNetProto conn
debugMessage :: String -> Message -> IO ()
debugMessage prefix m = debugM "p2p" $
prefix ++ " " ++ unwords (formatMessage safem)
where
safem = case m of
AUTH u _ -> AUTH u nullAuthToken
_ -> m
-- Send exactly the specified number of bytes or returns False.
--
-- The ByteString can be larger or smaller than the specified length.