]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
8 years agoHandle tracker announce prepare errors
Matt Joiner [Mon, 23 May 2016 01:00:49 +0000 (11:00 +1000)]
Handle tracker announce prepare errors

8 years agoUpdate Torrent.wantPeersEvent in several places
Matt Joiner [Mon, 23 May 2016 00:19:14 +0000 (10:19 +1000)]
Update Torrent.wantPeersEvent in several places

8 years agoAdd Torrent.AddTrackers
Matt Joiner [Mon, 23 May 2016 00:18:58 +0000 (10:18 +1000)]
Add Torrent.AddTrackers

8 years agocmd/torrent-metainfo-pprint: Add Announce and AnnounceList keys
Matt Joiner [Mon, 23 May 2016 00:18:39 +0000 (10:18 +1000)]
cmd/torrent-metainfo-pprint: Add Announce and AnnounceList keys

8 years agotracker: Skip any net errors to third party trackers
Matt Joiner [Sun, 22 May 2016 23:29:14 +0000 (09:29 +1000)]
tracker: Skip any net errors to third party trackers

8 years agoDrop the lol://cheezburger tracker from the test torrent
Matt Joiner [Sun, 22 May 2016 13:44:38 +0000 (23:44 +1000)]
Drop the lol://cheezburger tracker from the test torrent

Spams the logs too much.

8 years agoDon't start tracker scrapers if trackers are disabled
Matt Joiner [Sun, 22 May 2016 13:44:08 +0000 (23:44 +1000)]
Don't start tracker scrapers if trackers are disabled

8 years agoDon't create an empty tracker URL if both AnnounceList and Announce are empty
Matt Joiner [Sun, 22 May 2016 13:43:55 +0000 (23:43 +1000)]
Don't create an empty tracker URL if both AnnounceList and Announce are empty

8 years agoRework torrent tracker scraping
Matt Joiner [Sun, 22 May 2016 12:45:08 +0000 (22:45 +1000)]
Rework torrent tracker scraping

New scrapers are added anytime trackers are added to a torrent. In the future they will also be stopped as soon as they're removed. All trackers are concurrently scraped, the old-style of sticking to one tracker that works is abandoned for now.

8 years agoComment on tracker.AnnounceRequest.Event
Matt Joiner [Sun, 22 May 2016 12:42:37 +0000 (22:42 +1000)]
Comment on tracker.AnnounceRequest.Event

8 years agotracker: Allow resolving announce URL host in advance, and passing the desired Host...
Matt Joiner [Thu, 19 May 2016 14:48:46 +0000 (00:48 +1000)]
tracker: Allow resolving announce URL host in advance, and passing the desired Host field for HTTP requests

Also did some clean-up of the announce code, the concept of a client is going away.

8 years agoFix the tracker method receivers and names
Matt Joiner [Thu, 19 May 2016 13:58:00 +0000 (23:58 +1000)]
Fix the tracker method receivers and names

8 years agoMove torrent tracker methods into torrent.go
Matt Joiner [Thu, 19 May 2016 12:49:37 +0000 (22:49 +1000)]
Move torrent tracker methods into torrent.go

8 years agoTorrent.writeStatus: Include human readable torrent size
Matt Joiner [Thu, 19 May 2016 07:15:10 +0000 (17:15 +1000)]
Torrent.writeStatus: Include human readable torrent size

8 years agoBreak out KRPC stuff from dht into new package
Matt Joiner [Tue, 17 May 2016 06:40:08 +0000 (16:40 +1000)]
Break out KRPC stuff from dht into new package

8 years agodht.Server.query: Return nil Transaction if there's an error
Matt Joiner [Tue, 17 May 2016 06:07:49 +0000 (16:07 +1000)]
dht.Server.query: Return nil Transaction if there's an error

8 years agodht: Stop processing packet if server closes after unmarshalling
Matt Joiner [Tue, 17 May 2016 06:07:03 +0000 (16:07 +1000)]
dht: Stop processing packet if server closes after unmarshalling

8 years agodht: Don't contact nodes with an IP containing a leading octet of 0
Matt Joiner [Tue, 17 May 2016 06:06:18 +0000 (16:06 +1000)]
dht: Don't contact nodes with an IP containing a leading octet of 0

8 years agoImprove dht.Transaction.SetResponseHandler comment
Matt Joiner [Tue, 17 May 2016 06:04:33 +0000 (16:04 +1000)]
Improve dht.Transaction.SetResponseHandler comment

