Eric Petit
26b837ffc0
Adds basename/dirname implementation for platforms that lack it (BeOS...)
2007-07-10 11:30:11 +00:00
Charles Kerr
043ba9e1bf
more fastresume fixin'
2007-07-10 03:49:10 +00:00
Charles Kerr
e45df69b9a
oops, that debugging statement shouldn't've been checked in
2007-07-10 03:45:58 +00:00
Charles Kerr
adb3d2399b
fix dnd-setting bug created while splitting DND and priorities into two separate entities
2007-07-10 03:41:16 +00:00
Charles Kerr
0c39aa6565
minor cleanups of last checkin
2007-07-10 03:23:07 +00:00
Charles Kerr
ed226a32ac
splitting dnd and priorities apart, and moving the file storage for those fields into fastresume
2007-07-10 03:12:46 +00:00
Charles Kerr
8d37a2601e
remove unused functions tr_ioRemoveResume() and fastResumeRemove()
2007-07-10 00:33:48 +00:00
Charles Kerr
9c73ecbf63
more assertion tests to tr_peerGotBlockFromUs() and tr_peerSentBlockToUs() to smoke out any remaining spurious ul/dl bytecounts
2007-07-09 23:27:57 +00:00
Charles Kerr
bcb3cf99ab
Revert version back to 079 as per BentMyWookie's suggestion
2007-07-09 23:09:00 +00:00
Charles Kerr
caf68deb8f
don't calculate swift largesse for torrents we're seeding.
2007-07-09 20:26:16 +00:00
Charles Kerr
b79beeff66
clean up #includes a bit.
2007-07-09 20:10:42 +00:00
Charles Kerr
34b4d0b7f9
fix r2306 double-free crash reported by Gimp_, webaake
2007-07-09 16:30:20 +00:00
Charles Kerr
3a4a0053ca
give the nightlies a peer id of 0079, to differentiate between the previous stable release (0072) and the next one (0080)
2007-07-09 05:40:35 +00:00
Charles Kerr
8fd06f3687
fix values for tr_cpLeftUntilComplete(), which were slightly off. (TooMuchTime)
2007-07-09 05:20:23 +00:00
Charles Kerr
08f787291a
remove the "peer is asking for too many blocks!" warning reported by Gimp_ by changing from a fixed-size array to a linked lists of incoming requests
2007-07-09 04:37:16 +00:00
Charles Kerr
b1ab3968e7
add Transmission's SVN version number to the id string we send the tracker
2007-07-09 04:34:54 +00:00
Charles Kerr
26660b0594
fix broken rate control.
2007-07-07 04:13:13 +00:00
Charles Kerr
a62302d709
Better handling of malformed bencoded strings. Thanks to cluthi81 for reporting this.
2007-07-06 20:43:17 +00:00
Charles Kerr
73af49bd08
don't crash when creating a single-file torrent of a zero-byte file. Reported by BentMyWookie.
2007-07-06 18:24:54 +00:00
Charles Kerr
d8a6dd1e28
fix inout.c read/write mode bug.
2007-07-06 17:19:34 +00:00
Charles Kerr
a166914a27
fix endgame bugs
2007-07-06 16:17:37 +00:00
Charles Kerr
3fda85725c
fix peer memory leak.
2007-07-06 15:51:06 +00:00
Eric Petit
981ede4d4b
Fixes a typo that caused us to reject all incoming connections
2007-07-04 15:04:05 +00:00
Charles Kerr
18aa394019
when creating a torrent, initialize its cpStatus field before passing it to the torrent's worker thread
2007-07-02 01:29:05 +00:00
Charles Kerr
bfee506ff4
Move the initial fastresume check into the thread that creates the torrent, rather than in the torrent's worker thread
2007-07-01 19:10:14 +00:00
Charles Kerr
432c26d353
Fix makemeta infinite loop reported by BentMyWookie
2007-07-01 14:04:18 +00:00
Charles Kerr
0fb5d03514
d'oh! openssl has rc4 already.
2007-07-01 12:09:43 +00:00
Charles Kerr
e77a18c882
make the "Error while parsing bencoded data" more helpful by showing the bad bencoded data. (though the string might be very long...)
2007-07-01 02:54:37 +00:00
Charles Kerr
58f89cdc77
replace the unhelpful error message "error: insufficient resources" with more descriptive cases
2007-07-01 01:50:14 +00:00
Charles Kerr
ed4e789b97
Silence the "Too many requests!" error that's not really an error
2007-06-30 22:47:59 +00:00
Charles Kerr
3b1597789e
fix r2252 copy-and-paste bug. Thanks BentMyWookie
2007-06-30 21:39:03 +00:00
Charles Kerr
4784289921
fix bug that caused libtransmission to think private torrents were public.
2007-06-30 21:29:49 +00:00
Charles Kerr
c58013c048
don't count too many bytes in the last block in tr_cpDownloadedValid(), tr_cpLeftUntilDone(), tr_cpLeftUntilComplete(). Very minor speedups in tr_bitfieldHas(), tr_bitfieldAdd(), tr_bitfieldRem().
2007-06-30 21:11:17 +00:00
Charles Kerr
bacc2dc445
I wonder what this is for.
2007-06-30 19:46:41 +00:00
Charles Kerr
b6819d6a12
fix r2247 oops
2007-06-30 15:16:08 +00:00
Charles Kerr
3e0cac55fd
(1) check a torrent's `fast resume' state as soon as it's added. (2) in gtk, show % done even when torrent is stopped
2007-06-30 13:53:10 +00:00
Charles Kerr
6c6732ed39
make tr_torrentInfo() a const function
2007-06-30 13:36:58 +00:00
Charles Kerr
ec12220404
make decrementing the torrent count the last thing we do when destroying a torrent.
2007-06-30 13:19:57 +00:00
Charles Kerr
05ca8403c6
* make tr_cpLeftUntilDone() slightly more accurate
...
* simplify completion code a little
2007-06-30 12:54:26 +00:00
Charles Kerr
2b1cf88ea9
fix crash reported by persept
2007-06-30 12:46:45 +00:00
Charles Kerr
781c557e52
use tr_new(), not g_new(). I've been hacking in glib too long
2007-06-29 17:29:02 +00:00
Charles Kerr
59388ed0ba
fix some ugliness from last night's hackfest
2007-06-29 17:24:14 +00:00
Charles Kerr
3a73f6790e
Fix endgame bug that caused the last 2-3% to drag out forever in recent nightlies. Thanks SoftwareElves
2007-06-29 06:24:55 +00:00
Charles Kerr
ab191885b5
revert one of last checkin's changes to better handle low peer situations. Thanks to SoftwareElves for the helpful explanation.
2007-06-29 06:03:54 +00:00
Charles Kerr
f0950d7390
lots of performance improvements. fun!
...
* dynamically resize the request queue on a per-peer basis based on its speed
* fix a huge bug that sabotaged the `swift' performance
* on startup, unchoke peers much sooner
* bump MAX_PEERS and PERCENT_PEER_WANTED
* do a better job of estimating speed on torrents less than 30 seconds old.
* getting an unrecognized extension ID, ignore it instead of stopping the torrent.
2007-06-29 05:45:17 +00:00
Charles Kerr
9b65364dcc
fix divide by zero bug in makemeta code, calculating number of pieces for a zero-sized file. (SoftwareElves)
2007-06-29 02:53:12 +00:00
Charles Kerr
3d7f38fa68
get the bencoded text compliant with the bittorrent spec w.r.t. dictionaries: "keys must be strings and appear in sorted order (sorted as raw strings, not alphanumerics)."
2007-06-29 02:27:00 +00:00
Josh Elsasser
a09a9c9157
Add client/server name to IPC version handshake.
2007-06-29 02:21:29 +00:00
Charles Kerr
6890359001
Make tr_torrentParseHash() public
2007-06-28 23:35:02 +00:00
Charles Kerr
73ee59a21f
* (libT) stopped torrents shouldn't use CPU cycles.
...
* (gtk) if a torrent is stopped when you exit, keep it stopped when restarting.
2007-06-28 17:43:53 +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
81dfe09b5e
make it safe to pass a bzero()ed struct into tr_metainfoFree()
2007-06-28 02:02:30 +00:00
Charles Kerr
831cd4a3da
better documentation on tr_torrentParse()'s behavior
2007-06-28 01:20:10 +00:00
Charles Kerr
8aa002b25e
* fix memory leak when adding torrents.
...
* zero out tr_torrentParse()'s tr_info_t before filling it
2007-06-28 01:12:16 +00:00
Charles Kerr
ae40410b4e
Fix tr_getComplete() and tr_getDone() bug reported by BentMyWookie
2007-06-28 00:09:59 +00:00
Charles Kerr
995c1cdbb1
fix r2210 oops
2007-06-28 00:04:42 +00:00
Charles Kerr
63fce9cf06
simplify tr_torrentParse() based on BWM's feedback
2007-06-27 23:22:09 +00:00
Charles Kerr
8e401729cd
Modified tr_torrentCanAdd() to give the new functionality BMW suggests
2007-06-27 14:54:31 +00:00
Charles Kerr
47a5ff4120
add tr_torrentCanAdd() as per BentMyWookie's request... clear tracker error string when restarting... fix r2202 "completed" announce bug.
2007-06-27 05:14:38 +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
Charles Kerr
21cf51e3f7
Add tr_stat_t.downloadedValid hook to IPC for Gimp_
2007-06-26 17:52:45 +00:00
Charles Kerr
6011450518
building up our threading tools: implement RW locks
2007-06-25 21:52:18 +00:00
Charles Kerr
9d139eefe4
possible fix for the -0.0 percent done bug
2007-06-23 02:24:03 +00:00
Charles Kerr
ab85deaf51
add color-coded lines to the gtk debug window -- info is black, debug is grey, errors are red...
2007-06-22 20:59:23 +00:00
Charles Kerr
5401979ffa
misc cleanup.. ansification; fix my own typos, etc...
2007-06-22 04:30:39 +00:00
Charles Kerr
e087ac395a
Maybe fix the bug of progress-for-done not including non-checked files even if they're finished
2007-06-22 00:44:26 +00:00
Charles Kerr
e161544761
adding experimental implementation of Tamilmani's `Swift' tit-for-tat algorithm for testing. To tweak or disable, change the values around line 50 of libtransmission/peer.c
2007-06-21 14:47:26 +00:00
Charles Kerr
bda9067ee7
more improvements to makemeta's piece size heuristics (SoftwareElves & charles_)
2007-06-19 16:36:15 +00:00
Charles Kerr
d4e1c19e32
better algorithm to decide on a good piece size. (SoftwareElves & charles_)
2007-06-19 06:01:30 +00:00
Charles Kerr
5128d0a434
fix terribly nasty bencode corruption bug from r2024 regarding the sorting of dictionary keys in tr_bencDictAdd(). this corrupts all the pointers that are already floating out there to existing values in the dictionary... if BitTornado really needs these to be sorted, then we should sort a temporary copy in tr_bencSave(), not here in our internal structures.
2007-06-19 03:01:57 +00:00
Charles Kerr
64ce2edbfb
* makemeta: don't add dotfiles to the torrents
...
* bencode: trying to chase down a memory leak
2007-06-19 01:49:56 +00:00
Charles Kerr
4eea50e991
ugly code removal: we were calling stat() three times on each file! (BMW: builder struct changed slightly... this shouldn't affect the mac client but you might want to recompile to confirm)
2007-06-19 00:08:39 +00:00
Mitchell Livingston
a4d5dfa328
avoid ridiculously rate divide-by-0
2007-06-19 00:08:06 +00:00
Charles Kerr
9791bb6f22
better error message (BigBossman)
2007-06-18 21:03:10 +00:00
Charles Kerr
64c21325e8
make the torrent file parser errors more useful. (John_Clay)
2007-06-18 20:56:04 +00:00
Charles Kerr
7afba516ff
fix platform.c oops reported by BigBossman
2007-06-18 20:36:25 +00:00
Charles Kerr
06e761d950
* fix error checking large files reported by Gimp_
...
* portability changes to pathname/filename building
* small gratuitous changes
2007-06-18 19:39:52 +00:00
Charles Kerr
932438eba5
Fix very large file error reported by Gimp_
2007-06-18 05:05:16 +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
Eric Petit
1636fc70d2
BeOS fixes
2007-06-14 11:41:09 +00:00
Josh Elsasser
cf6994f559
Fix upnp verbose logging to show outgoing http requests.
2007-06-10 23:12:43 +00:00
Josh Elsasser
0eaedc2fe3
Return bad-format message when appropriate.
...
Fix supported message to be more accurate.
2007-06-10 22:56:18 +00:00
Josh Elsasser
1315161ae4
Add some code for verbose UPnP logging which can be enabled at compile-time.
2007-06-10 22:26:59 +00:00
Josh Elsasser
de7287a829
Add a missing quote and fix UPnP regressions.
2007-06-10 22:01:46 +00:00
Josh Elsasser
b19a3ec7d9
Add bad-format message.
2007-06-10 20:31:52 +00:00
Eric Petit
ba5bb320ca
Bencoded dictionaries are now sorted alphabetically, this should fix
...
compatibility with some clients, incl. BitTornado-based ones.
(Reported by roee88 from LH-ABC)
2007-06-10 15:38:58 +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
4ada334f57
patches from Charles Kerr to update the Inspector in GTK and fix some memory leaks
2007-06-06 00:30:13 +00:00
Mitchell Livingston
f7501a0dd6
attempt to kill an io bug
2007-05-31 23:40:56 +00:00
Mitchell Livingston
16627cc209
patch to avoid unneeded io checking when starting
2007-05-30 05:16:43 +00:00
Mitchell Livingston
3852bbb6e6
some rewriting of the filter bar so it can dynamically place the buttons, and some extra, yet-to-be-used code
2007-05-29 02:00:23 +00:00
Mitchell Livingston
73c6c3324e
when pausing and then resuming a checking transfer, recheck from the start
2007-05-28 22:32:39 +00:00
Mitchell Livingston
78afc2f205
swap a condition in the io code
2007-05-28 16:51:18 +00:00
Mitchell Livingston
c8ac8e312b
make stalled check work for minutes, not seconds
2007-05-28 16:40:56 +00:00
Mitchell Livingston
0f9766145b
patch from Charles Kerr: perform file checking one at a time ( fixes #124 )
2007-05-28 15:23:28 +00:00
Mitchell Livingston
422fff124c
remove double malloc
2007-05-27 23:35:59 +00:00
Mitchell Livingston
0eca8679f8
patch to speed up io from denisx
2007-05-27 23:32:26 +00:00
Josh Elsasser
e24eea37a6
Prevent our __unused hack from breaking standard headers on linux.
2007-05-27 16:30:04 +00:00
Mitchell Livingston
3d48ed389d
swap download and upload activity checks
2007-05-25 21:44:26 +00:00
Mitchell Livingston
e5a199d813
set activity when actually uploading
2007-05-25 21:38:24 +00:00