diff options
author | joe <joe@jerkface.net> | 2017-10-21 21:35:37 -0400 |
---|---|---|
committer | joe <joe@jerkface.net> | 2017-10-21 21:35:37 -0400 |
commit | cbdcc6500d6bda9948268312fc0bfb17955e53c5 (patch) | |
tree | c45cf7e0a9d362799a984d81ca502bba808c7046 /src/Network/Tox/Onion/Transport.hs | |
parent | e508e05ae839091a109f3c253dcfeadb6f40982d (diff) |
Now searches using store command when we own the key.
This gives us a usable token for storing when the search is complete.
Diffstat (limited to 'src/Network/Tox/Onion/Transport.hs')
-rw-r--r-- | src/Network/Tox/Onion/Transport.hs | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/Network/Tox/Onion/Transport.hs b/src/Network/Tox/Onion/Transport.hs index e52c8faa..82f2c8a7 100644 --- a/src/Network/Tox/Onion/Transport.hs +++ b/src/Network/Tox/Onion/Transport.hs | |||
@@ -101,8 +101,8 @@ msgNonce (OnionAnnounceResponse _ n24 _) = n24 | |||
101 | msgNonce (OnionToRoute _ a) = assymNonce a | 101 | msgNonce (OnionToRoute _ a) = assymNonce a |
102 | msgNonce (OnionToRouteResponse a) = assymNonce a | 102 | msgNonce (OnionToRouteResponse a) = assymNonce a |
103 | 103 | ||
104 | data AliasSelector = SearchingAlias | AnnouncingAlias NodeId | 104 | data AliasSelector = SearchingAlias | AnnouncingAlias SecretKey PublicKey |
105 | deriving (Eq,Ord,Show) | 105 | deriving (Eq,Show) |
106 | 106 | ||
107 | data OnionDestination r | 107 | data OnionDestination r |
108 | = OnionToOwner | 108 | = OnionToOwner |
@@ -611,12 +611,8 @@ instance Sized OnionData where | |||
611 | 611 | ||
612 | 612 | ||
613 | selectKey :: TransportCrypto -> OnionMessage f -> OnionDestination r -> IO (SecretKey, PublicKey) | 613 | selectKey :: TransportCrypto -> OnionMessage f -> OnionDestination r -> IO (SecretKey, PublicKey) |
614 | selectKey crypto _ rpath@(OnionDestination (AnnouncingAlias pkey) _ _) | 614 | selectKey crypto _ rpath@(OnionDestination (AnnouncingAlias skey pkey) _ _) |
615 | = atomically $ do ks <- filter (\(sk,pk) -> pk == id2key pkey) | 615 | = return (skey, pkey) |
616 | <$> readTVar (userKeys crypto) | ||
617 | maybe (return $ aliasKey crypto rpath) | ||
618 | return | ||
619 | (listToMaybe ks) | ||
620 | selectKey crypto msg rpath = return $ aliasKey crypto rpath | 616 | selectKey crypto msg rpath = return $ aliasKey crypto rpath |
621 | 617 | ||
622 | encrypt :: TransportCrypto -> OnionMessage Identity -> OnionDestination r -> IO (OnionMessage Encrypted, OnionDestination r) | 618 | encrypt :: TransportCrypto -> OnionMessage Identity -> OnionDestination r -> IO (OnionMessage Encrypted, OnionDestination r) |