Commit Graph

277 Commits

Author SHA1 Message Date
Charles Kerr 06939cafa6 (libT) low-hanging fruit discovered from softwareelves' shark profile. 2008-10-26 15:39:04 +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 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 b1ef118e3f (libT) housekeeping: tr_torrent.handle --> tr_torrent.session 2008-10-02 15:53:33 +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 85edfe35d5 (libT) apply a line from #1181's fix that was accidentally applied to the 1.3x branch instead of trunk. both are in sync now wrt #1181. 2008-09-18 16:18:50 +00:00
Charles Kerr 47292055ca (libT) #1269: check for the `downloaded' key in the announce repsonse. a successful announce response already resets the rescrape countdown, so that half of the ticket is redundant. 2008-09-14 00:57:11 +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 3df44dad3d maybe fix m1b's tracker issue 2008-08-21 20:18:34 +00:00
Charles Kerr 58881d45be more metainfo/bencode cleanup 2008-08-21 16:12:17 +00:00
Mukund Sivaraman de62de3e19 Replace random number generation code 2008-08-14 11:11:25 +00:00
Charles Kerr 51aff87443 lots of C correctness tweaks suggested by sparse/cgcc 2008-08-11 19:05:02 +00:00
Charles Kerr 81785b5633 #1126: crash on quit 2008-07-31 13:06:59 +00:00
Charles Kerr 96ae464283 rename `pulse' as peerPulse() and trackerPulse() to make backtraces easier to read 2008-07-28 19:47:16 +00:00
Charles Kerr 2f239319b0 add a portability wrapper ``tr_snprintf()'' around snprintf() 2008-07-15 17:16:57 +00:00
Charles Kerr eb254b8a54 #1042: "Announce allowed: Never" 2008-07-11 11:51:15 +00:00
Charles Kerr c8d339c9ee (libT) #319: periodically save the .resume file in case of crash 2008-07-02 01:46:10 +00:00
Charles Kerr 70e21e93ff (libT) #1045: gracefully handle trackers that return a scrape interval that's too low 2008-07-02 01:17:57 +00:00
Charles Kerr b1cc67ce2b when getting 5xx errors from a tracker, keep increasing the intervals between retries, instead of hammering the tracker at constant intervals. thanks to mape for this suggestion. 2008-06-24 21:39:07 +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 ab17f553c4 get RPC password protections working in libT and the gtk+ client. mac, daemon, and cli need to be synced. 2008-06-05 16:23:03 +00:00
Charles Kerr b92e88b29c fix tracker crash caused by the new add/remove tracker code reported by BentMyWookie 2008-06-04 23:46:32 +00:00
Charles Kerr 70b395fb85 dead code removal. 2008-05-26 13:13:24 +00:00
Charles Kerr d18fb68fbc sine we now have two public ports (peer and rpc), rename "publicPort" as "peerPort" 2008-05-23 16:18:58 +00:00
Charles Kerr 0621c67c41 more cleanup work:
(1) kill the pointless "tr_tracker_stat" struct.
(2) kill the unused "tr_torrentRemoveSaved()" function.
(3) kill the redundant "nextManualAnnounceTime" variable.
(4) make the TR_ERROR_IS_* macros private.
2008-05-22 23:11:21 +00:00
Charles Kerr 77233ab16f fix 20-byte memory leak every time we stopped a torrent. :/ 2008-05-20 17:24:29 +00:00
Charles Kerr 2c79888a93 RPC/IPC redesign 2008-05-18 16:44:30 +00:00
Charles Kerr f5725af93a remove unused TIMEOUT_INTERVAL_SEC and STOP_TIMEOUT_INTERVAL_SEC 2008-05-08 16:15:12 +00:00
Charles Kerr 2cd2b35238 fix multitracker problem reported by BentMyWookie 2008-05-05 20:11:03 +00:00
Charles Kerr d561187227 when one of the trackers in a multitracker list is successful, bump it to the top of the tier. 2008-05-05 19:51:53 +00:00
Charles Kerr c20b9a6df4 experimental speed tweaks:
(1) increase the per-peer read buffer to the size of a block message
(2) pulse the peers more often
(3) reduce the tracker delay on startup
2008-05-01 19:31:58 +00:00
Charles Kerr e18414ad0b tweak the last commit: when parsing peer-ids we don't want locales to postentially change the behavior of isalpha/isdigit/etc 2008-04-29 17:23:33 +00:00
Charles Kerr ecc8401203 #903: "1.11: Not making use of Tier 2 tracker on Tier 1 error" 2008-04-29 01:21:42 +00:00
Charles Kerr b66af4ab07 curl_easy_getopt(CURLINFO_RESPONSE_CODE) needs a pointer to a long, not an int. 2008-04-27 07:15:20 +00:00
Charles Kerr c46269805d #895: tweak 2008-04-25 16:40:14 +00:00
Charles Kerr 37d4da23b7 #895: don't scrape running torrents on startup 2008-04-25 16:06:03 +00:00
Charles Kerr 48bec954be remove a debugging printf 2008-04-25 04:37:00 +00:00
Charles Kerr 9f8b596914 Fix "Unknown Error (0)" messages for torrents that haven't been scraped yet. 2008-04-25 04:35:06 +00:00
Charles Kerr dbf3e95cd9 make the tracker response lines more human-readable 2008-04-25 04:26:04 +00:00
Charles Kerr 47021f1a12 fold most of the "deep logging" functions into a single function 2008-04-25 02:57:33 +00:00
Charles Kerr 7ef2511ca8 #377: preliminary https support. this commit probably breaks mac and cli and is not for the faint of heart. 2008-04-24 01:42:53 +00:00
Charles Kerr c4878448a9 clean up the file bsearch that caused the crash reported by John_Clay yesterday 2008-04-20 21:54:44 +00:00
Charles Kerr 3445817a80 peer-msgs: faster upload speeds in situations with few peers. this patch needs wider testing for side-effects wrt speed limits. 2008-04-19 19:37:05 +00:00
Charles Kerr 08b27749ba #890: be smarter about noticing seeds from tracker & pex 2008-04-19 15:07:59 +00:00
Charles Kerr 29cb590c28 #879: fix segfault if tracker is freed immediately after starting a torrent 2008-04-15 15:51:59 +00:00
Charles Kerr 48e5a660df #765: for every consecutive scrape failure, wait longer before trying again. 2008-04-12 22:37:03 +00:00
Charles Kerr 77abc21659 tidy up some libtransmission filenames. 2008-04-11 17:01:13 +00:00
Mitchell Livingston 8c5da6178b remove the ability to disable scraping - the demand for this feature is too low currently (this also reenables scraping on all clients) 2008-04-09 20:50:14 +00:00
Charles Kerr 16880cee99 #765, part 1: add backend support for disabling tracker scrapes 2008-04-05 16:49:26 +00:00
Charles Kerr d9b33a7055 change that 20 second interval to a 5 second interval 2008-03-18 19:38:39 +00:00
Charles Kerr cb854bd4cc #798: 1.06's handling of tracker http 301 redirects can cause a huge strain on tracker 2008-03-18 19:33:08 +00:00
Charles Kerr 05c6938f5a changes to message logging: (1) bring back "Torrent hasn't responded yet", but only in the message log. (2) make PEX messages debug. (3) log a message when a torrent reaches completion. 2008-03-18 16:56:01 +00:00
Charles Kerr 9bb4c477f3 don't let vraa have that many peers any more. 2008-03-13 05:42:39 +00:00
Charles Kerr 29f092197f #138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages 2008-03-13 03:53:18 +00:00
Charles Kerr a6d464347d get rid of the "tracker hasn't responded yet" message because it drives users insane 2008-02-29 06:28:00 +00:00
Charles Kerr 8cc587a66f more housekeeping: benc_val_t --> tr_benc 2008-02-26 21:58:58 +00:00
Charles Kerr 58b655338a libT: add tracker information to tr_stat. gtk: add `tracker' tab to inspector 2008-02-21 07:29:39 +00:00
Charles Kerr 9d436d6767 #690: get multitracker torrents working with the evhttp code 2008-02-13 17:15:58 +00:00
Charles Kerr 7cf9f8cc35 #417: add the libtransmission bits for telling users when they can "Ask Tracker for More Peers" 2008-02-09 17:07:30 +00:00
Charles Kerr 784e0babda fix off-by-one that was uncovered by the new benc's stricter parsing. 2008-01-31 03:09:27 +00:00
Charles Kerr 3d8dfa574b (1.0x) #660: fix HTTP syntax error that caused "Bad Request" messages on lighttpd-based trackers. Reported by _Psih 2008-01-28 06:03:14 +00:00
Charles Kerr a771f34373 stagger out the reannounce messages too, just as 0.82 did, as per denisx_'s suggestion 2008-01-19 01:34:02 +00:00
Charles Kerr 737bb23743 more work on "router death": stagger out tracker scrape attempts and close a loophole in the handshake code 2008-01-19 00:28:52 +00:00
Charles Kerr 6c6228770c fix byte ordering of the port in tr_peerIoAddrStr() 2008-01-17 00:08:40 +00:00
Charles Kerr 3a6396a3cb mingw portability fixes 2008-01-10 18:52:46 +00:00
Charles Kerr 30d00fbc53 cleanup 2008-01-07 06:19:34 +00:00
Mitchell Livingston 69c4b99995 fix for [4439] 2008-01-03 18:46:33 +00:00
Charles Kerr 09ca9f6dda maybe fix i18n tracker error reported by haktar 2008-01-03 17:49:45 +00:00
Charles Kerr ce6c33b7bf set copyright info to 2008 2008-01-01 17:20:20 +00:00
Charles Kerr 970211acf0 roll back r4356 2007-12-27 22:38:53 +00:00
Charles Kerr f88eb7d771 experimental code that should make tracker interaction (especially shutdown) much faster. 2007-12-27 21:48:41 +00:00
Charles Kerr 473907d891 a little housekeeping: move tr_torrent stuff into its own header 2007-12-25 05:37:32 +00:00
Charles Kerr 6ded40d360 increase the number of tracker connections we allow during shutdown. 2007-12-13 23:43:50 +00:00
Charles Kerr 7582f4a929 (maybe) fix shutdown crash in "pulse" reported by pea_ 2007-12-13 21:48:39 +00:00
Charles Kerr de5c84a52c allocate more sockets to the tracker during shutdown to help get all the `stopped' commands done 2007-12-13 21:08:05 +00:00
Charles Kerr c4e6a04131 tweak the debug messages 2007-12-13 17:18:35 +00:00
Charles Kerr 481a210e82 fix tracker connection error reported by Gimp_ 2007-12-05 02:06:05 +00:00
Charles Kerr 0e1e7efd3b take inspiration from Solomon when handling odd tracker errors that confuse tracker's request queue: stop the torrent.
when the tracker gives us errors that confuse the tracker work queue,
2007-11-30 23:37:44 +00:00
Charles Kerr f2a08d272f be more forgiving of tracker failure 2007-11-30 17:10:33 +00:00
Charles Kerr f9670dc7ac throw away all pending `scrape' requests on shutdown... we don't need them then, so they just slow us down 2007-11-29 02:31:21 +00:00
Charles Kerr 827dc86bb4 rewrite the tracker code. this should improve and/or fix a number of bugs, including "too many open files", "router death", "slow internet", and the mutex release crash. 2007-11-29 00:43:58 +00:00
Charles Kerr 0663c4aef7 possible fix for Zeph's "too many open files" bug report. 2007-11-26 21:26:01 +00:00
Charles Kerr 18b3b388c0 fix oops from last commit 2007-11-23 03:01:13 +00:00
Charles Kerr 5ad14e4abc fix another 0.94 prerelease crash report... this one from when finishing verifying a torrent that's running. 2007-11-23 02:49:06 +00:00
Charles Kerr cc42c8aaf6 fix tracker redirect bug reported by sunny 2007-11-15 14:34:48 +00:00
Charles Kerr 4cb16901b8 fix tracker wart reported by tiennou 2007-11-10 16:00:59 +00:00
Charles Kerr fd430fde90 undoing the r3773-r3774 experiment. 2007-11-09 20:07:52 +00:00
Charles Kerr 67b719c2de on Darwin, use NSCParameterAssert() instead of assert(). 2007-11-09 19:50:40 +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 9df263326d use Thomas Bernard's miniupnp library instead of rolling our own. 2007-11-06 16:02:50 +00:00
Charles Kerr 1f607e0560 improve the "can't connect to tracker" error message. 2007-10-26 16:39:00 +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 50c8c88c04 Update the credits 2007-10-23 14:00:17 +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 8d4ff5818c Add support for the MSE Tracker Extension (suggested by barry_u and persept) 2007-10-20 20:27:37 +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