Commit Graph

1251 Commits

Author SHA1 Message Date
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