Code: Select all
if(( addr = tr_sessionGetPublicAddress( s, TR_AF_INET )))
curl_easy_setopt( e, CURLOPT_INTERFACE, tr_ntop_non_ts( addr ) );
Code: Select all
* About to connect() to bt.neu6.edu.cn port 6969 (#0)
* Trying 2001:da8:9000::232... * getaddrinfo(3) failed for 0.0.0.0:0
* Couldn't bind to '0.0.0.0'
* couldn't connect to host
* Expire cleared
* Closing connection #0
I have tried, and it works for me with patch in attachment:
Code: Select all
* About to connect() to bt.neu6.edu.cn port 6969 (#0)
* Trying 2001:da8:9000::232... * Connected to bt.neu6.edu.cn (2001:da8:9000::232) port 6969 (#0)
----------ipv6.tracker.patch-----------
Code: Select all
--- transmission-2.04/libtransmission/web.c 2010-08-07 11:34:35.000000000 +0800
+++ transmission-2.04.patched/libtransmission/web.c 2010-08-15 13:29:00.000000000 +0800
@@ -139,7 +139,6 @@ getTimeoutFromURL( const char * url )
static CURL *
createEasy( tr_session * s, struct tr_web_task * task )
{
- const tr_address * addr;
CURL * e = curl_easy_init( );
const long verbose = getenv( "TR_CURL_VERBOSE" ) != NULL;
@@ -177,9 +176,6 @@ createEasy( tr_session * s, struct tr_we
curl_easy_setopt( e, CURLOPT_WRITEDATA, task );
curl_easy_setopt( e, CURLOPT_WRITEFUNCTION, writeFunc );
- if(( addr = tr_sessionGetPublicAddress( s, TR_AF_INET )))
- curl_easy_setopt( e, CURLOPT_INTERFACE, tr_ntop_non_ts( addr ) );
-
if( task->range )
curl_easy_setopt( e, CURLOPT_RANGE, task->range );