Provided by: heimdal-dev_7.8.git20221117.28daf24+dfsg-5ubuntu3_amd64 bug

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.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)