diff options
Diffstat (limited to 'src/Network/Tox.hs')
-rw-r--r-- | src/Network/Tox.hs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/Network/Tox.hs b/src/Network/Tox.hs index 56c4b8e6..98e9691b 100644 --- a/src/Network/Tox.hs +++ b/src/Network/Tox.hs | |||
@@ -101,8 +101,10 @@ newCrypto :: IO TransportCrypto | |||
101 | newCrypto = do | 101 | newCrypto = do |
102 | secret <- generateSecretKey | 102 | secret <- generateSecretKey |
103 | alias <- generateSecretKey | 103 | alias <- generateSecretKey |
104 | let pubkey = toPublic secret | 104 | ralias <- generateSecretKey |
105 | aliaspub = toPublic alias | 105 | let pubkey = toPublic secret |
106 | aliaspub = toPublic alias | ||
107 | raliaspub = toPublic ralias | ||
106 | (symkey, drg) <- do | 108 | (symkey, drg) <- do |
107 | drg0 <- getSystemDRG | 109 | drg0 <- getSystemDRG |
108 | return $ randomBytesGenerate 32 drg0 :: IO (ByteString, SystemDRG) | 110 | return $ randomBytesGenerate 32 drg0 :: IO (ByteString, SystemDRG) |
@@ -115,6 +117,8 @@ newCrypto = do | |||
115 | , transportPublic = pubkey | 117 | , transportPublic = pubkey |
116 | , onionAliasSecret = alias | 118 | , onionAliasSecret = alias |
117 | , onionAliasPublic = aliaspub | 119 | , onionAliasPublic = aliaspub |
120 | , rendezvousSecret = ralias | ||
121 | , rendezvousPublic = raliaspub | ||
118 | , transportSymmetric = return $ SymmetricKey symkey | 122 | , transportSymmetric = return $ SymmetricKey symkey |
119 | , transportNewNonce = do | 123 | , transportNewNonce = do |
120 | drg1 <- readTVar noncevar | 124 | drg1 <- readTVar noncevar |
@@ -204,6 +208,7 @@ data Tox = Tox | |||
204 | , toxOnion :: Onion.Client RouteId | 208 | , toxOnion :: Onion.Client RouteId |
205 | , toxToRoute :: Transport String Onion.Rendezvous (Assym (Encrypted Onion.DataToRoute)) | 209 | , toxToRoute :: Transport String Onion.Rendezvous (Assym (Encrypted Onion.DataToRoute)) |
206 | , toxCrypto :: Transport String SockAddr NetCrypto | 210 | , toxCrypto :: Transport String SockAddr NetCrypto |
211 | , toxCryptoKeys :: TransportCrypto | ||
207 | , toxRouting :: DHT.Routing | 212 | , toxRouting :: DHT.Routing |
208 | , toxTokens :: TVar SessionTokens | 213 | , toxTokens :: TVar SessionTokens |
209 | , toxAnnouncedKeys :: TVar Onion.AnnouncedKeys | 214 | , toxAnnouncedKeys :: TVar Onion.AnnouncedKeys |
@@ -273,6 +278,7 @@ newTox keydb addr = do | |||
273 | , toxOnion = onionclient | 278 | , toxOnion = onionclient |
274 | , toxToRoute = dtacrypt | 279 | , toxToRoute = dtacrypt |
275 | , toxCrypto = cryptonet | 280 | , toxCrypto = cryptonet |
281 | , toxCryptoKeys = crypto | ||
276 | , toxRouting = routing | 282 | , toxRouting = routing |
277 | , toxTokens = toks | 283 | , toxTokens = toks |
278 | , toxAnnouncedKeys = keydb | 284 | , toxAnnouncedKeys = keydb |