Commit Graph

199 Commits

Author SHA1 Message Date
Jordan Lee 580c00c4be always clean up the paused_easy_handles list. 2013-07-24 00:00:03 +00:00
Jordan Lee d81f956daa (trunk, libT) #5356 'only set CURLOPT_COOKIEFILE if cookies.txt exists on startup' -- fixed. 2013-05-22 19:02:07 +00:00
Jordan Lee 68665b939d (libT) prevent possible oscillation in paused_easy_handles reported by vipjml in bug #1079 comment:27 2013-04-28 00:06:22 +00:00
Jordan Lee ff4267bf00 (trunk libT) #1079 'webseeds don't respect speed limits': fixed. 2013-04-13 20:56:24 +00:00
Jordan Lee 96786b7fa1 (trunk) update web.h's API s.t. there's an explicit function to use when downloading webseed content. 2013-04-13 20:25:28 +00:00
Jordan Lee b24a550459 (libT) fix memory leak regression in the nightlies reported by x190 2013-02-17 23:00:11 +00:00
Jordan Lee fcdec9a8bc (libT) don't start the web thread until we have a task to feed to curl 2013-02-15 01:52:47 +00:00
Jordan Lee 0be5e8deef (libT) #5291 'increase scrape buffer sizes to accomodate for multiscrape': done with patch by reardon 2013-02-10 23:21:58 +00:00
Jordan Lee f75027d5e9 make all the log functions/structs/enums use a single 'tr_log' namespace, such as tr_logGetQueue, tr_logAddInfo, tr_logIsLevelActive 2013-01-25 23:34:20 +00:00
Jordan Lee ad3407567b (libT) copyediting: modify more files to the new indentation/whitespace formatting 2013-01-24 23:59:52 +00:00
Jordan Lee 3d38723ad9 Follow more common whitespace style conventions in the C code (libtransmission, daemon, utils, cli, gtk). 2012-12-05 17:29:46 +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 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 2317f08d38 (trunk libT) #4338 "improved webseed support" -- patch by alexat 2011-07-10 15:24:51 +00:00
Jordan Lee 437ebe32c7 (trunk libT) don't use tr_list for the tr_web_task queue 2011-06-19 18:18:48 +00:00
Jordan Lee 33eb6d3f9e (trunk) #3817 remove OS proxy integration from the GTK+ client 2011-05-27 13:36:53 +00:00
Jordan Lee 3269d99287 (trunk libT) experimental fix for the unterminated announce URLs reported by blacklion in the forums 2011-05-05 20:41:09 +00:00
Jordan Lee dfcc14c3d5 (trunk libT) more heap pruning: build the "cookie_filename" field once when creating the web thread, instead of each time a new tr_web_task is added. 2011-04-27 17:02:18 +00:00
Jordan Lee 01461d0b4a (trunk gtk) more heap pruning:
querying gconf2 each time the curl callack function is called is expensive, so query it once -- then again later, if the proxy settings change -- and remember the values in a local struct.
2011-04-13 06:18:30 +00:00
Jordan Lee 1b825079be (trunk libT) API cleanup of the tr_address functions to make them more consistent.
This is loosely related to #2910, but only in the sense of laying the groundwork for #2910's fix...
2011-03-25 05:34:26 +00:00
Jordan Lee b4d36aeb54 (trunk) #4138 "use stdbool.h instead of tr_bool" -- done. 2011-03-22 15:19:54 +00:00
Jordan Lee f4b4ddd231 (trunk libT) better shutdown management of libutp and UDP trackers in tr_sessionClose().
This is a little overlapping since the utp code can be closed more-or-less immediately, but the udp manager needs to stay open in order to process the udp tracker connection requests before sending out event=stopped. Moreover DNS resolver can be shut down after the UDP tracker is shutdown.
2011-03-17 18:51:31 +00:00
Jordan Lee 374ed10f3b (trunk) it's bad form to #include so many system headers in libtransmission/utils.h... 2011-03-16 18:04:23 +00:00
Jordan Lee fee784f1d8 (trunk) #4081 "Add 'cookieString' argument 'torrent-add' method in RPC" -- done. 2011-03-15 04:22:47 +00:00
Jordan Lee b46d3a2713 (trunk libT) #117 "UDP tracker protocol support (BEP #15)" -- refactor announcer.c so that alternate tracker protocols can be supported.
This commit adds a set of package-visible structs and functions to allow delegating announces and scrapes to different protocol handlers. (Examples: struct tr_announce_request, struct tr_announce_response, struct tr_scrape_request, struct tr_scrape_response.) HTTP is the only protocol handler currently implemented; however, this provides a clean API for other protocol handlers, and having this in trunk will help shake out any bugs in this refactoring.

