Commit Graph

177 Commits

Author SHA1 Message Date
Charles Kerr e723a5724c added debugging messages to the tracker cleanup. better error handling for esoteric http errors. 2007-10-18 03:55:55 +00:00
Charles Kerr 9da5aaef2c huge tracker cleanup for the "no response from tracker" issue 2007-10-17 18:59:58 +00:00
Charles Kerr ea5390296d Follow uTorrent 1.8's behavior of allowing a manual reannounce every max(60 seconds, min_interval) where min_interval is from the tracker. 2007-10-17 01:17:30 +00:00
Charles Kerr 00321c4eed Fix crash-on-exit reported by Gimp_ @ http://pastebin.ca/732759 2007-10-11 14:56:50 +00:00
Charles Kerr 2f46064e33 raise the `numwant' value 2007-10-09 18:29:10 +00:00
Charles Kerr 602ee120af fix recent tracker error reported by John_Clay that made it slower to pick up peers 2007-10-09 04:50:10 +00:00
Charles Kerr c88ef608c6 extra paranoia to safeguard against a possible tracker crash 2007-10-09 03:06:54 +00:00
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