Commit Graph

4065 Commits

Author SHA1 Message Date
Mitchell Livingston 413f3dc532 #5111 Add Zona to client list 2012-10-31 21:22:23 +00:00
Mitchell Livingston ff83b4ee56 #5104 Unknown client -MG21r0- 2012-10-25 03:22:41 +00:00
Jordan Lee a981f4b6a6 (trunk, libT) #5097 'Rare buffer overflow (piece index too big)' -- fixed. 2012-10-20 15:57:56 +00:00
Jordan Lee e5304a8aaa make tr_mkdir() private. 2012-10-16 03:13:05 +00:00
Jordan Lee bb49ab9a01 in torrent-magnet.c and utils.h, use tr_torrentName() instead of tor->info.name 2012-10-16 02:48:26 +00:00
Jordan Lee 8fb80f5132 (trunk, libT) #4638 "Transmission sends an initial 'stopped' event when adding a torrent via RPC" -- fixed. 2012-10-15 03:11:16 +00:00
Jordan Lee 1dafe0beef more unit test cleanup 2012-10-14 23:38:52 +00:00
Jordan Lee 17beba3502 retrofit some of the tests to use the more expressive test API 2012-10-14 18:56:37 +00:00
Jordan Lee 031e313aa2 (trunk, libT) #5081 'Transmission discards webseed URLs that have trailing whitespace' -- fixed. Unit test passes and valgrind says 'All heap blocks were freed -- no leaks are possible' 2012-10-14 18:10:17 +00:00
Jordan Lee 0630583637 (trunk, libT) #5081 'Transmission discards webseed URLs that have trailing whitespace' -- add unit test (currently failing) for this bug. 2012-10-14 18:02:47 +00:00
Jordan Lee e89fcc9bf6 previous commit uncovered an unused shadow variable in test-peer-id.c 2012-10-14 18:00:29 +00:00
Jordan Lee a683ad49a8 steal some ideas about unit test error logging from Google Test 2012-10-14 17:59:24 +00:00
Jordan Lee e1e254d8c2 fix NULL-pointer-dereference regression introduced in r13546 for #5069. 2012-10-13 17:32:23 +00:00
Jordan Lee 718da0688f (trunk libT) fix webseed-in-magnet-link regression introduced in r13547 (2.71+). This issue was tracked down by by x190 in ticket #5081 2012-10-13 15:36:49 +00:00
Jordan Lee ebd4b5e386 (trunk, libT) #5063 'remaining time unknown with magnets that have webseeds' -- fixed. 2012-10-05 22:04:08 +00:00
Jordan Lee 1aa4286fbc (trunk, libT) #5069 'webseed magnet support is broken' reported & patch by cfpp2p 2012-10-05 16:44:36 +00:00
Jordan Lee cc51b1586c (trunk libT) #5075 'magnet.c:163 should use MAX_WEBSEEDS, not MAX_TRACKERS' ... fixed. Thanks to cfpp2p for catching this. 2012-10-05 16:10:12 +00:00
Jordan Lee b437b28228 (trunk, libT) #5049: fix bug that caused some incoming encrypted peer connections to fail 2012-09-25 02:07:03 +00:00
Jordan Lee 624c8ff1cc (trunk, libt) #4932 'crash on magnet links' -- fixed. 2012-09-19 05:11:19 +00:00
Mitchell Livingston 8e5a62ed40 add a missing @ to a comment 2012-09-18 03:46:01 +00:00
Mitchell Livingston 40e75b20ed return a value (and rename) testTurtleTime instead of passing in a flag to set 2012-09-18 03:44:59 +00:00
Mitchell Livingston ddabdcb1c7 remove a comment referring to a non-existant param 2012-09-18 01:13:31 +00:00
Mitchell Livingston e46309a0fa #4201 Automatic limit can't be stopped 2012-09-18 00:58:10 +00:00
Jordan Lee 357b160cde remove trailing spaces 2012-09-07 04:25:04 +00:00
Mitchell Livingston 723d681b63 Whoops! Revert new changes committed in r13469 2012-09-06 03:23:50 +00:00
Mitchell Livingston 9e7e64fe04 Revert r13468 for now. 2012-09-06 03:21:03 +00:00
Mitchell Livingston 3961a7e4f4 #4321 uTP implementation is very slow. 2012-09-05 11:39:57 +00:00
Jordan Lee 74c56f27b0 (trunk, libtransmission) #4934 "Create a test harness and use it for current tests" -- patch by gvdl 2012-08-18 16:07:05 +00:00
Jordan Lee 4963b65c1f (trunk utils) #4979 "add manget link generator to transmission-show" -- done. 2012-07-23 15:28:27 +00:00
Jordan Lee 9b98c0fc2e (trunk libT) #4969 "jsonrpc response to torrent-get emits malformed json" -- fixed. 2012-07-14 19:34:38 +00:00
Jordan Lee 5c34257ee0 (trunk libT) #4943 "tr_sessionClearStats() does not set the stats' dirty flag to true s.t. stats.json gets saved" 2012-07-01 04:00:27 +00:00
Jordan Lee f55ab8dddb (trunk libT) move torrent.c's private function fileExists() to the utility function tr_fileExists() so that it can also be used by stats.c 2012-07-01 03:05:36 +00:00
Jordan Lee 3398a48e57 (trunk libT) #4402 "Transmission Bandwidth allocation getting overflows" -- use gvdl's patch '4402-uint-bpsoverflow.patch' 2012-07-01 02:17:35 +00:00
Jordan Lee 99b615b3b8 (trunk libT) #4931 "Wrong peer percentages for magnetized transfers" -- fixed.
tr_peerUpdateProgress() is guessing at the progress size, but when we don't have the data size yet that guess isn't very good. Add boundary
 clamps on the peer.progress field.
