Commit Graph

3459 Commits

Author SHA1 Message Date
Arvid Norberg 6663f527da fixed error handling in torrent_info constructor 2011-01-19 10:07:51 +00:00
Arvid Norberg 99d2c4eea8 storage initialize fix 2011-01-19 09:19:26 +00:00
Arvid Norberg 557ddca693 fixed bug when remapping files 2011-01-19 08:42:17 +00:00
Arvid Norberg 59a7ee73dc fixed file allocation bug when existing files are larger than they're supposed to be 2011-01-19 07:39:55 +00:00
Arvid Norberg 35aaec3b38 fix read buffer bug in udp_socket 2011-01-19 07:16:45 +00:00
Arvid Norberg ba0aed2282 initial support for DHT RSS feeds 2011-01-19 05:57:44 +00:00
Arvid Norberg c223291fb4 added support for RSS feeds 2011-01-18 03:41:54 +00:00
Arvid Norberg 7b4998213f graceful pause fix 2011-01-18 01:19:58 +00:00
Arvid Norberg 83da84452f fixed bug in remap_files 2011-01-17 08:02:23 +00:00
Arvid Norberg eec2672d26 fixed up some edge cases in DHT routing table and improved unit test of it. Primarily fixed issues where an IP could take over someone elses node ID and where an IP would change its node ID 2011-01-17 07:49:44 +00:00
Arvid Norberg 8c851b4d34 move an assert 2011-01-16 22:22:33 +00:00
Arvid Norberg 04086ad2f0 url download fix 2011-01-16 02:56:57 +00:00
Arvid Norberg e31aceeda4 added error category and error codes for HTTP errors 2011-01-16 02:54:59 +00:00
Arvid Norberg f87b0b4617 only apply privileged port filter to DHT-only peers 2011-01-08 09:04:31 +00:00
Arvid Norberg b49999b76e made the DHT implementation slightly more robust against routing table poisoning and node ID spoofing 2011-01-08 08:54:51 +00:00
Arvid Norberg ee7c713af7 support chunked encoding in http downloads (http_connection) 2011-01-06 04:08:57 +00:00
Arvid Norberg c54ffcbb8d fix invalid assert 2011-01-01 17:09:25 +00:00
Arvid Norberg bfdbb98ee2 fixed rare crash in http_connection's error handling 2010-12-31 00:55:54 +00:00
Arvid Norberg 1bc50983dc don't connect to privileged ports by default 2010-12-31 00:33:23 +00:00
Arvid Norberg 97695d6c1d url download fix 2010-12-30 23:09:16 +00:00
Arvid Norberg 71e4172bde minor redirect fix for http_connection 2010-12-30 22:51:15 +00:00
Arvid Norberg a3e7095f84 url downloading fix 2010-12-30 06:46:28 +00:00
Arvid Norberg 00efc31bf6 various smaller fixes 2010-12-30 03:46:11 +00:00
Arvid Norberg 26053e4b76 support adding torrents by url to a .torrent file 2010-12-30 01:47:30 +00:00
Arvid Norberg ae41b2598b fix non-dht build 2010-12-29 02:17:44 +00:00
Arvid Norberg d1124574ef fix test_transfer to set mixed mode to 'prefer_tcp' to avoid having it interfere with the send rate. optimize the test to run a lot faster. fix proxy to allow any protocol (fixes issue where test failed with http and https proxy). Bump the minimum rate limit to 20kB/s (from 5kB/s) in proportional mixed mode algorithm 2010-12-27 22:54:14 +00:00
Arvid Norberg 40e1bea451 include the IP we actually connected to when reporting the IPs of the tracker 2010-12-26 22:36:18 +00:00
Arvid Norberg fc0bd8066b use a python python dictionary for settings instead of session_settings object (in python bindings) 2010-12-26 08:03:02 +00:00
Arvid Norberg dc9af94ee1 avoid self-assignment of tcp::endpoint (causes a memcpy with overlapping ranges) 2010-12-25 09:13:50 +00:00
Arvid Norberg 1074fc1f31 fixed some uninitalized variables 2010-12-24 23:54:03 +00:00
Arvid Norberg daea6d507e fixed uninitialized variable in utp MTU logic. Fixed array overrun in disk cache 2010-12-24 22:53:00 +00:00
Arvid Norberg 8c3ad6b4f3 asio debugging fixes and test_transfer fixes 2010-12-24 18:15:01 +00:00
Arvid Norberg 9c3076481d hack to fix an issue in natpmp and upnp 2010-12-24 03:30:52 +00:00
Arvid Norberg 451c583023 more robust mechanism to determine external IP 2010-12-24 01:31:41 +00:00
Arvid Norberg 8cec51fc47 fixes to make valgrind happy 2010-12-24 01:22:49 +00:00
Arvid Norberg c4422cd34e optimize test_transfer. fix set_upload_mode() bug for seeds. clean up some verbose logging. fix tests to not fail by EAGAIN on stdout 2010-12-24 00:37:01 +00:00
Arvid Norberg 31386d8396 comment out assert 2010-12-21 03:40:49 +00:00
Arvid Norberg 76f1a9aad0 verbose logging cleanup 2010-12-19 19:40:32 +00:00
Arvid Norberg 650f02eba7 fixed some windows build issues 2010-12-19 08:12:31 +00:00
Arvid Norberg 3616c2f720 fixed bug in seeding_outgoing_connections 2010-12-18 23:21:13 +00:00
Arvid Norberg a1aaf4010a don't boost more connections than allowed within the connection_speed. i.e. honor the connection_speed setting 2010-12-18 23:18:20 +00:00
Arvid Norberg de3a5784be fix build with IPv6 disabled 2010-12-18 18:46:20 +00:00
Arvid Norberg 20d4279177 optimized piece picking to not cause busy loops in some end-game modes 2010-12-18 10:19:34 +00:00
Arvid Norberg f2416af718 added feature to turn off making outgoing connections for seeds 2010-12-17 03:20:36 +00:00
Arvid Norberg 0b213d95d2 add missing settings mappings 2010-12-17 03:16:30 +00:00
Arvid Norberg cbf9ead9f4 optimized metadata transfer 2010-12-17 03:12:45 +00:00
Arvid Norberg d554cf88e6 optimized swarm startup time (shaved off about 1-2 seconds) by introducing torrent connection boost on the first tracker response for a torrent 2010-12-17 03:10:56 +00:00
Arvid Norberg d301890d78 fixed edge case of pad file support 2010-12-13 16:47:12 +00:00
Arvid Norberg fbdf76cf5b fix DHT size estimation 2010-12-13 09:24:19 +00:00
Arvid Norberg 4fcfceb087 DHT optimizations and fixes. Fixed routing table bucket splitting 2010-12-12 20:36:42 +00:00
Arvid Norberg f64679c297 fixed build warnings 2010-12-12 19:40:11 +00:00
Arvid Norberg cc22aca981 DHT routing table tuning 2010-12-12 19:18:23 +00:00
Arvid Norberg 87c39fe3f6 fixed bug in natpmp 2010-12-12 18:16:35 +00:00
Arvid Norberg 5ee6266e93 more DHT fixes 2010-12-12 09:15:54 +00:00
Arvid Norberg 31d8c7d9b7 fixed non dht-logging build 2010-12-12 03:45:49 +00:00
Arvid Norberg b56a1638ae DHT fixes. fixed bucket refresh issue. re-introduced refreshing our own bucket regularly. added more DHT instrumentation in session_status. added alert for when bootstrap is complete. Fixed bootstrap to ping remaining nodes when search is complete. Completed recent DHT observer rewrite to remove some redundant fields 2010-12-12 03:17:08 +00:00
Arvid Norberg 67d1c57b5e bumped some limits in dump_torrent 2010-12-11 22:00:20 +00:00
Arvid Norberg 29ed03f720 first implementation of DHT security implementation. tie the node ID to the external IP 2010-12-11 09:38:07 +00:00
Arvid Norberg 10003f952f fix build issue 2010-12-09 05:39:28 +00:00
Arvid Norberg 1e82df3e45 support partial hash DHT lookups 2010-12-06 06:39:16 +00:00
Arvid Norberg db0728e0cf right, the session thread actually has to start before upnp and natpmp can be started, since they are synchronous 2010-12-05 21:08:19 +00:00
Arvid Norberg 779014ddac support requesting UPnP and NAT-PMP routers for our external IP address 2010-12-05 20:40:28 +00:00
Arvid Norberg 2f115bc1aa factor out incremeant of m_acked_seq_nr, m_fast_resend_seq_nr and m_loss_seq_nr to make it more robust. Should fix issues where m_acked_seq_nr sometimes could get stuck pointing behind the last acked sequence number 2010-12-05 03:03:56 +00:00
Arvid Norberg 03bd547f40 potential memory corruption fix when connections close when the disk becomes available 2010-12-04 23:24:42 +00:00
Arvid Norberg 1c99bf1de3 more network thread asserts to make sure only the network thread touches network-thread only data. Also delay starting the network thread until after the session constructor is done with its setup 2010-12-04 22:20:31 +00:00
Arvid Norberg 94ef3eaf4b windows build fixes 2010-12-01 05:47:18 +00:00
Arvid Norberg f4746f4090 verbose logging cleanup 2010-12-01 04:22:03 +00:00
Arvid Norberg 3563ef98df fixed build error 2010-11-30 03:20:35 +00:00
Arvid Norberg 6ec7c85746 fixed build issues with default logging level 2010-11-30 02:39:36 +00:00
Arvid Norberg 2e69366b02 reverted part of the file_storage API to match the previous one more closly 2010-11-29 05:44:29 +00:00
Arvid Norberg f82321c1dd add a backwards compatible lazy_bdecode() 2010-11-29 02:48:40 +00:00
Arvid Norberg e5f980d80d merged uTP branch into trunk (yay) 2010-11-29 01:33:05 +00:00
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 df1372e04b disable slight memory optimization because it appears to cause leaks 2010-11-28 02:34:24 +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 f21251cba8 limit number of torrents tracked by DHT and support DHT name lookups 2010-11-27 03:09:28 +00:00
Arvid Norberg 4f24fe1e62 fixed bug when allow_multiple_connections_per_ip was enabled 2010-11-26 20:48:04 +00:00
Arvid Norberg d1cb2d52ff fixed build issues with with vernose logging enabled 2010-11-26 20:44:48 +00:00
Arvid Norberg 27f84d1618 fixed minor error handling logging and assert issue in disk io thread 2010-11-26 20:38:31 +00:00
Arvid Norberg 93702052fb lower default delay when checking files in low-memory mode 2010-11-25 23:34:37 +00:00
Arvid Norberg 8ff9b6338b some fixes 2010-11-25 10:46:52 +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 7cd628e78d fix for unchoking optimistically unchoked peers 2010-11-23 20:36:27 +00:00
Arvid Norberg d937716af0 use PtrToPtr64 for scatter/gather I/O operations 2010-11-22 00:54:39 +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 94a25a3953 fix one more assert (hopefully) 2010-11-14 10:57:10 +00:00
Arvid Norberg 2353cc8ec2 assert we don't ask for physical offset of a pad file 2010-11-14 08:17:27 +00:00
Arvid Norberg 26b48530d2 fixed some incorrect encryption asserts 2010-11-14 01:06:52 +00:00
Arvid Norberg a4f533ce55 improve the bencoded printer 2010-11-09 18:13:22 +00:00
Arvid Norberg 6ba977aa9b fixed bug in session_settings::disable_hash_checks 2010-11-07 21:41:03 +00:00
Arvid Norberg 02e15202f2 support dht nodes in magnet links 2010-11-07 19:18:16 +00:00
Arvid Norberg b3c0fa9f45 fixed some graceful pause mode edge cases 2010-11-07 09:39:35 +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 80cfdc4fd8 dht assert fix 2010-11-06 17:01:21 +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 23ac52c164 simplify some DHT code and remove a dependency on boost.mpl 2010-11-05 03:12:57 +00:00
Arvid Norberg dc639193db don't time out peers for inactivity if it's caused by a download rate limit or blocking on disk 2010-11-02 06:44:25 +00:00
Arvid Norberg 618f4dcc01 fix assertion failure with debug iterators when loading empty torrent files 2010-11-02 02:24:57 +00:00
Arvid Norberg 24916ac908 fixed typo 2010-10-31 22:26:22 +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 0773644a4e fixed web seed test to work with invariant checks turned on and fixed error reporting when receiving an unexpected responce for http seeds 2010-10-30 19:45:50 +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 0ef5d25d46 support 100 Continue HTTP responses 2010-10-29 07:56:07 +00:00
Arvid Norberg f84cc340df fixed a bunch of sloppy typos 2010-10-29 02:42:41 +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 4968192654 revert bad change to &downloaded= tracker announce semantics 2010-10-26 16:39:20 +00:00
Arvid Norberg 07f1b74291 fixed logging build 2010-10-24 08:06:58 +00:00
Arvid Norberg 2e71bc818c one last stats fix 2010-10-24 04:15:10 +00:00
Arvid Norberg 786af218e1 fixed bug in stat patch 2010-10-24 02:45:47 +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 5efd0a9c20 i2p fix (broke with updated ssl code) 2010-10-22 05:02:42 +00:00
Arvid Norberg cadd4f1b8d anti-leach seeding unchoke mode 2010-10-21 05:53:13 +00:00
Arvid Norberg 9b50acbe15 potential string handling issue in upnp 2010-10-20 05:14:50 +00:00
Arvid Norberg 517aaf526b fixed assert when shutting down with DHT enabled 2010-10-19 03:43:11 +00:00
Arvid Norberg 4b6a73417d fixed error reporting issue in disk I/O thread 2010-10-18 07:38:14 +00:00
Arvid Norberg 7aa9352dd0 fixed file allocation issue on linux. fixed filname encoding issue with iconv() 2010-10-18 07:15:57 +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 973a1c45f2 fixed a bug in http_seed_connection::downloading_piece_progress which would sometimes trigger an assert 2010-10-17 19:19:17 +00:00
Arvid Norberg 643a49f022 optimized session/torrent startup time (shaved off about 2 seconds) 2010-10-17 18:36:37 +00:00
Arvid Norberg 977c2d34dd log ratelimits in peer bandwidth request entry 2010-10-17 17:39:11 +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 7be0604877 fixed error reporting when fallocate fails 2010-10-14 00:58:08 +00:00
Arvid Norberg bd1f0726ce fix const issue 2010-10-12 09:01:51 +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 606796841f added comment 2010-10-07 01:05:53 +00:00
Arvid Norberg 087552f52a fixed another assert in disconnect 2010-10-04 15:49:30 +00:00
Arvid Norberg 440abdfaf2 optimistic unchoke fix 2010-10-04 04:06:14 +00:00
Arvid Norberg e1948fa203 make the invariant check less expensive 2010-10-04 03:26:42 +00:00
Arvid Norberg 7d94fff11a fixed one more assert 2010-10-04 03:06:51 +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 4600dae248 more attempts to fix and catch invariant failure in download_queue 2010-10-03 01:22:11 +00:00
Arvid Norberg d0dab83104 potential fix for long standing invariant check failure 2010-10-02 21:01:11 +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 1b308a0ca8 fixed UPnP shutdown issue 2010-09-30 08:57:12 +00:00
Arvid Norberg 737618c989 fixed UPnP DeletePortmapping issue 2010-09-30 07:06:54 +00:00
Arvid Norberg 29c5b99bba fixed natpmp retry issue 2010-09-30 06:33:42 +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 f1a7bc3f01 fixed typo 2010-09-25 17:58:55 +00:00
Arvid Norberg b1de30ffae fix alert bug introduced when adding support for event=paused 2010-09-25 17:48:51 +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 a1567458ca seeding torrents should not send event=paused 2010-09-24 15:52:40 +00:00
Arvid Norberg 2e4d370942 no peers from tracker when stopping is no longer an error 2010-09-23 16:38:50 +00:00
Arvid Norberg fc0916d450 fixed logging build 2010-09-22 16:59:28 +00:00
Arvid Norberg d894dd43d8 improved web seed retry behavior 2010-09-21 06:34:13 +00:00
Arvid Norberg d590938856 fixed announce issue 2010-09-11 04:16:29 +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 a8cc326df6 minor redundant connection fixes 2010-09-05 04:31:13 +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 29e45c8cbb promote some piece picker invariant checks to 'expensive' 2010-09-01 03:00:15 +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 b44f71e217 post alerts for socks failures. fix unit tests 2010-08-25 06:22:49 +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 2736a3b7ff fixed file checking bug 2010-08-23 05:51:12 +00:00
Arvid Norberg 80fbe4d5ef fixed build issues 2010-08-22 17:47:07 +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 d1d6814e2f drop proxied incoming packets if the source IP doesn't match the proxy 2010-08-20 07:13:05 +00:00
Arvid Norberg bdee276a98 fixed proxy support for udp trackers 2010-08-20 07:01:11 +00:00
Arvid Norberg ad07883228 use the same logic to post resume data failed messages as to determine whether to do a full check or not 2010-08-19 16:10:31 +00:00
Arvid Norberg a85f1f5c61 improved logging 2010-08-18 17:14:40 +00:00
Arvid Norberg 0f8d75c607 removed invalid assert 2010-08-13 15:55:52 +00:00
Arvid Norberg ac3444c71e fixed calling blocking functions simultaneously from multiple threads 2010-08-08 17:17:33 +00:00
Arvid Norberg ceb5700588 fix socks5 error handling 2010-08-08 04:11:59 +00:00
Arvid Norberg fd5f1bf80b improved SOCKS5 support 2010-08-03 09:08:37 +00:00
Arvid Norberg f27e24ba98 fixed rate limit bug for DHT 2010-07-28 18:43:56 +00:00
Arvid Norberg ef48c92a4e fixed SOCKS5 bug for routing UDP packets 2010-07-25 01:31:15 +00:00
Arvid Norberg b0a3b2545b fixed bug in torrent_handle::write_resume_data since the session mutex was removed 2010-07-24 17:10:45 +00:00
Arvid Norberg 7c5ca7712a fixed bug on windows when verifying resume data for a torrent where one of its directories had been removed 2010-07-24 07:06:45 +00:00
Arvid Norberg aa1da121bc attempt to support disk IO priority on linux 2010-07-24 02:54:42 +00:00
Arvid Norberg c6a6fe1c07 fixed typo 2010-07-23 19:11:00 +00:00
Arvid Norberg 9109af0ce1 fix for disk job queue size measurement 2010-07-23 16:15:14 +00:00
Arvid Norberg 67110ec0a3 vs2010 build fixes 2010-07-22 16:49:40 +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 f93960884c ignore errors when setting broadcast option 2010-07-18 14:58:07 +00:00
Arvid Norberg eed5ec97a6 fix issue with UDP socket closing before UDP trackers having a chance of sending stopped event 2010-07-18 02:49:26 +00:00
Arvid Norberg 0c7b5ab3da fix to tracker announce code 2010-07-17 23:32:17 +00:00
Arvid Norberg 0dd925ef14 fixed bug in network interface bind code from multi-home support patch 2010-07-17 18:32:06 +00:00
Arvid Norberg 64682072d8 save last_download,last_upload and last_scrape states 2010-07-17 07:25:28 +00:00
Arvid Norberg 1e70456f58 improved support for multi-homed clients 2010-07-17 07:13:14 +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 89ca5a157a fixed typos 2010-07-15 06:02:58 +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 21e2894a4d added asserts to peer allocation management 2010-07-15 02:27:12 +00:00
Arvid Norberg c4fac3b91a fixed incorrect assert 2010-07-15 01:46:50 +00:00
Arvid Norberg beafa4f3e0 add some more potential error codes that should cause the torrent check to skip the file 2010-07-15 01:32:59 +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 079109f657 move handling of upload_only message to after plugins has a chance to react 2010-07-08 00:02:38 +00:00
Arvid Norberg 70ea511409 fixed rate limited udp socket timer issue 2010-07-03 02:57:21 +00:00
Arvid Norberg 9cec6a6255 fixed iterator bug introduced when merging the udp trackers over to use the main udp socket 2010-06-30 07:21:34 +00:00
Arvid Norberg fb3049a0eb fixed rare crash when purging the peer list 2010-06-28 01:30:59 +00:00
Arvid Norberg b3128685d9 replace &x[0] with x.c_str() 2010-06-28 01:12:54 +00:00
Arvid Norberg 339b0019a4 fixed typo 2010-06-26 17:58:04 +00:00
Arvid Norberg 19c9237ffc fixed crash in on_disk_queue and in on_receive_udp 2010-06-26 17:09:37 +00:00
Arvid Norberg d3970f62a3 fixed invalid assert in session_impl::recalculate_unchoke_slots() 2010-06-25 14:14:36 +00:00
Arvid Norberg 717c7ba962 fixed bug where ignore resume timestamps would not update the disk io thread 2010-06-25 14:06:28 +00:00
Arvid Norberg a0cef76bf2 fixed race condition around m_abort in session_impl 2010-06-24 21:43:00 +00:00
Arvid Norberg f981f6438e fixed typo in recent metadata-send buffer fix 2010-06-24 17:39:59 +00:00
Arvid Norberg 06190d8920 fixed bug in web_peer_connection which could cause a hang when downloading from web servers 2010-06-22 18:09:04 +00:00
Arvid Norberg 996c68dfa7 timer fix 2010-06-21 05:45:45 +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 19df3dbc2f fixed bug where local peer discovery and DHT wouldn't be announced to without trackers 2010-06-17 17:01:28 +00:00
Arvid Norberg 93bdc61410 fixed bug in bdecoder 2010-06-15 17:00:23 +00:00
Arvid Norberg 9ddf7f7cfa add back support for ip filter files to client_test. add some logging when tracker IPs are filtered 2010-06-06 02:31:20 +00:00
Arvid Norberg 242392f895 added compiler warning when unicode isn't available 2010-06-06 01:18:58 +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 6a5806bfd2 re-fixed the open_listen_port() issue 2010-06-01 02:04:00 +00:00
Arvid Norberg cdf05a9c9c moved UDP trackers over to use a single socket 2010-05-30 01:33:03 +00:00
Arvid Norberg 2f099e6103 fix open_listen_port call order 2010-05-27 16:20:08 +00:00
Arvid Norberg 2042593750 peer receive logic fix 2010-05-23 21:39:03 +00:00
Arvid Norberg e4ef0b853e don't reannounce on failure when shutting down 2010-05-23 21:27:04 +00:00
Arvid Norberg 39a166844e fixed issue where trackers wouldn't tried immediately when the previous one failed 2010-05-17 02:06:30 +00:00
Arvid Norberg f9ec9180ff more disk cache cleanup optimizations 2010-05-16 23:14:47 +00:00
Arvid Norberg ef0abcb359 move need_save_resume_data to when a piece is completed instead of when it's written to disk 2010-05-16 23:12:37 +00:00
Arvid Norberg 2b65d104c7 log send suggest message 2010-05-16 22:30:48 +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 4ddf87c53e fixed typo 2010-05-13 08:23:04 +00:00
Arvid Norberg 23ba8c8a72 fixed synchronization issue between download queue and piece picker 2010-05-13 06:29:33 +00:00
Arvid Norberg 1a0d33a592 reverted mistake 2010-05-11 05:11:08 +00:00
Arvid Norberg 962c83822e updated project page 2010-05-11 04:49:45 +00:00
Arvid Norberg 126778d403 fix race condition caused by sharing udp socket and opening it in the session thread. Moved initialization to session constructor 2010-05-09 06:03:52 +00:00
Arvid Norberg d1a7e0a581 fixed typo in previous check-in 2010-05-09 06:00:11 +00:00
Arvid Norberg 330f1a2785 fix to incoming-starts-paused torrent 2010-05-09 00:55:22 +00:00
Arvid Norberg 056b53ee08 fixed bug in udp tracker scrape response parsing 2010-05-08 20:51:26 +00:00
Arvid Norberg 2e34bef04c spell correction 2010-05-06 23:56:54 +00:00
Arvid Norberg 08d145a6e9 added production assert mode 2010-05-06 02:18:08 +00:00
Arvid Norberg 85824b1924 fixed bug in the disk thread that could get triggered under heavy load 2010-05-05 05:44:45 +00:00
Arvid Norberg 24a3bbb985 optimize disk thread teardown for large read caches 2010-05-04 02:58:23 +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 9fd624ecb6 solaris build fixes 2010-05-02 22:26:43 +00:00
Arvid Norberg cc3c515458 more vs10 build fixes 2010-05-02 06:29:52 +00:00
Arvid Norberg 1f44ec75a0 fixed bug in add_piece() that would trigger asserts 2010-05-01 17:47:28 +00:00
Arvid Norberg c0635f0391 added some asserts to track down issue with peer counter in busy piece picker requests 2010-05-01 16:17:37 +00:00
Arvid Norberg dce2edb6cc fixed vs 2010 build 2010-04-30 19:08:16 +00:00
Arvid Norberg d441c7eab2 recognizes more clients in identify_client() 2010-04-28 16:14:27 +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 fb28835452 slight performance fix in disk elevator algorithm 2010-04-24 21:53:45 +00:00
Arvid Norberg d1addf876a added some asserts 2010-04-24 19:24:27 +00:00
Arvid Norberg d7c30bc01b fixed potential issue where a piece could be checked twice 2010-04-22 01:53:09 +00:00
Arvid Norberg fea3bf2ced fixed build issue on windows related to GetCompressedSize() 2010-04-18 02:50:22 +00:00
Arvid Norberg 56054fac58 another attempt to set peer send state when stalled on disk 2010-04-17 02:21:48 +00:00
Arvid Norberg 17b4cb027c set the peer write state properly when stalled on disk 2010-04-16 19:14:30 +00:00
Arvid Norberg d341343e35 added some clients to identify_client 2010-04-16 16:08:39 +00:00
Arvid Norberg 50c334660d fixed typo in should_check_files() 2010-04-15 14:31:49 +00:00
Arvid Norberg 43aeb2d710 fixed deadlock when starting torrents with certain invalid tracker URLs 2010-04-15 03:29:34 +00:00
Arvid Norberg 225232906a fixed disk I/O iterator bug 2010-04-14 22:02:49 +00:00
Arvid Norberg 2a55fe8c70 debug logging fixes 2010-04-14 18:52:13 +00:00
Arvid Norberg 1ee414f4b9 fixed iterator bug in disk I/O thread 2010-04-14 06:26:38 +00:00
Arvid Norberg 9a5f5562cb improve web seed connection handling 2010-04-14 06:22:00 +00:00
Arvid Norberg 2e14cfca46 fix crash 2010-04-13 05:59:59 +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 8e3c5f45e3 initialize need save resume data to true to get the initial state (potentially allocated files) saved 2010-04-13 02:29:13 +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 62eef91338 added setting to ignore file modification time when loading resume files 2010-04-11 21:02:43 +00:00
Arvid Norberg ef21d26257 don't assert on clients sending bad packets 2010-04-11 17:22:21 +00:00
Arvid Norberg 6851254fdf fixed FIEMAP support on linux 2010-04-11 00:48:48 +00:00
Arvid Norberg 6975f4b350 fixed typo in asking for available amount of memory 2010-04-10 04:58:43 +00:00
Arvid Norberg 483112bb14 fix bug when accepting incoming connections to paused torrents 2010-04-09 05:54:36 +00:00
Arvid Norberg c26d1631e0 fix bug in web and http seeds shutdown 2010-04-09 05:51:31 +00:00
Arvid Norberg ef35360722 comment about posix_fallocate 2010-04-08 05:31:00 +00:00
Arvid Norberg 519d2e5819 clean up fallocate condition a bit 2010-04-08 05:09:11 +00:00
Arvid Norberg c51e0a2a86 fixed inconsistency when creating torrents with symlinks 2010-04-01 00:44:29 +00:00
Arvid Norberg a0a8c695ab fixed typo 2010-03-31 04:22:48 +00:00
Arvid Norberg 310dd7d6f3 properly detect windows version to initialize half-open connection limit 2010-03-31 02:50:09 +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 3ae927abb4 fix windows DLL build 2010-03-31 00:31:46 +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 8724b89499 never finalize pad files 2010-03-21 18:19:59 +00:00
Arvid Norberg 126ba1fd34 fixed issue with sign extend from 24 bits to 32 bits 2010-03-21 18:15:04 +00:00
Arvid Norberg 6c42e759c3 removed incorrect assert 2010-03-21 18:09:34 +00:00
Arvid Norberg d1df643baf msvc8 build fix 2010-03-21 17:41:17 +00:00
Arvid Norberg 8fa2f26217 fixed bug in is_complete for windows 2010-03-21 17:40:15 +00:00
Arvid Norberg f28b9bb501 unbuffered mode for solaris 2010-03-21 17:26:21 +00:00
Arvid Norberg 686fc1a1c7 windows fixes 2010-03-21 02:13:56 +00:00
Arvid Norberg 786172455b added save resume action to client_test. potential small optimization in resume data save function 2010-03-20 22:00:13 +00:00
Arvid Norberg b78aca9a53 fixed logging build 2010-03-20 09:35:45 +00:00
Arvid Norberg b2484ead10 only allocate a file if it's not already allocated (windows) 2010-03-20 08:18:49 +00:00
Arvid Norberg c9f7ba495f don't include symlink info by default in torrents 2010-03-20 07:30:34 +00:00
Arvid Norberg 3e77b161c2 made the send_buffer_watermark performance warning more meaningful 2010-03-20 02:46:33 +00:00
Arvid Norberg 8ee5268123 disable including 'mtime' in new torrents by default 2010-03-20 02:41:36 +00:00
Arvid Norberg 9435e84644 precaution: clear current_tracker in torrent::status() 2010-03-20 00:52:36 +00:00
Arvid Norberg 5224e0c340 complete_ago extension 2010-03-19 18:39:51 +00:00
Arvid Norberg b874104fab precaution fix 2010-03-17 19:01:08 +00:00
Arvid Norberg 7775457441 moved GeoIP destruction inside session lock 2010-03-16 07:00:23 +00:00
Arvid Norberg 2910a4a10c dropped dependency on zlib 2010-03-16 06:14:22 +00:00
Arvid Norberg edea865023 fix unloading of GeoIP database to not cause potential crashes while shutting down 2010-03-16 02:50:20 +00:00
Arvid Norberg fc224f29e4 fixed bug in session::save_state 2010-03-13 17:37:47 +00:00
Arvid Norberg a29928de8b fix DHT bug 2010-03-12 03:18:17 +00:00
Arvid Norberg 116c3f3c45 fix linux build 2010-03-12 03:17:25 +00:00
Arvid Norberg 06a043a489 add send_watermark_factor 2010-03-12 02:36:55 +00:00
Arvid Norberg 79bd8fcd52 made the default cache size depend on the amount of physical RAM. and fixed disk thread settings update when loading through load_state 2010-03-10 07:14:10 +00:00
Arvid Norberg cbc93c8de8 made load_state and save_state more data-driven to reduce code repetition 2010-03-10 02:28:40 +00:00
Arvid Norberg 0db27ab9b6 fixed typo 2010-03-09 21:57:20 +00:00
Arvid Norberg 06cca08afd retry if accept fails because of too many files 2010-03-09 17:50:10 +00:00
Arvid Norberg a3bff512e1 added 'added' and 'completed' time to torrent_status 2010-03-09 03:21:35 +00:00
Arvid Norberg 5247db7f90 fixed rare bug where we might erase an entry from the policy peer list when we shouldn't 2010-03-08 08:03:53 +00:00
Arvid Norberg b80664bbaa save additional settings in session state 2010-03-08 03:51:07 +00:00
Arvid Norberg 6e3882a197 fixed bug in previous work-around 2010-03-08 02:55:16 +00:00
Arvid Norberg 723c59b6e8 fixed incorrect merge 2010-03-08 02:06:30 +00:00
Arvid Norberg d18b1612e4 more asserts to try to catch crash in disconnect_peers 2010-03-08 01:54:56 +00:00
Arvid Norberg d73cf769f1 weird ubuntu std::string bug work-around 2010-03-07 21:59:02 +00:00
Arvid Norberg dcffa55700 some sunPRO compiler support 2010-03-07 06:00:12 +00:00
Arvid Norberg 8b4ce8deaa window build fix 2010-03-06 22:47:25 +00:00
Arvid Norberg ad5b0497c3 same thing but for windows (except checking if the file is fully allocated) 2010-03-06 20:47:44 +00:00
Arvid Norberg 247bd9256d fixed bug in fallocate usage and avoid trying to allocate and truncate files that don't need it to not update their modification time for no good reason 2010-03-06 20:09:18 +00:00
Arvid Norberg 013cef68e8 add flags to session::save_state to filter what is saved 2010-03-06 07:49:40 +00:00
Arvid Norberg b835b03ae8 fix std::string::size_type type 2010-03-06 03:57:48 +00:00