Commit Graph

1090 Commits

Author SHA1 Message Date
Charles Kerr 6d5182af60 fix potential "recheck torrent" deadlock 2007-10-06 01:43:04 +00:00
Charles Kerr 3a6985195d removed an assertion that depended on valid input from a peer in order to be true. 2007-10-05 05:53:00 +00:00
Charles Kerr b6483cbf3f don't allow duplicate requests to the same peer, even during endgame. (alus) 2007-10-05 00:16:47 +00:00
Charles Kerr 17743d8d04 tweak the `start torrent' code based on feedback from BentMyWookie 2007-10-04 23:47:49 +00:00
Charles Kerr 80979e0240 a little code simplification -- remove unnecessary branches 2007-10-04 20:49:37 +00:00
Charles Kerr 0872b4f40a fix the crash reported by Waldorf and John_Clay 2007-10-04 20:31:19 +00:00
Charles Kerr 53aef0a48c Simplify the tracker/pause/close/recheck/start code. 2007-10-04 19:58:30 +00:00
Charles Kerr 0938cb88d4 dead code removal 2007-10-03 21:03:40 +00:00
Charles Kerr 5f2bd1d950 speed improvements... this is getting me 700 KiB/s (which is near to my speed cap) in the ubuntu torrent test 2007-10-03 19:00:51 +00:00
Charles Kerr 877e2bb86e some more peer tweaks 2007-10-03 18:19:51 +00:00
Charles Kerr a3d1a254d1 minor source code cleanup... 2007-10-03 16:42:43 +00:00
Charles Kerr 3d2e3cfdfb add pass subscription info into the peer-msgs constructor so that we can start getting information immediately 2007-10-03 04:04:34 +00:00
Charles Kerr 0f550043fd fix peer-mgr.c:1092 asset failure reported by Waldorf_ 2007-10-03 02:46:15 +00:00
Charles Kerr 1f1605986c tear out some now-exterraneous code. 2007-10-02 20:55:14 +00:00
Charles Kerr f4988a3f6e tweak the peer manager code a little more. 2007-10-02 19:54:14 +00:00
Charles Kerr 3dbaa7d673 make the peer manager a little greedier w.r.t. keeping connections alive. 2007-10-02 19:25:18 +00:00
Charles Kerr f4901211ca Fix erratic `(int)EVBUFFER_LENGTH( inbuf ) >= byteCount' error 2007-10-02 16:59:56 +00:00
Charles Kerr cdabb1c0b1 clean up the shutdown code a little bit. 2007-10-02 16:12:44 +00:00
Charles Kerr c271cec6a3 work around portability glitch in libevent's headers 2007-10-02 14:58:39 +00:00
Charles Kerr f237bf7047 * simplify the the choking intervals
* fix peer-mgr destructor bug
* send debugging messagese to TR_DEBUG_FD instead of the console
2007-10-02 14:35:02 +00:00
Charles Kerr 77d7cf76a1 fix looong-standing potential dangling pointer bug reported by BMW 2007-10-02 03:33:17 +00:00
Charles Kerr 6ed2d25af7 threads. gotta love 'em. 2007-10-02 02:59:07 +00:00
Charles Kerr af686b3297 roll back a bug introduced in r3265 2007-10-02 02:01:57 +00:00
Charles Kerr 84ab0092fb some cleanup... remove some dead/obsolete code 2007-10-02 00:05:40 +00:00
Charles Kerr b84305cdf3 more agressive purging of connections that give socket errors 2007-10-01 18:09:59 +00:00
Charles Kerr 4ebe0b563a throttle back how many concurrent connections we make. 2007-10-01 17:51:07 +00:00
Charles Kerr f0562f5947 try to disconnect all the peers when the user hits `pause' 2007-10-01 16:50:51 +00:00
Charles Kerr 75ff12faba don't log BT protocol messages in UL/DL speed -- only log piece data transfers. 2007-10-01 16:31:17 +00:00
Charles Kerr e4fec9eefd add tr_stat.peersKnown to indicate how many peers exist in the peer `pool' 2007-10-01 15:51:54 +00:00
Charles Kerr cba61802cf remove newly-unused field tr_peer_stat::isConnected 2007-10-01 15:41:42 +00:00
Charles Kerr 1a012b8b87 maybe fix the where-are-the-peers-coming-from bug reported by SoftwareElves, John_Clay, and jahpraiseherb 2007-10-01 15:36:31 +00:00
Charles Kerr 5c11c58113 simplify libT locks now that it's (more-or-less) single-threaded. fix deadlocks. make tr_locks nestable. 2007-10-01 15:17:15 +00:00
Charles Kerr f7e3f85e50 follow BT `best practices' more closely w.r.t. choosing which pieces to download 2007-10-01 14:24:22 +00:00
Charles Kerr 60a983d845 fix bizarre libevent contortion that made valgrind cry 2007-10-01 05:49:23 +00:00
Charles Kerr 9a3c91cad2 ensure TR_PEER_FROM_INCOMING peers get peer atoms. this should fix BentMyWookie's crash. 2007-10-01 05:32:34 +00:00
Charles Kerr 56738f065c fix some memory issues. 2007-10-01 04:12:24 +00:00
Mitchell Livingston 0888fe4f68 remove unneeded line 2007-10-01 03:28:49 +00:00
Charles Kerr b99084e638 more experimenting with how to get good peers 2007-10-01 03:24:52 +00:00
Mitchell Livingston a223b7d6ea fix Bitlet and add new Limewire client id's 2007-10-01 02:50:51 +00:00
Charles Kerr 6bef7def52 tweaks 2007-10-01 00:08:12 +00:00
Charles Kerr 7cc6771318 experimental better peer management. 2007-09-30 23:55:49 +00:00
Mitchell Livingston 3e87e07e0c add bitlet to client id's 2007-09-30 13:16:18 +00:00
Charles Kerr 4c990b2a7d fix tracker crash reported by bmw 2007-09-29 15:05:20 +00:00
Charles Kerr dad333ceec more work on the locks 2007-09-29 14:55:30 +00:00
Charles Kerr b3d6391413 test to see if the new locking code can fix the old `stop' bug 2007-09-29 14:25:52 +00:00
Charles Kerr 8a40a15b16 more work on the peer-mgr locks 2007-09-29 14:19:23 +00:00
Charles Kerr 64239a21e1 prevent a deadlock via the handshake code 2007-09-29 13:47:15 +00:00
Charles Kerr 0812087a4e add mutex locks for thread safety. 2007-09-29 06:37:03 +00:00
Charles Kerr 04f6847004 take out the `thawing out' console messages 2007-09-29 00:47:33 +00:00
Charles Kerr 3f1d888354 improved uTorrent handshaking, after talking to #utorrent-dev about minutae... 2007-09-29 00:46:41 +00:00
Charles Kerr 79973a8a93 commit the next step of tiennou's fastpeers code. 2007-09-28 16:40:21 +00:00
Charles Kerr 198d2c256e fix John_Clay's tracker assertion failure. 2007-09-28 16:14:19 +00:00
Charles Kerr 92923a0236 remove obsolete MAX_PEERS in internal.h 2007-09-28 16:00:43 +00:00
Charles Kerr d9af0ff829 add more assertion tests to try to hunt down the tracker.c bug reported by John_Clay 2007-09-28 15:05:42 +00:00
Charles Kerr f0c9f9a99a add a callback to notify clients when a torrent's state changes 2007-09-28 14:51:34 +00:00
Charles Kerr c28a94d04c fix a couple of memory corruption errors while trying to track down tiennou's report on peer-msgs.c:pulse() -> inout.c:163 assertion failure. 2007-09-28 14:27:56 +00:00
Charles Kerr 2ae95a4096 fix win32 initialization bug reported by |ub0 2007-09-27 17:25:27 +00:00
Charles Kerr 1c1ef83a65 better support of the MSE protocol w.r.t. PadC and PadD 2007-09-27 14:43:33 +00:00
Charles Kerr d3077bbce1 round 2 of minor revisions to tr_stat 2007-09-27 03:30:22 +00:00
Charles Kerr 439c1f38c1 some experimental code. (1) try to improve throughput to peers. (2) add first draft of new tr_stat fields requested by BentMyWookie (3) raise the per-torrent peer limit to 100 to match LibTorrent's defaults 2007-09-27 03:03:38 +00:00
Charles Kerr d386617da2 only send a peer keepalive messages when we're not sending them anything else 2007-09-26 17:34:33 +00:00
Charles Kerr 773fa8f1f6 for every connected peer, send a keepalive message every 90 seconds 2007-09-26 15:14:37 +00:00
Charles Kerr 7ccab9de2c peer i/o cleanup 2007-09-26 14:42:03 +00:00
Charles Kerr 682be6b12e don't bother remembering peers that hang up on us.
don't bother remembering peers that are seeds when we're seeding.
2007-09-26 04:44:54 +00:00
Charles Kerr f20358927b lots of handshake fixes. incoming connections work now, both encrypted & plaintext. yay! 2007-09-26 03:52:30 +00:00
Charles Kerr b63a505c6d fix a handshake bug and reduce the idle cpu load a little. 2007-09-26 02:29:49 +00:00
Charles Kerr ee6a0b8945 modify the tr_stat struct as hashed out by charles_ and BentMyWookie. sync gtk, ipc, and wx clients. 2007-09-26 01:55:04 +00:00
Charles Kerr c6fdad0514 accept erdgeist's suggestion of using ensureMinimumFileSize() only on WIN32 -- on posix, seek+write is enough. 2007-09-25 23:21:00 +00:00
Charles Kerr fef89a3bc7 * record the ports of incoming sockets. we might need them later if we want to disconnect and reconnect.
* for portability, use libevent API for some socket upkeep
2007-09-25 23:10:34 +00:00
Charles Kerr 904359a049 * fix oops from last checkin
* remove some unused fields from internal structures
2007-09-25 22:37:23 +00:00
Charles Kerr 73522af17c fix peer-msgs.c assertion failure. (tbo) 2007-09-25 22:30:41 +00:00
Charles Kerr 7a15abaf7a better handling of tracker error messages. 2007-09-25 18:39:58 +00:00
Charles Kerr dcfe4f9802 if we connect to a peer that understands the encryption handshake, try harder to continue the connection in encrypted mode. 2007-09-25 17:56:46 +00:00
Charles Kerr 5aecf680f0 when a peer tells us that it's switched listening ports, remember the new port for the next time we connect. 2007-09-25 17:44:50 +00:00
Charles Kerr dd8dc4d87e tweak the bitfield code to be a little faster. 2007-09-25 17:43:39 +00:00
Charles Kerr 1d1a23508b * follow the BT spec more closely by disallowing peers to request blocks of more than 16KiB from us.
* don't register the choke and connection timers for torrents that aren't running.  It doesn't hurt anything but does waste a few cycles.
2007-09-25 00:04:29 +00:00
Charles Kerr 6c8d9d42d3 fixed tracker bug reported by TooMuchTime of OiNK fame 2007-09-24 20:27:20 +00:00
Charles Kerr 7caf9550df shut up some more console messages 2007-09-24 19:12:52 +00:00
Charles Kerr dd6f87a5eb fix race condition in the torrent rechecker. 2007-09-24 17:47:15 +00:00
Charles Kerr 6897fe4327 plug some minor memory leaks. (valgrind) 2007-09-24 15:50:59 +00:00
Charles Kerr b402687c93 * add sanity checks to incoming piece data requests. This may solve the inout.c:99 assertion failure.
* rename the gtk client from `transmission-gtk' to `transmission' for parity with the mac client.
2007-09-23 23:38:39 +00:00
Charles Kerr 4834dc4b13 fix crash-on-shutdown 2007-09-23 19:24:06 +00:00
Charles Kerr b3fde0b43b tweak responsivenes on switching between `uploading' and `downloading' when a user changes a file's do-not-download state 2007-09-23 14:17:39 +00:00
Charles Kerr d27c9c5034 * update tor->activityDate whenever piece data is transferred. 2007-09-23 14:12:17 +00:00
Charles Kerr 89da2294b1 * when a torrent's done downloading, have it switch to seeding mode.
* tweak the gtk+ client's torrent inspector's display of transfer rates
2007-09-23 13:53:44 +00:00
Charles Kerr 968868debe fix bug that tended to disconnect from valid peers when we were seeding. also, follow the BT spec's terminology a little closer. 2007-09-23 02:19:59 +00:00
Charles Kerr 7a54e88d4e fix bug #342 -- some hash checks were incorrectly failing, which caused the `bytes downloaded' field to appear to jump back and forth 2007-09-23 02:11:53 +00:00
Charles Kerr d8d46517b9 fix a couple of encryption bugs. 2007-09-22 21:48:02 +00:00
Charles Kerr 3c73a86595 tweak some more. follow BentMyWookie's suggestion for raising the connection limits. 2007-09-22 14:42:15 +00:00
Charles Kerr a33a033b9b tweak the peer mgr 2007-09-22 14:32:02 +00:00
Charles Kerr 10b8326f1d add a peer connection manager s.t. have a consistent way of disconnecting from bad peers, connecting to new potential peers, disconnecting from seeds when we're seeding, etc. 2007-09-22 14:18:52 +00:00
Charles Kerr ea7513e59d undo commit that accidentally checked in testing code that only allowed connections from encrypted peers 2007-09-22 05:40:33 +00:00
Charles Kerr c6aa57f306 make download speed limits work? 2007-09-22 05:16:32 +00:00
Charles Kerr 87f53cba5b maybe get speed limits working. 2007-09-22 04:44:50 +00:00
Charles Kerr ebc612d725 get encrypted uTorrent working. 2007-09-22 03:37:37 +00:00
Charles Kerr f724cdd304 * abort connections if the peer selects an encryption option we didn't offer them.
* fix a shutdown crash as a result of peer-mgr timers not getting destroyed.
* remove some console messages.
2007-09-22 00:53:11 +00:00
Charles Kerr a903f07058 fix logic error in handshake that allowed unencrypted peers even when "ignore unencrypted peers" is checked 2007-09-22 00:36:37 +00:00
Charles Kerr 56b0e5d1ac * remove some console messages.
* scrape sooner when peers are added.
* added stub code for the connection manager code
2007-09-22 00:22:10 +00:00
Charles Kerr 4b46430731 give waldorf a different assertion to crash on. 2007-09-21 15:31:46 +00:00
Charles Kerr 980a7bda9a fix stat bug reported by BentMyWookie 2007-09-21 15:13:23 +00:00
Charles Kerr e9ed5e28d9 * accept tiennou's partial patch for `fast peers' extension
* fix growl problem I introduced in the last checkin, reported by chrissturm
2007-09-21 14:50:29 +00:00
Charles Kerr 9248143ce8 fix recursive crash when stopping a torrent, reported by plantain. silence a few more console messages. 2007-09-21 14:20:55 +00:00
Charles Kerr 54c84d0b30 silence a few more console messages 2007-09-21 13:52:42 +00:00
Charles Kerr 4d15bbdc2a slightly less broken handling of cases where we can't bind to our listening port. 2007-09-21 05:31:29 +00:00
Charles Kerr 6479ecbcf6 fix crash reported by Gimp_, John_Clay, and persept_ 2007-09-21 04:41:44 +00:00
Charles Kerr 28bcf6204b clamp down on the flood of debug messages. 2007-09-20 23:33:46 +00:00
Charles Kerr 379beed969 if we're seeding, disconnect from other seeds (part 1 of 2) 2007-09-20 23:07:36 +00:00
Charles Kerr fb70a9cca0 remove the backwards compatability typedefs at BentMyWookie's suggestion. update libT, gtk, daemon, and cli accordingly... 2007-09-20 20:14:13 +00:00
Charles Kerr ad71027cbb fix small merge wart 2007-09-20 16:44:37 +00:00
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 d996b96e65 in WIN32, #define lseek _lseeki64 2007-09-09 01:32:59 +00:00
Charles Kerr b0505157a4 (0.8x) take denis_' suggestion for improving the peer debug message 2007-09-09 00:45:08 +00:00
Charles Kerr 4b980c4c36 (trunk) fix a nasty width truncation bug, reported by Eric in http://transmission.m0k.org/forum/viewtopic.php?t=2304&start=16 2007-09-06 16:28:24 +00:00
Charles Kerr 3cd185747c fix cut-and-paste bug 2007-09-05 23:58:35 +00:00
Charles Kerr b1c9a9bd97 (trunk) fix some of the crash-on-shutdown issues. 2007-09-05 23:01:56 +00:00
Charles Kerr 7be8b8d116 (trunk) better fix for previous commit 2007-09-01 02:56:48 +00:00
Charles Kerr eeb5cc6b5e (trunk) Fix hash-checking error. Thanks to denis for tracking it down and submitting a patch. 2007-09-01 02:46:04 +00:00
Josh Elsasser d422d6dbc7 Enable the azureus/libtorrent extension negotiation reserved bits. 2007-08-26 16:16:41 +00:00
Charles Kerr 53d48e4c37 add utility function for setting libevent timer intervals 2007-08-23 20:33:01 +00:00
Josh Elsasser 6323a59c6a Add workaround for broken bittyrant client name. 2007-08-23 06:44:52 +00:00
Charles Kerr 77e7bc4f84 make upnp's internal structures' naming schemes whallop-like 2007-08-21 20:38:34 +00:00
Charles Kerr 44f6cb1098 fix NaN error reported by persept 2007-08-21 16:26: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 8c54b7eb46 ensure that all the tracker destruction code is done in the libevent thread, for a cleaner shutdown 2007-08-21 00:01:14 +00:00
Charles Kerr 624257c995 better cleanup on shutdown. don't crash when the torrent doesn't support scrape. (Gimp :) 2007-08-20 23:37:08 +00:00
Charles Kerr 64faed5c47 better saving of run/stopped state. 2007-08-20 23:36:18 +00:00
Charles Kerr 1d6e20594d minor improvements to.. you guessed it.. the tracker/libevent code 2007-08-20 02:29:36 +00:00
Charles Kerr 1f08d0ce52 cleaner shutdown 2007-08-20 02:18:38 +00:00
Charles Kerr 8f0c231a3a fix FMR on shutdown 2007-08-20 02:12:55 +00:00
Charles Kerr 4e82903313 better fix for the leak in r2870 2007-08-19 04:03:06 +00:00
Charles Kerr e19ecccae8 send libevent's warning messages to our logging framework instead of to the console 2007-08-19 03:54:27 +00:00
Charles Kerr b0919dca34 ...and, yet another memory leak, this time when trying to add a torrent that can't be added 2007-08-19 03:42:58 +00:00
Charles Kerr 47f1457d67 fix crash-on-shutdown bug reported by BentMyWookie 2007-08-19 02:55:11 +00:00
Charles Kerr 7b2a9f274a accidentally checked in a debugging statement 2007-08-19 02:23:35 +00:00
Charles Kerr 027fa13c5b fix win32 build. (#304, lubomir.marinov) 2007-08-19 02:10:18 +00:00
Charles Kerr 13c91c2d99 upnp.c needs platform.h if VERBOSE_LOG is defined (ticket #305, mtolman) 2007-08-19 02:07:29 +00:00
Charles Kerr 82db9f6cc9 fix a couple of more memory leaks that valgrind found 2007-08-19 00:18:43 +00:00
Charles Kerr b66efdf998 tracker tweaks 2007-08-19 00:02:23 +00:00
Charles Kerr 1e53e9de72 shut up a compiler warning 2007-08-18 23:32:07 +00:00
Charles Kerr 8f78b809d1 fix minor memory leaks introduced in the last couple of days 2007-08-18 22:35:09 +00:00
Charles Kerr 633ade8004 added mirek's slovakian translation. added mirek, Niels Provos, and TooMuchTime to the `thanks' sectio of AUTHORS 2007-08-18 18:33:47 +00:00
Charles Kerr ea49180f94 $Id$ 2007-08-18 17:19:49 +00:00
Charles Kerr 43bfc5cd7f update version.sh to exclude third-party. add $Id:$ to the new files s.t. version.sh will find them. 2007-08-18 17:05:51 +00:00
Charles Kerr b9c2ea46ce add the content-length header. I'm not getting any tracker errors anymore; please let me know if your experience differs 2007-08-18 15:47:08 +00:00
Charles Kerr 39a43cbc08 * more work on the tracker... getting closer.
* oops!  make sure autoconf is giving the `0.80+' in the User-Agent header.
2007-08-18 08:28:57 +00:00
Charles Kerr 3a45686c3f push event_del() through the libevent pipe too. 2007-08-18 06:59:20 +00:00
Charles Kerr 9cb2dcb63d better error reporting in the new tracker code 2007-08-18 06:06:53 +00:00
Charles Kerr 3f777e3cb9 before the first scrape, set leechers/seeders/downloads to -1 to represent n/a 2007-08-18 03:11:08 +00:00
Charles Kerr 35b727788e do all the libevent enqueuing from a single thread. 2007-08-18 03:02:32 +00:00
Charles Kerr 8713d3468c don't cache the connection; these are one-shot requests 2007-08-17 05:00:59 +00:00
Charles Kerr d5cfbf9426 this seems to fix the double-start bug reported by joshe 2007-08-17 04:50:45 +00:00
Charles Kerr 34e8174ee8 shut down the libevent thread gracefully on shutdown 2007-08-17 03:37:45 +00:00
Charles Kerr 0c60e29934 whee 2007-08-17 03:13:42 +00:00
Charles Kerr c449a4665d fix shutdown error in the new tracker code, reported by joshe 2007-08-17 03:03:28 +00:00
Charles Kerr 5c3d45767e fix crash-on-startup bug reported by Lacrocivious 2007-08-16 20:59:09 +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 3d65dcd13e I'm an idiot. Base 2 is not the same thing as base 16. 2007-08-16 18:34:44 +00:00
Josh Elsasser 3d0e98b2c7 Save client name from azureus or extended handshake, overriding name deduced from peer id. 2007-08-15 23:03:50 +00:00
Josh Elsasser 7301b39c8b Rework utf-8 string concat function a little and make it more widely available. 2007-08-15 23:02:56 +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 87496d2b48 avoid a race condition between msg_init and the libevent thread's tr_dbg() call 2007-08-15 03:26:55 +00:00
Charles Kerr db7a354958 more work on getting our autoconf setup to play nice with libevent 2007-08-15 02:48:32 +00:00
Charles Kerr 2bf071543b get some pieces of the new tracker code into svn... 2007-08-14 20:45:23 +00:00
Charles Kerr 5989151ed5 (trunk) revert yesterday's tracker changes. 2007-08-14 20:08:57 +00:00
Charles Kerr 6cf6dc9142 more hacking on making libevent build, and on making T pick it up in includes & library 2007-08-14 19:53:36 +00:00
Charles Kerr 02606d6675 add populate and cleanup utils for tr_tracker_info_t, since bencode and the new tracker code will both use it 2007-08-14 15:24:48 +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 3fe2dbe5d0 forgot to check this one in. thanks to nickshanks, webaake, et al 2007-08-13 18:41:19 +00:00
Charles Kerr 7254a96ce8 let fastresume remember which torrents are stopped and which are running. 2007-08-13 16:43:33 +00:00
Charles Kerr ab57bfb2d2 (trunk) fix accidentally-swapped switch cases 2007-08-13 15:40:45 +00:00
Charles Kerr d2ddd4cb4e (trunk) dead code removal. (ticket #286) 2007-08-13 14:35:37 +00:00
Charles Kerr 9acf79d665 (trunk) make torrent creation's piece size more flexible. (ticket #293 reported by matt) 2007-08-13 13:57:12 +00:00
Mitchell Livingston 03de70ffa7 identify a client's peer id correctly 2007-08-10 18:06:52 +00:00
Charles Kerr 6355f031e4 (trunk) minor tweak to gracefully handle leading spaces in the announce URL. Reported by Lacrocivious 2007-08-08 23:48:10 +00:00
Charles Kerr 2cbff8d444 (trunk) portability patch for MAXPATHLEN. Reported by afxgroup in ticket #291. 2007-08-08 23:33:01 +00:00
Charles Kerr f2daeb242d (trunk) add tweak to boost the priority of the first and last piece of a file so that early previewing is possible. Suggested by mtolman in http://transmission.m0k.org/forum/viewtopic.php?t=2110 2007-08-08 15:07:06 +00:00
Charles Kerr 51096225bd (trunk) rewrite peerCheck code based on comments from mtolman in http://transmission.m0k.org/forum/viewtopic.php?t=2106 2007-08-08 06:01:52 +00:00
Charles Kerr 3cb5ba7eed (trunk) fix assertion failure reported by kdrweez in http://transmission.m0k.org/forum/viewtopic.php?t=2096 2007-08-08 05:17:51 +00:00
Charles Kerr 82311abfbe (trunk) fix assertion bug in torrent.c::fileByteCompleted() 2007-08-07 14:17:37 +00:00
Mitchell Livingston 0ec5461b50 add BitTorrent DNA to clients 2007-08-06 21:34:38 +00:00
Charles Kerr dbd016e503 sync joshe's changes with win32 2007-08-04 02:55:06 +00:00
Charles Kerr b79d325cd5 use inttypes.h instead of stdint.h 2007-08-04 01:34:00 +00:00
Josh Elsasser 2ead51f79d Use __BEOS__ to test for beos instead of relying on the build to set SYS_BEOS.
Add missing headers and other miscellaneous fixes for beos.
2007-08-04 01:17:39 +00:00
Josh Elsasser b46052826c Include inttypes.h instead of stdint.h to unbreak beos.
Hopefully this won't break anything.
2007-08-04 00:43:47 +00:00
Charles Kerr c51007f916 BeOS portability fixes from ModeenF 2007-08-03 16:28:32 +00:00
Charles Kerr f158112ece clarify the speedlimit comments 2007-08-03 15:55:32 +00:00
Mitchell Livingston 2cb1160945 add Pando to clients 2007-08-03 11:01:33 +00:00
Charles Kerr ef2fc4fdcf More win32 portability fixes. we now talk to tracker & peers; hash checks work, downloads seem to work. w00t 2007-08-02 23:33:40 +00:00
Charles Kerr 6763ec75e8 more portability fixes 2007-08-02 21:58:34 +00:00
Charles Kerr 1fd5f90a77 win32 cleanly compiles and starts now. (still doesn't atually *work*, but we're getting closer...) 2007-08-02 19:43:29 +00:00
Charles Kerr 65b81d09b6 use a straight lock, rather than a rwlock, for rate control 2007-08-02 16:07:34 +00:00
Charles Kerr 0e1e45605a fix manual-announce but noted by BMW 2007-08-02 02:38:42 +00:00
Charles Kerr 25c1dff6d8 fix tyop 2007-08-01 23:22:01 +00:00
Charles Kerr 8aebe31de1 tr_trackerCanManualAnnounce() should return false immediately after the user's manually announced; not just after the announce request is processed by the tracker 2007-08-01 13:33:01 +00:00
Mitchell Livingston 043d517730 in the clients list show dev builds as Transmission as "+" builds 2007-08-01 02:38:31 +00:00
Charles Kerr 26caf4f5dd More Win32 portability changes 2007-08-01 00:40:49 +00:00
Charles Kerr 497856e6e4 add Win32 implementations of tr_thread_t, tr_mutex_t, and tr_cond_t 2007-07-31 19:56:40 +00:00
Charles Kerr ba3dc008fc get the socket/net code working on win32 too 2007-07-31 16:55:47 +00:00
Charles Kerr 0f85cc3297 continue whittling away at internal.h to reduce the global #include dependencies 2007-07-31 14:26:44 +00:00
Charles Kerr 11752dae78 remove unused macros 2007-07-31 01:21:10 +00:00
Charles Kerr 88fe038e6e (libT) not all libT source files need to #include sha1/openssl, just three of them. Also, no need to compile a local sha1 implementation if we're using openssl's. 2007-07-30 19:55:10 +00:00
Charles Kerr d209052051 add portability wrapper for in_port_t... 2007-07-30 18:04:10 +00:00
Charles Kerr 1be185aacd (libT) get "update tracker" working again.
(gtk) add "update tracker" button.
2007-07-30 17:11:00 +00:00
Charles Kerr ebb141b232 better encapsulation of platform-specific constructs: tr_thread_t, tr_cond_t, tr_lock_t 2007-07-30 15:27:52 +00:00
Charles Kerr 7ba03d40b7 sync the two build systems w.r.t. dirname() and basename() 2007-07-30 14:31:03 +00:00
Charles Kerr d8f8f9f922 Get BeOS client building on Zeta 1.21 thanks to patches by Fredrik Modéen 2007-07-30 13:59:23 +00:00
Charles Kerr e1eaae5d19 fix small memory leak 2007-07-29 19:16:13 +00:00
Josh Elsasser e429ebcb1b Add a couple headers needed to build on openbsd. 2007-07-29 18:31:25 +00:00
Charles Kerr e07d0220a9 this looks bug but it's not: just janitorial cleanup, moving #includes from headers into source file 2007-07-29 18:11:21 +00:00
Charles Kerr 7cfafc5371 * now that we've got a new function at the top of the CPU hog list, tweak it too.
* reduce large torrents' memory consumption in tr_completion_t.
2007-07-28 22:47:10 +00:00
Charles Kerr 530507760b fix r2531 bug reported by Lacrocivious 2007-07-28 16:31:08 +00:00
Charles Kerr 29367fda62 add a temporary debugging statement for Lacrocivious 2007-07-28 15:58:59 +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 a9fc478955 get both build systems (hand-written configure, and autoconf) to generate equivalent version.h headers 2007-07-28 04:10:09 +00:00
Charles Kerr 9542f7fe9e * better `info' icon for torrent inspector.
* fix internal.h ifdefs s.t. we can use openssl for SHA1 when using configure.ac
2007-07-28 02:17:15 +00:00
Charles Kerr a180698e8a save a little bit of memory per-torrent. 2007-07-27 23:07:26 +00:00
Charles Kerr b372ce45bf fix stupid typo in completion.c that gave the wrong valid dl amount 2007-07-27 11:56:34 +00:00
Charles Kerr 9e266f6cbc tweak r2510 misassertion reported by Lacrocivious 2007-07-27 01:59:48 +00:00
Charles Kerr cd52d97529 refinement of r2510 2007-07-27 01:58:49 +00:00
Charles Kerr 0e6f766a57 gracefully fail when poison torrents containing no files, or zero byte files, are opened. 2007-07-27 01:50:26 +00:00
Charles Kerr 8f4fb4efbe speed improvements to tr_torrentStat() by folding two expensive & redundant functions together. 2007-07-27 01:22:49 +00:00
Charles Kerr 3b6b9d3852 fix bug in tr_cpDownloadedValid() that caused download sizes of > 4 GiB to be misreported locally 2007-07-26 19:15:36 +00:00
Charles Kerr 31ac4e604a a better fix for the tr_rand() crash experienced earlier today 2007-07-26 03:57:45 +00:00
Charles Kerr daf26881b7 avoid using tr_rand() in peerPulse(); it's giving both me and SWE some odd behavior 2007-07-25 20:55:39 +00:00
Charles Kerr abbcc72154 fix misassertion from a couple of revisions ago when trying to smoke out SoftwareElves' bug 2007-07-25 19:01:36 +00:00
Charles Kerr 3e40e06938 avoid null pointer dereferencing in tr_torrentInit*() as reported by wereHamster 2007-07-25 18:43:21 +00:00
Charles Kerr fd7c112151 fix endgame bug reported again and again and again by SoftwareElves ;) 2007-07-25 18:30:00 +00:00
Charles Kerr d84c2bd44a some assertions to smoke out the error that SoftwareElves is seeing 2007-07-25 17:46:00 +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 66883e72a9 fix double-free crash on opening a corrupt torrent file. reported by wereHamster 2007-07-25 17:19:29 +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 d259e7b65a Fix peer destructor bug from ticket #270. This bug dates back to r1419 in January... I'm surprised it hasn't been reported before now. 2007-07-25 16:33:22 +00:00
Charles Kerr 95313e077a fix off-by-one in r2488 reported by BentMyWookie. Hooray for assert()! 2007-07-25 02:28:25 +00:00
Charles Kerr 730d6df742 * fix overflow error from earlier today. (this was the crash talked about in IRC)
* fix long-standing error that occurred when pieceSize isn't evenly divisible by blockSize
* speed up and macro-ize piece-to-block conversions
2007-07-25 01:59:46 +00:00
Mitchell Livingston a459ba3a74 make values in newly created .torrent files alphabetically sorted 2007-07-25 01:00:17 +00:00
Charles Kerr 79b85b36ab add some assertion tests for #transmission 2007-07-24 20:49:47 +00:00
Charles Kerr 8c79683c83 take a shot in the dark on the crash reported in #transmission 2007-07-24 20:29:27 +00:00
Charles Kerr e352d56925 fix the high CPU load during endgame. 2007-07-24 18:59:37 +00:00
Charles Kerr 339005346c remove unused function tr_cpMostMissingBlockInPiece() 2007-07-24 17:08:45 +00:00
Charles Kerr e1c18610be remove unused function _tr_blockPosInPiece() 2007-07-24 16:04:43 +00:00
Charles Kerr 17a8ae9fa2 faster tr_cpGetStatus() and tr_bitfieldHas(), which were showing up at the top of the CPU profile. 2007-07-24 14:51:46 +00:00
Charles Kerr eefa51c65c tr_cpBlockAdd: small speedup. 2007-07-24 11:50:29 +00:00
Charles Kerr 7326f4db32 do the low-CPU tests first when deciding which blocks to request. these get called a /lot/ during endgame. 2007-07-24 11:47:59 +00:00
Charles Kerr dd55805012 much faster rechecking of incomplete torrents. added tr_stat_t.recheckProgress field. 2007-07-24 01:33:59 +00:00
Charles Kerr c7d97e5f0a get "recheck files" working properly again. 2007-07-24 00:09:23 +00:00
Charles Kerr eaca893b4c set default torrent ul/dl speed limits from global ul/dl speed. as a side effect, totally decouples fastresume from inout. 2007-07-23 03:00:20 +00:00
Charles Kerr 486f483751 xmission: load torrents on startup and populate the torrent list. 2007-07-22 02:24:13 +00:00
Charles Kerr 809ec63e95 new utility function for app startup: tr_loadTorrents() 2007-07-21 18:46:54 +00:00
Charles Kerr a9526adbdd put information messages in tr_inf(), not fprintf() 2007-07-21 18:31:08 +00:00
Charles Kerr 50f407933b when closing torrents, don't try to re-stop torrents that are already stopped. 2007-07-21 18:03:24 +00:00
Charles Kerr 1d932b07c7 fix looooong-standing bug that choked tracker connections 2007-07-21 17:35:47 +00:00
Charles Kerr bbac082af5 finish splitting the rate control from one state into two states as requested by BMW 2007-07-20 08:33:59 +00:00
Charles Kerr 3e3bf8b4a7 more work on speed control 2007-07-20 06:08:34 +00:00
Charles Kerr 4ef1592e6b more work on the speed limits as hammered out w/BentMyWookie 2007-07-20 03:24:04 +00:00
Charles Kerr 459b8958cb simplify xml.c and utils.c's dependencies 2007-07-19 11:54:37 +00:00
Charles Kerr c24fc6e16a de-inline some big functions. 2007-07-19 10:56:14 +00:00
Charles Kerr 05d88f2c48 remove the TR_HTONL macro 2007-07-19 10:49:44 +00:00
Charles Kerr 6d21f2fb16 remove TR_NTOHL macro 2007-07-19 10:37:30 +00:00
Charles Kerr 615afaa445 add extra state change checks 2007-07-19 03:48:27 +00:00
Charles Kerr 73cfb2605d include version.h.in, not version.h, in "make dist" 2007-07-18 23:05:38 +00:00
Charles Kerr 2a9ab2a7d9 add version.h.in 2007-07-18 23:04:50 +00:00
Charles Kerr bd3ce76fa5 part one of moving the build environment over to automake/autoconf. beware! 2007-07-18 23:04:26 +00:00
Charles Kerr b73297e799 sync with r2397 2007-07-18 22:59:29 +00:00
Charles Kerr 3c60fb0ded remove unused variable 2007-07-18 22:11:47 +00:00
Josh Elsasser 99e471f05d Replace nice readable bitshifts with ugly hex constants
to avoid the compiler warning about our weird error codes.
2007-07-18 18:09:03 +00:00
Josh Elsasser 900aff7beb Include trcompat.h for asprintf()
Don't mix function and non function pointers without casting.
Replace a couple bzero()s with memset()s.
Remove a stray ;
Include a missing header.
2007-07-18 17:25:42 +00:00
Josh Elsasser adc0d4ac92 Add asprintf implementation for systems which lack it. 2007-07-18 17:19:14 +00:00
Charles Kerr dbe96a9e82 fold per-torrent ul/dl speed cap settings into libtransmission. synchronize gtk+ client with this change. breaks os x client. 2007-07-18 05:27:45 +00:00
Charles Kerr 04af3493d5 maybe fix ticket #256. or maybe not. I'd need the osx client to tell, so BentMyWookie gets to test my code as usual. 2007-07-18 03:30:57 +00:00
Mitchell Livingston 53d15b5483 images for priorities, courtesy of BigBossman 2007-07-18 00:59:08 +00:00
Charles Kerr d182f5b4b6 test fix tr_getDone() for BentMyWookie 2007-07-17 00:31:38 +00:00
Charles Kerr 9c7a913cdc r2377 cleanup 2007-07-16 23:52:05 +00:00
Mitchell Livingston 091a56d4ca identify dev builds of transmission correctly in the peers list 2007-07-16 21:57:22 +00:00
Charles Kerr 2f173fd4d4 fix overlap bug in file-selection where files adjacent to a "do not download" file could end up missing a few bytes. 2007-07-16 19:57:34 +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
Josh Elsasser 1ee1b38c60 Add getright peer id. 2007-07-16 05:53:10 +00:00
Charles Kerr 82fbfb4c47 disambiguate some of the tr_stat_t variables' names 2007-07-16 00:50:43 +00:00
Charles Kerr a814d843ad get UPNP working again. huge thanks to BigBossman and persept for doggedly tracking down this bug. 2007-07-15 22:18:49 +00:00
Charles Kerr 7229f6c56b remove more functions made obsolete by tr_torrentFile(). 2007-07-15 20:29:57 +00:00
Charles Kerr 59459feb26 replace tr_torrentGetFileStatus() with tr_torrentFiles() for BMW 2007-07-15 20:05:32 +00:00
Charles Kerr 321b01d430 make tr_torrentStat() const.
malloc, rather than calloc, the buffer in strndup.
2007-07-15 19:12:54 +00:00
Charles Kerr 4a0c4b6fbc make tr_torrentGetFileStatus() more accurate 2007-07-15 18:47:43 +00:00
Charles Kerr ad6ae58e06 fix the bugs outlined by cluthi81 in ticket #255. 2007-07-15 17:36:56 +00:00
Charles Kerr 73ca83a455 split tr_stat_t's peersTotal into peersTotal and peersConnected 2007-07-15 17:19:07 +00:00
Mitchell Livingston 975e066919 whoops 2007-07-15 15:45:08 +00:00
Mitchell Livingston 1facf22f58 move towards fixing activity display bug 2007-07-15 15:43:31 +00:00
Charles Kerr a572902dae make tr_stat_t and tr_peer_stat_t more accurately reflect ul/dl rates 2007-07-15 05:18:18 +00:00
Josh Elsasser 9120508167 According to azureus, bitspirit v0 is really v1. 2007-07-15 05:13:35 +00:00
Josh Elsasser 1e3248e54a Add bitspirit to clients list. 2007-07-15 05:02:30 +00:00
Charles Kerr 8bf8cb4c47 if a torrent's status changes due to a manual recheck while a torrent is stopped, update the torrent's seeding/downloading state appropriately. 2007-07-15 04:19:39 +00:00
Charles Kerr 1c7c8072b4 fix crash on zero-byte torrents 2007-07-15 03:52:51 +00:00
Charles Kerr 4311b160b5 add tr_torrentGetFileStatus() for BentMyWookie 2007-07-15 03:26:22 +00:00
Josh Elsasser 1ecbe8da65 Change a couple functions to take an in_addr pointer instead of an in_addr.
Forward declare struct in_addr and include the relevant headers in the .c files where it's used.
2007-07-14 16:29:21 +00:00
Josh Elsasser 1b5cde1edb Don't silently ignore IPC messages which aren't in the table (oops). 2007-07-14 05:29:18 +00:00
Josh Elsasser c0970d0431 Unbreak the build on my system. 2007-07-14 05:28:35 +00:00
Charles Kerr 261ac20427 tr_bitfieldIsEmtpy(): fix a howler of a bug that caused some files to not be rechecked on startup even if they should've been. 2007-07-14 04:26:30 +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 e6e6d574db second draft of a fix for the tracker communication bug reported by TMT 2007-07-13 01:34:14 +00:00
Charles Kerr b667ad3037 ... and do the same for tr_torrentGetFileDL() 2007-07-13 01:17:21 +00:00
Charles Kerr a3eb718162 revise tr_torrentSetFilePriorities() for BMW 2007-07-13 00:27:47 +00:00
Charles Kerr 6f09fbe18d add #include files for stat() 2007-07-13 00:15:45 +00:00
Charles Kerr 5e4a49be16 first draft of a fix for the tracker communication bug reported by TMT 2007-07-12 20:48:13 +00:00
Charles Kerr 9f16191b0e remove unused macros. constify some tracker functions. 2007-07-12 18:54:39 +00:00
Charles Kerr 790476ac23 clean up #includes a bit. 2007-07-12 17:51:45 +00:00
Charles Kerr 5455df4373 update versioning scheme as per consensus between TMT, John_Clay, Gimp_, and charles_ 2007-07-10 19:40:21 +00:00
Charles Kerr f86cf5449d fix rate control bug reported by John_Clay 2007-07-10 17:07:18 +00:00
Eric Petit 2c141f9609 Adds BeOS tr_condBroadcast implementation 2007-07-10 14:00:20 +00:00
Eric Petit 26b837ffc0 Adds basename/dirname implementation for platforms that lack it (BeOS...) 2007-07-10 11:30:11 +00:00
Charles Kerr 043ba9e1bf more fastresume fixin' 2007-07-10 03:49:10 +00:00
Charles Kerr e45df69b9a oops, that debugging statement shouldn't've been checked in 2007-07-10 03:45:58 +00:00
Charles Kerr adb3d2399b fix dnd-setting bug created while splitting DND and priorities into two separate entities 2007-07-10 03:41:16 +00:00
Charles Kerr 0c39aa6565 minor cleanups of last checkin 2007-07-10 03:23:07 +00:00
Charles Kerr ed226a32ac splitting dnd and priorities apart, and moving the file storage for those fields into fastresume 2007-07-10 03:12:46 +00:00
Charles Kerr 8d37a2601e remove unused functions tr_ioRemoveResume() and fastResumeRemove() 2007-07-10 00:33:48 +00:00
Charles Kerr 9c73ecbf63 more assertion tests to tr_peerGotBlockFromUs() and tr_peerSentBlockToUs() to smoke out any remaining spurious ul/dl bytecounts 2007-07-09 23:27:57 +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 caf68deb8f don't calculate swift largesse for torrents we're seeding. 2007-07-09 20:26:16 +00:00
Charles Kerr b79beeff66 clean up #includes a bit. 2007-07-09 20:10:42 +00:00
Charles Kerr 34b4d0b7f9 fix r2306 double-free crash reported by Gimp_, webaake 2007-07-09 16:30:20 +00:00
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