Commit Graph

3988 Commits

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