Commit Graph

216 Commits

Author SHA1 Message Date
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