From 1739dd02253cc715ff5b875ec3a45385300498da Mon Sep 17 00:00:00 2001 From: Sebastien Vincent Date: Tue, 8 Feb 2011 17:57:12 +0000 Subject: [PATCH] In case we fail to resolve backup resolver address, we take the IP address of the default backup resolver. --- resources/config/defaults.properties | 4 ++++ .../sip/communicator/util/NetworkUtils.java | 22 ++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/resources/config/defaults.properties b/resources/config/defaults.properties index 76db27511..0882a9e90 100644 --- a/resources/config/defaults.properties +++ b/resources/config/defaults.properties @@ -69,3 +69,7 @@ plugin.simpleaccreg.PROTOCOL_ORDER=SIP|MSN|Yahoo|ICQ|AIM|Jabber plugin.provisioning.DEFAULT_PROVISIONING_METHOD= plugin.updatechecker.package.name=sip-communicator + +# IP address of the backup resolver +util.dns.BACKUP_RESOLVER_IP=8.8.8.8 + diff --git a/src/net/java/sip/communicator/util/NetworkUtils.java b/src/net/java/sip/communicator/util/NetworkUtils.java index db631f540..1d7073ad3 100644 --- a/src/net/java/sip/communicator/util/NetworkUtils.java +++ b/src/net/java/sip/communicator/util/NetworkUtils.java @@ -98,6 +98,13 @@ public class NetworkUtils public static final String DEFAULT_BACKUP_RESOLVER = "backup-resolver.jitsi.net"; + /** + * The name of the system property that users may use to override the + * IP address of our backup DNS resolver. + */ + public static final String PNAME_BACKUP_RESOLVER_IP + = "util.dns.BACKUP_RESOLVER_IP"; + /** * The DNSjava resolver that we use with SRV and NAPTR queries in order to * try and smooth the problem of DNS servers that silently drop them. @@ -1025,14 +1032,23 @@ private static Lookup createLookup(String domain, int type) { String customRslvrAddr = System.getProperty(PNAME_BACKUP_RESOLVER); - String rslvrAddrStr = DEFAULT_BACKUP_RESOLVER; + String customRslvrIP + = UtilActivator.getResources().getSettingsString( + PNAME_BACKUP_RESOLVER_IP); if(! StringUtils.isNullOrEmpty( customRslvrAddr )) rslvrAddrStr = customRslvrAddr; - InetAddress resolverAddress - = getInetAddress(rslvrAddrStr); + InetAddress resolverAddress = getInetAddress(rslvrAddrStr); + + if(resolverAddress == null) + { + /* name resolution failed for backup DNS resolver, + * try with the IP address of the default backup resolver + */ + resolverAddress = getInetAddress(customRslvrIP); + } int rslvrPort = SimpleResolver.DEFAULT_PORT;