Mitchell Livingston
8f6e1dedf5
revert r9505, which appears to cause a crash on launch
2010-01-10 14:36:53 +00:00
Charles Kerr
5a60e4549d
(trunk libT) #2416 "crash in event_queue_insert" -- another guess, based on the idea that we might queue two actions (one to insert, one to delete) on the same event before libevent's dispatcher is invoked
2010-01-10 08:53:17 +00:00
Charles Kerr
69cb1362e3
(trunk libT) #2416 "crash in event_queue_insert" -- see if we can get the program to crash in a different way.
2010-01-09 07:27:45 +00:00
Charles Kerr
0bb355d8df
(trunk libT) #2416 "crash in event_queue_insert" -- continue throwing the kitchen sink at this ticket. (1) disable proxies to see if that makes any difference (2) rearrange the sequencing in sock_cb() to unconditionally delete the active event before doing anything else (3) use a libevent timer instead of CURLOPT_TIMEOUT to workaround curl bug http://tinyurl.com/ycm5d3e
2010-01-08 21:45:56 +00:00
Charles Kerr
5c26afdb52
happy new year!
2010-01-04 21:00:47 +00:00
Charles Kerr
339173d1b4
(trunk libT) make sure to restart curl's periodic timer
2010-01-04 20:06:39 +00:00
Charles Kerr
8ae3911477
(trunk libT) #2416 "crash in event_queue_insert" -- I am really quite sick of this bug. It's not reproducible at all under Linux and appears to be a bug in libevent's kqueue implementation. In this commit, we leak the event object on OS X.
2009-12-29 00:00:33 +00:00
Charles Kerr
6151881a03
(trunk libT) #2416 "crash in event_queue_insert" -- instead of freeing libevent's event objects, pool and reuse them. *sigh*
2009-12-28 23:29:59 +00:00
Charles Kerr
ee58472ec2
(trunk libT) fix minor bug in r9651 "Reduce SO_SNDBUF and SO_RCVBUF for tracker announce/scrape messages" -- libcurl's CURLOPT_SOCKOPTFUNCTION doesn't return void; it returns an int that is nonzero if an error occurs.
2009-12-28 23:25:50 +00:00
Charles Kerr
ac202f13bb
(trunk libT) remove dead code -- tr_assert()
2009-12-28 23:11:26 +00:00
Charles Kerr
bc86c0b364
(trunk libT) #2416 "crash in event_queue_insert" -- maybe this will finally fix it...
2009-12-26 23:57:25 +00:00
Charles Kerr
8903e1b4e3
(trunk libT) #2416 "crash in event_queue_insert" -- another experimental commit. /as an experiment/ let's just leak that event struct and see if that makes the crash go away. Obviously leaking those objects is not a long term fix but this will help point the way towards the real fix.
2009-12-24 18:50:34 +00:00
Charles Kerr
b8d7e76750
(trunk libT) #2416 "crash in event_queue_insert" -- possible fix. it looks like the kqueue client is accessing the event after the callback and after event_del() is being called. *If* that's the case I don't know if it's a libevent bug or if libtransmission is making assumptions it shouldn't've... but it's easy enough to keep the memory in a pool and free it later when it's safer to do so.
2009-12-23 16:12:18 +00:00
Charles Kerr
ef650d0398
(trunk libT) it certainly smells like we're using freed memory in the libcurl + libevent code in web.c... let's trash the structures right before free()ing them
2009-12-18 17:32:16 +00:00
Charles Kerr
0601442f58
(trunk libT) #2416 "crash in event_queue_insert" -- another stab at fixing this. yay
2009-12-14 18:24:26 +00:00
Charles Kerr
87aefaf5ff
(trunk libT) #1699 "announce to multiple trackers at once" -- fix minor bug in reporting scrape results when an announce returns enough information that a separate scrape isn't necessary.
2009-12-14 17:17:05 +00:00
Charles Kerr
ee0de4b06c
(trunk libT) keep simplifying web.c... is there anything left to strip out?
2009-12-14 14:25:22 +00:00
Charles Kerr
c33aef7e2d
(trunk libT) more web.c simplification + handle an unhandled case CURL_POLL_NONE in the socket callback.
2009-12-14 12:54:30 +00:00
Charles Kerr
2653cd5153
(trunk libT) keep simplifying web.c. also, fix an improbable FMR at shutdown
2009-12-14 05:11:33 +00:00
Charles Kerr
6d9e6ececc
(trunk libT) remove some more obsolete debug messages and other cruft from web.c
2009-12-13 19:33:02 +00:00
Charles Kerr
485b64a5e3
(trunk libT) it never ends
2009-12-13 17:54:01 +00:00
Charles Kerr
a89d2217af
(trunk libT) #2416 "crash in event_queue_insert()"
2009-12-11 15:41:34 +00:00
Charles Kerr
5f1f2b1e85
(trunk libT) use curl_multi_socket_action(), even on OS X.
2009-12-10 19:05:21 +00:00
Charles Kerr
1c772bd1fe
(trunk libT) finally get rid of the last remnants of tr_timer
2009-12-10 05:52:46 +00:00
Charles Kerr
78ead8c3dd
(trunk) update the copyright notices
2009-12-05 02:19:24 +00:00
Charles Kerr
6eec59008c
(trunk libT) experimental: Reduce SO_SNDBUF and SO_RCVBUF for tracker announce/scrape messages. Reduce SO_RCVBUF for outgoing peer connections on seeding torrents.
2009-12-02 05:30:46 +00:00
Charles Kerr
63027e1d5a
(trunk libT) resolve "noslashes" vs "keep_slashes" variable name inconsistency between the declaration and the definition of tr_http_escape()
2009-11-29 08:05:47 +00:00
Charles Kerr
9383a6abfd
(trunk libT) #2096 : add code magnet URL parser and unit tests
2009-11-20 04:38:19 +00:00
Charles Kerr
44df1d5548
(trunk libT) #2112 : provide "ipv6=" parameter to trackers
2009-11-10 17:03:23 +00:00
Charles Kerr
55c59fa478
(trunk) fix r9380 #2412 timing issue
2009-10-23 05:48:56 +00:00
Charles Kerr
9affe9ef59
(trunk libT) #2412 : tracker query should use bind address
2009-10-22 05:15:34 +00:00
Charles Kerr
459bea37f9
(trunk libT) remove a couple more debugging printf() calls
2009-09-26 13:21:46 +00:00
Charles Kerr
86ada18266
(trunk)
...
#1699 : Announce to multiple trackers at once
#2424 : Tracker address is not listed in GTK client.
2009-09-25 21:05:59 +00:00
Charles Kerr
172d64c32c
(trunk libT) #2416 : possible fix for 'crash in event_queue_insert' on Snow Leopard
2009-09-23 15:28:11 +00:00
Charles Kerr
3524ae637e
(trunk libT) sync the announce/scrape timeout intervals in trunk with those in 1.7x
2009-09-08 18:39:20 +00:00
Charles Kerr
bd41421591
decide at runtime, rather than compile time, whether to use curl_multi_action
2009-09-08 05:18:46 +00:00
Charles Kerr
786887b147
(trunk libT) tell libcurl to set a time limit of 120 seconds for announces; 30 seconds for scrapes
2009-08-22 23:22:50 +00:00
Charles Kerr
cb79214854
(trunk) remove trailing spaces
2009-08-10 20:04:08 +00:00
Charles Kerr
24746cff7f
(trunk libT) minor #include futzing
2009-07-01 14:58:57 +00:00
Charles Kerr
b2a6def953
(trunk libT) fix small dead code. found by clang static analyzer and reported by d0k
2009-05-13 19:04:14 +00:00
Charles Kerr
03a7251054
(trunk) make it possible to #include "version.h" without having to add -I${TOP}/libtransmission/ to your CFLAGS
2009-04-13 19:04:21 +00:00
Charles Kerr
9e9743c6b1
(trunk libT) re-add the curl "easy queue" from 1.4x to queue libcurl tasks to ameliorate complaints of "too many open files"
2009-04-05 13:00:17 +00:00
Charles Kerr
491a6ac63d
(trunk libT) #1844 : Prefer curl_multi_socket_action() to curl_multi_perform() in modern versions of libcurl
2009-02-18 16:16:24 +00:00
Charles Kerr
236f8ad2ff
(trunk libT) yet another possible fix for the libcurl/libevent/kqueue issue
2009-02-10 18:03:55 +00:00
Erick Turnquist
f3a2a35952
(trunk libT) only resolve ipv4 tracker addresses for now
2009-02-07 00:20:47 +00:00
Charles Kerr
eb538aa492
(trunk libT) #1748 keep looking for a workaround
2009-02-06 21:14:05 +00:00
Charles Kerr
8572d81e00
(trunk libT) experimental fix for #1748 : crash in event_queue_insert in thread1
2009-02-05 22:00:21 +00:00
Charles Kerr
46ff5598a7
(trunk libT) more hoops for Biiaru
2009-02-05 20:53:59 +00:00
Charles Kerr
ee58379377
(trunk libT) #1748 : judging from Biiaru's testing yesterday after I left, the problem is somewhere in web.c. Let's start by adding some cruel assertions in there.
2009-02-05 14:52:00 +00:00
Charles Kerr
adc6791de3
(trunk libT) add more assertions to ensure that the libevent calls are all being made from the same thread
2009-01-28 19:35:39 +00:00
Charles Kerr
0b5558c3e3
(trunk libT) silence curl_easy_setopt -Wunreachable-code warnings
2009-01-24 00:25:11 +00:00
Charles Kerr
4f95edf647
(trunk libT) minor cleanup
2009-01-17 22:49:15 +00:00
Charles Kerr
bc2b7fcb03
(trunk libT) minor tweaks to reduce libtransmission shear between trunk and 1.5x
2009-01-16 17:29:42 +00:00
Charles Kerr
fe816d8135
(trunk) update the GPL code's copyright dates
2009-01-10 23:09:07 +00:00
Charles Kerr
7683452514
(trunk libT) undo r7645 based on feedback that the experimental code did improve performance.
2009-01-09 19:24:40 +00:00
Charles Kerr
f7db63329d
(trunk libT) clear out the experimental code that accumulated while trying to find the fix to the tracker-announces-never-finish bug. This revision is 1.42's version plus bugfixes.
2009-01-08 20:35:10 +00:00
Charles Kerr
217d3d3c91
(trunk libT) this diff has held #1631 at bay for 18 hours now... is it finally fixed? :)
2008-12-31 14:28:20 +00:00
Charles Kerr
68ad6f452c
(trunk libT) probable fix for #1631
2008-12-30 01:02:53 +00:00
Charles Kerr
eff510da18
(trunk libT) simplify web.c's remove_finished_tasks() a bit
2008-12-29 19:02:12 +00:00
Charles Kerr
415f04059f
(trunk libT) wrap tr_inf(), tr_msg(), tr_dbg() calls inside a check to see if that debugging level is active. That way that function calls in the vararg list won't be invoked unless that level of verbosity is actually turned on.
2008-12-29 18:11:56 +00:00
Charles Kerr
db381a5e40
(trunk libT) revert #7517 since it didn't do any good. disable http connection reuse.
2008-12-29 07:51:09 +00:00
Charles Kerr
1582135e3c
(trunk libT) experimental test for #1631 in web.c::setsock()
2008-12-26 20:14:47 +00:00
Charles Kerr
dfcc9173e5
(trunk libT) #include "session.h" cleanup from wereHamster
2008-12-23 17:27:15 +00:00
Charles Kerr
9594112d27
updated email address
2008-12-16 00:20:44 +00:00
Charles Kerr
788b397ecc
(trunk libT) more semantic cleanup: tr_handle->tr_session, int->tr_bool, int->tr_port
2008-12-14 11:21:11 +00:00
Charles Kerr
b9b67ee2c2
(libT) libcurl configuration tweaks
2008-12-02 23:54:26 +00:00
Charles Kerr
d12af295c1
use tr_bool instead of C bitfields. ( http://blogs.msdn.com/oldnewthing/archive/2008/11/26/9143050.aspx )
2008-11-28 22:11:41 +00:00
Charles Kerr
f336aff2e7
(libT) fix a pair of dead store warnings from m1b & clang
2008-11-04 19:40:18 +00:00
Charles Kerr
d0ade0358f
(libT) #1399 : No tracker response result in error: 0 in the log
2008-10-31 19:01:27 +00:00
Charles Kerr
4480da5403
(libT) #1359 : Transmission shows no tracker error when unable to contact the tracker
2008-10-29 16:06:14 +00:00
Charles Kerr
98168cb605
(libT) #1359 : Transmission shows no tracker error when unable to contact the tracker
2008-10-27 18:00:03 +00:00
Charles Kerr
06939cafa6
(libT) low-hanging fruit discovered from softwareelves' shark profile.
2008-10-26 15:39:04 +00:00
Charles Kerr
7ec84486ee
(libT) more win32 portability fixes from Spry
2008-10-20 19:34:19 +00:00
Charles Kerr
071c6733e5
this seems to work pretty well. maybe it's done now?
2008-10-18 15:45:12 +00:00
Charles Kerr
00cfd90bb5
<bullwinkle>this time for sure!</bullwinkle>
2008-10-18 00:20:37 +00:00
Charles Kerr
a44f3d75a0
more hacking on libcurl + libevent integration
2008-10-17 20:57:54 +00:00
Charles Kerr
123a5c53a9
Try to hammer out some of the bugs in web.c. This still feels like a work in progress. Also, add a queue for tracker requests so that we don't wind up with 100s of concurrent http requests when there are a lot of torrents.
2008-10-16 05:24:57 +00:00
Mitchell Livingston
96f3939edd
2 arguments were swapped in curl_multi_socket_action()
2008-10-15 23:21:53 +00:00
Charles Kerr
26cac56509
(libT) if a tracker announce succeeds and the tracker's response is a superset of a scrape response, then treat it as a successful announce AND scrape.
2008-10-15 17:53:42 +00:00
Charles Kerr
2f3580cc90
(libT) possible backwards compatability tweak for libcurl < 7.16.3
2008-10-15 17:12:53 +00:00
Charles Kerr
0b991a55c7
(libT) try again to get the libevent+libcurl code working
2008-10-15 16:43:51 +00:00
Charles Kerr
88ce8a5c44
more changes inspired by spry's `winport' code: for portability, use the standard __VA_ARGS__ macro for variadic macros instead of the CPP extensions.
2008-10-13 22:45:05 +00:00
Charles Kerr
b824c704b7
first batch of portability changes based on spry's winport:
...
(1) added tr_getcwd(), a simple portability wrapper for getcwd()
(2) cli: show the help page if no command-line arguments are provided
(3) daemon: use tr_wait() intead of sleep()
(4) daemon: SIGQUIT, SIGPIPE, SIGHUP aren't defined on windows
(5) libtransmission: a couple of small cleanups to bencode.c, list.c, web.c
(6) libtransmission: win32 portability fixes to platform.c
2008-10-13 22:26:02 +00:00
Charles Kerr
cc89872dd4
run libT, cli, daemon, gtk through the source-code formatter "uncrustify" as promised/threatened
2008-09-23 19:11:04 +00:00
Charles Kerr
419242e36f
(libT) change benc's integral type from int to size_t, squashing a couple of minor warnings
2008-09-04 14:42:32 +00:00
Charles Kerr
8c421bd0ec
pump the web connections more frequently when there are tasks pending. this may speed up the shutdown flurry of `stop' announcements
2008-09-03 19:13:19 +00:00
Charles Kerr
a11aac24ca
(libT) add an environmental variable to enable libcurl verbosity
2008-08-22 19:14:19 +00:00
Charles Kerr
98e1b995e0
possible fix for #1134 : revert libtransmission/web.c back to r6354
2008-08-06 23:33:29 +00:00
Charles Kerr
9006f75edb
#1117 : crash on exit in curl_multi_socket_action()
2008-07-29 18:53:41 +00:00
Charles Kerr
703f96aeb3
#1122 : faster http processing
2008-07-29 00:51:07 +00:00
Charles Kerr
2eb89eb2a7
(libT) fix some minor warnings foudn by clang's scan-build and reported by m1b
2008-07-17 20:33:34 +00:00
Charles Kerr
7974a1e50a
(libT) add proxy port arg as requested by BentMyWookie
2008-07-15 01:03:03 +00:00
Charles Kerr
af8e44a5e7
maybe *now* 1.30 is feature complete: by popular demand, add proxy support for SOCKS4/SOCKS5. This will break the mac build temporarily.
2008-06-11 20:45:53 +00:00
Charles Kerr
b94893a4c9
wire up the backend proxy support.
2008-06-10 16:16:31 +00:00
Charles Kerr
e3e3bee8b5
#800 initial support for GetRight-style fetching of data through http and ftp servers specified in the .torrent's "url-list" tag
2008-06-07 21:26:41 +00:00
Charles Kerr
f861f39711
maybe fix the tracker authentication problems reported by demio
2008-06-05 16:35:33 +00:00
Charles Kerr
fb8dccf179
undo the curl timeout option from earlier today
2008-05-09 04:00:14 +00:00
Charles Kerr
20986a5dac
raise the timeout interval that we tell curl to use
2008-05-08 17:15:06 +00:00
Charles Kerr
f48b2b24e9
tell webcurl to timeout tracker requests after 30 seconds
2008-05-08 17:05:43 +00:00
Charles Kerr
6ba02efb58
#915 : Does too many wake-ups when idle
2008-05-06 15:52:57 +00:00