Bedeho Mender | 25 Nov 13:21 2014
Picon

Multiple libtorrent instances

Are there any obvious pit falls in running multiple instances of libtorrent
within a given process, in particular if both attempt to download the same
torrent?

I am trying to do this, for testing purposes, and only one instance seems
to be able to start downloading.

-Bedeho
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
Bedeho Mender | 25 Nov 08:08 2014
Picon

Torrent plugin new_connection() callback

Hi,

I have successfully registered a torrent_plugin with a torrent, but when a
new peer connection is made, the peer_connection * arriving with the
new_connection() callback does not seem to have a valid tcp::endpoint
associated with it?

Specifically, the address field converts to a NULL string using

->remote().address().to_string().c_str()

and the port field is negative for lots of peers when using

->remote().port()

Is this not the correct means to acquiring these values?

-bedeho
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
sledgehammer999 | 24 Nov 23:01 2014

Linking errors on linux with RC_0_16

In qbittorrent we use travis-ci.org which builds every commit on github and
reports if anything broke it.
Anyway, since it uses an old ubuntu version which contains libtorrent
0.15.x we are fetching+building RC_0_16 on each build.
Lately the builds fail during the linking stage of qbt, with no obvious
reason.
The same code builds fine on Windows with latest RC_0_16.

I tried doing the same under debian sid but with RC_1_0. I got similar
errors. However using 1.0.2(tarball) it worked.

Here is one of the latest travis-ci build logs:
https://travis-ci.org/qbittorrent/qBittorrent/jobs/41892340
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
hammered hammered | 24 Nov 22:18 2014
Picon

Linking errors on linux with RC_0_16

In qbittorrent we use travis-ci.org which builds every commit on github and
reports if anything broke it.
Anyway, since it uses an old ubuntu version which contains libtorrent
0.15.x we are fetching+building RC_0_16 on each build.
Lately the builds fail during the linking stage of qbt, with no obvious
reason.
The same code builds fine on Windows with latest RC_0_16.

I tried doing the same under debian sid but with RC_1_0. I got similar
errors. However using 1.0.2(tarball) it worked.

Here is one of the latest travis-ci build logs:
https://travis-ci.org/qbittorrent/qBittorrent/jobs/41892340
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
Igor Zavalyshyn | 22 Nov 22:01 2014
Picon

Cross-compiling libtorrent for OpenWRT

Hi,

I'm trying to cross-compile libtorrent for OpenWRT. It's essential for a
project I'm currently working on.

The problem I face is generally caused by boost libraries that libtorrent
depends on. We installed all the boost libraries from OpenWRT feeds and
they are there in /usr/lib folder.

I'm using this Makefile for compiling:
https://dev.openwrt.org/browser/packages/libs/rblibtorrent/Makefile

When I try to compile the latest version of libtorrent (1.0.2) using the
Makefile I get the following:

checking for boostlib >= 1.36... yes
checking whether the Boost::System library is available... yes
configure: error: Boost.System library not found. Try using
--with-boost-system=lib
make[2]: ***
[/home/ken/wibed/14.07/openwrt/build_dir/target-i386_i486_uClibc-0.9.33.2/libtorrent-rasterbar-1.0.2/.configured_]
Error 1

Thanks for any help
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
(Continue reading)

B.R. | 17 Nov 02:05 2014
Picon

SSL (TLS?) torrents design

Hello,

I spent some time thinking about how the BitTorrent protocol would work on
top of SSL.
Then, I searched for existing implementations of suc han idea and stumbled
upon yours, which made me happy :o)

However, digging your blog & documentation to understand the whole design,
I became more and more dubious...

You require each peer wanting to leech from an existing torrent to get its
certificate signed by the root CA having signed the torrent (ie most likely
the owner of the torrent) through a third-party channel.
To me, that works against adoption of such a system because, IMHO, the
BitTorrent protocol must be as much self-sufficient as possible.

