Commit Graph

220 Commits

Author SHA1 Message Date
Arvid Norberg 71f5510d62 make the random function produce proper random distributions, based o… (#981)
make the random function produce proper random distributions, based on uniform_int_distribution of C++11. also clean up piece_picker's priority_range to return two results instead of taking pointers to out-parameters. fix recent pe-crypto regression exposed by this change
2016-08-06 13:18:48 -04:00
arvidn 83dba91168 use span for to_hex and from_hex functions 2016-07-29 18:42:18 -04:00
Arvid Norberg 4f803353cf transition part of http_parser to use span (#936)
transition parts of http_parser to use span
2016-07-24 00:52:20 -07:00
Alden Torres f57612b82d rename of aux::array_view to span (#933) 2016-07-22 09:31:42 -07:00
Arvid Norberg 6aabe3762b general modernization (#836)
general modernization. use nullptr instead of NULL, use std::tuple instead of boost::tuple, transition some unordered set/map from boost to std. some clean-up of includes
2016-06-20 11:32:06 -04:00
Arvid Norberg ed077c8358 use cstdint intead of boost/cstdint.hpp (#833)
use cstdint intead of boost/cstdint.hpp
2016-06-18 14:01:38 -04:00
Arvid Norberg ead11737b4 fix uses of defines for whether or not asserts are active (#832) 2016-06-18 08:31:07 -04:00
Arvid Norberg 8c8f5bb03b deprecated public to_hex() and from_hex() functions (#784) 2016-06-04 10:01:43 -04:00
Arvid Norberg 96999ad67f replace uses of boost::bind with std::bind and lambdas (#745) 2016-05-25 00:31:52 -04:00
Arvid Norberg e8380e1d0b factor out includes from config.hpp into the files actually using it. primarily, printf family of functions, since C++11 version is used now. This removes the need for an snprintf-wrapper on windows (#732) 2016-05-17 09:24:06 -04:00
Arvid Norberg f56c1f8b2f remove mutex from tracker_manager (#690)
remove mutex from tracker_manager
2016-05-02 22:22:13 -04:00
Arvid Norberg c91a700c07 Msvc warnings (#685)
fix msvc warnings and build examples with warnings-as-errors
2016-05-02 12:36:21 -04:00
Steven Siloti ff0675e64e use standard array container (#676) 2016-04-30 23:10:47 -04:00
Arvid Norberg 20b41ad0b9 Threads (#671)
use std::thread, std::mutex, std::condition_variable instead of pulling them in from boost.asio internals.
2016-04-30 18:54:23 -04:00
Arvid Norberg 5f5aa2361e use array_view more along the udp packet paths (#655) 2016-04-28 08:20:10 -04:00
Arvid Norberg 7251575d98 This patch does: (#633)
1. simplifies and regularizies creation of listen sockets based on the listen
   interfaces setting.
2. simplifies and improves the behavior of UDP sockets, which are now explicitly
   opened per listen interface
3. transitions udp tracker, DHT and uTP socket manager over to using the new
   udp sockets
4. greatly simplified udp_socket to only wrap a single underlying socket (as
   opposed to one IPv4 and IPv6 socket)
5. improved behavior of bind-to-device
6. introduce an array_view type to make udp packet passing code simpler
7. simplify and make setting of DF flag more robust
8. simplify and regularize port mapping of listen sockets
2016-04-24 15:26:28 -04:00
Arvid Norberg c9c6dd2d3b clean up the annotations used for asio debugging (#639)
clean up the annotations used for asio debugging (tracking outstanding async operations)
2016-04-23 17:29:25 -04:00
arvidn 1f9f588e75 merge copyright year update and changelog from RC_1_0 2016-01-17 18:57:46 -05:00
arvidn 0d9d632465 initial support for disabling proxy for tracker connections 2015-08-29 19:44:54 -04:00
arvidn a42f9e0c63 fix more warnings 2015-08-22 00:28:12 +02:00
arvidn 9a0092c120 fix some warnings 2015-08-16 12:17:23 -04:00
arvidn 16bb2de6ed fix some warnings 2015-08-13 23:52:25 -04:00
Mikhail Titov df21a7e8ce Use scrape & i2p bitset flags for request 2015-07-14 14:13:10 -05:00
arvidn 389ffc622c don't pull in the asio namespace in libtorrent. refer to it by boost::asio 2015-06-06 01:24:25 -04:00
Arvid Norberg d43f7b56a2 update copyright year 2015-06-03 05:18:48 +00:00
Arvid Norberg e7d369646d fix gcc warnings 2015-05-18 01:30:32 +00:00
Arvid Norberg 2bf4519bee make the torrent hold a pointer to the ip_filter instead of relying on a session reference 2015-05-16 06:33:37 +00:00
Arvid Norberg 3951377d95 fix include paths for warning push and pop headers 2015-04-21 01:16:28 +00:00
Arvid Norberg 408232cfc8 raise warning level. fix a few of them. filter out warnings from boost 2015-04-18 02:33:39 +00:00
Arvid Norberg 1faf2e201f inversed TORRENT_LOGGING build config to enable logging by default. It's now disabled by TORRENT_DISABLE_LOGGING 2015-04-17 01:15:33 +00:00
Arvid Norberg 794de25212 moved escape_string.hpp into the aux_ directory. moved out the 3 public hex functions into its own public header, hex.hpp 2015-03-14 23:10:20 +00:00
Arvid Norberg c1dc982f4f deprecate the ptime type and related time types. just use boost::chrono / std::chrono 2015-03-12 04:34:54 +00:00
Arvid Norberg 01ee9cd9af more work on piece_picker unit test 2015-02-12 06:43:46 +00:00
Arvid Norberg 1b9b6f7292 support http basic auth in http_connection passed in from the outside as opposed to part of the url 2015-02-08 16:03:09 +00:00
Arvid Norberg 2a0789594d fix linux build 2015-02-08 00:59:54 +00:00
Arvid Norberg 9b91508c38 clean up session_interface and tracker_manager a bit. work on making tracker_manager more testable 2015-02-01 14:30:43 +00:00
Arvid Norberg 2943bd4d7d make test_privacy more reliable 2015-01-14 01:59:23 +00:00
Arvid Norberg d140d71e1a extend logging of UDP tracker announces (to track down unit test flapping) 2015-01-13 21:34:43 +00:00
Arvid Norberg 7d53b7efd3 fix merge error 2014-12-30 16:56:03 +00:00
Arvid Norberg fcf6beace5 merged changes from RC_1_0 2014-12-30 09:02:20 +00:00
Arvid Norberg ae04b80fe1 cancel non-critical DNS lookups when shutting down, to cut down on shutdown delay 2014-12-17 02:44:27 +00:00
Arvid Norberg 09bc1550e9 simplify the debug logging mechanism. There's now only one build option, logging=on or logging=off. When logging is enabled, the log level is controlled by the alert mask. All log events are delivered as alerts and it's up to the client to write them to disk in whatever way seems appropriate. removed the pointless logger plugin 2014-12-09 09:08:26 +00:00
Arvid Norberg bb3e399ce2 convert endpoint list into vector in udp_tracker_connection 2014-10-21 20:49:36 +00:00
Arvid Norberg 14c9bd90d3 fix bug in setup_transfer (for unit tests). fix verbose logging build. make sure test_pex is reliable 2014-10-21 02:08:46 +00:00
Arvid Norberg 9b37efe6a8 first steps towards removing session_impl dependency from tracker connections, to improve their testability 2014-10-21 00:28:51 +00:00
Arvid Norberg ffb66ec156 transition tracker_connections to use shared_ptr instead of intrusive_ptr. optimize udp tracker connection lookups by using unordered map instead of linear search. 2014-10-20 20:44:05 +00:00
Arvid Norberg ceccc2a483 land branch to remove half-open connection limit / connection queue 2014-10-03 20:56:57 +00:00
Arvid Norberg 8664ff97aa optimize tracker_manager interface to avoid rendering and parsing strings for each peer-ip 2014-09-28 06:36:03 +00:00
Arvid Norberg 7351389ce8 land libtorrent_aio branch in trunk 2014-07-06 19:18:00 +00:00
Arvid Norberg 6ef1b98717 merged compiler warning fixes from RC_1_0 2014-07-05 14:10:25 +00:00
Arvid Norberg 6043e14131 remove pch.hpp 2014-06-28 23:45:46 +00:00
Arvid Norberg a943fec777 update copyright 2014-02-23 19:12:25 +00:00
Arvid Norberg 4e6b1cfbfb update copyright 2013-12-25 17:07:16 +00:00
Arvid Norberg 5812e8415d merged fix from RC_0_16 2013-11-02 23:08:26 +00:00
Arvid Norberg 50ecb07d19 merged silencing of warnings from RC_0_16 2013-06-14 16:41:47 +00:00
Arvid Norberg ba6770ccd8 more torrent parsing unit tests 2013-02-26 05:57:29 +00:00
Arvid Norberg 7607f20e2a add per-tracker scrape information to announce_entry 2013-02-04 07:17:31 +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 81ccc1e2e0 remove unused member in udp_tracker_connection 2012-11-29 06:27:25 +00:00
Arvid Norberg 7f28c05161 merged udp tracker fix from RC_0_16 2012-10-17 15:54:38 +00:00
Arvid Norberg bff648a89e update copyright dates and add tool to do so 2012-10-02 03:16:33 +00:00
Arvid Norberg 4270ece01a merge fix from RC_0_16 2012-10-01 02:19:00 +00:00
Arvid Norberg acdb647eca merged udp tracker fix from RC_0_16 2012-10-01 00:13:58 +00:00
Arvid Norberg 5e2ff1a246 merged logging cleanup from RC_0_16 2012-09-27 23:04:51 +00:00
Arvid Norberg fdb89b6d7b new, proper, udp tracker extension 2012-09-18 02:03:24 +00:00
Arvid Norberg 43e9270363 extend the UDP tracker protocol to include the request string from the tracker URL 2012-08-23 21:02:09 +00:00
Arvid Norberg 7a50255865 improved struct layout debug logging and optimized some structs 2011-09-21 09:27:07 +00:00
Arvid Norberg 9d0b99480b fix ip filter exemption for trackers. also add a global setting to always exempt trackers 2011-03-04 06:55:39 +00:00
Arvid Norberg ab3b82b8ee replaced std::rand() with custom random generator 2011-02-26 07:55:51 +00:00
Arvid Norberg ca106ca4e0 some warning fixes and cleanup 2011-02-24 04:25:35 +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 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 606796841f added comment 2010-10-07 01:05:53 +00:00
Arvid Norberg 3fb9fcab9e full support for bep-21 (event=paused) 2010-09-06 04:02:15 +00:00
Arvid Norberg bdee276a98 fixed proxy support for udp trackers 2010-08-20 07:01:11 +00:00
Arvid Norberg fd5f1bf80b improved SOCKS5 support 2010-08-03 09:08:37 +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 cdf05a9c9c moved UDP trackers over to use a single socket 2010-05-30 01:33:03 +00:00
Arvid Norberg 056b53ee08 fixed bug in udp tracker scrape response parsing 2010-05-08 20:51:26 +00:00
Arvid Norberg dce2edb6cc fixed vs 2010 build 2010-04-30 19:08:16 +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 2910a4a10c dropped dependency on zlib 2010-03-16 06:14:22 +00:00
Arvid Norberg beca9b3da5 build fix 2010-03-02 09:12:34 +00:00
Arvid Norberg 0952dd48f6 fixed udp tracker race condition 2010-03-02 09:04:27 +00:00
Arvid Norberg aa5fc72fbf made tracker errors use error_code 2010-02-23 21:53:45 +00:00
Arvid Norberg b96e0a448e udp socket debugging and asserts 2010-02-21 20:15:07 +00:00
Arvid Norberg 09a1023eb3 fixed issue with UDP over SOCKS5. Added a udp tracker to the unit test to make sure it works. Added tracker tests for all proxies 2010-02-18 04:37:02 +00:00
Arvid Norberg 78363cc05d local service discovery fixes 2010-02-13 16:29:17 +00:00
Arvid Norberg 8c02d04d2e UDP tracker optimization 2010-02-06 08:14:18 +00:00
Arvid Norberg 1e654220fa added support for min_interval 2009-12-02 04:05:24 +00:00
Arvid Norberg 6343fe6a6d optimized header dependencies to lower build time 2009-11-23 08:38:50 +00:00
Arvid Norberg 9b15c11740 don't send stats to trackers received through tracker exchange 2009-09-25 18:17:59 +00:00
Arvid Norberg 6d01cb475c msvc build fixes 2009-09-06 00:57:01 +00:00
Arvid Norberg 32d1bdcf01 removed unused enums 2009-06-27 21:36:31 +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 437cb94fd0 improved IPv6 support by announcing twice when necessary 2009-05-15 21:23:41 +00:00
Arvid Norberg 4476a44160 fixed debug logging bug 2009-04-24 17:04:20 +00:00
Arvid Norberg aba5b2e9d0 dropped some iostream dependencies 2009-04-04 09:52:25 +00:00