Commit Graph

2178 Commits

Author SHA1 Message Date
Arvid Norberg 1ac4b29aa9 fix invariant check failure 2009-01-07 10:09:25 +00:00
Arvid Norberg b0a72f6809 fixed dead-lock when setting DHT proxy 2009-01-06 17:45:32 +00:00
Arvid Norberg 7df806d7f5 fix bug when calling torrent_handle::queue_position_up() on the torrent at the top of the queue. #455 2009-01-05 18:45:05 +00:00
Arvid Norberg d07ccaf6b8 workaround for sparse files issue on Windows vista 2009-01-05 01:08:09 +00:00
Arvid Norberg f1d229aae6 first pass of replacing coalesce writes and reads by writev and readv (no windows support yet) 2009-01-03 08:11:31 +00:00
Arvid Norberg 3bf9fa239d fixed incorrect failure test in storage. Affected reading when not coalescing reads 2009-01-02 10:31:26 +00:00
Arvid Norberg a14421bde5 return if torrent is aborted in files checked 2009-01-02 09:47:51 +00:00
Arvid Norberg dacb1ac48d reverted async. call to torrent::start() since it creates an undesirable race condition for file operations 2009-01-02 08:58:51 +00:00
Arvid Norberg a4dc107658 dht_stats fix (truncates the log file on startup) 2009-01-01 18:29:42 +00:00
Arvid Norberg 233f2ed00c start of use of writev instead of coalescing into a heap allocated buffer 2009-01-01 01:47:57 +00:00
Arvid Norberg cf7a6e6029 fixed broken DHT round trip logging 2008-12-31 18:49:28 +00:00
Arvid Norberg aecc24171d extended utf-8 encoding error correction to also cover name, comment and created by. Fixes #372 2008-12-31 10:18:19 +00:00
Arvid Norberg 1a22c31d08 fixed typo in last check-in 2008-12-30 17:45:58 +00:00
Arvid Norberg b873ffeb01 log the url in udp_tracker log lines 2008-12-30 17:37:38 +00:00
Arvid Norberg 06da1f8e8a added some session logging. added more disk-io-thread stats logging and parse script 2008-12-30 08:20:25 +00:00
Arvid Norberg e5d3755afb added support for http seeds (BEP 17) 2008-12-30 03:54:07 +00:00
Arvid Norberg 96a771ef8b only accept gzip encoding for bottled http requests 2008-12-29 07:31:33 +00:00
Arvid Norberg 725fdef85e IP overhead calculation fix 2008-12-28 20:06:59 +00:00
Arvid Norberg 469fe10107 udp_socket fix believed to fix #445 2008-12-28 01:50:55 +00:00
Arvid Norberg b81ae19e86 fix uninitialized variable read (next_announce) 2008-12-27 07:22:57 +00:00
Arvid Norberg 3d2726c523 dht stats now truncates the log from previous run 2008-12-27 03:34:05 +00:00
Arvid Norberg 28cb451eac expire read cache as well (same time out as write cache) 2008-12-27 02:38:14 +00:00
Arvid Norberg 927f9623cb session stats improvements 2008-12-27 02:22:20 +00:00
Arvid Norberg 952ed687cd made session stats config build 2008-12-26 07:00:21 +00:00
Arvid Norberg c8988d79b9 fixed typo in earlier check-in and wrapped try-catch block in BOOST_NO_EXCEPTIONS 2008-12-25 23:51:16 +00:00
Arvid Norberg 5a201af5f5 don't send performance warnings for rate limits unless it's enabled. stats logging improvements 2008-12-25 22:26:02 +00:00
Arvid Norberg 9379e4414c removed limit of active torrents to the unchoked slots. Fixes #450. Also removed some dead code and fixed typos in comments 2008-12-25 22:19:14 +00:00
Arvid Norberg de911676ed added asserts to make sure tracker_connections are shut down correctly (#451) 2008-12-25 02:05:23 +00:00
Arvid Norberg 6f80fdf9f7 fix bug when renaming files and using the web_peer_connection. Deprecated non-const file_storage access in torrent_info 2008-12-24 20:07:34 +00:00
Arvid Norberg 00d02f7859 improved DHT get_peers code. get_peers always returns nodes now, and announce_peer is always sent to the k closest nodes to the info-hash. This should significantly speed up retrieving peers from the DHT 2008-12-23 20:04:12 +00:00
Arvid Norberg 3b5706c5db fixed index of dht stats log and added/fixed dht log parsing and graphin tools 2008-12-23 18:38:48 +00:00
Arvid Norberg f43bc34ab9 another GeoIP fix 2008-12-22 09:53:30 +00:00
Arvid Norberg 578c2eb80c more C fixes for GeoIP.c 2008-12-22 09:07:12 +00:00
Arvid Norberg f6a9e44523 modified fix for #431 to make it actually build and work 2008-12-21 19:15:53 +00:00
Arvid Norberg 7b8663fa8b support for wide character paths for the GeoIP databases. Fixes #431 2008-12-21 08:48:06 +00:00
Arvid Norberg 16bfde875d tests don't need the default session features turned on 2008-12-20 23:06:06 +00:00
Arvid Norberg 4bd0d2d2e6 added resolver cancellation to http_connection and udp_socket. might prevent potential shutdown stalls 2008-12-20 18:27:09 +00:00
Arvid Norberg 41b2be779e fixed natpmp (broken in [3023]) 2008-12-19 19:27:58 +00:00
Arvid Norberg 2c03c44a59 fix assert.cpp mac build to take sdk version into account 2008-12-19 09:17:55 +00:00
Arvid Norberg d850a9ea38 utp socket fix 2008-12-19 06:20:09 +00:00
Arvid Norberg eadd91849a simplified assert.cpp, included stack-traces on Mac (assumes 10.5). Makes it easier to debug asio hangs since the backtraces can be used externally 2008-12-19 06:12:55 +00:00
Arvid Norberg e4ed68918b fixed bug when torrent file have announce-list but no valid trackers. #444 2008-12-16 01:26:35 +00:00
Arvid Norberg f1d981254a added session::set_alert_dispatch() for system specific message loop integration 2008-12-15 07:12:08 +00:00
Arvid Norberg b47f965c85 added torrent_handle::read_piece(). #441 2008-12-14 19:47:02 +00:00
Arvid Norberg 0638251289 added queued bytes to bandwidth manager and session_stats 2008-12-13 05:12:12 +00:00
Arvid Norberg eb1de9d9eb fixed potential problem in storage where it sometimes checks files without first initializing 2008-12-13 03:32:57 +00:00
Arvid Norberg 9c5c0418ba fixed tracker prioritization bug 2008-12-12 10:00:20 +00:00
Arvid Norberg 6d3d58020a udp_socket fixes and extra asserts 2008-12-12 09:20:27 +00:00
Arvid Norberg 5bc4a2089d fixed seeding choking algorithm to be more fair (proper round robin) 2008-12-10 23:07:44 +00:00
Arvid Norberg 5fb854d724 improved super seeding with strict option 2008-12-09 07:56:37 +00:00
Arvid Norberg ef8234efc5 fixed preprocessor defines using UNICODE instead of TORRENT_USE_WPATH. Removed old boost.filesystem replacement code to support boost 1.33 2008-12-09 03:45:58 +00:00
Arvid Norberg 2a9353cf48 prefer udp trackers. Fixes #433 2008-12-08 09:13:21 +00:00
Arvid Norberg b41cdd6469 initial super seeding support 2008-12-08 06:36:22 +00:00
Arvid Norberg 14c142d997 added add_piece() to inject data from external sources 2008-12-07 21:04:19 +00:00
Arvid Norberg 3b7e484d6a various fixes for potential shutdown freezes 2008-12-07 20:25:04 +00:00
Arvid Norberg a54c3fc0e7 added space after Host: http header 2008-12-04 21:44:21 +00:00
Arvid Norberg aeee715dd6 slight upnp optimization 2008-12-04 06:24:57 +00:00
Arvid Norberg 2d4bdbca7d fixed disk_io_thread over-allocation 2008-12-03 06:42:53 +00:00
Arvid Norberg 4cc15f34ad fixed nat-pmp bug 2008-12-02 08:20:29 +00:00
Arvid Norberg eacab8680e fixed illegal type conversion 2008-12-01 20:37:06 +00:00
Arvid Norberg 70f4303d92 added tracker IP to tracker_response callback and added filtering of local IPs in pex and tracker responses. #409 2008-12-01 08:48:54 +00:00
Arvid Norberg 58a3f6e4a0 added wpath overload for torrent_info constructor 2008-12-01 07:52:59 +00:00
Arvid Norberg a00ddba109 fixed bug that would grossly underestimate the TCP/IP overhead 2008-12-01 07:23:58 +00:00
Arvid Norberg 4b738fca7a added previous state to state_changed_alert. #401 2008-12-01 00:19:05 +00:00
Arvid Norberg 8e48e81ead added wpath and wstring overloads for functions dealing with paths for more complete wide character support. #432 2008-11-30 08:12:26 +00:00
Arvid Norberg 6027f9f20c made assert tied to the new TORRENT_DEBUG define. Fixed two include problems that surfaced as a result 2008-11-30 04:50:52 +00:00
Arvid Norberg 6519660372 add port number of host field in http requests 2008-11-29 23:00:57 +00:00
Arvid Norberg 1022ba45fc fixed bug in disk IO thread which would make it sometimes0 exit the thread if an error occurred 2008-11-29 21:38:34 +00:00
Arvid Norberg 09b3a865ef fixed compiler flags in pkg-config file and made header files not depend on the NDEBUG define 2008-11-29 21:33:21 +00:00
Arvid Norberg d1a2b774e6 changed how trackers are handled. Implements #297 by setting session_settings::announce_to_all_trackers to true 2008-11-29 08:38:40 +00:00
Arvid Norberg acbdbfc1ef added tracker exchange (tex) extension 2008-11-27 20:51:59 +00:00
Arvid Norberg 1b686a1364 m_currently_trying_tracker cleanup 2008-11-27 20:48:29 +00:00
Arvid Norberg 5ed3daa49a PEX optimization 2008-11-26 08:27:57 +00:00
Arvid Norberg 3fd5405fa9 torrent_handle::add_tracker() 2008-11-26 01:42:14 +00:00
Arvid Norberg 294e62a4c3 current_tracker now also indicates which tracker is being tried. fixes #404 2008-11-26 01:31:54 +00:00
Arvid Norberg 93a0103746 ut_metadata fix to not send metadata for private torrents 2008-11-25 19:25:49 +00:00
Arvid Norberg 2cd1838f38 exception fix in udp_socket 2008-11-24 19:19:27 +00:00
Arvid Norberg 73907913d7 force recheck assert fix 2008-11-24 19:18:53 +00:00
Arvid Norberg 157603b597 first pass at a link compatibility check 2008-11-23 15:44:11 +00:00
Arvid Norberg 357d548bb5 fixed boost.filesystem usage to not rely on deprecated functions 2008-11-21 23:38:07 +00:00
Arvid Norberg 3c90672b2f fixed upnp parsing problem #427 2008-11-21 18:23:44 +00:00
Arvid Norberg 723aba6c24 solved issue with pausing checking torrents. Introduced a new state, checkin_resume_data, which a torrent is in while waiting for the disk io thread to verify the resume data, but before it has been determined wheter it should be queued for checking or not 2008-11-19 00:46:48 +00:00
Arvid Norberg 78abf8a340 made recent change where the TCP/IP overhead is take into account when rate limiting, optional 2008-11-18 11:14:44 +00:00
Arvid Norberg ce24a17308 minor checking torrent fix 2008-11-18 11:03:19 +00:00
Arvid Norberg 57c22bb214 complete support for pausing checking torrents 2008-11-18 11:01:30 +00:00
Arvid Norberg 70119a6b53 consider 0-sized piece messages to be reject messages 2008-11-17 19:29:14 +00:00
Arvid Norberg 51393dabdf fixed typo 2008-11-17 19:19:45 +00:00
Arvid Norberg 370ee02ef6 fixed incorrect assert when receiving a 0-size piece message 2008-11-17 19:12:34 +00:00
Arvid Norberg 4fed0cd542 comment about file name truncation 2008-11-17 18:31:42 +00:00
Arvid Norberg 30c0525ed5 truncates filenames that are too long (#412) 2008-11-17 08:01:35 +00:00
Arvid Norberg f503bbfe86 fix for when aborting torrents that are being checked. Fix in client_test when removing torrents that are checking. 2008-11-17 01:19:46 +00:00
Arvid Norberg de93105d51 pad file fix 2008-11-16 23:33:59 +00:00
Arvid Norberg a48ffe36e0 improved natpmp logging and handling of mapped ports in session 2008-11-16 02:11:04 +00:00
Arvid Norberg e9a33e6a05 added option to set alert mask when constructing session 2008-11-16 02:09:53 +00:00
Arvid Norberg 7e4d5dc72f avoid exception from boost.filesystem 2008-11-14 23:23:02 +00:00
Arvid Norberg 40946162b3 avoid exceptions from boost.filesystem 2008-11-14 21:35:21 +00:00
Arvid Norberg c3bbf138a4 estimate TCP/IP overhead more accurately 2008-11-14 20:51:49 +00:00
Arvid Norberg 10fcab392a fix utf8 build 2008-11-14 05:22:04 +00:00
Arvid Norberg 03398e94b0 replaced utf8 conversion with code from unicode.org 2008-11-13 06:39:08 +00:00
Arvid Norberg 4578f3426c assert fix 2008-11-12 22:24:55 +00:00
Arvid Norberg 1b10a3b15f DHT instrumentation changes 2008-11-12 03:56:56 +00:00
Arvid Norberg 4eb0df96c2 DHT fix. broke in recent update 2008-11-12 03:33:58 +00:00
Arvid Norberg 43a2db0b20 fix for recent move of torrent::start into the libtorrent thread 2008-11-12 03:30:19 +00:00
Arvid Norberg a5ba060240 when calculating desired queue size, block size should not depend on whether or not they are merged in the requests 2008-11-12 00:54:44 +00:00
Arvid Norberg a7af4d806b verbose logging improvement 2008-11-11 23:45:43 +00:00
Arvid Norberg beb9dbfc03 cleaned up DHT error handling and logging. Made it use lazy_bdecode for improved performance 2008-11-11 17:51:02 +00:00
Arvid Norberg 03593c8b92 typecasting syntax fixes. No longer prints empty buckets in routing table dump 2008-11-11 10:03:43 +00:00
Arvid Norberg 49a3ac9710 disk_io_thread shutdown fix 2008-11-11 09:32:51 +00:00
Arvid Norberg 473f75e98a DHT fix where the node_id would get set after it was started and be inconsitent with rpc_manager and routing_table 2008-11-11 08:33:34 +00:00
Arvid Norberg dd26371c0a indentation fix 2008-11-10 04:17:16 +00:00
Arvid Norberg ce8c835ab8 fixed missing member initialization 2008-11-10 04:16:18 +00:00
Arvid Norberg 7306b60682 lazy_decode memory allocation tuning 2008-11-10 04:15:29 +00:00
Arvid Norberg 45de012553 fixed non verbose DHT build 2008-11-10 03:08:29 +00:00
Arvid Norberg 4abd27b40e initialize torrent object in libtorrent thread instead of in calling thread 2008-11-10 02:33:39 +00:00
Arvid Norberg 18d269dd62 DHT optimizations 2008-11-10 02:08:42 +00:00
Arvid Norberg 15a8cbcce7 dht fix 2008-11-09 09:02:06 +00:00
Arvid Norberg ce544e2300 DHT rate limiter fixes 2008-11-09 00:37:03 +00:00
Arvid Norberg 3ed38059aa rate_limited_udp_socket fixes 2008-11-08 21:44:24 +00:00
Arvid Norberg 9bba20cdb4 first pass at rate limited udp socket (for DHT) 2008-11-08 17:40:06 +00:00
Arvid Norberg 4e9124019b added accessor to query for the max number of connections 2008-11-08 07:40:55 +00:00
Arvid Norberg 71fb640699 fix to count download stats when a peer has disconnected or sends an invalid message id 2008-11-06 09:01:27 +00:00
Arvid Norberg 3412c0f709 added option to set peers in a state where it doesn't download 2008-11-06 08:34:56 +00:00
Arvid Norberg 19c66a1826 exception fixes 2008-11-05 05:39:18 +00:00
Arvid Norberg 19660306e0 more exception defines 2008-11-03 04:23:16 +00:00
Arvid Norberg bb02c7f985 fixed bug in upnp xml service parser introduced in last update 2008-11-02 21:11:00 +00:00
Arvid Norberg f2c9e02994 fixed deadlock in dht code 2008-11-02 10:01:04 +00:00
Arvid Norberg e0bea061b5 disabled an expensive assert when TORRENT_EXPENSIVE_INVARIANT_CHECKS is not defined 2008-11-01 19:44:39 +00:00
Arvid Norberg 17c250349e fix for when update_peer_port() disconnects 2008-11-01 19:34:12 +00:00
Arvid Norberg 593af53aba fix for connection_queue::close() to maintain the correct m_num_connecting counter 2008-11-01 18:01:00 +00:00
Arvid Norberg 44e9ff70de disconnect_if_redundant fix 2008-11-01 10:14:11 +00:00
Arvid Norberg da9a5c4262 connection_queue::close() fix 2008-11-01 09:02:13 +00:00
Arvid Norberg d721e99026 fix windows build with verbose logging 2008-11-01 05:35:41 +00:00
Arvid Norberg d359e84b34 fix connection_queue::close 2008-11-01 01:38:14 +00:00
Arvid Norberg 8c0165b5c4 removed incorrect assert 2008-10-31 23:14:36 +00:00
Arvid Norberg 4dada930ac made torrents not wanting more peers whene they're shutting down. Closes out all connections in the connection queue explicitly when session is shutting down 2008-10-30 17:13:10 +00:00
Arvid Norberg afb6b55b8f fixed typo in safe_convert call 2008-10-30 17:04:59 +00:00
Arvid Norberg d6a8c28d9c storage cleanup and truncating files that are larger than they should be 2008-10-30 06:09:23 +00:00
Arvid Norberg 829a5a9e25 removed debug output to stderr 2008-10-30 02:33:58 +00:00
Arvid Norberg 972450e766 support for UPnP routers that don't provide a urlbase 2008-10-29 01:17:19 +00:00
Arvid Norberg 669da96ae2 typo 2008-10-28 21:53:58 +00:00
Arvid Norberg 0b47f69afd upnp fix with unit test 2008-10-28 09:49:26 +00:00
Arvid Norberg 7fd2fd4732 added performance warnings for when the IP overhead eats up the entire up- or download rate limit 2008-10-28 06:45:42 +00:00
Arvid Norberg efcaee9c2d fix for when DHT is started before a listen port has been configured 2008-10-27 03:45:08 +00:00
Arvid Norberg 65c4b7ec13 fix for when removing a torrent when it is in the checking state 2008-10-26 09:23:00 +00:00
Arvid Norberg 8f7a3ddfe0 fix bug for when a torrent queued for checking was removed 2008-10-26 04:10:27 +00:00
Arvid Norberg 3f6a4f846e fixes to default features in session constructor 2008-10-24 08:11:17 +00:00
Arvid Norberg 971f437b41 added num_pieces to peer_info. Fixes #385 2008-10-24 00:15:39 +00:00
Arvid Norberg f7b22e3517 return if disconnected by extension 2008-10-23 16:31:15 +00:00
Arvid Norberg 392dbb71da more fixes to avoid unwanted exceptions 2008-10-23 04:10:23 +00:00
Arvid Norberg dc6564fa11 applies ip filter to trackers as well 2008-10-22 19:40:32 +00:00