Changeset 3921 for trunk/libtransmission/peer-msgs.c
- Timestamp:
- Nov 21, 2007, 8:03:53 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libtransmission/peer-msgs.c
r3906 r3921 33 33 #include "peer-msgs.h" 34 34 #include "ratecontrol.h" 35 #include "stats.h" 35 36 #include "trevent.h" 36 37 #include "utils.h" … … 784 785 785 786 /* does the peer prefer encrypted connections? */ 786 sub = tr_bencDictFind( &val, "e" ); 787 if( tr_bencIsInt( sub ) ) 787 if(( sub = tr_bencDictFindType( &val, "e", TYPE_INT ))) 788 788 msgs->info->encryption_preference = sub->val.i 789 789 ? ENCRYPTION_PREFERENCE_YES … … 791 791 792 792 /* check supported messages for utorrent pex */ 793 sub = tr_bencDictFind( &val, "m" ); 794 if( tr_bencIsDict( sub ) ) { 795 sub = tr_bencDictFind( sub, "ut_pex" ); 796 if( tr_bencIsInt( sub ) ) { 793 if(( sub = tr_bencDictFindType( &val, "m", TYPE_DICT ))) { 794 if(( sub = tr_bencDictFindType( sub, "ut_pex", TYPE_INT ))) { 797 795 msgs->peerSupportsPex = 1; 798 796 msgs->ut_pex_id = (uint8_t) sub->val.i; … … 802 800 803 801 /* get peer's listening port */ 804 sub = tr_bencDictFind( &val, "p" ); 805 if( tr_bencIsInt( sub ) ) { 802 if(( sub = tr_bencDictFindType( &val, "p", TYPE_INT ))) { 806 803 msgs->info->port = htons( (uint16_t)sub->val.i ); 807 804 dbgmsg( msgs, "msgs->port is now %hu", msgs->info->port ); … … 824 821 tr_peerIoReadBytes( msgs->io, inbuf, tmp, msglen ); 825 822 826 if( tr_bencLoad( tmp, msglen, &val, NULL ) || !tr_bencIsDict( &val) ) {823 if( tr_bencLoad( tmp, msglen, &val, NULL ) || ( val.type != TYPE_DICT ) ) { 827 824 dbgmsg( msgs, "GET can't read extended-pex dictionary" ); 828 825 tr_free( tmp ); … … 830 827 } 831 828 832 sub = tr_bencDictFind( &val, "added" ); 833 if( tr_bencIsStr(sub) && ((sub->val.s.i % 6) == 0)) { 829 if(( sub = tr_bencDictFindType( &val, "added", TYPE_STR ))) { 834 830 const int n = sub->val.s.i / 6 ; 835 831 dbgmsg( msgs, "got %d peers from uT pex", n ); … … 1043 1039 tr_rcTransferred( tor->download, byteCount ); 1044 1040 tr_rcTransferred( tor->handle->download, byteCount ); 1045 } 1046 1041 tr_statsAddDownloaded( msgs->handle, byteCount ); 1042 } 1047 1043 1048 1044 static int … … 1267 1263 tr_rcTransferred( tor->upload, byteCount ); 1268 1264 tr_rcTransferred( tor->handle->upload, byteCount ); 1265 tr_statsAddUploaded( msgs->handle, byteCount ); 1269 1266 } 1270 1267
Note: See TracChangeset
for help on using the changeset viewer.