2012-07-01 02:00:02 +00:00
Jordan Lee df80c1ce03 Fix the size for the peers and peersFrom dictionaries.
By setting the initial allocation size correctly, we can avoid unnecessary resizing when adding all the dictionary's fields.
2012-07-01 01:42:58 +00:00
Jordan Lee d717248e75 (trunk libT) fix the Linux build wrt compiling with the new snapshot of libutp checked into r13317
Previously we made sure to include stdbool.h (via transmission.h) before utp.h, since the latter used 'bool' without defining it. The new snapshot defines it unconditionally in non-C++ code, so now we need to include it first.
2012-05-30 17:47:29 +00:00
Jordan Lee f226d8a03f (trunk libT) #4914 if a tracker has no scrape URL but the announce response contains any scrape fields, that's as close to a scrape as we're going to get, so use those fields. 2012-05-22 20:21:00 +00:00
Jordan Lee 1e07439cd0 (trunk libT) #4908 "Handle UDP scrapes when they don't follow the /announce idiom" -- fixed. 2012-05-20 14:47:18 +00:00
Jordan Lee e9e76fa970 (trunk libT) #4888: when scraping magnet links, don't send a left=0 argument to the tracker. 2012-05-20 14:14:59 +00:00
Jordan Lee 512cc1af73 silence an unused-variable compiler warning introduced in the previous commit 2012-05-17 22:22:30 +00:00
Jordan Lee 6948852013 (trunk libT) #4894 -- don't use evbuffer_add_printf() and evbuffer_pullup() together. 2012-05-17 17:40:31 +00:00
Jordan Lee 00919e932d silence a compiler warning of implicitly casting the 3rd arg of initnatpmp() from a void* to an int 2012-04-07 00:12:57 +00:00
Mitchell Livingston bbf274109a #4825 update libnatpmp to libnatpmp-20110808 2012-03-21 02:51:26 +00:00
Jordan Lee a025510834 (trunk libT) #4810 "add environment variable option to have libcurl verify SSL certs" -- patch by infinity0 2012-03-04 13:21:42 +00:00
Jordan Lee ecfab318ed (trunk libT) fix potential NULL pointer dereference in rpc-server.c's crude mime multipart parser 2012-02-15 01:44:21 +00:00
Jordan Lee 43f7dc4c17 (trunk libT) fix minor memory leak of the 'dir' string when deleting local data. (Thanks, valgrind!) 2012-02-04 03:09:31 +00:00
Jordan Lee 6d4858d8dd (trunk) #4732 "allow switching between internal and system libnatpmp" -- fixed with patch scarabeus and applied by me, so any patch breakage is probably mine... ;) 2012-02-04 01:28:15 +00:00
Jordan Lee c56b12690c (trunk libT) #4687 "magnet links behave oddly" -- fixed. Thanks to cfpp2p for some very nice sleuthing on this one. 2012-02-04 00:34:39 +00:00
Jordan Lee b2d65db45f (trunk) remove trailing spaces from code lines ;) 2012-02-03 16:44:07 +00:00
Mitchell Livingston 3eb8b12fa8 #4704 req->left = tr_cpLeftUntilComplete( &tor->completion ) should end with a semicolon 2012-01-11 22:31:02 +00:00
Jordan Lee 57d273cd61 (trunk libT) #4700 "compilation fails on FreeBSD because it can't find alloca.h" -- fixed. 2012-01-10 19:18:18 +00:00
Jordan Lee cac5c360f2 (trunk libT) #4690 "getPeerCandidates() uses more CPU than necessary" -- fixed.
Once we've scored all n candidates, we sort them by score so that we can pick out the k best candidates. If n is large, sorting them can be expensive. If we use the Selection Algorithm, we select in O(n) without having to sort.
2011-12-31 21:28:53 +00:00
Jordan Lee a8468a7b09 (trunk libT) #4684 "tr_cpSizeWhenDone() is slow for huge torrents that we're only partially downloading" -- fixed.
There are actually two different implementations of the byte-counting in that function: a slower implementation was added prior to 2.40 in r12918 to double-check the standard implementation. This checking was added to help smoke out a bug that was fixed in r12920, but I forgot to remove that slower implementation.
2011-12-22 19:35:13 +00:00
Jordan Lee 9576dd16e2 (trunk libT) #4666 "webseed downloading never gets downloaded" -- fixed.
The webseed in question is downloading from an ubuntuone.com url. We ask for piece-sized ranges in a couple of different concurrent connections, and curl hints to the server that it's okay to gzip the response, or deflate it, or leave it raw. It looks like there's a bug in the server or in libcurl (or, somehow, Transmission) that's not compressing or decompressing these responses correctly -- we never get the right number of bytes in the response from libcurl. If we ask for the contents uncompressed, the download progresses towards completion.

