Commit Graph

364 Commits

Author SHA1 Message Date
Mitchell Livingston 4871222fa5 add Deluge and another Shareaza format to clients 2007-01-31 02:08:32 +00:00
Eric Petit 6ab640c50b Fixes a race condition 2007-01-30 20:06:42 +00:00
Eric Petit 706a2ade11 Ugly workaround for the deadlock introduced in [1445] 2007-01-29 12:16:56 +00:00
Eric Petit ddcfa59c96 Always take the global lock when accessing the torrent list (fixes a race condition crash) 2007-01-29 08:24:09 +00:00
Josh Elsasser 6ebeef7924 Correctly bencode strings containing nul characters. 2007-01-28 23:26:57 +00:00
Josh Elsasser 3388b93542 When sending a nat-pmp packet, treat EHOSTDOWN as a temporary error. 2007-01-28 08:54:19 +00:00
Josh Elsasser 0ac5a12189 Clean up the peer message code a little. 2007-01-28 02:23:09 +00:00
Josh Elsasser f884a9c4d4 Store the peers's listening port instead of the peer connections's remote port. 2007-01-28 00:24:41 +00:00
Josh Elsasser 263bf6ff0c Check for private flag in main dict too. 2007-01-27 22:37:10 +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
Josh Elsasser 1a55f5272d Remove misleading error message. 2007-01-26 01:14:15 +00:00
Josh Elsasser 7af80be925 Fix a case where NAT-PMP could falsely report a mapped port. 2007-01-25 21:23:31 +00:00
Josh Elsasser ace19f1003 Fix stupid mistake. 2007-01-23 23:46:10 +00:00
Eric Petit 1eb3cf2a8e Should fix #193 2007-01-23 20:54:54 +00:00
Eric Petit c1963147d3 Probably fixes the recent problem with disappearing peers 2007-01-23 17:59:21 +00:00
Eric Petit 2bad2cae4b Removed the need for all the tiny mallocs in ratecontrol by using a fixed sized, circular history 2007-01-22 22:58:51 +00:00
Eric Petit 40d8abb68f More simplifications 2007-01-21 19:42:11 +00:00
Eric Petit 2b0e28a004 clean up 2007-01-21 12:38:50 +00:00
Eric Petit 7d6d317ed1 Fixes BeOS warnings 2007-01-21 08:43:58 +00:00
Eric Petit 1634595bb0 Compile before you commit 2007-01-21 07:32:31 +00:00
Eric Petit 09c277257b Mark a peer as uploading if we are unchoked *and* interested 2007-01-21 07:27:57 +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 e63e4ab38f Reorganizes a few things, don't accept two connections from the same IP 2007-01-21 06:42:05 +00:00
Eric Petit f0e1e50055 Unused function/field 2007-01-21 05:03:24 +00:00
Eric Petit 15fdfda60f small memleaks 2007-01-20 05:07:00 +00:00
Eric Petit 93cb1c89ad Make sure we don't malloc(0), and save peers in the cache file even if we haven't successfully connected to them yet 2007-01-20 04:29:33 +00:00
Eric Petit da84461d9c Don't let tr_torrentStop return until files are closed, so that the UI can trash them safely if requested (fixes #186) 2007-01-19 15:24:20 +00:00
Eric Petit 4a567871bb clean up 2007-01-19 11:19:20 +00:00
Eric Petit 918c083618 Fix warnings 2007-01-19 08:40:06 +00:00
Eric Petit 09c096731c Another split 2007-01-19 08:36:49 +00:00
Eric Petit 7fc607cf2a When we count the peers we are UL to, just check whether they are chocked 2007-01-19 05:15:22 +00:00
Eric Petit 7a6401c7b4 Split transmission.c: everything related to the accept/upnp/choking
thread was moved to shared.c
2007-01-19 04:42:31 +00:00
Eric Petit 3e6d071e0d clean up 2007-01-19 01:39:33 +00:00
Eric Petit 4b9df2981b Ooops 2007-01-18 03:12:54 +00:00
Mitchell Livingston 348f35f505 retain/release arrays instead of using mutable arrays, and file table only shows files when a single torrent is selected 2007-01-17 02:43:07 +00:00
Mitchell Livingston bd318306e9 remove unneeded cast 2007-01-17 01:32:45 +00:00
Mitchell Livingston 2fa4abe63f change to scrape frequency 2007-01-17 01:06:52 +00:00
Mitchell Livingston 7f142247b7 add BitPump 2007-01-16 15:49:13 +00:00
Mitchell Livingston 20eebf6092 remove unneeded function/warning 2007-01-16 04:20:45 +00:00
Mitchell Livingston 5e17b596d6 avoid calculations if the bandwidth limit is 0, since it always will return the same value 2007-01-15 19:16:32 +00:00
Eric Petit a768ecf0d2 Stupid bug that causes us to never check the hash and never send HAVE messages 2007-01-15 18:18:06 +00:00
Eric Petit cc3bf0cab9 Fixes redirecting (announce has '%'s in it) 2007-01-15 09:00:47 +00:00
Mitchell Livingston c351ac51f8 typo 2007-01-14 16:57:31 +00:00
Eric Petit 4386cba273 Use tr_cond* a bit more 2007-01-14 12:11:06 +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 7abfceceac a little less redundant checking of global bandwidth, and added myself as working on back-end 2007-01-12 17:16:20 +00:00
Mitchell Livingston 3cbb5fa681 correctly get the scrape interval 2007-01-12 05:05:11 +00:00
Josh Elsasser 1cdf0839c1 Silence gcc warning. 2007-01-10 23:38:33 +00:00
Mitchell Livingston becb19f763 global bandwidth limits only apply to transfers that are not set to overide them 2007-01-08 21:53:55 +00:00
Mitchell Livingston 58209af347 small improvement 2007-01-08 15:18:05 +00:00
Mitchell Livingston e5b24d929e add bittyrant to client id's 2007-01-08 04:41:18 +00:00
Mitchell Livingston 3bc7585b5b typo caused pressed action button to be flipped 2007-01-02 14:01:05 +00:00
Mitchell Livingston 237a7c6b71 better tornado-style client identification 2007-01-02 03:46:47 +00:00
Mitchell Livingston 56c4ade75f added BT Protocol Daemon to clients 2007-01-02 03:33:55 +00:00
Mitchell Livingston 6e812353f1 add eXeem to clients 2007-01-01 20:03:52 +00:00
Mitchell Livingston 5c0230cfcb bindings + formatters = trouble....revert to glue code for speed limit, torrent limit, and port fields in prefs...more to come later 2006-12-31 21:38:35 +00:00
Mitchell Livingston d6104b6f71 move ratio from mac code to libT code 2006-12-30 19:24:09 +00:00
Mitchell Livingston 48ccd81283 add TorrentTopia 2006-12-30 18:00:45 +00:00
Eric Petit 2a4be1b0cd Don't use names that can conflict with system functions - Patch by Christian Weisgerber 2006-12-30 00:27:05 +00:00
Mitchell Livingston fdc0ece03f add burst! to clients 2006-12-29 02:09:16 +00:00
Josh Elsasser 6f39467deb Handle urlbase properly in UPnP root file. 2006-12-27 05:16:12 +00:00
Josh Elsasser 82ead7c85b Whoops, read UPnP root urlbase correctly. 2006-12-27 03:45:51 +00:00
Mitchell Livingston ca2c729abd support in libT for individual torrent speed caps 2006-12-27 01:04:30 +00:00
Mitchell Livingston e880aa48a5 make function names a little more specific 2006-12-27 00:22:38 +00:00
Mitchell Livingston 804b04a41b if torrent is active you can't update the announce info 2006-12-26 20:11:30 +00:00
Mitchell Livingston dc4e0e212b lock torrent when manual announcing 2006-12-26 20:01:16 +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 286683b5a5 Xtorrent, not XTorrent 2006-12-24 01:08:23 +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
Mitchell Livingston 594d887a36 move arctic to the azureus-style section 2006-12-23 20:34:45 +00:00
Mitchell Livingston b9fe71990c add XTorrent to clients 2006-12-23 20:27:24 +00:00
Mitchell Livingston 153e11ee4b add Arctic Torrent 2006-12-23 15:53:49 +00:00
Mitchell Livingston e783610d2c Plus is v2 2006-12-22 23:35:23 +00:00
Mitchell Livingston ffc4c30d0d add client Bittorrent Plus! 2006-12-22 23:34:35 +00:00
Mitchell Livingston 21f2eb9566 added lphant client 2006-12-22 16:20:33 +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
Mitchell Livingston ad3125f6b1 add client FlashGet 2006-12-20 17:26:32 +00:00
Mitchell Livingston 9c87aad53c JVTorrent client id 2006-12-19 16:30:34 +00:00
Mitchell Livingston 3d787a7e77 add libtorrent to clients 2006-12-19 15:23:48 +00:00
Mitchell Livingston 38b3198613 better identification of clients with weird formats that might conflict with others 2006-12-19 03:22:46 +00:00
Mitchell Livingston 46cef6d780 add G3 Torrent 2006-12-19 02:57:36 +00:00
Eric Petit e0ba0d8f8f Fixes a crash and a race condition 2006-12-18 20:48:46 +00:00
Mitchell Livingston 01ebeae829 stop crashing 2006-12-18 06:16:27 +00:00
Mitchell Livingston 4201476099 never mind that 2006-12-18 05:32:32 +00:00
Mitchell Livingston 80bc8e022b uncommit this for now until it can work 2006-12-18 05:28:10 +00:00
Mitchell Livingston 7274eebefc store upload rate / download rate in peer struct 2006-12-18 05:04:35 +00:00
Mitchell Livingston 718a39cd16 libT now stores peer upload rate 2006-12-18 04:56:27 +00:00
Josh Elsasser 058b31aaf7 Silence warning. 2006-12-18 03:49:15 +00:00
Josh Elsasser 343e51abbe Add peer's port to tr_peer_stat_t. 2006-12-18 03:45:22 +00:00
Mitchell Livingston ae94e3c275 add limewire client id 2006-12-17 22:11:02 +00:00
Mitchell Livingston 4b44da5a8c ctorrent client id 2006-12-17 21:15:33 +00:00
Mitchell Livingston 38b97ccf13 don't scrape if stopping 2006-12-17 17:35:39 +00:00
Mitchell Livingston 5cdd717e22 use existing variable and remove redundant call 2006-12-17 17:23:21 +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
Mitchell Livingston f79b141ab1 formatting 2006-12-16 20:05:20 +00:00
Mitchell Livingston aa4eb92fbb a little better id conversion 2006-12-16 02:39:12 +00:00
Mitchell Livingston ea9de21173 add queen bee to clients 2006-12-16 02:27:02 +00:00
Mitchell Livingston 9041bf4efe better identify ABC 2006-12-15 17:37:16 +00:00
Mitchell Livingston f4bcbc77e7 mainline client checked once 2006-12-15 06:16:20 +00:00
Mitchell Livingston 8ee41e6b06 xbt client 2006-12-15 05:39:06 +00:00
Mitchell Livingston 3409f51ef0 should identify BitLord clients according to the bittorrent specs (although it might not be completely accurate) 2006-12-15 05:27:51 +00:00
Mitchell Livingston 21ed57092a don't leak in the pool (heh heh) 2006-12-13 18:30:11 +00:00
Josh Elsasser a5c14049ef Fix a spurious compiler warning. 2006-12-11 19:42:08 +00:00
Mitchell Livingston ee37bbb335 small correction 2006-12-11 01:25:28 +00:00
Mitchell Livingston 1a22401c36 better client version display for some clients 2006-12-11 01:23:09 +00:00
Mitchell Livingston 9c6264d4b8 ascii conversion fix 2006-12-07 23:08:44 +00:00
Mitchell Livingston 1d43fbea7f more accurate BitTornado id 2006-12-07 22:28:00 +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
Josh Elsasser 1f7be3430f Fix an infinite loop triggered by an invalid HTTP chunked response. 2006-11-28 21:45:37 +00:00
Mitchell Livingston d47fe45226 merge tracker address and announce address into one field in the inspector 2006-11-23 04:10:16 +00:00
Mitchell Livingston 096f550d4a stupid typo 2006-11-23 02:55:28 +00:00
Mitchell Livingston 4c32f40f3b small adjustments to inspector and check for utf-8 strings 2006-11-23 02:53:47 +00:00
Mitchell Livingston 4306c7cfa5 add support in libT and the mac interface for displaying comment, creator, and date created 2006-11-23 01:38:18 +00:00
Mitchell Livingston de7bdd1a87 add Electric Sheep to clients list 2006-11-19 21:33:49 +00:00
Eric Petit 716482bd85 Make sure strcatUTF8 leaves the string null terminated (spotted by Adam Bozanich) 2006-11-18 06:01:50 +00:00
Eric Petit ad0b19375f Handle torrents with empty folders (fixes #12) 2006-11-10 21:30:32 +00:00
Eric Petit 3f129d8829 Adds progress in tr_peer_stat_t 2006-11-10 04:21:46 +00:00
Eric Petit 7b375e9736 Fix for ABC 3.1.0 2006-11-09 20:49:51 +00:00
Eric Petit 9b3802f23a Saves a list of peers when you pause a torrent, and tries to reconnect to them next time you resume it 2006-11-09 04:45:14 +00:00
Mitchell Livingston 52e66c96f8 Don't request more peers if stopping (or changing ports). 2006-11-09 04:38:32 +00:00
Eric Petit 773a0ff0b6 BeOS/BONE compile fix 2006-10-17 18:48:04 +00:00
Mitchell Livingston fa59a58a82 don't know how this happened... 2006-10-13 19:04:29 +00:00
Mitchell Livingston c521f412ad in info show the number of incoming connections next to total connections 2006-10-13 18:58:12 +00:00
Josh Elsasser 631df817ae Fix for trackers that include parameters in announce URL. 2006-10-13 07:42:55 +00:00
Josh Elsasser f97c34da93 Try to get home directory with getpwuid(getuid()) if getenv("HOME") fails. 2006-10-13 06:29:26 +00:00
Josh Elsasser 4f3adfc8d7 Prevent overflow when reading/converting strings from the torrent metainfo. 2006-10-13 00:26:35 +00:00
Josh Elsasser d202bc4f1e Fix a few minor style nits.
Use a floats instead of uint8_ts for piece percentages.
2006-10-13 00:23:20 +00:00
Mitchell Livingston 663c671f93 Initial attempt at against the completeness of a specific piece. 2006-10-12 23:34:20 +00:00
Josh Elsasser 025f466489 I guess I don't know how xml namespaces work. 2006-09-28 03:33:17 +00:00
Josh Elsasser bc366f8de1 How about we actually put an <?xml?> tag in the xml we send? 2006-09-28 02:33:02 +00:00
Josh Elsasser 6fd43ab22b More miscellaneous UPnP fixes. 2006-09-28 02:27:42 +00:00
Josh Elsasser ab661c6dc9 Minor UPnP compatibility fixes. 2006-09-28 01:40:51 +00:00
Josh Elsasser a1983664f2 Don't verify part of the UPnP root descript that apparently isn't standard. 2006-09-28 00:17:56 +00:00
Josh Elsasser 7bb623eb43 Add more UPnP debugging messages. 2006-09-27 23:23:22 +00:00
Josh Elsasser 9d17424799 Fix extra space in tracker HTTP request line. 2006-09-27 22:23:42 +00:00
Josh Elsasser 13c827a76e Add missing prototype for tr_peerIsIncoming(). 2006-09-26 22:37:53 +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 5b58c7aec0 Properly exit the upnp device pulse when a loop is detected. 2006-09-26 18:43:02 +00:00
Eric Petit 8a7edafb4e Don't attach peers to inactive torrents (should fix the CLOSE_WAIT connection leaks) 2006-09-26 11:16:40 +00:00
Eric Petit c6df4005e1 Remember whether a peer comes from an incoming or outcoming connection 2006-09-25 21:56:52 +00:00
Josh Elsasser 0257761670 Merge nat-traversal branch to trunk. 2006-09-25 18:37:45 +00:00
Josh Elsasser 40158c766f Add KTorrent, libTorrent and MLDonkey to clients list. 2006-09-22 10:05:51 +00:00
Mitchell Livingston 297d2862e1 stupid mistake in last commit 2006-09-12 01:41:17 +00:00
Mitchell Livingston 0c11cb4319 Add Opera to the clients list. 2006-09-12 01:38:57 +00:00
Josh Elsasser ff8cef150c Add an assertion. 2006-09-08 23:19:15 +00:00
Mitchell Livingston 8aeb2fba5a add bitrocket to the client id's (you have to acknowledge the competition...) 2006-09-07 21:42:41 +00:00