Commit Graph

777 Commits

Author SHA1 Message Date
Arvid Norberg c22c55feda dht fix 2007-03-02 21:40:18 +00:00
Arvid Norberg 966ba81be0 fixed gcc warning on initialization order 2007-03-02 20:39:23 +00:00
Arvid Norberg 7e3a415d0b made the trackers pick the most suitable interface to connect to (IPv6/Ipv4 issue). added Mono Torrent to identify_client and dht statistics. 2007-03-02 18:40:02 +00:00
Arvid Norberg be574bcc33 removed old commented out code. polished client_test output 2007-03-02 06:49:00 +00:00
Arvid Norberg 8f1128f540 more dht fixes. polished client test output some 2007-03-02 05:02:12 +00:00
Arvid Norberg 83c2039ff7 fix to previous dht fix. removed some deprication warnings on msvc-8. various fixes 2007-03-02 01:16:59 +00:00
Arvid Norberg c40a75f844 IPv6 fixes 2007-02-27 17:21:46 +00:00
Arvid Norberg bb0b8c9d95 improved unit test for storage, modified move_storage to hopefully fix a bug. updated Changelog. 2007-02-25 21:11:29 +00:00
Arvid Norberg 10068634f8 fix for typo in previous checkin 2007-02-25 09:44:08 +00:00
Arvid Norberg 7888b72e12 fix for crashes when stopping or restarting DHT 2007-02-25 09:42:43 +00:00
Arvid Norberg fcc9c49608 fixed issue with metadata-less torrents and their statistics updates 2007-02-25 05:20:14 +00:00
Arvid Norberg de37f48179 fixed bug where multi-file torrents with just a single file in left directories after storage::move_storage was called 2007-02-21 22:49:01 +00:00
Arvid Norberg b0ae8d3a14 tracker fixes for trackerless torrents 2007-02-21 17:15:47 +00:00
Arvid Norberg 11b44fd286 fixed typo in previous check in 2007-02-21 03:05:25 +00:00
Arvid Norberg 4b66454a38 another fix for closing torrentless torrents 2007-02-20 22:58:31 +00:00
Arvid Norberg 9c7e0576bd improved verbose logging of http seed connections 2007-02-20 17:38:07 +00:00
Arvid Norberg 3fc73cb219 added a web seed test (requires manual environment setup for web server). fixed bug in torrent_info where file offsets could be left uninitialized. Fixed bug in torrent which would cause a crash in case a torrent without any trackers would be aborted. 2007-02-20 01:42:12 +00:00
Arvid Norberg 4f86042b97 bandwidth management fix + improved string conversion fallback in case strings are incorrect in torrent 2007-02-19 23:06:20 +00:00
Arvid Norberg f5fe27e691 bandwidth management fix + fix to http tracker connection request builder 2007-02-19 21:24:48 +00:00
Arvid Norberg 9c0e9701d9 fix for bug in bandwidth throttler when limiting a torrent to lower than bandwidth block size. Fixed #ifndef related to DHT support 2007-02-19 00:01:39 +00:00
Arvid Norberg 889ad70cee fixes for metadata-less torrents, and fixes for peer requests 2007-02-15 03:03:50 +00:00
Arvid Norberg 14cb23cec2 tracker announces will always request 50 peers, unless it's stopped 2007-02-12 22:45:23 +00:00
Arvid Norberg 6a47eb501e fixed problem with torrents that were paused not getting any upload slots or connection quota once the were unpaused 2007-02-12 18:21:14 +00:00
Arvid Norberg f795be7acf made the dht be a fallback by default, fixed glitch in earlier fix to make sure block requests are sent properly, fixed problem in peer_connection::second_tick if the piece picker was removed because of the torrent becoming a seed 2007-02-12 09:20:49 +00:00
Arvid Norberg a3bf238143 fixed typo in previous checkin and updated AUTHORS 2007-02-12 05:56:29 +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 0019e9a2fb fixed illegal iterator dereference 2007-02-05 17:10:34 +00:00
Arvid Norberg 8d5e14d557 fixed race condition when fast resume data was being checked 2007-02-04 02:08:46 +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 1a0547a15c removed chat extension code that was commented out 2007-01-30 22:40:21 +00:00
Arvid Norberg 05f4ce5b6c fixed potetial deadlock in bandwidth manager. Fixed http-tracker requests that are sensitive to existing arguments in url (avoids duplicates and doesn't replace arguments) 2007-01-30 17:56:42 +00:00
Arvid Norberg 6cb914b62f removed invariant_check() left in by mistake 2007-01-29 17:56:59 +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 c2a032be7a fix for use with latest version of asio 2007-01-29 07:37:32 +00:00
Arvid Norberg 69ef67d71e made a common base class for torrent alerts. Made the bandwidth quota block size variable depending on the limit 2007-01-16 05:05:52 +00:00
Arvid Norberg cfb238886d added lines that were removed by mistake 2007-01-11 02:59:38 +00:00
Arvid Norberg 50123405fd added missing sourcefile 2007-01-10 17:36:21 +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 327f820292 correction of previous fix 2007-01-07 13:55:27 +00:00
Arvid Norberg b62d54948c may have fixed another exception caused when the network cable is plugged 2007-01-07 13:27:55 +00:00
Arvid Norberg 03bb4121ad generates a tracker message when a http-response redirects to another url 2007-01-05 02:08:48 +00:00
Arvid Norberg 56a7fc35bc may have fixed a problem with an uncaught exception when the network plug is pulled 2007-01-04 15:44:23 +00:00
Arvid Norberg 726aa89434 fixed typo 2007-01-03 11:43:00 +00:00
Arvid Norberg 08e15e2f0c updated Makefile for latest asio, fix in peer exchange, updated client_test output 2007-01-02 17:44:15 +00:00
Arvid Norberg 442039ea28 updated changelog added Xtorrent to identify_client 2007-01-02 14:23:32 +00:00
Daniel Wallin 39b977973f Added accessor functions for upload_rate_limit and download_rate_limit 2007-01-01 23:51:24 +00:00
Arvid Norberg 0f3874028b added btgdaemon to identify client and applied wojci's patch to add num_connections() and num_uploads() to session 2007-01-01 21:04:30 +00:00
Arvid Norberg 373b18233a reverted some bad changes 2007-01-01 11:54:31 +00:00
Arvid Norberg 45864b15ec fixed incorrect assert in bytes_done() 2006-12-31 14:48:18 +00:00
Arvid Norberg d58c6d2e31 fixed so that both session constructors initializes boost.filesystem. Fixed the case where the file check throws exceptions, the torrent is no longer removed, but paused 2006-12-30 23:02:21 +00:00
Arvid Norberg a78ef76592 commented out an expensive invariant check. Fixed http parser to accept responses with only LF (and not CRLF) 2006-12-29 23:40:56 +00:00
Arvid Norberg d50ab33855 added clients to identify_client and a minor fix 2006-12-27 15:14:17 +00:00
Arvid Norberg c69479a166 fixed the cause of an inconsistency in the piece picker and the torrent 2006-12-22 00:45:43 +00:00
Arvid Norberg f83db0a423 consistency fixes related to shutting down 2006-12-21 22:20:28 +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 c32dd33a2d commented out an expensive invariant check 2006-12-18 01:24:35 +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 2ebff76caa fixes 2006-12-16 03:55:20 +00:00
Arvid Norberg 80bcbdf044 fixed typo 2006-12-16 03:36:33 +00:00
Arvid Norberg cf4aa6d6e1 added more asserts related to the invariance between the peer connections' request queue and the piece picker 2006-12-16 03:34:56 +00:00
Arvid Norberg 400a2fe82a added more asserts related to the invariance between the peer connections' request queue and the piece picker 2006-12-16 02:19:53 +00:00
Arvid Norberg 0bad3bcc48 fixed typos 2006-12-15 23:24:40 +00:00
Arvid Norberg 4c78274897 added more asserts in bytes_done() 2006-12-15 23:22:40 +00:00
Arvid Norberg 13facbdb83 added a strand for all async operations for thread safety 2006-12-15 17:47:21 +00:00
Arvid Norberg c567d06406 some asserts 2006-12-15 12:29:47 +00:00
Arvid Norberg 79ebcf5dd8 modified the hueristic for taking over blocks slightly, added logging 2006-12-15 10:42:56 +00:00
Arvid Norberg 1271334f95 fix 2006-12-15 09:38:52 +00:00
Arvid Norberg 16b7898de9 added some asserts 2006-12-15 02:26:11 +00:00
Arvid Norberg 9e27e33c99 added some asserts and updated changelog 2006-12-14 16:12:31 +00:00
Arvid Norberg 400aeaa347 fixed bug in sending announce messages 2006-12-14 00:54:37 +00:00
Arvid Norberg ef9c2aba66 fixed bugs introduced in the http tracker refactoring and the fastresume data writer when the piece picker was deallocated, reported by Massaroddel 2006-12-12 12:56:18 +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 fcf20c7c0c invariant check fixes 2006-12-11 15:43:27 +00:00
Arvid Norberg f0e97d5aff fixes and asserts partly related to the freeing of the piece picker 2006-12-11 12:48:33 +00:00
Arvid Norberg d10f06059d fix related to the recent piece_picker optimization 2006-12-05 23:53:56 +00:00
Arvid Norberg e49934f236 fixed typo 2006-12-04 20:46:38 +00:00
Arvid Norberg ef235faede added MLDonkey to identify client, fixed a problem introduced with the recent piece_picker optimization, choked peers should now waste less bandwidth in the quota management. 2006-12-04 20:42:47 +00:00
Arvid Norberg 90feac8126 deallocates the piece picker when seeding, to free up unused memory 2006-12-04 12:20:34 +00:00
Arvid Norberg 4f68ca55dc fixed incorrect change in earlier check-in 2006-11-30 20:40:41 +00:00
Arvid Norberg 947df91b20 improved support for multiple connections per ip 2006-11-30 11:56:19 +00:00
Arvid Norberg ce9eed5ea1 fixed incorrectly named members of session_status, fixed compilation error in ut_pex, documentation updates 2006-11-28 18:18:37 +00:00
Arvid Norberg b63c155c0d added uTorrent Peer exchange support, implemented by MassaRoddel 2006-11-26 17:44:51 +00:00
Arvid Norberg f56cd20a1e only sends the local listen port in the extension message for outgoing connections 2006-11-26 17:44:15 +00:00
Arvid Norberg 93b51d7652 more tweaks on quota management 2006-11-24 16:59:47 +00:00
Arvid Norberg c5cf290f49 more quota management fixes and more stats for web seeds 2006-11-24 14:22:52 +00:00
Arvid Norberg 0abb46e794 fixed extension bug, where 0-pointers would be added the the extension list 2006-11-23 16:21:45 +00:00
Arvid Norberg 1015864eeb fixed division by zero problem in allocate_resources, removed incorrect asserts 2006-11-22 12:15:47 +00:00
Arvid Norberg 8e289bb233 improved logging and fixed glitch in quota management. 2006-11-21 15:51:28 +00:00
Arvid Norberg d90f833eed fixed problem in quota management for upload and download bandwidth 2006-11-21 00:42:52 +00:00
Arvid Norberg 68e8ea35ea added logging of upload and download statistics, revised some of the quota management, added support for sessions to allocate_resources (patch by wojci) 2006-11-20 21:03:58 +00:00
Arvid Norberg c52de08421 added more logging and modified the resource allocation algorithm. A new, looser, upload and download bandwidth limiter is now used, in order to be able to use more of the available bandwidth 2006-11-19 15:29:58 +00:00
Arvid Norberg 01f1d01d58 improved logging, fixed option to allow multiple connections from the same IP 2006-11-15 21:39:58 +00:00
Arvid Norberg 51e3261dd0 the file pool has been moved to the session and its size can be controlled via session_settings. Added untested option to allow multiple connections from the same IP. 2006-11-14 15:53:38 +00:00
Arvid Norberg 247b8ae443 removed temporary assert and factored file_pool out of storage to prepare for a per session file pool 2006-11-14 13:36:10 +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 7bff835cdd fixed problem when sending messages to oneself fails in the dht 2006-10-27 01:56:01 +00:00
Arvid Norberg 340d8a1cbc removed incorrect assert hit when rebinding the dht service port 2006-10-24 11:52:30 +00:00
Arvid Norberg 1805beaaec added Deluge client id 2006-10-18 04:04:34 +00:00
Arvid Norberg ec53633975 added mutex locks around critical sections 2006-10-13 00:01:18 +00:00
Arvid Norberg c84e96898b added workaround for incorrectly encoded paths in torrent files 2006-10-12 23:51:10 +00:00
Arvid Norberg 7e9da2a261 fixed indentation 2006-10-11 22:07:07 +00:00
Arvid Norberg c8fbd5db21 split session and session_impl into separate compilation units 2006-10-11 20:57:54 +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 8346841d35 fixed bug in file_progress with file sizes of 0 bytes 2006-10-08 20:36:05 +00:00
Arvid Norberg 6856989cb8 added a test for allocate resources 2006-10-04 02:27:32 +00:00
Arvid Norberg db426ae80d fixed race condition in udp_tracker_connection 2006-10-02 22:19:21 +00:00
Arvid Norberg 599cfe3820 moved a stderr log to the verbose log 2006-10-02 10:06:31 +00:00
Arvid Norberg f029f5d6b2 fixed sequenced download bug 2006-10-02 08:58:28 +00:00
Arvid Norberg 861220b233 fixed prioritization on connections, incomming connections are now prioritized over outgoing pending connections. 2006-09-28 13:27:34 +00:00
Arvid Norberg c687c428c4 removed incorrect asserts. added ip to the extension header. removed the mandatory libtorrent suffix on the user agent 2006-09-28 00:49:40 +00:00
Arvid Norberg 910733f29e added proper support for dht router nodes (which are automatically used to bootstrap from, and won't get added to the routing table) 2006-09-27 17:20:18 +00:00
Arvid Norberg 411bc4895c incoming connections are now prioritized over outgoing connections with the same ip 2006-09-27 17:17:41 +00:00
Arvid Norberg 362f700906 fixed integer overflow bug occuring when building with gcc 4.1.x. updated the projects page, removed dead code from allocate_resources. 2006-09-25 22:37:48 +00:00
Arvid Norberg 5aa875c2af fixed some warnings 2006-09-24 11:32:08 +00:00
Arvid Norberg 80dc56d388 fixed crashing bug when removing torrents while checking 2006-09-24 11:22:25 +00:00
Arvid Norberg 1bde539d67 made the values sent to the tracker only include complete and hash checked data, to make them increase and decrease monotonically 2006-09-24 00:48:31 +00:00
Arvid Norberg 5e254ffea6 fixede bug appearing when loading a torrent containing a piece length of 0 2006-09-23 21:43:26 +00:00
Arvid Norberg fe0d570f05 completed IPv6 support in ip_filter and updated test_ip_filter and documentation. Documented recently added extensions to DHT. 2006-09-23 21:24:28 +00:00
Arvid Norberg a42189af62 removed out dated comments 2006-09-23 21:23:24 +00:00
Arvid Norberg 4d6d8b893d added uLeacher and qBittorrent 2006-09-23 21:21:52 +00:00
Arvid Norberg 004d3771cb added first version of an IPv6 extension and docs 2006-09-21 18:22:26 +00:00
Arvid Norberg 4edfaa0493 fixed private=0 torrent parsing 2006-09-12 00:48:01 +00:00
Arvid Norberg f92b6cd90c fixed test_ip_filter and test_piece_picker to reflect recent api changes. Fixed an Obj.C naming issue. Removed files from include/Makefile.am that was removed from asio. 2006-09-11 23:34:07 +00:00
Arvid Norberg dc2e25141c changed sequencial download threshold api, it is now per torrent 2006-09-04 23:22:21 +00:00
Arvid Norberg 191fd76b42 made sequenced_download_threshold a per torrent setting. Updated the project page layout. Removed incorrect invariant checks in piece picker. 2006-09-04 17:17:45 +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 5ae55c5738 fixed bug appearing when changing the sequenced download threshold on a torrent which already had some pieced downloaded. 2006-09-01 09:36:43 +00:00
Arvid Norberg bdf1bbc8f4 changed the file format for storing the DHT routing table to support IPv6. Changed the address used to be IPv4-IPv6 independent (ip_filter still onlt works with IPv4). Added default boost-build features to the building documentation. Completed the jamfile's support for building without DHT support. Updated documentation with these changes. 2006-09-01 03:06:00 +00:00
Arvid Norberg b1411fcdf7 the DHT can now change listen port runtime, and the same listen interface will be used for the DHT as is used for the torrent listen port. The DHT buckets are refreshed slightly more evenly distributed over time. 2006-08-30 00:09:58 +00:00
Arvid Norberg d0a38c50c6 fixed crash bug occuring when removing a torrent while it announces on the DHT. Fixed the mainloop not to quit when an uncought exception is thrown. 2006-08-29 01:15:24 +00:00
Arvid Norberg 0f28b3ac5b removed -L./ from makefiles and made the tests not to be installed 2006-08-28 20:44:06 +00:00
Arvid Norberg 056558576e fixed overflow bug in file_progress() and bug in the parsing of dht nodes from torrent files 2006-08-27 18:38:30 +00:00
Arvid Norberg 8227b160ea fixed missing header include. added todo comment at a reported bug 2006-08-10 23:36:58 +00:00
Arvid Norberg 87eb377b17 fixed incorrect asserts in storage (that were triggered by torrent with zero-size files). Fixed bug in resource distribution algorithm. Made an attempt to avoid an assert in msvc standard library caused by passing a non-printable character to isdigit(). 2006-08-10 19:18:11 +00:00
Arvid Norberg 4f2d147e07 the dht node will now add nodes who sends announce_peer with correct write token. Fixed bug in session where nodes from a .torrent were added to the node even though if it wasn't running. 2006-08-06 18:42:04 +00:00
Arvid Norberg 2daaa9f8d2 fixed bug in allocate_resources, made the refresh timers more accurate and tries to even out the load bu not refreshing more than one bucket at a time 2006-08-06 16:36:00 +00:00
Arvid Norberg d17082aa1a added electric sheep as an identified client 2006-08-02 00:06:44 +00:00
Arvid Norberg 2d83cdfa59 fixed runtime-check that msvc adds if that option is checked. Fixed problem that occured if the max_transactions limit was reached. 2006-08-01 22:23:05 +00:00
Arvid Norberg e340485974 fixed possible problem with errors occuring and reported to dht_tracker::on_receive. 2006-08-01 16:59:12 +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 00df2b5bc3 added build notes for vs.net 2005, removed old code from ip_filter.cpp, fixed problem where the stats could become incorrect in case of very high cpu load, added asserts in storage::read() to make sure one is not trying to read out of bounds. 2006-07-26 10:21:25 +00:00
Arvid Norberg 5366971c39 fixed compilation error in previous checkin 2006-07-23 19:42:59 +00:00
Arvid Norberg f1efa8c952 updated makefile according to the latest version of asio, fixed Mainline peer-id decoder to work with the new version numbers, added some new clients to the identification list 2006-07-23 19:42:13 +00:00
Arvid Norberg 3763b600e4 added integer version defines, fixed a bug which appeared when session was closing, removed an old member function declaration from torrent_handle 2006-07-18 16:29:35 +00:00
Arvid Norberg 8d31bf442a fixed incorrect sorting of pieces in piece_picker 2006-07-16 00:08:50 +00:00
Arvid Norberg 8c6869b4f2 fixed the issue with the timer waiting for tracker requests when quitting, reported by Tianhao Qiu 2006-07-12 22:55:06 +00:00