summaryrefslogtreecommitdiff
path: root/src/Network/Tox.hs
diff options
context:
space:
mode:
authorjoe <joe@jerkface.net>2018-06-22 21:17:22 -0400
committerjoe <joe@jerkface.net>2018-06-22 21:17:22 -0400
commitf5f854c8144dc29086928a94b2ea86cfae0d0557 (patch)
tree5a7daccc1be66375edd35b238f348129f540b146 /src/Network/Tox.hs
parent6f040764654640730d3f832cf4e41174562718fb (diff)
Removed redundant imports and other clean up.
Diffstat (limited to 'src/Network/Tox.hs')
-rw-r--r--src/Network/Tox.hs63
1 files changed, 3 insertions, 60 deletions
diff --git a/src/Network/Tox.hs b/src/Network/Tox.hs
index fcfa872f..f7cf7b1e 100644
--- a/src/Network/Tox.hs
+++ b/src/Network/Tox.hs
@@ -17,10 +17,6 @@
17{-# LANGUAGE ViewPatterns #-} 17{-# LANGUAGE ViewPatterns #-}
18module Network.Tox where 18module Network.Tox where
19 19
20import Debug.Trace
21import Control.Exception hiding (Handler)
22import Control.Applicative
23import Control.Arrow
24#ifdef THREAD_DEBUG 20#ifdef THREAD_DEBUG
25import Control.Concurrent.Lifted.Instrument 21import Control.Concurrent.Lifted.Instrument
26#else 22#else
@@ -28,79 +24,27 @@ import Control.Concurrent.Lifted
28#endif 24#endif
29import Control.Concurrent.STM 25import Control.Concurrent.STM
30import Control.Monad 26import Control.Monad
31import Control.Monad.Fix
32import qualified Crypto.Cipher.ChaChaPoly1305 as Symmetric
33import qualified Crypto.Cipher.Salsa as Salsa
34import qualified Crypto.Cipher.XSalsa as XSalsa
35import qualified Crypto.Error as Cryptonite
36#ifdef CRYPTONITE_BACKPORT
37import Crypto.ECC.Class
38import Crypto.Error.Types
39#else
40import Crypto.ECC
41import Crypto.Error
42#endif
43import qualified Crypto.MAC.Poly1305 as Poly1305
44import Crypto.PubKey.Curve25519 27import Crypto.PubKey.Curve25519
45import Crypto.PubKey.ECC.Types
46import Crypto.Random 28import Crypto.Random
47import qualified Data.Aeson as JSON
48 ;import Data.Aeson (FromJSON, ToJSON, (.=))
49import Data.Bitraversable (bisequence)
50import Data.Bits
51import Data.Bits.ByteString () 29import Data.Bits.ByteString ()
52import Data.Bool
53import qualified Data.ByteArray as BA
54 ;import Data.ByteArray (ByteArrayAccess, Bytes)
55import qualified Data.ByteString as B 30import qualified Data.ByteString as B
56 ;import Data.ByteString (ByteString) 31 ;import Data.ByteString (ByteString)
57import qualified Data.ByteString.Base16 as Base16
58import qualified Data.ByteString.Char8 as C8 32import qualified Data.ByteString.Char8 as C8
59import Data.ByteString.Lazy (toStrict)
60import Data.Char
61import Data.Conduit (Source,Sink,Flush(..))
62import Data.Data 33import Data.Data
63import Data.Functor.Contravariant 34import Data.Functor.Contravariant
64import Data.Hashable
65#if MIN_VERSION_iproute(1,7,4)
66import Data.IP hiding (fromSockAddr)
67#else
68import Data.IP
69#endif
70import Data.Maybe 35import Data.Maybe
71import qualified Data.MinMaxPSQ as MinMaxPSQ 36import qualified Data.MinMaxPSQ as MinMaxPSQ
72 ;import Data.MinMaxPSQ (MinMaxPSQ')
73import Data.Monoid
74import Data.Ord
75import qualified Data.Serialize as S 37import qualified Data.Serialize as S
76import Data.Time.Clock.POSIX (POSIXTime, getPOSIXTime) 38import Data.Time.Clock.POSIX (getPOSIXTime)
77import Data.Typeable
78import Data.Word 39import Data.Word
79import qualified Data.Wrapper.PSQ as PSQ 40import qualified Data.Wrapper.PSQ as PSQ
80 ;import Data.Wrapper.PSQ (PSQ)
81import qualified Data.Wrapper.PSQInt as Int
82import Foreign.Marshal.Alloc
83import Foreign.Ptr
84import Foreign.Storable
85import GHC.Generics (Generic)
86import System.Global6 41import System.Global6
87import Network.Kademlia 42import Network.Address (WantIP (..))
88import Network.Address (Address, WantIP (..), either4or6,
89 fromSockAddr, ipFamily, setPort,
90 sockAddrPort, testIdBit,
91 toSockAddr, un4map)
92import Network.Kademlia.Search (Search (..))
93import qualified Network.Kademlia.Routing as R 43import qualified Network.Kademlia.Routing as R
94import Network.QueryResponse 44import Network.QueryResponse
95import Network.Socket 45import Network.Socket
96import System.Endian 46import System.Endian
97import System.IO
98import qualified Text.ParserCombinators.ReadP as RP
99import Text.Printf
100import Text.Read
101import Control.TriadCommittee
102import Network.BitTorrent.DHT.Token as Token 47import Network.BitTorrent.DHT.Token as Token
103import GHC.TypeLits
104 48
105import Connection 49import Connection
106import Connection.Tox 50import Connection.Tox
@@ -108,7 +52,7 @@ import Crypto.Tox
108import Data.Word64Map (fitsInInt) 52import Data.Word64Map (fitsInInt)
109import qualified Data.Word64Map (empty) 53import qualified Data.Word64Map (empty)
110import Network.Kademlia.Bootstrap (forkPollForRefresh, bootstrap) 54import Network.Kademlia.Bootstrap (forkPollForRefresh, bootstrap)
111import Network.Tox.Crypto.Transport (CryptoMessage, HandshakeData(..), Handshake(..),CryptoPacket) 55import Network.Tox.Crypto.Transport (Handshake(..),CryptoPacket)
112import Network.Tox.Handshake 56import Network.Tox.Handshake
113import Network.Tox.Crypto.Handlers 57import Network.Tox.Crypto.Handlers
114import qualified Network.Tox.DHT.Handlers as DHT 58import qualified Network.Tox.DHT.Handlers as DHT
@@ -121,7 +65,6 @@ import OnionRouter
121import Network.Tox.ContactInfo 65import Network.Tox.ContactInfo
122import Text.XXD 66import Text.XXD
123import qualified Data.HashMap.Strict as HashMap 67import qualified Data.HashMap.Strict as HashMap
124import Data.HashMap.Strict (HashMap)
125import qualified Data.Map.Strict as Map 68import qualified Data.Map.Strict as Map
126import DPut 69import DPut
127import Network.Tox.Avahi 70import Network.Tox.Avahi