In addition, logging via the TR_DEBUG_FD environment variable is vastly improved in the announcer module now.
2011-03-11 04:19:01 +00:00
Jordan Lee 1ccdb1a797 (trunk libT) web.c: free the unprocessed tasks before exiting the libcurl thread.
This is rare but can happen during shutdown if there are unresponsive trackers. Cleaning up the tasks improves the S/N ratio in valgrind a bit.
2011-02-21 01:13:28 +00:00
Jordan Lee 716a3c90c2 (trunk) #4032 "Better error detection / reporting in http announces" -- added to trunk.
This patch adds two new flags to the callback function -- did_connect and did_timeout -- that are calculated inside of web.c using information from libcurl. This allows the announcer to detect timeouts more accurately and also to distinguish between unresponsive peers (which get the preexisting "Tracker did not respond" error message) and unconnectable peers (which get a new error message, "Could not connect to tracker").
2011-02-17 02:26:24 +00:00
Jordan Lee 879a2afcbd Update the copyright year in the source code comments.
The Berne Convention says that the copyright year is moot, so instead of adding another year to each file as in previous years, I've removed the year altogether from the source code comments in libtransmission, gtk, qt, utils, daemon, and cli.

Juliusz's copyright notice in tr-dht and Johannes' copyright notice in tr-lpd have been left alone; it didn't seem appropriate to modify them.
2011-01-19 13:48:47 +00:00
Jordan Lee e12788c626 (trunk libT) fix formatting error in a couple of old calls to dbgmsg() 2011-01-12 05:05:48 +00:00
Jordan Lee 6dc03f471e (trunk libT) #3519 "webseeds don't work" -- fixed. 2011-01-06 01:00:21 +00:00
Charles Kerr a17962d5fc (trunk libT) #3528 "TR_PREFS_KEY_BIND_ADDRESS_IPV4 breaks IPv6-only trackers" -- Implement suggestion #2 from Harry 2010-12-30 19:15:47 +00:00
Charles Kerr e5bb3205a1 (trunk) Join the 21st century and use only 1 space at the end sentences. This commit is nearly as important as the semi-annual ones that remove trailing spaces from the ends of lines of code... :) 2010-12-27 19:18:17 +00:00
Charles Kerr 345b14adbc (trunk) #3836 "libevent2 support" -- bump libevent2 requirement to 2.0.10. This will break the Mac build for a minute intil BMW applies his Mac patch 2010-12-20 02:07:51 +00:00
Charles Kerr 0e9247b84a (trunk) #3817 "use the OS' proxy support" -- implemented for libtransmission, transmission-gtk 2010-12-10 18:51:05 +00:00
Charles Kerr 9335e02e6d (trunk libT) add some new bugs to the code so that it will crash when vraa tries to use it 2010-11-11 15:31:11 +00:00
Charles Kerr 22c622a92f (trunk) #3688 "remove proxy support" -- remove from libtransmission 2010-10-31 17:05:31 +00:00
Charles Kerr 5725b7c922 (trunk) #3663 "clang warnings in 2.11" -- fixed. 2010-10-24 05:52:38 +00:00
Charles Kerr 18498e9c41 (trunk libT) #3077 "add support for cookies files" 2010-09-09 18:28:20 +00:00
Charles Kerr 75b07909b7 (trunk libT) hm, this debugging line wasn't supposed to get checked in... 2010-08-10 11:43:29 +00:00
Charles Kerr 99bb470658 (trunk libT) when shutting down, use a shorter timeout interval for tracker announces 2010-08-07 02:17:29 +00:00
Charles Kerr 8b386a63b1 (trunk libT) #3311 "MingW build of Transmission" -- added rb07's revisions to my revisions to his diff. :P 2010-07-01 04:00:41 +00:00
Charles Kerr 954a309d8f (trunk) #3311 "MingW build of Transmission" -- apply more of rb07's diffs, though edited to lessen the inevitable #ifdefs 2010-06-30 21:24:36 +00:00
Charles Kerr 98cec85e46 (trunk libT) #3311 "MingW build of Transmission" -- apply further win32 diffs from rb07 2010-06-25 20:36:10 +00:00
Charles Kerr d43e284961 (trunk libt) #3311 "MingW build of Transmission" -- possible win32 fix for the curl thread's select() call. probably broken... :) 2010-06-25 01:31:25 +00:00
Charles Kerr 4b5044ad28 (trunk libT) #3117 "Tracker queries do not honor bind-address-ipv4" -- possible fix 2010-04-28 00:32:43 +00:00
Charles Kerr 089f9c5f11 (trunk libT) #3140 "Transmission doesn't build with Curl 7.15.5" -- fixed in trunk for 2.00 2010-04-15 15:32:36 +00:00
Charles Kerr ced3e2672f (trunk libT) poke at the newfound 100% cpu bug 2010-03-06 20:15:23 +00:00
Charles Kerr ee4a29d200 (trunk libT) #2987 minor correction to r10303 -- silence a compiler warning and turn off some debug messages that printed to stderr. 2010-03-06 15:27:18 +00:00
Charles Kerr e8cb5367e1 (trunk libT) #2987 "push libcurl into its own worker thread" -- committed to trunk 2010-03-06 15:05:05 +00:00
Charles Kerr 446379a464 (trunk libT) #2964 "Multiple simultaneous DNS resolve operations fail on some platforms causing unnecessary delays in successful announces" -- fixed in trunk for 1.92. Thanks to gongloo for the patch. 2010-03-01 15:29:28 +00:00