Push testig for UTP enabled further down.

There's no need to test for DHT/uTP being enabled in tr-udp.  The DHT
will silently discard any packets directed at the wrong session (see the
beginning of dhtCallback).  As to uTP, we need to grok uTP packets
to close any remaining connections after we disabled uTP, so it's better
to participate in uTP, just reject any incoming connections.
This commit is contained in:
Juliusz Chroboczek 2011-02-18 00:35:56 +00:00
parent 4f50c5dda4
commit 51bc8d8b80
2 changed files with 7 additions and 2 deletions

View File

@ -135,11 +135,11 @@ event_callback(int s, short type UNUSED, void *sv)
if(rc <= 0)
return;
if((buf[0] == 'd') && tr_sessionIsDHTEnabled(ss)) {
if( buf[0] == 'd' ) {
/* DHT packet. */
buf[rc] = '\0';
tr_dhtCallback(buf, rc, (struct sockaddr*)&from, fromlen, sv);
} else if(tr_sessionIsUTPEnabled(ss)){
} else {
rc = tr_utpPacket(buf, rc, (struct sockaddr*)&from, fromlen, ss);
if(!rc)
tr_ndbg("UDP", "Unexpected UDP packet");

View File

@ -49,6 +49,11 @@ incoming(void *closure, struct UTPSocket *s)
socklen_t fromlen = sizeof(from_storage);
tr_address addr;
tr_port port;
if( !tr_sessionIsUTPEnabled(ss) ) {
UTP_Close(s);
return;
}
UTP_GetPeerName(s, from, &fromlen);
if(from->sa_family == AF_INET) {