Commit Graph

2418 Commits

Author SHA1 Message Date
Arvid Norberg 7f194b4542 move hasher implementation out of header file 2013-05-08 07:57:16 +00:00
Arvid Norberg f01169a68d merged python binding update from RC_0_16 2013-05-03 08:24:26 +00:00
Arvid Norberg 9e5edf3413 fix missing include 2013-04-13 21:03:14 +00:00
Arvid Norberg 520b8bfcd1 move out alert_manager to its own compilation unit. remove TORRENT_DISABLE_EXTENSIONS from affecting the public API 2013-04-09 02:38:11 +00:00
Arvid Norberg 8e772e8baf disable pool allocators does not affect libtorrent API 2013-04-09 01:18:42 +00:00
Arvid Norberg df4fcaaeed remove disable-dht build configuration from the public API (simplify linking) 2013-04-09 01:04:43 +00:00
Arvid Norberg 4395437c3b remove resolve countries build configuration from the public API (make linking easier) 2013-04-09 00:37:53 +00:00
Arvid Norberg 3142317b85 merge header fix from libtorrent_aio 2013-04-08 16:30:19 +00:00
Arvid Norberg d21243dc9f make release asserts build 2013-03-27 23:46:13 +00:00
Arvid Norberg 22b1c968a4 back-ported choking issue at high uplod rates 2013-03-26 04:45:38 +00:00
Arvid Norberg 8bc8c1abe8 merged implied_port from RC_0_16 2013-03-25 07:26:39 +00:00
Arvid Norberg be6afa74f3 optimized rate limiter by allowing peers to request more bandwidth while waiting on the socket 2013-03-24 18:00:58 +00:00
Arvid Norberg 372dd935f1 make disk cache pool allocator configurable 2013-03-21 01:18:39 +00:00
Arvid Norberg 74b7d676bc use posix_memalign on linux, not valloc 2013-03-18 15:46:43 +00:00
Arvid Norberg 56e4c48873 merged disk buffer pool change from RC_0_16 2013-03-17 17:13:34 +00:00
Arvid Norberg 8d8d160b35 a bit more robust error messaging when deleting files in a torrent 2013-03-17 00:50:33 +00:00
Arvid Norberg d52a1f8c0a simplify logic for sending torrent_finished_alert and fix incorrect assert 2013-03-16 22:16:58 +00:00
Arvid Norberg 279ee66201 fix release with assert-debugging build 2013-03-10 20:41:26 +00:00
Arvid Norberg a2a4b61b5d fix library ABI to not depend on logging being enabled 2013-03-10 09:19:58 +00:00
Arvid Norberg 431efc6157 merge storage fix from RC_0_16 2013-03-03 04:47:19 +00:00
Arvid Norberg b07e7d8fe9 include name, save_path and torrent_file in torrent_status, for improved performance 2013-03-02 23:17:48 +00:00
Arvid Norberg a0caa0f4b2 disable invariant_check functions when invariant checks are disabled 2013-02-25 04:13:46 +00:00
Arvid Norberg 3599b130c0 expand unit tests 2013-02-24 10:02:26 +00:00
Arvid Norberg 6faec32ebc don't send ipv4 and ipv6 to trackers 2013-02-24 01:00:20 +00:00
Arvid Norberg 5bc3028291 make some stats more configurable and reorder some fields 2013-02-23 22:13:25 +00:00
Arvid Norberg 0c6654f484 merge change from RC_0_16 2013-02-23 06:40:27 +00:00
Arvid Norberg 86a2569728 separate anonymous mode and force-proxy mode, and tighten it up a bit 2013-02-19 06:48:53 +00:00
Arvid Norberg b96b7067ba merged time critical piece fix from RC_0_16 2013-02-17 04:07:30 +00:00
Arvid Norberg e45c71dd30 merged sparse file fix from RC_0_16 2013-02-16 08:26:55 +00:00
Arvid Norberg 0951219ab6 simplify the accounting of active_download and active_finished torrents 2013-02-09 05:56:31 +00:00
Arvid Norberg b3b1180069 clean up uTP implementation by not using any timers 2013-02-06 04:38:30 +00:00
Arvid Norberg 5b48490005 fix logging build 2013-02-05 06:50:38 +00:00
Arvid Norberg f73fa778d6 slight refactoring to remove a dependency on session_impl in rpc_manager 2013-02-05 04:18:44 +00:00
Arvid Norberg 7607f20e2a add per-tracker scrape information to announce_entry 2013-02-04 07:17:31 +00:00
Arvid Norberg 8a55d7e32b merged fix for alerts.all_categories in python binding from RC_0_16 2013-02-03 00:07:42 +00:00
Arvid Norberg 327626b830 merged name resolver fix from RC_0_16 2013-02-02 23:59:11 +00:00
Arvid Norberg 2aacf1cd66 report errors in read_piece_alert 2013-01-29 02:18:32 +00:00
Arvid Norberg 7223bf17e5 DHT memory optimization 2013-01-28 04:00:23 +00:00
Arvid Norberg ecc42c0a78 merged utp fix from RC_0_16 2013-01-28 03:47:36 +00:00
Arvid Norberg d6fecf4c34 make condition variable c++11 compatible 2013-01-21 22:52:34 +00:00
Arvid Norberg a301d119fa merged fix from RC_0_16 2013-01-21 18:54:45 +00:00
Arvid Norberg b3ef6011aa merged merkle torrent creation fix from RC_0_16 2013-01-21 07:33:48 +00:00
Arvid Norberg f440bca2c4 use a condition variable in alert_manager to trigger wait_for_alert threads 2013-01-21 02:29:36 +00:00
Arvid Norberg 652bf8323b prioritize some more todo mark-ups 2013-01-21 01:40:59 +00:00
Arvid Norberg f1b8582a95 add gen_todo.py script. include todo.html and mark up some todos in the code with priority 2013-01-20 23:21:53 +00:00
Arvid Norberg a67640bddb merged fix from RC_0_16 2013-01-20 19:35:47 +00:00
Arvid Norberg aa9918a602 widen some fields in torrent 2013-01-20 08:36:34 +00:00
Arvid Norberg ab7369fee9 implement a sligthtly more aggressive DHT lookup mechanism 2013-01-20 07:54:54 +00:00
Arvid Norberg 51e99ba3e5 extend DHT unit test and fix bug in routing_table bucket splitting 2013-01-18 06:17:30 +00:00
Arvid Norberg 2f0800523c merged DHT optimization from RC_0_16 2013-01-12 06:15:45 +00:00
Arvid Norberg c14916e119 unify session plugins and extension functors (internally) 2013-01-07 04:19:19 +00:00
Arvid Norberg 952c276dee fix mingw test link issue 2013-01-06 22:50:13 +00:00
Arvid Norberg 5b638c3c9e windows fix for ip-voter test 2013-01-06 19:53:17 +00:00
Arvid Norberg e45124fc22 back-port heavy weight refcount invariant checking from libtorrent_aio (disabled by default). and also backport piece-picker refcounting bug fix 2013-01-06 04:02:29 +00:00
Arvid Norberg cd4b38cfc3 fix bug in disconnect candidate torrent function 2013-01-02 08:09:21 +00:00
Arvid Norberg 970ddba29b refactor find_disconnect_candidate_torrent to match libtorrent_aio 2013-01-02 07:39:02 +00:00
Arvid Norberg aab59d04c7 improve the external IP discovery to work with multiple external IPs (specifically IPv4 and IPv6) 2013-01-01 23:12:16 +00:00
Arvid Norberg ac5a9e9882 introduce global connection priority for improved swarm performance 2012-12-31 06:54:54 +00:00
Arvid Norberg e2d14078ec make files deleted alert non-discardable 2012-12-23 07:01:50 +00:00
Arvid Norberg 40805503d6 merged python binding fix from RC_0_16 2012-12-14 04:38:44 +00:00
Arvid Norberg ae8e3bc04f fix openssl build 2012-12-10 10:43:39 +00:00
Arvid Norberg fc0b5da9ad make built-in sha functions not conflict with libcrypto 2012-12-10 08:05:39 +00:00
Arvid Norberg 9acaf06c75 merge comment fix 2012-12-05 06:11:02 +00:00
Arvid Norberg c065b1fa80 merged utf8 conversion fix from RC_0_16 2012-11-30 05:26:09 +00:00
Arvid Norberg 81ccc1e2e0 remove unused member in udp_tracker_connection 2012-11-29 06:27:25 +00:00
Arvid Norberg 205d70da3c merged uTP fix from RC_0_16 2012-11-25 07:03:37 +00:00
Arvid Norberg 8ebe11067f merged peerlist fix from RC_0_16 2012-11-21 20:42:40 +00:00
Arvid Norberg d2f72f50cc merged IPV6_V6ONLY fix from RC_0_16 2012-11-19 04:58:46 +00:00
Arvid Norberg 77a1090104 bump version 2012-11-18 04:32:22 +00:00
Arvid Norberg f12e1c1a3f merged DHT fix from RC_0_16 2012-11-16 22:25:39 +00:00
Arvid Norberg 5b26d5d962 merged utp_socket_manager optimization from libtorrent_aio 2012-11-12 09:49:00 +00:00
Arvid Norberg 99e3fbaed5 merged utp performance fix from RC_0_16 2012-11-08 09:16:40 +00:00
Arvid Norberg 65e02c23e8 improve support for loading torrents out of resume files 2012-11-08 02:07:10 +00:00
Arvid Norberg f3ec86169e merged swarm startup optimization from libtorrent_aio 2012-11-03 03:50:12 +00:00
Arvid Norberg 16630f94d1 merged fixes from RC_0_16 2012-10-21 20:24:14 +00:00
Arvid Norberg 281b7d4768 merged udp_socket fix from RC_0_16 2012-10-21 03:56:22 +00:00
Arvid Norberg 8ba970018c make bottled http requests response size limit configurable and bump default to 2 MiB 2012-10-19 01:28:47 +00:00
Arvid Norberg 01f70bfd84 add session logging function 2012-10-18 15:14:18 +00:00
Arvid Norberg 3a2da49516 udp_socket fix 2012-10-18 07:34:39 +00:00
Arvid Norberg 6d7e9e4521 remove some iostream dependencies 2012-10-12 04:50:34 +00:00
Arvid Norberg 3555b01b85 merged utp_socket and simultaneous connections fix from RC_0_16 2012-10-10 04:40:18 +00:00
Arvid Norberg 09d7a49ad7 merged lsd patch from RC_0_16 2012-10-09 04:51:04 +00:00
Arvid Norberg 971aea19e7 merged local service discovery logging from RC_0_16 2012-10-09 04:16:37 +00:00
Arvid Norberg 9ed60479ce merged udp socket fix from RC_0_16 2012-10-07 23:34:44 +00:00
Arvid Norberg 35032a6950 merge verbose logging feature from libtorrent_aio 2012-10-06 23:45:36 +00:00
Arvid Norberg b81d1bfe08 merged web seed fix from RC_0_16 2012-10-06 17:51:59 +00:00
Arvid Norberg f5972efe9f merged finished alert asserts from libtorrent_aio 2012-10-06 17:50:06 +00:00
Arvid Norberg 83754b3427 merged post_torrent_updates assert from libtorrent_aio 2012-10-06 14:31:14 +00:00
Arvid Norberg e44225cb57 merged uTP fix from RC_0_16 2012-10-05 03:20:40 +00:00
Arvid Norberg 5bc322c031 merged get_torrent_info deprecation from libtorrent_aio, replaced by torrent_file() 2012-10-02 16:07:55 +00:00
Arvid Norberg bff648a89e update copyright dates and add tool to do so 2012-10-02 03:16:33 +00:00
Arvid Norberg acdb647eca merged udp tracker fix from RC_0_16 2012-10-01 00:13:58 +00:00
Arvid Norberg d181b2e057 merge pad_file_at optimization from libtorrent_aio 2012-09-30 20:55:12 +00:00
Arvid Norberg 32b4b5926a merged fix from RC_0_16 2012-09-30 19:35:08 +00:00
Arvid Norberg 33943f7184 merged set_version fix 2012-09-29 21:30:40 +00:00
Arvid Norberg c56901e864 improve web seed hash failure mode 2012-09-29 17:46:41 +00:00
Arvid Norberg 5e2ff1a246 merged logging cleanup from RC_0_16 2012-09-27 23:04:51 +00:00
Arvid Norberg b8149ead5c OS/2 (eCS) support 2012-09-24 16:13:57 +00:00
Arvid Norberg d098e49059 merged DHT feature from libtorrent_aio 2012-09-22 21:40:16 +00:00
Arvid Norberg 055f8a0598 merged DHT optimization from libtorrent_aio 2012-09-22 18:15:29 +00:00
Arvid Norberg 330aac4acb merged boost.system fix from RC_0_16 2012-09-22 05:18:10 +00:00
Arvid Norberg 0ec16827ff fix invariant check 2012-09-11 05:27:14 +00:00
Arvid Norberg 9951724f16 back-ported add_torrent_params extension from libtorrent_aio 2012-08-31 17:04:02 +00:00
Arvid Norberg 52f679d5dc add file_name() to file_storage 2012-08-31 02:31:37 +00:00
Arvid Norberg 64a56e4581 merged fix from RC_0_16 2012-08-30 01:54:35 +00:00
Arvid Norberg fdc25967c2 merged string function cleanup from RC_0_16 2012-08-26 15:26:17 +00:00
Arvid Norberg ad586df9fb remove comments of things that have been done in upstream branches 2012-08-22 00:56:38 +00:00
Arvid Norberg c60f373ae4 merged mingw fix from RC_0_16 2012-08-21 21:54:07 +00:00
Arvid Norberg 5d993dbc71 removed invalid function declaration 2012-08-21 03:10:20 +00:00
Arvid Norberg 4c61e86691 merged fix from RC_0_16 2012-08-20 14:57:57 +00:00
Arvid Norberg 9bdcadb7ad merged build fix from RC_0_16 2012-08-16 03:03:29 +00:00
Arvid Norberg 70d3170963 merged attempted build fix from RC_0_16 2012-08-16 00:48:13 +00:00
Arvid Norberg e357440fd9 fix windows build 2012-08-15 16:59:47 +00:00
Arvid Norberg 532e514c00 improve torrent file creator optimizer a bit 2012-08-12 21:18:38 +00:00
Arvid Norberg 0685fb91bd DHT throttling fix 2012-08-03 05:13:40 +00:00
Arvid Norberg c10c5aa369 remove redundant define 2012-08-01 03:04:26 +00:00
Arvid Norberg e51a30f3dd fix INT64_MAX build issue on linux 2012-07-31 16:39:12 +00:00
Arvid Norberg bcb22239bf polish windows build 2012-07-23 13:59:17 +00:00
Arvid Norberg eb3dd0ebb3 merged disk-stats build fix from RC_0_16 2012-07-17 16:15:09 +00:00
Arvid Norberg 0657690b1c attempt at fixing shutdown hang caused by connection_queue 2012-07-15 23:22:23 +00:00
Arvid Norberg 9f4697a11b merged udp_socket fix from libtorrent_aio 2012-07-15 02:16:02 +00:00
Arvid Norberg 377bba90fb merged connection_queue_fix from libtorrent_aio 2012-07-14 22:49:29 +00:00
Arvid Norberg 3d7dc768da use random peer IDs in anonymous mode 2012-07-08 22:47:25 +00:00
Arvid Norberg 7c7b927e07 improve connection distribution fairness between torrents 2012-07-04 20:41:22 +00:00
Arvid Norberg 1c2b7471cb fix one more issue with end-game mode when some pieces that are no longer selected for download have been downloaded 2012-07-02 03:27:32 +00:00
Arvid Norberg 7332f6b219 reduce some compiler warnings 2012-07-02 01:34:05 +00:00
Arvid Norberg bd4f173bc5 fix uTP edge case where udp socket buffer fills up 2012-07-01 18:44:46 +00:00
Arvid Norberg 96aa1f162b fix for udp_socket observers and some dht warning fixes 2012-06-30 15:30:38 +00:00
Arvid Norberg f403b5f3c8 fix move_storage bugs 2012-06-29 23:35:11 +00:00
Arvid Norberg df10b45ecc fix unnecessary dependency on boost.date_time that came from building asio as separate compilation 2012-06-28 16:59:57 +00:00
Arvid Norberg 4a2c799a1a always use SO_REUSEADDR and deprecate the flag to turn it on 2012-06-28 06:51:18 +00:00
Arvid Norberg 4ddbe44a0d fix bug in the udp socket observer use for DHT and add debug facilily for the observers 2012-06-25 03:31:11 +00:00
Arvid Norberg 60f501ca5d avoid incorrect assert in the DHT 2012-06-24 22:53:15 +00:00
Arvid Norberg 142786d6ed fix end-game mode when filtering pieces (i.e. deselecting files for download) 2012-06-24 20:57:31 +00:00
Arvid Norberg 3f1bfb5477 fix linux build and make use of the system INT64_MAX define 2012-06-24 19:50:49 +00:00
Arvid Norberg 7351f68b98 fix build with verbose logging and missing INT64_MAX on msvc 2012-06-23 05:46:51 +00:00
Arvid Norberg d73bbf5053 clean up the udp socket and its consumers by adding an observer interface and have the udp tracker, utp socket manager and dht tracker subscribe to it instead of going through the session_impl. This probably improves performance a tiny bit but primarily improves modularization and testability 2012-06-22 04:21:20 +00:00
Arvid Norberg 14c9d8d7e9 fix build issue 2012-06-22 02:33:07 +00:00
Arvid Norberg 2b9b2a188a remove uTP delayed ack and instead send acks when the udp socket has been drained. simplify the udp socket to use null_buffers and allocate less memory for buffers. this also eliminated the race condition when resizing the udp socket receive buffer which greatly simplified it 2012-06-21 15:05:57 +00:00
Arvid Norberg 3c0e7e0a4a keep counters of the number of active downloading and finished torrents in order to have a cheap way of prioritizing peer connections for downloading torrents over finished ones 2012-06-21 03:51:39 +00:00
Arvid Norberg 1db4fae595 merged patch from RC_0_16 2012-06-10 16:20:00 +00:00
Arvid Norberg fa1c071c2f merged fixes from RC_0_16 2012-06-09 04:48:53 +00:00
Arvid Norberg d6a53200a2 add a force-flag to cancel_request 2012-06-06 16:05:25 +00:00
Arvid Norberg 42a5185f24 merged fix from RC_0_16 2012-06-05 05:55:40 +00:00
Arvid Norberg f49bc42cae added missing license headers 2012-06-04 06:30:45 +00:00
Arvid Norberg b022772b4d merged fix from RC_0_16 2012-06-03 05:13:08 +00:00
Arvid Norberg d09e958166 add set_dht_settings to python bindings and fix include in bitfield.hpp 2012-05-28 17:54:20 +00:00
Arvid Norberg 314e08d90b added missing include file to makefile 2012-05-25 20:26:55 +00:00
Arvid Norberg 403c49ac29 factor out removing chunk headers from http streams and fix chunked encoding support when adding torrents by url 2012-05-16 05:32:12 +00:00
Arvid Norberg 5275e75fa5 back-port deletion of the redundant peer_connection constructor from libtorrent_aio 2012-05-14 05:43:45 +00:00
Arvid Norberg cc7ff1606c add unit test for seed optimization in piece picker and make it reliable in the presence of dont-have messages 2012-05-14 04:48:23 +00:00
Arvid Norberg 402d6bb6b6 optimize torrent::status to scale better with the number of peers 2012-05-06 22:46:21 +00:00
Arvid Norberg 511b9137b4 fix unused arguments warnings 2012-05-06 00:40:31 +00:00
Arvid Norberg 2c2bd49a4e fix build with disk stats enabled 2012-05-05 19:36:04 +00:00
Arvid Norberg cf49986e1a one more uninitialized member 2012-05-03 03:56:40 +00:00
Arvid Norberg 3a2916b578 initialize uninitialized members 2012-05-03 02:05:34 +00:00
Arvid Norberg 10b64a7761 add all_set() function on bitfield and automatically call inc_refcount_all or dec_refcount_all if all bits are set in a bitfield 2012-05-02 18:55:58 +00:00
Arvid Norberg bf3751640a fix multiple bitfields issue 2012-05-02 01:08:25 +00:00
Arvid Norberg 93b1a3478f added missing file 2012-05-01 05:45:05 +00:00
Arvid Norberg cec9a16cc1 back-ported observer for set_external_ip for DHT 2012-04-30 06:30:35 +00:00
Arvid Norberg 918dce1341 back-ported part of the alert_dispatcher patch for the DHT 2012-04-30 05:39:35 +00:00
Arvid Norberg 1c60ae4064 canonicalize paths when using UNC paths 2012-04-28 21:13:55 +00:00
Arvid Norberg c80e156120 expose print_backtrace in debug builds for the tests 2012-04-28 21:10:15 +00:00
Arvid Norberg f031bfa176 make it simpler to disable UNC paths 2012-04-28 16:23:16 +00:00
Arvid Norberg 2aadba290b fix dynamic link build 2012-04-27 17:19:51 +00:00
Arvid Norberg 2fc7f2191f is_seed() is not a good indicator of whether or not we have a piece picker. use has_picker() instead 2012-04-25 19:16:22 +00:00
Arvid Norberg 49f74be42f make super-seeding a bit more robust 2012-04-23 05:48:46 +00:00
Arvid Norberg a7f1d7df91 make torrent::have_piece support magnet links 2012-04-21 16:58:21 +00:00
Arvid Norberg b03e99ab40 fix DLL export issue on windows 2012-04-15 04:00:58 +00:00
Arvid Norberg 7f19e0d976 some more FreeBSD fixes 2012-04-15 02:20:23 +00:00
Arvid Norberg 7cf7243021 another FreeBSD fix 2012-04-15 01:02:55 +00:00
Arvid Norberg 48b85ba586 added more asserts in an attempt to track down invalid policy peer pointers in the piece picker. also fixed a web seed related crash when geoip support is enabled 2012-04-12 05:00:20 +00:00
Arvid Norberg 646f761c32 merged compatibility patch from RC_0_16 2012-04-11 16:35:16 +00:00
Arvid Norberg de7bad7774 merged makefile fix from RC_0_16 2012-04-11 06:37:10 +00:00
Arvid Norberg 9f0e892228 merged ban_web_seed setting patch from RC_0_16 2012-04-11 03:25:09 +00:00
Arvid Norberg 548bace889 merged changes from RC_0_16 2012-04-08 16:03:39 +00:00
Arvid Norberg a5a9006014 merged fixes from RC_0_16 into trunk 2012-04-07 00:35:25 +00:00
Arvid Norberg f714732eee merged fix from RC_0_16 to support older openssl 2012-04-06 04:11:04 +00:00
Arvid Norberg 9024209d51 merged set_settings race condition fix into trunk 2012-04-06 03:02:50 +00:00
Arvid Norberg 6acde24799 merged SSL fix from RC_0_16 2012-04-05 04:17:19 +00:00
Arvid Norberg 8135a6e3a2 fix piece_picker::max_pieces. it's still restricted by piece_block 2012-04-04 04:23:28 +00:00
Arvid Norberg 21b51afd5f merge windows fix from RC_0_16 2012-04-02 03:32:26 +00:00
Arvid Norberg 6fc580e0cb support torrents with more than 262000 pieces 2012-04-01 19:14:30 +00:00
Arvid Norberg b29b2314b2 improved shutdown delay debugging 2012-04-01 00:42:31 +00:00
Arvid Norberg 40db19ff7d fix build with release-asserts 2012-03-30 05:27:06 +00:00
Arvid Norberg 418c1e8190 make tracker back-off configurable 2012-03-29 03:51:22 +00:00
Arvid Norberg a2cb2c9bca make the file_storage interface a bit more sane, and fixed typos in make_torrent documentation 2012-03-26 16:07:55 +00:00
Arvid Norberg c8f7b79e2b fix uTP bug 2012-03-24 16:08:49 +00:00
Arvid Norberg 4d60adcaa9 retry failed trackers a little bit sooner. make the exponential back-off not quite grow as fast 2012-03-24 15:15:36 +00:00
Arvid Norberg 6fcc469aef support banning web seeds that send corrupt data 2012-03-24 01:29:31 +00:00
Arvid Norberg cafbf2ca1d more work on minimizing shared object export symbol table 2012-03-20 03:53:07 +00:00
Arvid Norberg 619c375528 don't inline large functions 2012-03-19 06:06:52 +00:00
Arvid Norberg 62fef3cba0 fixed build configuration test in session.cpp 2012-03-19 02:43:06 +00:00
Arvid Norberg 9b8ce67302 fixed bug in external IP voting 2012-03-19 00:31:21 +00:00
Arvid Norberg a2521bd23c fix a bunch of issues to properly support dynamic linking of libtorrent with visibility=hidden. Still requires a small patch to boost 2012-03-18 23:31:04 +00:00
Arvid Norberg 7b1a441aeb attempt to make shared library builds to work with visibility=hidden 2012-03-15 06:08:08 +00:00
Arvid Norberg 7f2d6325df rely on boost configs symbol export macro, make sure boost thinks it is built as a shared library when linked into a shared library 2012-03-13 15:35:35 +00:00
Arvid Norberg df2e891a2d set uTP target delay to 100 ms. expose setting for packet loss multiplier for cwnd 2012-03-11 05:46:15 +00:00
Arvid Norberg b58a96d76b log stats of incoming piece requests 2012-03-09 06:24:01 +00:00
Arvid Norberg 341967dab7 improve magnet link support. in RSS feeds for instance. Parsing of magnet links was factored out and moved to the proper place, in session_impl::add_torrent 2012-03-08 09:54:44 +00:00
Arvid Norberg 9bd40e950b add send_buffer_low_watermark in an attempt to improve seed ramp-up time 2012-03-07 02:59:50 +00:00
Arvid Norberg ea59a9be22 simplify connection attempt distribution logic to not lower the connection rate with a downloading torrent among seeding ones 2012-03-05 10:42:25 +00:00
Arvid Norberg 8f3c3de1e2 add incoming requests to stats logging 2012-03-05 10:05:20 +00:00
Arvid Norberg e2d46b5563 add performance warning when hitting the file descriptor limit. Log the total number of peers, including half-open TCP connections 2012-03-04 11:18:27 +00:00
Arvid Norberg 5a8037dba2 added performance alert for address-in-use errors 2012-03-03 02:29:37 +00:00
Arvid Norberg ccf9c5a0fd log more stats 2012-03-02 08:52:54 +00:00
Arvid Norberg 8d754b9674 deprecate torrent_handle::super_seeding() and move it into torrent_status 2012-03-01 09:01:48 +00:00
Arvid Norberg 6144280fde fix xml parser issue and the xml unit test 2012-02-27 07:02:11 +00:00
Arvid Norberg fdc6d3722b fix boost version condition for new asio ssl features 2012-02-26 00:01:53 +00:00
Arvid Norberg b5bf19c07b fix openssl build with boost-1.46 2012-02-25 08:31:25 +00:00
Arvid Norberg 3ef9190b01 fix export for settings_map symbol for python binding 2012-02-25 08:02:52 +00:00
Arvid Norberg 14287b8a7b use UNC paths on windows by default 2012-02-23 06:46:23 +00:00
Arvid Norberg 6c395cedee fix build for boost < 1.47 2012-02-23 04:32:50 +00:00
Arvid Norberg 28e74a79b7 RSS fixes (exponential back-off), handling feed errors with retries 2012-02-22 08:26:42 +00:00
Arvid Norberg eef0f03343 fixed session logger destruction order issue 2012-02-21 06:47:08 +00:00
Arvid Norberg 8bb6635c94 improved rss unit test and fixed one incompatibility. added feature to save which feed items have been added, in order to not re-add them 2012-02-21 03:14:54 +00:00
Arvid Norberg 75fce84ce4 added unit test for RSS feeds and fixed a parsing bug 2012-02-20 07:51:36 +00:00
Arvid Norberg 67b12dfb90 fixed off-by-one read error in xml-parser, and removed some unnecessary casts in the unit test 2012-02-18 09:54:49 +00:00
Arvid Norberg 5a23d04143 fix some clang warnings 2012-02-18 08:23:48 +00:00
Arvid Norberg 47bd771fd4 fixed missing TORRENT_EXPORT 2012-02-16 07:26:45 +00:00
Arvid Norberg 47781bf2c5 cleanup, fix warnings 2012-02-15 10:57:49 +00:00
Arvid Norberg 3a9d7fc66d fix typo and document custom alerts 2012-02-12 10:11:14 +00:00
Arvid Norberg c384d00dbf make bdecoder more robust when encountering errors (leave the resulting tree consistent) 2012-02-10 04:19:11 +00:00
Arvid Norberg 679abf2e57 this time, actually remove the encrypted torrent (AES-256 encrypted peer connections) 2012-02-09 06:47:22 +00:00
Arvid Norberg f7b5c10b2b add asserts to try to catch crash in peer_connection::received_valid_data 2012-02-09 06:24:58 +00:00
Arvid Norberg 8b459a27bd remove 'encrypted peer connections' feature (ssl is a better idea) 2012-02-09 06:23:58 +00:00
Arvid Norberg 94a1cae4a3 don't disconnect peers that don't have metadata 2012-02-07 09:18:07 +00:00
Arvid Norberg a6b5f761e8 rename is_local to is_outgoing and m_active to m_outgoing 2012-02-07 03:46:21 +00:00
Arvid Norberg 5df78592db fix some config defines 2012-02-01 06:24:30 +00:00
Arvid Norberg 639039a94e attempt to fix TOS setting (IP type of service) 2012-01-29 20:59:20 +00:00
Arvid Norberg 89ee8463c6 properly authenticate web seeds and trackers over SSL 2012-01-29 02:27:55 +00:00
Arvid Norberg f13a91d8a8 support backtraces on windows 2012-01-26 10:33:39 +00:00
Arvid Norberg 818620a5a8 fixed release build 2012-01-23 05:14:12 +00:00
Arvid Norberg 1a32205944 graceful shutdown of uTP sockets 2012-01-23 05:02:12 +00:00
Arvid Norberg 4706807300 fix issue with outgoing connections not being tied to a torrent 2012-01-21 21:29:22 +00:00
Arvid Norberg 7f90a241b6 don't let hung outgoing connection attempts block incoming connections 2012-01-21 09:05:34 +00:00
Arvid Norberg 5c8d476022 fix http_connection timeout (improves shutdown delay) 2012-01-21 08:18:41 +00:00
Arvid Norberg ef1d8b5921 fix build 2012-01-20 06:07:19 +00:00
Arvid Norberg ed56520d24 more asserts around state updates 2012-01-20 05:40:32 +00:00
Arvid Norberg ef61b32d9e fix unit test build on windows 2012-01-19 08:01:38 +00:00
Arvid Norberg 0159b66756 fix iconv signature on mingw 2012-01-19 07:54:23 +00:00
Arvid Norberg 9df6e5ee7e provide defines for PRIu32 when missing 2012-01-19 06:56:36 +00:00
Arvid Norberg 9c24b7e23f provide definitions for PRIu64 if missing 2012-01-19 06:28:29 +00:00
Arvid Norberg ae90a8f85e verify that torrent names matches the DNS name in its certificate (RFC 2818-style). Fix issues that was breaking SSL support and tidy up a bit 2012-01-15 23:34:43 +00:00
Arvid Norberg 4a40e68a82 landed ssl branch back into trunk 2012-01-14 16:04:25 +00:00
Arvid Norberg cbe02221cd replace calls to isspace() with is_space() to avoid asserts in the CRT 2012-01-13 12:06:50 +00:00
Arvid Norberg 61e8d3dd49 improved peer exchange performance by sharing incoming connections which advertize listen port 2012-01-04 20:49:54 +00:00
Arvid Norberg 315ff0bb83 exporting min_memory_usage() and high_performance_seed() functions from DLL 2012-01-04 12:36:58 +00:00
Arvid Norberg 152cee19f1 add compile-time feature to enable logging of all peer requests 2011-12-29 12:15:29 +00:00
Arvid Norberg f60ea6a4a9 support queue positions greater than 32768 2011-12-23 19:30:23 +00:00
Arvid Norberg d7103ab5b0 updated client_test to use post_torrent_updates() 2011-12-23 05:36:13 +00:00
Arvid Norberg ef724014aa deprecated per-peer rate limits (and removed them from libtorrent_aio) 2011-12-18 12:52:09 +00:00
Arvid Norberg 78f16cedd9 deprecate torrent::set_ratio 2011-12-18 07:18:42 +00:00
Arvid Norberg 8e8f798905 get rid of read-recurse hack 2011-11-30 20:07:18 +00:00
Arvid Norberg c4dded04ca fixed small memory leak in DHT 2011-11-28 11:11:29 +00:00
Arvid Norberg 614b279acb fix assert 2011-11-27 05:46:52 +00:00
Arvid Norberg f979f7a77b make receive_buffer() not return a range exceeding the actual buffer 2011-11-27 01:08:28 +00:00
Arvid Norberg c3695d9fbb add have_piece function to torrent_handle 2011-11-27 00:01:13 +00:00
Arvid Norberg c279870516 add web seed support for torrents with pad files 2011-11-26 20:48:31 +00:00
Arvid Norberg faf11fc27d web seed fix 2011-11-25 10:56:33 +00:00
Arvid Norberg cab1f3d207 fix issue when peer list is full, previously we would sometimes reject new connections 2011-11-24 17:50:57 +00:00
Arvid Norberg 5d8ce01c7a silence valgrind warning about uninitialized memory 2011-11-20 20:49:18 +00:00
Arvid Norberg c40d072ab1 increase default cache expiry to 5 minutes 2011-11-16 09:49:00 +00:00
Arvid Norberg 85ef2528c6 serve cache hits without a round-trip to the disk thread for improved seeding performance 2011-11-16 07:09:12 +00:00
Arvid Norberg fdc5e7e8b2 keep track of where redundant downloads come from. make the timing out of block requests more reasonable in an attempt to actually complete pieces from other peers when stuck on a slow one 2011-11-16 02:29:59 +00:00
Arvid Norberg 0320546fee fix build 2011-11-15 06:47:02 +00:00
Arvid Norberg c4232065d8 introduced a more scalable API for torrent status updates (post_torrent_updates()) 2011-11-15 02:34:00 +00:00
Arvid Norberg 51c32fefbc workaround an old asio bug on 64 bit machines 2011-11-13 09:25:50 +00:00
Arvid Norberg 96adfc2ad5 windows build fixes 2011-11-13 05:51:03 +00:00
Arvid Norberg 95769f3901 fix windows build 2011-11-13 05:04:05 +00:00
Arvid Norberg 344e6c8a3b align error codes 2011-11-13 03:35:03 +00:00
Arvid Norberg 2330520c51 change the add_torrent_params API to use flags instead of a bunch of bools (but leave it backwards compatible) 2011-11-08 05:36:22 +00:00
Arvid Norberg 261648d60a fix test_buffer build when linking dynamically 2011-11-02 09:31:32 +00:00
Arvid Norberg 4559980c92 fix issue in big_number shift left operator 2011-11-01 17:06:31 +00:00
Arvid Norberg e58e27e83a change peer_states to be a bitmask (bw_limit, bw_network, bw_disk) 2011-10-25 17:34:42 +00:00
Arvid Norberg 0a2b352795 possible dangling pointer fix in broadcast_socket 2011-10-25 05:55:32 +00:00
Arvid Norberg 9afd09d797 optimize sending buffers on peer sockets by corking and uncorking 2011-10-24 04:22:53 +00:00
Arvid Norberg 15f20c887d fix msvc build 2011-10-22 17:44:40 +00:00
Arvid Norberg b430152174 post disk job completions in batches to save CPU in the network thread 2011-10-19 05:46:49 +00:00
Arvid Norberg d3fb55e1da optimize socket send buffers a bit 2011-10-19 02:40:37 +00:00
Arvid Norberg 7d20c0b0c4 log CPU usage of network thread 2011-10-17 17:12:08 +00:00
Arvid Norberg 8b6522a763 log buffer sizes passed to read() and write() at the socket layer (to identify performane problems) 2011-10-17 06:54:02 +00:00
Arvid Norberg aab4cb6937 log number of asio messages passed through the queue per second (to track down performance issue) 2011-10-17 05:17:21 +00:00
Arvid Norberg 01405f32ee added async_add_torrent for increased performance when adding many torrents (no documentation yet though) 2011-10-12 10:27:17 +00:00
Arvid Norberg 2741563711 set alert_mask early 2011-10-08 09:52:36 +00:00
Arvid Norberg 15b6888eb3 export default_storage to make it available to derive from 2011-10-07 00:26:19 +00:00
Arvid Norberg d54c85d31b log uTP receive delay in stats log 2011-09-28 00:03:12 +00:00
Arvid Norberg f6b6b57c0e fix avoid-readback cache algorithm 2011-09-27 04:05:05 +00:00
Arvid Norberg 4cde952a68 fix default settings for cache expiry and disk queue size 2011-09-26 05:32:22 +00:00
Arvid Norberg 451c31828f changed semantics of send_buffer_watermark_factor to be specified as a percentage 2011-09-23 21:12:28 +00:00
Arvid Norberg 85db40e2c5 log outstanding reading bytes from peers in stats log 2011-09-23 20:57:42 +00:00
Arvid Norberg 976a50384a some more struct layout optimization 2011-09-22 10:37:47 +00:00
Arvid Norberg 7a50255865 improved struct layout debug logging and optimized some structs 2011-09-21 09:27:07 +00:00
Arvid Norberg f8d5ea4db7 fix some encryption warnings 2011-09-18 20:42:35 +00:00
Arvid Norberg f5b5160169 add incoming_connection_alert for logging all successful incoming connections 2011-09-17 01:44:05 +00:00
Arvid Norberg 3e91b45904 lower some default settings 2011-09-16 09:58:45 +00:00
Arvid Norberg 469414d486 initial BitTorrent over SSL support 2011-09-12 03:51:49 +00:00
Arvid Norberg 675721d971 basic support for bittorrent connections over SSL 2011-09-10 05:52:07 +00:00
Arvid Norberg 92bcb9ebfd feature to encrypt peer connections with a secret AES-256 key stored in .torrent file 2011-09-05 05:50:41 +00:00
Arvid Norberg 43c9e640ab honor IOV_MAX when using writev and readv 2011-09-05 05:47:50 +00:00
Arvid Norberg bc1e47a486 solaris fixes 2011-09-04 23:29:47 +00:00
Arvid Norberg 864da49dd6 fix build error caused by stupid openssl macro 2011-08-31 20:40:29 +00:00
Arvid Norberg ec74d500a4 clean up encryption code some 2011-08-29 02:00:17 +00:00
Arvid Norberg a286a6b4aa initial attempt at verifying the certificate of ssl trackers, by including the certificate in the .torrent file 2011-08-28 21:06:15 +00:00
Arvid Norberg 51ed06304e deprecated compact storage allocation 2011-08-22 00:51:14 +00:00
Arvid Norberg 293e41afff msvc build fix 2011-08-16 09:22:41 +00:00
Arvid Norberg 1c5399b736 piece picker optimization 2011-08-16 06:30:53 +00:00
Arvid Norberg 25ad24ec68 piece picker optimization. O(log n), lookup of downloading pieces instead of O(n) 2011-08-15 04:16:43 +00:00
Arvid Norberg b9be2fe94b fix production assert 2011-08-14 23:55:41 +00:00
Arvid Norberg 524e116277 fix production asserts build 2011-08-14 23:30:40 +00:00
Arvid Norberg 88441e4fdc another attempt at optimizing piece picker 2011-08-14 23:16:12 +00:00
Arvid Norberg e26d49a71c expose new listen_on flags to python 2011-08-13 23:30:11 +00:00
Arvid Norberg 1b470e0961 move the code of chained buffer out to its own cpp file 2011-08-13 23:01:38 +00:00
Arvid Norberg f6554bad08 back ported feature to expose which pieces have been verified in seed_mode and exposes it in client_test (initially implemented in the libtorrent_aio branch) 2011-08-07 07:19:18 +00:00
Arvid Norberg 601443afd3 close files in separate thread on systems where close() may block (Mac OS X for instance) 2011-08-07 04:41:10 +00:00
Arvid Norberg d4958c9286 support for dont-have extension message 2011-08-07 00:41:13 +00:00
Arvid Norberg 109e527568 added reset_piece_deadline function 2011-08-05 06:31:46 +00:00
Arvid Norberg 1537299666 add missing header file to makfile 2011-08-02 16:59:03 +00:00
Arvid Norberg 6a01b035be add missing files 2011-08-01 08:03:26 +00:00
Arvid Norberg bc2f0c8c5e move disk_buffer_pool out to its own file 2011-07-31 02:24:36 +00:00
Arvid Norberg 7817229f5d improve support for merkle tree torrent creation 2011-07-30 17:35:22 +00:00
Arvid Norberg 270f6959e4 fix PRId64 macro for mingw 2011-07-23 21:18:25 +00:00
Arvid Norberg ff6da81c4c fix iconv use on mingw 2011-07-23 19:30:23 +00:00
Arvid Norberg 1b353ce5af fix beos build 2011-07-20 05:14:25 +00:00
Arvid Norberg bf231bf86c apply patch to fix build on GNU hurd 2011-07-14 14:16:32 +00:00
Arvid Norberg 8d86c3bacc fixed release-asserts bulid 2011-07-05 04:05:12 +00:00
Arvid Norberg bf9d864dd2 stronger low-pass filter for iops reporting 2011-07-04 05:52:15 +00:00
Arvid Norberg de3ea9214a log a low-pass filtered iops to stats log 2011-07-03 17:21:45 +00:00
Arvid Norberg 90d8030269 log VM stats alongside the session stats 2011-06-28 22:20:34 +00:00
Arvid Norberg 209b9e4186 make disk timing be average over the last second. fixed some other bugs in previous changes 2011-06-26 19:45:33 +00:00
Arvid Norberg c647e95244 adjust default read cache line size and log IOPS in session stats 2011-06-26 19:00:40 +00:00
Arvid Norberg fdd2482536 fix windows isspace issue 2011-06-22 01:17:22 +00:00
Arvid Norberg c390dd5858 measure uTP send delay and log it in stats log. change unit on times to seconds (from milliseconds and microseconds) 2011-06-21 07:44:13 +00:00
Arvid Norberg 060b849dda factor encryption handler a bit and add proposal for an authentication extension 2011-06-18 16:58:36 +00:00
Arvid Norberg 3ba914b419 fix build 2011-06-14 06:10:35 +00:00
Arvid Norberg 78c6bd3b08 fix signature for set_alert_mask 2011-06-13 16:46:46 +00:00
Arvid Norberg d6c8184381 support locking files 2011-06-09 06:08:24 +00:00
Arvid Norberg f6f516bed0 fix file_storage copy constructor (would break python bindings) 2011-06-06 07:47:29 +00:00
Arvid Norberg 57f24128a9 add more default reporting about the request and download queue of peers to track end-game stall issue 2011-06-06 04:24:12 +00:00
Arvid Norberg b8614a36b3 fix resume state for paused when torrent was in graceful pause mode 2011-06-05 20:48:00 +00:00
Arvid Norberg df003ef57c fix checking behavior when pausing/resuming the session 2011-06-05 03:06:34 +00:00
Arvid Norberg 0c35fde81c memory usage optimization in policy::peer 2011-06-01 06:47:57 +00:00
Arvid Norberg e6640de205 updated IP->ID formula for DHT 2011-05-26 17:04:53 +00:00
Arvid Norberg 6fa1827c39 add support for mutable put/get functions in DHT 2011-05-25 02:26:07 +00:00
Arvid Norberg 5bbbf0cd41 add rsa sign and verification functions for future DHT extensions 2011-05-23 23:42:52 +00:00
Arvid Norberg 6830eb10a9 remove old search code from DHT. modify announce-item to fit with more recent proposal of get/put. Only immutable entries for now 2011-05-23 05:07:52 +00:00
Arvid Norberg 58d723012a support DHT scrape 2011-05-23 00:45:36 +00:00
Arvid Norberg 88fa0b9393 optimize send buffer allocation and deallocation by not allowing requiring contiguous buffers 2011-05-19 02:41:28 +00:00
Arvid Norberg 801d3637b9 attempt to fix crash in udp_socket when using a broken socks5 proxy 2011-05-14 22:25:49 +00:00
Arvid Norberg a9e14217ac address is the sort key in policy::peer and should never change 2011-05-14 20:57:58 +00:00