Commit 80dc194f authored by Nirbheek Chauhan's avatar Nirbheek Chauhan 🐜

interfaces: Port to GetBestInterfaceEx for UWP compat

Still prefer ipv4 addresses for backwards-compat. GetBestInterface is
not allowed when targeting UWP, so use GetBestInterfaceEx.

Also add some debug logging to ensure that the function is actually
running correctly.
parent 353f5620
......@@ -600,8 +600,21 @@ GList * nice_interfaces_get_local_ips (gboolean include_loopback)
* Get the best interface for transport to 0.0.0.0.
* This interface should be first in list!
*/
if (GetBestInterface (0, &pref) != NO_ERROR)
pref = 0;
{
DWORD retcode;
struct sockaddr_in sa_any = {0};
sa_any.sin_family = AF_INET;
sa_any.sin_addr.s_addr = htonl (INADDR_ANY);
retcode = GetBestInterfaceEx ((SOCKADDR *) &sa_any, &pref);
if (retcode != NO_ERROR) {
gchar *msg = g_win32_error_message (retcode);
nice_debug ("Error fetching best interface: %s", msg);
g_free (msg);
pref = 0;
}
}
/* Loop over the adapters. */
for (a = addresses; a != NULL; a = a->Next) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment