Commit Graph

42 Commits

Author SHA1 Message Date
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