Commit Graph

469 Commits

Author SHA1 Message Date
Charles Kerr 3a4a0053ca give the nightlies a peer id of 0079, to differentiate between the previous stable release (0072) and the next one (0080) 2007-07-09 05:40:35 +00:00
Charles Kerr 8fd06f3687 fix values for tr_cpLeftUntilComplete(), which were slightly off. (TooMuchTime) 2007-07-09 05:20:23 +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 b1ab3968e7 add Transmission's SVN version number to the id string we send the tracker 2007-07-09 04:34:54 +00:00
Charles Kerr 26660b0594 fix broken rate control. 2007-07-07 04:13:13 +00:00
Charles Kerr a62302d709 Better handling of malformed bencoded strings. Thanks to cluthi81 for reporting this. 2007-07-06 20:43:17 +00:00
Charles Kerr 73af49bd08 don't crash when creating a single-file torrent of a zero-byte file. Reported by BentMyWookie. 2007-07-06 18:24:54 +00:00
Charles Kerr d8a6dd1e28 fix inout.c read/write mode bug. 2007-07-06 17:19:34 +00:00
Charles Kerr a166914a27 fix endgame bugs 2007-07-06 16:17:37 +00:00
Charles Kerr 3fda85725c fix peer memory leak. 2007-07-06 15:51:06 +00:00
Eric Petit 981ede4d4b Fixes a typo that caused us to reject all incoming connections 2007-07-04 15:04:05 +00:00
Charles Kerr 18aa394019 when creating a torrent, initialize its cpStatus field before passing it to the torrent's worker thread 2007-07-02 01:29:05 +00:00
Charles Kerr bfee506ff4 Move the initial fastresume check into the thread that creates the torrent, rather than in the torrent's worker thread 2007-07-01 19:10:14 +00:00
Charles Kerr 432c26d353 Fix makemeta infinite loop reported by BentMyWookie 2007-07-01 14:04:18 +00:00
Charles Kerr 0fb5d03514 d'oh! openssl has rc4 already. 2007-07-01 12:09:43 +00:00
Charles Kerr e77a18c882 make the "Error while parsing bencoded data" more helpful by showing the bad bencoded data. (though the string might be very long...) 2007-07-01 02:54:37 +00:00
Charles Kerr 58f89cdc77 replace the unhelpful error message "error: insufficient resources" with more descriptive cases 2007-07-01 01:50:14 +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 3b1597789e fix r2252 copy-and-paste bug. Thanks BentMyWookie 2007-06-30 21:39:03 +00:00
Charles Kerr 4784289921 fix bug that caused libtransmission to think private torrents were public. 2007-06-30 21:29:49 +00:00
Charles Kerr c58013c048 don't count too many bytes in the last block in tr_cpDownloadedValid(), tr_cpLeftUntilDone(), tr_cpLeftUntilComplete(). Very minor speedups in tr_bitfieldHas(), tr_bitfieldAdd(), tr_bitfieldRem(). 2007-06-30 21:11:17 +00:00
Charles Kerr bacc2dc445 I wonder what this is for. 2007-06-30 19:46:41 +00:00
Charles Kerr b6819d6a12 fix r2247 oops 2007-06-30 15:16:08 +00:00
Charles Kerr 3e0cac55fd (1) check a torrent's `fast resume' state as soon as it's added. (2) in gtk, show % done even when torrent is stopped 2007-06-30 13:53:10 +00:00
Charles Kerr 6c6732ed39 make tr_torrentInfo() a const function 2007-06-30 13:36:58 +00:00
Charles Kerr ec12220404 make decrementing the torrent count the last thing we do when destroying a torrent. 2007-06-30 13:19:57 +00:00
Charles Kerr 05ca8403c6 * make tr_cpLeftUntilDone() slightly more accurate
* simplify completion code a little
2007-06-30 12:54:26 +00:00
Charles Kerr 2b1cf88ea9 fix crash reported by persept 2007-06-30 12:46:45 +00:00
Charles Kerr 781c557e52 use tr_new(), not g_new(). I've been hacking in glib too long 2007-06-29 17:29:02 +00:00
Charles Kerr 59388ed0ba fix some ugliness from last night's hackfest 2007-06-29 17:24:14 +00:00
Charles Kerr 3a73f6790e Fix endgame bug that caused the last 2-3% to drag out forever in recent nightlies. Thanks SoftwareElves 2007-06-29 06:24:55 +00:00
Charles Kerr ab191885b5 revert one of last checkin's changes to better handle low peer situations. Thanks to SoftwareElves for the helpful explanation. 2007-06-29 06:03:54 +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 9b65364dcc fix divide by zero bug in makemeta code, calculating number of pieces for a zero-sized file. (SoftwareElves) 2007-06-29 02:53:12 +00:00
Charles Kerr 3d7f38fa68 get the bencoded text compliant with the bittorrent spec w.r.t. dictionaries: "keys must be strings and appear in sorted order (sorted as raw strings, not alphanumerics)." 2007-06-29 02:27:00 +00:00
Josh Elsasser a09a9c9157 Add client/server name to IPC version handshake. 2007-06-29 02:21:29 +00:00
Charles Kerr 6890359001 Make tr_torrentParseHash() public 2007-06-28 23:35:02 +00:00
Charles Kerr 73ee59a21f * (libT) stopped torrents shouldn't use CPU cycles.
* (gtk) if a torrent is stopped when you exit, keep it stopped when restarting.
2007-06-28 17:43:53 +00:00
Charles Kerr 37234a3e34 Make tr_trackerAnnouncePulse() just return safely if there's no tracker initialized. 2007-06-28 04:28:23 +00:00
Charles Kerr 81dfe09b5e make it safe to pass a bzero()ed struct into tr_metainfoFree() 2007-06-28 02:02:30 +00:00
Charles Kerr 831cd4a3da better documentation on tr_torrentParse()'s behavior 2007-06-28 01:20:10 +00:00
Charles Kerr 8aa002b25e * fix memory leak when adding torrents.
* zero out tr_torrentParse()'s tr_info_t before filling it
2007-06-28 01:12:16 +00:00
Charles Kerr ae40410b4e Fix tr_getComplete() and tr_getDone() bug reported by BentMyWookie 2007-06-28 00:09:59 +00:00
Charles Kerr 995c1cdbb1 fix r2210 oops 2007-06-28 00:04:42 +00:00
Charles Kerr 63fce9cf06 simplify tr_torrentParse() based on BWM's feedback 2007-06-27 23:22:09 +00:00
Charles Kerr 8e401729cd Modified tr_torrentCanAdd() to give the new functionality BMW suggests 2007-06-27 14:54:31 +00:00
Charles Kerr 47a5ff4120 add tr_torrentCanAdd() as per BentMyWookie's request... clear tracker error string when restarting... fix r2202 "completed" announce bug. 2007-06-27 05:14:38 +00:00
Charles Kerr 7e09d157cd Thread safety improvements. Also, stopping/starting/rechecking/etc. torrents no longer blocks the calling thread. Since this a big commit, it will probably create some short-term pain via new bugs. 2007-06-26 18:45:03 +00:00
Charles Kerr 21cf51e3f7 Add tr_stat_t.downloadedValid hook to IPC for Gimp_ 2007-06-26 17:52:45 +00:00
Charles Kerr 6011450518 building up our threading tools: implement RW locks 2007-06-25 21:52:18 +00:00