keyhole logo

Functions

Heimdal Kerberos 5 principal functions

Functions

KRB5_LIB_FUNCTION void
KRB5_LIB_CALL 
krb5_free_principal (krb5_context context, krb5_principal p)
KRB5_LIB_FUNCTION void
KRB5_LIB_CALL 
krb5_principal_set_type (krb5_context context, krb5_principal principal, int type)
KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_principal_get_type (krb5_context context, krb5_const_principal principal)
KRB5_LIB_FUNCTION const char
*KRB5_LIB_CALL 
krb5_principal_get_realm (krb5_context context, krb5_const_principal principal)
KRB5_LIB_FUNCTION unsigned int
KRB5_LIB_CALL 
krb5_principal_get_num_comp (krb5_context context, krb5_const_principal principal)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_parse_name_flags (krb5_context context, const char *name, int flags, krb5_principal *principal)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_parse_name (krb5_context context, const char *name, krb5_principal *principal)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_unparse_name_fixed (krb5_context context, krb5_const_principal principal, char *name, size_t len)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_unparse_name_fixed_short (krb5_context context, krb5_const_principal principal, char *name, size_t len)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_unparse_name_fixed_flags (krb5_context context, krb5_const_principal principal, int flags, char *name, size_t len)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_unparse_name (krb5_context context, krb5_const_principal principal, char **name)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_unparse_name_flags (krb5_context context, krb5_const_principal principal, int flags, char **name)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_unparse_name_short (krb5_context context, krb5_const_principal principal, char **name)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_principal_set_realm (krb5_context context, krb5_principal principal, krb5_const_realm realm)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_build_principal (krb5_context context, krb5_principal *principal, int rlen, krb5_const_realm realm,...)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_make_principal (krb5_context context, krb5_principal *principal, krb5_const_realm realm,...)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_copy_principal (krb5_context context, krb5_const_principal inprinc, krb5_principal *outprinc)
KRB5_LIB_FUNCTION krb5_boolean
KRB5_LIB_CALL 
krb5_principal_compare_any_realm (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)
KRB5_LIB_FUNCTION krb5_boolean
KRB5_LIB_CALL 
krb5_principal_compare (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)
KRB5_LIB_FUNCTION krb5_boolean
KRB5_LIB_CALL 
krb5_realm_compare (krb5_context context, krb5_const_principal princ1, krb5_const_principal princ2)
KRB5_LIB_FUNCTION krb5_boolean
KRB5_LIB_CALL 
krb5_principal_match (krb5_context context, krb5_const_principal princ, krb5_const_principal pattern)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_sname_to_principal (krb5_context context, const char *hostname, const char *sname, int32_t type, krb5_principal *ret_princ)
KRB5_LIB_FUNCTION
krb5_error_code KRB5_LIB_CALL 
krb5_parse_nametype (krb5_context context, const char *str, int32_t *nametype)
KRB5_LIB_FUNCTION krb5_boolean
KRB5_LIB_CALL 
krb5_principal_is_krbtgt (krb5_context context, krb5_const_principal p)

Function Documentation

KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_build_principal ( krb5_context  context,
krb5_principal *  principal,
int  rlen,
krb5_const_realm  realm,
  ... 
)

Build a principal using vararg style building

Parameters:
contextA Kerberos context.
principalreturned principal
rlenlength of realm
realmrealm name
...a list of components ended with NULL.
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_copy_principal ( krb5_context  context,
krb5_const_principal  inprinc,
krb5_principal *  outprinc 
)

Copy a principal

Parameters:
contextA Kerberos context.
inprincprincipal to copy
outprinccopied principal, free with krb5_free_principal()
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_principal ( krb5_context  context,
krb5_principal  p 
)

Frees a Kerberos principal allocated by the library with krb5_parse_name(), krb5_make_principal() or any other related principal functions.

Parameters:
contextA Kerberos context.
pa principal to free.
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_make_principal ( krb5_context  context,
krb5_principal *  principal,
krb5_const_realm  realm,
  ... 
)

Build a principal using vararg style building

Parameters:
contextA Kerberos context.
principalreturned principal
realmrealm name
...a list of components ended with NULL.
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_name ( krb5_context  context,
const char *  name,
krb5_principal *  principal 
)

Parse a name into a krb5_principal structure

Parameters:
contextKerberos 5 context
namename to parse into a Kerberos principal
principalreturned principal, free with krb5_free_principal().
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_name_flags ( krb5_context  context,
const char *  name,
int  flags,
krb5_principal *  principal 
)

Parse a name into a krb5_principal structure, flags controls the behavior.

Parameters:
contextKerberos 5 context
namename to parse into a Kerberos principal
flagsflags to control the behavior
principalreturned principal, free with krb5_free_principal().
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_parse_nametype ( krb5_context  context,
const char *  str,
int32_t *  nametype 
)

Parse nametype string and return a nametype integer

KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_compare ( krb5_context  context,
krb5_const_principal  princ1,
krb5_const_principal  princ2 
)

Compares the two principals, including realm of the principals and returns TRUE if they are the same and FALSE if not.

