From 30a790ba4029ab209b6eb3e82aa2dd5ab3e5316f Mon Sep 17 00:00:00 2001 From: Tony Langhammer Date: Tue, 3 Jan 2023 22:09:07 +0100 Subject: [PATCH] Fix UPnP IGD detection (#689) --- src/upnp.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/upnp.cpp b/src/upnp.cpp index 03aedd51..36c06921 100644 --- a/src/upnp.cpp +++ b/src/upnp.cpp @@ -82,6 +82,8 @@ static std::string_view status_string(int status) { case 1: return "Valid IGD device found"sv; case 2: + return "Valid IGD device found, but it isn't connected"sv; + case 3: return "A UPnP device has been found, but it wasn't recognized as an IGD"sv; } @@ -109,7 +111,7 @@ std::unique_ptr start() { IGDdatas data; auto status = UPNP_GetValidIGD(device.get(), &urls.el, &data, lan_addr.data(), lan_addr.size()); - if(status != 1) { + if(status != 1 && status != 2) { BOOST_LOG(error) << status_string(status); return nullptr; }