Changeset 7740
- Timestamp:
- Jan 17, 2009, 11:14:35 PM (13 years ago)
- Location:
- trunk/libtransmission
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libtransmission/net.c
r7730 r7740 58 58 { { { { INADDR_ANY, 0x00, 0x00, 0x00 } } } } }; 59 59 60 61 60 #ifdef WIN32 62 61 static const char * … … 463 462 } 464 463 464 static tr_bool 465 isMulticastAddress( const tr_address * addr ) 466 { 467 if( addr->type == TR_AF_INET && IN_MULTICAST( htonl( addr->addr.addr4.s_addr ) ) ) 468 return TRUE; 469 470 if( addr->type == TR_AF_INET6 && ( addr->addr.addr6.s6_addr[0] == 0xff ) ) 471 return TRUE; 472 473 return FALSE; 474 } 475 476 tr_bool 477 tr_isValidPeerAddress( const tr_address * addr, tr_port port ) 478 { 479 if( isMulticastAddress( addr ) ) 480 return FALSE; 481 482 if( port == 0 ) 483 return FALSE; 484 485 return TRUE; 486 } 487 465 488 int 466 489 tr_netOpenTCP( tr_session * session, … … 475 498 assert( tr_isAddress( addr ) ); 476 499 477 /* don't try to connect to multicast addresses */ 478 if( addr->type == TR_AF_INET && IN_MULTICAST( htonl( addr->addr.addr4.s_addr ) ) ) 479 return -EINVAL; 480 if( addr->type == TR_AF_INET6 && ( addr->addr.addr6.s6_addr[0] == 0xff ) ) 500 if( isMulticastAddress( addr ) ) 481 501 return -EINVAL; 482 502 -
trunk/libtransmission/net.h
r7663 r7740 89 89 void tr_normalizeV4Mapped( tr_address * const addr ); 90 90 91 tr_bool tr_isValidPeerAddress( const tr_address * addr, tr_port port ); 92 91 93 void tr_suspectAddress( const tr_address * a, const char * source ); 92 94 -
trunk/libtransmission/peer-mgr.c
r7712 r7740 1316 1316 1317 1317 if( !tr_sessionIsAddressBlocked( t->manager->session, &pex->addr ) ) 1318 ensureAtomExists( t, &pex->addr, pex->port, pex->flags, from ); 1318 if( tr_isValidPeerAddress( &pex->addr, pex->port ) ) 1319 ensureAtomExists( t, &pex->addr, pex->port, pex->flags, from ); 1319 1320 1320 1321 managerUnlock( t->manager );
Note: See TracChangeset
for help on using the changeset viewer.