KRB5_SET_DEFAULT_REALM(3) | Library Functions Manual | KRB5_SET_DEFAULT_REALM(3)

# NAME

`krb5_copy_host_realm`, `krb5_free_host_realm`, `krb5_get_default_realm`, `krb5_get_default_realms`, `krb5_get_host_realm`, `krb5_set_default_realm` —
default and host realm read and manipulation routines

# LIBRARY

Kerberos 5 Library (libkrb5, -lkrb5)

# SYNOPSIS

`#include <krb5/krb5.h>`

krb5_error_code
`krb5_copy_host_realm`(krb5_context context, const krb5_realm *from, krb5_realm **to);

krb5_error_code
`krb5_free_host_realm`(krb5_context context, krb5_realm *realmlist);

krb5_error_code
`krb5_get_default_realm`(krb5_context context, krb5_realm *realm);

krb5_error_code
`krb5_get_default_realms`(krb5_context context, krb5_realm **realm);

krb5_error_code
`krb5_get_host_realm`(krb5_context context, const char *host, krb5_realm **realms);

krb5_error_code
`krb5_set_default_realm`(krb5_context context, const char *realm);

# DESCRIPTION

`krb5_copy_host_realm`() copies the list of realms from from to to. to should be freed by the caller using krb5_free_host_realm.

`krb5_free_host_realm`() frees all memory allocated by realmlist.

`krb5_get_default_realm`() returns the first default realm for this host. The realm returned should be freed with `krb5_xfree`().

`krb5_get_default_realms`() returns a `NULL` terminated list of default realms for this context. Realms returned by `krb5_get_default_realms`() should be freed with `krb5_free_host_realm`().

`krb5_get_host_realm`() returns a `NULL` terminated list of realms for host by looking up the information in the `[domain_realm]` in krb5.conf or in `DNS`. If the mapping in `[domain_realm]` results in the string `dns_locate`, DNS is used to lookup the realm.

When using `DNS` to a resolve the domain for the host a.b.c, `krb5_get_host_realm`() looks for a `TXT` resource record named `_kerberos.a.b.c`, and if not found, it strips off the first component and tries a again (_kerberos.b.c) until it reaches the root.

If there is no configuration or DNS information found, `krb5_get_host_realm`() assumes it can use the domain part of the host to form a realm. Caller must free realmlist with `krb5_free_host_realm`().

`krb5_set_default_realm`() sets the default realm for the context. If `NULL` is used as a realm, the `[libdefaults]default_realm` stanza in krb5.conf is used. If there is no such stanza in the configuration file, the `krb5_get_host_realm`() function is used to form a default realm.

# SEE ALSO

free(3), krb5.conf(5)

April 24, 2005 | NetBSD 9.0