As an aside, when testing this I noticed that deluge is a lot faster than Transmission on this torrent. In order for Transmission to reach parity here, webseed.c needs to know when it's appropriate to have more than 4 concurrent tasks and/or be able to request ranges > the torrent's piece size.
2011-12-14 05:58:23 +00:00
Jordan Lee f9cc51f0d3 (trunk libT) fix a minor memory leak in the bencode regression tests.
Found by llvm's static analyzer. This is a minor issue since the leak is in an automated test rather than in shipping code, but it's still better to fix it.
2011-12-14 05:44:15 +00:00
Jordan Lee 0d13057111 (trunk libT) fix warnings in fileset_get_empty_slot() found by llvm's static-build analyzer.
static-build found a potential NULL pointer dereference. The circumstances where this could get triggered don't seem very likely, but doesn't hurt to fix the warning.
2011-12-14 05:42:15 +00:00
Jordan Lee 206b1a9a5f (trunk web) fix warnings in tr_urlIsValidTracker() and tr_urlIsValid() found by llvm's scan-build.
scan-build found similar warnings in these two functions relating to allowing NULL pointers to be passed as arguments to functions that don't allow NULL. So now those NULL checks are made explicit before the function calls.
2011-12-14 05:40:21 +00:00
Jordan Lee 1cfeb4debb (trunk libT) #4644 "Transmission can't download big files from webseed." -- fix overflow error with a patch based on one from and_cesbo. (Modified by Jordan to add random bugs.) 2011-12-10 18:42:52 +00:00
Mitchell Livingston 0a9b47da50 whoops typo 2011-11-22 03:30:37 +00:00
Mitchell Livingston caa1c8fb8f #4643 Support µTorrent's long-version-number peer id 2011-11-22 03:02:18 +00:00
Jordan Lee 42997e4102 don't use the word 'template' as a variable name, since it's a reserved word in C++ 2011-11-12 00:16:04 +00:00
Jordan Lee b3d382874a (trunk libT) #4625 "Transmission 2.42 fails to build on Solaris 10: Undefined symbol 'mkdtemp'" -- fixed. 2011-11-10 03:31:43 +00:00
Jordan Lee 4f1db26672 (trunk libT) bandwidth.c: minor phaseOne() improvements suggested by livings 2011-10-25 21:54:51 +00:00
Jordan Lee 82595e8ad8 (trunk libT) #4592 "Algorithm bug in bandwidth allocation" -- apply patch from Algorithmus 2011-10-25 16:56:19 +00:00
Jordan Lee ae972b50c4 utils.h's public function tr_realpath() function relies on the private constant TR_MAX_PATH. Make TR_MAX_PATH public. 2011-10-25 15:57:10 +00:00
Jordan Lee 4d74095591 (trunk libT) #4571 "can't edit UDP trackers via RPC" -- fixed. 2011-10-17 12:44:17 +00:00
Jordan Lee ed56cd1193 (trunk libT) #4526 "do not skip scrape unless all three scrape fields came with announce" -- add field initializers. 2011-10-14 00:27:14 +00:00
Jordan Lee 9c6e686882 (trunk libT) #4556 "Transmission 2.40 fails to connect with UDP trackers on big endian systems" -- fixed. 2011-10-14 00:02:36 +00:00
Jordan Lee 576ded51d0 (trunk libT) #4323 "allow usage of system miniupnpc" -- possibly fix OS X regression caused by r12957 2011-10-09 14:51:13 +00:00
Jordan Lee 01f68ca846 (trunk libT) #4323 "Allow usage of system miniupnpc" -- fixed. 2011-10-09 02:05:52 +00:00
Jordan Lee c9421c4041 (trunk libT) #4530 "lastAnnounceResult is not properly set" -- fixed. 2011-10-09 00:21:36 +00:00
Jordan Lee bc4e3f137c (trunk libT) #4526 "do not skip scrape unless all three scrape fields came with announce" -- fixed. 2011-10-09 00:18:18 +00:00
Jordan Lee 2786136015 (trunk) #4490 "Transmission 2.40b1 fails to build: undefined references" -- fixed. 2011-10-08 23:53:27 +00:00
Mitchell Livingston 0808bdd2fe We now require Mac OS X 10.6 or later. Make that change and all the nice little adjustments that go with it. 2011-10-06 00:30:40 +00:00
Jordan Lee 0337806b03 #4506 'crash from memory corruption somewhere called from tr_handshakeDone()' -- possible fix. 2011-09-28 16:07:35 +00:00
Jordan Lee 1aefd9f1de munge tr_torrent's memory immediately before freeing it. 2011-09-28 16:06:19 +00:00
Mitchell Livingston eb46c13d74 #4524 Redirects with https are broken 2011-09-27 22:34:52 +00:00
Jordan Lee 16de40c78d remove redundant assertion 2011-09-27 02:44:07 +00:00
Jordan Lee 18b90f60bc (trunk libt) in tr_bitfieldSetRaw(), add a `bounded' argument for cases where we know how large the final bitfield will be. This can be used ensure that the excess bits at the end of the array are zeroed out and safe for bitfield.c's countArray() function. 2011-09-26 22:50:42 +00:00
Jordan Lee bf6c2a0df7 peer.have was being initialized to the block count, rather than the piece count, resulting in wasted overhead. 2011-09-26 22:48:50 +00:00
Jordan Lee 0c4fe00658 (trunk libT) #4511 "fromLpd in rpc" -- add to torrent-get's "peersFrom" response. 2011-09-26 20:49:26 +00:00
Jordan Lee 4857e8ebb1 (trunk libT) add several more tr_completion assertions to smoke out the (sizeWhenDone() < sizeNow()) error reported in the forums 2011-09-26 06:18:48 +00:00
Jordan Lee 0fde2ddc8e in freeTorrent(), don't destruct the torrent's completion field until after calling tr_announceRemoveTorrent() 2011-09-26 05:57:03 +00:00
Jordan Lee 5332d234bb (trunk libT) #4504 "crash when adding malformed magnet link" -- fixed. 2011-09-25 21:51:50 +00:00
Jordan Lee 4522a3c055 (trunk libT) #4507 "scrape min_request_interval no longer working" -- fixed. 2011-09-25 21:48:34 +00:00
Jordan Lee 246d6a72a3 (trunk libT) #4502 "allow verbose scrape" -- patch by reardon. 2011-09-24 05:54:47 +00:00
Jordan Lee daa795fb6a #4496 'freeze when having a huge torrent' -- more tweaks based on Shark reports from MechMK1 2011-09-21 23:04:39 +00:00
Jordan Lee 6f05024dab #4496 'freeze when having a huge torrent' -- remove redundant debug calls to countArray(). This is a second iteration of optimizations based on MechMK1's Shark report. 2011-09-21 20:17:36 +00:00
Jordan Lee 3a3cef615c #4344 'zero peers observed with 2.32' -- experimental change suggested by gunzip 2011-09-21 00:20:02 +00:00
Jordan Lee 0560b14cfe #4496 'freeze when having a huge torrent' -- add a bitfield helper function to init the bitfield from an array of flags. 2011-09-20 23:39:40 +00:00
Jordan Lee 46154e7309 (trunk libT) add a magnet link check to deleteLocalData(). Thanks to plaes for reporting this issue. 2011-09-16 23:08:35 +00:00
Jordan Lee e2240e0831 (trunk libT) #4473 'underflow from malformed ssha1 can crash tr_ssha1_matches()' -- bah, fix oops in r12884. 2011-09-16 22:55:58 +00:00
Jordan Lee bb59768557 (trunk libT) #4473 "underflow from malformed ssha1 can crash tr_ssha1_matches()" -- fixed. Thanks to Volfram for finding this crash and tracking down the cause. 2011-09-16 22:53:26 +00:00
Jordan Lee 6add3fb940 (trunk web) small refactoring of webseed's batch processing.
1. move the callback structs' declarations next to the callback functions where they're used.
2. rename the callback structs to clarify their link to the callback functions.
3. constify some of the callback functions' local variables.
4. clarify some of the comments.
2011-09-12 21:46:15 +00:00
Jordan Lee 3a39486cf1 tr_free() already checks for null, so no need for the caller to wrap it in an 'if not null' test 2011-09-12 20:41:28 +00:00
Jordan Lee 10734ab7bc remove two redundant variables from tr_webseed_task 2011-09-12 20:40:09 +00:00
Jordan Lee fd6e7a7fbd (trunk libT) #4445 "transmission only downloads partially from webseeds with redirections" -- fixed with patch from alexat. 2011-09-12 05:39:27 +00:00
Jordan Lee cfa4077e5e (trunk libT) #4437 "Multi file webseeds don't work" -- handle multifile torrents with web seed urls that incorrectly don't end with a slash. 2011-09-06 16:45:48 +00:00
Jordan Lee b3db349c83 (trunk libt) #4437 'multi file webseeds do not work' -- revert r12740, which was a bad patch. 2011-09-06 16:10:27 +00:00
Mitchell Livingston 516164e78e add an RPC session callback for when queue order changes 2011-08-27 23:54:10 +00:00