in hbase-common/src/main/java/org/apache/omid/tools/hbase/HBaseLogin.java [80:99]
static boolean isSameName(String currentName, String newName, String hostname, String defaultRealm) throws IOException {
final boolean newNameContainsRealm = newName.indexOf('@') != -1;
// Make sure to replace "_HOST" if it exists before comparing the principals.
if (newName.contains(org.apache.hadoop.security.SecurityUtil.HOSTNAME_PATTERN)) {
if (newNameContainsRealm) {
newName = org.apache.hadoop.security.SecurityUtil.getServerPrincipal(newName, hostname);
} else {
// If the principal ends with "/_HOST", replace "_HOST" with the hostname.
if (newName.endsWith("/_HOST")) {
newName = newName.substring(0, newName.length() - 5) + hostname;
}
}
}
// The new name doesn't contain a realm and we could compute a default realm
if (!newNameContainsRealm && defaultRealm != null) {
return currentName.equals(newName + "@" + defaultRealm);
}
// We expect both names to contain a realm, so we can do a simple equality check
return currentName.equals(newName);
}