Commit Graph

315 Commits

Author SHA1 Message Date
Arvid Norberg ab3b82b8ee replaced std::rand() with custom random generator 2011-02-26 07:55:51 +00:00
Arvid Norberg 20d763c8c7 added option to not use custom assert macro 2011-02-24 18:15:15 +00:00
Arvid Norberg 7508038337 cross compiling fixes 2011-02-14 04:12:26 +00:00
Arvid Norberg e959acae42 add iconv build option 2011-02-09 09:54:45 +00:00
Arvid Norberg c223291fb4 added support for RSS feeds 2011-01-18 03:41:54 +00:00
Arvid Norberg b078cd5416 some jamfile fixes for static linking 2010-12-25 07:24:00 +00:00
Arvid Norberg 451c583023 more robust mechanism to determine external IP 2010-12-24 01:31:41 +00:00
Arvid Norberg 94ef3eaf4b windows build fixes 2010-12-01 05:47:18 +00:00
Arvid Norberg e5f980d80d merged uTP branch into trunk (yay) 2010-11-29 01:33:05 +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 af6ac4aca9 some solaris build fixes 2010-11-28 00:26:33 +00:00
Arvid Norberg 72322dbc10 allow extending web seeds with extra headers and custom authorization schemese 2010-10-10 18:43:58 +00:00
Arvid Norberg 3b550ece98 don't save settings that are set to the default value 2010-10-10 02:22:57 +00:00
Arvid Norberg 02668e8f75 fix message posting to work from multiple threads 2010-08-26 17:00:24 +00:00
Arvid Norberg 08d145a6e9 added production assert mode 2010-05-06 02:18:08 +00:00
Arvid Norberg 81d0bed02a update Jamfile for linux builds 2010-04-17 20:54:24 +00:00
Arvid Norberg 4fec667ea1 added Jamfile feature to enable FIEMAP support 2010-04-11 00:55:15 +00:00
Arvid Norberg 2910a4a10c dropped dependency on zlib 2010-03-16 06:14:22 +00:00
Arvid Norberg b09a282a9e added piece-allocator feature to Jamfile 2010-03-07 01:10:08 +00:00
Arvid Norberg d15fd0c6d3 bump version number 2010-02-25 22:30:07 +00:00
Arvid Norberg 1a97405189 added an option to save a little bit of RAM by not collecting full detailed stats 2010-02-08 05:43:54 +00:00
Arvid Norberg f612a07b06 more header dependency fixes and some configure header cleanup 2009-12-09 09:55:19 +00:00
Arvid Norberg 4e861e923d fix macports include path 2009-12-06 02:24:34 +00:00
Arvid Norberg bd881ac154 fixed more link issues on windows. examples build with shared linking on windows 2009-12-02 17:46:25 +00:00
Arvid Norberg 39dae9e6dc some GCC 2.95 support fixes and some BeOS support 2009-11-28 22:41:21 +00:00
Arvid Norberg ddceb1487d fixed building with no IPv6 support 2009-11-27 18:46:29 +00:00
Arvid Norberg 8dd244581d header optimizations 2009-11-26 05:45:43 +00:00
Arvid Norberg a5586d154d more header dependency optimizations 2009-11-25 06:55:34 +00:00
Arvid Norberg 6343fe6a6d optimized header dependencies to lower build time 2009-11-23 08:38:50 +00:00
Arvid Norberg 3b9b8b144c added support for using libtommath instead of libgcrypt or libcrypto for bittorrent encryption 2009-11-09 07:26:40 +00:00
Arvid Norberg e9e32235b4 added support for libgcrypt 2009-11-08 03:09:19 +00:00
Arvid Norberg 1c28444f94 fixed residual references to boost/thread. Removed memdebug (it doesn't work and tcmalloc is better) 2009-11-02 02:00:41 +00:00
Arvid Norberg 5ddb988461 link dynamically to external libraries by default 2009-11-02 01:10:05 +00:00
Arvid Norberg 51ef057498 more unicode and wstring fixes 2009-10-29 18:12:43 +00:00
Arvid Norberg c418165e07 replaced boost.filesystem with custom functions (improves efficiency and drops unnecessary dependencies and improves libtorrent portability) 2009-10-26 01:29:39 +00:00
Arvid Norberg 9d1989904b some compatibility fixes. 2009-10-20 16:44:11 +00:00
Arvid Norberg 8a5b7d5d36 got rid of the last recursive mutexes. abstracted the threading primitives (and switched over to use asio's internal ones). 2009-10-20 02:49:56 +00:00
Arvid Norberg 54cce9da60 simplified and optimized the DHT implementation 2009-09-20 00:23:36 +00:00
Arvid Norberg 0f62beebb3 improved compile time by moving rate limiter implementation to a cpp file and making it a non-template 2009-09-16 04:41:35 +00:00
Arvid Norberg 6c67da08d6 split socket.hpp up in multiple headers to lower build time somewhat 2009-09-16 03:46:36 +00:00
Arvid Norberg bec481acdf improved disk read performance and fixed bug in storage_interface's backwards compatibility functions 2009-09-05 07:21:10 +00:00
cg25 f283065cfc completely drop BOOST_MULTI_INDEX_DISABLE_SERIALIZATION define from all build
systems as multi_index is no more used in src/file_pool.cpp.
2009-08-21 20:19:55 +00:00
Arvid Norberg 45fd696bc6 added I2P support 2009-08-20 03:19:12 +00:00
Arvid Norberg 8b1e55d28a workaround bug in asio in boost-1.39 2009-06-27 19:30:15 +00:00
Arvid Norberg a956265be4 merged socks4 and socks5 code and improved SOCKS error messages 2009-04-08 04:18:45 +00:00
Arvid Norberg 9140358a3f Jamfile fix 2009-04-04 07:31:24 +00:00
Arvid Norberg 96afdf8b22 first stab at installer rule in jamfile (headers are still copied to the wrong directory) 2009-04-02 23:21:44 +00:00
Arvid Norberg a4fca76eff python binding build fixes (BBv2) 2009-03-02 05:43:56 +00:00
Arvid Norberg 3cdf9c87a8 fixed build errors on Solaris 2009-01-27 08:24:48 +00:00
Arvid Norberg 113d1f3557 moved page_aligned_allocator to its own file and uses it in set_piece_hashes to not pass in unaligned buffers to storage read 2009-01-15 17:09:36 +00:00
Arvid Norberg 20a0593fa3 removed mapped_storage 2009-01-10 07:14:02 +00:00
Arvid Norberg 42f428f776 define BOOST_MULTI_INDEX_DISABLE_SERIALIZATION in CMakeLists.txt and configure.in. Also define BOOST_EXCEPTION_DISABLE to disable boost.exception 2009-01-07 01:58:43 +00:00
Arvid Norberg e5d3755afb added support for http seeds (BEP 17) 2008-12-30 03:54:07 +00:00
Arvid Norberg e21e05e493 make -fvisibility=hidden optional, since I can't figure out how to change the flags depending on toolset 2008-12-28 19:15:24 +00:00
Arvid Norberg 362befc579 fixed typo in visibility argument in Jamfile 2008-12-21 20:33:26 +00:00
Arvid Norberg 8a0fa577b1 fPIC related improvements to Jamfile 2008-12-21 02:38:37 +00:00
Arvid Norberg 24668058fc added -fPIC and -fvisibility=hidden as features for cleaner Jamfile (and to make the propagation work for boost_system) 2008-12-20 23:30:53 +00:00
Arvid Norberg 3d34d30afb use -fvisibility=hidden for darwin and gcc toolkits 2008-12-20 21:12:39 +00:00
Arvid Norberg 09b3a865ef fixed compiler flags in pkg-config file and made header files not depend on the NDEBUG define 2008-11-29 21:33:21 +00:00
Arvid Norberg acbdbfc1ef added tracker exchange (tex) extension 2008-11-27 20:51:59 +00:00
Arvid Norberg f8b6d1c483 fixed geoip shared linking in Jamfile 2008-11-23 20:40:08 +00:00
Arvid Norberg 03398e94b0 replaced utf8 conversion with code from unicode.org 2008-11-13 06:39:08 +00:00
Arvid Norberg 6267a97843 removed iostream dependency, since mapped_storage is discontinued 2008-09-30 19:12:30 +00:00
Arvid Norberg c152a88512 fixed linux build when linking against openssl (adds libdl.so) 2008-09-03 00:55:49 +00:00
Arvid Norberg cbf8e6f3b1 introduced TORRENT_NO_DEPRECATE, to disable deprecated functions. Made example not use deprecated functions. Documented magnet uri related functions. 2008-08-03 15:14:08 +00:00
Arvid Norberg 3500fe3be4 when building with test-coverage on, gcov is now linked in and asserts are disabled 2008-07-30 06:43:01 +00:00
Arvid Norberg d16629f7c8 default to use UNICODE on windows 2008-07-20 11:53:21 +00:00
Arvid Norberg 417855848f merged file_win.cpp and file.cpp (removed the need for file_win.cpp). The file is no longer a pimpl 2008-07-20 11:14:54 +00:00
Arvid Norberg 2ab80ddc3a moved the error_category to error_code.cpp and added the new files (error_code.{hpp|.cpp}) to the Jamfile and makefiles 2008-07-18 10:22:16 +00:00
Arvid Norberg 84406e2064 excluded mapped_storage from build 2008-07-18 00:21:51 +00:00
Arvid Norberg 1ed583011c made the invariant checks cheaper and more useful. The full invariant checks are still available as an option 2008-07-12 17:51:59 +00:00
Arvid Norberg 13766dc855 Jamfile updates to add the option to link statically or dynamically against the boost libraries 2008-06-28 08:59:25 +00:00
Arvid Norberg eb9a24261f no need to change the Jamfiles 2008-06-23 13:17:15 +00:00
cg25 71c4f6f9b6 * improved --with-asio configure option behaviour;
* using -version-info flag instead of -revision one for the sake of correct
  interface versioning;
* renaming library to libtorrent-rasterbar.so to avoind conflicting with other
  libraries.
2008-06-23 00:09:12 +00:00
Arvid Norberg 59767f324b boost=system fixes to Jamfile 2008-06-07 17:36:33 +00:00
Arvid Norberg 3910fe78de separated file_storage from torrent_info and create_torrent 2008-05-28 08:44:40 +00:00
Arvid Norberg 31ab7f9773 boost 1.35 related fixes 2008-05-20 09:45:55 +00:00
Arvid Norberg 7f639e57de improved error handling with regards to parse_url_components. For trunk, moved that function to its own file 2008-05-17 14:19:34 +00:00
Arvid Norberg 5703d607af links against boost-system 2008-05-15 16:58:32 +00:00
Arvid Norberg 8ed949c4d5 factored out torrent creation functionality from torrent_info into create_torrent. Modified torrent_info to use lazy_bdecoder for increased performance 2008-05-14 05:29:42 +00:00
Arvid Norberg 262bb9f6e7 if boost=system, -I/opt/local/include/boost-1_35 -I/usr/include/python2.5 and -L/opt/local/lib are now passed on to the build command line 2008-05-14 00:21:57 +00:00
Arvid Norberg 35f5ace67a fixed typo in Jamfile making it fail when linking against librt 2008-05-09 17:07:08 +00:00
Arvid Norberg 64cb8696cd Jamfile fixes for the python bindings to work with system installed boost libraries 2008-05-08 01:53:05 +00:00
Arvid Norberg c7e6c04705 switched over to asio from boost-1.35 2008-05-03 16:05:42 +00:00
Arvid Norberg 2b55d7ebe5 added support to build with tcmalloc to Jamfile 2008-04-13 21:11:37 +00:00
Arvid Norberg b300c7f835 added high performance bdecoder code 2008-04-11 03:41:09 +00:00
Arvid Norberg 093d912e9a receive buffer optimization. added receive_buffer_size and used_receive_buffer to peer_info. changed plugin api to make use of new disk_buffer_holder type 2008-04-10 10:03:23 +00:00
Arvid Norberg ec1199fdae jamfile fix 2008-04-09 05:36:37 +00:00
Arvid Norberg 75ef4ec1f1 added option to not use pool allocators (useful when using memory debugging tools) 2008-04-09 05:19:11 +00:00
Arvid Norberg da5d5a5d4e added option to include librt (for 64 bit linux systems) 2008-04-05 05:36:18 +00:00
Arvid Norberg 57d75e120a initial support for GeoIP (only AS mappings for now) 2008-04-05 04:53:22 +00:00
Arvid Norberg 77ac39c8c6 Jamfile fix 2008-02-17 21:37:20 +00:00
Arvid Norberg a53473a65d added new logging mode to log peer errors 2008-02-07 07:09:52 +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 795bee4b2c added option to disable invariant checks and added more build documentation 2008-01-13 06:17:56 +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 62670cc2f3 fix to include assert.cpp in release mode as well 2007-12-30 23:30:14 +00:00
Arvid Norberg e1b1123c48 made memdebug work. include script to generate graph 2007-12-27 06:37:18 +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 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 eec07349e9 fixes build issue with openssl on mingw 2007-12-15 23:38:54 +00:00
Arvid Norberg 8c3f9571de socks5 support for udp messages 2007-12-09 04:15:24 +00:00
Arvid Norberg 20621cae02 added magnet-uri functions and a base32 decode function 2007-12-03 06:03:16 +00:00
Arvid Norberg f3d45fcfc1 initial support for ut_metadata 2007-12-02 04:16:51 +00:00
Arvid Norberg 02ed01d2c4 added first try of a mapped storage 2007-11-30 00:35:09 +00:00
Arvid Norberg d3ad745419 removed the symmetric property of libtorrent features to create shorter paths, since that is a problem on windows 2007-09-25 20:36:02 +00:00
Arvid Norberg b5a2373bff added an option to generate a disk io log file 2007-09-17 08:15:54 +00:00
Arvid Norberg 8e899fa9fd updated the assert macro to send SIGINT to the process (to break into the debugger) and also to be used on macos 2007-09-17 02:32:51 +00:00
Arvid Norberg 0db64cba2c Jamfile updates for mingw 2007-09-10 07:51:58 +00:00
Arvid Norberg 0d02fe0539 upnp and lsd update. added a broadcast_socket and made the upnp connection use the locally bound ip to specify its address in the soap requests 2007-09-09 23:52:34 +00:00
Arvid Norberg fd42f3232b upnp more logging and error recovery 2007-09-01 04:08:39 +00:00
Arvid Norberg 89cba6df58 added test coverage build support for GCC 2007-08-21 17:43:19 +00:00
Arvid Norberg a443225d49 added experimental assert with stacktrace for elf targets using gcc 2007-08-20 04:58:56 +00:00
Arvid Norberg 4ac1ac8a1f removed allocate_resources. switched to a global unchoker and connection distribution 2007-08-16 12:41:46 +00:00
Arvid Norberg 8387240b31 more asserts, piece_picker fixes, debug-iterator fixes 2007-08-03 06:13:26 +00:00
Arvid Norberg 77481c24a7 enabled standard library debugging in debug mode for gcc toolsets 2007-08-02 00:05:42 +00:00
Arvid Norberg 4b8640ee29 added library search paths for boost to cover darwinports and fink 2007-07-08 20:21:22 +00:00
Arvid Norberg 9f24c6d79c added option to link against installed boost libraries instead of building from source (boost=system and boost=source, system is default). Removed dependency in boost serialization headers 2007-07-07 21:27:36 +00:00
Arvid Norberg e714e1aeba improved bandwidth limiter and added a unit test for it 2007-07-02 23:48:06 +00:00
Arvid Norberg 1c8c2cde54 removed the librt dependency, since it seems nonexistant on most linuxes 2007-06-15 17:54:35 +00:00
Arvid Norberg 97099dc0ca added more fixes to Jamfile in order to make it build on windows 2007-06-13 17:36:26 +00:00
Arvid Norberg fa1a37e649 updated Jamfile to support openssl on windows, added missing files to makefiles and made test_pe_crypto build when encryption is disabled 2007-06-13 01:48:24 +00:00
Arvid Norberg 3b8670626a merged back async_io branch into trunk 2007-06-10 20:46:09 +00:00
Arvid Norberg 273f8bd921 merged back encryption branch to trunk 2007-06-06 00:41:20 +00:00
Arvid Norberg b385ed6064 added socks4 proxy support 2007-05-30 23:35:14 +00:00
Arvid Norberg c5e150ee69 upnp fixes 2007-05-14 07:31:01 +00:00
Arvid Norberg a5b664657e fixed Jamfile options 2007-05-13 22:09:25 +00:00
Arvid Norberg 4a906aa31d added option for session statistics output 2007-05-13 22:01:21 +00:00
Arvid Norberg 49bd69cad4 introduced a proper half open TCP connection limit. Also exposed the connection queue to let clients use the same connection limiter as libtorrent. UPnP connections and tracker connection are now also limited as well as peer connections and web seeds 2007-05-05 00:29:33 +00:00
Arvid Norberg c871167ec3 fixed openssl=on option in Jamfile 2007-05-04 07:46:44 +00:00
Arvid Norberg 54805ca60b added option to disable country resolving 2007-05-02 19:47:38 +00:00
Arvid Norberg d03b88f1a3 made Jamfile to work on MinGW 2007-04-25 22:23:44 +00:00
Arvid Norberg 00948e9fc4 first attempt to implement SOCKS5 and proper HTTP proxy support. fixes #22 2007-04-25 18:26:35 +00:00
Arvid Norberg 88d6f7a4c9 added character-set build feature (only effective on windows). Made storage build with win32/unicode and newer versions of boost. optimized allocate_slots 2007-04-18 19:12:30 +00:00
Arvid Norberg 90bff3d1ca Fixed building issues on windows with msvc-8.0 2007-04-17 21:18:35 +00:00
Arvid Norberg 32dc04c09b made win32 platforms use file_win.cpp and other platforms use file.cpp. factored out .cpp ending of source files in Jamfile 2007-04-17 00:23:46 +00:00
Arvid Norberg 8cb1f9f899 added optional use of openssl instead of public domain sha-1 implementation, ticket #13 2007-04-15 04:30:52 +00:00
Arvid Norberg 0863bc1aa6 removed the dependency on the compiled boost.date_time library 2007-04-10 09:11:32 +00:00
Arvid Norberg 94fab39d4c Jamfile fixes for cygwin 2007-04-05 23:12:50 +00:00
Arvid Norberg 5e32484194 first stab at getting local service discovery 2007-04-04 02:06:07 +00:00
Arvid Norberg 29e43d7f62 added http_connection and a simple xml parser, used by a upnp implementation that still isn't finished 2007-03-27 07:04:31 +00:00
Arvid Norberg 8957b64c04 prepared for precompiled headers support. fixed issue where storage didn't lock the session properly. fixed typo in natpmp.cpp 2007-03-17 17:15:16 +00:00
Arvid Norberg ecaa3068d5 added natpmp support. bumped version number to 0.13. added piece priority support to the piece picker. optmized and simplified the piece picker in the process. 2007-03-15 22:03:56 +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 b63c155c0d added uTorrent Peer exchange support, implemented by MassaRoddel 2006-11-26 17:44:51 +00:00
Arvid Norberg 139cd9a1f0 updated jamfile to build on cygwin 2006-11-22 17:54:02 +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