Commit Graph

801 Commits

Author SHA1 Message Date
Arvid Norberg 9d3b60edb7 added support to bind outgoing connections to specific ports (might be useful to do traffic shaping) 2008-02-28 07:34:07 +00:00
Arvid Norberg cf5c9344ab made peer connection order depend on ones external IP or be random (if we don't know our external IP). Should fix #281 2008-02-28 03:09:34 +00:00
Arvid Norberg c689c0b5fc replaced deque with list in disk_io_thread 2008-02-26 20:08:33 +00:00
Arvid Norberg 83f405ac54 followups to windows fixes 2008-02-25 11:27:23 +00:00
Arvid Norberg a25c25b02a fixed windows build and removed msvc warnings 2008-02-25 10:28:53 +00:00
Arvid Norberg c1c2fb4409 resume data unit test and fix 2008-02-25 05:07:29 +00:00
Arvid Norberg 9f44c577d7 updated file_win and file_pool error handling 2008-02-25 04:41:21 +00:00
Arvid Norberg 1d1398ed7f read cache fix 2008-02-24 23:14:10 +00:00
Arvid Norberg 0e3eddf8e8 lower default connection speed in debug mode 2008-02-22 07:41:05 +00:00
Arvid Norberg ef9ef674d5 added read cache. Not fully configurable yet 2008-02-22 04:11:04 +00:00
Arvid Norberg 333839c9b4 piece picker update 2008-02-18 03:07:14 +00:00
Arvid Norberg 799dd70c4e factored out OS detection code and added kfreebsd support 2008-02-18 00:36:17 +00:00
Arvid Norberg df74cbb78a fixed logging=errors configuration 2008-02-17 22:51:03 +00:00
Arvid Norberg 7e83c3fc51 changed storage interface to not require exceptions 2008-02-14 03:48:20 +00:00
Arvid Norberg af6c0a73c5 fixed dht asserts 2008-02-10 02:26:45 +00:00
Arvid Norberg 6c552db68e added disk cache expiration 2008-02-10 00:58:25 +00:00
Arvid Norberg cecd0dfcd2 added rtt estimation for outgoing connections 2008-02-09 22:42:56 +00:00
Arvid Norberg ea7253c575 increased default cache size to 8 MB 2008-02-09 21:09:29 +00:00
Arvid Norberg 99eed299cd asserts in dht 2008-02-09 21:04:24 +00:00
Arvid Norberg 8cf0510144 added disk cache for write operations 2008-02-08 10:22:05 +00:00
Arvid Norberg a53473a65d added new logging mode to log peer errors 2008-02-07 07:09:52 +00:00
Arvid Norberg 92f4947bbe full proxy support for udp-trackers, and more reliable udp tracker code 2008-02-05 06:32:10 +00:00
Arvid Norberg c798ab30e1 rewrote the piece picker to be more cpu and memory efficient. replaces the concept of sequential-download-threshold with just a sequential download settings 2008-01-31 17:52:29 +00:00
Arvid Norberg 3562c3e646 add bind address support to http_connection and replace http_tracker_connection's code with http_connection 2008-01-31 08:24:01 +00:00
Arvid Norberg 6caca17883 refactored gzip code and added gzip support to http_connection 2008-01-30 18:32:13 +00:00
Arvid Norberg ebde862341 capped the allowed depth in bencoded messages, to avoid triggering stack overflows by malformed messages 2008-01-28 02:58:17 +00:00
Arvid Norberg 61bbc6e58f initial https support for trackers and http_connection. Added support for proxies to http_connection 2008-01-27 22:39:50 +00:00
Arvid Norberg 5527a8e9b1 fixed build issue on msvc 2008-01-27 21:03:33 +00:00
Arvid Norberg 365b8c07c6 iterator fixes (to avoid triggering safe iterator asserts) 2008-01-19 18:12:02 +00:00
Arvid Norberg 127d3e6ad5 bandwidth limiter fixes. proper priority that cannot starve connections 2008-01-17 17:40:46 +00:00
Arvid Norberg 832c0c8b63 improved auto-unchoke mechanism 2008-01-15 08:37:48 +00:00
Arvid Norberg 97511f2819 removed stray space 2008-01-14 17:25:08 +00:00
Arvid Norberg b19bf337bf generalized peer read/write state 2008-01-13 23:46:43 +00:00
Arvid Norberg 5d196ed555 auto upload slots. opens up more slots if upload rate is not met. On by default 2008-01-13 11:18:18 +00:00
Arvid Norberg 795bee4b2c added option to disable invariant checks and added more build documentation 2008-01-13 06:17:56 +00:00
Arvid Norberg 9304bd747c added graphing script for bandwidth manager log 2008-01-13 05:14:49 +00:00
Arvid Norberg 56210c1687 added asserts to make sure the pool allocator for dht messages allocates blocks of correct size 2008-01-13 04:24:10 +00:00
Arvid Norberg 7cea96ea88 added TORRENT_VERBOSE_BANDWIDTH_LIMIT build option to generate a bandwidth manager log 2008-01-12 18:47:26 +00:00
Arvid Norberg 7f56486cf0 separated http_parser to its own file 2008-01-12 09:36:03 +00:00
Arvid Norberg 81302c8fed fixed http_connection redirection support and added test (still requires lighttp) 2008-01-12 01:41:56 +00:00
Arvid Norberg f36e6a6c4f proper default gateway discovery 2008-01-11 09:38:05 +00:00
Arvid Norberg 72edfc2ee7 improved network interface enumeration and upnp device filtering 2008-01-11 06:49:37 +00:00
Arvid Norberg 3a727e99ff expose more info through peer_info 2008-01-10 22:13:23 +00:00
Arvid Norberg 9fca960d3c bandwidth limiter mutex fix 2008-01-10 06:19:20 +00:00
Arvid Norberg c047c4dd71 broadcast socket header file update 2008-01-09 18:51:54 +00:00
Arvid Norberg 695cd6407b remove use of strand 2008-01-08 05:47:43 +00:00
Arvid Norberg 4420473b88 made send buffer watermark configurable 2008-01-08 01:16:30 +00:00
Arvid Norberg e05f396a5d made UPnP ignore devices that don't respond from a router IP (optional but on by default) 2008-01-07 05:48:28 +00:00
Arvid Norberg 1d6e0f5bf6 bandwidth request block size optimization 2008-01-07 04:47:20 +00:00
Arvid Norberg e5d1456c58 added a failcounter to upnp portmaps 2008-01-07 02:35:29 +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 0ed722036f fixed assert 2008-01-05 00:54:30 +00:00
Arvid Norberg a49cb42345 fixed race condition in bandwidth limiter 2008-01-03 18:53:07 +00:00
Arvid Norberg 29ccb9220b broadcast socket fix 2008-01-03 10:58:16 +00:00
Arvid Norberg 4e559e8dfe change to entry to support building client in debug mode and libtorrent in release mode 2008-01-03 03:10:25 +00:00
Arvid Norberg fcd2408f11 fast extension fix, added some logging for fast extension messages, improved test to catch the problem 2008-01-02 03:18:29 +00:00
Arvid Norberg ddf16fb3bb separated bandwidth_manager into bandwidht_limit and bandwidth_queue_entry and fixed problems related to #225 2007-12-31 09:41:50 +00:00
Arvid Norberg 07d1fe84c3 made udp and http tracker connections build without exception support 2007-12-30 01:57:57 +00:00
Arvid Norberg 6c42830f97 made http_parser not use exceptions 2007-12-29 18:24:50 +00:00
Arvid Norberg 599ed646f0 made natpmp build without exception support 2007-12-29 07:26:36 +00:00
Arvid Norberg a279e8c9ec made bandwidth_manager build without exceptions 2007-12-29 05:43:19 +00:00
Arvid Norberg 8b76457b80 support in broadcast_socket to be built without exception support 2007-12-29 05:14:33 +00:00
Arvid Norberg 07b4024024 made debug.hpp build without exception support 2007-12-29 02:03:13 +00:00
Arvid Norberg eb8ea0f461 made torrent_info not rely on exception support 2007-12-28 20:11:10 +00:00
Arvid Norberg 501611173e removed unused header 'packet_iterator.hpp' 2007-12-28 19:46:08 +00:00
Arvid Norberg e88bcaea90 made http_stream and proxy_base support builds with exceptions disabled 2007-12-28 19:26:26 +00:00
Arvid Norberg e6e5b43219 added asserts that the type of a bencoded entry is not assumed when built with no exceptions 2007-12-28 19:07:28 +00:00
Arvid Norberg cfe5c8962e more asserts around send buffers and fixes potential race condition 2007-12-27 21:43:11 +00:00
Arvid Norberg 8a47c849ce fix in the smart_ban to not use invalid pointers 2007-12-27 20:57:58 +00:00
Arvid Norberg b2a49d2db9 put back #include <cassert> 2007-12-27 10:50:12 +00:00
Arvid Norberg 904d9bb50b demangles symbols in assert tracebacks 2007-12-27 06:15:52 +00:00
Arvid Norberg 86de8b8bf6 turned assert into TORRENT_ASSERT 2007-12-27 03:43:02 +00:00
Arvid Norberg 81cf247cda attempt to fix #212. Store 4 bytes and 16 bytes arrays instead of in_addr in ip-filter 2007-12-24 21:49:46 +00:00
Arvid Norberg d5748419c1 fixed upnp bug when connecting without network 2007-12-24 08:18:53 +00:00
Arvid Norberg e0d1951fac fixes #234. properly shuts down the disk io thread 2007-12-24 08:15:10 +00:00
Arvid Norberg b23e9e3795 attempt to fix #201. Uses separate sockets to send broadcast messages in order to be sure to receive unicast responses 2007-12-22 17:33:04 +00:00
Arvid Norberg 1724ce5974 fixed bug in UPnP and added functionality to grab router model 2007-12-22 16:47:46 +00:00
Arvid Norberg e38c0c9cdc added bencoding function and updated ut_metadata extension 2007-12-22 08:15:05 +00:00
Arvid Norberg 9aa2ddec80 added a plugin 'smart_ban' that can ban peers sending bad data with higher accuracy 2007-12-18 06:04:54 +00:00
Arvid Norberg f6b34b7f0b added missing include guard to disk_io_thread.hpp 2007-12-17 22:07:03 +00:00
Arvid Norberg ac28fa7b62 some more asserts related to bandwidth manager 2007-12-14 18:02:06 +00:00
Arvid Norberg 948f53a8af assert fix 2007-12-14 06:09:44 +00:00
Arvid Norberg 9b54043478 attempt to fix potential deadlock in disk_io_thread 2007-12-13 04:05:25 +00:00
Arvid Norberg 07ad5d9796 bandwidth_manager assert fix 2007-12-10 18:13:57 +00:00
Arvid Norberg f06bf0d440 bandwidth manager fix 2007-12-09 18:44:26 +00:00
Arvid Norberg 8c3f9571de socks5 support for udp messages 2007-12-09 04:15:24 +00:00
Arvid Norberg a7f6e3bccb added abuse protection to DHT. nodes that hammer will be ignored 2007-12-04 02:53:10 +00:00
Arvid Norberg 20621cae02 added magnet-uri functions and a base32 decode function 2007-12-03 06:03:16 +00:00
Arvid Norberg a7b5250058 move url_has_argument to escape_string and added unit tests 2007-12-02 19:10:45 +00:00
Arvid Norberg 9727634f09 added base32encode and moved it into escape_string.hpp 2007-12-02 18:34:37 +00:00
Arvid Norberg f3d45fcfc1 initial support for ut_metadata 2007-12-02 04:16:51 +00:00
Arvid Norberg db0ae6bd7e increased default tracker timeout from 20 seconds to 40 seconds 2007-11-30 17:37:50 +00:00
Arvid Norberg 02ed01d2c4 added first try of a mapped storage 2007-11-30 00:35:09 +00:00
Arvid Norberg 1cc0118c9c supports retry for web seeds that respond with 503 2007-11-27 03:37:47 +00:00
Arvid Norberg c92fef5b69 simplified torrent_handle by using a macro and moving the big chunks of code into torrent (get_download_queue() and get_peer_info()) 2007-11-25 18:48:43 +00:00
Arvid Norberg 769d8aefe2 first version of 'part file' support. Can currently only be set when starting torrent 2007-11-25 10:47:05 +00:00
Arvid Norberg c18ae83146 added wait_for_alert() to session. If there is at least one alert in the queue, it returns the front one in the queue, if the queue is empty, it waits until a new alert is posted and returns that one, or returns 0 if the time expires first. 2007-11-25 08:18:57 +00:00
Arvid Norberg 81ce2e7890 reverted [1760] and added documentation for downloading_metadata 2007-11-24 04:19:21 +00:00
Arvid Norberg 3edcabd845 removed downloading_metadata state. Fixes #188 2007-11-24 03:24:31 +00:00
Arvid Norberg c929f4fb69 fix for systems where IPv6 sockets bound to INADDR_ANY also listens on IPv4 connections 2007-11-23 22:14:33 +00:00