From: Charles Kerr Date: Thu, 17 Sep 2009 19:05:18 +0000 (+0000) Subject: (trunk libT) #2420 - Transmission should follow PEX conventions X-Git-Tag: 1.80b5~740 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6656c6d71e61b5d157583aed194c4965c55f1077;p=transmission (trunk libT) #2420 - Transmission should follow PEX conventions --- diff --git a/libtransmission/peer-msgs.c b/libtransmission/peer-msgs.c index afcc1aff5..b2fa2cf5c 100644 --- a/libtransmission/peer-msgs.c +++ b/libtransmission/peer-msgs.c @@ -69,7 +69,7 @@ enum TR_LTEP_PEX = 1, - MAX_PEX_PEER_COUNT = 100, + MAX_PEX_PEER_COUNT = 50, MIN_CHOKE_PERIOD_SEC = ( 10 ), @@ -1088,31 +1088,35 @@ parseUtPex( tr_peermsgs * msgs, int msglen, struct evbuffer * inbuf ) { if( tr_bencDictFindRaw( &val, "added", &added, &added_len ) ) { + tr_pex * pex; + size_t i, n; + size_t added_f_len = 0; const uint8_t * added_f = NULL; - tr_pex * pex; - size_t i, n; - size_t added_f_len = 0; + tr_bencDictFindRaw( &val, "added.f", &added_f, &added_f_len ); - pex = - tr_peerMgrCompactToPex( added, added_len, added_f, added_f_len, - &n ); - for( i = 0; i < n; ++i ) + pex = tr_peerMgrCompactToPex( added, added_len, added_f, added_f_len, &n ); + + n = MIN( n, MAX_PEX_PEER_COUNT ); + for( i=0; i