1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-07 00:58:40 +03:00

s3:lib: Remove obsolete name_to_fqdn()

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Andreas Schneider 2024-03-06 16:00:47 +01:00 committed by Andrew Bartlett
parent f6efc74670
commit 84989f2bf4
2 changed files with 0 additions and 60 deletions

View File

@ -342,7 +342,6 @@ bool ms_has_wild_w(const smb_ucs2_t *s);
bool mask_match(const char *string, const char *pattern, bool is_case_sensitive);
bool mask_match_list(const char *string, char **list, int listLen, bool is_case_sensitive);
#include "lib/util/unix_match.h"
bool name_to_fqdn(fstring fqdn, const char *name);
#include "lib/util_procid.h"

View File

@ -1511,65 +1511,6 @@ bool mask_match_list(const char *string, char **list, int listLen, bool is_case_
return False;
}
/**********************************************************************
Converts a name to a fully qualified domain name.
Returns true if lookup succeeded, false if not (then fqdn is set to name)
Uses getaddrinfo() with AI_CANONNAME flag to obtain the official
canonical name of the host. getaddrinfo() may use a variety of sources
including /etc/hosts to obtain the domainname. It expects aliases in
/etc/hosts to NOT be the FQDN. The FQDN should come first.
************************************************************************/
bool name_to_fqdn(fstring fqdn, const char *name)
{
char *full = NULL;
struct addrinfo hints;
struct addrinfo *result;
int s;
/* Configure hints to obtain canonical name */
memset(&hints, 0, sizeof(struct addrinfo));
hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */
hints.ai_socktype = SOCK_DGRAM; /* Datagram socket */
hints.ai_flags = AI_CANONNAME; /* Get host's FQDN */
hints.ai_protocol = 0; /* Any protocol */
s = getaddrinfo(name, NULL, &hints, &result);
if (s != 0) {
DBG_WARNING("getaddrinfo lookup for %s failed: %s\n",
name,
gai_strerror(s));
fstrcpy(fqdn, name);
return false;
}
full = result->ai_canonname;
/* Find out if the FQDN is returned as an alias
* to cope with /etc/hosts files where the first
* name is not the FQDN but the short name.
* getaddrinfo provides no easy way of handling aliases
* in /etc/hosts. Users should make sure the FQDN
* comes first in /etc/hosts. */
if (full && (! strchr_m(full, '.'))) {
DEBUG(1, ("WARNING: your /etc/hosts file may be broken!\n"));
DEBUGADD(1, (" Full qualified domain names (FQDNs) should not be specified\n"));
DEBUGADD(1, (" as an alias in /etc/hosts. FQDN should be the first name\n"));
DEBUGADD(1, (" prior to any aliases.\n"));
}
if (full && (strcasecmp_m(full, "localhost.localdomain") == 0)) {
DEBUG(1, ("WARNING: your /etc/hosts file may be broken!\n"));
DEBUGADD(1, (" Specifying the machine hostname for address 127.0.0.1 may lead\n"));
DEBUGADD(1, (" to Kerberos authentication problems as localhost.localdomain\n"));
DEBUGADD(1, (" may end up being used instead of the real machine FQDN.\n"));
}
DEBUG(10,("name_to_fqdn: lookup for %s -> %s.\n", name, full));
fstrcpy(fqdn, full);
freeaddrinfo(result); /* No longer needed */
return true;
}
struct server_id interpret_pid(const char *pid_string)
{
return server_id_from_string(get_my_vnn(), pid_string);