8 years agoImprove the note about chunk writing concurrency
Matt Joiner [Mon, 16 May 2016 16:12:06 +0000 (02:12 +1000)]
Improve the note about chunk writing concurrency

Everytime I see memory spike I suspect this, and it isn't it.

8 years agoChanges to missinggo resource package
Matt Joiner [Mon, 16 May 2016 12:32:00 +0000 (22:32 +1000)]
Changes to missinggo resource package

8 years agoRename some storage funcs
Matt Joiner [Mon, 16 May 2016 12:02:03 +0000 (22:02 +1000)]
Rename some storage funcs

8 years agoRename storage.I->Client
Matt Joiner [Mon, 16 May 2016 11:50:43 +0000 (21:50 +1000)]
Rename storage.I->Client

8 years agoTest both resource and file backends to piece storage
Matt Joiner [Mon, 16 May 2016 10:11:00 +0000 (20:11 +1000)]
Test both resource and file backends to piece storage

8 years agoRemove unused fields in testDownloadCancelParams
Matt Joiner [Mon, 16 May 2016 10:10:33 +0000 (20:10 +1000)]
Remove unused fields in testDownloadCancelParams

8 years agoDon't log missing files during hashing
Matt Joiner [Mon, 16 May 2016 09:50:46 +0000 (19:50 +1000)]
Don't log missing files during hashing

8 years agoStop returning errors from the 2 callstacks to connectionLoop where errors are expected
Matt Joiner [Mon, 16 May 2016 09:50:10 +0000 (19:50 +1000)]
Stop returning errors from the 2 callstacks to connectionLoop where errors are expected

8 years agoReturn an error from Torrent.setMetadataSize
Matt Joiner [Mon, 16 May 2016 08:48:56 +0000 (18:48 +1000)]
Return an error from Torrent.setMetadataSize

This should mean connections sending ridiculous metadata sizes get dropped.

8 years agoMove requestPendingMetadata onto connection from Client
Matt Joiner [Mon, 16 May 2016 08:46:38 +0000 (18:46 +1000)]
Move requestPendingMetadata onto connection from Client

8 years agoiplist/cmd/pack-blocklist use tagflag
Matt Joiner [Mon, 16 May 2016 08:45:23 +0000 (18:45 +1000)]
iplist/cmd/pack-blocklist use tagflag

8 years agoAdd piece-per-resource storage
Matt Joiner [Mon, 16 May 2016 08:44:58 +0000 (18:44 +1000)]
Add piece-per-resource storage

8 years agoProbably fix test failure
Matt Joiner [Thu, 12 May 2016 02:44:51 +0000 (12:44 +1000)]
Probably fix test failure

Due to some changes in the Torrent instantiation code, I think there's a race in this test to verify the piece before counting the pending chunks. The torrent isn't supposed to be complete to begin with, so give it a bogus data directory to ensure it.

8 years agoBit of a tidy in the tracker code
Matt Joiner [Thu, 12 May 2016 02:43:37 +0000 (12:43 +1000)]
Bit of a tidy in the tracker code

8 years agoTorrent.AddPeers can't fail, so don't return an error
Matt Joiner [Thu, 12 May 2016 02:26:09 +0000 (12:26 +1000)]
Torrent.AddPeers can't fail, so don't return an error

8 years agoFix race marshalling a bitfield after a Have has also been posted
Matt Joiner [Wed, 11 May 2016 13:50:21 +0000 (23:50 +1000)]
Fix race marshalling a bitfield after a Have has also been posted

8 years agoUpdate package doc
Matt Joiner [Wed, 11 May 2016 11:53:42 +0000 (21:53 +1000)]
Update package doc

In particular, ConfigDir has gone away.

8 years agoGet rid of obsoleted Torrent.ceaseNetworking, and clean up Torrent.closing
Matt Joiner [Wed, 11 May 2016 11:44:55 +0000 (21:44 +1000)]
Get rid of obsoleted Torrent.ceaseNetworking, and clean up Torrent.closing

8 years agoRework Client listeners
Matt Joiner [Wed, 11 May 2016 11:11:52 +0000 (21:11 +1000)]
Rework Client listeners

In particular, if the ListenAddr used a dynamic port ":0", and both TCP and uTP were enabled. If the TCP listen succeeded, and the uTP did not, the TCP listener was leaked, and another port number was not tried.

8 years agoRemove unused Client.pruneTimer
Matt Joiner [Wed, 11 May 2016 11:08:55 +0000 (21:08 +1000)]
Remove unused Client.pruneTimer

