mirror of
https://github.com/moonlight-stream/Internet-Hosting-Tool.git
synced 2025-07-03 16:25:24 +00:00
Assume that NAT-PMP rules are present if we found a NAT-PMP gateway
This commit is contained in:
parent
de806ad57e
commit
2ce09f5fea
@ -422,6 +422,7 @@ UPnPPortStatus UPnPCheckPort(struct UPNPUrls* urls, struct IGDdatas* data, int p
|
|||||||
bool CheckWANAccess(PSOCKADDR_IN wanAddr, PSOCKADDR_IN reportedWanAddr, bool* foundPortForwardingRules, bool* igdDisconnected)
|
bool CheckWANAccess(PSOCKADDR_IN wanAddr, PSOCKADDR_IN reportedWanAddr, bool* foundPortForwardingRules, bool* igdDisconnected)
|
||||||
{
|
{
|
||||||
natpmp_t natpmp;
|
natpmp_t natpmp;
|
||||||
|
bool foundUpnpIgd = false;
|
||||||
|
|
||||||
*foundPortForwardingRules = false;
|
*foundPortForwardingRules = false;
|
||||||
*igdDisconnected = false;
|
*igdDisconnected = false;
|
||||||
@ -451,6 +452,7 @@ bool CheckWANAccess(PSOCKADDR_IN wanAddr, PSOCKADDR_IN reportedWanAddr, bool* fo
|
|||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
// Connected or disconnected IGD
|
// Connected or disconnected IGD
|
||||||
if (ret == 1 || ret == 2) {
|
if (ret == 1 || ret == 2) {
|
||||||
|
foundUpnpIgd = true;
|
||||||
if (ret == 2) {
|
if (ret == 2) {
|
||||||
*igdDisconnected = true;
|
*igdDisconnected = true;
|
||||||
}
|
}
|
||||||
@ -517,6 +519,12 @@ bool CheckWANAccess(PSOCKADDR_IN wanAddr, PSOCKADDR_IN reportedWanAddr, bool* fo
|
|||||||
printf("%s\n", addrStr);
|
printf("%s\n", addrStr);
|
||||||
if (wanAddr->sin_addr.S_un.S_addr != 0) {
|
if (wanAddr->sin_addr.S_un.S_addr != 0) {
|
||||||
gotReportedWanAddress = true;
|
gotReportedWanAddress = true;
|
||||||
|
|
||||||
|
if (!foundUpnpIgd) {
|
||||||
|
// Just in case we have a NAT-PMP gateway that doesn't do NAT reflection
|
||||||
|
// let's assume it's all okay if we got any response at all
|
||||||
|
*foundPortForwardingRules = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user