Charles Kerr
ef21704b58
(trunk libT) remove the last calls to tr_getBuffer() and tr_releaseBuffer()
2009-06-14 01:00:36 +00:00
Charles Kerr
d4aaa3d320
(trunk libT) r8563 weak.
2009-05-31 00:27:19 +00:00
Charles Kerr
73cef0d680
(trunk libT) dead code removal
2009-05-30 21:45:40 +00:00
Charles Kerr
7c6fbfb80f
(trunk libT) fix a couple of dead assignments, and a possible null pointer dereference, found by clang
2009-05-22 19:03:00 +00:00
Charles Kerr
3d7cc36424
(trunk) #7 : DHT support. This is a work in progress... no gui/rpc support yet
2009-05-19 18:38:26 +00:00
Charles Kerr
14a400b7f6
(trunk libT) #1810 : DoS vulnerability wrt incoming connections
2009-02-12 20:43:07 +00:00
Charles Kerr
5812b9f05b
(trunk libT) more debugging messages
2009-01-24 17:20:07 +00:00
Charles Kerr
b6c73370e3
(trunk libT) #1734 : encrypted peers' outgoing RC4 stream can be corrupted by sending protocol messages out-of-order
2009-01-22 14:32:29 +00:00
Charles Kerr
486c55c1ed
(trunk libT) peerMgr: operate directly on tr_torrent and not peerMgr+torrentHash
2009-01-13 21:00:05 +00:00
Charles Kerr
fe816d8135
(trunk) update the GPL code's copyright dates
2009-01-10 23:09:07 +00:00
Charles Kerr
e7b9a2eaa2
(trunk libT) fix evbuffer oops
2009-01-08 20:33:33 +00:00
Charles Kerr
6917cac918
(trunk libT) fix odd handshake bug reported by wereHamster
2009-01-07 22:06:40 +00:00
Charles Kerr
3ff145f058
(trunk libT) two bugfixes in one: (1) fix leaking tr_handshake objects reported by BentMyWookie (2) fix yet another permutation of the tr_isBandwidth() assertion failure -- maybe the last one? -- reported by Waldorf
2009-01-06 00:24:44 +00:00
Charles Kerr
124658791a
(trunk libT) probably fix r7618 reported in #transmission by Rolcol
2009-01-05 06:45:08 +00:00
Charles Kerr
5ccd5a7700
(trunk libT) fix the much-hated "Assertion failed: (tr_isPeerIo( io ))". Also, repeated calls to tr_date() were taking up about 78% of the time in tr_stat(), so instead of calling multiple times, call it once in tr_stat() and pass that value around to the functions that need it.
2009-01-05 04:27:54 +00:00
Charles Kerr
ad69a937ef
(trunk libT) have a pool of reusable evbuffers
2008-12-30 20:32:00 +00:00
Charles Kerr
dfcc9173e5
(trunk libT) #include "session.h" cleanup from wereHamster
2008-12-23 17:27:15 +00:00
Charles Kerr
72ded3b272
try to rework the bandwidth code yet again s.t. it satisfies all three: (1) fairly distributes bandwidth across all peers, (2) scales well in high-bandwidth situations, (3) is good at hitting and staying at bandwidth limits/goals
2008-12-20 22:19:34 +00:00
Charles Kerr
a94e104040
(trunk libT) really fuck up the peer i/o code. also this breaks the mac build until someone removes iobuf.c from libtransmission's list of files.
2008-12-16 22:08:17 +00:00
Charles Kerr
9594112d27
updated email address
2008-12-16 00:20:44 +00:00
Charles Kerr
788b397ecc
(trunk libT) more semantic cleanup: tr_handle->tr_session, int->tr_bool, int->tr_port
2008-12-14 11:21:11 +00:00
Charles Kerr
6e66d09fbf
(trunk libT) fix minor r7266 oops that could keep us from disconnecting if we made a peer connection to ourself
2008-12-10 05:20:28 +00:00
Charles Kerr
9e98dcd248
(libT) minor cleanup: using tr_bool, fixing up bad code indentation, using %zu on size_t instead of casting to int...
2008-12-05 22:56:19 +00:00
Charles Kerr
5d36543c40
(libT) #1557 : handshake peer-id doesn't match the peer-id sent in the tracker announce
2008-12-04 05:27:59 +00:00
Charles Kerr
f927ea5d63
(libT) #1549 : support fast exensions' "reject" and "have all/none" messages
2008-12-02 17:10:54 +00:00
Charles Kerr
0d5fed6442
(libT) re-apply jhujhiti's IPv6 patch. This merges in my tr_port cleanup, so any new bugs are mine :/
2008-12-02 03:41:58 +00:00
Charles Kerr
a14621c363
(libT) janitorial: use the tr_port type whenever we have a `port' as a function argument or as a field in a struct.
2008-12-01 20:51:01 +00:00
Charles Kerr
7fa9813955
(libT) #252 : revert r7195 (jhujhiti's IPv6 test patch). It seems to be the culprit in a `thrashing' issue reported by Waldorf and m1b in irc -- the behavior appeared between r7183 and r7187 -- so this commit is to trigger off a nightly build w/o the patch to test with in irc.
2008-12-01 20:21:06 +00:00
Charles Kerr
a2ad4f6543
(libT) patch from jhujhiti to add ipv6 support.
2008-11-30 00:47:18 +00:00
Mitchell Livingston
69877384f1
remove unused GroupsWindow.xib; don't allow group rows to be renamed from the group list
2008-11-29 21:03:47 +00:00
Charles Kerr
40b5fc5351
(libT) #1532 : patch from jhujhiti to remove (unused) fast extensions
2008-11-29 20:37:34 +00:00
Charles Kerr
d12af295c1
use tr_bool instead of C bitfields. ( http://blogs.msdn.com/oldnewthing/archive/2008/11/26/9143050.aspx )
2008-11-28 22:11:41 +00:00
Charles Kerr
f44248a7d7
(libT) yet another stab at getting bandwidth management under control. this version may suck less than previous attempts. It also breaks the mac build until someone adds iobuf.[ch] to xcode...
2008-11-25 21:35:17 +00:00
Charles Kerr
8e6529ad8f
(libT) I wonder if this will have any affect on the bug reported by Wizardling.
2008-11-24 21:59:00 +00:00
Charles Kerr
be5e6774ad
(libT) #1468 : another stab at getting the peer transfer speeds both fast and a little more consistent.
2008-11-24 04:21:23 +00:00
Charles Kerr
a0fd42c5c3
(libT) better possible fix for #1468 : Speed display is very jumpy
2008-11-17 04:00:57 +00:00
Charles Kerr
6a954ef95c
(libT) oops, fix a couple of new gcc "unused variable" warnings. Hi, titer.
2008-10-29 20:51:57 +00:00
Charles Kerr
2666807291
#1389 test #3
2008-10-29 20:18:56 +00:00
Charles Kerr
8518da7193
#1389 test #2
2008-10-29 20:06:44 +00:00
Charles Kerr
4a8e34a35d
(libT) possible fix for #1389 : bitcomet handshake with TransmissionBT failed
2008-10-29 19:30:17 +00:00
Charles Kerr
06939cafa6
(libT) low-hanging fruit discovered from softwareelves' shark profile.
2008-10-26 15:39:04 +00:00
Charles Kerr
ef5bc3f150
(libT) more win32 work copied from spry's code:
...
(1) add #define for {read,write,strncasecmp} -> {_read,_write,_strnicmp}
(2) fix a couple more variadic macros that didn't get fixed in the last commit
(3) use evutil_strtoll() instead of strtoll()
2008-10-14 01:00:15 +00:00
Charles Kerr
cc89872dd4
run libT, cli, daemon, gtk through the source-code formatter "uncrustify" as promised/threatened
2008-09-23 19:11:04 +00:00
Charles Kerr
9c2c4ca08d
fix at least one possible cause for the new crash reported by persept
2008-09-19 17:03:25 +00:00
Charles Kerr
4fe1e1dae3
first draft at having more accurate speed controls
2008-09-17 19:44:24 +00:00
Charles Kerr
93898401fb
more connection management changes
2008-08-16 16:00:49 +00:00
Mukund Sivaraman
de62de3e19
Replace random number generation code
2008-08-14 11:11:25 +00:00
Charles Kerr
c75c512ff1
readability improvments #1 , #2 , #3 , #4 . (muks)
2008-08-12 13:51:11 +00:00
Charles Kerr
51aff87443
lots of C correctness tweaks suggested by sparse/cgcc
2008-08-11 19:05:02 +00:00
Charles Kerr
b860119cd3
minor text cleanup
2008-08-01 16:43:22 +00:00
Charles Kerr
d3d4047da0
fix handshake.c crash reported by wereHamster
2008-06-05 16:25:22 +00:00
Charles Kerr
a362df0a14
#905 : update peer_id client lists. add a dozen or so new clients from Azureus (thanks amc1!)
2008-04-29 16:57:16 +00:00
Charles Kerr
47021f1a12
fold most of the "deep logging" functions into a single function
2008-04-25 02:57:33 +00:00
Charles Kerr
ea9e0b260f
(1) fix choke/unchoke error. (2) if a peer keeps trying to reconnect to us, hang up during the handshake.
2008-04-17 03:48:56 +00:00
Charles Kerr
deaeb24cb5
cleanup #includes for errno & strerror
2008-02-19 04:16:04 +00:00
Charles Kerr
737bb23743
more work on "router death": stagger out tracker scrape attempts and close a loophole in the handshake code
2008-01-19 00:28:52 +00:00
Charles Kerr
925153e67b
#620 : assertion failure: `pad_d_len <= 512' in handshake.c:527
2008-01-14 16:17:02 +00:00
Charles Kerr
fcd4aa25e8
#601 : crash when in "deep logging" mode
2008-01-08 14:48:05 +00:00
Charles Kerr
30d00fbc53
cleanup
2008-01-07 06:19:34 +00:00
Charles Kerr
35f73c097c
lazy "allowed set" generation. add regression test for "allowed set" generation.
2008-01-06 21:56:30 +00:00
Charles Kerr
ce6c33b7bf
set copyright info to 2008
2008-01-01 17:20:20 +00:00
Charles Kerr
f9aea628aa
better handshaking with incoming connections from mainline peers
2008-01-01 00:20:07 +00:00
Charles Kerr
473907d891
a little housekeeping: move tr_torrent stuff into its own header
2007-12-25 05:37:32 +00:00
Charles Kerr
abef433926
improve upload speeds when the speed limits are uncapped.
2007-12-01 23:08:34 +00:00
Charles Kerr
77d58126f4
remove yet more dead code
2007-11-17 02:47:47 +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
c32f893038
commit tiennou's fast-peers-final patch from ticket 149
2007-11-10 16:06:00 +00:00
Charles Kerr
fd430fde90
undoing the r3773-r3774 experiment.
2007-11-09 20:07:52 +00:00
Charles Kerr
67b719c2de
on Darwin, use NSCParameterAssert() instead of assert().
2007-11-09 19:50:40 +00:00
Charles Kerr
125bd34bbb
added `plaintext preferred' encryption option.
2007-11-08 21:20:08 +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
7cb1791f2a
fix handshake memory leak reported by MishaS ( #442 )
2007-11-01 18:41:13 +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
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
216ee3f52b
fix a nasty error with fallback unencrypted peer connections.
2007-10-22 23:31:03 +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
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
2cda7060cd
remove stubs for Azureus extension negotiation
2007-10-17 18:53:17 +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
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
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
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
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
0872b4f40a
fix the crash reported by Waldorf and John_Clay
2007-10-04 20:31:19 +00:00
Charles Kerr
f4901211ca
Fix erratic `(int)EVBUFFER_LENGTH( inbuf ) >= byteCount' error
2007-10-02 16:59:56 +00:00
Charles Kerr
7cc6771318
experimental better peer management.
2007-09-30 23:55:49 +00:00
Charles Kerr
dad333ceec
more work on the locks
2007-09-29 14:55:30 +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
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
1c1ef83a65
better support of the MSE protocol w.r.t. PadC and PadD
2007-09-27 14:43:33 +00:00
Charles Kerr
7ccab9de2c
peer i/o cleanup
2007-09-26 14:42:03 +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
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
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