KRB5\_ANAME\_TO\_LOCALNAME(3) Library Functions Manual KRB5\_ANAME\_TO\_LOCALNAME(3)

# [NAME](#NAME)

`krb5_aname_to_localname` — converts a principal to a system local name

# [LIBRARY](#LIBRARY)

Kerberos 5 Library (libkrb5, -lkrb5)

# [SYNOPSIS](#SYNOPSIS)

`#include <krb5.h>`

`krb5_boolean`  
`krb5_aname_to_localname`(`krb5_context context`, `krb5_const_principal name`, `size_t lnsize`, `char *lname`);

# [DESCRIPTION](#DESCRIPTION)

This function takes a principal `name`, verifies that it is in the local realm (using [`krb5_get_default_realms`](#krb5_get_default_realms)()) and then returns the local name of the principal.

If `name` isn't in one of the local realms an error is returned.

If the size (`lnsize`) of the local name (`lname`) is too small, an error is returned.

[`krb5_aname_to_localname`](#krb5_aname_to_localname)() should only be use by an application that implements protocols that don't transport the login name and thus needs to convert a principal to a local name.

Protocols should be designed so that they authenticate using Kerberos, send over the login name and then verify the principal that is authenticated is allowed to login and the login name. A way to check if a user is allowed to login is using the function [`krb5_kuserok`](#krb5_kuserok)().

# [SEE ALSO](#SEE_ALSO)

[krb5\_get\_default\_realms(3)](/man/os/heimdal/krb5_get_default_realms.3), [krb5\_kuserok(3)](/man/os/heimdal/krb5_kuserok.3)

February 18, 2006 HEIMDAL

---

Document: krb5_aname_to_localname(3) from heimdal 7.8.0-r53 (Chainguard OS)
Source: https://github.com/heimdal/heimdal
