Commit Graph

1523 Commits

Author SHA1 Message Date
Arvid Norberg f8b2b60634 fixed bug in dht routing table. added unit test to trunk 2008-03-16 03:52:13 +00:00
Arvid Norberg 0c3e64b231 fixed potential upnp crash 2008-03-15 16:07:49 +00:00
Arvid Norberg ab2354c9b4 small optimization to previous fix 2008-03-14 17:43:38 +00:00
Arvid Norberg 2cfbfd203f made tests build and pass in trunk. fixed issues in trunk revealed by the tests. fixed failing torrent invariant check in trunk and rc0.13 2008-03-14 10:17:27 +00:00
Arvid Norberg 8132c6aad6 added option to control TOS byte in peer traffic 2008-03-12 16:58:23 +00:00
Arvid Norberg 5173c7fe31 more invariant check in peer connection 2008-03-12 08:36:22 +00:00
Arvid Norberg 0e4d62497b fixed typo in previous check-in 2008-03-12 07:56:45 +00:00
Arvid Norberg cd65fb8b0c added priority to connection queue. trackers and upnp connections have higher priority than peers 2008-03-12 07:44:27 +00:00
Arvid Norberg e5c77c284a reverted last check in 2008-03-12 05:03:35 +00:00
Arvid Norberg 8eced5863c fixed include issue in entry.cpp 2008-03-12 04:42:51 +00:00
Arvid Norberg e5a98d1b7e more invariant checks in disk_io_thread 2008-03-10 08:19:31 +00:00
Arvid Norberg a97be6937a unchoker counts bytes instead of rates 2008-03-10 03:30:01 +00:00
Arvid Norberg f53cfa7eeb removed checker thread 2008-03-08 06:06:31 +00:00
Arvid Norberg e3c5001e80 fixed FreeBSD build. #284 2008-03-04 04:29:03 +00:00
Arvid Norberg 6728314406 cleaned up a rule in disconnect_one_peer 2008-03-04 03:52:08 +00:00
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 35c113c0cb piece request fix + better logging of throttling 2008-02-27 20:37:41 +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 a20a8d2522 udp tracker fixes 2008-02-25 08:50:07 +00:00
Arvid Norberg 8a14f829b4 removed debug output 2008-02-25 08:42:13 +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 480b63b516 improved tracker error messages 2008-02-25 00:55:31 +00:00
Arvid Norberg 1d1398ed7f read cache fix 2008-02-24 23:14:10 +00:00
Arvid Norberg 19462007d1 read cache fix 2008-02-22 08:22:57 +00:00
Arvid Norberg 682a5f85f9 fixed crash bug in storage 2008-02-22 06:09:30 +00:00
Arvid Norberg 5259d827b6 exception safety fixes to entry.cpp 2008-02-22 04:54:43 +00:00
Arvid Norberg ef9ef674d5 added read cache. Not fully configurable yet 2008-02-22 04:11:04 +00:00
Arvid Norberg bf7552a4cd merged upnp fixes from trunk to RC_0_13. Added some upnp logging 2008-02-19 18:50:04 +00:00
Arvid Norberg 01c6300d51 another piece picker fix (fixes some logic mistakes from last piece picker update) 2008-02-18 20:55:03 +00:00
Arvid Norberg 333839c9b4 piece picker update 2008-02-18 03:07:14 +00:00
Arvid Norberg 5c14ec2eb1 made fastresume data not contain failed peers 2008-02-18 03:04:06 +00:00
Arvid Norberg 799dd70c4e factored out OS detection code and added kfreebsd support 2008-02-18 00:36:17 +00:00
Arvid Norberg 0c51e822f5 fixes #270 2008-02-17 23:49:03 +00:00
Arvid Norberg df74cbb78a fixed logging=errors configuration 2008-02-17 22:51:03 +00:00
Arvid Norberg b6493bb4ef fixed typo 2008-02-17 20:57:16 +00:00
Arvid Norberg ea1ce8172f Fixed preprocessor directive error. Fixes #273 2008-02-17 20:42:56 +00:00
Arvid Norberg f1ceb44dc4 fixed assert. #271 2008-02-17 20:40:21 +00:00
Arvid Norberg 9a7e26b280 mapped storage fix 2008-02-17 20:30:24 +00:00
Arvid Norberg d334022216 fixes to mapped storage 2008-02-16 16:40:03 +00:00
Arvid Norberg 7e83c3fc51 changed storage interface to not require exceptions 2008-02-14 03:48:20 +00:00
Arvid Norberg 948b2bafe6 made it work properly when building with stats logging 2008-02-12 08:34:57 +00:00
Arvid Norberg c5fd5ecfb4 removed 'adler32' key from fastresume, since it was implemented with blocking I/O 2008-02-11 07:18:28 +00:00
Arvid Norberg 601b7571f5 added asserts to piece picker around num_peers() 2008-02-11 06:52:40 +00:00
Arvid Norberg c9b53ddf8c allow negative and zero values for session_settings::connection_speed 2008-02-11 03:55:53 +00:00
Arvid Norberg 752149e341 fixed bug in write cache flush logic 2008-02-10 20:36:48 +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 221cdf2bf8 fixed error handling in pe-crypto 2008-02-09 21:14:49 +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 a16d592ff4 handles lack of 'adler32' key in fast resume data 2008-02-09 19:51:23 +00:00
Arvid Norberg 8cf0510144 added disk cache for write operations 2008-02-08 10:22:05 +00:00
Arvid Norberg 196f9c3544 http_tracker connection fix 2008-02-07 07:15:23 +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 5d4d08b7ce fix problem introduced with new piece picker 2008-02-05 05:57:32 +00:00
Arvid Norberg 1c82ef36d8 improved support for out-of-memory conditions 2008-02-05 05:51:05 +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 684bade8ea fixed hard coded pad size (for encrypted connections) to be properly randomized 2008-01-31 06:34:43 +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 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 69f9a5b5fc fixed http_parser to build on windows 2008-01-27 22:00:14 +00:00
Arvid Norberg 5527a8e9b1 fixed build issue on msvc 2008-01-27 21:03:33 +00:00
Arvid Norberg 6913ae823b fixed #257 2008-01-27 20:00:56 +00:00
Arvid Norberg afe6d95169 fixed http proxy (with authentication) bug 2008-01-26 18:48:00 +00:00
Arvid Norberg 442998f06d applied patch from and fixed #252, write_resume_data no longer throws when it shouldn't 2008-01-26 07:41:51 +00:00
Arvid Norberg 7faa922dc5 fixed #255. write_resume_data does no longer throw if there are IPv6 addresses without having IPv6 installed on windows 2008-01-26 07:31:33 +00:00
Arvid Norberg 8b455be1d9 better exception handling and more invariant checks 2008-01-19 19:00:54 +00:00
Arvid Norberg 365b8c07c6 iterator fixes (to avoid triggering safe iterator asserts) 2008-01-19 18:12:02 +00:00
Arvid Norberg 5ff6708b3d made it build without dht support 2008-01-18 02:02:18 +00:00
Arvid Norberg afa6fd97a3 max connections limit fix 2008-01-18 01:29:28 +00:00
Arvid Norberg 4f99230c74 auto unchoke improvement 2008-01-17 21:34:00 +00:00
Arvid Norberg 4a92dae541 fixed typo 2008-01-17 21:25:19 +00:00
Arvid Norberg 4b3ba58ad2 disconnect all fix 2008-01-17 20:03:59 +00:00
Arvid Norberg 127d3e6ad5 bandwidth limiter fixes. proper priority that cannot starve connections 2008-01-17 17:40:46 +00:00
Arvid Norberg c69fa07e2d error handling fixes 2008-01-16 21:07:04 +00:00
Arvid Norberg 832c0c8b63 improved auto-unchoke mechanism 2008-01-15 08:37:48 +00:00
Arvid Norberg f7d34794a9 improved error handling 2008-01-14 23:51:04 +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 3f4474caba per torrent bandwidth limiter fix 2008-01-13 22:27:33 +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 f48ded8a54 fast extension fix 2008-01-13 09:33:00 +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 869ee735aa made enum_net build on mac again 2008-01-12 09:35:11 +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 388949014f handles (ignores) errors when allocating files 2008-01-11 20:04:38 +00:00
Arvid Norberg c23539b272 made it build on linux. No linux implementation for getting default route yet 2008-01-11 10:18:14 +00:00
Arvid Norberg f36e6a6c4f proper default gateway discovery 2008-01-11 09:38:05 +00:00
Arvid Norberg 1f99a1d98d fixes to make enum_net.cpp actually work 2008-01-11 07:56:52 +00:00
Arvid Norberg 72edfc2ee7 improved network interface enumeration and upnp device filtering 2008-01-11 06:49:37 +00:00
Arvid Norberg b5dedccb70 made trunk build on windows (mapped storage doesn't work right yet though) 2008-01-11 06:35:34 +00:00
Arvid Norberg 616a48b591 fix to count loopback connections as local peers 2008-01-11 05:40:19 +00:00
Arvid Norberg 471d81394d added invariant check 2008-01-10 22:44:32 +00:00
Arvid Norberg 3a727e99ff expose more info through peer_info 2008-01-10 22:13:23 +00:00
Arvid Norberg 150d3d1abc broadcast socket updates (better upnp support) 2008-01-09 18:51:15 +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 0dfb129b57 another failcount update fix 2008-01-07 04:07:31 +00:00
Arvid Norberg e5d1456c58 added a failcounter to upnp portmaps 2008-01-07 02:35:29 +00:00
Arvid Norberg 28b90cb702 broadcast socket fix 2008-01-07 02:33:45 +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 4271eda751 correctly increase the failcounter when appropriate 2008-01-07 00:33:20 +00:00
Arvid Norberg 8468f0ab5f improved tracker logging 2008-01-06 22:14:00 +00:00
Arvid Norberg 263c2ae2c9 fixed broken udp-tracker support 2008-01-06 20:18:44 +00:00
Arvid Norberg b37f011626 fix for #244 2008-01-06 18:35:39 +00:00
Arvid Norberg e6e051e7c5 improves logic to handle slightly broken .torrent files and added tests 2008-01-06 07:35:32 +00:00
Arvid Norberg 1c816fa608 removes peers from bandwidth request queue when disconnecting 2008-01-06 00:58:51 +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 8f019bec8e attempt to make smart_ban.cpp build on windows 2008-01-02 17:12:33 +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 91e01442e8 added bandwidth_limit.hpp and bandwidth_queue_entry.hpp to makefiles 2008-01-01 21:15:23 +00:00
Arvid Norberg 9d2c0e370e fixed broken assert 2007-12-31 10:11:10 +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 e45e6af107 made ut_pex not rely on exceptions 2007-12-30 09:41:26 +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 010d5631a4 made udp_socket not use exception 2007-12-29 23:47:51 +00:00
Arvid Norberg ed4b39a2cc made http_connection build without exception support 2007-12-29 23:37:50 +00:00
Arvid Norberg 9e421b2945 made lsd build without exception support 2007-12-29 23:30:39 +00:00
Arvid Norberg 2050b03727 made upnp build without exception support 2007-12-29 23:14:59 +00:00
Arvid Norberg e528577e65 made connection queue build without exception support 2007-12-29 22:45:42 +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 ae0e53820b added missing return statement 2007-12-29 07:16:36 +00:00
Arvid Norberg 1e20940c31 made tracker_manager build without exception support 2007-12-29 06:13:49 +00:00
Arvid Norberg 588d59b9f2 made escape_string build without exception support 2007-12-29 01:35:50 +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 bc656acebb fix limiting incoming connections to torrent limit 2007-12-27 10:19:36 +00:00
Arvid Norberg e1b1123c48 made memdebug work. include script to generate graph 2007-12-27 06:37:18 +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 5e089f01d6 memdebug fixes 2007-12-26 05:02:55 +00:00
Arvid Norberg 5b4e23712d first draft for memory debugging instrumentation 2007-12-26 04:44:25 +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