diff options
author | Luke Dashjr <luke-jr+git@utopios.org> | 2012-02-02 20:17:41 -0500 |
---|---|---|
committer | Luke Dashjr <luke-jr+git@utopios.org> | 2012-02-02 20:17:41 -0500 |
commit | 882e00e2159ce5e12170c7c1811236a039d8abfa (patch) | |
tree | 03e522bdc55f5a11e43c3c2cb2891895ecb704a9 /src/net.cpp | |
parent | c13d50d8617678c8696b1f33549ed9cc3a0b554e (diff) | |
parent | c11e2b8679e13f739a58faf2a3439d4aaed24364 (diff) | |
download | bitcoin-882e00e2159ce5e12170c7c1811236a039d8abfa.tar.xz |
Merge branch '0.4.x' into 0.5.0.x
Conflicts:
src/main.cpp
Diffstat (limited to 'src/net.cpp')
-rw-r--r-- | src/net.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/net.cpp b/src/net.cpp index 10f7c62c15..7b92e874ac 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1156,11 +1156,11 @@ void ThreadMapPort2(void* parg) { string strDesc = "Bitcoin " + FormatFullVersion(); #ifndef UPNPDISCOVER_SUCCESS - /* miniupnpc 1.5 */ + /* miniupnpc 1.5 */ r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, port, port, lanaddr, strDesc.c_str(), "TCP", 0); #else - /* miniupnpc 1.6 */ + /* miniupnpc 1.6 */ r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, port, port, lanaddr, strDesc.c_str(), "TCP", 0, "0"); #endif @@ -1170,6 +1170,7 @@ void ThreadMapPort2(void* parg) port, port, lanaddr, r, strupnperror(r)); else printf("UPnP Port Mapping successful.\n"); + int i = 1; loop { if (fShutdown || !fUseUPnP) { @@ -1179,7 +1180,26 @@ void ThreadMapPort2(void* parg) FreeUPNPUrls(&urls); return; } + if (i % 600 == 0) // Refresh every 20 minutes + { +#ifndef UPNPDISCOVER_SUCCESS + /* miniupnpc 1.5 */ + r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, + port, port, lanaddr, strDesc.c_str(), "TCP", 0); +#else + /* miniupnpc 1.6 */ + r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, + port, port, lanaddr, strDesc.c_str(), "TCP", 0, "0"); +#endif + + if(r!=UPNPCOMMAND_SUCCESS) + printf("AddPortMapping(%s, %s, %s) failed with code %d (%s)\n", + port, port, lanaddr, r, strupnperror(r)); + else + printf("UPnP Port Mapping successful.\n");; + } Sleep(2000); + i++; } } else { printf("No valid UPnP IGDs found\n"); |