Changeset 7341
- Timestamp:
- Dec 10, 2008, 5:20:32 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/1.4x/libtransmission/handshake.c
r7267 r7341 209 209 const uint8_t * torrentHash = tr_cryptoGetTorrentHash( handshake->crypto ); 210 210 const tr_torrent * tor = tr_torrentFindFromHash( handshake->handle, torrentHash ); 211 const uint8_t * peer Id = tor && tor->peer_id ? tor->peer_id : tr_getPeerId( );211 const uint8_t * peer_id = tor && tor->peer_id ? tor->peer_id : tr_getPeerId( ); 212 212 213 213 memcpy( walk, HANDSHAKE_NAME, HANDSHAKE_NAME_LEN ); … … 220 220 memcpy( walk, torrentHash, SHA_DIGEST_LENGTH ); 221 221 walk += SHA_DIGEST_LENGTH; 222 memcpy( walk, peer Id, PEER_ID_LEN );222 memcpy( walk, peer_id, PEER_ID_LEN ); 223 223 walk += PEER_ID_LEN; 224 224 225 assert( strlen( ( const char* )peer Id ) == PEER_ID_LEN );225 assert( strlen( ( const char* )peer_id ) == PEER_ID_LEN ); 226 226 assert( walk - buf == HANDSHAKE_SIZE ); 227 227 *setme_len = walk - buf; … … 247 247 uint8_t reserved[HANDSHAKE_FLAGS_LEN]; 248 248 uint8_t hash[SHA_DIGEST_LENGTH]; 249 const tr_torrent * tor; 250 const uint8_t * peer_id; 249 251 250 252 dbgmsg( handshake, "payload: need %d, got %d", (int)HANDSHAKE_SIZE, … … 282 284 dbgmsg( handshake, "peer-id is [%*.*s]", PEER_ID_LEN, PEER_ID_LEN, 283 285 handshake->peer_id ); 284 if( !memcmp( handshake->peer_id, tr_getPeerId( ), PEER_ID_LEN ) ) 286 287 tor = tr_torrentFindFromHash( handshake->handle, hash ); 288 peer_id = tor && tor->peer_id ? tor->peer_id : tr_getPeerId( ); 289 if( !memcmp( handshake->peer_id, peer_id, PEER_ID_LEN ) ) 285 290 { 286 291 dbgmsg( handshake, "streuth! we've connected to ourselves." ); … … 720 725 721 726 static int 722 readPeerId( tr_handshake *handshake,727 readPeerId( tr_handshake * handshake, 723 728 struct evbuffer * inbuf ) 724 729 { 725 730 int peerIsGood; 726 731 char client[128]; 732 tr_torrent * tor; 733 const uint8_t * peer_id; 727 734 728 735 if( EVBUFFER_LENGTH( inbuf ) < PEER_ID_LEN ) … … 740 747 741 748 /* if we've somehow connected to ourselves, don't keep the connection */ 742 peerIsGood = 743 memcmp( handshake->peer_id, tr_getPeerId( ), PEER_ID_LEN ) ? 1 : 0; 749 tor = tr_torrentFindFromHash( handshake->handle, tr_peerIoGetTorrentHash( handshake->io ) ); 750 peer_id = tor && tor->peer_id ? tor->peer_id : tr_getPeerId( ); 751 peerIsGood = memcmp( handshake->peer_id, peer_id, PEER_ID_LEN ) != 0; 744 752 dbgmsg( handshake, "isPeerGood == %d", peerIsGood ); 745 753 return tr_handshakeDone( handshake, peerIsGood );
Note: See TracChangeset
for help on using the changeset viewer.