Merge pull request #42 from TheGoddessInari/fix-miniupnpc

Fix miniupnpc versioning.
This commit is contained in:
cygnusxi 2020-01-20 02:40:19 -06:00 committed by GitHub
commit 4f9b816f48
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1028,13 +1028,17 @@ void ThreadMapPort2(void* parg)
struct UPNPDev * devlist = 0; struct UPNPDev * devlist = 0;
char lanaddr[64]; char lanaddr[64];
#ifndef UPNPDISCOVER_SUCCESS #if MINIUPNPC_API_VERSION >= 14
/* miniupnpc 1.5 */ /* miniupnpc >=1.9 */
devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0); int error = 0;
#else devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0, 0, 2, &error);
#elif MINIUPNPC_API_VERSION >= 8
/* miniupnpc 1.6 */ /* miniupnpc 1.6 */
int error = 0; int error = 0;
devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0, 0, &error); devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0, 0, &error);
#else
/* miniupnpc 1.5 */
devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0);
#endif #endif
struct UPNPUrls urls; struct UPNPUrls urls;
@ -1062,14 +1066,14 @@ void ThreadMapPort2(void* parg)
} }
string strDesc = "curecoin " + FormatFullVersion(); string strDesc = "curecoin " + FormatFullVersion();
#ifndef UPNPDISCOVER_SUCCESS #if MINIUPNPC_API_VERSION >= 8
/* miniupnpc 1.5 */
r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
port.c_str(), port.c_str(), lanaddr, strDesc.c_str(), "TCP", 0);
#else
/* miniupnpc 1.6 */ /* miniupnpc 1.6 */
r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
port.c_str(), port.c_str(), lanaddr, strDesc.c_str(), "TCP", 0, "0"); port.c_str(), port.c_str(), lanaddr, strDesc.c_str(), "TCP", 0, "0");
#else
/* miniupnpc 1.5 */
r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
port.c_str(), port.c_str(), lanaddr, strDesc.c_str(), "TCP", 0);
#endif #endif
if(r!=UPNPCOMMAND_SUCCESS) if(r!=UPNPCOMMAND_SUCCESS)
@ -1089,14 +1093,14 @@ void ThreadMapPort2(void* parg)
} }
if (i % 600 == 0) // Refresh every 20 minutes if (i % 600 == 0) // Refresh every 20 minutes
{ {
#ifndef UPNPDISCOVER_SUCCESS #if MINIUPNPC_API_VERSION >= 8
/* miniupnpc 1.5 */
r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
port.c_str(), port.c_str(), lanaddr, strDesc.c_str(), "TCP", 0);
#else
/* miniupnpc 1.6 */ /* miniupnpc 1.6 */
r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
port.c_str(), port.c_str(), lanaddr, strDesc.c_str(), "TCP", 0, "0"); port.c_str(), port.c_str(), lanaddr, strDesc.c_str(), "TCP", 0, "0");
#else
/* miniupnpc 1.5 */
r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
port.c_str(), port.c_str(), lanaddr, strDesc.c_str(), "TCP", 0);
#endif #endif
if(r!=UPNPCOMMAND_SUCCESS) if(r!=UPNPCOMMAND_SUCCESS)