Commit Graph

245 Commits

Author SHA1 Message Date
Arvid Norberg e225259481 fix some msvc warnings 2014-05-10 03:23:05 +00:00
Arvid Norberg a943fec777 update copyright 2014-02-23 19:12:25 +00:00
Arvid Norberg 5d3c479e12 merged chunked encoding fix from RC_0_16 2014-01-21 09:14:00 +00:00
Arvid Norberg 4e6b1cfbfb update copyright 2013-12-25 17:07:16 +00:00
Arvid Norberg 90e7a4c9e3 merged some rate limiter polish from libtorrent_aio 2013-11-02 03:26:53 +00:00
Arvid Norberg 6542795d0a improved support for web seeds that don't support keep-alive 2013-10-20 02:40:43 +00:00
Arvid Norberg fdaffc5f1a merged web seeding fix from RC_0_16 2013-10-03 01:40:34 +00:00
Arvid Norberg f72f77aeb2 a few minor fixes 2013-08-22 02:55:19 +00:00
Arvid Norberg 5141a6505a merged url escaping fix from RC_0_16 2013-08-16 16:38:09 +00:00
Arvid Norberg 3bd53f88ef fix build with internal_file_entry being deprecated without deprecated functions 2013-08-12 07:30:57 +00:00
Arvid Norberg 0a6c1e05c2 merged web seed fix from RC_0_16 2012-10-07 02:30:10 +00:00
Arvid Norberg bff648a89e update copyright dates and add tool to do so 2012-10-02 03:16:33 +00:00
Arvid Norberg c56901e864 improve web seed hash failure mode 2012-09-29 17:46:41 +00:00
Arvid Norberg b3e8d86e0c proper web seed stats fix 2012-08-14 05:23:20 +00:00
Arvid Norberg 9bca8ec3f2 fix stats accounting when web seeds include a body 2012-08-14 03:20:53 +00:00
Arvid Norberg 57769bab11 fix some compiler warnings 2012-06-25 14:17:51 +00:00
Arvid Norberg 985d96f237 possible fix to http downloader error in web_peer_connection.cpp 2012-06-05 03:12:36 +00:00
Arvid Norberg 3a2916b578 initialize uninitialized members 2012-05-03 02:05:34 +00:00
Arvid Norberg dafcf2c5ca fixed web seed performance issue whith pieces > 1 MiB 2012-04-14 23:36:16 +00:00
Arvid Norberg a5a9006014 merged fixes from RC_0_16 into trunk 2012-04-07 00:35:25 +00:00
Arvid Norberg 00aa80a5fd fix issue in web_peer_connection when the combined header size + chunk headers exceeds 1 kB 2012-03-23 04:35:35 +00:00
Arvid Norberg a3f0c04090 fix windows web seed path divider issue with recent web seeding feature 2011-11-28 11:22:51 +00:00
Arvid Norberg c279870516 add web seed support for torrents with pad files 2011-11-26 20:48:31 +00:00
Arvid Norberg ce90e17e2b web seeding fix for multi file torrents with a single file 2011-11-25 21:05:39 +00:00
Arvid Norberg faf11fc27d web seed fix 2011-11-25 10:56:33 +00:00
Arvid Norberg 99a209e3c9 web_peer_connection fix and assert 2011-11-02 08:04:16 +00:00
Arvid Norberg 9a91518b9a add assert in web_peer_connection 2011-10-30 06:13:34 +00:00
Arvid Norberg d493b0f1a0 just some comments 2011-03-25 04:08:43 +00:00
Arvid Norberg ca106ca4e0 some warning fixes and cleanup 2011-02-24 04:25:35 +00:00
Arvid Norberg 141ada013f fixed a whole bunch of build warnings on gcc and msvc, along with some fixes discovered along the way 2011-02-21 05:24:41 +00:00
Arvid Norberg 3c05e81529 support for receiving multi announce messages for local peer discovery 2011-02-16 07:41:44 +00:00
Arvid Norberg c4c1773ceb fixed some warnings 2011-02-15 10:05:25 +00:00
Arvid Norberg e31aceeda4 added error category and error codes for HTTP errors 2011-01-16 02:54:59 +00:00
Arvid Norberg 894db973e8 optimized memory usage of torrent_info and file_storage 2010-11-24 23:49: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 d737dd051d added support for chunked encoding for web seeds 2010-10-27 06:39:18 +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 3948ca3179 fixed bugs in http seed connection and added unit test for it 2010-10-17 16:15:32 +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 d894dd43d8 improved web seed retry behavior 2010-09-21 06:34:13 +00:00
Arvid Norberg b747cdab8a merged all proxy settings into a single one 2010-08-23 06:27:18 +00:00
Arvid Norberg fd5f1bf80b improved SOCKS5 support 2010-08-03 09:08:37 +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 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 dce2edb6cc fixed vs 2010 build 2010-04-30 19:08:16 +00:00
Arvid Norberg 9a5f5562cb improve web seed connection handling 2010-04-14 06:22:00 +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 c26d1631e0 fix bug in web and http seeds shutdown 2010-04-09 05:51:31 +00:00
Arvid Norberg b362795f9d web seed fix 2010-02-20 16:53:38 +00:00
Arvid Norberg b12b3ff105 simplified web seed logic 2010-02-12 06:10:20 +00:00
Arvid Norberg bd93634c14 fixed range request bug for files larger than 2 GB in web seeds 2010-01-13 23:49:04 +00:00
Arvid Norberg 1f5859d31f error_code fix. added is_error_code_enum template specialization and using the abbreviated syntax to build error_codes 2009-11-29 07:06:38 +00:00
Arvid Norberg 39dae9e6dc some GCC 2.95 support fixes and some BeOS support 2009-11-28 22:41:21 +00:00
Arvid Norberg 8dd244581d header optimizations 2009-11-26 05:45:43 +00:00
Arvid Norberg eb98d6ad87 support retry-after header for web seeds 2009-11-25 16:32:09 +00:00
Arvid Norberg c9392fe0fb fixed web seed for windows 2009-10-30 03:42:29 +00:00
Arvid Norberg c418165e07 replaced boost.filesystem with custom functions (improves efficiency and drops unnecessary dependencies and improves libtorrent portability) 2009-10-26 01:29:39 +00:00
Arvid Norberg ab1add0da9 add filename to web seed urls that don't have one 2009-08-18 22:00:52 +00:00
Arvid Norberg a6bcb8f8c9 fixed issue where web seed connections might have been disconnected in the constructor (which causes problems) 2009-08-08 15:27:07 +00:00
Arvid Norberg 07bcb3545a converted a whole lot of error strings into error_codes. Documented some previously undocumented alerts as well as all the error codes 2009-06-12 16:40:38 +00:00
Arvid Norberg cfbcacce79 fixed bug when handling malformed webseed urls and an http proxy 2009-06-09 16:00:10 +00:00
Arvid Norberg 18bc7c3fc7 fixed deadlock 2009-06-09 05:48:38 +00:00
Arvid Norberg 28c334fb35 web_peer_connection statistics fix 2009-05-13 23:02:08 +00:00
Arvid Norberg 0aa477ce54 handle web seed urls that don't end with / when they should 2009-05-07 20:27:07 +00:00
Arvid Norberg 7109b86566 greatly simplified the rate limiter and generalized all rate limits (peer, torrent, global) to allow for arbitrary rate limit configurations 2009-04-26 00:21:59 +00:00
Arvid Norberg 066d6ce799 moved content-range parsing into http_parser and added unittest 2009-04-12 17:52:25 +00:00
Arvid Norberg 90ce06bb47 web seed fix 2009-04-11 20:45:14 +00:00
Arvid Norberg 1c01c9ce98 stats fix 2009-04-11 02:19:57 +00:00
Arvid Norberg aba5b2e9d0 dropped some iostream dependencies 2009-04-04 09:52:25 +00:00
Arvid Norberg 31054ef069 first implementation of set_piece_deadline 2009-03-17 09:34:44 +00:00
Arvid Norberg 6c8617ffc3 added more verbose logging for web_peer_connection 2009-02-07 22:20:13 +00:00
Arvid Norberg 3cdf9c87a8 fixed build errors on Solaris 2009-01-27 08:24:48 +00:00
Arvid Norberg 8030454c96 fixes problem whith lexical_cast being locale dependent 2009-01-27 06:17:55 +00:00
Arvid Norberg e5d3755afb added support for http seeds (BEP 17) 2008-12-30 03:54:07 +00:00
Arvid Norberg 6f80fdf9f7 fix bug when renaming files and using the web_peer_connection. Deprecated non-const file_storage access in torrent_info 2008-12-24 20:07:34 +00:00
Arvid Norberg 09b3a865ef fixed compiler flags in pkg-config file and made header files not depend on the NDEBUG define 2008-11-29 21:33:21 +00:00
Arvid Norberg a20f1a8fa0 keeps track of the number of requests waiting in the send buffer and adjusts bandwidht priority accordingly in the bandwidth limiter 2008-07-08 00:03:08 +00:00
Arvid Norberg e576babbb8 changed the alerts to have categories and to be filtered with a bitmask instead of having a severity and be filtered by a severity level. 2008-07-06 12:22:56 +00:00
cg25 ff3e80c42f Removed svn:executable property from {c,h}pp files in branches/RC_0_13 and
trunk.
2008-06-25 14:15:21 +00:00
Arvid Norberg b4c160e723 fixed bug in web_peer_connection where an incorrect number of bytes would be reported as downloaded 2008-06-03 15:17:09 +00:00
Arvid Norberg 63cf889be4 fixed 64-bit overflow issues 2008-05-29 03:18:42 +00:00
Arvid Norberg 3910fe78de separated file_storage from torrent_info and create_torrent 2008-05-28 08:44:40 +00:00
Arvid Norberg 68c31e48dc replaced vector<bool> with a custom bitfield type 2008-05-28 02:35:02 +00:00
Arvid Norberg 111f5faecb upload only extension 2008-05-18 05:59:47 +00:00
Arvid Norberg 7f639e57de improved error handling with regards to parse_url_components. For trunk, moved that function to its own file 2008-05-17 14:19:34 +00:00
Arvid Norberg 068adcd9a9 indentation fix 2008-05-12 06:03:31 +00:00
Arvid Norberg c7e6c04705 switched over to asio from boost-1.35 2008-05-03 16:05:42 +00:00
Arvid Norberg a25c25b02a fixed windows build and removed msvc warnings 2008-02-25 10:28:53 +00:00
Arvid Norberg 127d3e6ad5 bandwidth limiter fixes. proper priority that cannot starve connections 2008-01-17 17:40:46 +00:00
Arvid Norberg cf4036310b changed the way connections are disconnected. improved logging. Does not depend on exceptions anymore 2008-01-07 01:10:46 +00:00
Arvid Norberg 6c42830f97 made http_parser not use exceptions 2007-12-29 18:24:50 +00:00
Arvid Norberg 1cc0118c9c supports retry for web seeds that respond with 503 2007-11-27 03:37:47 +00:00
Arvid Norberg 0c5e8b57d0 web seed updates 2007-11-26 18:45:24 +00:00
Arvid Norberg 9d094245ba improved web_seed test (now requires lighty) and fixed a bug in web_peer_connection 2007-11-25 23:11:29 +00:00
Arvid Norberg 966800cd5b replaced the assert macro to TORRENT_ASSERT instead of hi-jacking assert. 2007-10-05 00:30:00 +00:00
Arvid Norberg b48948e231 changed the double send buffers to a chained buffer using iovec send operations. buffers are recycled (saves memory and cpu) and memory copies are avoided (saves cpu). More statistics is added to track buffer usage 2007-09-29 16:14:03 +00:00
Arvid Norberg d48236a738 changed http_parser slightly. uses http_parser in lsd.cpp. added more tests to the http_parser 2007-09-25 03:14:05 +00:00
Arvid Norberg 4c8411d904 removed incorrect assert 2007-09-05 22:43:07 +00:00
Arvid Norberg 6d40519e66 added support for piece picker to pick multiple pieces (previously it could only pick one piece tops). Made the web_peer_connection always try to make 1 MB requests at a time. added tests to the piece_picker unit test 2007-09-03 21:16:24 +00:00
Arvid Norberg b8e48c061e attempt to fix build errors on windows. #134 2007-08-21 04:46:17 +00:00
Arvid Norberg b05500570c added parenthesis around std::min and std::max for msvc compatibility 2007-08-16 22:14:17 +00:00
Arvid Norberg be1faccd1d peer_connection fixes for earlier pending disk buffer size limit 2007-08-03 08:19:10 +00:00
Arvid Norberg bb71832f5f exposed some more peer info 2007-05-25 19:42:10 +00:00
Arvid Norberg 99a22dcae4 made dht requests be allocated in a pool allocator for heap and runtime efficiency. Fixes to DHT error responses 2007-05-23 08:45:12 +00:00
Arvid Norberg cbd67ed729 added support for authentication in the url_parser and added a test for it 2007-05-22 20:44:18 +00:00
Arvid Norberg 89d65dcb15 web seed downloader fix 2007-05-17 19:57:48 +00:00
Arvid Norberg f7d051162e fixed assert triggered by checked iterators in msvc-8.0 2007-05-16 01:58:00 +00:00
Arvid Norberg 6faa11f7ab optimized web_peer_connection to use less memory and replaced std::copy with std::memmove in peer_connection 2007-05-11 18:40:22 +00:00
Arvid Norberg 35fe7dae4f fixed memory bug introduced in recent optimization of web_peer_connection 2007-05-10 18:15:53 +00:00
Arvid Norberg 9ead2e2f54 web seed heap and cpu optimization 2007-05-10 05:32:47 +00:00
Arvid Norberg 54805ca60b added option to disable country resolving 2007-05-02 19:47:38 +00:00
Arvid Norberg 9cae6e636e fixed typo in previous check-in 2007-04-27 02:54:33 +00:00
Arvid Norberg 88277fd736 fixed a bug where the web seed could be disconnected in the process of a response without noticing. checked in to RC_0_12 and trunk 2007-04-27 02:33:09 +00:00
Arvid Norberg 00948e9fc4 first attempt to implement SOCKS5 and proper HTTP proxy support. fixes #22 2007-04-25 18:26:35 +00:00
Arvid Norberg d43a6b80bf added an abstraction layer or tcp sockets, to be able to support socks proxys 2007-04-23 21:36:21 +00:00
Arvid Norberg a22ad5ad33 added failcount to peer_info. fixes #31 2007-04-13 20:19:04 +00:00
Arvid Norberg 3ed24da320 added source to peer_info, which is a bitmask of the sources where the peer has been acquired from 2007-04-10 21:23:13 +00:00
Arvid Norberg d88ffcc0e4 removed some more unecessary boost.date_time dependencies 2007-04-10 07:52:58 +00:00
Arvid Norberg 8957b64c04 prepared for precompiled headers support. fixed issue where storage didn't lock the session properly. fixed typo in natpmp.cpp 2007-03-17 17:15:16 +00:00
Arvid Norberg 17c905e37b fixed issue with single file web seeds with pre-urlencoded paths. Now, the url in the torrent file is assumed to be url-encoded. 2007-03-07 00:21:36 +00:00
Arvid Norberg b17710df09 improved error reporting on http seed failures 2007-03-06 23:56:17 +00:00
Arvid Norberg 0fe9f53410 fix in http seed. incorrect status codes were accepted 2007-03-06 23:22:43 +00:00
Arvid Norberg 9c7e0576bd improved verbose logging of http seed connections 2007-02-20 17:38:07 +00:00
Arvid Norberg 98b92e3f02 fixed problems in the network layer that made web seeds fail some times. prepared for proxy support in peer connections. worked on the http seeding. added support for web seeds in make_torrent tool 2007-02-12 05:46:29 +00:00
Arvid Norberg d0ebdb2dee added prioritization in the bandwidth_manager (throttler), web seeds now have lower priority when being handed bandwidth. torrent_reply_alert now includes the number of peers returned from the tracker. updated Changelog 2007-02-01 07:33:04 +00:00
Arvid Norberg f14c84b01e fixes in DHT to make it work when the number of transaction slots are full (very rare case). Added a feature to (optionally) resolve the countries of peers and updated the docs (see peer_info::country). 2007-01-29 07:39:33 +00:00
Arvid Norberg 87f7b186b0 replaced the bandwidth throttling code with a leaky bucket for better accuracy 2007-01-10 15:02:25 +00:00
Arvid Norberg 5f6c12214b bugfix 2007-01-08 15:29:17 +00:00
Arvid Norberg 755d9f5967 since the web seed downloader now calls incoming_piece with correct block sizes, incoming piece can be reverted to not allow incorrect block sizes 2006-12-21 11:37:03 +00:00
Arvid Norberg 1b46fb9e1b fixed an assert in teh web seed downloader 2006-12-21 02:44:00 +00:00
Arvid Norberg ae4267e0a0 fixed the new web seed code to work with multi-file torrents 2006-12-20 23:06:24 +00:00
Arvid Norberg 3a7eeb3966 rewrote most of the web seed downloader to report its progress accurately (to prevent inconsistencies in the core). Not well tested with multi file torrents yet 2006-12-18 01:23:30 +00:00
Arvid Norberg fcf211378a fixed http_tracker_connection to finally use the http-parser class (which also web_seed_connection uses). also fixed a case sensitivity issue with http header names. 2006-12-12 02:28:53 +00:00
Arvid Norberg e35fc5c4be refactored extensions and added a plugin interface. fixed file.cpp for windows 2006-11-14 00:08:16 +00:00
Arvid Norberg f0519e86e8 separated session from session_impl and made a real pimpl-class of it. Introduced the possibility to destruct the sessions async. 2006-10-11 14:02:21 +00:00
Arvid Norberg 7bc1214749 fixed strange User-Agent encoding in HTTP requests. Fixed bug in sequenced_download_threshold code 2006-09-03 22:59:54 +00:00
Arvid Norberg 5ef57265bf first version with DHT support. Limited pipelining used by url-seeds. Fixed one configuration problem on FreeBSD. 2006-08-01 15:27:08 +00:00
Arvid Norberg eef4ffa18c preliminary http proxy support for web seeds, bumped version number 2006-07-27 18:07:51 +00:00
Arvid Norberg 175fb8770b added peer_timeout and urlseed_timeout to session_settings, they control the timeout for peers and web seeds respectively. Added BitSlug to the projects page. Added more debug logging when resolving web seed hostnames. Updated documentation. 2006-06-28 23:27:44 +00:00
Arvid Norberg e6bb265d94 replaced http_settings with session_settings and introduced more settings 2006-05-20 23:24:19 +00:00
Arvid Norberg 41810b1166 merged back the asio development branch 2006-04-25 21:04:48 +00:00