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