Commit Graph

4911 Commits

Author SHA1 Message Date
Arvid Norberg 9172874b5c fix storage error (recently introduced) where the mapped_files object would not be updated when renaming files that did not exist on disk 2015-01-13 18:28:06 +00:00
Arvid Norberg 95f889b247 some debug output 2015-01-13 06:11:42 +00:00
Arvid Norberg c9903bdaf2 use O_SYNC when available 2015-01-07 23:21:54 +00:00
Arvid Norberg c9075a530d fix build 2015-01-06 22:17:22 +00:00
Arvid Norberg 1a53a454ec fix ssl unit test 2015-01-06 08:16:03 +00:00
Arvid Norberg 0f37e3403c transition from intrusive_ptr to shared_ptr. don't export initialize_default_settings 2015-01-06 08:08:49 +00:00
Arvid Norberg a462f58372 use hardware optimized CRC32C function in DHT 2015-01-05 13:50:42 +00:00
Arvid Norberg 1b254e16c2 remove comment 2015-01-05 12:25:10 +00:00
Arvid Norberg 73a4755f13 fix asio-debugging bug in udp_socket 2015-01-05 12:22:31 +00:00
Arvid Norberg 3be0430036 merged changes from RC_1_0 2015-01-05 12:15:16 +00:00
Arvid Norberg bb33b061e4 clean up session_impl 2015-01-04 22:26:26 +00:00
Arvid Norberg 35b41858cf deprecated session_status and session::status() in favor of performance counters 2015-01-04 21:31:02 +00:00
Arvid Norberg 55e51ab57c merged changes from RC_1_0 2015-01-04 21:18:00 +00:00
Arvid Norberg 68ffd3c47c restore breakage of recalculate_automanaged_torrents, and fix the logic for checking torrents 2015-01-04 21:14:46 +00:00
Arvid Norberg 1218e328cd SSL fixes (especially over uTP) 2015-01-04 01:04:56 +00:00
Arvid Norberg d68471805e improve support for HTTP where one direction of the socket is shut down 2015-01-03 22:38:17 +00:00
Arvid Norberg f839b8c9b4 factor creating of directories into default_storage::open_file to make that functionality more robust and fix a bug where moving files out of the part-file would fail because the directories hadn't been created yet 2015-01-03 16:57:21 +00:00
Arvid Norberg b897a6ce29 fix bug in settings_pack causing intermittent unit test failures. added unit test to cover the bug 2015-01-03 16:52:22 +00:00
Arvid Norberg 290260054d fix http restart-piece bug whose fix apparently failed to merge from RC_1_0 a long time ago. Also improve logging of restart pieces 2015-01-03 13:09:09 +00:00
Arvid Norberg 9b0f7bbe72 move function from header to .cpp file 2015-01-02 00:51:09 +00:00
Arvid Norberg dbf461ac23 make DHT dos mitigation parameters configurable via dht_settings 2015-01-01 23:24:21 +00:00
Arvid Norberg f77e12ac04 clean up symbol exports 2015-01-01 20:25:39 +00:00
Arvid Norberg a1c1f9393d fix flush_pieces in disk_io_thread to also flush the read cache 2015-01-01 10:10:13 +00:00
Arvid Norberg 092362e9bc remove internal fields from web_seed_entry 2014-12-31 22:05:34 +00:00
Arvid Norberg 764b09d6b5 make the peer fingerprint a regular setting and remove it from the main session constructor argument list 2014-12-31 15:51:45 +00:00
Arvid Norberg 1039d4ae86 tweak some TODO comments and fix one 2014-12-31 14:41:35 +00:00
Arvid Norberg bc117e5f40 merged changes from RC_1_0 2014-12-31 09:30:23 +00:00
Arvid Norberg eefba55419 fix assert in utp_stream at high rates 2014-12-30 20:44:18 +00:00
Arvid Norberg 7d53b7efd3 fix merge error 2014-12-30 16:56:03 +00:00
Arvid Norberg fcf6beace5 merged changes from RC_1_0 2014-12-30 09:02:20 +00:00
Arvid Norberg e9414894e2 separate the configuration of crypto library and whether protocol encryption is enabled or not. make protocol encryption always use the built-in rc4 and tommath code. SHA-1 hashing is done by the crypto library 2014-12-29 16:50:22 +00:00
Arvid Norberg ae47823970 don't fail renaming a file in a torrent just because it doesn't exist (and the destination directory doesn't exist) 2014-12-26 21:25:37 +00:00
Arvid Norberg 0977d94dbc merged changes from RC_1_0 2014-12-25 11:24:02 +00:00
Arvid Norberg ca3c1620bd merged changes from RC_1_0 2014-12-17 14:33:52 +00:00
Arvid Norberg 20b4608c38 optimize copying torrent_info and file_storage objects 2014-12-17 05:33:16 +00:00
Arvid Norberg 13a9c3c78d we no longer support including file-hashes when creating torrents 2014-12-17 03:50:01 +00:00
Arvid Norberg 6214aef0c5 merged changes from RC_1_0 2014-12-17 03:19:42 +00:00
Arvid Norberg ae04b80fe1 cancel non-critical DNS lookups when shutting down, to cut down on shutdown delay 2014-12-17 02:44:27 +00:00
Arvid Norberg 6f19f9a063 lt_trackers is no longer a default extension 2014-12-10 09:59:24 +00:00
Arvid Norberg a3d1a493fd disable logging alerts in client_test 2014-12-10 09:45:38 +00:00
Arvid Norberg 333a13c957 a bit more conservative block request timeouts. promote some invariant checks in the DHT as expensive (to disable them for regular debug builds) 2014-12-10 07:13:57 +00:00
Arvid Norberg 1ce3bdf0d0 update send and received byte performance counters immediately, to avoid the one second quantization in stats 2014-12-10 05:49:17 +00:00
Arvid Norberg 20b9a01a09 pack members of pending_buffer a bit 2014-12-10 01:05:40 +00:00
Arvid Norberg 5666cdcd07 fix warnings 2014-12-09 09:33:34 +00:00
Arvid Norberg 09bc1550e9 simplify the debug logging mechanism. There's now only one build option, logging=on or logging=off. When logging is enabled, the log level is controlled by the alert mask. All log events are delivered as alerts and it's up to the client to write them to disk in whatever way seems appropriate. removed the pointless logger plugin 2014-12-09 09:08:26 +00:00
Arvid Norberg 4eaec6d87f instead of using a fixed request timeout for every peer, have an adaptable one based on the average download time for a block 2014-12-08 17:06:04 +00:00
Arvid Norberg c4e5df8e4d remove the concept of timeout_extend in piece request timeouts. if a request times out, cancel it as soon as it holds up the completion of a piece 2014-12-07 22:22:38 +00:00
Arvid Norberg 790ef041bf merged changes from RC_1_0 2014-12-07 07:22:39 +00:00
Arvid Norberg 1ed1963f29 remove size_type typedef in favor of boost::int64_t 2014-12-03 04:32:50 +00:00
Arvid Norberg 066cbf1a9f merged changes from RC_1_0 2014-12-02 10:18:07 +00:00
Arvid Norberg 4376d26399 merged changes from RC_1_0 2014-12-01 10:43:34 +00:00
Arvid Norberg 362b54421d merged changes from RC_1_0 2014-11-30 10:07:19 +00:00
Arvid Norberg 601f8c0476 merged changes from RC_1_0 2014-11-29 09:12:44 +00:00
Arvid Norberg d30ae3dda8 fix stats_alert stats indices 2014-11-29 08:17:25 +00:00
Arvid Norberg 1c91903c9c merged fixes from RC_1_0 2014-11-27 03:05:06 +00:00
Arvid Norberg f73fe335e2 deprecated flag should not affect ABI 2014-11-26 10:17:44 +00:00
Arvid Norberg edade10561 merged fix from RC_1_0 2014-11-26 03:58:55 +00:00
Arvid Norberg 8ec7cff993 merged changes from RC_1_0 2014-11-26 02:02:32 +00:00
Arvid Norberg 658e2ceefd merged Steven Siloti's peer crypto patch into trunk 2014-11-23 06:14:47 +00:00
Arvid Norberg 179df62379 merged changes from RC_1_0 2014-11-20 05:53:12 +00:00
Arvid Norberg edfa38cd30 merged changes from RC_1_0 2014-11-17 03:41:01 +00:00
Arvid Norberg 0b711f1280 remove unused variables. add some comments 2014-11-17 03:10:00 +00:00
Arvid Norberg e1d0592a57 merged changes from RC_1_0 2014-11-14 09:35:39 +00:00
Arvid Norberg bfb0c4fe80 merged changes from RC_1_0 2014-11-12 16:57:59 +00:00
Arvid Norberg 2514e7a0e2 fix file_progress 2014-11-11 09:08:47 +00:00
Arvid Norberg e526355d24 merged changes from RC_1_0 2014-11-09 11:17:13 +00:00
Arvid Norberg 77363ad93e fix file progress calculation bug (with unit test) 2014-11-08 18:36:54 +00:00
Arvid Norberg aae56c991c merged changes from RC_1_0 2014-11-08 16:58:18 +00:00
Arvid Norberg 601f0dc434 merged changes from RC_1_0 2014-11-03 06:15:51 +00:00
Arvid Norberg 3742fd2699 merged changes from RC_1_0 2014-11-02 09:41:29 +00:00
Arvid Norberg 34af25beaa merged chagnes from RC_1_0 2014-11-01 22:47:56 +00:00
Arvid Norberg 8bd8426f04 merged changes from RC_1_0 2014-10-26 17:48:50 +00:00
Arvid Norberg 85cc72835e finally rename policy to peer_list 2014-10-26 07:34:31 +00:00
Arvid Norberg 1c448331d5 fix stats_alert with recent changes to stats 2014-10-25 23:10:07 +00:00
Arvid Norberg 935eea9d0b some more fixes to cache_status 2014-10-25 21:28:57 +00:00
Arvid Norberg 83394f54f9 transition fenced job histogram to session stats gauges. deprecate it from cache_status 2014-10-25 20:59:54 +00:00
Arvid Norberg 0bcbe433ed deprecate most of cache_status type (use session stats instead) 2014-10-25 20:07:50 +00:00
Arvid Norberg 9338aa6c60 some more refactoring in choker 2014-10-24 00:18:01 +00:00
Arvid Norberg d9388f9898 moved around some hostname resolver related TODO comment. removed unused hostname query objects 2014-10-23 00:19:11 +00:00
Arvid Norberg e09a2b770d factored out choke comparison functions into choker.cpp 2014-10-22 22:30:04 +00:00
Arvid Norberg 02a9ea18b7 deprecated auto_expand_choker. started factoring out choker logic into its own translation unit (preparing for making it unit testable) 2014-10-22 22:06:56 +00:00
Arvid Norberg 8d99b6eabb fixed ssl typo 2014-10-21 23:53:18 +00:00
Arvid Norberg ca6bb1ebd9 minor cleanup of open_listen_port internally 2014-10-21 22:08:48 +00:00
Arvid Norberg 3db32f67b5 remove option TORRENT_DISABLE_FULL_STATS 2014-10-21 21:45:35 +00:00
Arvid Norberg ce9ff9885b move DHT transfer counters to performance_counters 2014-10-21 21:36:45 +00:00
Arvid Norberg 7249122329 move tracker transfer counters over to use performance_counters internally as well 2014-10-21 21:24:15 +00:00
Arvid Norberg bb3e399ce2 convert endpoint list into vector in udp_tracker_connection 2014-10-21 20:49:36 +00:00
Arvid Norberg cea5585993 remove stats logging functionality from libtorrent. This has been moved to a helper class part of libtorrent-webui, utility library 2014-10-21 19:58:12 +00:00
Arvid Norberg 6aa0ae9f2e fix tracker_manager argument forwarding 2014-10-21 04:22:10 +00:00
Arvid Norberg 14c9bd90d3 fix bug in setup_transfer (for unit tests). fix verbose logging build. make sure test_pex is reliable 2014-10-21 02:08:46 +00:00
Arvid Norberg 9b37efe6a8 first steps towards removing session_impl dependency from tracker connections, to improve their testability 2014-10-21 00:28:51 +00:00
Arvid Norberg ffb66ec156 transition tracker_connections to use shared_ptr instead of intrusive_ptr. optimize udp tracker connection lookups by using unordered map instead of linear search. 2014-10-20 20:44:05 +00:00
Arvid Norberg 2f077d8efa fix http_connection timeout issue 2014-10-16 05:33:09 +00:00
Arvid Norberg d308dce99b CMakeList.txt fix 2014-10-15 03:01:39 +00:00
Arvid Norberg 99cd0c7a08 merged changes from RC_1_0 2014-10-14 16:36:06 +00:00
Arvid Norberg d287ce9c46 fix issue when hash checking files resulting in a short read 2014-10-12 23:49:51 +00:00
Arvid Norberg 32d368e1ce merged changes from RC_1_0 2014-10-12 18:16:46 +00:00
Arvid Norberg ec472daee3 fix bug in peer_connection causing it to not connect when not having metadata 2014-10-12 06:29:34 +00:00
Arvid Norberg a91848962a merge changes from RC_1_0 2014-10-12 04:18:34 +00:00
Arvid Norberg ab34239447 fix invalid comment 2014-10-10 00:16:17 +00:00
Arvid Norberg a113988e81 do a slightly better job of deciding which peers to save in resume data 2014-10-07 08:29:20 +00:00
Arvid Norberg b55778a847 some DHT logging and parsing 2014-10-07 07:23:20 +00:00
Arvid Norberg 04760d8f0f http_connection cleanup 2014-10-06 08:39:05 +00:00
Arvid Norberg 0cd2e74f28 remove invalid assert 2014-10-06 05:02:00 +00:00
Arvid Norberg f1032586f7 http_connection fix 2014-10-06 03:19:29 +00:00
Arvid Norberg 9b8e7bc169 fix typo in ssl patch 2014-10-06 03:18:26 +00:00
Arvid Norberg a655047cb0 support SSL over uTP (unit test is still failing with same errors as previously, this has not been fixed yet) 2014-10-06 03:03:01 +00:00
Arvid Norberg 8168c8520a minor tweak to inactivity timer fix 2014-10-05 22:31:29 +00:00
Arvid Norberg 30d7b9e3c3 fixed bug with inactivity timer 2014-10-05 22:30:09 +00:00
Arvid Norberg 418e33facc use the session-wide hostname resolver in torrent.cpp 2014-10-05 01:23:22 +00:00
Arvid Norberg 3c7a932aee update comments 2014-10-04 20:06:46 +00:00
Arvid Norberg d296960efa fix build with verbose logging 2014-10-04 19:54:12 +00:00
Arvid Norberg 520aead4da fix auto_sequential logic 2014-10-04 07:41:41 +00:00
Arvid Norberg 8af9e22938 remove invalid assert 2014-10-04 07:38:10 +00:00
Arvid Norberg ceccc2a483 land branch to remove half-open connection limit / connection queue 2014-10-03 20:56:57 +00:00
Arvid Norberg 65473fa783 fix geoip left-overs in src/Makefile.am 2014-10-03 20:56:10 +00:00
Arvid Norberg 7830081585 merged changes from RC_1_0 2014-10-01 18:19:44 +00:00
Arvid Norberg 0ed0bdc50c remove pointless DHT extension (for IPv6) 2014-10-01 16:21:29 +00:00
Arvid Norberg ba3ffe52f8 improve DHT logging a bit 2014-10-01 09:14:49 +00:00
Arvid Norberg f8272b90ae merged changes from RC_1_0 2014-09-29 07:06:18 +00:00
Arvid Norberg 2d438e0758 factor out parse_tracker_response and add unit tests. make gen_todo cover tests also, and regenerate todo.html 2014-09-29 06:10:22 +00:00
Arvid Norberg 1c915f2e95 merge changes from RC_1_0 2014-09-28 20:02:43 +00:00
Arvid Norberg 8664ff97aa optimize tracker_manager interface to avoid rendering and parsing strings for each peer-ip 2014-09-28 06:36:03 +00:00
Arvid Norberg 931c5530c2 some socks5 cleanup 2014-09-28 05:42:35 +00:00
Arvid Norberg 19d0087911 one last fix to the web_seed_entry patch 2014-09-28 05:41:50 +00:00
Arvid Norberg 6a4a5419c2 one more fix 2014-09-28 04:05:44 +00:00
Arvid Norberg d723a7a4c6 fix build 2014-09-28 03:27:13 +00:00
Arvid Norberg 154cbeb5cf support web seeds that resolve to multiple IPs 2014-09-28 02:20:13 +00:00
Arvid Norberg 9a985d197f optimize num_seeds() and num_downloaders() to not count the peers every time 2014-09-24 09:03:57 +00:00
Arvid Norberg 60119bf0ca added auto-sequential feature 2014-09-24 00:02:00 +00:00
Arvid Norberg 8cbef3876a post alert on outgoing get_peers 2014-09-22 19:49:32 +00:00
Arvid Norberg 7a55069ec9 add additional single-thread asserts and separate torrents from the session (in preparation for running them in separate threads/strands) 2014-09-22 17:41:06 +00:00
Arvid Norberg a6eda97281 fix optimistic unchoke stats gauge 2014-09-22 07:34:10 +00:00
Arvid Norberg d7d498c3a3 more steps towards isolating peer_connections from the session object. unchoking now happens via the torrent object. hopefully in the future, the session can determine which peers to unchoke without having direct access to them (i.e. with a mutex) 2014-09-22 03:47:43 +00:00
Arvid Norberg 27b7705cf2 remove built-in GeoIP support 2014-09-21 21:01:48 +00:00
Arvid Norberg 2936556573 fix bug in delay-load feature of torrents 2014-09-21 02:06:03 +00:00
Arvid Norberg c7a0bde196 fix bug in peer_connection::second_tick 2014-09-20 23:57:59 +00:00
Arvid Norberg 645d3cdb32 merge fixes from RC_1_0 2014-09-20 19:27:29 +00:00
Arvid Norberg c471bcb49f optimize peer classes a bit 2014-09-17 07:23:41 +00:00
Arvid Norberg 7e69239991 merged unit test from RC_1_0 2014-09-17 02:10:48 +00:00
Arvid Norberg 9a2e511dda attempted fix for inconsistent debug refcounters on blocks. pinning pieces with outstanding reads in an attempt at fixing inconsitencies seen around that logic as well 2014-09-14 22:42:18 +00:00
Arvid Norberg ad7d74f255 merged fixes from RC_1_0 2014-09-13 19:47:51 +00:00
Arvid Norberg 252e08a889 merged fixes from RC_1_0 2014-09-04 08:55:24 +00:00
Arvid Norberg bed6d5c233 fix test builds without deprecated functions 2014-09-03 03:17:47 +00:00
Arvid Norberg 649d7646fb test build fix. another boost.chrono overflow issue fixed 2014-09-02 08:01:09 +00:00
Arvid Norberg b74f5b13ef fix another boost.chrono time overflow issue 2014-09-02 07:31:41 +00:00
Arvid Norberg 4d57456199 merged changes from RC_1_0 2014-09-02 06:28:27 +00:00
Arvid Norberg 57b00ae42e fix bug in hostname resolver 2014-09-01 07:26:29 +00:00
Arvid Norberg ddb133e055 merged changes from RC_1_0 2014-08-31 21:17:32 +00:00
Arvid Norberg 2f3e3caf0f fixed typo 2014-08-31 08:34:03 +00:00