Fix UPnP IGD detection (#689)
This commit is contained in:
@@ -82,6 +82,8 @@ static std::string_view status_string(int status) {
|
|||||||
case 1:
|
case 1:
|
||||||
return "Valid IGD device found"sv;
|
return "Valid IGD device found"sv;
|
||||||
case 2:
|
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;
|
return "A UPnP device has been found, but it wasn't recognized as an IGD"sv;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,7 +111,7 @@ std::unique_ptr<platf::deinit_t> start() {
|
|||||||
IGDdatas data;
|
IGDdatas data;
|
||||||
|
|
||||||
auto status = UPNP_GetValidIGD(device.get(), &urls.el, &data, lan_addr.data(), lan_addr.size());
|
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);
|
BOOST_LOG(error) << status_string(status);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user