Commit Graph

5196 Commits

Author SHA1 Message Date
Josh Elsasser 63bb617fa4 Add more I/O error codes. 2007-04-20 02:05:07 +00:00
Josh Elsasser f9613c4dbc Quick hack to get some PPP UPnP devices working. 2007-04-20 01:27:58 +00:00
Josh Elsasser 312fe89d7b Add some debugging code that's handy for parsing upnp root files. 2007-04-20 00:39:52 +00:00
Mitchell Livingston 049e1dbebf better identify some versions of Bits on Wheels 2007-04-19 06:22:37 +00:00
Josh Elsasser 5495191412 Fix paths on OSX. 2007-04-18 19:32:53 +00:00
Josh Elsasser 6f1c25a22e Don't use uninitialized variables. 2007-04-18 16:41:37 +00:00
Josh Elsasser 132e4f5c8c Merge daemon branch to trunk. 2007-04-18 16:39:10 +00:00
Josh Elsasser 19c4640dbd Fix stupid, stupid mistake preventing frontend from seeing changed public port. 2007-04-17 02:35:14 +00:00
Josh Elsasser 32f9de0ab9 Don't disconnect azureus peers with a newer peer protocol version,
they seem to be able to speak version 1 to us just fine.
Fix a bug with disconnecting peers when attempting to send empty PEX message.
2007-04-16 21:21:00 +00:00
Josh Elsasser 1323459ad4 Fix port crap. 2007-04-16 05:48:52 +00:00
Josh Elsasser 57d06d55e8 Don't try port mapping if binding the port fails. 2007-04-15 07:36:24 +00:00
Josh Elsasser bb6f766112 Escape nonprintable characters in TYPE_STR values in tr_bencPrint output. 2007-04-15 06:21:12 +00:00
Mitchell Livingston a5bf61534e update peer id to include maintenance number 2007-04-11 20:27:41 +00:00
Mitchell Livingston a14208fbf6 typo fix in new message 2007-04-11 14:14:04 +00:00
Josh Elsasser 8ed9e5d964 Replace the 'Nice try...' message with something more reassuring. 2007-04-11 05:31:40 +00:00
Josh Elsasser eccba76d2b Fix UPnP for vendors which specify relative paths and no urlbase. 2007-04-09 23:06:28 +00:00
Josh Elsasser e15e9e72ee Whoops, set tr_info_t->torrent for non-saved torrents again. 2007-04-08 21:25:01 +00:00
Josh Elsasser aeb6efb6dd Refactor multitracker code a bit. 2007-04-08 05:41:44 +00:00
Mitchell Livingston 704346726e change and simplify the version string a bit 2007-04-07 18:58:56 +00:00
Mitchell Livingston 96e9685c6a add missing ) 2007-04-06 01:52:16 +00:00
Mitchell Livingston 5a74dcf285 add maintenance number (z in x.y.z) to user-agent 2007-04-05 23:26:14 +00:00
Mitchell Livingston 91f7df5efd add qBittorrent to clients 2007-04-05 22:07:44 +00:00
Eric Petit 127a26bc7b Don't assume that peers send us blocks in the same order we sent the requests (another cause of overdownloading) 2007-04-05 16:23:00 +00:00
Eric Petit a1a09d21ab Send 'cancel' messages when getting choked, in case the peer doesn't drop our previous requests as expected (one cause of overdownloading) 2007-04-05 16:01:40 +00:00
Josh Elsasser 498cbddb2e Add remaining file download to tr_stat_t. 2007-04-04 00:55:53 +00:00
Josh Elsasser fea458dcb5 I suck at logic, bad. 2007-04-03 18:43:26 +00:00
Josh Elsasser 5035d519cc Don't return a NULL client string when not connected. 2007-04-03 18:43:01 +00:00
Josh Elsasser 0cb6a81077 Don't try to generate a client string for a peer before we have their handshake. 2007-04-03 18:34:55 +00:00
Josh Elsasser 58333068e8 Cache peer client name.
Don't create an 'unknown client' name with nonprintable characters.
2007-04-03 18:22:58 +00:00
Mitchell Livingston dc456f31e6 add BitBuddy to clients 2007-04-03 13:30:19 +00:00
Josh Elsasser 4cdada4c1f Use frontend-specific tags for resume files. 2007-04-03 05:39:41 +00:00
Josh Elsasser 7d67c4b457 Fix benc list allocations for like the fourth time.
Hopefully this time it actually works.
2007-04-03 00:51:22 +00:00
Josh Elsasser 574902b461 Fix benc list/dict allocation. 2007-04-02 21:19:53 +00:00
Josh Elsasser 9bb7063378 Silence some warnings. 2007-04-02 20:49:08 +00:00
Josh Elsasser 7e03349f76 Merge r1634 to trunk. 2007-04-02 20:38:23 +00:00
Mitchell Livingston 593bf0e71a add TuoTu to clients 2007-04-01 01:24:36 +00:00
Josh Elsasser b8d03e5958 Add API function to disable PEX for a torrent. 2007-03-31 19:19:09 +00:00
Josh Elsasser a3ad4c4cc4 Unbreak multifile torrents. 2007-03-31 19:10:32 +00:00
Josh Elsasser ebcc73121b Remove tr_bencListIter(), it was a stupid idea. 2007-03-31 17:40:28 +00:00
Mitchell Livingston f42bf86042 add CTorrent to clients 2007-03-31 00:14:32 +00:00
Josh Elsasser 5a59d210c4 Truncate files that are too large during initial hash check. 2007-03-30 17:35:23 +00:00
Josh Elsasser 978b5cec11 Add iterator function for bencoded lists. 2007-03-30 00:12:39 +00:00
Josh Elsasser 0c1c57a62a Eliminate an error-prone varargs function. 2007-03-29 21:02:59 +00:00
Josh Elsasser 66cb8d5835 Move debug message, we don't want to see it 30 times a second. 2007-03-29 01:09:03 +00:00
Josh Elsasser 367426b51b Show peers found and used when adding new peers.
Accept --without-foo in addition to --disable-foo in the configure script.
2007-03-29 00:19:09 +00:00
Josh Elsasser 40397dd9f2 Unbreak azureus peer protocol.
Add more peer debug messages.
Fix pex interval.
2007-03-28 06:28:34 +00:00
Mitchell Livingston 84fad8a25f slightly updated help 2007-03-28 01:23:21 +00:00
Josh Elsasser 3394f8d2a4 Revert unintended changes. 2007-03-26 19:21:25 +00:00
Josh Elsasser d390c4c871 Don't save or load cached peers for private torrents. 2007-03-26 19:19:33 +00:00
Josh Elsasser df24b7bc09 Fix private flag check to treat torrents with private=0 as public. 2007-03-25 15:37:08 +00:00
Josh Elsasser d976deba1a A couple trivial improvements to tree.h
Import queue.h from openbsd.
2007-03-23 08:41:15 +00:00
Josh Elsasser 09c87aad84 Merge PEX branch, I hope this works. 2007-03-23 08:28:01 +00:00
Josh Elsasser 92637d591e Optionally return the info hash after attempting to load a duplicate torrent. 2007-03-22 18:07:22 +00:00
Mitchell Livingston ccf8d753c6 improve KTorrent id a bit more 2007-03-16 14:28:57 +00:00
Mitchell Livingston 04da2af57c more accurate ktorrent client id 2007-03-16 04:53:40 +00:00
Mitchell Livingston bdde9a60f6 silence some warnings 2007-03-14 02:20:35 +00:00
Mitchell Livingston aa1705226c add BTG to clients 2007-03-14 02:08:40 +00:00
Josh Elsasser 494ca91fd6 Append a frontend-specific tag to saved torrents.
This prevents one frontend from deleting a saved torrent used by another.
2007-03-13 06:56:50 +00:00
Josh Elsasser 5a62e83689 Don't use sprintf, strcpy, or strcat. 2007-03-12 00:04:11 +00:00
Josh Elsasser 18c171d0ae Send the correct bitfield in the bitfield message. 2007-03-09 01:43:10 +00:00
Josh Elsasser 67bfe9af61 Merge bitfield fix from r1548 to the trunk. 2007-03-08 06:04:47 +00:00
Mitchell Livingston df6877d104 "creator" was set to "comment" by a typo in [1524] 2007-03-06 03:39:48 +00:00
Josh Elsasser 0e79140f26 Don't clobber the private flag during torrent initialization.
Display if the private flag is set in transmissioncli -i
2007-03-06 01:58:14 +00:00
Josh Elsasser c3acb84ab5 Fix calloc args. 2007-03-06 00:56:30 +00:00
Josh Elsasser fc76c65794 Check all offsets and lengths received from the peer before using them. 2007-03-06 00:49:35 +00:00
Josh Elsasser e9b4fd8aff Do bounds checking on bitfields. 2007-03-05 23:03:38 +00:00
Josh Elsasser caebe8b862 Use memset instead of bzero. 2007-03-05 03:41:13 +00:00
Josh Elsasser 2e65e41d75 Check for zero-length torrent name after stripping slashes. 2007-03-05 00:18:05 +00:00
Josh Elsasser 41a81769e3 Better checking of metainfo.
Strip / out of filenames and path components.
Safely handle . and .. in file paths.
2007-03-05 00:07:48 +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 963a4fdc81 Clamp file progress to 0.0-1.0
Clear focus when opening files dialog.
2007-02-23 11:49:18 +00:00
Josh Elsasser efdc43ebb7 Add function to return the progress of each file in a torrent. 2007-02-23 11:26:48 +00:00
Mitchell Livingston 0ee76befd9 remove unused custom subclass 2007-02-16 02:56:19 +00:00
Mitchell Livingston 6eb1677fd4 updated formatting for TorrentStorm 2007-02-14 16:33:17 +00:00
Mitchell Livingston f983fe04a6 add Shad0w's client 2007-02-14 16:30:11 +00:00
Mitchell Livingston 62bbab9ab5 added Tribler to clients 2007-02-14 16:21:59 +00:00
Josh Elsasser c4ad02aaf3 Remove natpmp and upnp locks and rely on the shared lock. 2007-02-06 05:37:48 +00:00
Josh Elsasser f67ad8cf47 Add a new interface to make the public port available to the frontend. 2007-02-06 04:26:40 +00:00
Josh Elsasser b2fb0bbf3c Clean up NAT-PMP code a little.
Correctly handle a NAT-PMP device mapping a different public port than requested.
2007-02-06 03:24:55 +00:00
Mitchell Livingston 5d2ae4eb61 simplify options for download limits in inspector with 3 check states: mixed for system defaults, checked for override with limit, and no check for no limit 2007-02-02 17:33:32 +00:00
Mitchell Livingston 370e9ab355 do the same calculation one time per loop 2007-01-31 16:23:07 +00:00
Mitchell Livingston 85044acbd6 add Ares Galaxy to clients 2007-01-31 02:11:18 +00:00
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
Josh Elsasser 50ed4c6770 Allow a couple of the message functions to be called before the first tr_init() 2006-08-30 16:35:33 +00:00
Josh Elsasser a647015714 Add time to messages. 2006-08-22 02:32:46 +00:00
Josh Elsasser 43e6dd56aa Rework the message stuff again to be easier on the frontend. 2006-08-22 02:12:58 +00:00
Josh Elsasser 69f43ff729 Make message level available to message handler callback. 2006-08-20 22:45:04 +00:00
Josh Elsasser 8bc4cefa2d Allow frontend to change message output level.
Rename tr_setErrorFunction() to tr_setMessageFunction()
2006-08-20 18:15:25 +00:00
Josh Elsasser d07b688c86 Unbreak BeOS build. 2006-08-18 08:46:19 +00:00
Josh Elsasser 86d9310274 Try to keep track of the overall speed of the swarm.
Patch by Denis Ahrens.
2006-08-16 19:21:09 +00:00
Mitchell Livingston f6cd9ef67f Better BitTorrent client identification. 2006-08-16 01:52:20 +00:00
Josh Elsasser cc242002a1 Try to find a UTF-8 filename in single-file mode too. 2006-08-15 21:38:36 +00:00
Mitchell Livingston 199bb19e14 Check for connected peers, as well as better peer table resizing behavior. 2006-08-15 00:59:44 +00:00
Mitchell Livingston d232d371b5 IP address in peer table 2006-08-14 22:59:30 +00:00
Josh Elsasser f41a6ade33 Retrieve peer address as a string via tr_torrentPeers(). 2006-08-14 22:42:32 +00:00
Mitchell Livingston bb5e80c98d Add bits on wheels to clients list. 2006-08-14 22:33:41 +00:00
Mitchell Livingston ebf7b6eac1 Lock and unlock while accessing peers in libtransmission.
Handle lack of client id in clients.h rather than the gui.
2006-08-14 22:27:34 +00:00
Mitchell Livingston 402e827a87 Fix for when the returned client string is "unknown client (" 2006-08-13 21:56:20 +00:00
Josh Elsasser 1c7d77b501 Use the proper name of uTorrent through the magic of UTF-8. 2006-08-13 21:42:19 +00:00
Mitchell Livingston 3b56abf6fa Add uTorrent to clients. 2006-08-13 21:38:19 +00:00
Mitchell Livingston f6eea9e591 Free even more memory. 2006-08-13 21:24:23 +00:00
Mitchell Livingston 62d9f1ebb1 Get peers separately from the rest of the stats. This should also get rid of a memory leak. 2006-08-13 21:16:18 +00:00
Mitchell Livingston e392a84e36 Fix a memory leak. 2006-08-13 19:55:59 +00:00
Mitchell Livingston f76f1c3091 Some changes to getting peers in libtransmission. Now it uses a separate structure for the GUI accessing peers. 2006-08-13 19:43:15 +00:00
Mitchell Livingston e17b795634 lock torrent before accessing peers 2006-08-13 16:19:19 +00:00
Josh Elsasser bf69e47d5d Use UTF-8 encoded name and paths in torrent file if available. 2006-08-12 21:52:09 +00:00
Mitchell Livingston 2a36da8b60 Some new accessors for libtransmission...I don't see what harm these can do 2006-08-12 00:38:26 +00:00
Mitchell Livingston af77d3d170 Small iterator change in libtransmission by oleo. 2006-08-09 22:53:27 +00:00
Eric Petit beebc5bbfa Typo 2006-08-06 17:16:15 +00:00
Eric Petit 67cbcb68b1 AmigaOS4 patch by Andrea Palmate 2006-07-23 19:39:02 +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
Eric Petit 67eaa8809b Increased limit on the size of torrent files 2006-07-16 16:05:43 +00:00
Josh Elsasser e75f0a6fab What was I thinking? 2006-07-11 20:53:46 +00:00
Josh Elsasser 2c5bb97b0b Fix a couple more memory leaks in edge cases. 2006-07-07 23:13:51 +00:00
Josh Elsasser a2962c4a71 Don't leak memory when bencode parsing fails. 2006-07-07 16:21:30 +00:00
Josh Elsasser 23965844d9 Don't try to free memory that we never allocated. 2006-07-04 23:59:51 +00:00
Josh Elsasser 02e5485c0f Move the ETA cap of 99:59:59 from libtransmission to the MacOS X GUI.
Display the ETA better in the GTK GUI.
2006-07-04 22:31:14 +00:00
Eric Petit e1cf898983 Don't crash when pausing a torrent that is checking files
(refs http://transmission.m0k.org/forum/viewtopic.php?p=2445#2445)
2006-06-20 14:29:12 +00:00
Eric Petit db26a7e23a Don't assume that a download is a folder if there only is one
file (fixes #36)
2006-06-20 02:34:34 +00:00
Eric Petit 2e177da783 Quick fix for #69 (flush disk cache when complete) 2006-06-20 00:34:24 +00:00
Eric Petit f366b9819c Fixes scraping with transmissioncli (#79) 2006-06-20 00:28:16 +00:00
Eric Petit cca3cab9fc Fixes #22 (all torrents apparently at 0 % when T restarts) 2006-06-13 00:28:03 +00:00
Josh Elsasser e1c5b19b46 Fix bug where upload and download totals were discarded when fastresume failed. 2006-06-11 04:32:41 +00:00
Josh Elsasser 0600f3d4aa Add support to libtransmission and the MacOS X GUI for saving private copies of
torrent files.
2006-06-09 19:53:35 +00:00
Eric Petit e72c5580c6 Split and moved makefiles into a seperate folder, fixes and speed-up to
the retrieving of the SVN revision, OS X packages now show the revision
if this isn't a release build
2006-05-31 12:54:53 +00:00
Eric Petit a3d3d1f33d Splits VERSION_STRING and VERSION_REVISION, removes duplication of flags
in the Xcode project file
2006-05-29 22:44:21 +00:00
Eric Petit f98fe6a1b0 Added $Id$ keywords and updated a few headers 2006-05-29 21:21:23 +00:00
Eric Petit aeb4c6e208 Toughens the criteria for banning, tries to make guesses about the peers two got banned for a few pieces because of someone else 2006-05-13 17:28:54 +00:00
Eric Petit a006c25025 Adds automatic peer banning.
At first, peers get only banned for the bad pieces they've contributed to, i.e. we continue to ask them for other parts of the torrent. If more bad data keeps coming, the peer gets completely banned.
Based on Jeremiah Morris' patch.
2006-05-13 06:48:37 +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 cf56d58f06 A couple minor i18n cleanups.
Add italian translation.
Add an install make target for transmissioncli and transmission-gtk.
2006-04-25 08:14:37 +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 fa3b018e1f Ooops 2006-04-24 16:42:38 +00:00
Eric Petit 94b14b6271 Use file descriptors instead of streams (preliminary cleanup for fixes
to come in fdlimit*)
2006-04-23 17:03:12 +00:00
Eric Petit 3db5194740 Clean up, perform all DNS resolutions in a common thread. This should
fix the remaining issues with many open torrents
2006-04-22 21:39:17 +00:00
Eric Petit 766e834cde Code cleanup 2006-04-22 17:12:59 +00:00
Eric Petit d598822024 Portability fix (platforms such as sparc64 need uint32_t pointers to be
32-bits aligned)

Patch by Christian Weisgerber
2006-04-22 14:27:09 +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 58ec8a3b19 Show tracker errors again 2006-04-08 15:56:26 +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 b9a53769f9 Adds download rate limit 2006-04-07 12:09:08 +00:00
Josh Elsasser 8cb58aa4ee Don't print an error if the .depend files don't exist. 2006-04-05 09:45:09 +00:00
Josh Elsasser 794bd1a801 I will not commit without compiling first.
I will not commit without compiling first.
I will not commit without compiling first.
I will not commit without compiling first.
I will not commit without compiling first.
I will not commit without compiling first.
I will not commit without compiling first.
I will not commit without compiling first.
I will not commit without compiling first.
I will not commit without compiling first.
2006-04-05 09:37:18 +00:00
Josh Elsasser 3ea2daa3bc Bind the default port when starting the first torrent
if it hasn't been done already.
2006-04-05 09:27:10 +00:00
Eric Petit fde1bf8876 Nicer make output. Also moved the CLI client to its own folder like
other interfaces.
2006-04-04 20:23:19 +00:00
Eric Petit 235255b8f0 Merge compat-10.2 branch. This adds Jaguar compatibility on OS X, and
completes the Jam -> Make/XCode switch. Hope it doesn't break too much.
2006-04-03 19:29:09 +00:00
Eric Petit dfaa09ce40 Adds a real test for lrintf because some Linux systems, like BeOS, seem
to provide a non-working lrintf implementation
(Patch from Henner Sudek, modified)
2006-04-03 09:05:47 +00:00
Josh Elsasser ee1428db43 Patch from Jeremy Messenger to build on FreeBSD 4. 2006-03-31 17:52:07 +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 9321447c68 Fix for non-Darwin systems 2006-03-07 20:27:16 +00:00
Eric Petit bf7ce0a305 Started to switch to a Makefile-based build system (still very incomplete,
so the Jamfile are still there).
Set a few svn:ignore properties.
2006-03-07 20:23:40 +00:00
Eric Petit eba49d3d2a Quick fix for the 'getting unconnectable' problem (adds a timeout on
incoming connections)
2006-03-03 12:53:55 +00:00
Josh Elsasser a2066e56bf libtransmission:
Lazily bind the listening port to avoid spurious
 'Could not bind port 9090' error on startup.
2006-02-24 14:10:15 +00:00
Eric Petit 6197b6665c Added optimistic choking 2006-02-08 22:21:58 +00:00
Eric Petit c2fc72b477 Randomly choke and unchoke peers who upload less than 0.1KB/s to us,
instead of trying to compare their upload rates
2006-02-08 21:26:27 +00:00
Josh Elsasser a72881fdda Save resume information when a torrent finishes downloading. 2006-02-08 17:48:18 +00:00
Eric Petit d8bdcea349 Fixed fastResumeLoadOld 2006-02-08 16:49:00 +00:00
Josh Elsasser 9911026409 Merge the version 1 extensible resume file format,
as well as compatability code to read the existing version 0 files.
Note that older versions of transmission won't understand the version 1 format
and a hash check will be done on all the files.

Save uploaded and downloaded totals in the resume file.
2006-02-08 16:31:49 +00:00
Eric Petit 9b2e8566dd BeOS fixes 2006-02-07 09:34:30 +00:00
Eric Petit f1b113ec5b Cleaning and minor optims 2006-02-07 03:10:42 +00:00
Eric Petit fcd1c9a1a8 Force rates to 0 when paused, and download rate to 0 when seeding.
Increased OS X UI update interval to 1 second.
2006-02-07 02:32:50 +00:00
Eric Petit 355fe1273f Comments 2006-02-05 21:10:20 +00:00
Eric Petit 74b6e3f3ab Fixed no-limit upload 2006-02-05 09:42:38 +00:00
Eric Petit 77dc2be62a Fixed memleak
Don't count small messages in the download rate
2006-02-02 01:59:02 +00:00
Eric Petit 1d7f99b164 Workarounded a race condition 2006-02-01 14:05:48 +00:00
Eric Petit 00ef8642bf Fixes a crash (quite amazing that it didn't crash more often, actually...) 2006-01-31 07:11:28 +00:00
Eric Petit aa6c52ef46 Fixed a lame typo so the algorithm may actually work 2006-01-31 04:58:28 +00:00
Eric Petit ae8ef0dc83 Fixes a little memleak 2006-01-30 07:01:35 +00:00
Eric Petit cf392ea2c6 New choking algorithm (still needs work, it's inefficient, untested and
misses optimistic choking)
2006-01-30 06:54:31 +00:00
Eric Petit 76079f50e3 Fixed the build 2006-01-30 06:07:06 +00:00
Eric Petit b0bd6984ee s/2005/2006/ 2006-01-30 04:43:14 +00:00
Eric Petit 8c733df6a6 Added a rate calculator for each peer
Set up files for the choking algorithm (does nothing yet)
2006-01-30 04:42:43 +00:00
Eric Petit 28d43da1d1 Removed now unused tables and some now unused code 2006-01-30 02:13:40 +00:00
Eric Petit 58ec7a7e97 Rewrote rate control, background work for the download limit, the dl/ul
limits per torrent and for the choking algorithm
2006-01-30 01:58:27 +00:00
Eric Petit e5949bf6e2 Ignore requests for blocks we don't have, fixes the "readOrWrite ..." error 2006-01-28 04:05:20 +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
Josh Elsasser c2d5fe251e Fix a crash that I introduced with the shared port code. 2006-01-14 04:47:38 +00:00
Eric Petit 07b9da73fc Update 2006-01-11 2006-01-12 19:12:58 +00:00
Eric Petit f32ca66210 Update 2005-12-29 2006-01-12 19:01:41 +00:00
Eric Petit 82c038fabc Update 2005-12-26 2006-01-12 19:00:04 +00:00
Eric Petit 6c0a54caa5 Update 2005-12-25 2006-01-12 18:58:57 +00:00
Eric Petit 616ae26efa Update 2005-12-13 2006-01-12 18:52:15 +00:00
Eric Petit 39702a094a Update 2005-11-28 2006-01-12 18:44:29 +00:00
Eric Petit 5b06d13781 Update 2005-11-26 2006-01-12 18:43:18 +00:00
Eric Petit 835c3284dd Update 2005-11-24 2006-01-12 18:40:47 +00:00
Eric Petit 23ef3653e3 Update 2005-11-21 2006-01-12 18:33:20 +00:00
Eric Petit aad7bf22cb Update 2005-11-18 2006-01-12 18:32:29 +00:00
Eric Petit d2cc6ce7c6 Update 2005-11-17 2006-01-12 18:29:20 +00:00
Eric Petit 8adc2d7338 Update 2005-11-01 2006-01-12 18:20:48 +00:00
Eric Petit a6aa884776 Import from 2005-10-26 2006-01-12 17:43:21 +00:00