MIT Kerberos Documentation

krb5_parse_name_flags - Convert a string principal name to a krb5_principal with flags.

krb5_error_code krb5_parse_name_flags(krb5_context context, const char * name, int flags, krb5_principal * principal_out)
param:

[in] context - Library context

[in] name - String representation of a principal name

[in] flags - Flag

[out] principal_out - New principal

retval:
  • 0 Success
return:
  • Kerberos error codes

Similar to krb5_parse_name(), this function converts a single-string representation of a principal name to a krb5_principal structure.

The following flags are valid:

  • #KRB5_PRINCIPAL_PARSE_NO_REALM - no realm must be present in name
  • #KRB5_PRINCIPAL_PARSE_REQUIRE_REALM - realm must be present in name
  • #KRB5_PRINCIPAL_PARSE_ENTERPRISE - create single-component enterprise principal
  • #KRB5_PRINCIPAL_PARSE_IGNORE_REALM - ignore realm if present in name

If KRB5_PRINCIPAL_PARSE_NO_REALM or KRB5_PRINCIPAL_PARSE_IGNORE_REALM is specified in flags , the realm of the new principal will be empty. Otherwise, the default realm for context will be used if name does not specify a realm.

Use krb5_free_principal() to free principal_out when it is no longer needed.