Commit Graph

746 Commits

Author SHA1 Message Date
Matt Joiner c413ed7963 Comments in banned torrent list 2015-03-18 18:35:52 +11:00
Matt Joiner a451bc7e6d Handle data going missing 2015-03-18 18:35:22 +11:00
Matt Joiner 28455fb817 Speed up stuff relating to checking piece completion 2015-03-18 18:34:35 +11:00
Matt Joiner 29238ff23f Change the interface to add torrents to a Client 2015-03-18 18:32:31 +11:00
Matt Joiner 58b2b9bec7 Avoid dopplegangers, foreign address that have our client ID 2015-03-18 18:29:51 +11:00
Matt Joiner a7dddd9be6 Rewrite handshaking and connection management 2015-03-18 18:28:13 +11:00
Matt Joiner fa025bdbee Disable AllowedFast 2015-03-18 18:21:00 +11:00
Matt Joiner 0d5c10ef53 mse: Check that readUntil doesn't read indefinitely while synchronizing 2015-03-18 18:16:27 +11:00
Matt Joiner eb29dcec80 mse: Clean-up 2015-03-18 18:14:57 +11:00
Matt Joiner 8d58fc28f6 data/blob: Change store eviction to LRU, from random replacement
It works *much* better for torrenting with a readahead window. When we want to
avoid downloading, we want to avoid downloading lots of dispersed pieces.
2015-03-18 18:12:46 +11:00
Matt Joiner 0f7c4c5bda util: Support CopyExact with pointer source
Nice to avoid copying large value types.
2015-03-18 18:09:54 +11:00
Matt Joiner 8e8d75dda1 Support initial payload, and improve tests 2015-03-13 14:30:48 +11:00
Matt Joiner 203da0aab0 Tidy up extension bytes handling; don't close conn from handshake writer; force protocol encryption for now 2015-03-13 06:21:13 +11:00
Matt Joiner d57f5896d4 mse: Tons of fixes and improvements 2015-03-13 06:16:49 +11:00
Matt Joiner 13a5b8b279 msg: Return usable object after handshake 2015-03-12 20:29:48 +11:00
Matt Joiner b3c4afbe25 Add BEP 41 support 2015-03-12 20:07:10 +11:00
Matt Joiner e85b7e228b Add support for Fast Extension 2015-03-12 20:06:23 +11:00
Matt Joiner 339c650085 Count peers obtained by tracker 2015-03-12 20:04:44 +11:00
Matt Joiner 954e03952a mse: Got basic message stream encryption working with some tests
Not complete yet.
2015-03-12 20:03:29 +11:00
Matt Joiner 5b2a91e24a Use testing config 2015-03-11 04:22:56 +11:00
Matt Joiner 26b21d1fcb Apply IP blocklist to trackers 2015-03-11 02:41:41 +11:00
Matt Joiner e6fbde0dc6 Rework piece completion 2015-03-11 02:41:21 +11:00
Matt Joiner 914bc12bb6 Harmless improvements 2015-03-11 02:39:01 +11:00
Matt Joiner a583c4a914 TODO 2015-03-09 17:36:07 +11:00
Matt Joiner 36c6283a94 Fix a status line going to stdout 2015-03-09 17:35:51 +11:00
Matt Joiner d7695c4585 Change torrent.Name() 2015-03-09 17:35:29 +11:00
Matt Joiner 0c7c2e1955 util.AddrIP, TCPAddr 2015-03-08 17:44:08 +11:00
Matt Joiner 1663a8a2f5 iplist: Fix ranges that contain extra colons, and minimize memory use for IP 2015-03-08 17:43:44 +11:00
Matt Joiner ad6ac3f2cd More cleaning of public interface 2015-03-08 17:28:14 +11:00
Matt Joiner 3e753bb8ad Change up the data storage interfaces a bit 2015-03-07 17:11:45 +11:00
Matt Joiner cad611bbcf Since IPv6 blocklists aren't prevalent, default to using IPv4 in client for now 2015-03-07 17:11:02 +11:00
Matt Joiner 881458d079 iplist: Check for matches against IPv4 and IPv6 addresses 2015-03-07 17:09:39 +11:00
Matt Joiner 1c5bd1855a Improvements to P2P blocklist scanning errors 2015-03-07 17:09:18 +11:00
Matt Joiner e4dec03a32 Change the way readahead pieces are calculated 2015-03-04 13:07:11 +11:00
Matt Joiner 779f4d3b97 Implement Handle.ReadAt 2015-03-04 13:06:33 +11:00
Matt Joiner ceabaaaeb2 Add Piece.Offset 2015-03-04 13:03:47 +11:00
Matt Joiner 63361b7b47 Extraneous import 2015-03-01 15:19:35 +11:00
Matt Joiner 8858b77666 TODO 2015-03-01 14:33:10 +11:00
Matt Joiner 4eb70e0673 Support opening handles to Torrent and File 2015-03-01 14:32:54 +11:00
Matt Joiner b4d3b0d11a Add Piece.Hash() 2015-02-27 13:00:05 +11:00
Matt Joiner a2d69b4931 Make blob data stateful 2015-02-27 12:45:55 +11:00
Matt Joiner bd6d72fa5f Files.Path and .FileInfo change 2015-02-27 01:46:40 +11:00
Matt Joiner 8f744300cc Add piece blob torrent.Data storage, and move testutil to internal/, add basic transfer test for Client and blob 2015-02-27 01:46:02 +11:00
Matt Joiner 315c703456 Rename TorrentData->Data 2015-02-27 01:43:37 +11:00
Matt Joiner daf93c8232 Add various helpers to Info 2015-02-27 01:41:35 +11:00
Matt Joiner 22746dda23 Ditch the intermediate MetaInfo type 2015-02-26 22:17:58 +11:00
Matt Joiner a5d60fd76f Fixes for single/multi-file torrent Infos 2015-02-26 22:12:02 +11:00
Matt Joiner fd5c0798e3 fs test: Resolve localhost, some platforms are funny about it 2015-02-26 16:11:33 +11:00
Matt Joiner f588522b66 Client.Torrent(InfoHash) 2015-02-26 16:10:55 +11:00
Matt Joiner 3f335cabfc Implement File.ReadAt 2015-02-26 16:10:38 +11:00