Commit Graph

1045 Commits

Author SHA1 Message Date
Charles Kerr 8516860fec fix a bug in tr_stat's availability numbers, reported by BentMyWookie 2007-11-11 16:33:04 +00:00
Charles Kerr d89d6faad4 don't require clients to call tr_torrentClearStatusCallback() before tr_torrentClose(). 2007-11-11 03:14:01 +00:00
Charles Kerr adeee3d886 silence some Fast Peer console messages 2007-11-10 22:29:55 +00:00
Charles Kerr 0aee22aaff have tr_close() call tr_torrentClose() on all running torrents 2007-11-10 22:29:28 +00:00
Charles Kerr c32f893038 commit tiennou's fast-peers-final patch from ticket 149 2007-11-10 16:06:00 +00:00
Charles Kerr 4cb16901b8 fix tracker wart reported by tiennou 2007-11-10 16:00:59 +00:00
Charles Kerr 76626796f3 make the hard drive less noisy than it was in 0.92 2007-11-10 05:09:40 +00:00
Charles Kerr e7e479d758 fix r3777 compiler warning reported by SoftwareElves 2007-11-10 05:01:13 +00:00
Charles Kerr ca03b62a58 * fix a bug that could corrupt peer connections, causing slower speeds and/or fewer connections
* add more assertions to smoke out any remaining BT protocol bugs
2007-11-10 04:56:27 +00:00
Charles Kerr fd430fde90 undoing the r3773-r3774 experiment. 2007-11-09 20:07:52 +00:00
Charles Kerr fda79c7eef oops, wrong #include for NSCParameterAssert in r3773. 2007-11-09 19:51:48 +00:00
Charles Kerr 67b719c2de on Darwin, use NSCParameterAssert() instead of assert(). 2007-11-09 19:50:40 +00:00
Charles Kerr 4792788d24 move the gateway discovery from init() to start() so that tr_init() doesn't block. 2007-11-09 16:10:48 +00:00
Charles Kerr e168cf3f69 don't let incoming peer connections sneak past MAX_CONNECTED_PEERS_PER_TORRENT. 2007-11-09 15:19:12 +00:00
Mitchell Livingston b382628933 have libtransmission be in charge of checking if nat traversal is disabled when quitting 2007-11-09 15:06:32 +00:00
Charles Kerr 5da8a977c6 * add O_LARGEFILE support to fdlimit for the benefit of 32-bit posix machines
* minor tweaks
2007-11-09 04:32:19 +00:00
Charles Kerr 42e70ad53e fix John_Clay's assertion bugreport 2007-11-09 01:25:34 +00:00
Charles Kerr 99ea26c1c9 * try to get peers to scale up to speed faster.
* remove unnecessary steps when receiving block data from peers.
2007-11-09 01:22:15 +00:00
Charles Kerr 39f9f14751 minor tweaks. 2007-11-08 21:25:17 +00:00
Charles Kerr 125bd34bbb added `plaintext preferred' encryption option. 2007-11-08 21:20:08 +00:00
Charles Kerr 0d819bd67e more work on the "router death" issue. 2007-11-08 19:43:48 +00:00
Charles Kerr bc3eff899f * some work on lessening the way we hammer the router.
* move strlcpy and strlcat out of their own files and into utils.c
2007-11-08 04:11:09 +00:00
Charles Kerr 71f4efcbad update our #includes now that libevent has cleaned up event.h 2007-11-07 18:26:19 +00:00
Charles Kerr b43bb1483d fix libevent #include quirk reported by SoftwareElves 2007-11-07 03:13:04 +00:00
Charles Kerr 906c5d6f1f dead code removal: azId 2007-11-07 01:27:32 +00:00
Charles Kerr dc6a7b9485 fix crash reported by hussam in #transmission 2007-11-07 00:42:19 +00:00
Charles Kerr 229102a196 more libevent fun. good thing the mac build is broken or I'd've been getting bug reports on this instead :) 2007-11-06 23:23:47 +00:00
Charles Kerr 476de56e45 the libevent header file comments LIED about the return value of evbuffer_add_vprintf()! 2007-11-06 23:10:04 +00:00
Charles Kerr 60aab6c433 remove libtransmission code that duplicates functionality in libevent 2007-11-06 21:14:30 +00:00
Charles Kerr 9df263326d use Thomas Bernard's miniupnp library instead of rolling our own. 2007-11-06 16:02:50 +00:00
Charles Kerr 5e2b2d34c3 ensure that tr_close() exits gracefully even when the trackers aren't responding. 2007-11-05 05:42:25 +00:00
Charles Kerr 14d8abb323 maybe fix portmapping 2007-11-05 03:56:54 +00:00
Charles Kerr 0f92cb7f30 fix bug reported in the forums by "grabman" 2007-11-05 03:09:27 +00:00
Charles Kerr 7ce8312ddc fix memory error reported by John_Clay 2007-11-02 20:27:03 +00:00
Charles Kerr e3764e732b fix possible benc leak reported by MishaS (#441) 2007-11-01 18:44:37 +00:00
Charles Kerr 7cb1791f2a fix handshake memory leak reported by MishaS (#442) 2007-11-01 18:41:13 +00:00
Charles Kerr 3e0e462b10 finish cleaning up the code that was churned during the "corruption" fix. 2007-11-01 13:47:32 +00:00
Charles Kerr e625b10d6d "corruption" fix part 3: cleanup. remove unneeded possible points of failure. 2007-10-31 18:10:55 +00:00
Charles Kerr a6206b036c "corruption" fix part 2: lots of assertions, and try to complete pieces & ban bad peers sooner 2007-10-31 04:23:51 +00:00
Charles Kerr 4cde721475 fix oops 2007-10-30 20:17:49 +00:00
Charles Kerr aace9469bb fix compile warning 2007-10-30 20:11:23 +00:00
Charles Kerr 20ffdfb9d2 remove dirname() and basename() for now 2007-10-30 19:16:07 +00:00
Charles Kerr 96351b93ef part 1 of the data corruption fix: plug the leaky abstraction in fdlimit 2007-10-30 18:35:06 +00:00
Charles Kerr e0965c3a63 better openssl detection & support: use openssl's pkg-config file. 2007-10-28 19:55:03 +00:00
Charles Kerr caa4170271 #426 0.91rc1: if pex is disabled on a stopped torrent, pressing "resume" causes pex to be re-enabled. (reported by pea) 2007-10-28 19:42:47 +00:00
Charles Kerr ab8ed6507d #412 - 0.90 "ignores" speed limits (deanr, berkut, SineOtter) 2007-10-28 15:20:24 +00:00
Charles Kerr 92ac49d9c4 compatability with older C copmilers (ticket #422, patch by fizz) 2007-10-27 21:29:41 +00:00
Charles Kerr b00ee3e568 Ticket #398 (peer-msgs.c:905: failed assertion `msglen == 0' in 0.90) 2007-10-27 15:45:03 +00:00
Charles Kerr 515d04de1a Ticket #395 (ensure file exists when starting) 2007-10-27 14:17:51 +00:00
Charles Kerr 747cd0b396 (gtk) if two torrents are selected -- one running, one paused -- both "pause" and "resume" buttons should be enabled. reported by glyphobet. 2007-10-26 23:29:19 +00:00
Charles Kerr 1f607e0560 improve the "can't connect to tracker" error message. 2007-10-26 16:39:00 +00:00
Josh Elsasser 13bd23e44b Add IPC messages to set and retrieve the encryption mode.
Implement encryption mode messages in -daemon and -remote.
2007-10-26 03:43:27 +00:00
Charles Kerr 18de1db5b5 integral sign correctness in makemeta 2007-10-26 03:16:27 +00:00
Charles Kerr e6fbcaeae6 Quick & dirty fix to crasher ticket #415. 2007-10-26 03:02:23 +00:00
Charles Kerr 41e9939317 Fix issue #413 "Starting a Torrent when one is checking make it queue after it" reported by tiennou 2007-10-26 01:31:49 +00:00
Charles Kerr df50cbcabf Fix 0.90 cache bug that could cause "verify local files" to fail. 2007-10-26 01:13:43 +00:00
Josh Elsasser 906d207ff3 Fix misnumbered IPC constants. 2007-10-26 00:57:29 +00:00
Josh Elsasser d51713177a Fix openbsd build. 2007-10-26 00:36:22 +00:00
Mitchell Livingston b48967245d trunk: Ensure only a single "?" is used for appending arguments to the announce and scrape URL (fixes #411) 2007-10-25 16:52:12 +00:00
Charles Kerr 317705cffc The OpenBSD build fix caused a Darwin build error. :) Thanks to pea for reporting. 2007-10-25 14:34:20 +00:00
Charles Kerr 8c0e2434f5 fix OpenBSD build error. 2007-10-25 13:59:46 +00:00
Charles Kerr 52261d88fd Fix 0.90 socket connection leak. 2007-10-25 13:38:34 +00:00
Charles Kerr 4af3c1c82b use BUILT_SOURCES for version.h to ensure it gets built first 2007-10-24 20:18:13 +00:00
Charles Kerr 82194a2f2f don't require the user to have svn installed when building from tarball 2007-10-24 19:57:47 +00:00
Charles Kerr e38311e64e fix two separate version.h errors 2007-10-24 18:36:53 +00:00
Charles Kerr f71319b90f get "make distcheck" working again 2007-10-24 17:20:50 +00:00
Charles Kerr 7371bd29cf rewind this morning's changes. 2007-10-23 20:42:00 +00:00
Charles Kerr ed6ffe39e4 fix r3506 bug that prevented incoming peers from connecting 2007-10-23 15:53:57 +00:00
Charles Kerr 799954843e maybe fix incoming handshakes with peers that don't send their peer_id immediately 2007-10-23 14:14:37 +00:00
Charles Kerr 50c8c88c04 Update the credits 2007-10-23 14:00:17 +00:00
Charles Kerr 216ee3f52b fix a nasty error with fallback unencrypted peer connections. 2007-10-22 23:31:03 +00:00
Charles Kerr b704654275 dead code removal. 2007-10-22 23:27:47 +00:00
Charles Kerr a5946e396c tweak the logging a bit. 2007-10-22 18:52:36 +00:00
Charles Kerr e1fbd16941 fix some memory leaks reported by valgrind. 2007-10-22 14:15:16 +00:00
Charles Kerr 814a56046d fix ul/dl speed wart reported by BentMyWookie 2007-10-21 15:47:26 +00:00
Charles Kerr c50cadbcaa remove dead code (TR_STATUS_ACTIVE, TR_STATUS_INACTIVE) 2007-10-20 22:07:21 +00:00
Charles Kerr 264f7ab8b3 Dead code removal (TR_STATUS_STOPPING) 2007-10-20 21:17:37 +00:00
Charles Kerr b7258fbf33 try to better sync up the tr_stat fields, as requested by BentMyWookie 2007-10-20 21:07:11 +00:00
Charles Kerr 42d007553d Tweak the first torrent's recheck state as requested by BentMyWookie 2007-10-20 20:36:01 +00:00
Charles Kerr 8d4ff5818c Add support for the MSE Tracker Extension (suggested by barry_u and persept) 2007-10-20 20:27:37 +00:00
Charles Kerr 6527f4e12a dead code removal. 2007-10-20 15:17:36 +00:00
Charles Kerr 4acfe5e1b5 have gtk+ use the batch form of setFilePriorities(). remove saveFastResumeSoon(). 2007-10-19 23:44:01 +00:00
Charles Kerr 25fa56d294 * don't fire the "status changed" event if the status changes while a torrent's being started for the first time.
* cleaner setting of the DND flags in the gtk+ client.
* cpStatus cleanup.
2007-10-19 23:23:21 +00:00
Charles Kerr 8b5f76c10e roll back the clients changes because of the 0.90 freeze 2007-10-19 00:19:16 +00:00
Charles Kerr 58ad607c01 merge the wiki.theory.org, T, and libtorrent client lists. T knows about dozens more clients now. 2007-10-19 00:02:37 +00:00
Charles Kerr 6a3a61716b when seeding, instead of giving the the ratio as N/A, give uploaded/torrent_size (Waldorf_) 2007-10-18 20:42:39 +00:00
Charles Kerr 78b5c81253 possibly fix r3457 crash reported by chrissturm 2007-10-18 19:33:29 +00:00
Charles Kerr 212470560e fix overflow error that caused timers with intervals larger than 35 minutes to be lost... which is nastier than it sounds, since that's shorter than many tracker announce intervals. 2007-10-18 18:32:58 +00:00
Charles Kerr 6cef3fd9f9 remove fprintf that snuck in. (Reported by Gimp) 2007-10-18 03:57:19 +00:00
Charles Kerr e723a5724c added debugging messages to the tracker cleanup. better error handling for esoteric http errors. 2007-10-18 03:55:55 +00:00
Charles Kerr 9da5aaef2c huge tracker cleanup for the "no response from tracker" issue 2007-10-17 18:59:58 +00:00
Charles Kerr 2cda7060cd remove stubs for Azureus extension negotiation 2007-10-17 18:53:17 +00:00
Charles Kerr 3210f92085 const-ify tr_msg()'s input arguments 2007-10-17 18:24:53 +00:00
Charles Kerr 911ff1cdd1 remove tr_peerMsgsSetChoke()'s return value, which was always ignored anyway 2007-10-17 18:23:59 +00:00
Charles Kerr ea5390296d Follow uTorrent 1.8's behavior of allowing a manual reannounce every max(60 seconds, min_interval) where min_interval is from the tracker. 2007-10-17 01:17:30 +00:00
Charles Kerr 00a425a7d3 further tweaks to the peer connection weights after reading the overnight runlog 2007-10-16 15:05:05 +00:00
Charles Kerr fa200efd09 more tweaks 2007-10-16 03:14:07 +00:00
Charles Kerr c9359d8bde There are only 16 days left for something to replace this as October's stupidest bug. 2007-10-16 03:00:53 +00:00
Charles Kerr ec30180d76 tweak the weights that decide to reconnect to crappy peers less often. 2007-10-16 02:37:34 +00:00
Charles Kerr 0b04554772 maybe fix crash reported by Lacrocivious in http://pastebin.ca/738142 2007-10-16 02:19:40 +00:00
Charles Kerr 30418e34b8 fix crash reported by John_Clay in http://pastebin.ca/738133 2007-10-16 02:16:57 +00:00
Charles Kerr 8feeb9ee6b when deciding which peers to try to connect to, add some weights to punish peers that don't transfer piece data with us. We'll still give them another, but at longer intervals than better peers get. 2007-10-16 00:55:17 +00:00
Charles Kerr e698756c98 remove unused flags 2007-10-15 20:58:39 +00:00
Charles Kerr efe4847204 new utility (tr_loadFile), and reimplement metainfo's "readtorrent" to use it. 2007-10-15 20:15:34 +00:00
Charles Kerr c65d6a20c3 remove dead code tr_file_stat::completionStatus 2007-10-15 18:45:25 +00:00
Charles Kerr 159f1de576 remove dead code tr_stat::cpStatus 2007-10-15 18:28:49 +00:00
Charles Kerr afff6d08f2 save the tr_torrent::pexDisabled flag in fastresume 2007-10-15 16:35:18 +00:00
Charles Kerr 6eb7edf007 fix choke fibrillation bug in new connections 2007-10-15 16:01:42 +00:00
Mitchell Livingston cc2db392f5 make libtransmission's pex accessor public, and eliminate a redundant variable in Torrent.[mh] 2007-10-14 22:01:55 +00:00
Charles Kerr 57eaa27970 Fix bug that could initiate pex in private torrents. 2007-10-14 17:21:24 +00:00
Charles Kerr d96ed80aa2 (1) fix a bug in torrent creation. (2) fix a bug in torrent paths on startup in gtk 2007-10-14 03:26:13 +00:00
Charles Kerr 38d6b03a8e report a speed of 0 when no peers are connected. 2007-10-13 23:57:13 +00:00
Charles Kerr 4f33a8da42 Try sharing a DH so that we don't spend so many cpu cycles making new ones when we're working through the peers trying to find good ones. 2007-10-13 23:15:43 +00:00
Charles Kerr bd01906f0c more banging on the fastresume-destination-directory thing. this permuation makes the fastresume destination a fallback, to be used only if the client didn't pass in a directory to tr_torrentInit*() 2007-10-13 15:29:15 +00:00
Charles Kerr 4104efbfbf try to get more connected peers to agree to encrypted connections 2007-10-13 15:15:04 +00:00
Charles Kerr 004ade57f0 fix crash-on-adding-new-torrents introduced in r3387 2007-10-13 14:07:08 +00:00
Charles Kerr 3e878aeba9 tweak the debugging messages a bit. 2007-10-13 14:02:10 +00:00
Charles Kerr 9211c57ad2 merge in the parts of peerutils' peer pruning code that still make sense 2007-10-13 13:54:05 +00:00
Charles Kerr 89d511e9dd get fastresume working again (I think) 2007-10-13 04:19:38 +00:00
Charles Kerr 6179809146 break the build so svn users won't corrupt their fastresume files 2007-10-13 04:11:11 +00:00
Charles Kerr 0000a96f78 and, removing a couple of fprintfs 2007-10-13 04:00:50 +00:00
Charles Kerr 05bcd5e01c fix r3379 bug that forced us to recheck the torrents every startup 2007-10-13 03:58:54 +00:00
Charles Kerr ff36475fad Add an option for saving a torrent's destination path in its file. This can be overridden by clients with the `destination' argument in tr_torrentInit*() 2007-10-12 19:45:51 +00:00
Mitchell Livingston 64c5255c8e add Halite to clients 2007-10-12 11:17:38 +00:00
Charles Kerr 00321c4eed Fix crash-on-exit reported by Gimp_ @ http://pastebin.ca/732759 2007-10-11 14:56:50 +00:00
Charles Kerr 89564dc3c2 fix the "swarm speed" bug reported by Gimp_ 2007-10-11 04:17:28 +00:00
Charles Kerr 3b2ef1054f 8 second timeout during handshake, 2.5 minute handshake afterwards 2007-10-11 03:54:33 +00:00
Charles Kerr e11999243e add more debugging messages to track down why we're disconnecting from some peers 2007-10-11 03:36:09 +00:00
Charles Kerr 7e0faec4db more debugging messages 2007-10-11 03:12:48 +00:00
Charles Kerr ef4ec75532 Try out some of SoftwareElves' suggestions for faster startup connections 2007-10-11 02:50:05 +00:00
Charles Kerr ead1ff5b72 encryption key creation is pretty expensive -- defer creating it until we're sure we actually need it for that peer. 2007-10-11 02:22:17 +00:00
Charles Kerr 23d2f77778 (1) maybe fix the "peer->msgs != NULL" bug reported by Dhruvk and John_Clay (2) remove dead code 2007-10-11 00:09:58 +00:00
Charles Kerr cbaf1b8faa commit more of tiennou's fastpeers patch 2007-10-10 16:39:12 +00:00
Charles Kerr 76aed9200d fix a subtle bug with having two connections to the same peer. 2007-10-10 15:59:59 +00:00
Charles Kerr 696800f369 * fix bug that sent a keepalive message too often 2007-10-10 03:03:09 +00:00
Charles Kerr a9849660f6 * fix bug that incorrectly marked some incoming connections for termination
* strip unnecessary linefeeds out of some debug messages
2007-10-10 02:59:30 +00:00
Charles Kerr 2f46064e33 raise the `numwant' value 2007-10-09 18:29:10 +00:00
Charles Kerr e8d19c5b03 fix stupid bug from yesterday that made uploading difficult. 2007-10-09 05:51:20 +00:00
Charles Kerr 602ee120af fix recent tracker error reported by John_Clay that made it slower to pick up peers 2007-10-09 04:50:10 +00:00
Charles Kerr c88ef608c6 extra paranoia to safeguard against a possible tracker crash 2007-10-09 03:06:54 +00:00
Charles Kerr f96cbd3ec3 * add intltool macros to make it easier to build from svn.
* minor error logging improvement in libtransmission
2007-10-09 02:49:24 +00:00
Charles Kerr e10e44409a fix crash reported by Waldorf in http://pastebin.ca/729980 2007-10-08 19:09:20 +00:00
Charles Kerr 7ff8284976 give trackers more time before timing out the requests. make the `stopping' timeout interval smaller than other intervals so that we don't block for too long during shutdown. 2007-10-08 17:05:39 +00:00
Charles Kerr e176a25922 * fix a bug with uploading encrypted pice data to another peer
* extra sanity tests when uploading data
2007-10-08 16:10:10 +00:00
Charles Kerr 9a79d1e603 the purge flag should take priority over all the other reasons to keep or purge a peer. :p 2007-10-08 01:53:11 +00:00
Charles Kerr e1b447304b fix atom initialization issue with r3320 2007-10-08 01:37:20 +00:00
Charles Kerr 161ff6a7a2 ban peers that feed us too many bad blocks. 2007-10-08 01:31:27 +00:00
Charles Kerr 43a016cdb9 fix minor shutdown bug 2007-10-08 00:56:12 +00:00
Charles Kerr 304f9f7f18 get rid of a confusing error message that describes a harmless situation 2007-10-07 16:25:02 +00:00
Charles Kerr 1014e633ac * don't reuse http connections to trackers. I think this is what caused most of the `no response from tracker X' messages.
* extra safety checks to ensure the last `stopped' message to the tracker is sent on shutdown.
2007-10-07 16:07:19 +00:00