Parameters:
contextKerberos 5 context
princ1first principal to compare
princ2second principal to compare
See also:
krb5_principal_compare_any_realm()
krb5_realm_compare()
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_compare_any_realm ( krb5_context  context,
krb5_const_principal  princ1,
krb5_const_principal  princ2 
)

Return TRUE iff princ1 == princ2 (without considering the realm)

Parameters:
contextKerberos 5 context
princ1first principal to compare
princ2second principal to compare
Returns:
non zero if equal, 0 if not
See also:
krb5_principal_compare()
krb5_realm_compare()
KRB5_LIB_FUNCTION unsigned int KRB5_LIB_CALL krb5_principal_get_num_comp ( krb5_context  context,
krb5_const_principal  principal 
)

Get number of component is principal.

Parameters:
contextKerberos 5 context
principalprincipal to query
Returns:
number of components in string
KRB5_LIB_FUNCTION const char* KRB5_LIB_CALL krb5_principal_get_realm ( krb5_context  context,
krb5_const_principal  principal 
)

Get the realm of the principal

Parameters:
contextA Kerberos context.
principalprincipal to get the realm for
Returns:
realm of the principal, don't free or use after krb5_principal is freed
KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_principal_get_type ( krb5_context  context,
krb5_const_principal  principal 
)

Get the type of the principal

Parameters:
contextA Kerberos context.
principalprincipal to get the type for
Returns:
the type of principal
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_is_krbtgt ( krb5_context  context,
krb5_const_principal  p 
)

Check if the cname part of the principal is a krbtgt principal

KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_principal_match ( krb5_context  context,
krb5_const_principal  princ,
krb5_const_principal  pattern 
)

return TRUE iff princ matches pattern

KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_principal_set_realm ( krb5_context  context,
krb5_principal  principal,
krb5_const_realm  realm 
)

Set a new realm for a principal, and as a side-effect free the previous realm.

Parameters:
contextA Kerberos context.
principalprincipal set the realm for
realmthe new realm to set
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_principal_set_type ( krb5_context  context,
krb5_principal  principal,
int  type 
)

Set the type of the principal

Parameters:
contextA Kerberos context.
principalprincipal to set the type for
typethe new type
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_realm_compare ( krb5_context  context,
krb5_const_principal  princ1,
krb5_const_principal  princ2 
)

return TRUE iff realm(princ1) == realm(princ2)

Parameters:
contextKerberos 5 context
princ1first principal to compare
princ2second principal to compare
See also:
krb5_principal_compare_any_realm()
krb5_principal_compare()
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_sname_to_principal ( krb5_context  context,
const char *  hostname,
const char *  sname,
int32_t  type,
krb5_principal *  ret_princ 
)

Create a principal for the service running on hostname. If KRB5_NT_SRV_HST is used, the hostname is canonization using DNS (or some other service), this is potentially insecure.

Parameters:
contextA Kerberos context.
hostnamehostname to use
snameService name to use
typename type of pricipal, use KRB5_NT_SRV_HST or KRB5_NT_UNKNOWN.
ret_princreturn principal, free with krb5_free_principal().
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name ( krb5_context  context,
krb5_const_principal  principal,
char **  name 
)

Unparse the Kerberos name into a string

Parameters:
contextKerberos 5 context
principalprincipal to query
nameresulting string, free with krb5_xfree()
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed ( krb5_context  context,
krb5_const_principal  principal,
char *  name,
size_t  len 
)

Unparse the principal name to a fixed buffer

Parameters:
contextA Kerberos context.
principalprincipal to unparse
namebuffer to write name to
lenlength of buffer
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed_flags ( krb5_context  context,
krb5_const_principal  principal,
int  flags,
char *  name,
size_t  len 
)

Unparse the principal name with unparse flags to a fixed buffer.

Parameters:
contextA Kerberos context.
principalprincipal to unparse
flagsunparse flags
namebuffer to write name to
lenlength of buffer
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_fixed_short ( krb5_context  context,
krb5_const_principal  principal,
char *  name,
size_t  len 
)

Unparse the principal name to a fixed buffer. The realm is skipped if its a default realm.

Parameters:
contextA Kerberos context.
principalprincipal to unparse
namebuffer to write name to
lenlength of buffer
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_flags ( krb5_context  context,
krb5_const_principal  principal,
int  flags,
char **  name 
)

Unparse the Kerberos name into a string

Parameters:
contextKerberos 5 context
principalprincipal to query
flagsflag to determine the behavior
nameresulting string, free with krb5_xfree()
Returns:
An krb5 error code, see krb5_get_error_message().
KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_unparse_name_short ( krb5_context  context,
krb5_const_principal  principal,
char **  name 
)

Unparse the principal name to a allocated buffer. The realm is skipped if its a default realm.

Parameters:
contextA Kerberos context.
principalprincipal to unparse
namereturned buffer, free with krb5_xfree()
Returns:
An krb5 error code, see krb5_get_error_message().

Generated on Fri Dec 6 2013 08:15:58 for HeimdalKerberos5library by doxygen 1.7.2