Changeset 11610
- Timestamp:
- Dec 30, 2010, 7:15:47 PM (12 years ago)
- Location:
- trunk/libtransmission
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libtransmission/net.c
r11599 r11610 316 316 317 317 /* set source address */ 318 source_addr = tr_sessionGetPublicAddress( session, addr->type );318 source_addr = tr_sessionGetPublicAddress( session, addr->type, NULL ); 319 319 assert( source_addr ); 320 320 sourcelen = setup_sockaddr( source_addr, 0, &source_sock ); -
trunk/libtransmission/session.c
r11599 r11610 219 219 220 220 const tr_address* 221 tr_sessionGetPublicAddress( const tr_session * session, int tr_af_type ) 222 { 221 tr_sessionGetPublicAddress( const tr_session * session, int tr_af_type, tr_bool * is_default_value ) 222 { 223 const char * default_value; 223 224 const struct tr_bindinfo * bindinfo; 224 225 225 226 switch( tr_af_type ) 226 227 { 227 case TR_AF_INET: bindinfo = session->public_ipv4; break; 228 case TR_AF_INET6: bindinfo = session->public_ipv6; break; 229 default: bindinfo = NULL; break; 230 } 228 case TR_AF_INET: 229 bindinfo = session->public_ipv4; 230 default_value = TR_DEFAULT_BIND_ADDRESS_IPV4; 231 break; 232 233 case TR_AF_INET6: 234 bindinfo = session->public_ipv6; 235 default_value = TR_DEFAULT_BIND_ADDRESS_IPV6; 236 break; 237 238 default: 239 bindinfo = NULL; 240 default_value = ""; 241 break; 242 } 243 244 if( is_default_value != NULL ) 245 *is_default_value = !strcmp( default_value, tr_ntop_non_ts( &bindinfo->addr ) ); 231 246 232 247 return bindinfo ? &bindinfo->addr : NULL; -
trunk/libtransmission/session.h
r11599 r11610 225 225 tr_bool tr_sessionIsLocked( const tr_session * ); 226 226 227 const struct tr_address* tr_sessionGetPublicAddress( const tr_session *, int tr_af_type ); 227 const struct tr_address* tr_sessionGetPublicAddress( const tr_session * session, 228 int tr_af_type, 229 tr_bool * is_default_value ); 230 228 231 229 232 struct tr_bindsockets * tr_sessionGetBindSockets( tr_session * ); -
trunk/libtransmission/web.c
r11599 r11610 144 144 { 145 145 const tr_address * addr; 146 tr_bool is_default_value; 146 147 CURL * e = curl_easy_init( ); 147 148 const long verbose = getenv( "TR_CURL_VERBOSE" ) != NULL; … … 168 169 curl_easy_setopt( e, CURLOPT_WRITEFUNCTION, writeFunc ); 169 170 170 if(( addr = tr_sessionGetPublicAddress( s, TR_AF_INET ))) 171 if((( addr = tr_sessionGetPublicAddress( s, TR_AF_INET, &is_default_value ))) && !is_default_value ) 172 curl_easy_setopt( e, CURLOPT_INTERFACE, tr_ntop_non_ts( addr ) ); 173 else if ((( addr = tr_sessionGetPublicAddress( s, TR_AF_INET6, &is_default_value ))) && !is_default_value ) 171 174 curl_easy_setopt( e, CURLOPT_INTERFACE, tr_ntop_non_ts( addr ) ); 172 175
Note: See TracChangeset
for help on using the changeset viewer.