summaryrefslogtreecommitdiff
path: root/src/Network/Tox/NodeId.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Network/Tox/NodeId.hs')
-rw-r--r--src/Network/Tox/NodeId.hs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Network/Tox/NodeId.hs b/src/Network/Tox/NodeId.hs
index bba56e27..20dc1854 100644
--- a/src/Network/Tox/NodeId.hs
+++ b/src/Network/Tox/NodeId.hs
@@ -213,8 +213,10 @@ instance FromJSON NodeInfo where
213 ip <- maybe empty (return . IPv6) (ip6str >>= readMaybe) 213 ip <- maybe empty (return . IPv6) (ip6str >>= readMaybe)
214 <|> maybe empty (return . IPv4) (ip4str >>= readMaybe) 214 <|> maybe empty (return . IPv4) (ip4str >>= readMaybe)
215 let (bs,_) = Base16.decode (C8.pack nidstr) 215 let (bs,_) = Base16.decode (C8.pack nidstr)
216 guard (B.length bs == 32) 216 enid = Base64.decode (C8.pack $ 'A' : map (nmtoken64 False) nidstr)
217 return $ NodeInfo (bs2id bs) ip (fromIntegral (portnum :: Word16)) 217 idbs <- (guard (B.length bs == 32) >> return bs)
218 <|> either fail (return . B.drop 1) enid
219 return $ NodeInfo (bs2id idbs) ip (fromIntegral (portnum :: Word16))
218 220
219getIP :: Word8 -> S.Get IP 221getIP :: Word8 -> S.Get IP
220getIP 0x02 = IPv4 <$> S.get 222getIP 0x02 = IPv4 <$> S.get