Charles Kerr
cfa1bc8480
shrink sizeof(benc_val_t) from 32 to 24 by better alignment
2008-02-02 16:09:10 +00:00
Charles Kerr
d3047158be
more unit tests for bounds-checking on incomplete bencoded data
2008-02-01 21:53:01 +00:00
Charles Kerr
b98a927a9a
add more benc unit tests.
2008-02-01 17:33:49 +00:00
Charles Kerr
3334ea8401
fix the 1.04 bencode errors reported in the forums this morning. add regression tests.
2008-02-01 15:50:17 +00:00
Charles Kerr
606d548514
clarity tweaks to variable & function names
2008-02-01 01:54:04 +00:00
Charles Kerr
88cfec047f
#666 : pausing in the middle of "verify local data" makes T forget about the nonverified portion
2008-02-01 01:38:55 +00:00
Charles Kerr
375949551b
more graceful handling of bad inputs to tr_bencFree(), tr_bencSave(), and tr_bencPrint().
2008-01-31 15:20:42 +00:00
Charles Kerr
b5e119f1ea
bencode tweaks.
2008-01-31 06:00:57 +00:00
Charles Kerr
784e0babda
fix off-by-one that was uncovered by the new benc's stricter parsing.
2008-01-31 03:09:27 +00:00
Charles Kerr
df9bd1f713
#667 : remote crash exploit in bencode parser
2008-01-31 02:24:43 +00:00
Charles Kerr
410dffd211
part 1 of the bencode exploit fix:
...
- better error checking for int & string parsing
- add automated unit tests
2008-01-30 15:39:41 +00:00
Charles Kerr
0f981db778
#665 : Ratio calculations aren't strictly accurate when re-seeding a torrent
2008-01-29 16:33:29 +00:00
Charles Kerr
f72ba4b8d8
#663 : connection limits don't work correctly.
2008-01-28 21:05:50 +00:00
Charles Kerr
3d8dfa574b
(1.0x) #660 : fix HTTP syntax error that caused "Bad Request" messages on lighttpd-based trackers. Reported by _Psih
2008-01-28 06:03:14 +00:00
Charles Kerr
b29ba709b3
tr_ioRecalculateHash(): use a static buffer instead of malloc/free.
2008-01-27 17:03:58 +00:00
Charles Kerr
f32d3b24fe
#653 "overflow issue in Transmission/1.01" (1) safeguard bitfield functions against overflow. (2) add regression tests to see if this data is corrupted again in the future.
2008-01-27 16:08:20 +00:00
Charles Kerr
2085aec390
#613 : fix handshake protocol error reported by brad- and tracked down w/Lacrocivious' help.
2008-01-26 03:43:49 +00:00
Charles Kerr
d922389c9d
#613 : fix handshake error with libtorrent / mainline peers
2008-01-24 17:16:20 +00:00
Charles Kerr
b1cd6ecccc
remove unused "max unchoked peers" feature. fix obsolete TR_FLAG_SAVE comment.
2008-01-23 17:06:36 +00:00
Charles Kerr
d4128740d1
since we're not using evdns, don't call evdns_init() and evdns_shutdown() anymore.
2008-01-21 23:36:43 +00:00
Charles Kerr
0dd150844a
make tr_handleStatus() return a const
2008-01-21 18:24:37 +00:00
Charles Kerr
1b7706e101
finish the trunk/1.0x libT merge: router death & portability
2008-01-21 02:11:57 +00:00
Charles Kerr
de21d77af2
test code to test a "router death" theory in the nightlies
2008-01-20 03:21:51 +00:00
Charles Kerr
43a83f31bb
change the default global connection limit to 200 in tr_init()
2008-01-20 01:50:51 +00:00
Charles Kerr
3a47dfdb23
(router death) dial down the max number of new sockets per second even lower
2008-01-19 03:44:44 +00:00
Charles Kerr
3c6eeef439
fix a socket leak in peer-msgs
2008-01-19 03:30:45 +00:00
Charles Kerr
a771f34373
stagger out the reannounce messages too, just as 0.82 did, as per denisx_'s suggestion
2008-01-19 01:34:02 +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
de515ee339
if the torrent's download path doesn't exist, don't create it -- it's might be a removeable disk that got unplugged.
2008-01-18 19:13:32 +00:00
Charles Kerr
dd75a769c9
fix tr_mkdirp()'s errno/retvals.
2008-01-18 01:40:41 +00:00
Charles Kerr
52c3243b4b
more test code to address "router death". Based on maxintech's feedback in the forums, try making the peer manager's reconnect intervals and volume more like 1.00
2008-01-17 03:43:08 +00:00
Charles Kerr
6c6228770c
fix byte ordering of the port in tr_peerIoAddrStr()
2008-01-17 00:08:40 +00:00
Charles Kerr
377c00a826
a test: if we set the reconnect period to any given peer to > 900 seconds, will that make "router death" go away? 900 seconds is the usual router setting for timing out bad sockets.
2008-01-16 20:24:18 +00:00
Charles Kerr
5965d8d1ae
handle tr_torrentClose( NULL ) gracefully.
2008-01-16 17:57:13 +00:00
Charles Kerr
61fc032dc1
sync peersSendingToUs with isDownloadingFrom, reported by BentMyWookie
2008-01-16 17:52:47 +00:00
Charles Kerr
a1e20dd7e9
more work on "router death": if we can't connect to a given peer, retry it fewer times and wait much longer between retries.
2008-01-16 15:13:02 +00:00
Mitchell Livingston
ff833b37d6
fix compiling error with last commit
2008-01-15 22:40:58 +00:00
Charles Kerr
d48f7a0026
housekeeping. tweak comments, group API calls a bit.
2008-01-15 22:00:58 +00:00
Charles Kerr
ca70ef18bb
drive the throttle even lower.. max of 16 connections per second.
2008-01-15 06:02:47 +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
2c7a7c4253
throttle the number of new connections per second down even further from 48 to 32 because of the continuing "kills my router" reports
2008-01-13 21:05:38 +00:00
Charles Kerr
e7163a5433
#593 : 1.01 crash
2008-01-13 15:52:56 +00:00
Charles Kerr
90f5c61327
tweak the conncetions a little bit
2008-01-11 19:44:45 +00:00
Charles Kerr
876cd4c413
test patch for the "router death" bug: throttle the number of connections made per second
2008-01-11 18:13:09 +00:00
Charles Kerr
fe9cabbe4b
fix r4608 oops
2008-01-11 02:40:32 +00:00
Charles Kerr
39b1db460d
follow the spec's suggestion that new connections be 3x as likely for optimistic unchoke
2008-01-11 02:09:20 +00:00
Charles Kerr
6f6adb1d53
try to ramp up fast connections more quickly.
2008-01-11 00:38:26 +00:00
Charles Kerr
939f1541c6
mingw portability fixes: libtransmission #includes
2008-01-10 19:52:56 +00:00
Charles Kerr
6432363f64
mingw portability fixes: #includes in natpmp.c
2008-01-10 19:27:13 +00:00
Charles Kerr
8c6c822acd
mingw portability fixes: getrlimit/setrlimit in fdlimit
2008-01-10 19:22:11 +00:00
Charles Kerr
3a6396a3cb
mingw portability fixes
2008-01-10 18:52:46 +00:00
Mitchell Livingston
bedfab2ccc
clarify peer upload and download
2008-01-10 00:52:02 +00:00
Charles Kerr
5d93bd2c93
a smaller buffer size seems, counterintuitively, to improve the overall transfer rate when speed limits are turned on, because it gives more peers a chance to be involved in xfer before we hit the limit.
2008-01-09 19:22:25 +00:00
Charles Kerr
591f7f8b10
* improve the unchoking algorithm.
...
* when deciding which peers to connect to, take peer's previous speeds into account
* longer delay interval before reconnecting to peers that didn't give us data
* added uTorrent-inspired "flags" column in tr_peer_stat and gtk's torrent details' "peer" tab
2008-01-09 17:33:43 +00:00
Charles Kerr
8bc02db55e
mollify a noisy debugging message
2008-01-08 20:08:45 +00:00
Charles Kerr
fcd4aa25e8
#601 : crash when in "deep logging" mode
2008-01-08 14:48:05 +00:00
Charles Kerr
549778dc7e
#589 fix crash that occurred when the next-to-last file in a torrent ended on a piece boundary and the last file had a size of 0 bytes.
2008-01-08 03:08:36 +00:00
Charles Kerr
4f0f6e150e
fix another OpenBSD alignment bug reported by naddy
2008-01-08 01:57:48 +00:00
Charles Kerr
6db7a5177f
#598 : fix openbsd alignment & #include issues reported by naddy
2008-01-07 19:17:43 +00:00
Charles Kerr
a7ff9218ab
grumble bikeshed grumble
2008-01-07 17:52:50 +00:00
Charles Kerr
30d00fbc53
cleanup
2008-01-07 06:19:34 +00:00
Mitchell Livingston
efd3910b09
patch from SWE to display the correct # of peers connected
2008-01-07 04:28:36 +00:00
Charles Kerr
a88af6a758
better fix for r4532
2008-01-07 00:42:53 +00:00
Charles Kerr
f98ab5b375
fix "other" error string in IPC. Reported by jan_doa_; fixed by SoftwareElves
2008-01-07 00:19:41 +00:00
Charles Kerr
1e45d3e478
better lazy generation of "allowed set": wait until we get the {have-all|have-none|bitfield} from the peer so that we'll know if they qualify for an allowed set
2008-01-06 22:20:44 +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
3cfbb199af
remove unnecessary assertion
2008-01-05 19:01:51 +00:00
Charles Kerr
6c3eab0a92
#585 : 1.00 could be sped up by elminating reconnect intervals for some peers
2008-01-05 18:17:56 +00:00
Charles Kerr
15ffb4232e
tr_stat.ratio now returns TR_RATIO_INF when appropriate
2008-01-04 19:13:30 +00:00
Charles Kerr
514f96418b
fix tr_buildPath() crash
2008-01-04 18:24:42 +00:00
Charles Kerr
638f0b0bae
`paused' torrent ctor argument wasn't being honored right.
2008-01-04 05:42:41 +00:00
Charles Kerr
085235b10b
remove some unused #include <ctype.h> directives
2008-01-03 20:17:01 +00:00
Mitchell Livingston
69c4b99995
fix for [4439]
2008-01-03 18:46:33 +00:00
Charles Kerr
09ca9f6dda
maybe fix i18n tracker error reported by haktar
2008-01-03 17:49:45 +00:00
Charles Kerr
57579bf576
#378 - use {get,set}rlimit to deal with open file limits
2008-01-03 16:36:20 +00:00
Charles Kerr
ceb608d9a3
#542 : handle torrent metainfo files whose info.name tag is missing or empty.
2008-01-03 16:01:29 +00:00
Charles Kerr
893b0c10a3
to try to prevent router overloads, make (MAX_RECONNECTIONS_PER_PULSE * RECONNECT_PERIOD_MSEC) smaller.
2008-01-03 05:30:45 +00:00
Charles Kerr
ce7b2521a3
tweak debug messages.
2008-01-03 05:29:31 +00:00
Charles Kerr
ee2cffa196
#579 : assertion failure in ~r4410
2008-01-03 03:45:10 +00:00
Charles Kerr
d417fe8a79
speedup calculatePiecePriority(). This should give faster startup for torrents w/lots of files.
2008-01-02 20:37:22 +00:00
Charles Kerr
2b7a82b9a8
fix r4425 oops
2008-01-02 20:34:20 +00:00
Charles Kerr
0e56fa0baf
test code for #575 (m1b's bug)
2008-01-02 18:05:05 +00:00
Charles Kerr
288e2ca814
don't stop the torrent just because of a tracker error
2008-01-01 23:37:50 +00:00
Charles Kerr
ce6c33b7bf
set copyright info to 2008
2008-01-01 17:20:20 +00:00
Charles Kerr
186681065d
explicitly include unistd.h for ssize_t
2008-01-01 17:01:18 +00:00
Charles Kerr
f9aea628aa
better handshaking with incoming connections from mainline peers
2008-01-01 00:20:07 +00:00
Charles Kerr
c282d753c6
add stats.h to the list of files included in libtransmission's tarball
2007-12-30 19:01:00 +00:00
Charles Kerr
882afbd3c3
add torrent.h to list of files included in libtransmission's tarball
2007-12-30 18:58:17 +00:00
Charles Kerr
245915258f
turn off a debugging message gone wild
2007-12-30 18:46:18 +00:00
Charles Kerr
60fb68cb7a
silence a debug message gone wild
2007-12-28 06:14:18 +00:00
Charles Kerr
c6d2e60f52
fix comment typo reported by BigBossman
2007-12-27 22:50:20 +00:00
Charles Kerr
970211acf0
roll back r4356
2007-12-27 22:38:53 +00:00
Charles Kerr
aacb21fdc4
silence a debug message gone wild
2007-12-27 22:33:24 +00:00
Charles Kerr
f88eb7d771
experimental code that should make tracker interaction (especially shutdown) much faster.
2007-12-27 21:48:41 +00:00
Charles Kerr
e319a6ffe4
dead code removal
2007-12-26 20:45:08 +00:00
Charles Kerr
71efb5c74b
add per-priority-level endgame mode
2007-12-26 07:25:50 +00:00
Charles Kerr
1f3084179e
remove debugging messages that aren't needed anymore.
2007-12-26 07:19:05 +00:00
Charles Kerr
e870440025
add a per-block request TTL of 120 seconds
2007-12-25 17:22:51 +00:00
Charles Kerr
819b83d90d
fix another file priority bug.
2007-12-25 06:37:21 +00:00
Charles Kerr
f8bc11e094
fix a couple of related file priority bugs.
2007-12-25 05:42:33 +00:00