From cf2ecf506cd9ba1321a1955f6d3053fe4f1a0d71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s?= Date: Tue, 31 May 2022 22:39:10 -0500 Subject: [PATCH] Fix lan rooms on android This simple change makes lan discovery work on android again. The is_lan_address function was meant to filter out duplicate rooms only anyway and this change shouldn't harm anything The responses on android are seen as IPv6 mapped IPv4 addresses so this is needed for this to work anyway I/RetroArch: [Discovery] Responnse received on LAN interface ::ffff:192.168.1.241. I/RetroArch: [Netplay]: Connecting to ::ffff:192.168.1.241|55435 (deferred) --- network/netplay/netplay_frontend.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/network/netplay/netplay_frontend.c b/network/netplay/netplay_frontend.c index 2cb929a002..40eccaf422 100644 --- a/network/netplay/netplay_frontend.c +++ b/network/netplay/netplay_frontend.c @@ -333,13 +333,17 @@ static bool netplay_lan_ad_client_response(void) /* And that we know how to handle it */ #ifdef HAVE_INET6 +#ifndef ANDROID if (their_addr.ss_family != AF_INET) continue; #endif - - if (!netplay_is_lan_address( - (struct sockaddr_in *) &their_addr)) - continue; +#endif + if (their_addr.ss_family != AF_INET) + { + if (!netplay_is_lan_address( + (struct sockaddr_in *) &their_addr)) + continue; + } #ifndef HAVE_SOCKET_LEGACY if (getnameinfo((struct sockaddr *)