8 years agoWasn't using ChunkSize from TorrentSpec
Matt Joiner [Mon, 9 May 2016 13:00:20 +0000 (23:00 +1000)]
Wasn't using ChunkSize from TorrentSpec

8 years agoLock now required around missinggo.Event variables
Matt Joiner [Mon, 9 May 2016 06:44:06 +0000 (16:44 +1000)]
Lock now required around missinggo.Event variables

8 years agoRework setting of info bytes
Matt Joiner [Mon, 9 May 2016 05:47:39 +0000 (15:47 +1000)]
Rework setting of info bytes

8 years agoAdd some comments to file storage
Matt Joiner [Mon, 9 May 2016 05:46:48 +0000 (15:46 +1000)]
Add some comments to file storage

8 years agoAdd Client.AddTorrentInfoHash, and some other tidying
Matt Joiner [Mon, 9 May 2016 04:37:29 +0000 (14:37 +1000)]
Add Client.AddTorrentInfoHash, and some other tidying

Remove Client.bannedTorrents, which shouldn't have been in use anymore. Also fix Client.newTorrent.

8 years agoRemove the vestiges of the expose tracker Client interface
Matt Joiner [Mon, 9 May 2016 02:20:35 +0000 (12:20 +1000)]
Remove the vestiges of the expose tracker Client interface

8 years agodht: Fix race contacting starting addrs in Announce
Matt Joiner [Sat, 7 May 2016 09:02:30 +0000 (19:02 +1000)]
dht: Fix race contacting starting addrs in Announce

8 years agoFix dht.Server.Announce never stopping if the starting addresses can't be contacted
Matt Joiner [Sat, 7 May 2016 08:58:43 +0000 (18:58 +1000)]
Fix dht.Server.Announce never stopping if the starting addresses can't be contacted

8 years agoMove some behaviour into Client.newConnection
Matt Joiner [Sat, 7 May 2016 08:57:38 +0000 (18:57 +1000)]
Move some behaviour into Client.newConnection

8 years agomissinggo.Event changed, connection.writeOptimizer changes
Matt Joiner [Sat, 7 May 2016 08:56:44 +0000 (18:56 +1000)]
missinggo.Event changed, connection.writeOptimizer changes

8 years agotracker: Skip DNS error in UDP test
Matt Joiner [Sat, 7 May 2016 08:17:40 +0000 (18:17 +1000)]
tracker: Skip DNS error in UDP test

8 years agocmd/torrent-infohash update for API changes
Matt Joiner [Fri, 6 May 2016 05:09:59 +0000 (15:09 +1000)]
cmd/torrent-infohash update for API changes

8 years agoRemove the last of the "config dir" stuff
Matt Joiner [Thu, 5 May 2016 13:05:28 +0000 (23:05 +1000)]
Remove the last of the "config dir" stuff

This just conflates the Client. It should be done orthogonally.

8 years agometainfo.InfoEx.Hash becomes a function, UpdateBytes is added, and Bytes used in...
Matt Joiner [Thu, 5 May 2016 12:40:38 +0000 (22:40 +1000)]
metainfo.InfoEx.Hash becomes a function, UpdateBytes is added, and Bytes used in marshalling

Fixes #80.

8 years agometainfo: Add HashBytes
Matt Joiner [Tue, 3 May 2016 11:34:20 +0000 (21:34 +1000)]
metainfo: Add HashBytes

8 years agometainfo: Improve doc
Matt Joiner [Tue, 3 May 2016 11:34:11 +0000 (21:34 +1000)]
metainfo: Improve doc

8 years agometainfo.Info.BuildFromFilePath contained unnecessary log, and didn't handle error...
Matt Joiner [Tue, 3 May 2016 10:25:16 +0000 (20:25 +1000)]
metainfo.Info.BuildFromFilePath contained unnecessary log, and didn't handle error correctly

8 years agocmd/torrent-create: Tidy up flags and remove redundant function calls
Matt Joiner [Tue, 3 May 2016 06:49:30 +0000 (16:49 +1000)]
cmd/torrent-create: Tidy up flags and remove redundant function calls

Issue #80

8 years agoMove a bunch of Torrent methods from client.go
Matt Joiner [Tue, 3 May 2016 06:47:11 +0000 (16:47 +1000)]
Move a bunch of Torrent methods from client.go

8 years agoRework handling of metadata data messages
Matt Joiner [Tue, 3 May 2016 04:59:54 +0000 (14:59 +1000)]
Rework handling of metadata data messages

There are some dubious logs probably resulting from poor ordering of some code for handling incoming metadata data messages.

