Charles Kerr
7249aed5e4
fix r4109 oops: a debugging console message snuck into svn
2007-12-09 17:17:44 +00:00
Charles Kerr
ffe9e52e14
I think this one-line change may fix all the "Transmission 0.95 ate my data, corrupted my hard drive, and killed my cat!" complaints
2007-12-09 15:26:27 +00:00
Charles Kerr
33f284ead1
let the other config directories that we create also respect umask
2007-12-09 15:22:01 +00:00
Charles Kerr
67a86a2274
finish the `shared' update: bind & listen the incoming port.
...
better logging in network code.
2007-12-09 00:28:34 +00:00
Charles Kerr
b17d8c34f8
undo r4093 for bmw
2007-12-08 19:47:44 +00:00
Charles Kerr
008a403463
ensure that the `file' variable passed to tr_msg() is never NULL
2007-12-08 19:42:07 +00:00
Charles Kerr
73ee11f233
Use libnatpmp for port mapping. rewrite the upnp/natpmp manager.
...
NOTE: this will break the xpjets build until SoftwareElves or a volunteer patches the xcode project file to make a libnatpmp library just like was done for libminiupnp.
2007-12-08 19:34:15 +00:00
Charles Kerr
d3d1263a84
use fizz' suggestion on from ticket #534 on how to make platform.c more portable wrt header include order
2007-12-07 19:25:54 +00:00
Charles Kerr
481a210e82
fix tracker connection error reported by Gimp_
2007-12-05 02:06:05 +00:00
Charles Kerr
39d8c74fcd
small tweak to play nice with old C compilers. Thanks to fizz for reporting & submitting a patch
2007-12-03 19:52:55 +00:00
Charles Kerr
de9080e9ef
fix tyop
2007-12-03 16:51:22 +00:00
Charles Kerr
f0d1fa0a76
finish fixing the recursive mutex + cond bug reported by sedatg & Waldorf
2007-12-03 15:27:38 +00:00
Charles Kerr
c68af92039
fix very annoying recursive mutex + pthread cond bug reported by setatg, Waldorf, and many others
2007-12-03 04:06:45 +00:00
Charles Kerr
7b068ed926
more mutex work
2007-12-02 18:20:37 +00:00
Charles Kerr
5e88ab235b
possibly get the pthread changes compiling for old versions of Linux
2007-12-02 17:15:52 +00:00
Charles Kerr
b14449fe80
possible fix for the crash reported by sedatg in ticket #519
2007-12-02 16:35:44 +00:00
Charles Kerr
abef433926
improve upload speeds when the speed limits are uncapped.
2007-12-01 23:08:34 +00:00
Charles Kerr
f534d0929c
use PMP_MCAST_ADDR, instead of a hardcoded address, in net.c
2007-12-01 05:11:30 +00:00
Charles Kerr
78f3c40484
get nat-pmp working again in Leopard. Thanks to Chinstrap for tracking down the problem & submitting a patch. See the comment in this changeset for more details.
2007-12-01 05:01:02 +00:00
Charles Kerr
0e1e7efd3b
take inspiration from Solomon when handling odd tracker errors that confuse tracker's request queue: stop the torrent.
...
when the tracker gives us errors that confuse the tracker work queue,
2007-11-30 23:37:44 +00:00
Charles Kerr
f2a08d272f
be more forgiving of tracker failure
2007-11-30 17:10:33 +00:00
Charles Kerr
332019593d
speed tweaks based on whitty's feedback
2007-11-29 02:56:31 +00:00
Charles Kerr
f9670dc7ac
throw away all pending `scrape' requests on shutdown... we don't need them then, so they just slow us down
2007-11-29 02:31:21 +00:00
Charles Kerr
827dc86bb4
rewrite the tracker code. this should improve and/or fix a number of bugs, including "too many open files", "router death", "slow internet", and the mutex release crash.
2007-11-29 00:43:58 +00:00
Charles Kerr
1e4b3a0577
make the peer stats a little easier to understand
2007-11-27 21:39:41 +00:00
Charles Kerr
398bc04bcf
housekeeping. revert r3984 at tiennou's request
2007-11-27 15:39:59 +00:00
Charles Kerr
27f08f325d
fix upload speed limit bug tracked down by makira_
2007-11-27 04:27:03 +00:00
Charles Kerr
d0047acc86
reimplement tr_buildPath() using struct evbuffer
2007-11-27 04:11:39 +00:00
Charles Kerr
0663c4aef7
possible fix for Zeph's "too many open files" bug report.
2007-11-26 21:26:01 +00:00
Charles Kerr
81ea9b4abd
sloppy, sloppy. what should've been 1 commit has been 5.
2007-11-26 20:44:53 +00:00
Charles Kerr
033ee7ff58
fix crash-on-exit introduced by stats code
2007-11-26 20:44:19 +00:00
Charles Kerr
cf85da1759
plug in the stats.filesAdded field
2007-11-26 20:37:07 +00:00
Charles Kerr
548e0324ab
fix stupid bug introduced in the last stats commit
2007-11-26 20:27:07 +00:00
Charles Kerr
56b71bd144
remove dead code
2007-11-26 20:22:08 +00:00
Charles Kerr
07f2e6365a
move tr_getDefaultRoute() to natpmp.c because it's the only code that uses it
2007-11-26 20:21:52 +00:00
Charles Kerr
c3c4b699b9
stats
2007-11-26 20:20:46 +00:00
Charles Kerr
2185081fcb
more stats
2007-11-26 20:05:46 +00:00
Mitchell Livingston
bf3bd6bd5d
avoid divide-by-0 in stats
2007-11-26 19:18:00 +00:00
Mitchell Livingston
6b5f1839aa
get last commit building
2007-11-26 19:10:53 +00:00
Charles Kerr
3aae5534bd
work on the stats a little bit.
2007-11-26 18:55:36 +00:00
Charles Kerr
0ed3610468
fix crash on startup reported by Gimp_
2007-11-26 05:03:28 +00:00
Charles Kerr
e354b82452
disable SWIFT on private trackers, because they are typically ratio-based sites where you *want* to upload as much as possible to deadbeats
2007-11-26 04:05:12 +00:00
Charles Kerr
63cb8506ca
fix crash when loading fastresume files
2007-11-26 03:54:20 +00:00
Charles Kerr
ec042e7278
enable SWIFT in trunk
2007-11-25 17:09:09 +00:00
Charles Kerr
a720545256
fix peer-mgr.c shear between 0.9x and trunk
2007-11-25 17:07:12 +00:00
Charles Kerr
d735989aec
fix clientIsSnubbedBy() to work correctly when we're a seed
2007-11-25 16:57:08 +00:00
Mitchell Livingston
bd2de0888e
fix Wyzo
2007-11-24 19:36:26 +00:00
Mitchell Livingston
4a53c761a3
add Wyzo to clients list
2007-11-24 19:19:22 +00:00
Charles Kerr
18b3b388c0
fix oops from last commit
2007-11-23 03:01:13 +00:00
Charles Kerr
5ad14e4abc
fix another 0.94 prerelease crash report... this one from when finishing verifying a torrent that's running.
2007-11-23 02:49:06 +00:00
Charles Kerr
3b04f824e0
fix libT crash reported in the forums
2007-11-23 02:14:21 +00:00
Charles Kerr
8caa113d4b
fix LTEP PEX error reported by Adrian Ulrich in the BitTorrent mailing list
2007-11-22 06:48:08 +00:00
Charles Kerr
6df942138b
fix portmapping crash.
2007-11-22 06:13:57 +00:00
Charles Kerr
87d4bcd278
Change the default port from 9090 to 51413 to get in compliance with IANA's port number assignment scheme. (1024 through 49151 are reserved)
2007-11-22 04:15:22 +00:00
Charles Kerr
91e672d428
some progress on the overall statistics, though probably not visible to end users yet
2007-11-21 20:03:53 +00:00
Charles Kerr
260033847f
fix ticket #451 (Files remain in use after removal)
2007-11-21 16:16:59 +00:00
Mitchell Livingston
a7671a3afc
update clients list to identify test builds
2007-11-21 15:20:07 +00:00
Charles Kerr
9f9901b3fa
tweak the peer limits a bit for faster uploading
2007-11-20 17:29:56 +00:00
Charles Kerr
172efd42fa
fix "manual update" crash reported by Gimp_ and BentMyWookie
2007-11-20 16:50:48 +00:00
Charles Kerr
0a61e04757
now that libevent has a stable 1.4 release out with the features & fixes we wanted, aim third-party/libevent/ at libevent's 1.4 maintainance branch instead of their trunk.
2007-11-20 03:11:50 +00:00
Charles Kerr
9cec81b524
fix the crash reported by pea_, Gimp, and John_Clay [ref: http://pastebin.ca/784834 ]
2007-11-19 21:44:38 +00:00
Charles Kerr
9f0ca608f6
fix r3892 oops
2007-11-19 21:24:53 +00:00
Charles Kerr
b61dcfdbff
add "this session" stats stubs for BentMyWookie
2007-11-19 20:07:21 +00:00
Charles Kerr
f6371c99a3
add "time running" to tr_global_stats
2007-11-19 19:30:24 +00:00
Charles Kerr
4cfa1ca6b5
added tr_global_stats prototypes for BentMyWookie
2007-11-19 17:29:17 +00:00
Charles Kerr
41b1f76d9b
remove more dead code. this scaffolding was to let libevent play nice back when we had one thread per torrent
2007-11-19 16:30:31 +00:00
Charles Kerr
3929b37da3
denis is right about r3880; we should respect umask
2007-11-19 12:59:26 +00:00
Charles Kerr
41cee06b66
oops, this was supposed to be in 3879
2007-11-19 05:52:05 +00:00
Charles Kerr
3704854654
add more asserts up the call chain to find the source of pea_ and Gimp's bug
2007-11-19 04:51:06 +00:00
Charles Kerr
a654f808e3
change TR_MKDIR_PERM from 0777 to 0755
...
change TR_CREAT_PERM from 0666 to 0644
2007-11-19 04:46:49 +00:00
Charles Kerr
aa11440755
*maybe* fix the crash reported by pea_ in the forums and by Gimp in http://pastebin.ca/777952
2007-11-19 04:44:14 +00:00
Charles Kerr
b0f5ff96f3
back to the "router death" issue: throttle how many connections T will try to open at any one time
2007-11-18 17:35:28 +00:00
Charles Kerr
ed72b1b795
fix choking bug that could penalize good peers.
2007-11-18 06:15:13 +00:00
Charles Kerr
a277382578
more download speed tweaks for situations where T is both uploading and downloading.
2007-11-18 04:24:17 +00:00
Charles Kerr
e371009606
this should improve download speeds. test it!
2007-11-18 03:18:26 +00:00
Charles Kerr
9a81cd7637
reintroduce the "SWIFT" algorithm
2007-11-18 01:00:49 +00:00
Charles Kerr
37969406b2
Add "Status" column to tr_peer_stat.
2007-11-17 23:43:33 +00:00
Charles Kerr
54a2bb978b
fix timeout error that caused us to drop connections prematurely
2007-11-17 17:49:30 +00:00
Charles Kerr
a2609ae2a7
fix permissions issue reported by Jaybird in http://transmission.m0k.org/forum/viewtopic.php?t=2944
2007-11-17 16:20:08 +00:00
Charles Kerr
ef3d0df0d9
try to tickle some more information out of John_Clay's bug report
2007-11-17 07:48:51 +00:00
Charles Kerr
77d58126f4
remove yet more dead code
2007-11-17 02:47:47 +00:00
Charles Kerr
135da6efca
tweaking the speed limit settings a little more
2007-11-17 00:30:36 +00:00
Charles Kerr
8d08db716d
speed limit code cleanup
2007-11-17 00:16:26 +00:00
Charles Kerr
cc728b0470
progress on the "speed limits kill my transfer rate" bug.
2007-11-16 21:58:11 +00:00
Charles Kerr
521d32af9d
tweak the libevent read buffer size
2007-11-16 21:47:55 +00:00
Charles Kerr
a1805875ee
try to fix the platform.c:278 issue reported by dave in http://transmission.m0k.org/forum/viewtopic.php?t=2949
2007-11-16 20:41:41 +00:00
Charles Kerr
0ac302b302
progress on the "speed limits kill my transfer rate" bug.
2007-11-16 20:40:03 +00:00
Charles Kerr
d2a5dd50d3
remove dead code
2007-11-16 20:38:51 +00:00
Charles Kerr
73680b6263
fix tr_peerMsgsAddRequest memory leak reported by tiennou
2007-11-16 15:45:26 +00:00
Charles Kerr
1ebaf597a4
fix trunk memory leak reported by tiennou
2007-11-16 15:33:57 +00:00
Charles Kerr
787d2b800c
fix benocde crash reported by Gimp_
2007-11-16 06:37:01 +00:00
Charles Kerr
1464dc7962
fix r3830 bug reported by Gimp_
2007-11-16 05:43:47 +00:00
Charles Kerr
c3dce15a9e
if we haven't advertised that we support pex, then even if a peer sends us a pex message, don't send one back.
2007-11-16 04:42:51 +00:00
Charles Kerr
b6b339e25a
fix bencode crash reported earlier today by Gimp_, and possibly also by tiennou
2007-11-16 03:32:42 +00:00
Charles Kerr
807eff8416
remove dead code.
2007-11-15 22:03:22 +00:00
Charles Kerr
a048204380
remove dead code.
2007-11-15 16:43:46 +00:00
Charles Kerr
815fb89b91
fix torrent metafile creation error introduced in trunk in r3735 and reported by tiennou in ticket #478
2007-11-15 15:07:05 +00:00
Charles Kerr
cc42c8aaf6
fix tracker redirect bug reported by sunny
2007-11-15 14:34:48 +00:00
Charles Kerr
257eaee631
more of the same
2007-11-15 05:47:23 +00:00
Charles Kerr
ea3a1387f2
more of the same.
2007-11-15 05:20:38 +00:00
Charles Kerr
8019f8cd2c
raise the number of unchoked peers per torrent
2007-11-15 05:04:21 +00:00
Charles Kerr
a14fe99e00
another download speed tweak
2007-11-15 04:59:37 +00:00
Charles Kerr
c4f15263a0
since many people seem to be having a hard time holding onto good peers, be a little more lenient on how quickly we hang up on peers that have transferred piece data with us.
2007-11-14 05:02:03 +00:00
Charles Kerr
a9e5fff2e6
* fix the `req->length == (uint32_t)( ((block)==((msgs->torrent)->blockCount-1))' bug.
...
* there seems to be a pattern for peers that were (intentionally?) giving incomplete data to trigger the bug above. when a peer does this, give them a strike on its three-strikes-and-you're-banned count
2007-11-13 05:36:43 +00:00
Charles Kerr
6242508fe2
minor tweaks.
2007-11-12 22:26:10 +00:00
Charles Kerr
66c9119a84
tiennou's fix for #461
2007-11-12 15:15:51 +00:00
Charles Kerr
dfba59b97a
tiennou's fix for #463
2007-11-12 15:08:58 +00:00
Charles Kerr
f1e85f5206
Increase the intervals on timers that won't affect performance. This reduces most of Transmission's PowerTOP footprint.
2007-11-11 20:27:13 +00:00
Charles Kerr
8516860fec
fix a bug in tr_stat's availability numbers, reported by BentMyWookie
2007-11-11 16:33:04 +00:00
Charles Kerr
d89d6faad4
don't require clients to call tr_torrentClearStatusCallback() before tr_torrentClose().
2007-11-11 03:14:01 +00:00
Charles Kerr
adeee3d886
silence some Fast Peer console messages
2007-11-10 22:29:55 +00:00
Charles Kerr
0aee22aaff
have tr_close() call tr_torrentClose() on all running torrents
2007-11-10 22:29:28 +00:00
Charles Kerr
c32f893038
commit tiennou's fast-peers-final patch from ticket 149
2007-11-10 16:06:00 +00:00
Charles Kerr
4cb16901b8
fix tracker wart reported by tiennou
2007-11-10 16:00:59 +00:00
Charles Kerr
76626796f3
make the hard drive less noisy than it was in 0.92
2007-11-10 05:09:40 +00:00
Charles Kerr
e7e479d758
fix r3777 compiler warning reported by SoftwareElves
2007-11-10 05:01:13 +00:00
Charles Kerr
ca03b62a58
* fix a bug that could corrupt peer connections, causing slower speeds and/or fewer connections
...
* add more assertions to smoke out any remaining BT protocol bugs
2007-11-10 04:56:27 +00:00
Charles Kerr
fd430fde90
undoing the r3773-r3774 experiment.
2007-11-09 20:07:52 +00:00
Charles Kerr
fda79c7eef
oops, wrong #include for NSCParameterAssert in r3773.
2007-11-09 19:51:48 +00:00
Charles Kerr
67b719c2de
on Darwin, use NSCParameterAssert() instead of assert().
2007-11-09 19:50:40 +00:00
Charles Kerr
4792788d24
move the gateway discovery from init() to start() so that tr_init() doesn't block.
2007-11-09 16:10:48 +00:00
Charles Kerr
e168cf3f69
don't let incoming peer connections sneak past MAX_CONNECTED_PEERS_PER_TORRENT.
2007-11-09 15:19:12 +00:00
Mitchell Livingston
b382628933
have libtransmission be in charge of checking if nat traversal is disabled when quitting
2007-11-09 15:06:32 +00:00
Charles Kerr
5da8a977c6
* add O_LARGEFILE support to fdlimit for the benefit of 32-bit posix machines
...
* minor tweaks
2007-11-09 04:32:19 +00:00
Charles Kerr
42e70ad53e
fix John_Clay's assertion bugreport
2007-11-09 01:25:34 +00:00
Charles Kerr
99ea26c1c9
* try to get peers to scale up to speed faster.
...
* remove unnecessary steps when receiving block data from peers.
2007-11-09 01:22:15 +00:00
Charles Kerr
39f9f14751
minor tweaks.
2007-11-08 21:25:17 +00:00
Charles Kerr
125bd34bbb
added `plaintext preferred' encryption option.
2007-11-08 21:20:08 +00:00
Charles Kerr
0d819bd67e
more work on the "router death" issue.
2007-11-08 19:43:48 +00:00
Charles Kerr
bc3eff899f
* some work on lessening the way we hammer the router.
...
* move strlcpy and strlcat out of their own files and into utils.c
2007-11-08 04:11:09 +00:00
Charles Kerr
71f4efcbad
update our #includes now that libevent has cleaned up event.h
2007-11-07 18:26:19 +00:00
Charles Kerr
b43bb1483d
fix libevent #include quirk reported by SoftwareElves
2007-11-07 03:13:04 +00:00
Charles Kerr
906c5d6f1f
dead code removal: azId
2007-11-07 01:27:32 +00:00
Charles Kerr
dc6a7b9485
fix crash reported by hussam in #transmission
2007-11-07 00:42:19 +00:00
Charles Kerr
229102a196
more libevent fun. good thing the mac build is broken or I'd've been getting bug reports on this instead :)
2007-11-06 23:23:47 +00:00
Charles Kerr
476de56e45
the libevent header file comments LIED about the return value of evbuffer_add_vprintf()!
2007-11-06 23:10:04 +00:00
Charles Kerr
60aab6c433
remove libtransmission code that duplicates functionality in libevent
2007-11-06 21:14:30 +00:00
Charles Kerr
9df263326d
use Thomas Bernard's miniupnp library instead of rolling our own.
2007-11-06 16:02:50 +00:00
Charles Kerr
5e2b2d34c3
ensure that tr_close() exits gracefully even when the trackers aren't responding.
2007-11-05 05:42:25 +00:00
Charles Kerr
14d8abb323
maybe fix portmapping
2007-11-05 03:56:54 +00:00
Charles Kerr
0f92cb7f30
fix bug reported in the forums by "grabman"
2007-11-05 03:09:27 +00:00
Charles Kerr
7ce8312ddc
fix memory error reported by John_Clay
2007-11-02 20:27:03 +00:00
Charles Kerr
e3764e732b
fix possible benc leak reported by MishaS ( #441 )
2007-11-01 18:44:37 +00:00
Charles Kerr
7cb1791f2a
fix handshake memory leak reported by MishaS ( #442 )
2007-11-01 18:41:13 +00:00
Charles Kerr
3e0e462b10
finish cleaning up the code that was churned during the "corruption" fix.
2007-11-01 13:47:32 +00:00
Charles Kerr
e625b10d6d
"corruption" fix part 3: cleanup. remove unneeded possible points of failure.
2007-10-31 18:10:55 +00:00
Charles Kerr
a6206b036c
"corruption" fix part 2: lots of assertions, and try to complete pieces & ban bad peers sooner
2007-10-31 04:23:51 +00:00
Charles Kerr
4cde721475
fix oops
2007-10-30 20:17:49 +00:00
Charles Kerr
aace9469bb
fix compile warning
2007-10-30 20:11:23 +00:00
Charles Kerr
20ffdfb9d2
remove dirname() and basename() for now
2007-10-30 19:16:07 +00:00
Charles Kerr
96351b93ef
part 1 of the data corruption fix: plug the leaky abstraction in fdlimit
2007-10-30 18:35:06 +00:00
Charles Kerr
e0965c3a63
better openssl detection & support: use openssl's pkg-config file.
2007-10-28 19:55:03 +00:00
Charles Kerr
caa4170271
#426 0.91rc1: if pex is disabled on a stopped torrent, pressing "resume" causes pex to be re-enabled. (reported by pea)
2007-10-28 19:42:47 +00:00
Charles Kerr
ab8ed6507d
#412 - 0.90 "ignores" speed limits (deanr, berkut, SineOtter)
2007-10-28 15:20:24 +00:00
Charles Kerr
92ac49d9c4
compatability with older C copmilers (ticket #422 , patch by fizz)
2007-10-27 21:29:41 +00:00
Charles Kerr
b00ee3e568
Ticket #398 (peer-msgs.c:905: failed assertion `msglen == 0' in 0.90)
2007-10-27 15:45:03 +00:00
Charles Kerr
515d04de1a
Ticket #395 (ensure file exists when starting)
2007-10-27 14:17:51 +00:00
Charles Kerr
747cd0b396
(gtk) if two torrents are selected -- one running, one paused -- both "pause" and "resume" buttons should be enabled. reported by glyphobet.
2007-10-26 23:29:19 +00:00
Charles Kerr
1f607e0560
improve the "can't connect to tracker" error message.
2007-10-26 16:39:00 +00:00
Josh Elsasser
13bd23e44b
Add IPC messages to set and retrieve the encryption mode.
...
Implement encryption mode messages in -daemon and -remote.
2007-10-26 03:43:27 +00:00
Charles Kerr
18de1db5b5
integral sign correctness in makemeta
2007-10-26 03:16:27 +00:00
Charles Kerr
e6fbcaeae6
Quick & dirty fix to crasher ticket #415 .
2007-10-26 03:02:23 +00:00
Charles Kerr
41e9939317
Fix issue #413 "Starting a Torrent when one is checking make it queue after it" reported by tiennou
2007-10-26 01:31:49 +00:00
Charles Kerr
df50cbcabf
Fix 0.90 cache bug that could cause "verify local files" to fail.
2007-10-26 01:13:43 +00:00
Josh Elsasser
906d207ff3
Fix misnumbered IPC constants.
2007-10-26 00:57:29 +00:00
Josh Elsasser
d51713177a
Fix openbsd build.
2007-10-26 00:36:22 +00:00
Mitchell Livingston
b48967245d
trunk: Ensure only a single "?" is used for appending arguments to the announce and scrape URL ( fixes #411 )
2007-10-25 16:52:12 +00:00
Charles Kerr
317705cffc
The OpenBSD build fix caused a Darwin build error. :) Thanks to pea for reporting.
2007-10-25 14:34:20 +00:00
Charles Kerr
8c0e2434f5
fix OpenBSD build error.
2007-10-25 13:59:46 +00:00
Charles Kerr
52261d88fd
Fix 0.90 socket connection leak.
2007-10-25 13:38:34 +00:00
Charles Kerr
4af3c1c82b
use BUILT_SOURCES for version.h to ensure it gets built first
2007-10-24 20:18:13 +00:00
Charles Kerr
82194a2f2f
don't require the user to have svn installed when building from tarball
2007-10-24 19:57:47 +00:00
Charles Kerr
e38311e64e
fix two separate version.h errors
2007-10-24 18:36:53 +00:00
Charles Kerr
f71319b90f
get "make distcheck" working again
2007-10-24 17:20:50 +00:00
Charles Kerr
7371bd29cf
rewind this morning's changes.
2007-10-23 20:42:00 +00:00
Charles Kerr
ed6ffe39e4
fix r3506 bug that prevented incoming peers from connecting
2007-10-23 15:53:57 +00:00
Charles Kerr
799954843e
maybe fix incoming handshakes with peers that don't send their peer_id immediately
2007-10-23 14:14:37 +00:00
Charles Kerr
50c8c88c04
Update the credits
2007-10-23 14:00:17 +00:00
Charles Kerr
216ee3f52b
fix a nasty error with fallback unencrypted peer connections.
2007-10-22 23:31:03 +00:00
Charles Kerr
b704654275
dead code removal.
2007-10-22 23:27:47 +00:00
Charles Kerr
a5946e396c
tweak the logging a bit.
2007-10-22 18:52:36 +00:00
Charles Kerr
e1fbd16941
fix some memory leaks reported by valgrind.
2007-10-22 14:15:16 +00:00
Charles Kerr
814a56046d
fix ul/dl speed wart reported by BentMyWookie
2007-10-21 15:47:26 +00:00
Charles Kerr
c50cadbcaa
remove dead code (TR_STATUS_ACTIVE, TR_STATUS_INACTIVE)
2007-10-20 22:07:21 +00:00
Charles Kerr
264f7ab8b3
Dead code removal (TR_STATUS_STOPPING)
2007-10-20 21:17:37 +00:00
Charles Kerr
b7258fbf33
try to better sync up the tr_stat fields, as requested by BentMyWookie
2007-10-20 21:07:11 +00:00
Charles Kerr
42d007553d
Tweak the first torrent's recheck state as requested by BentMyWookie
2007-10-20 20:36:01 +00:00
Charles Kerr
8d4ff5818c
Add support for the MSE Tracker Extension (suggested by barry_u and persept)
2007-10-20 20:27:37 +00:00
Charles Kerr
6527f4e12a
dead code removal.
2007-10-20 15:17:36 +00:00
Charles Kerr
4acfe5e1b5
have gtk+ use the batch form of setFilePriorities(). remove saveFastResumeSoon().
2007-10-19 23:44:01 +00:00
Charles Kerr
25fa56d294
* don't fire the "status changed" event if the status changes while a torrent's being started for the first time.
...
* cleaner setting of the DND flags in the gtk+ client.
* cpStatus cleanup.
2007-10-19 23:23:21 +00:00
Charles Kerr
8b5f76c10e
roll back the clients changes because of the 0.90 freeze
2007-10-19 00:19:16 +00:00
Charles Kerr
58ad607c01
merge the wiki.theory.org, T, and libtorrent client lists. T knows about dozens more clients now.
2007-10-19 00:02:37 +00:00
Charles Kerr
6a3a61716b
when seeding, instead of giving the the ratio as N/A, give uploaded/torrent_size (Waldorf_)
2007-10-18 20:42:39 +00:00
Charles Kerr
78b5c81253
possibly fix r3457 crash reported by chrissturm
2007-10-18 19:33:29 +00:00
Charles Kerr
212470560e
fix overflow error that caused timers with intervals larger than 35 minutes to be lost... which is nastier than it sounds, since that's shorter than many tracker announce intervals.
2007-10-18 18:32:58 +00:00
Charles Kerr
6cef3fd9f9
remove fprintf that snuck in. (Reported by Gimp)
2007-10-18 03:57:19 +00:00
Charles Kerr
e723a5724c
added debugging messages to the tracker cleanup. better error handling for esoteric http errors.
2007-10-18 03:55:55 +00:00
Charles Kerr
9da5aaef2c
huge tracker cleanup for the "no response from tracker" issue
2007-10-17 18:59:58 +00:00
Charles Kerr
2cda7060cd
remove stubs for Azureus extension negotiation
2007-10-17 18:53:17 +00:00
Charles Kerr
3210f92085
const-ify tr_msg()'s input arguments
2007-10-17 18:24:53 +00:00
Charles Kerr
911ff1cdd1
remove tr_peerMsgsSetChoke()'s return value, which was always ignored anyway
2007-10-17 18:23:59 +00:00
Charles Kerr
ea5390296d
Follow uTorrent 1.8's behavior of allowing a manual reannounce every max(60 seconds, min_interval) where min_interval is from the tracker.
2007-10-17 01:17:30 +00:00
Charles Kerr
00a425a7d3
further tweaks to the peer connection weights after reading the overnight runlog
2007-10-16 15:05:05 +00:00
Charles Kerr
fa200efd09
more tweaks
2007-10-16 03:14:07 +00:00
Charles Kerr
c9359d8bde
There are only 16 days left for something to replace this as October's stupidest bug.
2007-10-16 03:00:53 +00:00
Charles Kerr
ec30180d76
tweak the weights that decide to reconnect to crappy peers less often.
2007-10-16 02:37:34 +00:00
Charles Kerr
0b04554772
maybe fix crash reported by Lacrocivious in http://pastebin.ca/738142
2007-10-16 02:19:40 +00:00
Charles Kerr
30418e34b8
fix crash reported by John_Clay in http://pastebin.ca/738133
2007-10-16 02:16:57 +00:00
Charles Kerr
8feeb9ee6b
when deciding which peers to try to connect to, add some weights to punish peers that don't transfer piece data with us. We'll still give them another, but at longer intervals than better peers get.
2007-10-16 00:55:17 +00:00
Charles Kerr
e698756c98
remove unused flags
2007-10-15 20:58:39 +00:00
Charles Kerr
efe4847204
new utility (tr_loadFile), and reimplement metainfo's "readtorrent" to use it.
2007-10-15 20:15:34 +00:00
Charles Kerr
c65d6a20c3
remove dead code tr_file_stat::completionStatus
2007-10-15 18:45:25 +00:00
Charles Kerr
159f1de576
remove dead code tr_stat::cpStatus
2007-10-15 18:28:49 +00:00
Charles Kerr
afff6d08f2
save the tr_torrent::pexDisabled flag in fastresume
2007-10-15 16:35:18 +00:00
Charles Kerr
6eb7edf007
fix choke fibrillation bug in new connections
2007-10-15 16:01:42 +00:00
Mitchell Livingston
cc2db392f5
make libtransmission's pex accessor public, and eliminate a redundant variable in Torrent.[mh]
2007-10-14 22:01:55 +00:00
Charles Kerr
57eaa27970
Fix bug that could initiate pex in private torrents.
2007-10-14 17:21:24 +00:00
Charles Kerr
d96ed80aa2
(1) fix a bug in torrent creation. (2) fix a bug in torrent paths on startup in gtk
2007-10-14 03:26:13 +00:00
Charles Kerr
38d6b03a8e
report a speed of 0 when no peers are connected.
2007-10-13 23:57:13 +00:00
Charles Kerr
4f33a8da42
Try sharing a DH so that we don't spend so many cpu cycles making new ones when we're working through the peers trying to find good ones.
2007-10-13 23:15:43 +00:00
Charles Kerr
bd01906f0c
more banging on the fastresume-destination-directory thing. this permuation makes the fastresume destination a fallback, to be used only if the client didn't pass in a directory to tr_torrentInit*()
2007-10-13 15:29:15 +00:00
Charles Kerr
4104efbfbf
try to get more connected peers to agree to encrypted connections
2007-10-13 15:15:04 +00:00
Charles Kerr
004ade57f0
fix crash-on-adding-new-torrents introduced in r3387
2007-10-13 14:07:08 +00:00
Charles Kerr
3e878aeba9
tweak the debugging messages a bit.
2007-10-13 14:02:10 +00:00
Charles Kerr
9211c57ad2
merge in the parts of peerutils' peer pruning code that still make sense
2007-10-13 13:54:05 +00:00
Charles Kerr
89d511e9dd
get fastresume working again (I think)
2007-10-13 04:19:38 +00:00
Charles Kerr
6179809146
break the build so svn users won't corrupt their fastresume files
2007-10-13 04:11:11 +00:00
Charles Kerr
0000a96f78
and, removing a couple of fprintfs
2007-10-13 04:00:50 +00:00
Charles Kerr
05bcd5e01c
fix r3379 bug that forced us to recheck the torrents every startup
2007-10-13 03:58:54 +00:00
Charles Kerr
ff36475fad
Add an option for saving a torrent's destination path in its file. This can be overridden by clients with the `destination' argument in tr_torrentInit*()
2007-10-12 19:45:51 +00:00
Mitchell Livingston
64c5255c8e
add Halite to clients
2007-10-12 11:17:38 +00:00
Charles Kerr
00321c4eed
Fix crash-on-exit reported by Gimp_ @ http://pastebin.ca/732759
2007-10-11 14:56:50 +00:00
Charles Kerr
89564dc3c2
fix the "swarm speed" bug reported by Gimp_
2007-10-11 04:17:28 +00:00
Charles Kerr
3b2ef1054f
8 second timeout during handshake, 2.5 minute handshake afterwards
2007-10-11 03:54:33 +00:00
Charles Kerr
e11999243e
add more debugging messages to track down why we're disconnecting from some peers
2007-10-11 03:36:09 +00:00
Charles Kerr
7e0faec4db
more debugging messages
2007-10-11 03:12:48 +00:00
Charles Kerr
ef4ec75532
Try out some of SoftwareElves' suggestions for faster startup connections
2007-10-11 02:50:05 +00:00
Charles Kerr
ead1ff5b72
encryption key creation is pretty expensive -- defer creating it until we're sure we actually need it for that peer.
2007-10-11 02:22:17 +00:00
Charles Kerr
23d2f77778
(1) maybe fix the "peer->msgs != NULL" bug reported by Dhruvk and John_Clay (2) remove dead code
2007-10-11 00:09:58 +00:00
Charles Kerr
cbaf1b8faa
commit more of tiennou's fastpeers patch
2007-10-10 16:39:12 +00:00
Charles Kerr
76aed9200d
fix a subtle bug with having two connections to the same peer.
2007-10-10 15:59:59 +00:00
Charles Kerr
696800f369
* fix bug that sent a keepalive message too often
2007-10-10 03:03:09 +00:00
Charles Kerr
a9849660f6
* fix bug that incorrectly marked some incoming connections for termination
...
* strip unnecessary linefeeds out of some debug messages
2007-10-10 02:59:30 +00:00
Charles Kerr
2f46064e33
raise the `numwant' value
2007-10-09 18:29:10 +00:00
Charles Kerr
e8d19c5b03
fix stupid bug from yesterday that made uploading difficult.
2007-10-09 05:51:20 +00:00
Charles Kerr
602ee120af
fix recent tracker error reported by John_Clay that made it slower to pick up peers
2007-10-09 04:50:10 +00:00
Charles Kerr
c88ef608c6
extra paranoia to safeguard against a possible tracker crash
2007-10-09 03:06:54 +00:00
Charles Kerr
f96cbd3ec3
* add intltool macros to make it easier to build from svn.
...
* minor error logging improvement in libtransmission
2007-10-09 02:49:24 +00:00
Charles Kerr
e10e44409a
fix crash reported by Waldorf in http://pastebin.ca/729980
2007-10-08 19:09:20 +00:00
Charles Kerr
7ff8284976
give trackers more time before timing out the requests. make the `stopping' timeout interval smaller than other intervals so that we don't block for too long during shutdown.
2007-10-08 17:05:39 +00:00
Charles Kerr
e176a25922
* fix a bug with uploading encrypted pice data to another peer
...
* extra sanity tests when uploading data
2007-10-08 16:10:10 +00:00
Charles Kerr
9a79d1e603
the purge flag should take priority over all the other reasons to keep or purge a peer. :p
2007-10-08 01:53:11 +00:00
Charles Kerr
e1b447304b
fix atom initialization issue with r3320
2007-10-08 01:37:20 +00:00
Charles Kerr
161ff6a7a2
ban peers that feed us too many bad blocks.
2007-10-08 01:31:27 +00:00
Charles Kerr
43a016cdb9
fix minor shutdown bug
2007-10-08 00:56:12 +00:00
Charles Kerr
304f9f7f18
get rid of a confusing error message that describes a harmless situation
2007-10-07 16:25:02 +00:00
Charles Kerr
1014e633ac
* don't reuse http connections to trackers. I think this is what caused most of the `no response from tracker X' messages.
...
* extra safety checks to ensure the last `stopped' message to the tracker is sent on shutdown.
2007-10-07 16:07:19 +00:00
Charles Kerr
568e97d220
recheck the completeness stats after `recheck torrent'
2007-10-07 04:32:37 +00:00
Charles Kerr
5d8f9d8b13
try to connect to peers faster when a torrent is initially started.
2007-10-07 04:14:58 +00:00
Charles Kerr
2381279da6
fix John_Clay's ptrarray.c:201 crash. (maybe.)
2007-10-07 04:14:34 +00:00
Mitchell Livingston
8f7f65388e
set properties for new files
2007-10-06 22:24:50 +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
6d5182af60
fix potential "recheck torrent" deadlock
2007-10-06 01:43:04 +00:00
Charles Kerr
3a6985195d
removed an assertion that depended on valid input from a peer in order to be true.
2007-10-05 05:53:00 +00:00
Charles Kerr
b6483cbf3f
don't allow duplicate requests to the same peer, even during endgame. (alus)
2007-10-05 00:16:47 +00:00
Charles Kerr
17743d8d04
tweak the `start torrent' code based on feedback from BentMyWookie
2007-10-04 23:47:49 +00:00
Charles Kerr
80979e0240
a little code simplification -- remove unnecessary branches
2007-10-04 20:49:37 +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
0938cb88d4
dead code removal
2007-10-03 21:03:40 +00:00
Charles Kerr
5f2bd1d950
speed improvements... this is getting me 700 KiB/s (which is near to my speed cap) in the ubuntu torrent test
2007-10-03 19:00:51 +00:00
Charles Kerr
877e2bb86e
some more peer tweaks
2007-10-03 18:19:51 +00:00
Charles Kerr
a3d1a254d1
minor source code cleanup...
2007-10-03 16:42:43 +00:00
Charles Kerr
3d2e3cfdfb
add pass subscription info into the peer-msgs constructor so that we can start getting information immediately
2007-10-03 04:04:34 +00:00
Charles Kerr
0f550043fd
fix peer-mgr.c:1092 asset failure reported by Waldorf_
2007-10-03 02:46:15 +00:00
Charles Kerr
1f1605986c
tear out some now-exterraneous code.
2007-10-02 20:55:14 +00:00
Charles Kerr
f4988a3f6e
tweak the peer manager code a little more.
2007-10-02 19:54:14 +00:00
Charles Kerr
3dbaa7d673
make the peer manager a little greedier w.r.t. keeping connections alive.
2007-10-02 19:25:18 +00:00
Charles Kerr
f4901211ca
Fix erratic `(int)EVBUFFER_LENGTH( inbuf ) >= byteCount' error
2007-10-02 16:59:56 +00:00
Charles Kerr
cdabb1c0b1
clean up the shutdown code a little bit.
2007-10-02 16:12:44 +00:00
Charles Kerr
c271cec6a3
work around portability glitch in libevent's headers
2007-10-02 14:58:39 +00:00
Charles Kerr
f237bf7047
* simplify the the choking intervals
...
* fix peer-mgr destructor bug
* send debugging messagese to TR_DEBUG_FD instead of the console
2007-10-02 14:35:02 +00:00
Charles Kerr
77d7cf76a1
fix looong-standing potential dangling pointer bug reported by BMW
2007-10-02 03:33:17 +00:00
Charles Kerr
6ed2d25af7
threads. gotta love 'em.
2007-10-02 02:59:07 +00:00
Charles Kerr
af686b3297
roll back a bug introduced in r3265
2007-10-02 02:01:57 +00:00
Charles Kerr
84ab0092fb
some cleanup... remove some dead/obsolete code
2007-10-02 00:05:40 +00:00
Charles Kerr
b84305cdf3
more agressive purging of connections that give socket errors
2007-10-01 18:09:59 +00:00
Charles Kerr
4ebe0b563a
throttle back how many concurrent connections we make.
2007-10-01 17:51:07 +00:00
Charles Kerr
f0562f5947
try to disconnect all the peers when the user hits `pause'
2007-10-01 16:50:51 +00:00
Charles Kerr
75ff12faba
don't log BT protocol messages in UL/DL speed -- only log piece data transfers.
2007-10-01 16:31:17 +00:00
Charles Kerr
e4fec9eefd
add tr_stat.peersKnown to indicate how many peers exist in the peer `pool'
2007-10-01 15:51:54 +00:00
Charles Kerr
cba61802cf
remove newly-unused field tr_peer_stat::isConnected
2007-10-01 15:41:42 +00:00
Charles Kerr
1a012b8b87
maybe fix the where-are-the-peers-coming-from bug reported by SoftwareElves, John_Clay, and jahpraiseherb
2007-10-01 15:36:31 +00:00
Charles Kerr
5c11c58113
simplify libT locks now that it's (more-or-less) single-threaded. fix deadlocks. make tr_locks nestable.
2007-10-01 15:17:15 +00:00
Charles Kerr
f7e3f85e50
follow BT `best practices' more closely w.r.t. choosing which pieces to download
2007-10-01 14:24:22 +00:00
Charles Kerr
60a983d845
fix bizarre libevent contortion that made valgrind cry
2007-10-01 05:49:23 +00:00
Charles Kerr
9a3c91cad2
ensure TR_PEER_FROM_INCOMING peers get peer atoms. this should fix BentMyWookie's crash.
2007-10-01 05:32:34 +00:00
Charles Kerr
56738f065c
fix some memory issues.
2007-10-01 04:12:24 +00:00
Mitchell Livingston
0888fe4f68
remove unneeded line
2007-10-01 03:28:49 +00:00
Charles Kerr
b99084e638
more experimenting with how to get good peers
2007-10-01 03:24:52 +00:00
Mitchell Livingston
a223b7d6ea
fix Bitlet and add new Limewire client id's
2007-10-01 02:50:51 +00:00
Charles Kerr
6bef7def52
tweaks
2007-10-01 00:08:12 +00:00
Charles Kerr
7cc6771318
experimental better peer management.
2007-09-30 23:55:49 +00:00
Mitchell Livingston
3e87e07e0c
add bitlet to client id's
2007-09-30 13:16:18 +00:00
Charles Kerr
4c990b2a7d
fix tracker crash reported by bmw
2007-09-29 15:05:20 +00:00
Charles Kerr
dad333ceec
more work on the locks
2007-09-29 14:55:30 +00:00
Charles Kerr
b3d6391413
test to see if the new locking code can fix the old `stop' bug
2007-09-29 14:25:52 +00:00
Charles Kerr
8a40a15b16
more work on the peer-mgr locks
2007-09-29 14:19:23 +00:00
Charles Kerr
64239a21e1
prevent a deadlock via the handshake code
2007-09-29 13:47:15 +00:00
Charles Kerr
0812087a4e
add mutex locks for thread safety.
2007-09-29 06:37:03 +00:00
Charles Kerr
04f6847004
take out the `thawing out' console messages
2007-09-29 00:47:33 +00:00
Charles Kerr
3f1d888354
improved uTorrent handshaking, after talking to #utorrent-dev about minutae...
2007-09-29 00:46:41 +00:00
Charles Kerr
79973a8a93
commit the next step of tiennou's fastpeers code.
2007-09-28 16:40:21 +00:00
Charles Kerr
198d2c256e
fix John_Clay's tracker assertion failure.
2007-09-28 16:14:19 +00:00
Charles Kerr
92923a0236
remove obsolete MAX_PEERS in internal.h
2007-09-28 16:00:43 +00:00
Charles Kerr
d9af0ff829
add more assertion tests to try to hunt down the tracker.c bug reported by John_Clay
2007-09-28 15:05:42 +00:00
Charles Kerr
f0c9f9a99a
add a callback to notify clients when a torrent's state changes
2007-09-28 14:51:34 +00:00
Charles Kerr
c28a94d04c
fix a couple of memory corruption errors while trying to track down tiennou's report on peer-msgs.c:pulse() -> inout.c:163 assertion failure.
2007-09-28 14:27:56 +00:00
Charles Kerr
2ae95a4096
fix win32 initialization bug reported by |ub0
2007-09-27 17:25:27 +00:00
Charles Kerr
1c1ef83a65
better support of the MSE protocol w.r.t. PadC and PadD
2007-09-27 14:43:33 +00:00
Charles Kerr
d3077bbce1
round 2 of minor revisions to tr_stat
2007-09-27 03:30:22 +00:00
Charles Kerr
439c1f38c1
some experimental code. (1) try to improve throughput to peers. (2) add first draft of new tr_stat fields requested by BentMyWookie (3) raise the per-torrent peer limit to 100 to match LibTorrent's defaults
2007-09-27 03:03:38 +00:00
Charles Kerr
d386617da2
only send a peer keepalive messages when we're not sending them anything else
2007-09-26 17:34:33 +00:00
Charles Kerr
773fa8f1f6
for every connected peer, send a keepalive message every 90 seconds
2007-09-26 15:14:37 +00:00
Charles Kerr
7ccab9de2c
peer i/o cleanup
2007-09-26 14:42:03 +00:00
Charles Kerr
682be6b12e
don't bother remembering peers that hang up on us.
...
don't bother remembering peers that are seeds when we're seeding.
2007-09-26 04:44:54 +00:00
Charles Kerr
f20358927b
lots of handshake fixes. incoming connections work now, both encrypted & plaintext. yay!
2007-09-26 03:52:30 +00:00
Charles Kerr
b63a505c6d
fix a handshake bug and reduce the idle cpu load a little.
2007-09-26 02:29:49 +00:00
Charles Kerr
ee6a0b8945
modify the tr_stat struct as hashed out by charles_ and BentMyWookie. sync gtk, ipc, and wx clients.
2007-09-26 01:55:04 +00:00
Charles Kerr
c6fdad0514
accept erdgeist's suggestion of using ensureMinimumFileSize() only on WIN32 -- on posix, seek+write is enough.
2007-09-25 23:21:00 +00:00
Charles Kerr
fef89a3bc7
* record the ports of incoming sockets. we might need them later if we want to disconnect and reconnect.
...
* for portability, use libevent API for some socket upkeep
2007-09-25 23:10:34 +00:00
Charles Kerr
904359a049
* fix oops from last checkin
...
* remove some unused fields from internal structures
2007-09-25 22:37:23 +00:00
Charles Kerr
73522af17c
fix peer-msgs.c assertion failure. (tbo)
2007-09-25 22:30:41 +00:00
Charles Kerr
7a15abaf7a
better handling of tracker error messages.
2007-09-25 18:39:58 +00:00
Charles Kerr
dcfe4f9802
if we connect to a peer that understands the encryption handshake, try harder to continue the connection in encrypted mode.
2007-09-25 17:56:46 +00:00
Charles Kerr
5aecf680f0
when a peer tells us that it's switched listening ports, remember the new port for the next time we connect.
2007-09-25 17:44:50 +00:00
Charles Kerr
dd8dc4d87e
tweak the bitfield code to be a little faster.
2007-09-25 17:43:39 +00:00
Charles Kerr
1d1a23508b
* follow the BT spec more closely by disallowing peers to request blocks of more than 16KiB from us.
...
* don't register the choke and connection timers for torrents that aren't running. It doesn't hurt anything but does waste a few cycles.
2007-09-25 00:04:29 +00:00
Charles Kerr
6c8d9d42d3
fixed tracker bug reported by TooMuchTime of OiNK fame
2007-09-24 20:27:20 +00:00
Charles Kerr
7caf9550df
shut up some more console messages
2007-09-24 19:12:52 +00:00
Charles Kerr
dd6f87a5eb
fix race condition in the torrent rechecker.
2007-09-24 17:47:15 +00:00
Charles Kerr
6897fe4327
plug some minor memory leaks. (valgrind)
2007-09-24 15:50:59 +00:00
Charles Kerr
b402687c93
* add sanity checks to incoming piece data requests. This may solve the inout.c:99 assertion failure.
...
* rename the gtk client from `transmission-gtk' to `transmission' for parity with the mac client.
2007-09-23 23:38:39 +00:00
Charles Kerr
4834dc4b13
fix crash-on-shutdown
2007-09-23 19:24:06 +00:00
Charles Kerr
b3fde0b43b
tweak responsivenes on switching between `uploading' and `downloading' when a user changes a file's do-not-download state
2007-09-23 14:17:39 +00:00
Charles Kerr
d27c9c5034
* update tor->activityDate whenever piece data is transferred.
2007-09-23 14:12:17 +00:00
Charles Kerr
89da2294b1
* when a torrent's done downloading, have it switch to seeding mode.
...
* tweak the gtk+ client's torrent inspector's display of transfer rates
2007-09-23 13:53:44 +00:00
Charles Kerr
968868debe
fix bug that tended to disconnect from valid peers when we were seeding. also, follow the BT spec's terminology a little closer.
2007-09-23 02:19:59 +00:00
Charles Kerr
7a54e88d4e
fix bug #342 -- some hash checks were incorrectly failing, which caused the `bytes downloaded' field to appear to jump back and forth
2007-09-23 02:11:53 +00:00
Charles Kerr
d8d46517b9
fix a couple of encryption bugs.
2007-09-22 21:48:02 +00:00
Charles Kerr
3c73a86595
tweak some more. follow BentMyWookie's suggestion for raising the connection limits.
2007-09-22 14:42:15 +00:00
Charles Kerr
a33a033b9b
tweak the peer mgr
2007-09-22 14:32:02 +00:00
Charles Kerr
10b8326f1d
add a peer connection manager s.t. have a consistent way of disconnecting from bad peers, connecting to new potential peers, disconnecting from seeds when we're seeding, etc.
2007-09-22 14:18:52 +00:00
Charles Kerr
ea7513e59d
undo commit that accidentally checked in testing code that only allowed connections from encrypted peers
2007-09-22 05:40:33 +00:00
Charles Kerr
c6aa57f306
make download speed limits work?
2007-09-22 05:16:32 +00:00
Charles Kerr
87f53cba5b
maybe get speed limits working.
2007-09-22 04:44:50 +00:00
Charles Kerr
ebc612d725
get encrypted uTorrent working.
2007-09-22 03:37:37 +00:00
Charles Kerr
f724cdd304
* abort connections if the peer selects an encryption option we didn't offer them.
...
* fix a shutdown crash as a result of peer-mgr timers not getting destroyed.
* remove some console messages.
2007-09-22 00:53:11 +00:00
Charles Kerr
a903f07058
fix logic error in handshake that allowed unencrypted peers even when "ignore unencrypted peers" is checked
2007-09-22 00:36:37 +00:00
Charles Kerr
56b0e5d1ac
* remove some console messages.
...
* scrape sooner when peers are added.
* added stub code for the connection manager code
2007-09-22 00:22:10 +00:00
Charles Kerr
4b46430731
give waldorf a different assertion to crash on.
2007-09-21 15:31:46 +00:00
Charles Kerr
980a7bda9a
fix stat bug reported by BentMyWookie
2007-09-21 15:13:23 +00:00
Charles Kerr
e9ed5e28d9
* accept tiennou's partial patch for `fast peers' extension
...
* fix growl problem I introduced in the last checkin, reported by chrissturm
2007-09-21 14:50:29 +00:00
Charles Kerr
9248143ce8
fix recursive crash when stopping a torrent, reported by plantain. silence a few more console messages.
2007-09-21 14:20:55 +00:00
Charles Kerr
54c84d0b30
silence a few more console messages
2007-09-21 13:52:42 +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
6479ecbcf6
fix crash reported by Gimp_, John_Clay, and persept_
2007-09-21 04:41:44 +00:00
Charles Kerr
28bcf6204b
clamp down on the flood of debug messages.
2007-09-20 23:33:46 +00:00
Charles Kerr
379beed969
if we're seeding, disconnect from other seeds (part 1 of 2)
2007-09-20 23:07:36 +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
Charles Kerr
ad71027cbb
fix small merge wart
2007-09-20 16:44:37 +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
d996b96e65
in WIN32, #define lseek _lseeki64
2007-09-09 01:32:59 +00:00
Charles Kerr
b0505157a4
(0.8x) take denis_' suggestion for improving the peer debug message
2007-09-09 00:45:08 +00:00
Charles Kerr
4b980c4c36
(trunk) fix a nasty width truncation bug, reported by Eric in http://transmission.m0k.org/forum/viewtopic.php?t=2304&start=16
2007-09-06 16:28:24 +00:00
Charles Kerr
3cd185747c
fix cut-and-paste bug
2007-09-05 23:58:35 +00:00
Charles Kerr
b1c9a9bd97
(trunk) fix some of the crash-on-shutdown issues.
2007-09-05 23:01:56 +00:00
Charles Kerr
7be8b8d116
(trunk) better fix for previous commit
2007-09-01 02:56:48 +00:00
Charles Kerr
eeb5cc6b5e
(trunk) Fix hash-checking error. Thanks to denis for tracking it down and submitting a patch.
2007-09-01 02:46:04 +00:00
Josh Elsasser
d422d6dbc7
Enable the azureus/libtorrent extension negotiation reserved bits.
2007-08-26 16:16:41 +00:00
Charles Kerr
53d48e4c37
add utility function for setting libevent timer intervals
2007-08-23 20:33:01 +00:00
Josh Elsasser
6323a59c6a
Add workaround for broken bittyrant client name.
2007-08-23 06:44:52 +00:00
Charles Kerr
77e7bc4f84
make upnp's internal structures' naming schemes whallop-like
2007-08-21 20:38:34 +00:00
Charles Kerr
44f6cb1098
fix NaN error reported by persept
2007-08-21 16:26:01 +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
64faed5c47
better saving of run/stopped state.
2007-08-20 23:36:18 +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
1f08d0ce52
cleaner shutdown
2007-08-20 02:18:38 +00:00
Charles Kerr
8f0c231a3a
fix FMR on shutdown
2007-08-20 02:12:55 +00:00
Charles Kerr
4e82903313
better fix for the leak in r2870
2007-08-19 04:03:06 +00:00
Charles Kerr
e19ecccae8
send libevent's warning messages to our logging framework instead of to the console
2007-08-19 03:54:27 +00:00
Charles Kerr
b0919dca34
...and, yet another memory leak, this time when trying to add a torrent that can't be added
2007-08-19 03:42:58 +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
027fa13c5b
fix win32 build. ( #304 , lubomir.marinov)
2007-08-19 02:10:18 +00:00
Charles Kerr
13c91c2d99
upnp.c needs platform.h if VERBOSE_LOG is defined (ticket #305 , mtolman)
2007-08-19 02:07:29 +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
8f78b809d1
fix minor memory leaks introduced in the last couple of days
2007-08-18 22:35:09 +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
43bfc5cd7f
update version.sh to exclude third-party. add $Id:$ to the new files s.t. version.sh will find them.
2007-08-18 17:05:51 +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
3a45686c3f
push event_del() through the libevent pipe too.
2007-08-18 06:59:20 +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
34e8174ee8
shut down the libevent thread gracefully on shutdown
2007-08-17 03:37: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
Josh Elsasser
3d65dcd13e
I'm an idiot. Base 2 is not the same thing as base 16.
2007-08-16 18:34:44 +00:00
Josh Elsasser
3d0e98b2c7
Save client name from azureus or extended handshake, overriding name deduced from peer id.
2007-08-15 23:03:50 +00:00
Josh Elsasser
7301b39c8b
Rework utf-8 string concat function a little and make it more widely available.
2007-08-15 23:02:56 +00:00
Josh Elsasser
8f6b8020bc
Implement proposed extension to indicate which of azrueus or extended messaging are preferred.
...
This is disabled for now.
2007-08-15 21:26:24 +00:00
Josh Elsasser
4c1c2667b6
Use macros instead of magic numbers when creating and parsing handshake.
...
Make it trivial to disable extended messaging or azureus protocol at compile-time, for debugging.
2007-08-15 19:44:13 +00:00
Charles Kerr
87496d2b48
avoid a race condition between msg_init and the libevent thread's tr_dbg() call
2007-08-15 03:26:55 +00:00
Charles Kerr
db7a354958
more work on getting our autoconf setup to play nice with libevent
2007-08-15 02:48:32 +00:00
Charles Kerr
2bf071543b
get some pieces of the new tracker code into svn...
2007-08-14 20:45:23 +00:00
Charles Kerr
5989151ed5
(trunk) revert yesterday's tracker changes.
2007-08-14 20:08:57 +00:00
Charles Kerr
6cf6dc9142
more hacking on making libevent build, and on making T pick it up in includes & library
2007-08-14 19:53:36 +00:00
Charles Kerr
02606d6675
add populate and cleanup utils for tr_tracker_info_t, since bencode and the new tracker code will both use it
2007-08-14 15:24:48 +00:00
Charles Kerr
26dabf816e
make list less error-prone by changing the API s.t. we're guaranteed to update the list's pointer correctly.
2007-08-14 14:18:54 +00:00
Charles Kerr
3fe2dbe5d0
forgot to check this one in. thanks to nickshanks, webaake, et al
2007-08-13 18:41:19 +00:00
Charles Kerr
7254a96ce8
let fastresume remember which torrents are stopped and which are running.
2007-08-13 16:43:33 +00:00
Charles Kerr
ab57bfb2d2
(trunk) fix accidentally-swapped switch cases
2007-08-13 15:40:45 +00:00
Charles Kerr
d2ddd4cb4e
(trunk) dead code removal. (ticket #286 )
2007-08-13 14:35:37 +00:00
Charles Kerr
9acf79d665
(trunk) make torrent creation's piece size more flexible. (ticket #293 reported by matt)
2007-08-13 13:57:12 +00:00
Mitchell Livingston
03de70ffa7
identify a client's peer id correctly
2007-08-10 18:06:52 +00:00
Charles Kerr
6355f031e4
(trunk) minor tweak to gracefully handle leading spaces in the announce URL. Reported by Lacrocivious
2007-08-08 23:48:10 +00:00
Charles Kerr
2cbff8d444
(trunk) portability patch for MAXPATHLEN. Reported by afxgroup in ticket #291 .
2007-08-08 23:33:01 +00:00
Charles Kerr
f2daeb242d
(trunk) add tweak to boost the priority of the first and last piece of a file so that early previewing is possible. Suggested by mtolman in http://transmission.m0k.org/forum/viewtopic.php?t=2110
2007-08-08 15:07:06 +00:00
Charles Kerr
51096225bd
(trunk) rewrite peerCheck code based on comments from mtolman in http://transmission.m0k.org/forum/viewtopic.php?t=2106
2007-08-08 06:01:52 +00:00
Charles Kerr
3cb5ba7eed
(trunk) fix assertion failure reported by kdrweez in http://transmission.m0k.org/forum/viewtopic.php?t=2096
2007-08-08 05:17:51 +00:00
Charles Kerr
82311abfbe
(trunk) fix assertion bug in torrent.c::fileByteCompleted()
2007-08-07 14:17:37 +00:00
Mitchell Livingston
0ec5461b50
add BitTorrent DNA to clients
2007-08-06 21:34:38 +00:00
Charles Kerr
dbd016e503
sync joshe's changes with win32
2007-08-04 02:55:06 +00:00
Charles Kerr
b79d325cd5
use inttypes.h instead of stdint.h
2007-08-04 01:34:00 +00:00
Josh Elsasser
2ead51f79d
Use __BEOS__ to test for beos instead of relying on the build to set SYS_BEOS.
...
Add missing headers and other miscellaneous fixes for beos.
2007-08-04 01:17:39 +00:00
Josh Elsasser
b46052826c
Include inttypes.h instead of stdint.h to unbreak beos.
...
Hopefully this won't break anything.
2007-08-04 00:43:47 +00:00
Charles Kerr
c51007f916
BeOS portability fixes from ModeenF
2007-08-03 16:28:32 +00:00
Charles Kerr
f158112ece
clarify the speedlimit comments
2007-08-03 15:55:32 +00:00
Mitchell Livingston
2cb1160945
add Pando to clients
2007-08-03 11:01:33 +00:00
Charles Kerr
ef2fc4fdcf
More win32 portability fixes. we now talk to tracker & peers; hash checks work, downloads seem to work. w00t
2007-08-02 23:33:40 +00:00
Charles Kerr
6763ec75e8
more portability fixes
2007-08-02 21:58:34 +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
65b81d09b6
use a straight lock, rather than a rwlock, for rate control
2007-08-02 16:07:34 +00:00
Charles Kerr
0e1e45605a
fix manual-announce but noted by BMW
2007-08-02 02:38:42 +00:00
Charles Kerr
25c1dff6d8
fix tyop
2007-08-01 23:22:01 +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
Mitchell Livingston
043d517730
in the clients list show dev builds as Transmission as "+" builds
2007-08-01 02:38:31 +00:00
Charles Kerr
26caf4f5dd
More Win32 portability changes
2007-08-01 00:40:49 +00:00
Charles Kerr
497856e6e4
add Win32 implementations of tr_thread_t, tr_mutex_t, and tr_cond_t
2007-07-31 19:56:40 +00:00
Charles Kerr
ba3dc008fc
get the socket/net code working on win32 too
2007-07-31 16:55:47 +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
11752dae78
remove unused macros
2007-07-31 01:21:10 +00:00
Charles Kerr
88fe038e6e
(libT) not all libT source files need to #include sha1/openssl, just three of them. Also, no need to compile a local sha1 implementation if we're using openssl's.
2007-07-30 19:55:10 +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
ebb141b232
better encapsulation of platform-specific constructs: tr_thread_t, tr_cond_t, tr_lock_t
2007-07-30 15:27:52 +00:00
Charles Kerr
7ba03d40b7
sync the two build systems w.r.t. dirname() and basename()
2007-07-30 14:31:03 +00:00
Charles Kerr
d8f8f9f922
Get BeOS client building on Zeta 1.21 thanks to patches by Fredrik Modéen
2007-07-30 13:59:23 +00:00
Charles Kerr
e1eaae5d19
fix small memory leak
2007-07-29 19:16:13 +00:00
Josh Elsasser
e429ebcb1b
Add a couple headers needed to build on openbsd.
2007-07-29 18:31:25 +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
7cfafc5371
* now that we've got a new function at the top of the CPU hog list, tweak it too.
...
* reduce large torrents' memory consumption in tr_completion_t.
2007-07-28 22:47:10 +00:00
Charles Kerr
530507760b
fix r2531 bug reported by Lacrocivious
2007-07-28 16:31:08 +00:00
Charles Kerr
29367fda62
add a temporary debugging statement for Lacrocivious
2007-07-28 15:58:59 +00:00
Charles Kerr
79a0081092
a nice patch that makes the three most CPU-hogging functions (as reported by Shark) essentially free and reduces memory overhead by 8 bytes per piece per torrent. Lots of asserts for extra testing fun.
2007-07-28 15:43:34 +00:00
Charles Kerr
a9fc478955
get both build systems (hand-written configure, and autoconf) to generate equivalent version.h headers
2007-07-28 04:10:09 +00:00
Charles Kerr
9542f7fe9e
* better `info' icon for torrent inspector.
...
* fix internal.h ifdefs s.t. we can use openssl for SHA1 when using configure.ac
2007-07-28 02:17:15 +00:00
Charles Kerr
a180698e8a
save a little bit of memory per-torrent.
2007-07-27 23:07:26 +00:00
Charles Kerr
b372ce45bf
fix stupid typo in completion.c that gave the wrong valid dl amount
2007-07-27 11:56:34 +00:00
Charles Kerr
9e266f6cbc
tweak r2510 misassertion reported by Lacrocivious
2007-07-27 01:59:48 +00:00
Charles Kerr
cd52d97529
refinement of r2510
2007-07-27 01:58:49 +00:00
Charles Kerr
0e6f766a57
gracefully fail when poison torrents containing no files, or zero byte files, are opened.
2007-07-27 01:50:26 +00:00
Charles Kerr
8f4fb4efbe
speed improvements to tr_torrentStat() by folding two expensive & redundant functions together.
2007-07-27 01:22:49 +00:00
Charles Kerr
3b6b9d3852
fix bug in tr_cpDownloadedValid() that caused download sizes of > 4 GiB to be misreported locally
2007-07-26 19:15:36 +00:00
Charles Kerr
31ac4e604a
a better fix for the tr_rand() crash experienced earlier today
2007-07-26 03:57:45 +00:00
Charles Kerr
daf26881b7
avoid using tr_rand() in peerPulse(); it's giving both me and SWE some odd behavior
2007-07-25 20:55:39 +00:00
Charles Kerr
abbcc72154
fix misassertion from a couple of revisions ago when trying to smoke out SoftwareElves' bug
2007-07-25 19:01:36 +00:00
Charles Kerr
3e40e06938
avoid null pointer dereferencing in tr_torrentInit*() as reported by wereHamster
2007-07-25 18:43:21 +00:00
Charles Kerr
fd7c112151
fix endgame bug reported again and again and again by SoftwareElves ;)
2007-07-25 18:30:00 +00:00
Charles Kerr
d84c2bd44a
some assertions to smoke out the error that SoftwareElves is seeing
2007-07-25 17:46:00 +00:00
Charles Kerr
c81f38360f
Undo the reporting stats change in r2493, based on info from xiffix that Azureus does not do this for the tracker, and when uTorrent did, it provoked a ban.
2007-07-25 17:38:05 +00:00
Charles Kerr
e8fb29ea44
fix compiler warnings reported by wereHamster
2007-07-25 17:27:19 +00:00
Charles Kerr
66883e72a9
fix double-free crash on opening a corrupt torrent file. reported by wereHamster
2007-07-25 17:19:29 +00:00
Charles Kerr
88d4df169b
Follow Azureus' and uTorrent's lead in not counting corrupt pieces in our announce data, as it could give us a misleadingly bad share ratio . (Ticket #263 )
2007-07-25 16:50:32 +00:00
Charles Kerr
d259e7b65a
Fix peer destructor bug from ticket #270 . This bug dates back to r1419 in January... I'm surprised it hasn't been reported before now.
2007-07-25 16:33:22 +00:00
Charles Kerr
95313e077a
fix off-by-one in r2488 reported by BentMyWookie. Hooray for assert()!
2007-07-25 02:28:25 +00:00
Charles Kerr
730d6df742
* fix overflow error from earlier today. (this was the crash talked about in IRC)
...
* fix long-standing error that occurred when pieceSize isn't evenly divisible by blockSize
* speed up and macro-ize piece-to-block conversions
2007-07-25 01:59:46 +00:00
Mitchell Livingston
a459ba3a74
make values in newly created .torrent files alphabetically sorted
2007-07-25 01:00:17 +00:00