diff options
author | joe <joe@jerkface.net> | 2017-07-09 01:14:03 -0400 |
---|---|---|
committer | joe <joe@jerkface.net> | 2017-07-09 01:14:03 -0400 |
commit | 7808d0e6c96ccdf0431619fa1a688612b8a1f921 (patch) | |
tree | b558e33a73b6a7818be07d203442470b4423b3e8 /src/Network/DatagramServer | |
parent | 035e1ffb0a3b7dbed7af5b8e0c180b44f687a672 (diff) |
TOX publickey: switch from decode to ByteArrayAccess.
Diffstat (limited to 'src/Network/DatagramServer')
-rw-r--r-- | src/Network/DatagramServer/Tox.hs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/Network/DatagramServer/Tox.hs b/src/Network/DatagramServer/Tox.hs index 1763e74c..85ee269c 100644 --- a/src/Network/DatagramServer/Tox.hs +++ b/src/Network/DatagramServer/Tox.hs | |||
@@ -394,8 +394,13 @@ instance WireFormat ByteString Message where | |||
394 | 394 | ||
395 | initializeServerState _ _ = do | 395 | initializeServerState _ _ = do |
396 | k <- generateSecretKey | 396 | k <- generateSecretKey |
397 | let Right nid = S.decode $ convert $ toPublic k | 397 | nid <- withByteArray (toPublic k) $ \p -> do |
398 | return (nid, ToxCipherContext k) | 398 | wlo <- peekElemOff p 0 |
399 | wmid <- peekElemOff p 1 | ||
400 | whi <- peekElemOff p 2 | ||
401 | whigest <- peekElemOff p 3 | ||
402 | return $ LargeKey wlo (LargeKey wmid (LargeKey whi whigest)) | ||
403 | return (NodeId nid, ToxCipherContext k) | ||
399 | 404 | ||
400 | 405 | ||
401 | instance Read (NodeId Message) where readsPrec d s = map (\(w,xs) -> (NodeId w, xs)) $ decodeHex s | 406 | instance Read (NodeId Message) where readsPrec d s = map (\(w,xs) -> (NodeId w, xs)) $ decodeHex s |