Here is the design I had in mind:
- Torrent seeder shares its public key (either attached to a specific
torrent or with a catch-all CN) as part of the torrent, ie anyone getting
either the .torrent file or its magnet (through the use of a special field,
either already existing or to be defined) has the torrent's public key.
- Torrent leechers connect to peers by providing them with its own public
key (certificate), either on request (peers replying with a special message
if peer's public key unknown), or as part of initial message.
- Peers send their public key either on-request or during answer to the
initial message of leecher.
- Every torrent part (answer) message is signed with the public key of the
seeder sending it
- Every request message is signed with the public key of the leecher it is
sent to
(Continue reading)

Angel Leon | 16 Nov 04:24 2014
Picon

a couple of unused warning variables (that were actually unused)

so most of the unused warnings that show up during compilation appear when
assertions are off, but I believe these 2 instances are indeed unused
variables to be cleaned up from what I could tell.

diff --git a/src/disk_buffer_pool.cpp b/src/disk_buffer_pool.cpp

index 0012061..ab6d541 100644

--- a/src/disk_buffer_pool.cpp

+++ b/src/disk_buffer_pool.cpp

 <at>  <at>  -286,7 +286,6  <at>  <at>  namespace libtorrent

                , boost::shared_ptr<disk_observer> o, char const* category)

        {

                mutex::scoped_lock l(m_pool_mutex);

-               bool was_exceeded = m_exceeded_max_size;

                char* ret = allocate_buffer_impl(l, category);

                if (m_exceeded_max_size)

                {

diff --git a/src/disk_io_thread.cpp b/src/disk_io_thread.cpp

(Continue reading)

arvid | 15 Nov 18:23 2014
Picon
Picon

Re: setup.py issue/building errors

On 2014-11-14 09:02, Angel Leon wrote:
> Thank you for the quick fix Arvid.
> 
> 
> I think it's important to update the documentation at
> http://www.libtorrent.org/python_binding.html to include a step that 
> says
> you're supposed to execute the `setup.py` script inside the
> `bindings/python` folder, as the one on the root folder of the project
> doesn't work.

I don't think there is a setup.py in the root. At least not in the 
repository
or the tarball.

> However it'd be a lot better if the python bindings could be built with 
> the
> setup.py that sits at the root folder of the project so that people 
> could
> use
> 
> pip install https://github.com/gubatron/libtorrent/archive/master.zip

That sounds very useful. Is there an easy way to have a setup.py that 
simply
runs the one under bindings/python and forwards all arguments?

> Still having issues,
> 
> $ python
(Continue reading)

Jakob Petsovits | 14 Nov 22:39 2014

CMake build, contd.

Hi,

I still haven't found the time to draft up the DHT interface that I 
promised earlier, but I've had the (dubious) please to deal with build 
systems again. Here are a few commits for improving the CMake build 
(against 1.0.x branch), and this is a pull request:

https://github.com/jpetso/libtorrent/commit/e3b0e943cfeeb1d968055bb2321c1a4bef287bfd

After the previous CMake build fixes were applied (thanks), there was 
still one commit in my GitHub fork that was necessary to make it build 
with a default "cmake <srcdir>" without build errors. The remaining 
issue was that examples/client_test.cpp uses TORRENT_EXTRA_EXPORT 
symbols and therefore fails to link against a library that was built 
without TORRENT_EXPORT_EXTRA. The previous commit's approach (splitting 
out tests from the main build) might not have been your favourite, and I 
think I've come up with a better approach this time.

This commit adds an extra option "build_extra_examples" to the CMake 
build and defaults it to false, so the regular examples can still be 
built by default but TORRENT_EXPORT_EXTRA is only defined when the 
"build_extra_examples" is enabled (or tests, which also cause that flag 
to be set).

https://github.com/jpetso/libtorrent/commit/0da8058c5bc4129651517f468492fe1f465035e4

When experimentally trying to change some headers, I noticed that 
source files were using the installed libtorrent headers rather than my 
updated ones. This is because the installed directory was found through 
OpenSSL etc., and was added to the list of include directories before 
(Continue reading)

Calum Lind | 14 Nov 10:41 2014
Picon

Errors building 1.0.2 on Windows

I am attempting to build 1.0.2 using the same steps as used with 0.16
but not having much success.
(http://dev.deluge-torrent.org/wiki/Building/libtorrent#Windows)

The first issue I encountered I needed to add boost_root to include
which was not needed before and then after that I am getting an error
I am unsure how to resolve but wonder if it is related to using msvc
9?

C:\libtorrent-rasterbar-1.0.2\bindings\python>c:\Python26\python.exe
setup.py build
running build
running build_ext
building 'libtorrent' extension
creating build
creating build\temp.win32-2.6
creating build\temp.win32-2.6\Release
creating build\temp.win32-2.6\Release\src
C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo
/Ox /MD /W3 /GS- /DNDEBUG -I/opt/local/include -I/opt/local/include -I
../../include -Ic:\Python26\include -Ic:\Python26\PC /Tpsrc\alert.cpp
/Fobuild\temp.win32-2.6\Release\src\alert.obj -DTORRENT_USE_OPENSSL -D
WITH_SHIPPED_GEOIP_H -DBOOST_ASIO_HASH_MAP_BUCKETS=1021
-DBOOST_EXCEPTION_DISABLE -DBOOST_ASIO_ENABLE_CANCELIO
-DBOOST_ASIO_DYN_LINK -DTORRE
NT_LINKING_SHARED
alert.cpp
src\alert.cpp(5) : fatal error C1083: Cannot open include file:
'boost/python.hpp': No such file or directory
error: command '"C:\Program Files\Microsoft Visual Studio
(Continue reading)

reit | 14 Nov 08:42 2014
Picon

Re: RSS over DHT

> 
> Message: 3
> Date: Sat, 08 Nov 2014 23:06:04 -0800
> From: arvid <arvid <at> cs.umu.se>
> Subject: Re: [libtorrent] RSS over DHT
> To: General discussion about libtorrent
> 	<libtorrent-discuss <at> lists.sourceforge.net>
> Message-ID: <edf5460126a1df69f49d873c5c578ad9 <at> mail.cs.umu.se>
> Content-Type: text/plain; charset=US-ASCII; format=flowed
> 
> I just though I should share my ideas of RSS feeds in the DHT.
> 
> It's documented here:
> 
>     http://libtorrent.org/dht_rss.html
> 
> However, this is a very old document, which essentially was generalized
> into the current put/get functions we have in the DHT. The original 
> idea
> still applies, just the details of how it would live in the DHT would 
> be
> different. Instead of custom RPCs, it could simply be done with 
> put/get.

I really liked the skip list idea, sounded like a good way to mitigate
the lag involved in getting a long chain of linked list nodes from the
DHT. Also I had gotten the impression that a number of these concepts
had inspired the DHT put/get system as it stands today.

So given the fact we now have this generalized system, I would assume
(Continue reading)


Gmane