Files
freeipa/util/ipa_hostname.h
T
Christian Heimes e28ec76898 Unify access to FQDN
FreeIPA's Python and C code used different approaches to get the FQDN of
the host. Some places assumed that gethostname() returns a FQDN. Other
code paths used glibc's resolver to resolve the current node name to a
FQDN.

Python code now uses the ipalib.constants.FQDN where a fully qualified
domain name is expected. The variable is initialized only once and avoids
potential DNS lookups.

C code uses a new helper function ipa_gethostfqdn() in util package. The
function implements similar logic as gethostfqdn() except it uses more
modern getaddrinfo(). The result is cached as well.

Fixes: https://pagure.io/freeipa/issue/8501
Signed-off-by: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Fraser Tweedale <ftweedal@redhat.com>
2020-10-26 17:11:19 +11:00

20 lines
317 B
C

/*
* Copyright (C) 2020 FreeIPA Contributors see COPYING for license
*/
#include <limits.h>
#include <unistd.h>
/*
* host name length including NULL byte
*
* NOTE: length hardcoded in kernel
*/
#define IPA_HOST_NAME_LEN (HOST_NAME_MAX + 1)
int
ipa_gethostname(char *name);
int
ipa_gethostfqdn(char *name);