diff options
author | James Crayne <jim.crayne@gmail.com> | 2019-09-28 13:43:29 -0400 |
---|---|---|
committer | Joe Crayne <joe@jerkface.net> | 2020-01-01 19:27:53 -0500 |
commit | 11987749fc6e6d3e53ea737d46d5ab13a16faeb8 (patch) | |
tree | 5716463275c2d3e902889db619908ded2a73971c | |
parent | add2c76bced51fde5e9917e7449ef52be70faf87 (diff) |
Factor out some new libraries
word64-map:
Data.Word64Map
network-addr:
Network.Address
tox-crypto:
Crypto.Tox
lifted-concurrent:
Control.Concurrent.Lifted.Instrument
Control.Concurrent.Async.Lifted.Instrument
psq-wrap:
Data.Wrapper.PSQInt
Data.Wrapper.PSQ
minmax-psq:
Data.MinMaxPSQ
tasks:
Control.Concurrent.Tasks
kad:
Network.Kademlia
Network.Kademlia.Bootstrap
Network.Kademlia.Routing
Network.Kademlia.CommonAPI
Network.Kademlia.Persistence
Network.Kademlia.Search
-rw-r--r-- | dht/Announcer.hs (renamed from Announcer.hs) | 0 | ||||
-rw-r--r-- | dht/Announcer/Tox.hs (renamed from Announcer/Tox.hs) | 0 | ||||
-rw-r--r-- | dht/ChangeLog (renamed from ChangeLog) | 0 | ||||
-rw-r--r-- | dht/Connection.hs (renamed from Connection.hs) | 0 | ||||
-rw-r--r-- | dht/Connection/Tcp.hs (renamed from Connection/Tcp.hs) | 0 | ||||
-rw-r--r-- | dht/Control/Concurrent/STM/StatusCache.hs (renamed from Control/Concurrent/STM/StatusCache.hs) | 0 | ||||
-rw-r--r-- | dht/Control/Concurrent/STM/UpdateStream.hs (renamed from Control/Concurrent/STM/UpdateStream.hs) | 0 | ||||
-rw-r--r-- | dht/Data/BitSyntax.hs (renamed from Data/BitSyntax.hs) | 0 | ||||
-rw-r--r-- | dht/HandshakeCache.hs (renamed from HandshakeCache.hs) | 0 | ||||
-rw-r--r-- | dht/InterruptibleDelay.hs (renamed from InterruptibleDelay.hs) | 0 | ||||
-rw-r--r-- | dht/LICENSE (renamed from LICENSE) | 0 | ||||
-rw-r--r-- | dht/LLCSNAP.hs (renamed from LLCSNAP.hs) | 0 | ||||
-rw-r--r-- | dht/Makefile (renamed from Makefile) | 0 | ||||
-rw-r--r-- | dht/OnionRouter.hs (renamed from OnionRouter.hs) | 0 | ||||
-rw-r--r-- | dht/PingMachine.hs (renamed from PingMachine.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/ByteStringOperators.hs (renamed from Presence/ByteStringOperators.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/Chat.hs (renamed from Presence/Chat.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/ClientState.hs (renamed from Presence/ClientState.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/ConfigFiles.hs (renamed from Presence/ConfigFiles.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/ConnectionKey.hs (renamed from Presence/ConnectionKey.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/ConsoleWriter.hs (renamed from Presence/ConsoleWriter.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/Control/Concurrent/STM/Util.hs (renamed from Presence/Control/Concurrent/STM/Util.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/ControlMaybe.hs (renamed from Presence/ControlMaybe.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/DNSCache.hs (renamed from Presence/DNSCache.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/EventUtil.hs (renamed from Presence/EventUtil.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/FGConsole.hs (renamed from Presence/FGConsole.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/GetHostByAddr.hs (renamed from Presence/GetHostByAddr.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/IDMangler.hs (renamed from Presence/IDMangler.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/LocalChat.hs (renamed from Presence/LocalChat.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/LocalPeerCred.hs (renamed from Presence/LocalPeerCred.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/LockedChan.hs (renamed from Presence/LockedChan.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/Logging.hs (renamed from Presence/Logging.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/MUC.hs (renamed from Presence/MUC.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/Nesting.hs (renamed from Presence/Nesting.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/Paths.hs (renamed from Presence/Paths.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/PeerResolve.hs (renamed from Presence/PeerResolve.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/Presence.hs (renamed from Presence/Presence.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/SockAddr.hs (renamed from Presence/SockAddr.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/Stanza/Build.hs (renamed from Presence/Stanza/Build.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/Stanza/Parse.hs (renamed from Presence/Stanza/Parse.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/Stanza/Types.hs (renamed from Presence/Stanza/Types.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/UTmp.hs (renamed from Presence/UTmp.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/Util.hs (renamed from Presence/Util.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/XMPPServer.hs (renamed from Presence/XMPPServer.hs) | 0 | ||||
-rw-r--r-- | dht/Presence/monitortty.c (renamed from Presence/monitortty.c) | 0 | ||||
-rw-r--r-- | dht/Setup.hs (renamed from Setup.hs) | 0 | ||||
-rw-r--r-- | dht/TCPProber.hs (renamed from TCPProber.hs) | 0 | ||||
-rw-r--r-- | dht/TODO.org (renamed from TODO.org) | 0 | ||||
-rw-r--r-- | dht/ToxChat.hs (renamed from ToxChat.hs) | 0 | ||||
-rw-r--r-- | dht/ToxManager.hs (renamed from ToxManager.hs) | 0 | ||||
-rw-r--r-- | dht/ToxToXMPP.hs (renamed from ToxToXMPP.hs) | 0 | ||||
-rw-r--r-- | dht/TraversableT.hs (renamed from TraversableT.hs) | 0 | ||||
-rw-r--r-- | dht/WifiHeader.hs (renamed from WifiHeader.hs) | 0 | ||||
-rw-r--r-- | dht/XMPPToTox.hs (renamed from XMPPToTox.hs) | 0 | ||||
-rwxr-xr-x | dht/b (renamed from b) | 0 | ||||
-rw-r--r-- | dht/bittorrent/README.md (renamed from bittorrent/README.md) | 0 | ||||
-rw-r--r-- | dht/bittorrent/Readme.md (renamed from bittorrent/Readme.md) | 0 | ||||
-rw-r--r-- | dht/bittorrent/bench/Main.hs (renamed from bittorrent/bench/Main.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/bench/Throughtput.hs (renamed from bittorrent/bench/Throughtput.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/bench/TorrentFile.hs (renamed from bittorrent/bench/TorrentFile.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/bittorrent.cabal (renamed from bittorrent/bittorrent.cabal) | 0 | ||||
-rw-r--r-- | dht/bittorrent/dev/README.md (renamed from bittorrent/dev/README.md) | 0 | ||||
-rwxr-xr-x | dht/bittorrent/dev/add-sources.sh (renamed from bittorrent/dev/add-sources.sh) | 0 | ||||
-rwxr-xr-x | dht/bittorrent/dev/bench (renamed from bittorrent/dev/bench) | 0 | ||||
-rwxr-xr-x | dht/bittorrent/dev/test (renamed from bittorrent/dev/test) | 0 | ||||
-rwxr-xr-x | dht/bittorrent/dev/update-dependencies.sh (renamed from bittorrent/dev/update-dependencies.sh) | 0 | ||||
-rw-r--r-- | dht/bittorrent/examples/Client.hs (renamed from bittorrent/examples/Client.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/examples/FS.hs (renamed from bittorrent/examples/FS.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/examples/MkTorrent.hs (renamed from bittorrent/examples/MkTorrent.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/res/dapper-dvd-amd64.iso.torrent (renamed from bittorrent/res/dapper-dvd-amd64.iso.torrent) | bin | 64198 -> 64198 bytes | |||
-rw-r--r-- | dht/bittorrent/res/pkg.torrent (renamed from bittorrent/res/pkg.torrent) | bin | 32113 -> 32113 bytes | |||
-rw-r--r-- | dht/bittorrent/res/testfile (renamed from bittorrent/res/testfile) | bin | 8192 -> 8192 bytes | |||
-rw-r--r-- | dht/bittorrent/res/testfile.torrent (renamed from bittorrent/res/testfile.torrent) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent.hs (renamed from bittorrent/src/Network/BitTorrent.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Client.hs (renamed from bittorrent/src/Network/BitTorrent/Client.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Client/Handle.hs (renamed from bittorrent/src/Network/BitTorrent/Client/Handle.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Client/Types.hs (renamed from bittorrent/src/Network/BitTorrent/Client/Types.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Exchange.hs (renamed from bittorrent/src/Network/BitTorrent/Exchange.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Exchange/Bitfield.hs (renamed from bittorrent/src/Network/BitTorrent/Exchange/Bitfield.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Exchange/Block.hs (renamed from bittorrent/src/Network/BitTorrent/Exchange/Block.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Exchange/Connection.hs (renamed from bittorrent/src/Network/BitTorrent/Exchange/Connection.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Exchange/Download.hs (renamed from bittorrent/src/Network/BitTorrent/Exchange/Download.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Exchange/Manager.hs (renamed from bittorrent/src/Network/BitTorrent/Exchange/Manager.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Exchange/Message.hs (renamed from bittorrent/src/Network/BitTorrent/Exchange/Message.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Exchange/Session.hs (renamed from bittorrent/src/Network/BitTorrent/Exchange/Session.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Internal/Cache.hs (renamed from bittorrent/src/Network/BitTorrent/Internal/Cache.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Internal/Progress.hs (renamed from bittorrent/src/Network/BitTorrent/Internal/Progress.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Internal/Types.hs (renamed from bittorrent/src/Network/BitTorrent/Internal/Types.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Readme.md (renamed from bittorrent/src/Network/BitTorrent/Readme.md) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Tracker.hs (renamed from bittorrent/src/Network/BitTorrent/Tracker.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Tracker/List.hs (renamed from bittorrent/src/Network/BitTorrent/Tracker/List.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Tracker/Message.hs (renamed from bittorrent/src/Network/BitTorrent/Tracker/Message.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Tracker/RPC.hs (renamed from bittorrent/src/Network/BitTorrent/Tracker/RPC.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Tracker/RPC/HTTP.hs (renamed from bittorrent/src/Network/BitTorrent/Tracker/RPC/HTTP.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Tracker/RPC/UDP.hs (renamed from bittorrent/src/Network/BitTorrent/Tracker/RPC/UDP.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/Network/BitTorrent/Tracker/Session.hs (renamed from bittorrent/src/Network/BitTorrent/Tracker/Session.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/System/Torrent/FileMap.hs (renamed from bittorrent/src/System/Torrent/FileMap.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/System/Torrent/Storage.hs (renamed from bittorrent/src/System/Torrent/Storage.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/src/System/Torrent/Tree.hs (renamed from bittorrent/src/System/Torrent/Tree.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Config.hs (renamed from bittorrent/tests/Config.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Data/TorrentSpec.hs (renamed from bittorrent/tests/Data/TorrentSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Main.hs (renamed from bittorrent/tests/Main.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Client/HandleSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Client/HandleSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/CoreSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/CoreSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/DHT/MessageSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/DHT/MessageSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/DHT/QuerySpec.hs (renamed from bittorrent/tests/Network/BitTorrent/DHT/QuerySpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/DHT/RoutingSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/DHT/RoutingSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/DHT/SessionSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/DHT/SessionSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/DHT/TestData.hs (renamed from bittorrent/tests/Network/BitTorrent/DHT/TestData.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/DHT/TokenSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/DHT/TokenSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/DHTSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/DHTSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Exchange/BitfieldSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Exchange/BitfieldSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Exchange/BlockSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Exchange/BlockSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Exchange/ConnectionSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Exchange/ConnectionSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Exchange/DownloadSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Exchange/DownloadSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Exchange/MessageSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Exchange/MessageSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Exchange/SessionSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Exchange/SessionSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Internal/CacheSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Internal/CacheSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Internal/ProgressSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Internal/ProgressSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Tracker/ListSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Tracker/ListSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Tracker/MessageSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Tracker/MessageSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Tracker/RPC/HTTPSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Tracker/RPC/HTTPSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Tracker/RPCSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Tracker/RPCSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Tracker/SessionSpec.hs (renamed from bittorrent/tests/Network/BitTorrent/Tracker/SessionSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/BitTorrent/Tracker/TestData.hs (renamed from bittorrent/tests/Network/BitTorrent/Tracker/TestData.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/KRPC/MessageSpec.hs (renamed from bittorrent/tests/Network/KRPC/MessageSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/KRPC/MethodSpec.hs (renamed from bittorrent/tests/Network/KRPC/MethodSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Network/KRPCSpec.hs (renamed from bittorrent/tests/Network/KRPCSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Readme.md (renamed from bittorrent/tests/Readme.md) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/Spec.hs (renamed from bittorrent/tests/Spec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/System/Torrent/FileMapSpec.hs (renamed from bittorrent/tests/System/Torrent/FileMapSpec.hs) | 0 | ||||
-rw-r--r-- | dht/bittorrent/tests/System/Torrent/StorageSpec.hs (renamed from bittorrent/tests/System/Torrent/StorageSpec.hs) | 0 | ||||
-rwxr-xr-x | dht/bp (renamed from bp) | 0 | ||||
-rwxr-xr-x | dht/c (renamed from c) | 0 | ||||
-rw-r--r-- | dht/cbits/cryptonite_bitfn.h (renamed from cbits/cryptonite_bitfn.h) | 0 | ||||
-rw-r--r-- | dht/cbits/cryptonite_salsa.c (renamed from cbits/cryptonite_salsa.c) | 0 | ||||
-rw-r--r-- | dht/cbits/cryptonite_salsa.h (renamed from cbits/cryptonite_salsa.h) | 0 | ||||
-rw-r--r-- | dht/cbits/cryptonite_xsalsa.c (renamed from cbits/cryptonite_xsalsa.c) | 0 | ||||
-rw-r--r-- | dht/cbits/cryptonite_xsalsa.h (renamed from cbits/cryptonite_xsalsa.h) | 0 | ||||
-rwxr-xr-x | dht/ci (renamed from ci) | 0 | ||||
-rw-r--r-- | dht/conn-notes.txt (renamed from conn-notes.txt) | 0 | ||||
-rw-r--r-- | dht/cryptonite-backport/Crypto/Cipher/Salsa.hs (renamed from cryptonite-backport/Crypto/Cipher/Salsa.hs) | 0 | ||||
-rw-r--r-- | dht/cryptonite-backport/Crypto/Cipher/XSalsa.hs (renamed from cryptonite-backport/Crypto/Cipher/XSalsa.hs) | 0 | ||||
-rw-r--r-- | dht/cryptonite-backport/Crypto/ECC/Class.hs (renamed from cryptonite-backport/Crypto/ECC/Class.hs) | 0 | ||||
-rw-r--r-- | dht/cryptonite-backport/Crypto/ECC/Simple/Prim.hs (renamed from cryptonite-backport/Crypto/ECC/Simple/Prim.hs) | 0 | ||||
-rw-r--r-- | dht/cryptonite-backport/Crypto/ECC/Simple/Types.hs (renamed from cryptonite-backport/Crypto/ECC/Simple/Types.hs) | 0 | ||||
-rw-r--r-- | dht/cryptonite-backport/Crypto/Error/Types.hs (renamed from cryptonite-backport/Crypto/Error/Types.hs) | 0 | ||||
-rw-r--r-- | dht/cryptonite-backport/Crypto/Internal/ByteArray.hs (renamed from cryptonite-backport/Crypto/Internal/ByteArray.hs) | 0 | ||||
-rw-r--r-- | dht/cryptonite-backport/Crypto/Internal/Compat.hs (renamed from cryptonite-backport/Crypto/Internal/Compat.hs) | 0 | ||||
-rw-r--r-- | dht/cryptonite-backport/Crypto/Internal/DeepSeq.hs (renamed from cryptonite-backport/Crypto/Internal/DeepSeq.hs) | 0 | ||||
-rw-r--r-- | dht/cryptonite-backport/Crypto/Internal/Imports.hs (renamed from cryptonite-backport/Crypto/Internal/Imports.hs) | 0 | ||||
-rw-r--r-- | dht/cryptonite-backport/Crypto/PubKey/Curve25519.hs (renamed from cryptonite-backport/Crypto/PubKey/Curve25519.hs) | 0 | ||||
-rw-r--r-- | dht/dht-client.cabal (renamed from dht-client.cabal) | 23 | ||||
-rw-r--r-- | dht/doc/rfc6120.html (renamed from doc/rfc6120.html) | 0 | ||||
-rw-r--r-- | dht/doc/rfc6121.html (renamed from doc/rfc6121.html) | 0 | ||||
-rw-r--r-- | dht/examples/AliceBob.hs (renamed from examples/AliceBob.hs) | 0 | ||||
-rw-r--r-- | dht/examples/atox.hs (renamed from examples/atox.hs) | 0 | ||||
-rw-r--r-- | dht/examples/avahi.hs (renamed from examples/avahi.hs) | 0 | ||||
-rw-r--r-- | dht/examples/consolation.hs (renamed from examples/consolation.hs) | 0 | ||||
-rw-r--r-- | dht/examples/dht.hs (renamed from examples/dht.hs) | 0 | ||||
-rw-r--r-- | dht/examples/dhtd.hs (renamed from examples/dhtd.hs) | 0 | ||||
-rw-r--r-- | dht/examples/nalias.hs (renamed from examples/nalias.hs) | 0 | ||||
-rw-r--r-- | dht/examples/nalias2.hs (renamed from examples/nalias2.hs) | 0 | ||||
-rw-r--r-- | dht/examples/pjson.hs (renamed from examples/pjson.hs) | 0 | ||||
-rw-r--r-- | dht/examples/pwrite.hs (renamed from examples/pwrite.hs) | 0 | ||||
-rw-r--r-- | dht/examples/test-xmpp.hs (renamed from examples/test-xmpp.hs) | 0 | ||||
-rw-r--r-- | dht/examples/testTox.hs (renamed from examples/testTox.hs) | 0 | ||||
-rw-r--r-- | dht/examples/testcookie.hs (renamed from examples/testcookie.hs) | 0 | ||||
-rw-r--r-- | dht/examples/toxrelay.hs (renamed from examples/toxrelay.hs) | 0 | ||||
-rw-r--r-- | dht/examples/whosocket.hs (renamed from examples/whosocket.hs) | 0 | ||||
-rw-r--r-- | dht/examples/xmppServer.hs (renamed from examples/xmppServer.hs) | 0 | ||||
-rwxr-xr-x | dht/g (renamed from g) | 0 | ||||
-rwxr-xr-x | dht/gi (renamed from gi) | 0 | ||||
-rwxr-xr-x | dht/graphdeps (renamed from graphdeps) | 0 | ||||
-rw-r--r-- | dht/modules.svg (renamed from modules.svg) | 0 | ||||
-rwxr-xr-x | dht/p (renamed from p) | 0 | ||||
-rw-r--r-- | dht/presence.cabal.bak (renamed from presence.cabal.bak) | 0 | ||||
-rw-r--r-- | dht/presence.service (renamed from presence.service) | 0 | ||||
-rw-r--r-- | dht/readpackets.hs (renamed from readpackets.hs) | 0 | ||||
-rw-r--r-- | dht/src/Control/TriadCommittee.hs (renamed from src/Control/TriadCommittee.hs) | 0 | ||||
-rw-r--r-- | dht/src/Crypto/Nonce.hs (renamed from src/Crypto/Nonce.hs) | 0 | ||||
-rw-r--r-- | dht/src/Crypto/XEd25519.hs (renamed from src/Crypto/XEd25519.hs) | 0 | ||||
-rw-r--r-- | dht/src/Crypto/XEd25519/FieldElement.hs (renamed from src/Crypto/XEd25519/FieldElement.hs) | 0 | ||||
-rw-r--r-- | dht/src/DPut.hs (renamed from src/DPut.hs) | 0 | ||||
-rw-r--r-- | dht/src/Data/BEncode/Pretty.hs (renamed from src/Data/BEncode/Pretty.hs) | 0 | ||||
-rw-r--r-- | dht/src/Data/Bits/ByteString.hs (renamed from src/Data/Bits/ByteString.hs) | 0 | ||||
-rw-r--r-- | dht/src/Data/Digest/CRC32C.hs (renamed from src/Data/Digest/CRC32C.hs) | 0 | ||||
-rw-r--r-- | dht/src/Data/IntervalSet.hs (renamed from src/Data/IntervalSet.hs) | 0 | ||||
-rw-r--r-- | dht/src/Data/PacketBuffer.hs (renamed from src/Data/PacketBuffer.hs) | 0 | ||||
-rw-r--r-- | dht/src/Data/PacketQueue.hs (renamed from src/Data/PacketQueue.hs) | 0 | ||||
-rw-r--r-- | dht/src/Data/Sized.hs (renamed from src/Data/Sized.hs) | 0 | ||||
-rw-r--r-- | dht/src/Data/TableMethods.hs (renamed from src/Data/TableMethods.hs) | 0 | ||||
-rw-r--r-- | dht/src/Data/Torrent.hs (renamed from src/Data/Torrent.hs) | 0 | ||||
-rw-r--r-- | dht/src/Data/Tox/Message.hs (renamed from src/Data/Tox/Message.hs) | 0 | ||||
-rw-r--r-- | dht/src/Data/Tox/Msg.hs (renamed from src/Data/Tox/Msg.hs) | 0 | ||||
-rw-r--r-- | dht/src/Data/Tox/Onion.hs (renamed from src/Data/Tox/Onion.hs) | 0 | ||||
-rw-r--r-- | dht/src/Data/Tox/Relay.hs (renamed from src/Data/Tox/Relay.hs) | 0 | ||||
-rw-r--r-- | dht/src/DebugTag.hs (renamed from src/DebugTag.hs) | 0 | ||||
-rw-r--r-- | dht/src/DebugUtil.hs (renamed from src/DebugUtil.hs) | 0 | ||||
-rw-r--r-- | dht/src/Hans/Checksum.hs (renamed from src/Hans/Checksum.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/BitTorrent/DHT/ContactInfo.hs (renamed from src/Network/BitTorrent/DHT/ContactInfo.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/BitTorrent/DHT/Readme.md (renamed from src/Network/BitTorrent/DHT/Readme.md) | 0 | ||||
-rw-r--r-- | dht/src/Network/BitTorrent/DHT/Token.hs (renamed from src/Network/BitTorrent/DHT/Token.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/BitTorrent/MainlineDHT.hs (renamed from src/Network/BitTorrent/MainlineDHT.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/BitTorrent/MainlineDHT/Symbols.hs (renamed from src/Network/BitTorrent/MainlineDHT/Symbols.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Lossless.hs (renamed from src/Network/Lossless.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/QueryResponse.hs (renamed from src/Network/QueryResponse.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/QueryResponse/TCP.hs (renamed from src/Network/QueryResponse/TCP.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/SessionTransports.hs (renamed from src/Network/SessionTransports.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/SocketLike.hs (renamed from src/Network/SocketLike.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/StreamServer.hs (renamed from src/Network/StreamServer.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox.hs (renamed from src/Network/Tox.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/AggregateSession.hs (renamed from src/Network/Tox/AggregateSession.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/Avahi.hs (renamed from src/Network/Tox/Avahi.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/ContactInfo.hs (renamed from src/Network/Tox/ContactInfo.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/Crypto/Transport.hs (renamed from src/Network/Tox/Crypto/Transport.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/DHT/Handlers.hs (renamed from src/Network/Tox/DHT/Handlers.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/DHT/Transport.hs (renamed from src/Network/Tox/DHT/Transport.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/Handshake.hs (renamed from src/Network/Tox/Handshake.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/NodeId.hs (renamed from src/Network/Tox/NodeId.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/Onion/Handlers.hs (renamed from src/Network/Tox/Onion/Handlers.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/Onion/Transport.hs (renamed from src/Network/Tox/Onion/Transport.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/Relay.hs (renamed from src/Network/Tox/Relay.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/Session.hs (renamed from src/Network/Tox/Session.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/TCP.hs (renamed from src/Network/Tox/TCP.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/Tox/Transport.hs (renamed from src/Network/Tox/Transport.hs) | 0 | ||||
-rw-r--r-- | dht/src/Network/UPNP.hs (renamed from src/Network/UPNP.hs) | 0 | ||||
-rw-r--r-- | dht/src/StaticAssert.hs (renamed from src/StaticAssert.hs) | 0 | ||||
-rw-r--r-- | dht/src/System/Global6.hs (renamed from src/System/Global6.hs) | 0 | ||||
-rw-r--r-- | dht/src/Text/XXD.hs (renamed from src/Text/XXD.hs) | 0 | ||||
-rw-r--r-- | dht/stack.yaml (renamed from stack.yaml) | 0 | ||||
-rwxr-xr-x | dht/t (renamed from t) | 0 | ||||
-rw-r--r-- | dht/todo.txt (renamed from todo.txt) | 0 | ||||
-rwxr-xr-x | dht/vnet/build.sh (renamed from vnet/build.sh) | 0 | ||||
-rwxr-xr-x | dht/vnet/clean.sh (renamed from vnet/clean.sh) | 0 | ||||
-rwxr-xr-x | dht/vnet/everywhere.sh (renamed from vnet/everywhere.sh) | 0 | ||||
-rwxr-xr-x | dht/vnet/mkroutes.sh (renamed from vnet/mkroutes.sh) | 0 | ||||
-rwxr-xr-x | dht/vnet/run.sh (renamed from vnet/run.sh) | 0 | ||||
-rwxr-xr-x | dht/vnet/screen-everywhere.sh (renamed from vnet/screen-everywhere.sh) | 0 | ||||
-rwxr-xr-x | dht/vnet/screen-shell.sh (renamed from vnet/screen-shell.sh) | 0 | ||||
-rwxr-xr-x | dht/vnet/show-links.sh (renamed from vnet/show-links.sh) | 0 | ||||
-rw-r--r-- | dput-hslogger/CHANGELOG.md | 5 | ||||
-rw-r--r-- | dput-hslogger/LICENSE | 30 | ||||
-rw-r--r-- | dput-hslogger/Setup.hs | 2 | ||||
-rw-r--r-- | dput-hslogger/dput-hslogger.cabal | 24 | ||||
-rw-r--r-- | dput-hslogger/src/DPut.hs | 75 | ||||
-rw-r--r-- | kad/CHANGELOG.md | 5 | ||||
-rw-r--r-- | kad/LICENSE | 30 | ||||
-rw-r--r-- | kad/Setup.hs | 2 | ||||
-rw-r--r-- | kad/kad.cabal | 76 | ||||
-rw-r--r-- | kad/src/DebugTag.hs | 24 | ||||
-rw-r--r-- | kad/src/Network/Kademlia.hs (renamed from src/Network/Kademlia.hs) | 0 | ||||
-rw-r--r-- | kad/src/Network/Kademlia/Bootstrap.hs (renamed from src/Network/Kademlia/Bootstrap.hs) | 2 | ||||
-rw-r--r-- | kad/src/Network/Kademlia/CommonAPI.hs (renamed from src/Network/Kademlia/CommonAPI.hs) | 0 | ||||
-rw-r--r-- | kad/src/Network/Kademlia/Persistence.hs (renamed from src/Network/Kademlia/Persistence.hs) | 1 | ||||
-rw-r--r-- | kad/src/Network/Kademlia/Routing.hs (renamed from src/Network/Kademlia/Routing.hs) | 1 | ||||
-rw-r--r-- | kad/src/Network/Kademlia/Search.hs (renamed from src/Network/Kademlia/Search.hs) | 0 | ||||
-rw-r--r-- | lifted-concurrent/CHANGELOG.md | 5 | ||||
-rw-r--r-- | lifted-concurrent/LICENSE | 30 | ||||
-rw-r--r-- | lifted-concurrent/Setup.hs | 2 | ||||
-rw-r--r-- | lifted-concurrent/lifted-concurrent.cabal | 34 | ||||
-rw-r--r-- | lifted-concurrent/src/Control/Concurrent/Async/Lifted/Instrument.hs (renamed from src/Control/Concurrent/Async/Lifted/Instrument.hs) | 0 | ||||
-rw-r--r-- | lifted-concurrent/src/Control/Concurrent/Lifted/Instrument.hs (renamed from src/Control/Concurrent/Lifted/Instrument.hs) | 0 | ||||
-rw-r--r-- | lifted-concurrent/src/DebugTag.hs | 24 | ||||
-rw-r--r-- | minmax-psq/CHANGELOG.md | 5 | ||||
-rw-r--r-- | minmax-psq/LICENSE | 30 | ||||
-rw-r--r-- | minmax-psq/Setup.hs | 2 | ||||
-rw-r--r-- | minmax-psq/minmax-psq.cabal | 24 | ||||
-rw-r--r-- | minmax-psq/src/Data/MinMaxPSQ.hs (renamed from src/Data/MinMaxPSQ.hs) | 0 | ||||
-rw-r--r-- | network-addr/CHANGELOG.md | 5 | ||||
-rw-r--r-- | network-addr/LICENSE | 30 | ||||
-rw-r--r-- | network-addr/Setup.hs | 2 | ||||
-rw-r--r-- | network-addr/network-addr.cabal | 52 | ||||
-rw-r--r-- | network-addr/src/DebugTag.hs | 24 | ||||
-rw-r--r-- | network-addr/src/Network/Address.hs (renamed from src/Network/Address.hs) | 7 | ||||
-rw-r--r-- | psq-wrap/CHANGELOG.md | 5 | ||||
-rw-r--r-- | psq-wrap/LICENSE | 30 | ||||
-rw-r--r-- | psq-wrap/Setup.hs | 2 | ||||
-rw-r--r-- | psq-wrap/psq-wrap.cabal | 30 | ||||
-rw-r--r-- | psq-wrap/src/Data/Wrapper/PSQ.hs (renamed from src/Data/Wrapper/PSQ.hs) | 0 | ||||
-rw-r--r-- | psq-wrap/src/Data/Wrapper/PSQInt.hs (renamed from src/Data/Wrapper/PSQInt.hs) | 0 | ||||
-rw-r--r-- | sensible-directory/Setup.hs | 2 | ||||
-rw-r--r-- | sensible-directory/sensible-directory.cabal | 30 | ||||
-rw-r--r-- | sensible-directory/src/SensibleDir.hs | 121 | ||||
-rw-r--r-- | tasks/CHANGELOG.md | 5 | ||||
-rw-r--r-- | tasks/LICENSE | 30 | ||||
-rw-r--r-- | tasks/Setup.hs | 2 | ||||
-rw-r--r-- | tasks/src/Control/Concurrent/Tasks.hs (renamed from src/Control/Concurrent/Tasks.hs) | 0 | ||||
-rw-r--r-- | tasks/tasks.cabal | 29 | ||||
-rw-r--r-- | tox-crypto/CHANGELOG.md | 5 | ||||
-rw-r--r-- | tox-crypto/CHANGELOG.md.save0 | 5 | ||||
-rw-r--r-- | tox-crypto/LICENSE | 30 | ||||
-rw-r--r-- | tox-crypto/LICENSE.save0 | 30 | ||||
-rw-r--r-- | tox-crypto/Setup.hs | 2 | ||||
-rw-r--r-- | tox-crypto/Setup.hs.save0 | 2 | ||||
-rw-r--r-- | tox-crypto/src/Crypto/Tox.hs (renamed from src/Crypto/Tox.hs) | 1 | ||||
-rw-r--r-- | tox-crypto/src/DebugTag.hs | 24 | ||||
-rw-r--r-- | tox-crypto/tox-crypto.cabal | 59 | ||||
-rw-r--r-- | word64-map/CHANGELOG.md | 5 | ||||
-rw-r--r-- | word64-map/LICENSE | 30 | ||||
-rw-r--r-- | word64-map/Setup.hs | 2 | ||||
-rw-r--r-- | word64-map/src/Data/Word64Map.hs (renamed from src/Data/Word64Map.hs) | 0 | ||||
-rw-r--r-- | word64-map/word64-map.cabal | 26 |
304 files changed, 1065 insertions, 18 deletions
diff --git a/Announcer.hs b/dht/Announcer.hs index c6a04cb1..c6a04cb1 100644 --- a/Announcer.hs +++ b/dht/Announcer.hs | |||
diff --git a/Announcer/Tox.hs b/dht/Announcer/Tox.hs index f8343f8d..f8343f8d 100644 --- a/Announcer/Tox.hs +++ b/dht/Announcer/Tox.hs | |||
diff --git a/ChangeLog b/dht/ChangeLog index 60a1006c..60a1006c 100644 --- a/ChangeLog +++ b/dht/ChangeLog | |||
diff --git a/Connection.hs b/dht/Connection.hs index 9a4077f5..9a4077f5 100644 --- a/Connection.hs +++ b/dht/Connection.hs | |||
diff --git a/Connection/Tcp.hs b/dht/Connection/Tcp.hs index fd5d333b..fd5d333b 100644 --- a/Connection/Tcp.hs +++ b/dht/Connection/Tcp.hs | |||
diff --git a/Control/Concurrent/STM/StatusCache.hs b/dht/Control/Concurrent/STM/StatusCache.hs index d1c977ae..d1c977ae 100644 --- a/Control/Concurrent/STM/StatusCache.hs +++ b/dht/Control/Concurrent/STM/StatusCache.hs | |||
diff --git a/Control/Concurrent/STM/UpdateStream.hs b/dht/Control/Concurrent/STM/UpdateStream.hs index 227ffef4..227ffef4 100644 --- a/Control/Concurrent/STM/UpdateStream.hs +++ b/dht/Control/Concurrent/STM/UpdateStream.hs | |||
diff --git a/Data/BitSyntax.hs b/dht/Data/BitSyntax.hs index 6d14d0c1..6d14d0c1 100644 --- a/Data/BitSyntax.hs +++ b/dht/Data/BitSyntax.hs | |||
diff --git a/HandshakeCache.hs b/dht/HandshakeCache.hs index 61735e8a..61735e8a 100644 --- a/HandshakeCache.hs +++ b/dht/HandshakeCache.hs | |||
diff --git a/InterruptibleDelay.hs b/dht/InterruptibleDelay.hs index b2683441..b2683441 100644 --- a/InterruptibleDelay.hs +++ b/dht/InterruptibleDelay.hs | |||
diff --git a/LLCSNAP.hs b/dht/LLCSNAP.hs index 417c36ba..417c36ba 100644 --- a/LLCSNAP.hs +++ b/dht/LLCSNAP.hs | |||
diff --git a/OnionRouter.hs b/dht/OnionRouter.hs index 57c8ba35..57c8ba35 100644 --- a/OnionRouter.hs +++ b/dht/OnionRouter.hs | |||
diff --git a/PingMachine.hs b/dht/PingMachine.hs index ccf5b1d3..ccf5b1d3 100644 --- a/PingMachine.hs +++ b/dht/PingMachine.hs | |||
diff --git a/Presence/ByteStringOperators.hs b/dht/Presence/ByteStringOperators.hs index e8485134..e8485134 100644 --- a/Presence/ByteStringOperators.hs +++ b/dht/Presence/ByteStringOperators.hs | |||
diff --git a/Presence/Chat.hs b/dht/Presence/Chat.hs index 03bea44b..03bea44b 100644 --- a/Presence/Chat.hs +++ b/dht/Presence/Chat.hs | |||
diff --git a/Presence/ClientState.hs b/dht/Presence/ClientState.hs index 08cc54ed..08cc54ed 100644 --- a/Presence/ClientState.hs +++ b/dht/Presence/ClientState.hs | |||
diff --git a/Presence/ConfigFiles.hs b/dht/Presence/ConfigFiles.hs index d0164e33..d0164e33 100644 --- a/Presence/ConfigFiles.hs +++ b/dht/Presence/ConfigFiles.hs | |||
diff --git a/Presence/ConnectionKey.hs b/dht/Presence/ConnectionKey.hs index ad4eeab7..ad4eeab7 100644 --- a/Presence/ConnectionKey.hs +++ b/dht/Presence/ConnectionKey.hs | |||
diff --git a/Presence/ConsoleWriter.hs b/dht/Presence/ConsoleWriter.hs index c6e1871a..c6e1871a 100644 --- a/Presence/ConsoleWriter.hs +++ b/dht/Presence/ConsoleWriter.hs | |||
diff --git a/Presence/Control/Concurrent/STM/Util.hs b/dht/Presence/Control/Concurrent/STM/Util.hs index 4be3cff5..4be3cff5 100644 --- a/Presence/Control/Concurrent/STM/Util.hs +++ b/dht/Presence/Control/Concurrent/STM/Util.hs | |||
diff --git a/Presence/ControlMaybe.hs b/dht/Presence/ControlMaybe.hs index a101d667..a101d667 100644 --- a/Presence/ControlMaybe.hs +++ b/dht/Presence/ControlMaybe.hs | |||
diff --git a/Presence/DNSCache.hs b/dht/Presence/DNSCache.hs index e28655c5..e28655c5 100644 --- a/Presence/DNSCache.hs +++ b/dht/Presence/DNSCache.hs | |||
diff --git a/Presence/EventUtil.hs b/dht/Presence/EventUtil.hs index 908e09e0..908e09e0 100644 --- a/Presence/EventUtil.hs +++ b/dht/Presence/EventUtil.hs | |||
diff --git a/Presence/FGConsole.hs b/dht/Presence/FGConsole.hs index 03aaebf2..03aaebf2 100644 --- a/Presence/FGConsole.hs +++ b/dht/Presence/FGConsole.hs | |||
diff --git a/Presence/GetHostByAddr.hs b/dht/Presence/GetHostByAddr.hs index 45bca5e9..45bca5e9 100644 --- a/Presence/GetHostByAddr.hs +++ b/dht/Presence/GetHostByAddr.hs | |||
diff --git a/Presence/IDMangler.hs b/dht/Presence/IDMangler.hs index 664d4f54..664d4f54 100644 --- a/Presence/IDMangler.hs +++ b/dht/Presence/IDMangler.hs | |||
diff --git a/Presence/LocalChat.hs b/dht/Presence/LocalChat.hs index eab54a03..eab54a03 100644 --- a/Presence/LocalChat.hs +++ b/dht/Presence/LocalChat.hs | |||
diff --git a/Presence/LocalPeerCred.hs b/dht/Presence/LocalPeerCred.hs index f68557e8..f68557e8 100644 --- a/Presence/LocalPeerCred.hs +++ b/dht/Presence/LocalPeerCred.hs | |||
diff --git a/Presence/LockedChan.hs b/dht/Presence/LockedChan.hs index eac2b5ad..eac2b5ad 100644 --- a/Presence/LockedChan.hs +++ b/dht/Presence/LockedChan.hs | |||
diff --git a/Presence/Logging.hs b/dht/Presence/Logging.hs index b997d341..b997d341 100644 --- a/Presence/Logging.hs +++ b/dht/Presence/Logging.hs | |||
diff --git a/Presence/MUC.hs b/dht/Presence/MUC.hs index 639e834b..639e834b 100644 --- a/Presence/MUC.hs +++ b/dht/Presence/MUC.hs | |||
diff --git a/Presence/Nesting.hs b/dht/Presence/Nesting.hs index cf47c9fc..cf47c9fc 100644 --- a/Presence/Nesting.hs +++ b/dht/Presence/Nesting.hs | |||
diff --git a/Presence/Paths.hs b/dht/Presence/Paths.hs index 9d51b66e..9d51b66e 100644 --- a/Presence/Paths.hs +++ b/dht/Presence/Paths.hs | |||
diff --git a/Presence/PeerResolve.hs b/dht/Presence/PeerResolve.hs index 62becfe1..62becfe1 100644 --- a/Presence/PeerResolve.hs +++ b/dht/Presence/PeerResolve.hs | |||
diff --git a/Presence/Presence.hs b/dht/Presence/Presence.hs index 8cdd1cdc..8cdd1cdc 100644 --- a/Presence/Presence.hs +++ b/dht/Presence/Presence.hs | |||
diff --git a/Presence/SockAddr.hs b/dht/Presence/SockAddr.hs index b5fbf16e..b5fbf16e 100644 --- a/Presence/SockAddr.hs +++ b/dht/Presence/SockAddr.hs | |||
diff --git a/Presence/Stanza/Build.hs b/dht/Presence/Stanza/Build.hs index 16552428..16552428 100644 --- a/Presence/Stanza/Build.hs +++ b/dht/Presence/Stanza/Build.hs | |||
diff --git a/Presence/Stanza/Parse.hs b/dht/Presence/Stanza/Parse.hs index 58bf7c51..58bf7c51 100644 --- a/Presence/Stanza/Parse.hs +++ b/dht/Presence/Stanza/Parse.hs | |||
diff --git a/Presence/Stanza/Types.hs b/dht/Presence/Stanza/Types.hs index 7275c8ab..7275c8ab 100644 --- a/Presence/Stanza/Types.hs +++ b/dht/Presence/Stanza/Types.hs | |||
diff --git a/Presence/UTmp.hs b/dht/Presence/UTmp.hs index fcfe529a..fcfe529a 100644 --- a/Presence/UTmp.hs +++ b/dht/Presence/UTmp.hs | |||
diff --git a/Presence/Util.hs b/dht/Presence/Util.hs index e19b35fd..e19b35fd 100644 --- a/Presence/Util.hs +++ b/dht/Presence/Util.hs | |||
diff --git a/Presence/XMPPServer.hs b/dht/Presence/XMPPServer.hs index fe099fb8..fe099fb8 100644 --- a/Presence/XMPPServer.hs +++ b/dht/Presence/XMPPServer.hs | |||
diff --git a/Presence/monitortty.c b/dht/Presence/monitortty.c index 7582aa56..7582aa56 100644 --- a/Presence/monitortty.c +++ b/dht/Presence/monitortty.c | |||
diff --git a/TCPProber.hs b/dht/TCPProber.hs index 5e011116..5e011116 100644 --- a/TCPProber.hs +++ b/dht/TCPProber.hs | |||
diff --git a/ToxChat.hs b/dht/ToxChat.hs index fba5d33b..fba5d33b 100644 --- a/ToxChat.hs +++ b/dht/ToxChat.hs | |||
diff --git a/ToxManager.hs b/dht/ToxManager.hs index dceb9210..dceb9210 100644 --- a/ToxManager.hs +++ b/dht/ToxManager.hs | |||
diff --git a/ToxToXMPP.hs b/dht/ToxToXMPP.hs index 1420c642..1420c642 100644 --- a/ToxToXMPP.hs +++ b/dht/ToxToXMPP.hs | |||
diff --git a/TraversableT.hs b/dht/TraversableT.hs index c0e40853..c0e40853 100644 --- a/TraversableT.hs +++ b/dht/TraversableT.hs | |||
diff --git a/WifiHeader.hs b/dht/WifiHeader.hs index 90e77003..90e77003 100644 --- a/WifiHeader.hs +++ b/dht/WifiHeader.hs | |||
diff --git a/XMPPToTox.hs b/dht/XMPPToTox.hs index 33e6ae04..33e6ae04 100644 --- a/XMPPToTox.hs +++ b/dht/XMPPToTox.hs | |||
diff --git a/bittorrent/README.md b/dht/bittorrent/README.md index 32948896..32948896 100644 --- a/bittorrent/README.md +++ b/dht/bittorrent/README.md | |||
diff --git a/bittorrent/Readme.md b/dht/bittorrent/Readme.md index e092c3ad..e092c3ad 100644 --- a/bittorrent/Readme.md +++ b/dht/bittorrent/Readme.md | |||
diff --git a/bittorrent/bench/Main.hs b/dht/bittorrent/bench/Main.hs index f04485ab..f04485ab 100644 --- a/bittorrent/bench/Main.hs +++ b/dht/bittorrent/bench/Main.hs | |||
diff --git a/bittorrent/bench/Throughtput.hs b/dht/bittorrent/bench/Throughtput.hs index d0404405..d0404405 100644 --- a/bittorrent/bench/Throughtput.hs +++ b/dht/bittorrent/bench/Throughtput.hs | |||
diff --git a/bittorrent/bench/TorrentFile.hs b/dht/bittorrent/bench/TorrentFile.hs index e91a9c10..e91a9c10 100644 --- a/bittorrent/bench/TorrentFile.hs +++ b/dht/bittorrent/bench/TorrentFile.hs | |||
diff --git a/bittorrent/bittorrent.cabal b/dht/bittorrent/bittorrent.cabal index 8ec314e7..8ec314e7 100644 --- a/bittorrent/bittorrent.cabal +++ b/dht/bittorrent/bittorrent.cabal | |||
diff --git a/bittorrent/dev/README.md b/dht/bittorrent/dev/README.md index e2cc51a6..e2cc51a6 100644 --- a/bittorrent/dev/README.md +++ b/dht/bittorrent/dev/README.md | |||
diff --git a/bittorrent/dev/add-sources.sh b/dht/bittorrent/dev/add-sources.sh index e125cade..e125cade 100755 --- a/bittorrent/dev/add-sources.sh +++ b/dht/bittorrent/dev/add-sources.sh | |||
diff --git a/bittorrent/dev/bench b/dht/bittorrent/dev/bench index 5d03db3f..5d03db3f 100755 --- a/bittorrent/dev/bench +++ b/dht/bittorrent/dev/bench | |||
diff --git a/bittorrent/dev/test b/dht/bittorrent/dev/test index 2eb85df2..2eb85df2 100755 --- a/bittorrent/dev/test +++ b/dht/bittorrent/dev/test | |||
diff --git a/bittorrent/dev/update-dependencies.sh b/dht/bittorrent/dev/update-dependencies.sh index c83694c3..c83694c3 100755 --- a/bittorrent/dev/update-dependencies.sh +++ b/dht/bittorrent/dev/update-dependencies.sh | |||
diff --git a/bittorrent/examples/Client.hs b/dht/bittorrent/examples/Client.hs index 26711676..26711676 100644 --- a/bittorrent/examples/Client.hs +++ b/dht/bittorrent/examples/Client.hs | |||
diff --git a/bittorrent/examples/FS.hs b/dht/bittorrent/examples/FS.hs index 550d85a7..550d85a7 100644 --- a/bittorrent/examples/FS.hs +++ b/dht/bittorrent/examples/FS.hs | |||
diff --git a/bittorrent/examples/MkTorrent.hs b/dht/bittorrent/examples/MkTorrent.hs index 88a84893..88a84893 100644 --- a/bittorrent/examples/MkTorrent.hs +++ b/dht/bittorrent/examples/MkTorrent.hs | |||
diff --git a/bittorrent/res/dapper-dvd-amd64.iso.torrent b/dht/bittorrent/res/dapper-dvd-amd64.iso.torrent index 5713344b..5713344b 100644 --- a/bittorrent/res/dapper-dvd-amd64.iso.torrent +++ b/dht/bittorrent/res/dapper-dvd-amd64.iso.torrent | |||
Binary files differ | |||
diff --git a/bittorrent/res/pkg.torrent b/dht/bittorrent/res/pkg.torrent index be89e9e0..be89e9e0 100644 --- a/bittorrent/res/pkg.torrent +++ b/dht/bittorrent/res/pkg.torrent | |||
Binary files differ | |||
diff --git a/bittorrent/res/testfile b/dht/bittorrent/res/testfile index 8e984818..8e984818 100644 --- a/bittorrent/res/testfile +++ b/dht/bittorrent/res/testfile | |||
Binary files differ | |||
diff --git a/bittorrent/res/testfile.torrent b/dht/bittorrent/res/testfile.torrent index 297f56a2..297f56a2 100644 --- a/bittorrent/res/testfile.torrent +++ b/dht/bittorrent/res/testfile.torrent | |||
diff --git a/bittorrent/src/Network/BitTorrent.hs b/dht/bittorrent/src/Network/BitTorrent.hs index 91a58887..91a58887 100644 --- a/bittorrent/src/Network/BitTorrent.hs +++ b/dht/bittorrent/src/Network/BitTorrent.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Client.hs b/dht/bittorrent/src/Network/BitTorrent/Client.hs index c84290dd..c84290dd 100644 --- a/bittorrent/src/Network/BitTorrent/Client.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Client.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Client/Handle.hs b/dht/bittorrent/src/Network/BitTorrent/Client/Handle.hs index 66baac48..66baac48 100644 --- a/bittorrent/src/Network/BitTorrent/Client/Handle.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Client/Handle.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Client/Types.hs b/dht/bittorrent/src/Network/BitTorrent/Client/Types.hs index e2ad858f..e2ad858f 100644 --- a/bittorrent/src/Network/BitTorrent/Client/Types.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Client/Types.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Exchange.hs b/dht/bittorrent/src/Network/BitTorrent/Exchange.hs index 143bf090..143bf090 100644 --- a/bittorrent/src/Network/BitTorrent/Exchange.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Exchange.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Exchange/Bitfield.hs b/dht/bittorrent/src/Network/BitTorrent/Exchange/Bitfield.hs index 1be9f970..1be9f970 100644 --- a/bittorrent/src/Network/BitTorrent/Exchange/Bitfield.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Exchange/Bitfield.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Exchange/Block.hs b/dht/bittorrent/src/Network/BitTorrent/Exchange/Block.hs index bc9a3d24..bc9a3d24 100644 --- a/bittorrent/src/Network/BitTorrent/Exchange/Block.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Exchange/Block.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Exchange/Connection.hs b/dht/bittorrent/src/Network/BitTorrent/Exchange/Connection.hs index 6804d0a2..6804d0a2 100644 --- a/bittorrent/src/Network/BitTorrent/Exchange/Connection.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Exchange/Connection.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Exchange/Download.hs b/dht/bittorrent/src/Network/BitTorrent/Exchange/Download.hs index 981db2fb..981db2fb 100644 --- a/bittorrent/src/Network/BitTorrent/Exchange/Download.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Exchange/Download.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Exchange/Manager.hs b/dht/bittorrent/src/Network/BitTorrent/Exchange/Manager.hs index 30a6a607..30a6a607 100644 --- a/bittorrent/src/Network/BitTorrent/Exchange/Manager.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Exchange/Manager.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Exchange/Message.hs b/dht/bittorrent/src/Network/BitTorrent/Exchange/Message.hs index 5c096523..5c096523 100644 --- a/bittorrent/src/Network/BitTorrent/Exchange/Message.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Exchange/Message.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Exchange/Session.hs b/dht/bittorrent/src/Network/BitTorrent/Exchange/Session.hs index 38a3c3a6..38a3c3a6 100644 --- a/bittorrent/src/Network/BitTorrent/Exchange/Session.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Exchange/Session.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Internal/Cache.hs b/dht/bittorrent/src/Network/BitTorrent/Internal/Cache.hs index 8c74467a..8c74467a 100644 --- a/bittorrent/src/Network/BitTorrent/Internal/Cache.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Internal/Cache.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Internal/Progress.hs b/dht/bittorrent/src/Network/BitTorrent/Internal/Progress.hs index 6ac889e2..6ac889e2 100644 --- a/bittorrent/src/Network/BitTorrent/Internal/Progress.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Internal/Progress.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Internal/Types.hs b/dht/bittorrent/src/Network/BitTorrent/Internal/Types.hs index d157db3e..d157db3e 100644 --- a/bittorrent/src/Network/BitTorrent/Internal/Types.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Internal/Types.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Readme.md b/dht/bittorrent/src/Network/BitTorrent/Readme.md index ebf9545e..ebf9545e 100644 --- a/bittorrent/src/Network/BitTorrent/Readme.md +++ b/dht/bittorrent/src/Network/BitTorrent/Readme.md | |||
diff --git a/bittorrent/src/Network/BitTorrent/Tracker.hs b/dht/bittorrent/src/Network/BitTorrent/Tracker.hs index 1191f921..1191f921 100644 --- a/bittorrent/src/Network/BitTorrent/Tracker.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Tracker.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Tracker/List.hs b/dht/bittorrent/src/Network/BitTorrent/Tracker/List.hs index 1507b4be..1507b4be 100644 --- a/bittorrent/src/Network/BitTorrent/Tracker/List.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Tracker/List.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Tracker/Message.hs b/dht/bittorrent/src/Network/BitTorrent/Tracker/Message.hs index ab492275..ab492275 100644 --- a/bittorrent/src/Network/BitTorrent/Tracker/Message.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Tracker/Message.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Tracker/RPC.hs b/dht/bittorrent/src/Network/BitTorrent/Tracker/RPC.hs index 45fef05e..45fef05e 100644 --- a/bittorrent/src/Network/BitTorrent/Tracker/RPC.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Tracker/RPC.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Tracker/RPC/HTTP.hs b/dht/bittorrent/src/Network/BitTorrent/Tracker/RPC/HTTP.hs index 6f7a53bf..6f7a53bf 100644 --- a/bittorrent/src/Network/BitTorrent/Tracker/RPC/HTTP.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Tracker/RPC/HTTP.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Tracker/RPC/UDP.hs b/dht/bittorrent/src/Network/BitTorrent/Tracker/RPC/UDP.hs index 31b6b870..31b6b870 100644 --- a/bittorrent/src/Network/BitTorrent/Tracker/RPC/UDP.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Tracker/RPC/UDP.hs | |||
diff --git a/bittorrent/src/Network/BitTorrent/Tracker/Session.hs b/dht/bittorrent/src/Network/BitTorrent/Tracker/Session.hs index db6ebaff..db6ebaff 100644 --- a/bittorrent/src/Network/BitTorrent/Tracker/Session.hs +++ b/dht/bittorrent/src/Network/BitTorrent/Tracker/Session.hs | |||
diff --git a/bittorrent/src/System/Torrent/FileMap.hs b/dht/bittorrent/src/System/Torrent/FileMap.hs index 38c475e8..38c475e8 100644 --- a/bittorrent/src/System/Torrent/FileMap.hs +++ b/dht/bittorrent/src/System/Torrent/FileMap.hs | |||
diff --git a/bittorrent/src/System/Torrent/Storage.hs b/dht/bittorrent/src/System/Torrent/Storage.hs index 1d77e55d..1d77e55d 100644 --- a/bittorrent/src/System/Torrent/Storage.hs +++ b/dht/bittorrent/src/System/Torrent/Storage.hs | |||
diff --git a/bittorrent/src/System/Torrent/Tree.hs b/dht/bittorrent/src/System/Torrent/Tree.hs index 41cfb360..41cfb360 100644 --- a/bittorrent/src/System/Torrent/Tree.hs +++ b/dht/bittorrent/src/System/Torrent/Tree.hs | |||
diff --git a/bittorrent/tests/Config.hs b/dht/bittorrent/tests/Config.hs index 55e30867..55e30867 100644 --- a/bittorrent/tests/Config.hs +++ b/dht/bittorrent/tests/Config.hs | |||
diff --git a/bittorrent/tests/Data/TorrentSpec.hs b/dht/bittorrent/tests/Data/TorrentSpec.hs index b4a280e4..b4a280e4 100644 --- a/bittorrent/tests/Data/TorrentSpec.hs +++ b/dht/bittorrent/tests/Data/TorrentSpec.hs | |||
diff --git a/bittorrent/tests/Main.hs b/dht/bittorrent/tests/Main.hs index 5ed953da..5ed953da 100644 --- a/bittorrent/tests/Main.hs +++ b/dht/bittorrent/tests/Main.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Client/HandleSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Client/HandleSpec.hs index d51bab02..d51bab02 100644 --- a/bittorrent/tests/Network/BitTorrent/Client/HandleSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Client/HandleSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/CoreSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/CoreSpec.hs index e9b17a42..e9b17a42 100644 --- a/bittorrent/tests/Network/BitTorrent/CoreSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/CoreSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/DHT/MessageSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/DHT/MessageSpec.hs index 6f3c7489..6f3c7489 100644 --- a/bittorrent/tests/Network/BitTorrent/DHT/MessageSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/DHT/MessageSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/DHT/QuerySpec.hs b/dht/bittorrent/tests/Network/BitTorrent/DHT/QuerySpec.hs index 93f78263..93f78263 100644 --- a/bittorrent/tests/Network/BitTorrent/DHT/QuerySpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/DHT/QuerySpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/DHT/RoutingSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/DHT/RoutingSpec.hs index 07a906ba..07a906ba 100644 --- a/bittorrent/tests/Network/BitTorrent/DHT/RoutingSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/DHT/RoutingSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/DHT/SessionSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/DHT/SessionSpec.hs index 32e4c158..32e4c158 100644 --- a/bittorrent/tests/Network/BitTorrent/DHT/SessionSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/DHT/SessionSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/DHT/TestData.hs b/dht/bittorrent/tests/Network/BitTorrent/DHT/TestData.hs index e9473cbb..e9473cbb 100644 --- a/bittorrent/tests/Network/BitTorrent/DHT/TestData.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/DHT/TestData.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/DHT/TokenSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/DHT/TokenSpec.hs index a45d2212..a45d2212 100644 --- a/bittorrent/tests/Network/BitTorrent/DHT/TokenSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/DHT/TokenSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/DHTSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/DHTSpec.hs index 77160eb5..77160eb5 100644 --- a/bittorrent/tests/Network/BitTorrent/DHTSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/DHTSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Exchange/BitfieldSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Exchange/BitfieldSpec.hs index 1ba772f6..1ba772f6 100644 --- a/bittorrent/tests/Network/BitTorrent/Exchange/BitfieldSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Exchange/BitfieldSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Exchange/BlockSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Exchange/BlockSpec.hs index 2dc8e0b8..2dc8e0b8 100644 --- a/bittorrent/tests/Network/BitTorrent/Exchange/BlockSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Exchange/BlockSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Exchange/ConnectionSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Exchange/ConnectionSpec.hs index d654cda1..d654cda1 100644 --- a/bittorrent/tests/Network/BitTorrent/Exchange/ConnectionSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Exchange/ConnectionSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Exchange/DownloadSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Exchange/DownloadSpec.hs index d46f2034..d46f2034 100644 --- a/bittorrent/tests/Network/BitTorrent/Exchange/DownloadSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Exchange/DownloadSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Exchange/MessageSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Exchange/MessageSpec.hs index d615b1ff..d615b1ff 100644 --- a/bittorrent/tests/Network/BitTorrent/Exchange/MessageSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Exchange/MessageSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Exchange/SessionSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Exchange/SessionSpec.hs index bf5b95a1..bf5b95a1 100644 --- a/bittorrent/tests/Network/BitTorrent/Exchange/SessionSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Exchange/SessionSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Internal/CacheSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Internal/CacheSpec.hs index 337e7add..337e7add 100644 --- a/bittorrent/tests/Network/BitTorrent/Internal/CacheSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Internal/CacheSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Internal/ProgressSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Internal/ProgressSpec.hs index acbfd84c..acbfd84c 100644 --- a/bittorrent/tests/Network/BitTorrent/Internal/ProgressSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Internal/ProgressSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Tracker/ListSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Tracker/ListSpec.hs index bba9d0e2..bba9d0e2 100644 --- a/bittorrent/tests/Network/BitTorrent/Tracker/ListSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Tracker/ListSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Tracker/MessageSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Tracker/MessageSpec.hs index 29854d58..29854d58 100644 --- a/bittorrent/tests/Network/BitTorrent/Tracker/MessageSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Tracker/MessageSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Tracker/RPC/HTTPSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Tracker/RPC/HTTPSpec.hs index e928f917..e928f917 100644 --- a/bittorrent/tests/Network/BitTorrent/Tracker/RPC/HTTPSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Tracker/RPC/HTTPSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs index 73acb3fa..73acb3fa 100644 --- a/bittorrent/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Tracker/RPCSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Tracker/RPCSpec.hs index dfc13a1e..dfc13a1e 100644 --- a/bittorrent/tests/Network/BitTorrent/Tracker/RPCSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Tracker/RPCSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Tracker/SessionSpec.hs b/dht/bittorrent/tests/Network/BitTorrent/Tracker/SessionSpec.hs index 72936ee7..72936ee7 100644 --- a/bittorrent/tests/Network/BitTorrent/Tracker/SessionSpec.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Tracker/SessionSpec.hs | |||
diff --git a/bittorrent/tests/Network/BitTorrent/Tracker/TestData.hs b/dht/bittorrent/tests/Network/BitTorrent/Tracker/TestData.hs index b95e2df4..b95e2df4 100644 --- a/bittorrent/tests/Network/BitTorrent/Tracker/TestData.hs +++ b/dht/bittorrent/tests/Network/BitTorrent/Tracker/TestData.hs | |||
diff --git a/bittorrent/tests/Network/KRPC/MessageSpec.hs b/dht/bittorrent/tests/Network/KRPC/MessageSpec.hs index 498ef679..498ef679 100644 --- a/bittorrent/tests/Network/KRPC/MessageSpec.hs +++ b/dht/bittorrent/tests/Network/KRPC/MessageSpec.hs | |||
diff --git a/bittorrent/tests/Network/KRPC/MethodSpec.hs b/dht/bittorrent/tests/Network/KRPC/MethodSpec.hs index c1c58282..c1c58282 100644 --- a/bittorrent/tests/Network/KRPC/MethodSpec.hs +++ b/dht/bittorrent/tests/Network/KRPC/MethodSpec.hs | |||
diff --git a/bittorrent/tests/Network/KRPCSpec.hs b/dht/bittorrent/tests/Network/KRPCSpec.hs index eabcc817..eabcc817 100644 --- a/bittorrent/tests/Network/KRPCSpec.hs +++ b/dht/bittorrent/tests/Network/KRPCSpec.hs | |||
diff --git a/bittorrent/tests/Readme.md b/dht/bittorrent/tests/Readme.md index 7a9d8914..7a9d8914 100644 --- a/bittorrent/tests/Readme.md +++ b/dht/bittorrent/tests/Readme.md | |||
diff --git a/bittorrent/tests/Spec.hs b/dht/bittorrent/tests/Spec.hs index b4e92e75..b4e92e75 100644 --- a/bittorrent/tests/Spec.hs +++ b/dht/bittorrent/tests/Spec.hs | |||
diff --git a/bittorrent/tests/System/Torrent/FileMapSpec.hs b/dht/bittorrent/tests/System/Torrent/FileMapSpec.hs index 29252925..29252925 100644 --- a/bittorrent/tests/System/Torrent/FileMapSpec.hs +++ b/dht/bittorrent/tests/System/Torrent/FileMapSpec.hs | |||
diff --git a/bittorrent/tests/System/Torrent/StorageSpec.hs b/dht/bittorrent/tests/System/Torrent/StorageSpec.hs index b5e49078..b5e49078 100644 --- a/bittorrent/tests/System/Torrent/StorageSpec.hs +++ b/dht/bittorrent/tests/System/Torrent/StorageSpec.hs | |||
diff --git a/cbits/cryptonite_bitfn.h b/dht/cbits/cryptonite_bitfn.h index 3a00dd8a..3a00dd8a 100644 --- a/cbits/cryptonite_bitfn.h +++ b/dht/cbits/cryptonite_bitfn.h | |||
diff --git a/cbits/cryptonite_salsa.c b/dht/cbits/cryptonite_salsa.c index 0bd96607..0bd96607 100644 --- a/cbits/cryptonite_salsa.c +++ b/dht/cbits/cryptonite_salsa.c | |||
diff --git a/cbits/cryptonite_salsa.h b/dht/cbits/cryptonite_salsa.h index 33e9cda9..33e9cda9 100644 --- a/cbits/cryptonite_salsa.h +++ b/dht/cbits/cryptonite_salsa.h | |||
diff --git a/cbits/cryptonite_xsalsa.c b/dht/cbits/cryptonite_xsalsa.c index 6718cd7d..6718cd7d 100644 --- a/cbits/cryptonite_xsalsa.c +++ b/dht/cbits/cryptonite_xsalsa.c | |||
diff --git a/cbits/cryptonite_xsalsa.h b/dht/cbits/cryptonite_xsalsa.h index 73233cee..73233cee 100644 --- a/cbits/cryptonite_xsalsa.h +++ b/dht/cbits/cryptonite_xsalsa.h | |||
diff --git a/conn-notes.txt b/dht/conn-notes.txt index 257987d1..257987d1 100644 --- a/conn-notes.txt +++ b/dht/conn-notes.txt | |||
diff --git a/cryptonite-backport/Crypto/Cipher/Salsa.hs b/dht/cryptonite-backport/Crypto/Cipher/Salsa.hs index b6b188b1..b6b188b1 100644 --- a/cryptonite-backport/Crypto/Cipher/Salsa.hs +++ b/dht/cryptonite-backport/Crypto/Cipher/Salsa.hs | |||
diff --git a/cryptonite-backport/Crypto/Cipher/XSalsa.hs b/dht/cryptonite-backport/Crypto/Cipher/XSalsa.hs index 494760e2..494760e2 100644 --- a/cryptonite-backport/Crypto/Cipher/XSalsa.hs +++ b/dht/cryptonite-backport/Crypto/Cipher/XSalsa.hs | |||
diff --git a/cryptonite-backport/Crypto/ECC/Class.hs b/dht/cryptonite-backport/Crypto/ECC/Class.hs index 16b2cc15..16b2cc15 100644 --- a/cryptonite-backport/Crypto/ECC/Class.hs +++ b/dht/cryptonite-backport/Crypto/ECC/Class.hs | |||
diff --git a/cryptonite-backport/Crypto/ECC/Simple/Prim.hs b/dht/cryptonite-backport/Crypto/ECC/Simple/Prim.hs index 117988f2..117988f2 100644 --- a/cryptonite-backport/Crypto/ECC/Simple/Prim.hs +++ b/dht/cryptonite-backport/Crypto/ECC/Simple/Prim.hs | |||
diff --git a/cryptonite-backport/Crypto/ECC/Simple/Types.hs b/dht/cryptonite-backport/Crypto/ECC/Simple/Types.hs index c97daa29..c97daa29 100644 --- a/cryptonite-backport/Crypto/ECC/Simple/Types.hs +++ b/dht/cryptonite-backport/Crypto/ECC/Simple/Types.hs | |||
diff --git a/cryptonite-backport/Crypto/Error/Types.hs b/dht/cryptonite-backport/Crypto/Error/Types.hs index 4aaf4e04..4aaf4e04 100644 --- a/cryptonite-backport/Crypto/Error/Types.hs +++ b/dht/cryptonite-backport/Crypto/Error/Types.hs | |||
diff --git a/cryptonite-backport/Crypto/Internal/ByteArray.hs b/dht/cryptonite-backport/Crypto/Internal/ByteArray.hs index 3a23152d..3a23152d 100644 --- a/cryptonite-backport/Crypto/Internal/ByteArray.hs +++ b/dht/cryptonite-backport/Crypto/Internal/ByteArray.hs | |||
diff --git a/cryptonite-backport/Crypto/Internal/Compat.hs b/dht/cryptonite-backport/Crypto/Internal/Compat.hs index a3712a7c..a3712a7c 100644 --- a/cryptonite-backport/Crypto/Internal/Compat.hs +++ b/dht/cryptonite-backport/Crypto/Internal/Compat.hs | |||
diff --git a/cryptonite-backport/Crypto/Internal/DeepSeq.hs b/dht/cryptonite-backport/Crypto/Internal/DeepSeq.hs index 9da79881..9da79881 100644 --- a/cryptonite-backport/Crypto/Internal/DeepSeq.hs +++ b/dht/cryptonite-backport/Crypto/Internal/DeepSeq.hs | |||
diff --git a/cryptonite-backport/Crypto/Internal/Imports.hs b/dht/cryptonite-backport/Crypto/Internal/Imports.hs index 4ed44e16..4ed44e16 100644 --- a/cryptonite-backport/Crypto/Internal/Imports.hs +++ b/dht/cryptonite-backport/Crypto/Internal/Imports.hs | |||
diff --git a/cryptonite-backport/Crypto/PubKey/Curve25519.hs b/dht/cryptonite-backport/Crypto/PubKey/Curve25519.hs index 42878691..42878691 100644 --- a/cryptonite-backport/Crypto/PubKey/Curve25519.hs +++ b/dht/cryptonite-backport/Crypto/PubKey/Curve25519.hs | |||
diff --git a/dht-client.cabal b/dht/dht-client.cabal index 415e9289..7355bae6 100644 --- a/dht-client.cabal +++ b/dht/dht-client.cabal | |||
@@ -76,29 +76,17 @@ library | |||
76 | Data.Digest.CRC32C | 76 | Data.Digest.CRC32C |
77 | Data.Bits.ByteString | 77 | Data.Bits.ByteString |
78 | Data.TableMethods | 78 | Data.TableMethods |
79 | Data.Wrapper.PSQ | ||
80 | Data.Wrapper.PSQInt | ||
81 | Data.MinMaxPSQ | ||
82 | Network.Address | ||
83 | Network.Kademlia.Bootstrap | ||
84 | Network.Kademlia.Routing | ||
85 | Data.Torrent | 79 | Data.Torrent |
86 | Network.BitTorrent.DHT.ContactInfo | 80 | Network.BitTorrent.DHT.ContactInfo |
87 | Network.BitTorrent.DHT.Token | 81 | Network.BitTorrent.DHT.Token |
88 | Network.Kademlia.Search | ||
89 | Network.QueryResponse | 82 | Network.QueryResponse |
90 | Network.StreamServer | 83 | Network.StreamServer |
91 | Data.BEncode.Pretty | 84 | Data.BEncode.Pretty |
92 | Control.Concurrent.Tasks | ||
93 | Network.Kademlia | ||
94 | Network.Kademlia.CommonAPI | ||
95 | Network.Kademlia.Persistence | ||
96 | Network.BitTorrent.MainlineDHT | 85 | Network.BitTorrent.MainlineDHT |
97 | Network.BitTorrent.MainlineDHT.Symbols | 86 | Network.BitTorrent.MainlineDHT.Symbols |
98 | System.Global6 | 87 | System.Global6 |
99 | Data.PacketQueue | 88 | Data.PacketQueue |
100 | Data.PacketBuffer | 89 | Data.PacketBuffer |
101 | Data.Word64Map | ||
102 | OnionRouter | 90 | OnionRouter |
103 | TCPProber | 91 | TCPProber |
104 | Data.Tox.Onion | 92 | Data.Tox.Onion |
@@ -119,7 +107,6 @@ library | |||
119 | Data.Tox.Msg | 107 | Data.Tox.Msg |
120 | Data.Tox.Relay | 108 | Data.Tox.Relay |
121 | Control.TriadCommittee | 109 | Control.TriadCommittee |
122 | Crypto.Tox | ||
123 | Text.XXD | 110 | Text.XXD |
124 | Network.Tox.ContactInfo | 111 | Network.Tox.ContactInfo |
125 | Announcer | 112 | Announcer |
@@ -227,6 +214,14 @@ library | |||
227 | , hinotify | 214 | , hinotify |
228 | , avahi >= 0.2.0 | 215 | , avahi >= 0.2.0 |
229 | , hslogger | 216 | , hslogger |
217 | , word64-map | ||
218 | , network-addr | ||
219 | , tox-crypto | ||
220 | , lifted-concurrent | ||
221 | , psq-wrap | ||
222 | , minmax-psq | ||
223 | , kad | ||
224 | , tasks | ||
230 | 225 | ||
231 | if impl(ghc < 8) | 226 | if impl(ghc < 8) |
232 | Build-depends: transformers | 227 | Build-depends: transformers |
@@ -251,7 +246,7 @@ library | |||
251 | build-depends: aeson, aeson-pretty, unordered-containers, vector | 246 | build-depends: aeson, aeson-pretty, unordered-containers, vector |
252 | cpp-options: -DBENCODE_AESON -DRENDERFLUSH | 247 | cpp-options: -DBENCODE_AESON -DRENDERFLUSH |
253 | if flag(thread-debug) | 248 | if flag(thread-debug) |
254 | exposed-modules: Control.Concurrent.Lifted.Instrument | 249 | -- exposed-modules: Control.Concurrent.Lifted.Instrument |
255 | cpp-options: -DTHREAD_DEBUG | 250 | cpp-options: -DTHREAD_DEBUG |
256 | 251 | ||
257 | if flag(builder) | 252 | if flag(builder) |
diff --git a/doc/rfc6120.html b/dht/doc/rfc6120.html index fa7ef081..fa7ef081 100644 --- a/doc/rfc6120.html +++ b/dht/doc/rfc6120.html | |||
diff --git a/doc/rfc6121.html b/dht/doc/rfc6121.html index bd00706c..bd00706c 100644 --- a/doc/rfc6121.html +++ b/dht/doc/rfc6121.html | |||
diff --git a/examples/AliceBob.hs b/dht/examples/AliceBob.hs index 529b92d5..529b92d5 100644 --- a/examples/AliceBob.hs +++ b/dht/examples/AliceBob.hs | |||
diff --git a/examples/atox.hs b/dht/examples/atox.hs index 3bae5203..3bae5203 100644 --- a/examples/atox.hs +++ b/dht/examples/atox.hs | |||
diff --git a/examples/avahi.hs b/dht/examples/avahi.hs index e5567875..e5567875 100644 --- a/examples/avahi.hs +++ b/dht/examples/avahi.hs | |||
diff --git a/examples/consolation.hs b/dht/examples/consolation.hs index 0c576dfc..0c576dfc 100644 --- a/examples/consolation.hs +++ b/dht/examples/consolation.hs | |||
diff --git a/examples/dht.hs b/dht/examples/dht.hs index 3e1b1656..3e1b1656 100644 --- a/examples/dht.hs +++ b/dht/examples/dht.hs | |||
diff --git a/examples/dhtd.hs b/dht/examples/dhtd.hs index 2772416b..2772416b 100644 --- a/examples/dhtd.hs +++ b/dht/examples/dhtd.hs | |||
diff --git a/examples/nalias.hs b/dht/examples/nalias.hs index fa1b6f71..fa1b6f71 100644 --- a/examples/nalias.hs +++ b/dht/examples/nalias.hs | |||
diff --git a/examples/nalias2.hs b/dht/examples/nalias2.hs index 609f2ec6..609f2ec6 100644 --- a/examples/nalias2.hs +++ b/dht/examples/nalias2.hs | |||
diff --git a/examples/pjson.hs b/dht/examples/pjson.hs index a515febb..a515febb 100644 --- a/examples/pjson.hs +++ b/dht/examples/pjson.hs | |||
diff --git a/examples/pwrite.hs b/dht/examples/pwrite.hs index bad6af06..bad6af06 100644 --- a/examples/pwrite.hs +++ b/dht/examples/pwrite.hs | |||
diff --git a/examples/test-xmpp.hs b/dht/examples/test-xmpp.hs index a8e20c3c..a8e20c3c 100644 --- a/examples/test-xmpp.hs +++ b/dht/examples/test-xmpp.hs | |||
diff --git a/examples/testTox.hs b/dht/examples/testTox.hs index 67c4daef..67c4daef 100644 --- a/examples/testTox.hs +++ b/dht/examples/testTox.hs | |||
diff --git a/examples/testcookie.hs b/dht/examples/testcookie.hs index 4302ad35..4302ad35 100644 --- a/examples/testcookie.hs +++ b/dht/examples/testcookie.hs | |||
diff --git a/examples/toxrelay.hs b/dht/examples/toxrelay.hs index af08e8d7..af08e8d7 100644 --- a/examples/toxrelay.hs +++ b/dht/examples/toxrelay.hs | |||
diff --git a/examples/whosocket.hs b/dht/examples/whosocket.hs index f84e3178..f84e3178 100644 --- a/examples/whosocket.hs +++ b/dht/examples/whosocket.hs | |||
diff --git a/examples/xmppServer.hs b/dht/examples/xmppServer.hs index b0a53e8b..b0a53e8b 100644 --- a/examples/xmppServer.hs +++ b/dht/examples/xmppServer.hs | |||
diff --git a/graphdeps b/dht/graphdeps index 4ee6939a..4ee6939a 100755 --- a/graphdeps +++ b/dht/graphdeps | |||
diff --git a/modules.svg b/dht/modules.svg index 32e85a40..32e85a40 100644 --- a/modules.svg +++ b/dht/modules.svg | |||
diff --git a/presence.cabal.bak b/dht/presence.cabal.bak index 81ca59b2..81ca59b2 100644 --- a/presence.cabal.bak +++ b/dht/presence.cabal.bak | |||
diff --git a/presence.service b/dht/presence.service index 85f20cda..85f20cda 100644 --- a/presence.service +++ b/dht/presence.service | |||
diff --git a/readpackets.hs b/dht/readpackets.hs index 690aa91e..690aa91e 100644 --- a/readpackets.hs +++ b/dht/readpackets.hs | |||
diff --git a/src/Control/TriadCommittee.hs b/dht/src/Control/TriadCommittee.hs index 88e665b6..88e665b6 100644 --- a/src/Control/TriadCommittee.hs +++ b/dht/src/Control/TriadCommittee.hs | |||
diff --git a/src/Crypto/Nonce.hs b/dht/src/Crypto/Nonce.hs index 263f9b0a..263f9b0a 100644 --- a/src/Crypto/Nonce.hs +++ b/dht/src/Crypto/Nonce.hs | |||
diff --git a/src/Crypto/XEd25519.hs b/dht/src/Crypto/XEd25519.hs index 372f31a8..372f31a8 100644 --- a/src/Crypto/XEd25519.hs +++ b/dht/src/Crypto/XEd25519.hs | |||
diff --git a/src/Crypto/XEd25519/FieldElement.hs b/dht/src/Crypto/XEd25519/FieldElement.hs index 7a916107..7a916107 100644 --- a/src/Crypto/XEd25519/FieldElement.hs +++ b/dht/src/Crypto/XEd25519/FieldElement.hs | |||
diff --git a/src/DPut.hs b/dht/src/DPut.hs index 38e532d0..38e532d0 100644 --- a/src/DPut.hs +++ b/dht/src/DPut.hs | |||
diff --git a/src/Data/BEncode/Pretty.hs b/dht/src/Data/BEncode/Pretty.hs index 8beb101b..8beb101b 100644 --- a/src/Data/BEncode/Pretty.hs +++ b/dht/src/Data/BEncode/Pretty.hs | |||
diff --git a/src/Data/Bits/ByteString.hs b/dht/src/Data/Bits/ByteString.hs index bf0316fd..bf0316fd 100644 --- a/src/Data/Bits/ByteString.hs +++ b/dht/src/Data/Bits/ByteString.hs | |||
diff --git a/src/Data/Digest/CRC32C.hs b/dht/src/Data/Digest/CRC32C.hs index 18c1314f..18c1314f 100644 --- a/src/Data/Digest/CRC32C.hs +++ b/dht/src/Data/Digest/CRC32C.hs | |||
diff --git a/src/Data/IntervalSet.hs b/dht/src/Data/IntervalSet.hs index f1205274..f1205274 100644 --- a/src/Data/IntervalSet.hs +++ b/dht/src/Data/IntervalSet.hs | |||
diff --git a/src/Data/PacketBuffer.hs b/dht/src/Data/PacketBuffer.hs index 17745664..17745664 100644 --- a/src/Data/PacketBuffer.hs +++ b/dht/src/Data/PacketBuffer.hs | |||
diff --git a/src/Data/PacketQueue.hs b/dht/src/Data/PacketQueue.hs index 15a3b436..15a3b436 100644 --- a/src/Data/PacketQueue.hs +++ b/dht/src/Data/PacketQueue.hs | |||
diff --git a/src/Data/Sized.hs b/dht/src/Data/Sized.hs index 0d3d5845..0d3d5845 100644 --- a/src/Data/Sized.hs +++ b/dht/src/Data/Sized.hs | |||
diff --git a/src/Data/TableMethods.hs b/dht/src/Data/TableMethods.hs index e4208a69..e4208a69 100644 --- a/src/Data/TableMethods.hs +++ b/dht/src/Data/TableMethods.hs | |||
diff --git a/src/Data/Torrent.hs b/dht/src/Data/Torrent.hs index 32c709be..32c709be 100644 --- a/src/Data/Torrent.hs +++ b/dht/src/Data/Torrent.hs | |||
diff --git a/src/Data/Tox/Message.hs b/dht/src/Data/Tox/Message.hs index 9f1ce339..9f1ce339 100644 --- a/src/Data/Tox/Message.hs +++ b/dht/src/Data/Tox/Message.hs | |||
diff --git a/src/Data/Tox/Msg.hs b/dht/src/Data/Tox/Msg.hs index 66ec6eb1..66ec6eb1 100644 --- a/src/Data/Tox/Msg.hs +++ b/dht/src/Data/Tox/Msg.hs | |||
diff --git a/src/Data/Tox/Onion.hs b/dht/src/Data/Tox/Onion.hs index bd802c75..bd802c75 100644 --- a/src/Data/Tox/Onion.hs +++ b/dht/src/Data/Tox/Onion.hs | |||
diff --git a/src/Data/Tox/Relay.hs b/dht/src/Data/Tox/Relay.hs index c563db8d..c563db8d 100644 --- a/src/Data/Tox/Relay.hs +++ b/dht/src/Data/Tox/Relay.hs | |||
diff --git a/src/DebugTag.hs b/dht/src/DebugTag.hs index 9ac04bb0..9ac04bb0 100644 --- a/src/DebugTag.hs +++ b/dht/src/DebugTag.hs | |||
diff --git a/src/DebugUtil.hs b/dht/src/DebugUtil.hs index e7a10397..e7a10397 100644 --- a/src/DebugUtil.hs +++ b/dht/src/DebugUtil.hs | |||
diff --git a/src/Hans/Checksum.hs b/dht/src/Hans/Checksum.hs index 7afc93c7..7afc93c7 100644 --- a/src/Hans/Checksum.hs +++ b/dht/src/Hans/Checksum.hs | |||
diff --git a/src/Network/BitTorrent/DHT/ContactInfo.hs b/dht/src/Network/BitTorrent/DHT/ContactInfo.hs index ec7e6658..ec7e6658 100644 --- a/src/Network/BitTorrent/DHT/ContactInfo.hs +++ b/dht/src/Network/BitTorrent/DHT/ContactInfo.hs | |||
diff --git a/src/Network/BitTorrent/DHT/Readme.md b/dht/src/Network/BitTorrent/DHT/Readme.md index e2352f10..e2352f10 100644 --- a/src/Network/BitTorrent/DHT/Readme.md +++ b/dht/src/Network/BitTorrent/DHT/Readme.md | |||
diff --git a/src/Network/BitTorrent/DHT/Token.hs b/dht/src/Network/BitTorrent/DHT/Token.hs index 171cc8be..171cc8be 100644 --- a/src/Network/BitTorrent/DHT/Token.hs +++ b/dht/src/Network/BitTorrent/DHT/Token.hs | |||
diff --git a/src/Network/BitTorrent/MainlineDHT.hs b/dht/src/Network/BitTorrent/MainlineDHT.hs index 89851e88..89851e88 100644 --- a/src/Network/BitTorrent/MainlineDHT.hs +++ b/dht/src/Network/BitTorrent/MainlineDHT.hs | |||
diff --git a/src/Network/BitTorrent/MainlineDHT/Symbols.hs b/dht/src/Network/BitTorrent/MainlineDHT/Symbols.hs index 05a64014..05a64014 100644 --- a/src/Network/BitTorrent/MainlineDHT/Symbols.hs +++ b/dht/src/Network/BitTorrent/MainlineDHT/Symbols.hs | |||
diff --git a/src/Network/Lossless.hs b/dht/src/Network/Lossless.hs index 861792ab..861792ab 100644 --- a/src/Network/Lossless.hs +++ b/dht/src/Network/Lossless.hs | |||
diff --git a/src/Network/QueryResponse.hs b/dht/src/Network/QueryResponse.hs index c4ff50e3..c4ff50e3 100644 --- a/src/Network/QueryResponse.hs +++ b/dht/src/Network/QueryResponse.hs | |||
diff --git a/src/Network/QueryResponse/TCP.hs b/dht/src/Network/QueryResponse/TCP.hs index bad61727..bad61727 100644 --- a/src/Network/QueryResponse/TCP.hs +++ b/dht/src/Network/QueryResponse/TCP.hs | |||
diff --git a/src/Network/SessionTransports.hs b/dht/src/Network/SessionTransports.hs index e9daf6c1..e9daf6c1 100644 --- a/src/Network/SessionTransports.hs +++ b/dht/src/Network/SessionTransports.hs | |||
diff --git a/src/Network/SocketLike.hs b/dht/src/Network/SocketLike.hs index d533dd7f..d533dd7f 100644 --- a/src/Network/SocketLike.hs +++ b/dht/src/Network/SocketLike.hs | |||
diff --git a/src/Network/StreamServer.hs b/dht/src/Network/StreamServer.hs index 80ed4ee2..80ed4ee2 100644 --- a/src/Network/StreamServer.hs +++ b/dht/src/Network/StreamServer.hs | |||
diff --git a/src/Network/Tox.hs b/dht/src/Network/Tox.hs index 98c03b80..98c03b80 100644 --- a/src/Network/Tox.hs +++ b/dht/src/Network/Tox.hs | |||
diff --git a/src/Network/Tox/AggregateSession.hs b/dht/src/Network/Tox/AggregateSession.hs index 8c728660..8c728660 100644 --- a/src/Network/Tox/AggregateSession.hs +++ b/dht/src/Network/Tox/AggregateSession.hs | |||
diff --git a/src/Network/Tox/Avahi.hs b/dht/src/Network/Tox/Avahi.hs index 635ba656..635ba656 100644 --- a/src/Network/Tox/Avahi.hs +++ b/dht/src/Network/Tox/Avahi.hs | |||
diff --git a/src/Network/Tox/ContactInfo.hs b/dht/src/Network/Tox/ContactInfo.hs index e7cb48c1..e7cb48c1 100644 --- a/src/Network/Tox/ContactInfo.hs +++ b/dht/src/Network/Tox/ContactInfo.hs | |||
diff --git a/src/Network/Tox/Crypto/Transport.hs b/dht/src/Network/Tox/Crypto/Transport.hs index a18b550d..a18b550d 100644 --- a/src/Network/Tox/Crypto/Transport.hs +++ b/dht/src/Network/Tox/Crypto/Transport.hs | |||
diff --git a/src/Network/Tox/DHT/Handlers.hs b/dht/src/Network/Tox/DHT/Handlers.hs index 1eec93b9..1eec93b9 100644 --- a/src/Network/Tox/DHT/Handlers.hs +++ b/dht/src/Network/Tox/DHT/Handlers.hs | |||
diff --git a/src/Network/Tox/DHT/Transport.hs b/dht/src/Network/Tox/DHT/Transport.hs index b9b63165..b9b63165 100644 --- a/src/Network/Tox/DHT/Transport.hs +++ b/dht/src/Network/Tox/DHT/Transport.hs | |||
diff --git a/src/Network/Tox/Handshake.hs b/dht/src/Network/Tox/Handshake.hs index c48b7415..c48b7415 100644 --- a/src/Network/Tox/Handshake.hs +++ b/dht/src/Network/Tox/Handshake.hs | |||
diff --git a/src/Network/Tox/NodeId.hs b/dht/src/Network/Tox/NodeId.hs index 9a9c893a..9a9c893a 100644 --- a/src/Network/Tox/NodeId.hs +++ b/dht/src/Network/Tox/NodeId.hs | |||
diff --git a/src/Network/Tox/Onion/Handlers.hs b/dht/src/Network/Tox/Onion/Handlers.hs index f44dd79c..f44dd79c 100644 --- a/src/Network/Tox/Onion/Handlers.hs +++ b/dht/src/Network/Tox/Onion/Handlers.hs | |||
diff --git a/src/Network/Tox/Onion/Transport.hs b/dht/src/Network/Tox/Onion/Transport.hs index e746c414..e746c414 100644 --- a/src/Network/Tox/Onion/Transport.hs +++ b/dht/src/Network/Tox/Onion/Transport.hs | |||
diff --git a/src/Network/Tox/Relay.hs b/dht/src/Network/Tox/Relay.hs index 2842fcc2..2842fcc2 100644 --- a/src/Network/Tox/Relay.hs +++ b/dht/src/Network/Tox/Relay.hs | |||
diff --git a/src/Network/Tox/Session.hs b/dht/src/Network/Tox/Session.hs index 189967fa..189967fa 100644 --- a/src/Network/Tox/Session.hs +++ b/dht/src/Network/Tox/Session.hs | |||
diff --git a/src/Network/Tox/TCP.hs b/dht/src/Network/Tox/TCP.hs index 13da804f..13da804f 100644 --- a/src/Network/Tox/TCP.hs +++ b/dht/src/Network/Tox/TCP.hs | |||
diff --git a/src/Network/Tox/Transport.hs b/dht/src/Network/Tox/Transport.hs index 217d5b1d..217d5b1d 100644 --- a/src/Network/Tox/Transport.hs +++ b/dht/src/Network/Tox/Transport.hs | |||
diff --git a/src/Network/UPNP.hs b/dht/src/Network/UPNP.hs index 01d222bf..01d222bf 100644 --- a/src/Network/UPNP.hs +++ b/dht/src/Network/UPNP.hs | |||
diff --git a/src/StaticAssert.hs b/dht/src/StaticAssert.hs index d0784c97..d0784c97 100644 --- a/src/StaticAssert.hs +++ b/dht/src/StaticAssert.hs | |||
diff --git a/src/System/Global6.hs b/dht/src/System/Global6.hs index 38a90a59..38a90a59 100644 --- a/src/System/Global6.hs +++ b/dht/src/System/Global6.hs | |||
diff --git a/src/Text/XXD.hs b/dht/src/Text/XXD.hs index 77606bfa..77606bfa 100644 --- a/src/Text/XXD.hs +++ b/dht/src/Text/XXD.hs | |||
diff --git a/stack.yaml b/dht/stack.yaml index 1927a573..1927a573 100644 --- a/stack.yaml +++ b/dht/stack.yaml | |||
diff --git a/vnet/build.sh b/dht/vnet/build.sh index 5354969a..5354969a 100755 --- a/vnet/build.sh +++ b/dht/vnet/build.sh | |||
diff --git a/vnet/clean.sh b/dht/vnet/clean.sh index 3e0af1bd..3e0af1bd 100755 --- a/vnet/clean.sh +++ b/dht/vnet/clean.sh | |||
diff --git a/vnet/everywhere.sh b/dht/vnet/everywhere.sh index ebd4ca38..ebd4ca38 100755 --- a/vnet/everywhere.sh +++ b/dht/vnet/everywhere.sh | |||
diff --git a/vnet/mkroutes.sh b/dht/vnet/mkroutes.sh index 8b13faaa..8b13faaa 100755 --- a/vnet/mkroutes.sh +++ b/dht/vnet/mkroutes.sh | |||
diff --git a/vnet/run.sh b/dht/vnet/run.sh index 0189b6b7..0189b6b7 100755 --- a/vnet/run.sh +++ b/dht/vnet/run.sh | |||
diff --git a/vnet/screen-everywhere.sh b/dht/vnet/screen-everywhere.sh index e4f75374..e4f75374 100755 --- a/vnet/screen-everywhere.sh +++ b/dht/vnet/screen-everywhere.sh | |||
diff --git a/vnet/screen-shell.sh b/dht/vnet/screen-shell.sh index fa420b9d..fa420b9d 100755 --- a/vnet/screen-shell.sh +++ b/dht/vnet/screen-shell.sh | |||
diff --git a/vnet/show-links.sh b/dht/vnet/show-links.sh index d7115a0b..d7115a0b 100755 --- a/vnet/show-links.sh +++ b/dht/vnet/show-links.sh | |||
diff --git a/dput-hslogger/CHANGELOG.md b/dput-hslogger/CHANGELOG.md new file mode 100644 index 00000000..8626ce35 --- /dev/null +++ b/dput-hslogger/CHANGELOG.md | |||
@@ -0,0 +1,5 @@ | |||
1 | # Revision history for dput-hslogger | ||
2 | |||
3 | ## 0.1.0.0 -- YYYY-mm-dd | ||
4 | |||
5 | * First version. Released on an unsuspecting world. | ||
diff --git a/dput-hslogger/LICENSE b/dput-hslogger/LICENSE new file mode 100644 index 00000000..a97490ef --- /dev/null +++ b/dput-hslogger/LICENSE | |||
@@ -0,0 +1,30 @@ | |||
1 | Copyright (c) 2018, James Crayne | ||
2 | |||
3 | All rights reserved. | ||
4 | |||
5 | Redistribution and use in source and binary forms, with or without | ||
6 | modification, are permitted provided that the following conditions are met: | ||
7 | |||
8 | * Redistributions of source code must retain the above copyright | ||
9 | notice, this list of conditions and the following disclaimer. | ||
10 | |||
11 | * Redistributions in binary form must reproduce the above | ||
12 | copyright notice, this list of conditions and the following | ||
13 | disclaimer in the documentation and/or other materials provided | ||
14 | with the distribution. | ||
15 | |||
16 | * Neither the name of James Crayne nor the names of other | ||
17 | contributors may be used to endorse or promote products derived | ||
18 | from this software without specific prior written permission. | ||
19 | |||
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/dput-hslogger/Setup.hs b/dput-hslogger/Setup.hs new file mode 100644 index 00000000..9a994af6 --- /dev/null +++ b/dput-hslogger/Setup.hs | |||
@@ -0,0 +1,2 @@ | |||
1 | import Distribution.Simple | ||
2 | main = defaultMain | ||
diff --git a/dput-hslogger/dput-hslogger.cabal b/dput-hslogger/dput-hslogger.cabal new file mode 100644 index 00000000..0ddb75ba --- /dev/null +++ b/dput-hslogger/dput-hslogger.cabal | |||
@@ -0,0 +1,24 @@ | |||
1 | -- Initial dput-hslogger.cabal generated by cabal init. For further | ||
2 | -- documentation, see http://haskell.org/cabal/users-guide/ | ||
3 | |||
4 | name: dput-hslogger | ||
5 | version: 0.1.0.0 | ||
6 | synopsis: Quick and dirty debug prints indexed by user Enum type. | ||
7 | -- description: | ||
8 | license: BSD3 | ||
9 | license-file: LICENSE | ||
10 | author: James Crayne | ||
11 | maintainer: jim.crayne@gmail.com | ||
12 | -- copyright: | ||
13 | category: Development | ||
14 | build-type: Simple | ||
15 | extra-source-files: CHANGELOG.md | ||
16 | cabal-version: >=1.10 | ||
17 | |||
18 | library | ||
19 | exposed-modules: DPut | ||
20 | -- other-modules: | ||
21 | other-extensions: ConstraintKinds, ScopedTypeVariables | ||
22 | build-depends: base -any, containers -any, bytestring -any, text -any, hslogger -any | ||
23 | hs-source-dirs: src | ||
24 | default-language: Haskell2010 | ||
diff --git a/dput-hslogger/src/DPut.hs b/dput-hslogger/src/DPut.hs new file mode 100644 index 00000000..38e532d0 --- /dev/null +++ b/dput-hslogger/src/DPut.hs | |||
@@ -0,0 +1,75 @@ | |||
1 | {-# LANGUAGE ConstraintKinds #-} | ||
2 | {-# LANGUAGE ScopedTypeVariables #-} | ||
3 | module DPut where | ||
4 | |||
5 | import Control.Monad.IO.Class | ||
6 | import qualified Data.Map.Strict as Map | ||
7 | import Data.Maybe | ||
8 | import Data.IORef | ||
9 | import System.IO.Unsafe (unsafePerformIO) | ||
10 | import System.Log.Logger | ||
11 | import qualified Data.ByteString.Char8 as B | ||
12 | import qualified Data.Text as T | ||
13 | import qualified Data.Text.Encoding as T | ||
14 | import Debug.Trace | ||
15 | import Data.Typeable | ||
16 | import Data.Dynamic | ||
17 | |||
18 | type IsDebugTag t = (Eq t, Ord t, Show t, Read t, Enum t, Bounded t,Typeable t) | ||
19 | |||
20 | appName :: String | ||
21 | appName = "toxmpp" | ||
22 | |||
23 | (<.>) :: String -> String -> String | ||
24 | a <.> b = a ++ "." ++ b | ||
25 | |||
26 | dput :: (MonadIO m, IsDebugTag tag) => tag -> String -> m () | ||
27 | dput tag msg = liftIO $ debugM (appName <.> show tag) msg | ||
28 | |||
29 | dputB :: (MonadIO m, IsDebugTag tag) => tag -> B.ByteString -> m () | ||
30 | dputB tag msg = liftIO $ debugM (appName <.> show tag) (T.unpack . T.decodeUtf8 $ msg) | ||
31 | |||
32 | {-# NOINLINE verbosityMap #-} | ||
33 | verbosityMap :: IORef (Map.Map TypeRep Dynamic) | ||
34 | verbosityMap = unsafePerformIO $ newIORef (Map.empty) | ||
35 | |||
36 | -- | Trace version of 'dput' works in arbitrary monad, using unsafePerformIO. | ||
37 | tput :: (Applicative m, IsDebugTag tag) => tag -> String -> m () | ||
38 | tput tag msg = | ||
39 | let mp = unsafePerformIO $ readIORef verbosityMap | ||
40 | in if maybe True (fromMaybe True . Map.lookup tag . flip fromDyn Map.empty) (Map.lookup (typeOf tag) mp) | ||
41 | then trace msg (pure ()) | ||
42 | else pure () | ||
43 | |||
44 | -- | like 'trace' but parameterized with 'DebugTag' | ||
45 | dtrace :: forall a tag. IsDebugTag tag => tag -> String -> a -> a | ||
46 | dtrace tag msg result = let mp = unsafePerformIO $ readIORef verbosityMap | ||
47 | mp' :: Map.Map tag Bool | ||
48 | mp' = maybe Map.empty (flip fromDyn Map.empty) (Map.lookup (typeOf tag) mp) | ||
49 | in if fromMaybe True (Map.lookup tag mp') | ||
50 | then trace msg result | ||
51 | else result | ||
52 | |||
53 | setTagLevel :: forall tag. IsDebugTag tag => Priority -> tag -> IO () | ||
54 | setTagLevel level tag = do | ||
55 | updateGlobalLogger (appName <.> show tag) (setLevel level) | ||
56 | modifyIORef verbosityMap $ \mpByType -> do | ||
57 | case Map.lookup (typeOf tag) mpByType of | ||
58 | Nothing -> Map.insert (typeOf tag) (toDyn $ Map.fromList [(tag,(level <= DEBUG))]) mpByType | ||
59 | Just dyn -> let mpByTag :: Map.Map tag Bool | ||
60 | mpByTag = fromDyn dyn Map.empty | ||
61 | in Map.insert (typeOf tag) (toDyn $ Map.insert tag (level <= DEBUG) mpByTag) mpByType | ||
62 | |||
63 | setQuiet :: forall tag. IsDebugTag tag => tag -> IO () | ||
64 | setQuiet = setTagLevel WARNING | ||
65 | |||
66 | setVerbose :: forall tag. IsDebugTag tag => tag -> IO () | ||
67 | setVerbose = setTagLevel DEBUG | ||
68 | |||
69 | getVerbose :: forall tag. IsDebugTag tag => tag -> IO Bool | ||
70 | getVerbose tag = do | ||
71 | logger <- getLogger (appName <.> show tag) | ||
72 | case getLevel logger of | ||
73 | Just p | p <= DEBUG -> return True | ||
74 | _ -> return False | ||
75 | |||
diff --git a/kad/CHANGELOG.md b/kad/CHANGELOG.md new file mode 100644 index 00000000..6255a362 --- /dev/null +++ b/kad/CHANGELOG.md | |||
@@ -0,0 +1,5 @@ | |||
1 | # Revision history for kad | ||
2 | |||
3 | ## 0.1.0.0 -- YYYY-mm-dd | ||
4 | |||
5 | * First version. Released on an unsuspecting world. | ||
diff --git a/kad/LICENSE b/kad/LICENSE new file mode 100644 index 00000000..e8eaef49 --- /dev/null +++ b/kad/LICENSE | |||
@@ -0,0 +1,30 @@ | |||
1 | Copyright (c) 2019, James Crayne | ||
2 | |||
3 | All rights reserved. | ||
4 | |||
5 | Redistribution and use in source and binary forms, with or without | ||
6 | modification, are permitted provided that the following conditions are met: | ||
7 | |||
8 | * Redistributions of source code must retain the above copyright | ||
9 | notice, this list of conditions and the following disclaimer. | ||
10 | |||
11 | * Redistributions in binary form must reproduce the above | ||
12 | copyright notice, this list of conditions and the following | ||
13 | disclaimer in the documentation and/or other materials provided | ||
14 | with the distribution. | ||
15 | |||
16 | * Neither the name of James Crayne nor the names of other | ||
17 | contributors may be used to endorse or promote products derived | ||
18 | from this software without specific prior written permission. | ||
19 | |||
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/kad/Setup.hs b/kad/Setup.hs new file mode 100644 index 00000000..9a994af6 --- /dev/null +++ b/kad/Setup.hs | |||
@@ -0,0 +1,2 @@ | |||
1 | import Distribution.Simple | ||
2 | main = defaultMain | ||
diff --git a/kad/kad.cabal b/kad/kad.cabal new file mode 100644 index 00000000..5babda13 --- /dev/null +++ b/kad/kad.cabal | |||
@@ -0,0 +1,76 @@ | |||
1 | -- Initial kad.cabal generated by cabal init. For further documentation, | ||
2 | -- see http://haskell.org/cabal/users-guide/ | ||
3 | |||
4 | name: kad | ||
5 | version: 0.1.0.0 | ||
6 | -- synopsis: | ||
7 | -- description: | ||
8 | license: BSD3 | ||
9 | license-file: LICENSE | ||
10 | author: James Crayne | ||
11 | maintainer: jim.crayne@gmail.com | ||
12 | -- copyright: | ||
13 | -- category: | ||
14 | build-type: Simple | ||
15 | extra-source-files: CHANGELOG.md | ||
16 | cabal-version: >=1.10 | ||
17 | |||
18 | library | ||
19 | cpp-options: -DTHREAD_DEBUG | ||
20 | exposed-modules: | ||
21 | Network.Kademlia | ||
22 | , Network.Kademlia.Bootstrap | ||
23 | , Network.Kademlia.Routing | ||
24 | , Network.Kademlia.CommonAPI | ||
25 | , Network.Kademlia.Persistence | ||
26 | , Network.Kademlia.Search | ||
27 | other-modules: DebugTag | ||
28 | other-extensions: | ||
29 | CPP | ||
30 | , ConstraintKinds | ||
31 | , DeriveFunctor | ||
32 | , DeriveTraversable | ||
33 | , FlexibleContexts | ||
34 | , GADTs | ||
35 | , KindSignatures | ||
36 | , LambdaCase | ||
37 | , NamedFieldPuns | ||
38 | , PartialTypeSignatures | ||
39 | , PatternSynonyms | ||
40 | , RankNTypes | ||
41 | , ScopedTypeVariables | ||
42 | , RecordWildCards | ||
43 | , BangPatterns | ||
44 | , ViewPatterns | ||
45 | , TypeOperators | ||
46 | , DeriveGeneric | ||
47 | , TupleSections | ||
48 | , StandaloneDeriving | ||
49 | , MultiParamTypeClasses | ||
50 | , FlexibleInstances | ||
51 | , ExistentialQuantification | ||
52 | build-depends: | ||
53 | base | ||
54 | , tox-crypto | ||
55 | , entropy | ||
56 | , lifted-base | ||
57 | , lifted-concurrent | ||
58 | , aeson | ||
59 | , vector | ||
60 | , containers | ||
61 | , unordered-containers | ||
62 | , dput-hslogger | ||
63 | , time | ||
64 | , stm | ||
65 | , pretty | ||
66 | , bytestring | ||
67 | , hashable | ||
68 | , contravariant | ||
69 | , reflection | ||
70 | , psq-wrap | ||
71 | , minmax-psq | ||
72 | , network-addr | ||
73 | , cereal | ||
74 | , tasks | ||
75 | hs-source-dirs: src | ||
76 | default-language: Haskell2010 | ||
diff --git a/kad/src/DebugTag.hs b/kad/src/DebugTag.hs new file mode 100644 index 00000000..9ac04bb0 --- /dev/null +++ b/kad/src/DebugTag.hs | |||
@@ -0,0 +1,24 @@ | |||
1 | module DebugTag where | ||
2 | |||
3 | import Data.Typeable | ||
4 | |||
5 | -- | Debug Tags, add more as needed, but ensure XAnnounce is always first, XMisc last | ||
6 | data DebugTag | ||
7 | = XAnnounce | ||
8 | | XBitTorrent | ||
9 | | XDHT | ||
10 | | XLan | ||
11 | | XMan | ||
12 | | XNetCrypto | ||
13 | | XNetCryptoOut | ||
14 | | XOnion | ||
15 | | XRoutes | ||
16 | | XPing | ||
17 | | XRefresh | ||
18 | | XJabber | ||
19 | | XTCP | ||
20 | | XMisc | ||
21 | | XNodeinfoSearch | ||
22 | | XUnexpected -- Used only for special anomalous errors that we didn't expect to happen. | ||
23 | | XUnused -- Never commit code that uses XUnused. | ||
24 | deriving (Eq, Ord, Show, Read, Enum, Bounded,Typeable) | ||
diff --git a/src/Network/Kademlia.hs b/kad/src/Network/Kademlia.hs index e61afe9b..e61afe9b 100644 --- a/src/Network/Kademlia.hs +++ b/kad/src/Network/Kademlia.hs | |||
diff --git a/src/Network/Kademlia/Bootstrap.hs b/kad/src/Network/Kademlia/Bootstrap.hs index 1324ae77..08ba3318 100644 --- a/src/Network/Kademlia/Bootstrap.hs +++ b/kad/src/Network/Kademlia/Bootstrap.hs | |||
@@ -7,6 +7,8 @@ | |||
7 | {-# LANGUAGE KindSignatures #-} | 7 | {-# LANGUAGE KindSignatures #-} |
8 | {-# LANGUAGE LambdaCase #-} | 8 | {-# LANGUAGE LambdaCase #-} |
9 | {-# LANGUAGE NamedFieldPuns #-} | 9 | {-# LANGUAGE NamedFieldPuns #-} |
10 | {-# LANGUAGE RecordWildCards #-} | ||
11 | {-# LANGUAGE NondecreasingIndentation #-} | ||
10 | {-# LANGUAGE PartialTypeSignatures #-} | 12 | {-# LANGUAGE PartialTypeSignatures #-} |
11 | {-# LANGUAGE PatternSynonyms #-} | 13 | {-# LANGUAGE PatternSynonyms #-} |
12 | {-# LANGUAGE RankNTypes #-} | 14 | {-# LANGUAGE RankNTypes #-} |
diff --git a/src/Network/Kademlia/CommonAPI.hs b/kad/src/Network/Kademlia/CommonAPI.hs index 601be5d8..601be5d8 100644 --- a/src/Network/Kademlia/CommonAPI.hs +++ b/kad/src/Network/Kademlia/CommonAPI.hs | |||
diff --git a/src/Network/Kademlia/Persistence.hs b/kad/src/Network/Kademlia/Persistence.hs index d7431671..32ec169d 100644 --- a/src/Network/Kademlia/Persistence.hs +++ b/kad/src/Network/Kademlia/Persistence.hs | |||
@@ -1,4 +1,5 @@ | |||
1 | {-# LANGUAGE NamedFieldPuns #-} | 1 | {-# LANGUAGE NamedFieldPuns #-} |
2 | {-# LANGUAGE OverloadedStrings #-} | ||
2 | module Network.Kademlia.Persistence where | 3 | module Network.Kademlia.Persistence where |
3 | 4 | ||
4 | import Network.Kademlia.CommonAPI | 5 | import Network.Kademlia.CommonAPI |
diff --git a/src/Network/Kademlia/Routing.hs b/kad/src/Network/Kademlia/Routing.hs index a52cca73..c7fdf028 100644 --- a/src/Network/Kademlia/Routing.hs +++ b/kad/src/Network/Kademlia/Routing.hs | |||
@@ -25,6 +25,7 @@ | |||
25 | {-# LANGUAGE GADTs #-} | 25 | {-# LANGUAGE GADTs #-} |
26 | {-# LANGUAGE ScopedTypeVariables #-} | 26 | {-# LANGUAGE ScopedTypeVariables #-} |
27 | {-# LANGUAGE TupleSections #-} | 27 | {-# LANGUAGE TupleSections #-} |
28 | {-# LANGUAGE OverloadedStrings #-} | ||
28 | {-# LANGUAGE StandaloneDeriving, FlexibleContexts, MultiParamTypeClasses, FlexibleInstances #-} | 29 | {-# LANGUAGE StandaloneDeriving, FlexibleContexts, MultiParamTypeClasses, FlexibleInstances #-} |
29 | {-# OPTIONS_GHC -fno-warn-orphans #-} | 30 | {-# OPTIONS_GHC -fno-warn-orphans #-} |
30 | module Network.Kademlia.Routing | 31 | module Network.Kademlia.Routing |
diff --git a/src/Network/Kademlia/Search.hs b/kad/src/Network/Kademlia/Search.hs index 1be1afc1..1be1afc1 100644 --- a/src/Network/Kademlia/Search.hs +++ b/kad/src/Network/Kademlia/Search.hs | |||
diff --git a/lifted-concurrent/CHANGELOG.md b/lifted-concurrent/CHANGELOG.md new file mode 100644 index 00000000..3915e1ca --- /dev/null +++ b/lifted-concurrent/CHANGELOG.md | |||
@@ -0,0 +1,5 @@ | |||
1 | # Revision history for lifted-concurrent | ||
2 | |||
3 | ## 0.1.0.0 -- YYYY-mm-dd | ||
4 | |||
5 | * First version. Released on an unsuspecting world. | ||
diff --git a/lifted-concurrent/LICENSE b/lifted-concurrent/LICENSE new file mode 100644 index 00000000..e8eaef49 --- /dev/null +++ b/lifted-concurrent/LICENSE | |||
@@ -0,0 +1,30 @@ | |||
1 | Copyright (c) 2019, James Crayne | ||
2 | |||
3 | All rights reserved. | ||
4 | |||
5 | Redistribution and use in source and binary forms, with or without | ||
6 | modification, are permitted provided that the following conditions are met: | ||
7 | |||
8 | * Redistributions of source code must retain the above copyright | ||
9 | notice, this list of conditions and the following disclaimer. | ||
10 | |||
11 | * Redistributions in binary form must reproduce the above | ||
12 | copyright notice, this list of conditions and the following | ||
13 | disclaimer in the documentation and/or other materials provided | ||
14 | with the distribution. | ||
15 | |||
16 | * Neither the name of James Crayne nor the names of other | ||
17 | contributors may be used to endorse or promote products derived | ||
18 | from this software without specific prior written permission. | ||
19 | |||
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/lifted-concurrent/Setup.hs b/lifted-concurrent/Setup.hs new file mode 100644 index 00000000..9a994af6 --- /dev/null +++ b/lifted-concurrent/Setup.hs | |||
@@ -0,0 +1,2 @@ | |||
1 | import Distribution.Simple | ||
2 | main = defaultMain | ||
diff --git a/lifted-concurrent/lifted-concurrent.cabal b/lifted-concurrent/lifted-concurrent.cabal new file mode 100644 index 00000000..3d8acba7 --- /dev/null +++ b/lifted-concurrent/lifted-concurrent.cabal | |||
@@ -0,0 +1,34 @@ | |||
1 | -- Initial lifted-concurrent.cabal generated by cabal init. For further | ||
2 | -- documentation, see http://haskell.org/cabal/users-guide/ | ||
3 | |||
4 | name: lifted-concurrent | ||
5 | version: 0.1.0.0 | ||
6 | -- synopsis: | ||
7 | -- description: | ||
8 | license: BSD3 | ||
9 | license-file: LICENSE | ||
10 | author: James Crayne | ||
11 | maintainer: jim.crayne@gmail.com | ||
12 | -- copyright: | ||
13 | -- category: | ||
14 | build-type: Simple | ||
15 | extra-source-files: CHANGELOG.md | ||
16 | cabal-version: >=1.10 | ||
17 | |||
18 | library | ||
19 | exposed-modules: | ||
20 | Control.Concurrent.Lifted.Instrument | ||
21 | , Control.Concurrent.Async.Lifted.Instrument | ||
22 | other-modules: DebugTag | ||
23 | other-extensions: FlexibleContexts | ||
24 | build-depends: | ||
25 | base | ||
26 | , containers | ||
27 | , time | ||
28 | , lifted-async | ||
29 | , dput-hslogger | ||
30 | , lifted-base | ||
31 | , monad-control | ||
32 | , transformers-base | ||
33 | hs-source-dirs: src | ||
34 | default-language: Haskell2010 | ||
diff --git a/src/Control/Concurrent/Async/Lifted/Instrument.hs b/lifted-concurrent/src/Control/Concurrent/Async/Lifted/Instrument.hs index eab0fadc..eab0fadc 100644 --- a/src/Control/Concurrent/Async/Lifted/Instrument.hs +++ b/lifted-concurrent/src/Control/Concurrent/Async/Lifted/Instrument.hs | |||
diff --git a/src/Control/Concurrent/Lifted/Instrument.hs b/lifted-concurrent/src/Control/Concurrent/Lifted/Instrument.hs index fc3b6369..fc3b6369 100644 --- a/src/Control/Concurrent/Lifted/Instrument.hs +++ b/lifted-concurrent/src/Control/Concurrent/Lifted/Instrument.hs | |||
diff --git a/lifted-concurrent/src/DebugTag.hs b/lifted-concurrent/src/DebugTag.hs new file mode 100644 index 00000000..9ac04bb0 --- /dev/null +++ b/lifted-concurrent/src/DebugTag.hs | |||
@@ -0,0 +1,24 @@ | |||
1 | module DebugTag where | ||
2 | |||
3 | import Data.Typeable | ||
4 | |||
5 | -- | Debug Tags, add more as needed, but ensure XAnnounce is always first, XMisc last | ||
6 | data DebugTag | ||
7 | = XAnnounce | ||
8 | | XBitTorrent | ||
9 | | XDHT | ||
10 | | XLan | ||
11 | | XMan | ||
12 | | XNetCrypto | ||
13 | | XNetCryptoOut | ||
14 | | XOnion | ||
15 | | XRoutes | ||
16 | | XPing | ||
17 | | XRefresh | ||
18 | | XJabber | ||
19 | | XTCP | ||
20 | | XMisc | ||
21 | | XNodeinfoSearch | ||
22 | | XUnexpected -- Used only for special anomalous errors that we didn't expect to happen. | ||
23 | | XUnused -- Never commit code that uses XUnused. | ||
24 | deriving (Eq, Ord, Show, Read, Enum, Bounded,Typeable) | ||
diff --git a/minmax-psq/CHANGELOG.md b/minmax-psq/CHANGELOG.md new file mode 100644 index 00000000..ba7d08da --- /dev/null +++ b/minmax-psq/CHANGELOG.md | |||
@@ -0,0 +1,5 @@ | |||
1 | # Revision history for minmax-psq | ||
2 | |||
3 | ## 0.1.0.0 -- YYYY-mm-dd | ||
4 | |||
5 | * First version. Released on an unsuspecting world. | ||
diff --git a/minmax-psq/LICENSE b/minmax-psq/LICENSE new file mode 100644 index 00000000..e8eaef49 --- /dev/null +++ b/minmax-psq/LICENSE | |||
@@ -0,0 +1,30 @@ | |||
1 | Copyright (c) 2019, James Crayne | ||
2 | |||
3 | All rights reserved. | ||
4 | |||
5 | Redistribution and use in source and binary forms, with or without | ||
6 | modification, are permitted provided that the following conditions are met: | ||
7 | |||
8 | * Redistributions of source code must retain the above copyright | ||
9 | notice, this list of conditions and the following disclaimer. | ||
10 | |||
11 | * Redistributions in binary form must reproduce the above | ||
12 | copyright notice, this list of conditions and the following | ||
13 | disclaimer in the documentation and/or other materials provided | ||
14 | with the distribution. | ||
15 | |||
16 | * Neither the name of James Crayne nor the names of other | ||
17 | contributors may be used to endorse or promote products derived | ||
18 | from this software without specific prior written permission. | ||
19 | |||
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/minmax-psq/Setup.hs b/minmax-psq/Setup.hs new file mode 100644 index 00000000..9a994af6 --- /dev/null +++ b/minmax-psq/Setup.hs | |||
@@ -0,0 +1,2 @@ | |||
1 | import Distribution.Simple | ||
2 | main = defaultMain | ||
diff --git a/minmax-psq/minmax-psq.cabal b/minmax-psq/minmax-psq.cabal new file mode 100644 index 00000000..ba04bd45 --- /dev/null +++ b/minmax-psq/minmax-psq.cabal | |||
@@ -0,0 +1,24 @@ | |||
1 | -- Initial minmax-psq.cabal generated by cabal init. For further | ||
2 | -- documentation, see http://haskell.org/cabal/users-guide/ | ||
3 | |||
4 | name: minmax-psq | ||
5 | version: 0.1.0.0 | ||
6 | -- synopsis: | ||
7 | -- description: | ||
8 | license: BSD3 | ||
9 | license-file: LICENSE | ||
10 | author: James Crayne | ||
11 | maintainer: jim.crayne@gmail.com | ||
12 | -- copyright: | ||
13 | -- category: | ||
14 | build-type: Simple | ||
15 | extra-source-files: CHANGELOG.md | ||
16 | cabal-version: >=1.10 | ||
17 | |||
18 | library | ||
19 | exposed-modules: Data.MinMaxPSQ | ||
20 | -- other-modules: | ||
21 | other-extensions: BangPatterns, PatternSynonyms | ||
22 | build-depends: base, psq-wrap | ||
23 | hs-source-dirs: src | ||
24 | default-language: Haskell2010 | ||
diff --git a/src/Data/MinMaxPSQ.hs b/minmax-psq/src/Data/MinMaxPSQ.hs index e7d7c760..e7d7c760 100644 --- a/src/Data/MinMaxPSQ.hs +++ b/minmax-psq/src/Data/MinMaxPSQ.hs | |||
diff --git a/network-addr/CHANGELOG.md b/network-addr/CHANGELOG.md new file mode 100644 index 00000000..4178ce9e --- /dev/null +++ b/network-addr/CHANGELOG.md | |||
@@ -0,0 +1,5 @@ | |||
1 | # Revision history for network-addr | ||
2 | |||
3 | ## 0.1.0.0 -- YYYY-mm-dd | ||
4 | |||
5 | * First version. Released on an unsuspecting world. | ||
diff --git a/network-addr/LICENSE b/network-addr/LICENSE new file mode 100644 index 00000000..e8eaef49 --- /dev/null +++ b/network-addr/LICENSE | |||
@@ -0,0 +1,30 @@ | |||
1 | Copyright (c) 2019, James Crayne | ||
2 | |||
3 | All rights reserved. | ||
4 | |||
5 | Redistribution and use in source and binary forms, with or without | ||
6 | modification, are permitted provided that the following conditions are met: | ||
7 | |||
8 | * Redistributions of source code must retain the above copyright | ||
9 | notice, this list of conditions and the following disclaimer. | ||
10 | |||
11 | * Redistributions in binary form must reproduce the above | ||
12 | copyright notice, this list of conditions and the following | ||
13 | disclaimer in the documentation and/or other materials provided | ||
14 | with the distribution. | ||
15 | |||
16 | * Neither the name of James Crayne nor the names of other | ||
17 | contributors may be used to endorse or promote products derived | ||
18 | from this software without specific prior written permission. | ||
19 | |||
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/network-addr/Setup.hs b/network-addr/Setup.hs new file mode 100644 index 00000000..9a994af6 --- /dev/null +++ b/network-addr/Setup.hs | |||
@@ -0,0 +1,2 @@ | |||
1 | import Distribution.Simple | ||
2 | main = defaultMain | ||
diff --git a/network-addr/network-addr.cabal b/network-addr/network-addr.cabal new file mode 100644 index 00000000..59c91cea --- /dev/null +++ b/network-addr/network-addr.cabal | |||
@@ -0,0 +1,52 @@ | |||
1 | -- Initial network-addr.cabal generated by cabal init. For further | ||
2 | -- documentation, see http://haskell.org/cabal/users-guide/ | ||
3 | |||
4 | name: network-addr | ||
5 | version: 0.1.0.0 | ||
6 | -- synopsis: | ||
7 | -- description: | ||
8 | license: BSD3 | ||
9 | license-file: LICENSE | ||
10 | author: James Crayne | ||
11 | maintainer: jim.crayne@gmail.com | ||
12 | -- copyright: | ||
13 | -- category: | ||
14 | build-type: Simple | ||
15 | extra-source-files: CHANGELOG.md | ||
16 | cabal-version: >=1.10 | ||
17 | |||
18 | library | ||
19 | exposed-modules: Network.Address | ||
20 | other-modules: DebugTag | ||
21 | other-extensions: | ||
22 | CPP | ||
23 | , FlexibleInstances | ||
24 | , FlexibleContexts | ||
25 | , RecordWildCards | ||
26 | , ScopedTypeVariables | ||
27 | , StandaloneDeriving | ||
28 | , ViewPatterns | ||
29 | , GeneralizedNewtypeDeriving | ||
30 | , MultiParamTypeClasses | ||
31 | , DeriveDataTypeable | ||
32 | , DeriveFunctor | ||
33 | , DeriveFoldable | ||
34 | , DeriveTraversable | ||
35 | , TemplateHaskell | ||
36 | , OverloadedStrings | ||
37 | build-depends: | ||
38 | base | ||
39 | , bytestring | ||
40 | , time | ||
41 | , pretty | ||
42 | , iproute | ||
43 | , network | ||
44 | , dput-hslogger | ||
45 | , hashable | ||
46 | , cereal | ||
47 | , data-default | ||
48 | , convertible | ||
49 | , entropy | ||
50 | , http-types | ||
51 | hs-source-dirs: src | ||
52 | default-language: Haskell2010 | ||
diff --git a/network-addr/src/DebugTag.hs b/network-addr/src/DebugTag.hs new file mode 100644 index 00000000..9ac04bb0 --- /dev/null +++ b/network-addr/src/DebugTag.hs | |||
@@ -0,0 +1,24 @@ | |||
1 | module DebugTag where | ||
2 | |||
3 | import Data.Typeable | ||
4 | |||
5 | -- | Debug Tags, add more as needed, but ensure XAnnounce is always first, XMisc last | ||
6 | data DebugTag | ||
7 | = XAnnounce | ||
8 | | XBitTorrent | ||
9 | | XDHT | ||
10 | | XLan | ||
11 | | XMan | ||
12 | | XNetCrypto | ||
13 | | XNetCryptoOut | ||
14 | | XOnion | ||
15 | | XRoutes | ||
16 | | XPing | ||
17 | | XRefresh | ||
18 | | XJabber | ||
19 | | XTCP | ||
20 | | XMisc | ||
21 | | XNodeinfoSearch | ||
22 | | XUnexpected -- Used only for special anomalous errors that we didn't expect to happen. | ||
23 | | XUnused -- Never commit code that uses XUnused. | ||
24 | deriving (Eq, Ord, Show, Read, Enum, Bounded,Typeable) | ||
diff --git a/src/Network/Address.hs b/network-addr/src/Network/Address.hs index e1cec34d..369ae864 100644 --- a/src/Network/Address.hs +++ b/network-addr/src/Network/Address.hs | |||
@@ -23,6 +23,7 @@ | |||
23 | {-# LANGUAGE DeriveFoldable #-} | 23 | {-# LANGUAGE DeriveFoldable #-} |
24 | {-# LANGUAGE DeriveTraversable #-} | 24 | {-# LANGUAGE DeriveTraversable #-} |
25 | {-# LANGUAGE TemplateHaskell #-} | 25 | {-# LANGUAGE TemplateHaskell #-} |
26 | {-# LANGUAGE OverloadedStrings #-} | ||
26 | {-# OPTIONS -fno-warn-orphans #-} | 27 | {-# OPTIONS -fno-warn-orphans #-} |
27 | module Network.Address | 28 | module Network.Address |
28 | ( -- * Address | 29 | ( -- * Address |
@@ -1184,8 +1185,6 @@ fingerprint pid = either (const def) id $ runGet getCI (getPeerId pid) | |||
1184 | str <- BC.unpack <$> getByteString 5 | 1185 | str <- BC.unpack <$> getByteString 5 |
1185 | return $ Version (catMaybes $ L.map decodeShadowVerNr str) [] | 1186 | return $ Version (catMaybes $ L.map decodeShadowVerNr str) [] |
1186 | 1187 | ||
1187 | |||
1188 | |||
1189 | -- | Given a string specifying a port (numeric or service name) | 1188 | -- | Given a string specifying a port (numeric or service name) |
1190 | -- and a flag indicating whether you want to support IPv6, this | 1189 | -- and a flag indicating whether you want to support IPv6, this |
1191 | -- function will return a SockAddr to bind to. If the input | 1190 | -- function will return a SockAddr to bind to. If the input |
@@ -1208,8 +1207,8 @@ getBindAddress bindspec enabled6 = do | |||
1208 | case if enabled6 then x6s++x4s else x4s of | 1207 | case if enabled6 then x6s++x4s else x4s of |
1209 | AddrInfo { addrAddress = addr } : _ -> addr | 1208 | AddrInfo { addrAddress = addr } : _ -> addr |
1210 | _ -> if enabled6 | 1209 | _ -> if enabled6 |
1211 | then SockAddrInet6 (parsePort listenPortString) 0 iN6ADDR_ANY 0 | 1210 | then SockAddrInet6 (parsePort listenPortString) 0 (0,0,0,0){-iN6ADDR_ANY-} 0 |
1212 | else SockAddrInet (parsePort listenPortString) iNADDR_ANY | 1211 | else SockAddrInet (parsePort listenPortString) 0{-iNADDR_ANY-} |
1213 | where parsePort s = fromMaybe 0 $ readMaybe s | 1212 | where parsePort s = fromMaybe 0 $ readMaybe s |
1214 | dput XMisc $ "Listening on " ++ show listenAddr | 1213 | dput XMisc $ "Listening on " ++ show listenAddr |
1215 | return listenAddr | 1214 | return listenAddr |
diff --git a/psq-wrap/CHANGELOG.md b/psq-wrap/CHANGELOG.md new file mode 100644 index 00000000..a2e49e7a --- /dev/null +++ b/psq-wrap/CHANGELOG.md | |||
@@ -0,0 +1,5 @@ | |||
1 | # Revision history for psq-wrap | ||
2 | |||
3 | ## 0.1.0.0 -- YYYY-mm-dd | ||
4 | |||
5 | * First version. Released on an unsuspecting world. | ||
diff --git a/psq-wrap/LICENSE b/psq-wrap/LICENSE new file mode 100644 index 00000000..e8eaef49 --- /dev/null +++ b/psq-wrap/LICENSE | |||
@@ -0,0 +1,30 @@ | |||
1 | Copyright (c) 2019, James Crayne | ||
2 | |||
3 | All rights reserved. | ||
4 | |||
5 | Redistribution and use in source and binary forms, with or without | ||
6 | modification, are permitted provided that the following conditions are met: | ||
7 | |||
8 | * Redistributions of source code must retain the above copyright | ||
9 | notice, this list of conditions and the following disclaimer. | ||
10 | |||
11 | * Redistributions in binary form must reproduce the above | ||
12 | copyright notice, this list of conditions and the following | ||
13 | disclaimer in the documentation and/or other materials provided | ||
14 | with the distribution. | ||
15 | |||
16 | * Neither the name of James Crayne nor the names of other | ||
17 | contributors may be used to endorse or promote products derived | ||
18 | from this software without specific prior written permission. | ||
19 | |||
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/psq-wrap/Setup.hs b/psq-wrap/Setup.hs new file mode 100644 index 00000000..9a994af6 --- /dev/null +++ b/psq-wrap/Setup.hs | |||
@@ -0,0 +1,2 @@ | |||
1 | import Distribution.Simple | ||
2 | main = defaultMain | ||
diff --git a/psq-wrap/psq-wrap.cabal b/psq-wrap/psq-wrap.cabal new file mode 100644 index 00000000..77a7901b --- /dev/null +++ b/psq-wrap/psq-wrap.cabal | |||
@@ -0,0 +1,30 @@ | |||
1 | -- Initial psq-wrap.cabal generated by cabal init. For further | ||
2 | -- documentation, see http://haskell.org/cabal/users-guide/ | ||
3 | |||
4 | name: psq-wrap | ||
5 | version: 0.1.0.0 | ||
6 | -- synopsis: | ||
7 | -- description: | ||
8 | license: BSD3 | ||
9 | license-file: LICENSE | ||
10 | author: James Crayne | ||
11 | maintainer: jim.crayne@gmail.com | ||
12 | -- copyright: | ||
13 | -- category: | ||
14 | build-type: Simple | ||
15 | extra-source-files: CHANGELOG.md | ||
16 | cabal-version: >=1.10 | ||
17 | |||
18 | library | ||
19 | exposed-modules: | ||
20 | Data.Wrapper.PSQInt | ||
21 | , Data.Wrapper.PSQ | ||
22 | -- other-modules: | ||
23 | other-extensions: PatternSynonyms, CPP, ConstraintKinds | ||
24 | build-depends: | ||
25 | base | ||
26 | , time | ||
27 | , hashable | ||
28 | , psqueues | ||
29 | hs-source-dirs: src | ||
30 | default-language: Haskell2010 | ||
diff --git a/src/Data/Wrapper/PSQ.hs b/psq-wrap/src/Data/Wrapper/PSQ.hs index 4fdeec67..4fdeec67 100644 --- a/src/Data/Wrapper/PSQ.hs +++ b/psq-wrap/src/Data/Wrapper/PSQ.hs | |||
diff --git a/src/Data/Wrapper/PSQInt.hs b/psq-wrap/src/Data/Wrapper/PSQInt.hs index 5badb8b2..5badb8b2 100644 --- a/src/Data/Wrapper/PSQInt.hs +++ b/psq-wrap/src/Data/Wrapper/PSQInt.hs | |||
diff --git a/sensible-directory/Setup.hs b/sensible-directory/Setup.hs new file mode 100644 index 00000000..9a994af6 --- /dev/null +++ b/sensible-directory/Setup.hs | |||
@@ -0,0 +1,2 @@ | |||
1 | import Distribution.Simple | ||
2 | main = defaultMain | ||
diff --git a/sensible-directory/sensible-directory.cabal b/sensible-directory/sensible-directory.cabal new file mode 100644 index 00000000..13929c05 --- /dev/null +++ b/sensible-directory/sensible-directory.cabal | |||
@@ -0,0 +1,30 @@ | |||
1 | name: sensible-directory | ||
2 | version: 0.1.0.0 | ||
3 | -- synopsis: | ||
4 | description: Try to guess the appropriate cache directory. | ||
5 | license: BSD3 | ||
6 | license-file: LICENSE | ||
7 | author: James Crayne | ||
8 | maintainer: jim.crayne@gmail.com | ||
9 | -- copyright: | ||
10 | -- category: | ||
11 | build-type: Custom | ||
12 | -- extra-source-files: | ||
13 | cabal-version: >=1.10 | ||
14 | |||
15 | Flag dirxdg | ||
16 | description: compat layer for old directory package | ||
17 | default: False | ||
18 | |||
19 | library | ||
20 | exposed-modules: SensibleDir | ||
21 | -- other-modules: | ||
22 | -- other-extensions: | ||
23 | build-depends: base, filepath | ||
24 | if flag(dirxdg) || impl(ghc < 8) | ||
25 | build-depends: directory >= 1.2.2, directory-xdg | ||
26 | else | ||
27 | build-depends: directory >= 1.2.3 | ||
28 | hs-source-dirs: src | ||
29 | default-language: Haskell2010 | ||
30 | |||
diff --git a/sensible-directory/src/SensibleDir.hs b/sensible-directory/src/SensibleDir.hs new file mode 100644 index 00000000..c5f9ae1f --- /dev/null +++ b/sensible-directory/src/SensibleDir.hs | |||
@@ -0,0 +1,121 @@ | |||
1 | {-# LANGUAGE CPP #-} | ||
2 | {-# LANGUAGE TupleSections #-} | ||
3 | module SensibleDir where | ||
4 | |||
5 | import Paths_testcabaldir | ||
6 | import System.Directory | ||
7 | #ifdef VERSION_directory_xdg | ||
8 | import System.DirectoryXdg | ||
9 | #endif | ||
10 | import System.FilePath | ||
11 | import System.IO | ||
12 | import System.Info | ||
13 | import System.Environment | ||
14 | import Control.Arrow | ||
15 | import Control.Applicative | ||
16 | import Data.List | ||
17 | |||
18 | installScenario = NotInstalled | ||
19 | doit = do | ||
20 | ddir <- getDataDir | ||
21 | ldir <- getLibDir | ||
22 | pname <- getProgName | ||
23 | ppath <- getExecutablePath | ||
24 | sysconfdir <- getSysconfDir | ||
25 | putStrLn ("ddir = " ++ ddir); | ||
26 | putStrLn ("ldir = " ++ ldir); | ||
27 | putStrLn ("sysconfdir = " ++ sysconfdir); | ||
28 | putStrLn ("pname = " ++ pname); | ||
29 | putStr "runningInBuildDir = " | ||
30 | print =<< runningInBuildDir | ||
31 | putStr "detectLikelyInstall = " | ||
32 | print =<< detectLikelyInstall | ||
33 | putStrLn "---------------------" | ||
34 | putStr "sensibleCacheDir = " | ||
35 | print =<< sensibleCacheDir pname | ||
36 | -- putStr "sensibleConfigDir = " | ||
37 | -- print =<< sensibleConfigDir pname | ||
38 | |||
39 | runningInBuildDir :: IO Bool | ||
40 | runningInBuildDir = any (=="build") . take 2 . reverse . splitDirectories . takeDirectory <$> getExecutablePath | ||
41 | |||
42 | runningInCabalDir :: IO Bool | ||
43 | runningInCabalDir = any (==".cabal") . take 2 . reverse . splitDirectories . takeDirectory <$> getExecutablePath | ||
44 | |||
45 | runningInSysBin = do | ||
46 | exedir <- splitDirectories . takeDirectory <$> getExecutablePath | ||
47 | return $ | ||
48 | case take 3 (drop 1 exedir) of | ||
49 | ["bin"] -> True | ||
50 | ["sbin"] -> True | ||
51 | ["usr","bin"] -> True | ||
52 | ["usr","sbin"] -> True | ||
53 | _ -> False | ||
54 | |||
55 | runningInLocalBin = do | ||
56 | exedir <- splitDirectories . takeDirectory <$> getExecutablePath | ||
57 | putStr "exedir = " | ||
58 | print exedir | ||
59 | return $ | ||
60 | case take 3 (drop 1 exedir) of | ||
61 | ["usr","local","bin"] -> True | ||
62 | ["usr","local","sbin"] -> True | ||
63 | _ -> False | ||
64 | |||
65 | -- scenarios | ||
66 | data InstallScenario = PrefixInstall | ||
67 | -- ^ installed in /opt or some other prefix, or running inside source folder | ||
68 | | SystemInstall | ||
69 | -- ^ installed system wide | ||
70 | | LocalInstall | ||
71 | -- ^ installed in /usr/local/ | ||
72 | | UserInstall | ||
73 | -- ^ installed for a given user | ||
74 | | NotInstalled | ||
75 | -- ^ not installed, built by cabal or make, running from dist folder | ||
76 | deriving (Show,Enum,Eq) | ||
77 | |||
78 | -- | careful, assumes unix-style FHS | ||
79 | -- windows aware contributions welcome | ||
80 | -- Detects the likely install scenario based on the path to the exectuable. | ||
81 | detectLikelyInstall :: IO InstallScenario | ||
82 | detectLikelyInstall = do | ||
83 | bBuildDir <- fmap (,NotInstalled) runningInBuildDir | ||
84 | bCabalDir <- fmap (,UserInstall) runningInCabalDir | ||
85 | bLocalDir <- fmap (,LocalInstall) runningInLocalBin | ||
86 | bSysDir <- fmap (,SystemInstall) runningInSysBin | ||
87 | case dropWhile (not . fst) [bBuildDir,bCabalDir,bLocalDir,bSysDir] of | ||
88 | (True,scenario):_ -> return scenario | ||
89 | _ -> return PrefixInstall | ||
90 | |||
91 | isUnix os = not $ "mingw" `isPrefixOf` os | ||
92 | |||
93 | -- | Try to get the cache directory appropriate to the install scenario. | ||
94 | -- On windows it just calls getAppUserDataDirectory and appends "cache". | ||
95 | -- (windows behavior subject to change, contributions welcome) | ||
96 | sensibleCacheDir suffix = do | ||
97 | let ifunix x = if isUnix os then x | ||
98 | else PrefixInstall | ||
99 | install <- ifunix <$> detectLikelyInstall | ||
100 | case install of | ||
101 | PrefixInstall -> do | ||
102 | if isUnix os | ||
103 | then do | ||
104 | dir <- splitDirectories . takeDirectory <$> getExecutablePath | ||
105 | let rdir = reverse dir | ||
106 | case take 1 rdir of | ||
107 | ["bin"] -> return $ (foldl1 combine $ reverse (drop 1 rdir)) </> "cache" </> suffix | ||
108 | _ -> fmap ((</> suffix) . (</> "cache") . takeDirectory) getExecutablePath | ||
109 | else getAppUserDataDirectory ("cache" </> suffix) | ||
110 | SystemInstall -> return ("/var/cache" </> suffix) | ||
111 | LocalInstall -> return ("/var/local/cache" </> suffix) | ||
112 | UserInstall -> getXdgDirectory XdgCache suffix | ||
113 | NotInstalled -> do | ||
114 | dir <- splitDirectories . takeDirectory <$> getExecutablePath | ||
115 | let rdir = reverse dir | ||
116 | return . foldl1 combine $ reverse ("cache": drop 2 rdir) | ||
117 | |||
118 | -- | like 'sensibleCacheDir', but creates it if needed | ||
119 | sensibleCacheDirCreateIfMissing suffix = do | ||
120 | dir <- sensibleCacheDir suffix | ||
121 | createDirectoryIfMissing True dir | ||
diff --git a/tasks/CHANGELOG.md b/tasks/CHANGELOG.md new file mode 100644 index 00000000..1ae925ad --- /dev/null +++ b/tasks/CHANGELOG.md | |||
@@ -0,0 +1,5 @@ | |||
1 | # Revision history for tasks | ||
2 | |||
3 | ## 0.1.0.0 -- YYYY-mm-dd | ||
4 | |||
5 | * First version. Released on an unsuspecting world. | ||
diff --git a/tasks/LICENSE b/tasks/LICENSE new file mode 100644 index 00000000..e8eaef49 --- /dev/null +++ b/tasks/LICENSE | |||
@@ -0,0 +1,30 @@ | |||
1 | Copyright (c) 2019, James Crayne | ||
2 | |||
3 | All rights reserved. | ||
4 | |||
5 | Redistribution and use in source and binary forms, with or without | ||
6 | modification, are permitted provided that the following conditions are met: | ||
7 | |||
8 | * Redistributions of source code must retain the above copyright | ||
9 | notice, this list of conditions and the following disclaimer. | ||
10 | |||
11 | * Redistributions in binary form must reproduce the above | ||
12 | copyright notice, this list of conditions and the following | ||
13 | disclaimer in the documentation and/or other materials provided | ||
14 | with the distribution. | ||
15 | |||
16 | * Neither the name of James Crayne nor the names of other | ||
17 | contributors may be used to endorse or promote products derived | ||
18 | from this software without specific prior written permission. | ||
19 | |||
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/tasks/Setup.hs b/tasks/Setup.hs new file mode 100644 index 00000000..9a994af6 --- /dev/null +++ b/tasks/Setup.hs | |||
@@ -0,0 +1,2 @@ | |||
1 | import Distribution.Simple | ||
2 | main = defaultMain | ||
diff --git a/src/Control/Concurrent/Tasks.hs b/tasks/src/Control/Concurrent/Tasks.hs index da2e589e..da2e589e 100644 --- a/src/Control/Concurrent/Tasks.hs +++ b/tasks/src/Control/Concurrent/Tasks.hs | |||
diff --git a/tasks/tasks.cabal b/tasks/tasks.cabal new file mode 100644 index 00000000..e7ec8d63 --- /dev/null +++ b/tasks/tasks.cabal | |||
@@ -0,0 +1,29 @@ | |||
1 | -- Initial tasks.cabal generated by cabal init. For further documentation, | ||
2 | -- see http://haskell.org/cabal/users-guide/ | ||
3 | |||
4 | name: tasks | ||
5 | version: 0.1.0.0 | ||
6 | -- synopsis: | ||
7 | -- description: | ||
8 | license: BSD3 | ||
9 | license-file: LICENSE | ||
10 | author: James Crayne | ||
11 | maintainer: jim.crayne@gmail.com | ||
12 | -- copyright: | ||
13 | -- category: | ||
14 | build-type: Simple | ||
15 | extra-source-files: CHANGELOG.md | ||
16 | cabal-version: >=1.10 | ||
17 | |||
18 | library | ||
19 | exposed-modules: Control.Concurrent.Tasks | ||
20 | -- other-modules: | ||
21 | other-extensions: CPP | ||
22 | build-depends: | ||
23 | base | ||
24 | , stm | ||
25 | , lifted-concurrent | ||
26 | , lifted-base | ||
27 | cpp-options: -DTHREAD_DEBUG | ||
28 | hs-source-dirs: src | ||
29 | default-language: Haskell2010 | ||
diff --git a/tox-crypto/CHANGELOG.md b/tox-crypto/CHANGELOG.md new file mode 100644 index 00000000..f7064c45 --- /dev/null +++ b/tox-crypto/CHANGELOG.md | |||
@@ -0,0 +1,5 @@ | |||
1 | # Revision history for tox-crypto | ||
2 | |||
3 | ## 0.1.0.0 -- YYYY-mm-dd | ||
4 | |||
5 | * First version. Released on an unsuspecting world. | ||
diff --git a/tox-crypto/CHANGELOG.md.save0 b/tox-crypto/CHANGELOG.md.save0 new file mode 100644 index 00000000..f7064c45 --- /dev/null +++ b/tox-crypto/CHANGELOG.md.save0 | |||
@@ -0,0 +1,5 @@ | |||
1 | # Revision history for tox-crypto | ||
2 | |||
3 | ## 0.1.0.0 -- YYYY-mm-dd | ||
4 | |||
5 | * First version. Released on an unsuspecting world. | ||
diff --git a/tox-crypto/LICENSE b/tox-crypto/LICENSE new file mode 100644 index 00000000..e8eaef49 --- /dev/null +++ b/tox-crypto/LICENSE | |||
@@ -0,0 +1,30 @@ | |||
1 | Copyright (c) 2019, James Crayne | ||
2 | |||
3 | All rights reserved. | ||
4 | |||
5 | Redistribution and use in source and binary forms, with or without | ||
6 | modification, are permitted provided that the following conditions are met: | ||
7 | |||
8 | * Redistributions of source code must retain the above copyright | ||
9 | notice, this list of conditions and the following disclaimer. | ||
10 | |||
11 | * Redistributions in binary form must reproduce the above | ||
12 | copyright notice, this list of conditions and the following | ||
13 | disclaimer in the documentation and/or other materials provided | ||
14 | with the distribution. | ||
15 | |||
16 | * Neither the name of James Crayne nor the names of other | ||
17 | contributors may be used to endorse or promote products derived | ||
18 | from this software without specific prior written permission. | ||
19 | |||
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/tox-crypto/LICENSE.save0 b/tox-crypto/LICENSE.save0 new file mode 100644 index 00000000..e8eaef49 --- /dev/null +++ b/tox-crypto/LICENSE.save0 | |||
@@ -0,0 +1,30 @@ | |||
1 | Copyright (c) 2019, James Crayne | ||
2 | |||
3 | All rights reserved. | ||
4 | |||
5 | Redistribution and use in source and binary forms, with or without | ||
6 | modification, are permitted provided that the following conditions are met: | ||
7 | |||
8 | * Redistributions of source code must retain the above copyright | ||
9 | notice, this list of conditions and the following disclaimer. | ||
10 | |||
11 | * Redistributions in binary form must reproduce the above | ||
12 | copyright notice, this list of conditions and the following | ||
13 | disclaimer in the documentation and/or other materials provided | ||
14 | with the distribution. | ||
15 | |||
16 | * Neither the name of James Crayne nor the names of other | ||
17 | contributors may be used to endorse or promote products derived | ||
18 | from this software without specific prior written permission. | ||
19 | |||
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/tox-crypto/Setup.hs b/tox-crypto/Setup.hs new file mode 100644 index 00000000..9a994af6 --- /dev/null +++ b/tox-crypto/Setup.hs | |||
@@ -0,0 +1,2 @@ | |||
1 | import Distribution.Simple | ||
2 | main = defaultMain | ||
diff --git a/tox-crypto/Setup.hs.save0 b/tox-crypto/Setup.hs.save0 new file mode 100644 index 00000000..9a994af6 --- /dev/null +++ b/tox-crypto/Setup.hs.save0 | |||
@@ -0,0 +1,2 @@ | |||
1 | import Distribution.Simple | ||
2 | main = defaultMain | ||
diff --git a/src/Crypto/Tox.hs b/tox-crypto/src/Crypto/Tox.hs index 1b3d5e5c..ea276045 100644 --- a/src/Crypto/Tox.hs +++ b/tox-crypto/src/Crypto/Tox.hs | |||
@@ -14,6 +14,7 @@ | |||
14 | {-# LANGUAGE NamedFieldPuns #-} | 14 | {-# LANGUAGE NamedFieldPuns #-} |
15 | {-# LANGUAGE PatternSynonyms #-} | 15 | {-# LANGUAGE PatternSynonyms #-} |
16 | {-# LANGUAGE FlexibleContexts #-} | 16 | {-# LANGUAGE FlexibleContexts #-} |
17 | {-# LANGUAGE OverloadedStrings #-} | ||
17 | module Crypto.Tox | 18 | module Crypto.Tox |
18 | ( PublicKey | 19 | ( PublicKey |
19 | , publicKey | 20 | , publicKey |
diff --git a/tox-crypto/src/DebugTag.hs b/tox-crypto/src/DebugTag.hs new file mode 100644 index 00000000..9ac04bb0 --- /dev/null +++ b/tox-crypto/src/DebugTag.hs | |||
@@ -0,0 +1,24 @@ | |||
1 | module DebugTag where | ||
2 | |||
3 | import Data.Typeable | ||
4 | |||
5 | -- | Debug Tags, add more as needed, but ensure XAnnounce is always first, XMisc last | ||
6 | data DebugTag | ||
7 | = XAnnounce | ||
8 | | XBitTorrent | ||
9 | | XDHT | ||
10 | | XLan | ||
11 | | XMan | ||
12 | | XNetCrypto | ||
13 | | XNetCryptoOut | ||
14 | | XOnion | ||
15 | | XRoutes | ||
16 | | XPing | ||
17 | | XRefresh | ||
18 | | XJabber | ||
19 | | XTCP | ||
20 | | XMisc | ||
21 | | XNodeinfoSearch | ||
22 | | XUnexpected -- Used only for special anomalous errors that we didn't expect to happen. | ||
23 | | XUnused -- Never commit code that uses XUnused. | ||
24 | deriving (Eq, Ord, Show, Read, Enum, Bounded,Typeable) | ||
diff --git a/tox-crypto/tox-crypto.cabal b/tox-crypto/tox-crypto.cabal new file mode 100644 index 00000000..9737e5d9 --- /dev/null +++ b/tox-crypto/tox-crypto.cabal | |||
@@ -0,0 +1,59 @@ | |||
1 | -- Initial tox-crypto.cabal generated by cabal init. For further | ||
2 | -- documentation, see http://haskell.org/cabal/users-guide/ | ||
3 | |||
4 | name: tox-crypto | ||
5 | version: 0.1.0.0 | ||
6 | -- synopsis: | ||
7 | -- description: | ||
8 | license: BSD3 | ||
9 | license-file: LICENSE | ||
10 | author: James Crayne | ||
11 | maintainer: jim.crayne@gmail.com | ||
12 | -- copyright: | ||
13 | -- category: | ||
14 | build-type: Simple | ||
15 | extra-source-files: CHANGELOG.md | ||
16 | cabal-version: >=1.10 | ||
17 | |||
18 | library | ||
19 | exposed-modules: Crypto.Tox | ||
20 | -- other-modules: | ||
21 | other-extensions: CPP | ||
22 | , GeneralizedNewtypeDeriving | ||
23 | , ScopedTypeVariables | ||
24 | , KindSignatures | ||
25 | , DeriveDataTypeable | ||
26 | , DeriveFunctor | ||
27 | , DeriveGeneric | ||
28 | , DeriveTraversable | ||
29 | , TypeOperators | ||
30 | , MagicHash | ||
31 | , UnboxedTuples | ||
32 | , BangPatterns | ||
33 | , MultiParamTypeClasses | ||
34 | , ConstraintKinds | ||
35 | , Rank2Types | ||
36 | , NamedFieldPuns | ||
37 | , PatternSynonyms | ||
38 | , FlexibleContexts | ||
39 | build-depends: | ||
40 | base | ||
41 | , cpu | ||
42 | , memory | ||
43 | , base64-bytestring | ||
44 | , base16-bytestring | ||
45 | , cereal | ||
46 | , word64-map | ||
47 | , contravariant | ||
48 | , rank2classes | ||
49 | , network | ||
50 | , bytestring | ||
51 | , stm | ||
52 | , ghc-prim | ||
53 | , time | ||
54 | , cryptonite | ||
55 | , dput-hslogger | ||
56 | , hashable | ||
57 | , minmax-psq | ||
58 | hs-source-dirs: src | ||
59 | default-language: Haskell2010 | ||
diff --git a/word64-map/CHANGELOG.md b/word64-map/CHANGELOG.md new file mode 100644 index 00000000..d325ac08 --- /dev/null +++ b/word64-map/CHANGELOG.md | |||
@@ -0,0 +1,5 @@ | |||
1 | # Revision history for word64-map | ||
2 | |||
3 | ## 0.1.0.0 -- YYYY-mm-dd | ||
4 | |||
5 | * First version. Released on an unsuspecting world. | ||
diff --git a/word64-map/LICENSE b/word64-map/LICENSE new file mode 100644 index 00000000..e8eaef49 --- /dev/null +++ b/word64-map/LICENSE | |||
@@ -0,0 +1,30 @@ | |||
1 | Copyright (c) 2019, James Crayne | ||
2 | |||
3 | All rights reserved. | ||
4 | |||
5 | Redistribution and use in source and binary forms, with or without | ||
6 | modification, are permitted provided that the following conditions are met: | ||
7 | |||
8 | * Redistributions of source code must retain the above copyright | ||
9 | notice, this list of conditions and the following disclaimer. | ||
10 | |||
11 | * Redistributions in binary form must reproduce the above | ||
12 | copyright notice, this list of conditions and the following | ||
13 | disclaimer in the documentation and/or other materials provided | ||
14 | with the distribution. | ||
15 | |||
16 | * Neither the name of James Crayne nor the names of other | ||
17 | contributors may be used to endorse or promote products derived | ||
18 | from this software without specific prior written permission. | ||
19 | |||
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
21 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
22 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
23 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
24 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
25 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
26 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
27 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
28 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
30 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
diff --git a/word64-map/Setup.hs b/word64-map/Setup.hs new file mode 100644 index 00000000..9a994af6 --- /dev/null +++ b/word64-map/Setup.hs | |||
@@ -0,0 +1,2 @@ | |||
1 | import Distribution.Simple | ||
2 | main = defaultMain | ||
diff --git a/src/Data/Word64Map.hs b/word64-map/src/Data/Word64Map.hs index adc9c27e..adc9c27e 100644 --- a/src/Data/Word64Map.hs +++ b/word64-map/src/Data/Word64Map.hs | |||
diff --git a/word64-map/word64-map.cabal b/word64-map/word64-map.cabal new file mode 100644 index 00000000..938d2e22 --- /dev/null +++ b/word64-map/word64-map.cabal | |||
@@ -0,0 +1,26 @@ | |||
1 | -- Initial word64-map.cabal generated by cabal init. For further | ||
2 | -- documentation, see http://haskell.org/cabal/users-guide/ | ||
3 | |||
4 | name: word64-map | ||
5 | version: 0.1.0.0 | ||
6 | -- synopsis: | ||
7 | -- description: | ||
8 | license: BSD3 | ||
9 | license-file: LICENSE | ||
10 | author: James Crayne | ||
11 | maintainer: jim.crayne@gmail.com | ||
12 | -- copyright: | ||
13 | -- category: | ||
14 | build-type: Simple | ||
15 | extra-source-files: CHANGELOG.md | ||
16 | cabal-version: >=1.10 | ||
17 | |||
18 | library | ||
19 | exposed-modules: Data.Word64Map | ||
20 | -- other-modules: | ||
21 | other-extensions: RankNTypes, ScopedTypeVariables, UnboxedTuples | ||
22 | build-depends: | ||
23 | base | ||
24 | , containers | ||
25 | hs-source-dirs: src | ||
26 | default-language: Haskell2010 | ||