diff options
| author | Hennadii Stepanov <[email protected]> | 2019-05-06 22:17:31 +0300 |
|---|---|---|
| committer | Hennadii Stepanov <[email protected]> | 2019-06-07 09:37:33 +0200 |
| commit | 9f76e45b9d6671e2074fb7a3885db703045a791f (patch) | |
| tree | 1c58194f4a7a02a49fee2fbb319bf40d92fe53d7 | |
| parent | Merge #15927: [tests] log thread names by default in functional tests (diff) | |
| download | discoin-9f76e45b9d6671e2074fb7a3885db703045a791f.tar.xz discoin-9f76e45b9d6671e2074fb7a3885db703045a791f.zip | |
Drop support of insecure miniUPnPc versions
The minimum supported miniUPnPc API version is set to 10.
| -rw-r--r-- | .travis.yml | 2 | ||||
| -rw-r--r-- | src/net.cpp | 18 |
2 files changed, 5 insertions, 15 deletions
diff --git a/.travis.yml b/.travis.yml index 21d1062c2..d25b1bf23 100644 --- a/.travis.yml +++ b/.travis.yml @@ -139,7 +139,7 @@ jobs: env: >- HOST=x86_64-unknown-linux-gnu DOCKER_NAME_TAG=ubuntu:14.04 - PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libicu-dev libpng-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.1++-dev libminiupnpc-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev" + PACKAGES="python3-zmq qtbase5-dev qttools5-dev-tools libicu-dev libpng-dev libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb5.1++-dev libzmq3-dev libprotobuf-dev protobuf-compiler libqrencode-dev" NO_DEPENDS=1 RUN_FUNCTIONAL_TESTS=false GOAL="install" diff --git a/src/net.cpp b/src/net.cpp index 1335804b0..c073849e4 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -36,6 +36,9 @@ #include <miniupnpc/miniwget.h> #include <miniupnpc/upnpcommands.h> #include <miniupnpc/upnperrors.h> +// The minimum supported miniUPnPc API version is set to 10. This keeps compatibility +// with Ubuntu 16.04 LTS and Debian 8 libminiupnpc-dev packages. +static_assert(MINIUPNPC_API_VERSION >= 10, "miniUPnPc API version >= 10 assumed"); #endif #include <unordered_map> @@ -1403,16 +1406,10 @@ static void ThreadMapPort() struct UPNPDev * devlist = nullptr; char lanaddr[64]; -#ifndef UPNPDISCOVER_SUCCESS - /* miniupnpc 1.5 */ - devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0); -#elif MINIUPNPC_API_VERSION < 14 - /* miniupnpc 1.6 */ int error = 0; +#if MINIUPNPC_API_VERSION < 14 devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0, 0, &error); #else - /* miniupnpc 1.9.20150730 */ - int error = 0; devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0, 0, 2, &error); #endif @@ -1446,15 +1443,8 @@ static void ThreadMapPort() std::string strDesc = "Bitcoin " + FormatFullVersion(); do { -#ifndef UPNPDISCOVER_SUCCESS - /* 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 */ r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype, port.c_str(), port.c_str(), lanaddr, strDesc.c_str(), "TCP", 0, "0"); -#endif if(r!=UPNPCOMMAND_SUCCESS) LogPrintf("AddPortMapping(%s, %s, %s) failed with code %d (%s)\n", |