Commit Graph

1716 Commits

Author SHA1 Message Date
Arvid Norberg 80611bd12c some settings save-fixes and reverting some unnecessary changes in the utp branch 2010-11-28 22:36:26 +00:00
Arvid Norberg 134dae1c8b add missing header files to makefile install 2010-11-28 18:47:20 +00:00
Arvid Norberg 2e871382d7 add debug configuration to debug shutdown-stall bugs / outstanding async operations 2010-11-28 01:47:30 +00:00
Arvid Norberg af6ac4aca9 some solaris build fixes 2010-11-28 00:26:33 +00:00
Arvid Norberg f21251cba8 limit number of torrents tracked by DHT and support DHT name lookups 2010-11-27 03:09:28 +00:00
Arvid Norberg d1cb2d52ff fixed build issues with with vernose logging enabled 2010-11-26 20:44:48 +00:00
Arvid Norberg faccbd8ae3 introduce safety limit on total number of items in bencoded trees in lazy_bdecode. Document lazy_bdecode and its error codes. Make dump_torrent able to change the decoding limits 2010-11-25 02:49:50 +00:00
Arvid Norberg 894db973e8 optimized memory usage of torrent_info and file_storage 2010-11-24 23:49:22 +00:00
Arvid Norberg d98a8b04a5 make storage constructor a boost.function for flexibility. Also added some documentation for trackerid 2010-11-18 17:36:11 +00:00
Arvid Norberg a05acc4bac support trackerid tracker extension 2010-11-18 05:51:52 +00:00
Arvid Norberg 40ed231366 fixed tracker timeout handling 2010-11-18 01:06:33 +00:00
Arvid Norberg 71d51b90e8 more size logging and potential fix for udp_tracker_connection leak 2010-11-16 06:41:35 +00:00
Arvid Norberg 62f8cac2b9 fixed typo 2010-11-15 05:15:43 +00:00
Arvid Norberg 8c404cc5c1 optimized memory usage of torrent_info 2010-11-15 05:10:36 +00:00
Arvid Norberg 79f6b5856b verbose logging fixes 2010-11-15 04:43:53 +00:00
Arvid Norberg 873febb894 don't flush every string printed to the log 2010-11-06 23:02:24 +00:00
Arvid Norberg a2a2ac08a2 move queue_position and need_save_resume into torrent_status. optimized client_test to make fewer synchronous calls and pull more out of torrent_status 2010-11-06 18:04:07 +00:00
Arvid Norberg 589c560a45 fixed build with boost-1.44 2010-11-06 16:16:00 +00:00
Arvid Norberg 1c7e5506e9 report stats on the number of dht request observers that are currently allocated 2010-11-06 07:12:57 +00:00
Arvid Norberg d3a8916f02 further simplify the DHT by getting rid of the result type and just using observers instead. This might save some memory and should fix the assert that would be triggered before 2010-11-05 19:06:50 +00:00
Arvid Norberg 8737a339c8 refactored verbose peer logging to use format strings 2010-10-31 22:12:26 +00:00
Arvid Norberg f57e1dd622 chunked encoding fixes and added support for http seeds as well 2010-10-31 03:05:11 +00:00
Arvid Norberg a76570b563 deprecated a bunch of query functions on torrent_handle in favor of using status() to get as much information as possible in fewer calls, and saving time on synchronizing with the main thread 2010-10-30 17:23:30 +00:00
Arvid Norberg 08a234f6a6 document peer turnover settings and update default settings to enable it. In trunk, make the peer turnover interval configurable as well 2010-10-30 15:59:57 +00:00
Arvid Norberg e4de1fc8b1 graceful disconnect mode which finishes transactions before disconnecting peers 2010-10-30 08:36:18 +00:00
Arvid Norberg 0dbef9103a some reordering and asserts around web seed name resolution 2010-10-30 07:11:04 +00:00
Arvid Norberg 2e05dc765a make the listen argument configurable 2010-10-29 08:10:12 +00:00
Arvid Norberg 40245c5774 increased the interval between switching peers for round-robin seeding 2010-10-29 02:52:42 +00:00
Arvid Norberg f84cc340df fixed a bunch of sloppy typos 2010-10-29 02:42:41 +00:00
Arvid Norberg 9b323c372d changed default choker behavior to use 8 unchoke slots (instead of being rate based) 2010-10-29 02:28:13 +00:00
Arvid Norberg 0d196d3c84 document the problem of the disk cache potentially modifying files after saving resume data. In trunk, add a flag to flush the cache in the same call as saving resume data 2010-10-29 02:21:43 +00:00
Arvid Norberg fc1b44b560 improve error reporting of lazy_bdecode to use error_code 2010-10-28 04:01:59 +00:00
Arvid Norberg d737dd051d added support for chunked encoding for web seeds 2010-10-27 06:39:18 +00:00
Arvid Norberg 9f37b703ea mark num_connections and num_uploads as deprecated 2010-10-25 23:11:58 +00:00
Arvid Norberg 02abc5919f fixed performance counter macro 2010-10-24 08:08:24 +00:00
Arvid Norberg 07f1b74291 fixed logging build 2010-10-24 08:06:58 +00:00
Arvid Norberg 6387910a42 use rolling average instead of a history and actual average for stats. Saves memory 2010-10-24 01:22:10 +00:00
Arvid Norberg 84d81d3a82 fixed up link test to make sure library and client are using the same configuration, also factored out common code from session constructor 2010-10-24 00:44:07 +00:00
Arvid Norberg 9a461c5e46 reduce some warnings 2010-10-22 05:39:32 +00:00
Arvid Norberg cadd4f1b8d anti-leach seeding unchoke mode 2010-10-21 05:53:13 +00:00
Arvid Norberg 2ccf08e9b5 fixed bug in create torrent when adding sha1 file hashes to each file 2010-10-18 00:46:15 +00:00
Arvid Norberg eba657d8ad reports redundant downloads to tracker, fixed downloaded calculation to be more stable when not including redundant. Improved redundant data accounting to be more accurate 2010-10-18 00:10:33 +00:00
Arvid Norberg 3948ca3179 fixed bugs in http seed connection and added unit test for it 2010-10-17 16:15:32 +00:00
Arvid Norberg 559c4bdf65 fixed some msvc warnings 2010-10-16 15:24:45 +00:00
Arvid Norberg 7bd25edc9d generalize SSL support to also include web seeds (and in theory regular peers) 2010-10-12 08:57:43 +00:00
Arvid Norberg 43b29c3627 support web seeds in create_torrent and fix issue when building without deprecated functions 2010-10-10 21:06:35 +00:00
Arvid Norberg 72322dbc10 allow extending web seeds with extra headers and custom authorization schemese 2010-10-10 18:43:58 +00:00
Arvid Norberg 3b550ece98 don't save settings that are set to the default value 2010-10-10 02:22:57 +00:00
Arvid Norberg e494cb219b made seeding choking algorithm configurable 2010-10-09 21:11:03 +00:00
Arvid Norberg 21cbd1fac4 deprecated setters for max connections, max half-open, upload and download rates and unchoke slots. These are now set through session_settings 2010-10-09 19:09:38 +00:00
Arvid Norberg 45f535e80c fixed build (with fresh boost) 2010-10-09 02:58:56 +00:00
Arvid Norberg 8212d2f161 document the new proxy interface and deprecate it in the 0.15 branch 2010-10-07 06:02:35 +00:00
Arvid Norberg e72d95384b added missing include 2010-10-04 16:12:51 +00:00
Arvid Norberg 440abdfaf2 optimistic unchoke fix 2010-10-04 04:06:14 +00:00
Arvid Norberg f11b1ce6a0 fixed failing invariant check in peer_connection's download queue 2010-10-03 22:06:53 +00:00
Arvid Norberg 8e4addf2c5 improved set_max_connections to immediately disconnect peers to match the new limit 2010-10-03 10:07:38 +00:00
Arvid Norberg a7c87e14dd added functions to query an individual peer's upload and download limit 2010-10-01 16:09:22 +00:00
Arvid Norberg cd08a61f35 expose the full peer list size through session_status 2010-10-01 04:07:38 +00:00
Arvid Norberg 29c5b99bba fixed natpmp retry issue 2010-09-30 06:33:42 +00:00
Arvid Norberg ecf13f2475 fixed typo in config relating to buffer debug builds 2010-09-26 00:44:14 +00:00
Arvid Norberg 554e329f57 remove udp_socket mutex 2010-09-25 21:39:27 +00:00
Arvid Norberg e6d400084e fix to start async operations inside the network thread to maintain thread safety within asio 2010-09-25 20:07:27 +00:00
Arvid Norberg c341f15f71 make the assert macro also be able to print a value 2010-09-25 17:46:13 +00:00
Arvid Norberg d894dd43d8 improved web seed retry behavior 2010-09-21 06:34:13 +00:00
Arvid Norberg 4aa809e558 potential 64 bit build issue related to zlib 2010-09-07 03:37:33 +00:00
Arvid Norberg 3fb9fcab9e full support for bep-21 (event=paused) 2010-09-06 04:02:15 +00:00
Arvid Norberg b6f92aa981 added initial support for share-mode 2010-09-05 16:01:36 +00:00
Arvid Norberg c072c7869f some more missing includes 2010-09-01 15:44:33 +00:00
Arvid Norberg 8e9bb58fb9 fixed missing include 2010-09-01 15:39:31 +00:00
Arvid Norberg a17f4e4e71 fixed bug where event=completed would not be sent if it violated the min-interval 2010-09-01 03:14:12 +00:00
Arvid Norberg 11f3dd2c4c DEBUG_BUFFERS doesn't work unless pool allocators are turned off 2010-09-01 02:58:51 +00:00
Arvid Norberg cf6772d9fd potential build fix for windows (in 0.14 branch) 2010-08-28 22:05:20 +00:00
Arvid Norberg 18a3d545b0 fixed potential hang issue when receiving faster than we can handle the incoming messages 2010-08-28 19:44:50 +00:00
Arvid Norberg e2ca3e1545 rate limiter fix 2010-08-27 14:52:42 +00:00
Arvid Norberg 02668e8f75 fix message posting to work from multiple threads 2010-08-26 17:00:24 +00:00
Arvid Norberg fb8ebc53dd save resume data every 15 minutes no matter what 2010-08-25 06:38:04 +00:00
Arvid Norberg 58574c236a fixed build error when using boost 1.44 2010-08-25 06:03:40 +00:00
Arvid Norberg b7b542f587 optimized file_pool lookups and string handling 2010-08-23 08:48:02 +00:00
Arvid Norberg b747cdab8a merged all proxy settings into a single one 2010-08-23 06:27:18 +00:00
Arvid Norberg 80fbe4d5ef fixed build issues 2010-08-22 17:47:07 +00:00
Arvid Norberg de3db7e84e don't lock disk cache in RAM by default 2010-08-22 17:39:48 +00:00
Arvid Norberg f70fbb45c0 optimized struct layout of torrent_info. removed boost.date_type types from public interface (replaced by time_t) 2010-08-21 22:10:16 +00:00
Arvid Norberg afd5567969 session::set_tracker_proxy fix for udp trackers 2010-08-21 22:07:29 +00:00
Arvid Norberg a85f1f5c61 improved logging 2010-08-18 17:14:40 +00:00
Arvid Norberg cbc7bd078d fix no-exception build 2010-08-08 04:06:06 +00:00
Arvid Norberg fd5f1bf80b improved SOCKS5 support 2010-08-03 09:08:37 +00:00
Arvid Norberg 9d56f3f459 restored default fail_limit to unlimited on all trackers 2010-08-03 03:00:54 +00:00
Arvid Norberg 6ab555659c anonymous mode fix (don't resolve countries, since that gives away IPs) 2010-08-02 06:16:32 +00:00
Arvid Norberg ef48c92a4e fixed SOCKS5 bug for routing UDP packets 2010-07-25 01:31:15 +00:00
Arvid Norberg 030b2b5be8 don't dereference empty strings 2010-07-24 06:46:58 +00:00
Arvid Norberg 9109af0ce1 fix for disk job queue size measurement 2010-07-23 16:15:14 +00:00
Arvid Norberg 72060e8676 removed DHT mutex since everything is in the network thread now 2010-07-19 05:27:33 +00:00
Arvid Norberg 9baa280b52 added asserts to catch broken peer allocations and frees as well as disk buffer corruption 2010-07-18 19:28:22 +00:00
Arvid Norberg a3f5962f91 ignore failures in when asking for local_endpoint 2010-07-18 14:45:43 +00:00
Arvid Norberg 1e70456f58 improved support for multi-homed clients 2010-07-17 07:13:14 +00:00
Arvid Norberg 9a9c121ec0 fixed assert typo 2010-07-15 06:31:39 +00:00
Arvid Norberg 4c6be42b74 added feature to not count downloaded bytes from web seeds in stats 2010-07-15 06:27:44 +00:00
Arvid Norberg b3f57ac293 added incoming lsd alert 2010-07-15 05:56:29 +00:00
Arvid Norberg aa25ed00c6 fix force-reannounce and tracker retry issue 2010-07-15 05:16:06 +00:00
Arvid Norberg 97afe3fca8 added option to set file priorities when adding torrents 2010-07-15 01:14:36 +00:00
Arvid Norberg a3d95677b0 fixed build errors from last check-in 2010-07-14 07:38:35 +00:00
Arvid Norberg 4e576f93fd removed the session mutex for improved performance 2010-07-14 04:16:38 +00:00
Arvid Norberg 3310198dae added upload and download activity timer stats for torrents 2010-07-08 19:29:38 +00:00
Arvid Norberg 92593abf89 added support for SOCKS5 proxies in client_test and fixed an assert when using proxies 2010-07-03 06:56:09 +00:00
Arvid Norberg a0cef76bf2 fixed race condition around m_abort in session_impl 2010-06-24 21:43:00 +00:00
Arvid Norberg 69001e6a6b fixed bug in metadata extensions combined with encryption 2010-06-18 05:44:08 +00:00
Arvid Norberg b882914461 refactored socket reading code to not use async. operations unnecessarily 2010-06-18 04:43:20 +00:00
Arvid Norberg 26c4a819c8 removed the reuse-address flag on the listen socket 2010-06-17 17:14:56 +00:00
Arvid Norberg 61374075c4 fixed typo 2010-06-06 01:39:05 +00:00
Arvid Norberg df49e9d26b made the struct layout of entry be the same in debug builds as release builds to make that part of the ABI stable 2010-06-06 00:47:39 +00:00
Arvid Norberg cdf05a9c9c moved UDP trackers over to use a single socket 2010-05-30 01:33:03 +00:00
Arvid Norberg c796157f81 added missing include 2010-05-29 05:46:47 +00:00
Arvid Norberg 2c1ccc7ed6 fixed bug in write_address 2010-05-24 06:37:32 +00:00
Arvid Norberg f9ec9180ff more disk cache cleanup optimizations 2010-05-16 23:14:47 +00:00
Arvid Norberg 68e9bf618f removed incorrect assert 2010-05-16 22:15:55 +00:00
Arvid Norberg 6bb24bea80 added feature to make asserts log to a file instead of breaking the process 2010-05-16 05:26:43 +00:00
Arvid Norberg e07bad0686 optimized disk I/O cache clearing 2010-05-13 15:01:20 +00:00
Arvid Norberg 23ba8c8a72 fixed synchronization issue between download queue and piece picker 2010-05-13 06:29:33 +00:00
Arvid Norberg 08d145a6e9 added production assert mode 2010-05-06 02:18:08 +00:00
Arvid Norberg d0f2b0ade0 make tick interval configurable 2010-05-03 08:54:03 +00:00
Arvid Norberg feaf4aa082 another attempt to fix tracker timer bug. Fixes issue where the tracker timer would be triggered repeatedly. Fixes bug where trackers loaded from resume data would get a fail limit of 3 (now they don't have a limit) 2010-05-03 08:24:30 +00:00
Arvid Norberg 1f44ec75a0 fixed bug in add_piece() that would trigger asserts 2010-05-01 17:47:28 +00:00
Arvid Norberg 2705859bb4 fixed bug where trackers wouldn't be retried if they failed 2010-04-27 18:22:59 +00:00
Arvid Norberg f092ddb49e make the sliding average class a template 2010-04-16 16:06:17 +00:00
Arvid Norberg 2a55fe8c70 debug logging fixes 2010-04-14 18:52:13 +00:00
Arvid Norberg 954b25f356 logging fix 2010-04-14 07:16:07 +00:00
Arvid Norberg 9a5f5562cb improve web seed connection handling 2010-04-14 06:22:00 +00:00
Arvid Norberg eeda665d06 report tracker errors in the tracker list 2010-04-13 04:37:39 +00:00
Arvid Norberg 384bfdec48 added anonymous mode to disable some particular features that might give away the user's and the client's identity 2010-04-13 04:30:34 +00:00
Arvid Norberg b5efe1c92a added feature to ask a torrent if it needs to save its resume data or not 2010-04-12 00:36:31 +00:00
Arvid Norberg fb12950098 fixed debug logging to not use up one extra file descriptor per connection 2010-04-11 21:20:38 +00:00
Arvid Norberg 62eef91338 added setting to ignore file modification time when loading resume files 2010-04-11 21:02:43 +00:00
Arvid Norberg c26d1631e0 fix bug in web and http seeds shutdown 2010-04-09 05:51:31 +00:00
Arvid Norberg ccb808638d fixed strict aliasing warning on gcc 2010-04-02 03:57:06 +00:00
Arvid Norberg c51e0a2a86 fixed inconsistency when creating torrents with symlinks 2010-04-01 00:44:29 +00:00
Arvid Norberg 4c4c7f832a fix for torrent announcing bug introduced when supporting fine grained control over sources torrents are announced to 2010-03-31 02:40:00 +00:00
Arvid Norberg 7e851818b1 support more fine-grained torrent states between which peer sources it announces too 2010-03-29 00:34:04 +00:00
Arvid Norberg 9977480f02 fixed bug in url encoder and in client test 2010-03-29 00:31:30 +00:00
Arvid Norberg b4abe6677d support for sha1 file-hashes 2010-03-27 15:51:30 +00:00
Arvid Norberg c6f57ce5d7 support optional LSD IP broadcast 2010-03-26 17:45:16 +00:00
Arvid Norberg c14042b29e remove unused declarations and added a small piece of documentation 2010-03-25 04:47:56 +00:00
Arvid Norberg 1d0e2c0a37 solaris fix 2010-03-21 17:32:54 +00:00
Arvid Norberg c93e13c6fb added include files to Makefile 2010-03-20 22:26:06 +00:00
Arvid Norberg 3a84dce119 fixed unused variables warnings 2010-03-20 22:22:18 +00:00
Arvid Norberg b78aca9a53 fixed logging build 2010-03-20 09:35:45 +00:00
Arvid Norberg c9f7ba495f don't include symlink info by default in torrents 2010-03-20 07:30:34 +00:00
Arvid Norberg 6ecb25121b disabled auto disconnect_peers feature since it seems to be buggy 2010-03-20 02:43:33 +00:00
Arvid Norberg 8ee5268123 disable including 'mtime' in new torrents by default 2010-03-20 02:41:36 +00:00
Arvid Norberg 5224e0c340 complete_ago extension 2010-03-19 18:39:51 +00:00
Arvid Norberg 2910a4a10c dropped dependency on zlib 2010-03-16 06:14:22 +00:00