From 59fa0595f0f9423ab35eca755b2efc3945a64fe8 Mon Sep 17 00:00:00 2001 From: Rick Dicaire Date: Wed, 5 Nov 2025 18:21:57 -0500 Subject: [PATCH 1/2] Provides SRV support for --directoryaddress --- src/serverlist.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/serverlist.cpp b/src/serverlist.cpp index c1015256b5..10378f6e5c 100644 --- a/src/serverlist.cpp +++ b/src/serverlist.cpp @@ -974,8 +974,13 @@ void CServerListManager::SetRegistered ( const bool bIsRegister ) // it is an URL of a dynamic IP address, the IP address might have // changed in the meanwhile. // Allow IPv4 only for communicating with Directories - const QString strNetworkAddress = NetworkUtil::GetDirectoryAddress ( DirectoryType, strDirectoryAddress ); - const bool bDirectoryAddressValid = NetworkUtil().ParseNetworkAddress ( strNetworkAddress, DirectoryAddress, false ); + // Use SRV DNS discovery for directory connections + const QString strNetworkAddress = NetworkUtil::GetDirectoryAddress ( DirectoryType, strDirectoryAddress ); +#ifndef CLIENT_NO_SRV_CONNECT + const bool bDirectoryAddressValid = NetworkUtil().ParseNetworkAddressWithSrvDiscovery ( strNetworkAddress, DirectoryAddress, false ); +#else + const bool bDirectoryAddressValid = NetworkUtil().ParseNetworkAddress ( strNetworkAddress, DirectoryAddress, false ); +#endif if ( bIsRegister ) { From fa2585917f6f4b8729604f30834c0e491ccc4d86 Mon Sep 17 00:00:00 2001 From: Rick Dicaire Date: Wed, 5 Nov 2025 19:26:58 -0500 Subject: [PATCH 2/2] Update comment for clarity --- src/serverlist.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/serverlist.cpp b/src/serverlist.cpp index 10378f6e5c..9bce4054ea 100644 --- a/src/serverlist.cpp +++ b/src/serverlist.cpp @@ -974,7 +974,7 @@ void CServerListManager::SetRegistered ( const bool bIsRegister ) // it is an URL of a dynamic IP address, the IP address might have // changed in the meanwhile. // Allow IPv4 only for communicating with Directories - // Use SRV DNS discovery for directory connections + // Use SRV DNS discovery for directory connections, fallback to A/AAAA if none. const QString strNetworkAddress = NetworkUtil::GetDirectoryAddress ( DirectoryType, strDirectoryAddress ); #ifndef CLIENT_NO_SRV_CONNECT const bool bDirectoryAddressValid = NetworkUtil().ParseNetworkAddressWithSrvDiscovery ( strNetworkAddress, DirectoryAddress, false );