Charles Kerr
e10e44409a
fix crash reported by Waldorf in http://pastebin.ca/729980
2007-10-08 19:09:20 +00:00
Charles Kerr
7ff8284976
give trackers more time before timing out the requests. make the `stopping' timeout interval smaller than other intervals so that we don't block for too long during shutdown.
2007-10-08 17:05:39 +00:00
Charles Kerr
304f9f7f18
get rid of a confusing error message that describes a harmless situation
2007-10-07 16:25:02 +00:00
Charles Kerr
1014e633ac
* don't reuse http connections to trackers. I think this is what caused most of the `no response from tracker X' messages.
...
* extra safety checks to ensure the last `stopped' message to the tracker is sent on shutdown.
2007-10-07 16:07:19 +00:00
Charles Kerr
2381279da6
fix John_Clay's ptrarray.c:201 crash. (maybe.)
2007-10-07 04:14:34 +00:00
Charles Kerr
c75f49bc26
* add a per-peer request queue to hold the next 10-15 seconds' worth of requests so that we always have more requests at hand when the current requests start to run low.
...
* increase the tracker `numwant' variable to grow our peer pool
* bugfixes in cancelling requests.
* make the debug log sexy and readable like uTorrent's ;)
2007-10-06 18:20:52 +00:00
Charles Kerr
0872b4f40a
fix the crash reported by Waldorf and John_Clay
2007-10-04 20:31:19 +00:00
Charles Kerr
53aef0a48c
Simplify the tracker/pause/close/recheck/start code.
2007-10-04 19:58:30 +00:00
Charles Kerr
7cc6771318
experimental better peer management.
2007-09-30 23:55:49 +00:00
Charles Kerr
4c990b2a7d
fix tracker crash reported by bmw
2007-09-29 15:05:20 +00:00
Charles Kerr
198d2c256e
fix John_Clay's tracker assertion failure.
2007-09-28 16:14:19 +00:00
Charles Kerr
d3077bbce1
round 2 of minor revisions to tr_stat
2007-09-27 03:30:22 +00:00
Charles Kerr
7a15abaf7a
better handling of tracker error messages.
2007-09-25 18:39:58 +00:00
Charles Kerr
4d15bbdc2a
slightly less broken handling of cases where we can't bind to our listening port.
2007-09-21 05:31:29 +00:00
Charles Kerr
28bcf6204b
clamp down on the flood of debug messages.
2007-09-20 23:33:46 +00:00
Charles Kerr
fb70a9cca0
remove the backwards compatability typedefs at BentMyWookie's suggestion. update libT, gtk, daemon, and cli accordingly...
2007-09-20 20:14:13 +00:00
Mitchell Livingston
76da1185ca
merge encryption branch to trunk (xcode project is still out of date)
2007-09-20 16:32:01 +00:00
Charles Kerr
77e7bc4f84
make upnp's internal structures' naming schemes whallop-like
2007-08-21 20:38:34 +00:00
Charles Kerr
bae07d471e
added support for `corrupt' announce tag s.t. corrupted bytes don't count towards your download ratio
2007-08-21 15:17:02 +00:00
Charles Kerr
8c54b7eb46
ensure that all the tracker destruction code is done in the libevent thread, for a cleaner shutdown
2007-08-21 00:01:14 +00:00
Charles Kerr
624257c995
better cleanup on shutdown. don't crash when the torrent doesn't support scrape. (Gimp :)
2007-08-20 23:37:08 +00:00
Charles Kerr
1d6e20594d
minor improvements to.. you guessed it.. the tracker/libevent code
2007-08-20 02:29:36 +00:00
Charles Kerr
47f1457d67
fix crash-on-shutdown bug reported by BentMyWookie
2007-08-19 02:55:11 +00:00
Charles Kerr
7b2a9f274a
accidentally checked in a debugging statement
2007-08-19 02:23:35 +00:00
Charles Kerr
82db9f6cc9
fix a couple of more memory leaks that valgrind found
2007-08-19 00:18:43 +00:00
Charles Kerr
b66efdf998
tracker tweaks
2007-08-19 00:02:23 +00:00
Charles Kerr
1e53e9de72
shut up a compiler warning
2007-08-18 23:32:07 +00:00
Charles Kerr
633ade8004
added mirek's slovakian translation. added mirek, Niels Provos, and TooMuchTime to the `thanks' sectio of AUTHORS
2007-08-18 18:33:47 +00:00
Charles Kerr
ea49180f94
$Id$
2007-08-18 17:19:49 +00:00
Charles Kerr
b9c2ea46ce
add the content-length header. I'm not getting any tracker errors anymore; please let me know if your experience differs
2007-08-18 15:47:08 +00:00
Charles Kerr
39a43cbc08
* more work on the tracker... getting closer.
...
* oops! make sure autoconf is giving the `0.80+' in the User-Agent header.
2007-08-18 08:28:57 +00:00
Charles Kerr
9cb2dcb63d
better error reporting in the new tracker code
2007-08-18 06:06:53 +00:00
Charles Kerr
3f777e3cb9
before the first scrape, set leechers/seeders/downloads to -1 to represent n/a
2007-08-18 03:11:08 +00:00
Charles Kerr
35b727788e
do all the libevent enqueuing from a single thread.
2007-08-18 03:02:32 +00:00
Charles Kerr
8713d3468c
don't cache the connection; these are one-shot requests
2007-08-17 05:00:59 +00:00
Charles Kerr
d5cfbf9426
this seems to fix the double-start bug reported by joshe
2007-08-17 04:50:45 +00:00
Charles Kerr
0c60e29934
whee
2007-08-17 03:13:42 +00:00
Charles Kerr
c449a4665d
fix shutdown error in the new tracker code, reported by joshe
2007-08-17 03:03:28 +00:00
Charles Kerr
5c3d45767e
fix crash-on-startup bug reported by Lacrocivious
2007-08-16 20:59:09 +00:00
Charles Kerr
5f5a743790
the new tracker code seems to be working, so now it's time for me to learn yet again how much better users are at noticing bugs than I am. :)
2007-08-16 20:00:06 +00:00
Charles Kerr
5989151ed5
(trunk) revert yesterday's tracker changes.
2007-08-14 20:08:57 +00:00
Charles Kerr
d2ddd4cb4e
(trunk) dead code removal. (ticket #286 )
2007-08-13 14:35:37 +00:00
Charles Kerr
1fd5f90a77
win32 cleanly compiles and starts now. (still doesn't atually *work*, but we're getting closer...)
2007-08-02 19:43:29 +00:00
Charles Kerr
0e1e45605a
fix manual-announce but noted by BMW
2007-08-02 02:38:42 +00:00
Charles Kerr
8aebe31de1
tr_trackerCanManualAnnounce() should return false immediately after the user's manually announced; not just after the announce request is processed by the tracker
2007-08-01 13:33:01 +00:00
Charles Kerr
0f85cc3297
continue whittling away at internal.h to reduce the global #include dependencies
2007-07-31 14:26:44 +00:00
Charles Kerr
d209052051
add portability wrapper for in_port_t...
2007-07-30 18:04:10 +00:00
Charles Kerr
1be185aacd
(libT) get "update tracker" working again.
...
(gtk) add "update tracker" button.
2007-07-30 17:11:00 +00:00
Charles Kerr
e07d0220a9
this looks bug but it's not: just janitorial cleanup, moving #includes from headers into source file
2007-07-29 18:11:21 +00:00
Charles Kerr
1d95bcc689
re-randomize peer_id each time we start a torrent. (ticket #257 )
2007-07-16 11:19:44 +00:00
Charles Kerr
ad6ae58e06
fix the bugs outlined by cluthi81 in ticket #255 .
2007-07-15 17:36:56 +00:00
Josh Elsasser
1ecbe8da65
Change a couple functions to take an in_addr pointer instead of an in_addr.
...
Forward declare struct in_addr and include the relevant headers in the .c files where it's used.
2007-07-14 16:29:21 +00:00
Charles Kerr
e6e6d574db
second draft of a fix for the tracker communication bug reported by TMT
2007-07-13 01:34:14 +00:00
Charles Kerr
5e4a49be16
first draft of a fix for the tracker communication bug reported by TMT
2007-07-12 20:48:13 +00:00
Charles Kerr
9f16191b0e
remove unused macros. constify some tracker functions.
2007-07-12 18:54:39 +00:00
Charles Kerr
b79beeff66
clean up #includes a bit.
2007-07-09 20:10:42 +00:00
Charles Kerr
37234a3e34
Make tr_trackerAnnouncePulse() just return safely if there's no tracker initialized.
2007-06-28 04:28:23 +00:00
Charles Kerr
7e09d157cd
Thread safety improvements. Also, stopping/starting/rechecking/etc. torrents no longer blocks the calling thread. Since this a big commit, it will probably create some short-term pain via new bugs.
2007-06-26 18:45:03 +00:00
Mitchell Livingston
0256f4616d
Merge file selection and torrent creation into the main branch.
...
The new code for these features is under a new license.
2007-06-18 03:40:41 +00:00
Charles Kerr
3b8d1e13c4
uninteresting minor stuff like adding const. this commit is just to reduce the shear between trunk and what lands in the file-selection branch.
2007-06-09 15:36:46 +00:00
Mitchell Livingston
91e4607c64
remove inaccurate comments about announce interval
2007-05-04 17:44:31 +00:00
Mitchell Livingston
7100463899
ensure the download/upload rates that are sent to the tracker are reset when sending "started"
2007-04-29 15:28:56 +00:00
Josh Elsasser
aeb6efb6dd
Refactor multitracker code a bit.
2007-04-08 05:41:44 +00:00
Josh Elsasser
ebcc73121b
Remove tr_bencListIter(), it was a stupid idea.
2007-03-31 17:40:28 +00:00
Josh Elsasser
978b5cec11
Add iterator function for bencoded lists.
2007-03-30 00:12:39 +00:00
Mitchell Livingston
84fad8a25f
slightly updated help
2007-03-28 01:23:21 +00:00
Josh Elsasser
09c87aad84
Merge PEX branch, I hope this works.
2007-03-23 08:28:01 +00:00
Josh Elsasser
67826df085
Use a tr_tracker_info_t * directly in tr_info_t and tr_tracker_t.
2007-02-27 04:00:38 +00:00
Josh Elsasser
adfd4e7ca7
Rework the port handling a bit to allow different bound and advertised ports.
2007-01-27 21:17:10 +00:00
Eric Petit
1eb3cf2a8e
Should fix #193
2007-01-23 20:54:54 +00:00
Eric Petit
40d8abb68f
More simplifications
2007-01-21 19:42:11 +00:00
Eric Petit
14aa4e5ab0
Officially give up on making libT reentrant, and simplify our code instead
2007-01-21 07:16:18 +00:00
Eric Petit
15fdfda60f
small memleaks
2007-01-20 05:07:00 +00:00
Eric Petit
4a567871bb
clean up
2007-01-19 11:19:20 +00:00
Mitchell Livingston
2fa4abe63f
change to scrape frequency
2007-01-17 01:06:52 +00:00
Mitchell Livingston
20eebf6092
remove unneeded function/warning
2007-01-16 04:20:45 +00:00
Eric Petit
cc3bf0cab9
Fixes redirecting (announce has '%'s in it)
2007-01-15 09:00:47 +00:00
Eric Petit
e5e6a8b5df
Merge io branch into trunk
2007-01-14 12:00:21 +00:00
Eric Petit
58a8bdedf0
BeOS fix
2007-01-14 08:51:15 +00:00
Mitchell Livingston
3cbb5fa681
correctly get the scrape interval
2007-01-12 05:05:11 +00:00
Mitchell Livingston
de82956141
define variables at top
2006-12-26 18:43:46 +00:00
Mitchell Livingston
776153c126
better placement of manual announce
2006-12-26 18:40:51 +00:00
Mitchell Livingston
f57626a6b1
support manual announcing to tracker (as in user forces an announce) in libT...when implemented in a front end it should limit the use of this
2006-12-26 04:17:37 +00:00
Mitchell Livingston
0aa4d36809
divide error logic in tracker code into multiple variables, allowing to determine if all errors in connecting were from unreachable trackers
2006-12-23 21:18:58 +00:00
Eric Petit
34fbe3a79a
When httpPulse gives us TR_ERROR, don't forget to mark the attempt as NOREACH - otherwise if the previous query was successful, we'd try to connect again and again as fast as we could
2006-12-21 12:59:40 +00:00
Josh Elsasser
058b31aaf7
Silence warning.
2006-12-18 03:49:15 +00:00
Mitchell Livingston
38b97ccf13
don't scrape if stopping
2006-12-17 17:35:39 +00:00
Mitchell Livingston
d31bd138fb
english grammar
2006-12-17 17:09:00 +00:00
Mitchell Livingston
3374ce9a32
merge multitracker branch:
...
Adds announce list, support for code 301/302 redirect, improvements to mac inspector, better queueing with errors, random extra wait of up to a minute between announces, and other changes.
2006-12-17 16:36:27 +00:00
Josh Elsasser
44f8325312
Merge scrape branch:
...
Automatically scrape trackers as needed.
If tracker supplies a trackerid then use it (untested).
Use tracker's min interval, clamped to the same range as interval.
Show total completed downloads in the MacOS X frontend.
2006-12-02 01:46:54 +00:00
Mitchell Livingston
52e66c96f8
Don't request more peers if stopping (or changing ports).
2006-11-09 04:38:32 +00:00
Josh Elsasser
631df817ae
Fix for trackers that include parameters in announce URL.
2006-10-13 07:42:55 +00:00
Josh Elsasser
9d17424799
Fix extra space in tracker HTTP request line.
2006-09-27 22:23:42 +00:00
Josh Elsasser
f7c3910a79
Fix possible uint64_t underflow which could cause insanely huge (16,000,000 TB)
...
upload and/or download totals to be reported to the tracker.
2006-09-26 22:36:04 +00:00
Josh Elsasser
0257761670
Merge nat-traversal branch to trunk.
2006-09-25 18:37:45 +00:00
Josh Elsasser
ff8cef150c
Add an assertion.
2006-09-08 23:19:15 +00:00
Josh Elsasser
555f12b64a
Allow frontend to supply a custom function for displaying libtransmission errors.
2006-07-16 23:40:22 +00:00
Eric Petit
f199e0a9d9
Revert [619]
2006-07-16 19:39:23 +00:00
Mitchell Livingston
5d36721a15
Remove old Sparkle...
2006-07-16 19:28:19 +00:00
Josh Elsasser
23965844d9
Don't try to free memory that we never allocated.
2006-07-04 23:59:51 +00:00
Eric Petit
f366b9819c
Fixes scraping with transmissioncli ( #79 )
2006-06-20 00:28:16 +00:00
Eric Petit
f98fe6a1b0
Added $Id$ keywords and updated a few headers
2006-05-29 21:21:23 +00:00
Eric Petit
9235d148b0
Be more flexible in case the dictionary isn't at the beginning of the
...
body (refs http://transmission.m0k.org/forum/viewtopic.php?t=298 )
2006-05-03 17:41:51 +00:00
Eric Petit
1ec413ea5c
Fixes warnings
2006-04-26 10:59:09 +00:00
Josh Elsasser
9120989a88
Make sure not to go past the end of the buffer when loading bencoded data.
...
Add code to encode using bencoding.
2006-04-25 07:00:18 +00:00
Eric Petit
dfe3bc870a
Merged simple_http_parsing branch
2006-04-11 22:37:43 +00:00
Josh Elsasser
b35737f024
Add missing tracker stats reset when changing our listening port.
...
This should have been included in rev 216.
2006-04-11 02:22:44 +00:00
Eric Petit
62bcf17b22
Fixed a couple of bugs introduced in [164]
2006-04-08 15:10:52 +00:00
Eric Petit
7449c80d67
Should fix a race condition
2006-04-07 20:17:40 +00:00
Josh Elsasser
f256fa2cce
Fixed bug where incorrect stats were being reported to the tracker.
...
This was introduced when download and upload totals became persistent.
2006-04-07 17:30:30 +00:00
Eric Petit
256bda38ce
Adds non-blocking (threaded) DNS resolution
2006-03-24 12:18:38 +00:00
Eric Petit
a1830a25bf
Merge from branches/new_api:r161
2006-03-23 12:39:39 +00:00
Eric Petit
28d43da1d1
Removed now unused tables and some now unused code
2006-01-30 02:13:40 +00:00
Josh Elsasser
9809dcb05d
Send stopped and started events to trackers when the listening port is changed,
...
but without disrupting existing peer connections.
In the GTK prefs dialog, change the port immediately instead of on next invocation.
2006-01-25 17:20:21 +00:00
Eric Petit
07b9da73fc
Update 2006-01-11
2006-01-12 19:12:58 +00:00
Eric Petit
6c0a54caa5
Update 2005-12-25
2006-01-12 18:58:57 +00:00
Eric Petit
5b06d13781
Update 2005-11-26
2006-01-12 18:43:18 +00:00
Eric Petit
23ef3653e3
Update 2005-11-21
2006-01-12 18:33:20 +00:00
Eric Petit
d2cc6ce7c6
Update 2005-11-17
2006-01-12 18:29:20 +00:00
Eric Petit
a6aa884776
Import from 2005-10-26
2006-01-12 17:43:21 +00:00