com.microsoft.sqlserver.jdbc.dns.DNSKerberosLocator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mssql-jdbc Show documentation
Show all versions of mssql-jdbc Show documentation
Microsoft JDBC Driver for SQL Server.
/*
* Microsoft JDBC Driver for SQL Server
*
* Copyright(c) Microsoft Corporation All rights reserved.
*
* This program is made available under the terms of the MIT License. See the LICENSE file in the project root for more information.
*/
package com.microsoft.sqlserver.jdbc.dns;
import java.util.Set;
import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
public final class DNSKerberosLocator {
private DNSKerberosLocator() {
}
/**
* Tells whether a realm is valid.
*
* @param realmName
* the realm to test
* @return true if realm is valid, false otherwise
* @throws NamingException
* if DNS failed, so realm existence cannot be determined
*/
public static boolean isRealmValid(String realmName) throws NamingException {
if (realmName == null || realmName.length() < 2) {
return false;
}
if (realmName.startsWith(".")) {
realmName = realmName.substring(1);
}
try {
Set records = DNSUtilities.findSrvRecords("_kerberos._udp." + realmName);
return !records.isEmpty();
}
catch (NameNotFoundException wrongDomainException) {
return false;
}
}
}