Commit Graph

4754 Commits

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