Mitchell Livingston
76da1185ca
merge encryption branch to trunk (xcode project is still out of date)
2007-09-20 16:32:01 +00:00
Charles Kerr
bae07d471e
added support for `corrupt' announce tag s.t. corrupted bytes don't count towards your download ratio
2007-08-21 15:17:02 +00:00
Charles Kerr
5f5a743790
the new tracker code seems to be working, so now it's time for me to learn yet again how much better users are at noticing bugs than I am. :)
2007-08-16 20:00:06 +00:00
Josh Elsasser
8f6b8020bc
Implement proposed extension to indicate which of azrueus or extended messaging are preferred.
...
This is disabled for now.
2007-08-15 21:26:24 +00:00
Josh Elsasser
4c1c2667b6
Use macros instead of magic numbers when creating and parsing handshake.
...
Make it trivial to disable extended messaging or azureus protocol at compile-time, for debugging.
2007-08-15 19:44:13 +00:00
Charles Kerr
26dabf816e
make list less error-prone by changing the API s.t. we're guaranteed to update the list's pointer correctly.
2007-08-14 14:18:54 +00:00
Charles Kerr
d209052051
add portability wrapper for in_port_t...
2007-07-30 18:04:10 +00:00
Charles Kerr
79a0081092
a nice patch that makes the three most CPU-hogging functions (as reported by Shark) essentially free and reduces memory overhead by 8 bytes per piece per torrent. Lots of asserts for extra testing fun.
2007-07-28 15:43:34 +00:00
Charles Kerr
c81f38360f
Undo the reporting stats change in r2493, based on info from xiffix that Azureus does not do this for the tracker, and when uTorrent did, it provoked a ban.
2007-07-25 17:38:05 +00:00
Charles Kerr
e8fb29ea44
fix compiler warnings reported by wereHamster
2007-07-25 17:27:19 +00:00
Charles Kerr
88d4df169b
Follow Azureus' and uTorrent's lead in not counting corrupt pieces in our announce data, as it could give us a misleadingly bad share ratio . (Ticket #263 )
2007-07-25 16:50:32 +00:00
Charles Kerr
6d21f2fb16
remove TR_NTOHL macro
2007-07-19 10:37:30 +00:00
Charles Kerr
1d95bcc689
re-randomize peer_id each time we start a torrent. (ticket #257 )
2007-07-16 11:19:44 +00:00
Charles Kerr
f0d97e1a02
fix bug that gave the wrong peer count when uploading.
2007-07-13 22:22:46 +00:00
Charles Kerr
bcb3cf99ab
Revert version back to 079 as per BentMyWookie's suggestion
2007-07-09 23:09:00 +00:00
Charles Kerr
34b4d0b7f9
fix r2306 double-free crash reported by Gimp_, webaake
2007-07-09 16:30:20 +00:00
Charles Kerr
08f787291a
remove the "peer is asking for too many blocks!" warning reported by Gimp_ by changing from a fixed-size array to a linked lists of incoming requests
2007-07-09 04:37:16 +00:00
Charles Kerr
ed4e789b97
Silence the "Too many requests!" error that's not really an error
2007-06-30 22:47:59 +00:00
Charles Kerr
f0950d7390
lots of performance improvements. fun!
...
* dynamically resize the request queue on a per-peer basis based on its speed
* fix a huge bug that sabotaged the `swift' performance
* on startup, unchoke peers much sooner
* bump MAX_PEERS and PERCENT_PEER_WANTED
* do a better job of estimating speed on torrents less than 30 seconds old.
* getting an unrecognized extension ID, ignore it instead of stopping the torrent.
2007-06-29 05:45:17 +00:00
Charles Kerr
e161544761
adding experimental implementation of Tamilmani's `Swift' tit-for-tat algorithm for testing. To tweak or disable, change the values around line 50 of libtransmission/peer.c
2007-06-21 14:47:26 +00:00
Mitchell Livingston
0256f4616d
Merge file selection and torrent creation into the main branch.
...
The new code for these features is under a new license.
2007-06-18 03:40:41 +00:00
Mitchell Livingston
a14208fbf6
typo fix in new message
2007-04-11 14:14:04 +00:00
Josh Elsasser
8ed9e5d964
Replace the 'Nice try...' message with something more reassuring.
2007-04-11 05:31:40 +00:00
Eric Petit
127a26bc7b
Don't assume that peers send us blocks in the same order we sent the requests (another cause of overdownloading)
2007-04-05 16:23:00 +00:00
Eric Petit
a1a09d21ab
Send 'cancel' messages when getting choked, in case the peer doesn't drop our previous requests as expected (one cause of overdownloading)
2007-04-05 16:01:40 +00:00
Josh Elsasser
58333068e8
Cache peer client name.
...
Don't create an 'unknown client' name with nonprintable characters.
2007-04-03 18:22:58 +00:00
Josh Elsasser
40397dd9f2
Unbreak azureus peer protocol.
...
Add more peer debug messages.
Fix pex interval.
2007-03-28 06:28:34 +00:00
Josh Elsasser
09c87aad84
Merge PEX branch, I hope this works.
2007-03-23 08:28:01 +00:00
Josh Elsasser
fc76c65794
Check all offsets and lengths received from the peer before using them.
2007-03-06 00:49:35 +00:00
Josh Elsasser
e9b4fd8aff
Do bounds checking on bitfields.
2007-03-05 23:03:38 +00:00
Josh Elsasser
0ac5a12189
Clean up the peer message code a little.
2007-01-28 02:23:09 +00:00
Eric Petit
e5e6a8b5df
Merge io branch into trunk
2007-01-14 12:00:21 +00:00
Eric Petit
3f129d8829
Adds progress in tr_peer_stat_t
2006-11-10 04:21:46 +00:00
Josh Elsasser
f7c3910a79
Fix possible uint64_t underflow which could cause insanely huge (16,000,000 TB)
...
upload and/or download totals to be reported to the tracker.
2006-09-26 22:36:04 +00:00
Josh Elsasser
86d9310274
Try to keep track of the overall speed of the swarm.
...
Patch by Denis Ahrens.
2006-08-16 19:21:09 +00:00
Eric Petit
f199e0a9d9
Revert [619]
2006-07-16 19:39:23 +00:00
Mitchell Livingston
5d36721a15
Remove old Sparkle...
2006-07-16 19:28:19 +00:00
Eric Petit
f98fe6a1b0
Added $Id$ keywords and updated a few headers
2006-05-29 21:21:23 +00:00
Eric Petit
a006c25025
Adds automatic peer banning.
...
At first, peers get only banned for the bad pieces they've contributed to, i.e. we continue to ask them for other parts of the torrent. If more bad data keeps coming, the peer gets completely banned.
Based on Jeremiah Morris' patch.
2006-05-13 06:48:37 +00:00
Eric Petit
28d43da1d1
Removed now unused tables and some now unused code
2006-01-30 02:13:40 +00:00
Josh Elsasser
c2d5fe251e
Fix a crash that I introduced with the shared port code.
2006-01-14 04:47:38 +00:00
Eric Petit
07b9da73fc
Update 2006-01-11
2006-01-12 19:12:58 +00:00
Eric Petit
d2cc6ce7c6
Update 2005-11-17
2006-01-12 18:29:20 +00:00
Eric Petit
8adc2d7338
Update 2005-11-01
2006-01-12 18:20:48 +00:00