summaryrefslogtreecommitdiff
path: root/src/Network/Tox/DHT/Transport.hs
diff options
context:
space:
mode:
authorjoe <joe@jerkface.net>2017-11-22 20:12:07 -0500
committerjoe <joe@jerkface.net>2017-11-22 20:12:07 -0500
commitde34b6ec46a7136c249c95d97de3a569cd60b835 (patch)
tree45f9fd49484ea7bb8fec20bfdafb62edfde2f239 /src/Network/Tox/DHT/Transport.hs
parent27cb2cbe0338c19fd4f8a22b4453086288dae5c4 (diff)
NoSpamId type to include nospam + checksum + public key.
Diffstat (limited to 'src/Network/Tox/DHT/Transport.hs')
-rw-r--r--src/Network/Tox/DHT/Transport.hs24
1 files changed, 0 insertions, 24 deletions
diff --git a/src/Network/Tox/DHT/Transport.hs b/src/Network/Tox/DHT/Transport.hs
index 2e5649d3..51ec2e80 100644
--- a/src/Network/Tox/DHT/Transport.hs
+++ b/src/Network/Tox/DHT/Transport.hs
@@ -260,30 +260,6 @@ data FriendRequest = FriendRequest
260 } 260 }
261 deriving (Eq, Show) 261 deriving (Eq, Show)
262 262
263data NoSpam = NoSpam !Word32 !(Maybe Word16)
264
265instance Read NoSpam where
266 readsPrec d s = case break isSpace s of
267 (ws,rs) | (length ws == 8) -> base64decode rs (NoSpam <$> get <*> (Just <$> get)) ws
268 (ws,rs) | (length ws == 12) -> base16decode rs (NoSpam <$> get <*> (Just <$> get)) ws
269 _ -> []
270
271base64decode :: Monad m => t1 -> Get t -> String -> m (t, t1)
272base64decode rs getter s =
273 either fail (\a -> return (a,rs))
274 $ runGet getter
275 =<< Base64.decode (B8.pack s)
276
277base16decode :: Monad m => t1 -> Get t -> String -> m (t, t1)
278base16decode rs getter s =
279 either fail (\a -> return (a,rs))
280 $ runGet getter
281 $ fst
282 $ Base16.decode (B8.pack s)
283
284verifyChecksum :: PublicKey -> Word16 -> Either String ()
285verifyChecksum _ _ = return () -- TODO
286
287 263
288-- When sent as a DHT request packet (this is the data sent in the DHT request 264-- When sent as a DHT request packet (this is the data sent in the DHT request
289-- packet): 265-- packet):