mirror of https://github.com/PCSX2/pcsx2.git
DEV9: Have internal DNS use AdapterUtils
This commit is contained in:
parent
809c5ed051
commit
35b5138593
|
@ -38,6 +38,7 @@
|
|||
#include "DEV9/PacketReader/IP/UDP/DNS/DNS_Packet.h"
|
||||
|
||||
#include "DEV9/DEV9.h"
|
||||
#include "DEV9/AdapterUtils.h"
|
||||
|
||||
using namespace PacketReader;
|
||||
using namespace PacketReader::IP;
|
||||
|
@ -101,41 +102,13 @@ namespace InternalServers
|
|||
#endif
|
||||
{
|
||||
localhostIP = {127, 0, 0, 1};
|
||||
|
||||
//Find IPv4 Address
|
||||
#ifdef _WIN32
|
||||
PIP_ADAPTER_UNICAST_ADDRESS address = nullptr;
|
||||
if (adapter != nullptr)
|
||||
{
|
||||
PIP_ADAPTER_ADDRESSES info = (PIP_ADAPTER_ADDRESSES)adapter;
|
||||
address = info->FirstUnicastAddress;
|
||||
while (address != nullptr && address->Address.lpSockaddr->sa_family != AF_INET)
|
||||
address = address->Next;
|
||||
}
|
||||
|
||||
if (address != nullptr)
|
||||
{
|
||||
sockaddr_in* sockaddr = (sockaddr_in*)address->Address.lpSockaddr;
|
||||
localhostIP = *(IP_Address*)&sockaddr->sin_addr;
|
||||
}
|
||||
std::optional<IP_Address> adapterIP = AdapterUtils::GetAdapterIP(adapter);
|
||||
if (adapterIP.has_value())
|
||||
localhostIP = adapterIP.value();
|
||||
else
|
||||
Console.Error("DEV9: Failed To Get Adapter IP");
|
||||
#elif defined(__POSIX__)
|
||||
sockaddr* address = nullptr;
|
||||
if (adapter != nullptr)
|
||||
{
|
||||
ifaddrs* info = (ifaddrs*)adapter;
|
||||
if (info->ifa_addr != nullptr && info->ifa_addr->sa_family == AF_INET)
|
||||
address = info->ifa_addr;
|
||||
}
|
||||
|
||||
if (address != nullptr)
|
||||
{
|
||||
sockaddr_in* sockaddr = (sockaddr_in*)address;
|
||||
localhostIP = *(IP_Address*)&sockaddr->sin_addr;
|
||||
}
|
||||
else
|
||||
Console.Error("DEV9: Failed To Get Adapter IP");
|
||||
#endif
|
||||
|
||||
LoadHostList();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue