]> granicus.if.org Git - transmission/commitdiff
(trunk libT) #3727 "Fix NAT-PMP race between renewal and expiry" -- committed patch...
authorCharles Kerr <charles@transmissionbt.com>
Sun, 7 Nov 2010 21:33:01 +0000 (21:33 +0000)
committerCharles Kerr <charles@transmissionbt.com>
Sun, 7 Nov 2010 21:33:01 +0000 (21:33 +0000)
libtransmission/natpmp.c

index 8e84a7bcb9bc1b9bb264511c4c74a019994f6df9..1cf7dabcbf5f994d4180eac1384d643cc8589a7e 100644 (file)
@@ -212,7 +212,7 @@ tr_natpmpPulse( struct tr_natpmp * nat, tr_port private_port, tr_bool is_enabled
         {
             nat->state = TR_NATPMP_IDLE;
             nat->is_mapped = TRUE;
-            nat->renew_time = tr_time( ) + LIFETIME_SECS;
+            nat->renew_time = tr_time( ) + ( resp.pnu.newportmapping.lifetime / 2 );
             nat->private_port = resp.pnu.newportmapping.privateport;
             nat->public_port = resp.pnu.newportmapping.mappedpublicport;
             tr_ninf( getKey( ), _( "Port %d forwarded successfully" ), nat->private_port );