public String getServerPrincipal(String principalConfig, String host)
      throws IOException {
    String serverPrincipal = SecurityUtil.getServerPrincipal(principalConfig, host);
    String names[] = SaslRpcServer.splitKerberosName(serverPrincipal);
    if (names.length != 3) {
      throw new IOException(
          "Kerberos principal name does NOT have the expected hostname part: "
              + serverPrincipal);
    }
    return serverPrincipal;
  }
Functions that bridge Thrift's SASL transports to Hadoop's
SASL callback handlers and authentication classes.
HIVE-11378 This class is not directly used anymore.  It now exists only as a shell to be
extended by HadoopThriftAuthBridge23 in 0.23 shims.  I have made it abstract
to avoid maintenance errors.
standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/security/HadoopThriftAuthBridge.java