8 years agoDoc and logging improvements
Matt Joiner [Tue, 3 May 2016 04:58:26 +0000 (14:58 +1000)]
Doc and logging improvements

8 years agocmd/torrent-metainfo-pprint: Add -files flag, and expose NumFiles and TotalLength...
Matt Joiner [Tue, 3 May 2016 02:51:31 +0000 (12:51 +1000)]
cmd/torrent-metainfo-pprint: Add -files flag, and expose NumFiles and TotalLength in output

8 years agoDoc metainfo.Info.BuildFromFilePath
Matt Joiner [Tue, 3 May 2016 02:51:03 +0000 (12:51 +1000)]
Doc metainfo.Info.BuildFromFilePath

8 years agocmd/torrent-metainfo-pprint: Also print InfoHash
Matt Joiner [Mon, 2 May 2016 09:14:49 +0000 (19:14 +1000)]
cmd/torrent-metainfo-pprint: Also print InfoHash

8 years agoAdd metainfo.Hash.FromHexString
Matt Joiner [Mon, 2 May 2016 01:21:03 +0000 (11:21 +1000)]
Add metainfo.Hash.FromHexString

8 years agoRemove metainfo.Builder, and issue #35 test for it
Matt Joiner [Sat, 30 Apr 2016 02:00:12 +0000 (12:00 +1000)]
Remove metainfo.Builder, and issue #35 test for it

Builder is poorly designed, and issue #35 is poorly written. I don't want to support either of them.

8 years agoAllow encoding private=0 in metainfo, which fixes test for not using InfoEx.Bytes...
Matt Joiner [Sat, 30 Apr 2016 01:59:10 +0000 (11:59 +1000)]
Allow encoding private=0 in metainfo, which fixes test for not using InfoEx.Bytes when marshalling as a shortcut

8 years agoAlso fix "context" in reader_test.go
Matt Joiner [Sat, 30 Apr 2016 01:46:45 +0000 (11:46 +1000)]
Also fix "context" in reader_test.go

8 years agoUgh, "context" isn't in go 1.6
Matt Joiner [Sat, 30 Apr 2016 01:33:07 +0000 (11:33 +1000)]
Ugh, "context" isn't in go 1.6

8 years agoAdd Reader.ReadContext
Matt Joiner [Sat, 30 Apr 2016 01:08:29 +0000 (11:08 +1000)]
Add Reader.ReadContext

Allows cancelling reads etc. Torrents that get stuck can result in Reads that won't return until the torrent is dropped.

8 years agoSome changes to metainfo.InfoEx and testutil
Matt Joiner [Sat, 30 Apr 2016 01:07:29 +0000 (11:07 +1000)]
Some changes to metainfo.InfoEx and testutil

8 years agoFix crash when peers have sent undersized bitfields and we get the torrent info
Matt Joiner [Fri, 29 Apr 2016 18:08:02 +0000 (04:08 +1000)]
Fix crash when peers have sent undersized bitfields and we get the torrent info

8 years agoChange the behaviour of Torrent.Length with when info isn't available
Matt Joiner [Wed, 20 Apr 2016 10:10:39 +0000 (20:10 +1000)]
Change the behaviour of Torrent.Length with when info isn't available

8 years agoImprove some docs
Matt Joiner [Wed, 20 Apr 2016 10:10:10 +0000 (20:10 +1000)]
Improve some docs

8 years agoFix receiver pointeriness for some File methods
Matt Joiner [Tue, 19 Apr 2016 07:20:31 +0000 (17:20 +1000)]
Fix receiver pointeriness for some File methods

8 years agocmd/torrent: Add -addr flag back in
Matt Joiner [Tue, 19 Apr 2016 07:20:14 +0000 (17:20 +1000)]
cmd/torrent: Add -addr flag back in

8 years agoMerge pull request #79 from shoenig/normalize
Matt Joiner [Tue, 19 Apr 2016 07:10:42 +0000 (17:10 +1000)]
Merge pull request #79 from shoenig/normalize

refactor struct identifiers to follow conventional go names

8 years agorefactor struct identifiers to follow conventional go names
Seth Hoenig [Tue, 19 Apr 2016 04:11:11 +0000 (23:11 -0500)]
refactor struct identifiers to follow conventional go names

8 years agoImprove doc on Torrent.Drop
Matt Joiner [Mon, 18 Apr 2016 11:52:30 +0000 (21:52 +1000)]
Improve doc on Torrent.Drop

https://github.com/anacrolix/torrent/issues/73

