From d379a4ee74df74080b75390a5cadb44dab48873b Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Tue, 6 Nov 2018 20:13:47 -0800 Subject: [PATCH] Don't hardcode the testing IP address --- mist/mist.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mist/mist.cpp b/mist/mist.cpp index 7a25508..e4c0896 100644 --- a/mist/mist.cpp +++ b/mist/mist.cpp @@ -320,9 +320,16 @@ bool TestAllPorts(PSOCKADDR_STORAGE addr, char* portMsg, int portMsgLen) bool FindLocalInterfaceIP4Address(PSOCKADDR_IN addr) { SOCKET s; + struct hostent* host; printf("Finding local IP address..."); + host = gethostbyname("google.com"); + if (host == nullptr) { + printf("gethostbyname() failed: %d\n", WSAGetLastError()); + return false; + } + s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (s == INVALID_SOCKET) { printf("socket() failed: %d\n", WSAGetLastError()); @@ -332,7 +339,7 @@ bool FindLocalInterfaceIP4Address(PSOCKADDR_IN addr) SOCKADDR_IN sin = {}; sin.sin_family = AF_INET; sin.sin_port = htons(443); - sin.sin_addr.S_un.S_addr = inet_addr("8.8.8.8"); + sin.sin_addr = *(struct in_addr*)host->h_addr; int err = connect(s, (struct sockaddr*)&sin, sizeof(sin)); if (err == SOCKET_ERROR) { printf("connect() failed: %d\n", WSAGetLastError());