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