static char err[BUFSIZ];
static char adr[BUFSIZ];
-/* static prototype */
-char *OfficialName(char *);
-
char *
getname(char *addrs)
return 0;
}
-
-
-/*
-** Moved from hosts.c -- find out the official name of a host
-*/
-
-/*
-** In the SendMail world, we really don't know what the valid
-** hosts are. We could poke around in the sendmail.cf file, but
-** that still isn't a guarantee. As a result, we'll say that
-** everything is a valid host, and let SendMail worry about it.
-*/
-
-#include <netdb.h>
-
-
-char *
-OfficialName(char *name)
-{
- unsigned char *p;
- char *q, site[BUFSIZ];
- struct addrinfo hints, *res;
-
- static char buffer[BUFSIZ];
-
- for (p = name, q = site; *p && (q - site < sizeof(site) - 1); p++, q++)
- *q = isupper(*p) ? tolower(*p) : *p;
- *q = '\0';
- q = site;
-
- if (!mh_strcasecmp(LocalName(), site))
- return LocalName();
-
- memset(&hints, 0, sizeof(hints));
- hints.ai_flags = AI_CANONNAME;
- hints.ai_family = PF_UNSPEC;
-
- if (getaddrinfo(q, NULL, &hints, &res) == 0) {
- strncpy(buffer, res->ai_canonname, sizeof(buffer));
- buffer[sizeof(buffer) - 1] = '\0';
- freeaddrinfo(res);
- return buffer;
- }
-
- strncpy(buffer, site, sizeof(buffer));
- return buffer;
-}