Commit Graph

1467 Commits

Author SHA1 Message Date
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
Arvid Norberg 4b7eaf8cbe fixed connect candidate logic, to prefer peers with less failures 2007-12-24 08:17:32 +00:00
Arvid Norberg e0d1951fac fixes #234. properly shuts down the disk io thread 2007-12-24 08:15:10 +00:00
Arvid Norberg 44735a425f fix bitfield assert 2007-12-22 19:10:38 +00:00
Arvid Norberg 91ecbb4b23 prioritizes local peers over non-local ones when finding connect candidates 2007-12-22 18:20:23 +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 ba172954e6 accept have messages without having metadata and without having received a bitfield 2007-12-20 23:58:58 +00:00
Arvid Norberg 3b4cccf1dd fixed broken assert 2007-12-20 23:53:03 +00:00
Arvid Norberg d1311e2bb8 improved session logging 2007-12-19 21:36:54 +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 456f8f8677 fix to bound check piece index before use in incoming_allowed_fast 2007-12-18 04:40:19 +00:00
Arvid Norberg 5e6ef9dcb0 fixed typo in plugin 2007-12-16 22:43:24 +00:00
Arvid Norberg 68a388da19 piece picker fix (#228) 2007-12-16 01:35:42 +00:00
Arvid Norberg 0943c0d299 added more asserts to make sure m_num_pieces is >= the number of pieces the piece picker thinks we have 2007-12-15 22:51:03 +00:00
Arvid Norberg 7a2699823f removed debug output 2007-12-15 13:49:28 +00:00
Michael Wojciechowski bce53063ab Changed configure script to not to modify LIBS, when checking for dependencies. Changed libtorrent.pc.in again, since the libraries used were
wrong, because $LIBS was used. Corrected Makefile.am in test, examples and src.
2007-12-14 20:53:56 +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 7cae5f897b fixed http_connection error handling and improved http parser 2007-12-12 19:29:19 +00:00
Arvid Norberg 87512ea3cf dht fix 2007-12-10 20:49:42 +00:00
Arvid Norberg db082dd5d2 added asserts for total_wanted_done 2007-12-09 19:38:17 +00:00
Arvid Norberg 14c9c367b2 improved dht logging 2007-12-09 18:47:01 +00:00
Arvid Norberg c50d08f75f fixed bug in make_magnet_uri 2007-12-09 04:45:55 +00:00
Arvid Norberg 8c3f9571de socks5 support for udp messages 2007-12-09 04:15:24 +00:00
Arvid Norberg 7cccdcaa7b makefile fixes 2007-12-09 01:21:20 +00:00
Arvid Norberg fff87a6845 added m4 script for boost iostream and added ut_metadata to makefile 2007-12-08 22:02:59 +00:00
Arvid Norberg bd38a584cc removed debug output 2007-12-08 22:01:30 +00:00
Arvid Norberg cfc4638df5 fixed bug when trackers are removed from torrent 2007-12-07 21:53:33 +00:00
Arvid Norberg d695a44360 fixed bug where tracker wouldn't be announced when deleting files 2007-12-07 03:09:21 +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 b817412b90 fixed overflow bug in total_done() (as reported by MassaRoddel) 2007-11-30 06:14:45 +00:00
Arvid Norberg 02ed01d2c4 added first try of a mapped storage 2007-11-30 00:35:09 +00:00
Arvid Norberg bfc4be1ca5 fixed #27 2007-11-28 02:54:46 +00:00
Arvid Norberg e1d46c6821 fixed bug in socks5 implementation when using user/pass authentication 2007-11-28 00:14:08 +00:00
Arvid Norberg 1cc0118c9c supports retry for web seeds that respond with 503 2007-11-27 03:37:47 +00:00
Arvid Norberg 77cea2eafc added more asserts in session_impl::check_invariant 2007-11-27 02:46:19 +00:00
Arvid Norberg 254e4ffce4 added extra asserts in torrent 2007-11-26 23:08:59 +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 81b9d5b6ef made socks5 and socks4 streams ignore errors on close() 2007-11-25 19:09:00 +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 a981943ea2 fix build problem when building with dht logging 2007-11-25 11:14:53 +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 b00096ad33 lsd and dht usage improvements 2007-11-25 09:33:26 +00:00
Arvid Norberg d8537937c7 try to fix #103 2007-11-25 08:57:58 +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 29fa298d05 updated dht verbose logging to try to catch #176 2007-11-24 21:38:46 +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
Arvid Norberg 88e69d0edc fix for when lsd, upnp or nat-pmp is started more than once 2007-11-23 21:11:31 +00:00
Arvid Norberg 4585264706 added Miro to the identifiable clients 2007-11-22 02:29:44 +00:00