8 years agocmd/torrent: Forget trying to expose the entire Client config struct to the command...
Matt Joiner [Mon, 18 Apr 2016 11:30:28 +0000 (21:30 +1000)]
cmd/torrent: Forget trying to expose the entire Client config struct to the command-line

8 years agocmd/torrent: Remove redundant _ "net/http/pprof" import
Matt Joiner [Mon, 18 Apr 2016 11:29:37 +0000 (21:29 +1000)]
cmd/torrent: Remove redundant _ "net/http/pprof" import

It's done by envpprof instead

8 years agopiece-file storage: Use the receiver-local FileStore field
Matt Joiner [Thu, 14 Apr 2016 07:28:30 +0000 (17:28 +1000)]
piece-file storage: Use the receiver-local FileStore field

Because aliens, mainly.

8 years agoMerge all our global consts and vars into global.go
Matt Joiner [Thu, 14 Apr 2016 07:19:07 +0000 (17:19 +1000)]
Merge all our global consts and vars into global.go

For easier referral to other parties.

8 years agoComments and logs around bad metadata size
Matt Joiner [Thu, 7 Apr 2016 09:13:51 +0000 (19:13 +1000)]
Comments and logs around bad metadata size

8 years agoFix possible deadlock
Matt Joiner [Mon, 4 Apr 2016 10:39:57 +0000 (20:39 +1000)]
Fix possible deadlock

8 years agoFix Config.IPBlocklist type
Matt Joiner [Mon, 4 Apr 2016 06:23:30 +0000 (16:23 +1000)]
Fix Config.IPBlocklist type

8 years agoiplist: Add helper to mmap in a packed blocklist
Matt Joiner [Mon, 4 Apr 2016 06:23:05 +0000 (16:23 +1000)]
iplist: Add helper to mmap in a packed blocklist

8 years agoApply ineffassign linter
Matt Joiner [Mon, 4 Apr 2016 05:39:26 +0000 (15:39 +1000)]
Apply ineffassign linter

8 years agoApply unconvert linter
Matt Joiner [Mon, 4 Apr 2016 05:28:25 +0000 (15:28 +1000)]
Apply unconvert linter

8 years agoRemove more deadcode
Matt Joiner [Mon, 4 Apr 2016 05:23:05 +0000 (15:23 +1000)]
Remove more deadcode

8 years agoRemove deadcode
Matt Joiner [Mon, 4 Apr 2016 05:18:51 +0000 (15:18 +1000)]
Remove deadcode

8 years agoRemove unused orderedList
Matt Joiner [Mon, 4 Apr 2016 05:10:39 +0000 (15:10 +1000)]
Remove unused orderedList

8 years agoRemove some of the magic ConfigDir stuff
Matt Joiner [Mon, 4 Apr 2016 04:04:48 +0000 (14:04 +1000)]
Remove some of the magic ConfigDir stuff

This might become a helper. Torrent file cache still remains.

8 years agoMove Magnet and friends into metainfo package
Matt Joiner [Mon, 4 Apr 2016 03:48:39 +0000 (13:48 +1000)]
Move Magnet and friends into metainfo package

8 years agoMerge pull request #72 from shoenig/magnetize
Matt Joiner [Mon, 4 Apr 2016 03:20:15 +0000 (13:20 +1000)]
Merge pull request #72 from shoenig/magnetize

convenience function for creating magnets

8 years agoUse metainfo.Hash for piece and info hashes
Matt Joiner [Mon, 4 Apr 2016 03:01:31 +0000 (13:01 +1000)]
Use metainfo.Hash for piece and info hashes

8 years agoconvenience function for creating magnets
Seth Hoenig [Sun, 3 Apr 2016 13:51:46 +0000 (08:51 -0500)]
convenience function for creating magnets

8 years agoAdding a torrent without info after waitAccept has blocked wouldn't trigger further...
Matt Joiner [Sun, 3 Apr 2016 12:06:25 +0000 (22:06 +1000)]
Adding a torrent without info after waitAccept has blocked wouldn't trigger further accepts immediately

8 years agoFix deadlocks in WriteStatus due to incomplete renaming
Matt Joiner [Sun, 3 Apr 2016 10:54:14 +0000 (20:54 +1000)]
Fix deadlocks in WriteStatus due to incomplete renaming

8 years agoMerge Torrent and torrent types
Matt Joiner [Sun, 3 Apr 2016 08:40:43 +0000 (18:40 +1000)]
Merge Torrent and torrent types

8 years agoComments
Matt Joiner [Sun, 3 Apr 2016 06:52:52 +0000 (16:52 +1000)]
Comments