Commit Graph

340 Commits

Author SHA1 Message Date
Arvid Norberg a2521bd23c fix a bunch of issues to properly support dynamic linking of libtorrent with visibility=hidden. Still requires a small patch to boost 2012-03-18 23:31:04 +00:00
Arvid Norberg 2ec6a53c71 fix openssl build 2012-03-16 07:45:27 +00:00
Arvid Norberg 750801d25b some more shared linking fixes 2012-03-15 17:17:10 +00:00
Arvid Norberg 64b599598c minor fixes 2012-03-15 07:16:30 +00:00
Arvid Norberg 7b1a441aeb attempt to make shared library builds to work with visibility=hidden 2012-03-15 06:08:08 +00:00
Arvid Norberg 7f2d6325df rely on boost configs symbol export macro, make sure boost thinks it is built as a shared library when linked into a shared library 2012-03-13 15:35:35 +00:00
Arvid Norberg b5bf19c07b fix openssl build with boost-1.46 2012-02-25 08:31:25 +00:00
Arvid Norberg b2ede2665b attempt to hide non-exported symbols from dynamic library builds 2012-02-16 08:47:53 +00:00
Arvid Norberg 238622c3d1 build with visibility=hidden by default on gcc and llvm 2012-02-16 06:14:19 +00:00
Arvid Norberg f13a91d8a8 support backtraces on windows 2012-01-26 10:33:39 +00:00
Arvid Norberg 39aa23b7b6 fix ssl linking on mingw 2012-01-19 08:12:13 +00:00
Arvid Norberg 4a40e68a82 landed ssl branch back into trunk 2012-01-14 16:04:25 +00:00
Arvid Norberg 152cee19f1 add compile-time feature to enable logging of all peer requests 2011-12-29 12:15:29 +00:00
Arvid Norberg df0d714713 assert on integer overflow in debug builds with GCC 2011-12-11 09:43:08 +00:00
Arvid Norberg bc1e47a486 solaris fixes 2011-09-04 23:29:47 +00:00
Arvid Norberg 524e116277 fix production asserts build 2011-08-14 23:30:40 +00:00
Arvid Norberg 1b470e0961 move the code of chained buffer out to its own cpp file 2011-08-13 23:01:38 +00:00
Arvid Norberg bc2f0c8c5e move disk_buffer_pool out to its own file 2011-07-31 02:24:36 +00:00
Arvid Norberg 1adc9dde8e add missing module include in Jamfile 2011-07-23 19:46:27 +00:00
Arvid Norberg 1b353ce5af fix beos build 2011-07-20 05:14:25 +00:00
Arvid Norberg 2974a47f3c fix release asserts build 2011-07-05 15:53:57 +00:00
Arvid Norberg 5bbbf0cd41 add rsa sign and verification functions for future DHT extensions 2011-05-23 23:42:52 +00:00
Arvid Norberg a329a11b57 add build option to always enable asserts (i.e. allow asserts in release builds) 2011-05-07 19:58:38 +00:00
Arvid Norberg 3435da235d make is_upload_only() be accurate and deal with super seeding special case only where necessary. Fix pointless assert in invariant check 2011-04-09 23:57:56 +00:00
Arvid Norberg 2f63718eb7 disable offsetof warning on clang 2011-03-09 03:14:40 +00:00
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