]>
Sergey Matveev's repositories - btrtrc.git/log
Matt Joiner [Tue, 27 Oct 2020 01:24:43 +0000 (12:24 +1100)]
Read from more than a single piece in each read to Torrent storage
Matt Joiner [Tue, 27 Oct 2020 01:05:40 +0000 (12:05 +1100)]
Remove separate readable/available in Reader
Matt Joiner [Tue, 27 Oct 2020 00:08:37 +0000 (11:08 +1100)]
sqlite storage: Include capacity management
Matt Joiner [Tue, 27 Oct 2020 00:08:08 +0000 (11:08 +1100)]
sqlite storage: Do ReadAt without using incremental I/O
Matt Joiner [Fri, 23 Oct 2020 00:03:42 +0000 (11:03 +1100)]
sqlite storage: Working recursive CTE for excess data
Matt Joiner [Thu, 22 Oct 2020 22:03:44 +0000 (09:03 +1100)]
sqlite storage: Add NewProviderPool
Matt Joiner [Thu, 22 Oct 2020 22:01:15 +0000 (09:01 +1100)]
sqlite storage: Rename table to blob
Avoiding plural table names.
Matt Joiner [Thu, 22 Oct 2020 21:58:55 +0000 (08:58 +1100)]
Performance improvements to PEX
Matt Joiner [Thu, 15 Oct 2020 05:03:43 +0000 (16:03 +1100)]
Fix error handling for bad torrent adds with safe file handling
Matt Joiner [Thu, 15 Oct 2020 04:45:08 +0000 (15:45 +1100)]
Sanitize metainfo file paths for file-based storage
Fixes exploit where specially crafted infos can cause the client to write files to arbitrary locations on local storage when using file-based storages like mmap and file.
Matt Joiner [Thu, 15 Oct 2020 01:56:06 +0000 (12:56 +1100)]
Don't update requests for the current connection first when a request is deleted
Matt Joiner [Thu, 15 Oct 2020 01:45:19 +0000 (12:45 +1100)]
We might want to close webseed peers on response errors
Matt Joiner [Thu, 15 Oct 2020 01:42:27 +0000 (12:42 +1100)]
webseed: Handle http response status codes
Matt Joiner [Wed, 14 Oct 2020 04:11:45 +0000 (15:11 +1100)]
Ensure PeerConn._close is called for incoming connections
This fixes missing calls to PeerConnClosed callback.
Matt Joiner [Tue, 13 Oct 2020 02:34:05 +0000 (13:34 +1100)]
Test both sqlite file and in-memory leecher storages
Matt Joiner [Tue, 13 Oct 2020 02:33:22 +0000 (13:33 +1100)]
Move pexConnState from peer to PeerConn
Matt Joiner [Tue, 13 Oct 2020 02:02:39 +0000 (13:02 +1100)]
Add PeerConnClosed callback
Matt Joiner [Mon, 12 Oct 2020 22:36:58 +0000 (09:36 +1100)]
Add last_used to sqlite storage
Matt Joiner [Mon, 12 Oct 2020 06:13:05 +0000 (17:13 +1100)]
Use bind-blob fix for crawshaw.io/sqlite
Matt Joiner [Mon, 12 Oct 2020 06:12:34 +0000 (17:12 +1100)]
Fix some log levels
Matt Joiner [Sun, 11 Oct 2020 01:58:27 +0000 (12:58 +1100)]
Add a sqlite data storage implementation
Matt Joiner [Sun, 11 Oct 2020 01:57:33 +0000 (12:57 +1100)]
Panic on bad piece per resource chunk names
This was masking a bug in a coming sqlite storage implementation. Maybe it could be relaxed to checking for no filepath.Dir in the future.
Matt Joiner [Sun, 11 Oct 2020 01:54:03 +0000 (12:54 +1100)]
Tweaks to storage error and completion handling
Matt Joiner [Sun, 11 Oct 2020 01:40:43 +0000 (12:40 +1100)]
Tidy up some storage close handling
Matt Joiner [Fri, 9 Oct 2020 23:59:17 +0000 (10:59 +1100)]
Use testing.T.Name instead of missinggo.GetTestName
This handles subtests correctly, and removes the need to specify when to export due to collisions with the old function.
Matt Joiner [Fri, 9 Oct 2020 23:24:58 +0000 (10:24 +1100)]
Tidy up some logging
Matt Joiner [Tue, 6 Oct 2020 23:22:55 +0000 (10:22 +1100)]
Fix webseed requests for non-trivial path components
Matt Joiner [Mon, 5 Oct 2020 22:50:47 +0000 (09:50 +1100)]
Fix PeerConn conn status string
Matt Joiner [Thu, 1 Oct 2020 01:50:42 +0000 (11:50 +1000)]
Fix unused import
Matt Joiner [Thu, 1 Oct 2020 01:45:47 +0000 (11:45 +1000)]
Set tracker announce timeout back to default
Add lots of comments about how this works and why.
Matt Joiner [Thu, 1 Oct 2020 01:20:44 +0000 (11:20 +1000)]
Expose Client.ConnStats
Matt Joiner [Thu, 1 Oct 2020 00:46:27 +0000 (10:46 +1000)]
Include ip param in http announces
Matt Joiner [Thu, 1 Oct 2020 00:45:29 +0000 (10:45 +1000)]
Pass key param in http announces
Matt Joiner [Thu, 1 Oct 2020 00:45:05 +0000 (10:45 +1000)]
Rework HTTP announce timeouts
Use Request.Context to implement timeouts, set the default to 3s for announces from the Client.
Matt Joiner [Thu, 1 Oct 2020 00:43:10 +0000 (10:43 +1000)]
Limit simultaneous announces to the same URL
Matt Joiner [Wed, 30 Sep 2020 06:56:27 +0000 (16:56 +1000)]
Limit half-open connections at the Client level
Matt Joiner [Tue, 29 Sep 2020 06:42:52 +0000 (16:42 +1000)]
Rename struct size test
Matt Joiner [Tue, 29 Sep 2020 06:37:58 +0000 (16:37 +1000)]
Optimize padding on Piece
Matt Joiner [Tue, 29 Sep 2020 06:24:43 +0000 (16:24 +1000)]
Add a test for Piece size
Matt Joiner [Tue, 29 Sep 2020 06:21:54 +0000 (16:21 +1000)]
Fix conn status string for WebRTC connections
Matt Joiner [Thu, 3 Sep 2020 04:34:06 +0000 (14:34 +1000)]
Fix panic for unexpected piece rejections
Should fix #419.
Matt Joiner [Tue, 11 Aug 2020 01:43:12 +0000 (11:43 +1000)]
Add to downstream projects in README
CortexFoundation/torrentfs
Matt Joiner [Wed, 15 Jul 2020 06:16:09 +0000 (16:16 +1000)]
Add ReadExtendedHandshake callback
Matt Joiner [Wed, 15 Jul 2020 06:15:38 +0000 (16:15 +1000)]
Expose peer.RemoteAddr
Matt Joiner [Wed, 15 Jul 2020 06:13:26 +0000 (16:13 +1000)]
Switch to crawshaw.io/sqlite
I'm using it elsewhere, and it seems to conflict when linking with github.com/mattn/go-sqlite3.
Matt Joiner [Wed, 15 Jul 2020 04:00:47 +0000 (14:00 +1000)]
Add some client callbacks
Matt Joiner [Tue, 14 Jul 2020 22:39:44 +0000 (08:39 +1000)]
Add PkgGoDev badge
Matt Joiner [Fri, 10 Jul 2020 03:24:08 +0000 (13:24 +1000)]
Pull in go-libutp fix for race
Matt Joiner [Fri, 10 Jul 2020 03:21:24 +0000 (13:21 +1000)]
Support -testPeer addresses that need resolving
Fixes #395.
Matt Joiner [Fri, 10 Jul 2020 03:18:33 +0000 (13:18 +1000)]
Handle errors in webseed peers for bad URLs
Matt Joiner [Fri, 19 Jun 2020 02:24:03 +0000 (12:24 +1000)]
Update bbolt
Matt Joiner [Fri, 19 Jun 2020 01:41:26 +0000 (11:41 +1000)]
Don't filter context cancel errors
The caller thinks this means it succeeded, when it fact it was cancelled and it should interpret that appropriately.
Matt Joiner [Thu, 4 Jun 2020 01:58:18 +0000 (11:58 +1000)]
Tidy up webseed peer naming and unused types
Matt Joiner [Thu, 4 Jun 2020 01:50:20 +0000 (11:50 +1000)]
Fix panic in webseed request rejection logging
Also use a new helper in Logger to simplify things.
ucwong [Wed, 3 Jun 2020 04:35:52 +0000 (04:35 +0000)]
torrent : add udp scheme to 'switch case'
Maxb [Wed, 3 Jun 2020 19:17:47 +0000 (12:17 -0700)]
Add DisallowDataDownload/Upload to TorrentSpec and small log cleanup
Matt Joiner [Wed, 3 Jun 2020 01:25:08 +0000 (11:25 +1000)]
Merge pull request #410 from anacrolix/webseeds
* Rename Peer to PeerInfo, and unexport PeerInfos
* Break peer out from PeerConn
* Abstract out segments mapping and use it in mmap storage
* Got file storage working with segment index
* Fix race in webtorrent.TrackerClient.Run
* storage file implementation: Error on short writes
* Remove debug logging from storage file implementation
* cmd/torrent-verify: Fix piece hash output
* Support disabling webtorrent
* Further progress on webseeding
* Handle webseed Client events
* Rename fastestConn->fastestPeer
* Add webseeds from magnet links
* Remove events from webseed
Manage this stuff inside the webseed peer instead.
* Make use of magnet source fields and expose Torrent.MergeSpec
* Add option to disable webseeds
* Fix webseeds when info isn't available immediately
* Handle webseed request errors
* Tidy up the interface changes
Matt Joiner [Tue, 2 Jun 2020 07:41:59 +0000 (17:41 +1000)]
Tidy up the interface changes
Matt Joiner [Tue, 2 Jun 2020 06:41:49 +0000 (16:41 +1000)]
Handle webseed request errors
Matt Joiner [Tue, 2 Jun 2020 06:18:25 +0000 (16:18 +1000)]
Fix webseeds when info isn't available immediately
Matt Joiner [Tue, 2 Jun 2020 06:17:32 +0000 (16:17 +1000)]
Add option to disable webseeds
Matt Joiner [Tue, 2 Jun 2020 05:06:05 +0000 (15:06 +1000)]
Make use of magnet source fields and expose Torrent.MergeSpec
Matt Joiner [Tue, 2 Jun 2020 03:54:26 +0000 (13:54 +1000)]
Remove events from webseed
Manage this stuff inside the webseed peer instead.
Matt Joiner [Tue, 2 Jun 2020 03:53:25 +0000 (13:53 +1000)]
Add webseeds from magnet links
Maxb [Sat, 30 May 2020 19:42:51 +0000 (12:42 -0700)]
Add per-torrent ability to disable uploading
Matt Joiner [Mon, 1 Jun 2020 09:09:17 +0000 (19:09 +1000)]
Rename fastestConn->fastestPeer
Matt Joiner [Mon, 1 Jun 2020 08:41:21 +0000 (18:41 +1000)]
Handle webseed Client events
Matt Joiner [Mon, 1 Jun 2020 08:25:45 +0000 (18:25 +1000)]
Further progress on webseeding
Matt Joiner [Mon, 1 Jun 2020 08:24:46 +0000 (18:24 +1000)]
Support disabling webtorrent
Matt Joiner [Mon, 1 Jun 2020 01:16:17 +0000 (11:16 +1000)]
cmd/torrent-verify: Fix piece hash output
Matt Joiner [Mon, 1 Jun 2020 01:12:51 +0000 (11:12 +1000)]
Remove debug logging from storage file implementation
Matt Joiner [Mon, 1 Jun 2020 01:12:33 +0000 (11:12 +1000)]
storage file implementation: Error on short writes
Matt Joiner [Mon, 1 Jun 2020 01:11:41 +0000 (11:11 +1000)]
Fix race in webtorrent.TrackerClient.Run
Matt Joiner [Sun, 31 May 2020 14:14:51 +0000 (00:14 +1000)]
Got file storage working with segment index
Matt Joiner [Sun, 31 May 2020 14:04:15 +0000 (00:04 +1000)]
cmd/torrent-verify now needs to call InitIndex
Matt Joiner [Sun, 31 May 2020 14:03:51 +0000 (00:03 +1000)]
connLessTrusted takes peer instead of PeerConn
Matt Joiner [Sun, 31 May 2020 11:00:44 +0000 (21:00 +1000)]
webseed Client skeleton
Matt Joiner [Sun, 31 May 2020 11:00:19 +0000 (21:00 +1000)]
Abstract out segments mapping and use it in mmap storage
Matt Joiner [Sun, 31 May 2020 03:22:36 +0000 (13:22 +1000)]
Export PeerImpl and all its methods
Matt Joiner [Sun, 31 May 2020 03:09:56 +0000 (13:09 +1000)]
Got things compiling
Matt Joiner [Sat, 30 May 2020 07:52:27 +0000 (17:52 +1000)]
Save progress
Matt Joiner [Sat, 30 May 2020 05:18:28 +0000 (15:18 +1000)]
Seperate peer and PeerConn
Matt Joiner [Sat, 30 May 2020 00:14:20 +0000 (10:14 +1000)]
Break peer out from PeerConn
Matt Joiner [Fri, 29 May 2020 09:44:48 +0000 (19:44 +1000)]
Rename Peer to PeerInfo, and unexport PeerInfos
Matt Joiner [Sun, 24 May 2020 07:47:16 +0000 (17:47 +1000)]
BEP27 isn't implemented
https://github.com/anacrolix/torrent/issues/406
Yaroslav Kolomiiets [Wed, 20 May 2020 16:18:00 +0000 (17:18 +0100)]
torrent-metainfo-pprint: include the 'nodes' field into the output when non-empty
Matt Joiner [Thu, 21 May 2020 02:17:10 +0000 (12:17 +1000)]
Fix panic closing torrent that failed to open storage
Matt Joiner [Wed, 20 May 2020 02:04:53 +0000 (12:04 +1000)]
Improve cmd/tracker-announce output
Matt Joiner [Tue, 19 May 2020 05:22:58 +0000 (15:22 +1000)]
Don't error on setting info when we already have it
Matt Joiner [Tue, 19 May 2020 05:00:08 +0000 (15:00 +1000)]
Fix https://github.com/anacrolix/torrent/issues/388
Matt Joiner [Tue, 19 May 2020 04:59:45 +0000 (14:59 +1000)]
Add tests for https://github.com/anacrolix/torrent/issues/388
Rob Powell [Sun, 17 May 2020 15:26:59 +0000 (16:26 +0100)]
Update README.md
Matt Joiner [Tue, 19 May 2020 02:44:42 +0000 (12:44 +1000)]
Fix panic caused by adding disabled udp trackers
Matt Joiner [Wed, 13 May 2020 07:32:16 +0000 (17:32 +1000)]
Fix Client torrent "of %d bytes" in status
Matt Joiner [Wed, 13 May 2020 04:33:19 +0000 (14:33 +1000)]
Add comment to metainfo.MetaInfo.CreationDate
Matt Joiner [Wed, 13 May 2020 04:32:20 +0000 (14:32 +1000)]
Expose metainfo.GeneratePieces
Matt Joiner [Tue, 12 May 2020 01:31:56 +0000 (11:31 +1000)]
cmd/tracker-announce: Rework for better utility in shell scripts
Matt Joiner [Mon, 4 May 2020 23:00:43 +0000 (09:00 +1000)]
doc comment
Matt Joiner [Sun, 3 May 2020 09:31:20 +0000 (19:31 +1000)]
Fix benchmark failing due to mainReadLoop returning io.EOF
Matt Joiner [Sun, 3 May 2020 08:51:09 +0000 (18:51 +1000)]
Pull fix to panic in pion/ice
https://github.com/pion/ice/issues/182