summaryrefslogtreecommitdiff
path: root/contrib/sendmail/libmilter/sm_gethost.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/sendmail/libmilter/sm_gethost.c')
-rw-r--r--contrib/sendmail/libmilter/sm_gethost.c148
1 files changed, 0 insertions, 148 deletions
diff --git a/contrib/sendmail/libmilter/sm_gethost.c b/contrib/sendmail/libmilter/sm_gethost.c
deleted file mode 100644
index 5706b892b8dfd..0000000000000
--- a/contrib/sendmail/libmilter/sm_gethost.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (c) 1999-2001, 2004 Sendmail, Inc. and its suppliers.
- * All rights reserved.
- *
- * By using this file, you agree to the terms and conditions set
- * forth in the LICENSE file which can be found at the top level of
- * the sendmail distribution.
- *
- */
-
-#include <sm/gen.h>
-SM_RCSID("@(#)$Id: sm_gethost.c,v 8.27 2004/08/20 21:12:37 ca Exp $")
-
-#include <sendmail.h>
-#if NETINET || NETINET6
-# include <arpa/inet.h>
-#endif /* NETINET || NETINET6 */
-#include "libmilter.h"
-
-/*
-** MI_GETHOSTBY{NAME,ADDR} -- compatibility routines for gethostbyXXX
-**
-** Some operating systems have wierd problems with the gethostbyXXX
-** routines. For example, Solaris versions at least through 2.3
-** don't properly deliver a canonical h_name field. This tries to
-** work around these problems.
-**
-** Support IPv6 as well as IPv4.
-*/
-
-#if NETINET6 && NEEDSGETIPNODE
-
-static struct hostent *getipnodebyname __P((char *, int, int, int *));
-
-# ifndef AI_ADDRCONFIG
-# define AI_ADDRCONFIG 0 /* dummy */
-# endif /* ! AI_ADDRCONFIG */
-# ifndef AI_ALL
-# define AI_ALL 0 /* dummy */
-# endif /* ! AI_ALL */
-# ifndef AI_DEFAULT
-# define AI_DEFAULT 0 /* dummy */
-# endif /* ! AI_DEFAULT */
-
-static struct hostent *
-getipnodebyname(name, family, flags, err)
- char *name;
- int family;
- int flags;
- int *err;
-{
- bool resv6 = true;
- struct hostent *h;
-
- if (family == AF_INET6)
- {
- /* From RFC2133, section 6.1 */
- resv6 = bitset(RES_USE_INET6, _res.options);
- _res.options |= RES_USE_INET6;
- }
- SM_SET_H_ERRNO(0);
- h = gethostbyname(name);
- if (family == AF_INET6 && !resv6)
- _res.options &= ~RES_USE_INET6;
- *err = h_errno;
- return h;
-}
-
-void
-freehostent(h)
- struct hostent *h;
-{
- /*
- ** Stub routine -- if they don't have getipnodeby*(),
- ** they probably don't have the free routine either.
- */
-
- return;
-}
-#endif /* NEEDSGETIPNODE && NETINET6 */
-
-struct hostent *
-mi_gethostbyname(name, family)
- char *name;
- int family;
-{
- struct hostent *h = NULL;
-#if (SOLARIS > 10000 && SOLARIS < 20400) || (defined(SOLARIS) && SOLARIS < 204) || (defined(sony_news) && defined(__svr4))
-# if SOLARIS == 20300 || SOLARIS == 203
- static struct hostent hp;
- static char buf[1000];
- extern struct hostent *_switch_gethostbyname_r();
-
- h = _switch_gethostbyname_r(name, &hp, buf, sizeof(buf), &h_errno);
-# else /* SOLARIS == 20300 || SOLARIS == 203 */
- extern struct hostent *__switch_gethostbyname();
-
- h = __switch_gethostbyname(name);
-# endif /* SOLARIS == 20300 || SOLARIS == 203 */
-#else /* (SOLARIS > 10000 && SOLARIS < 20400) || (defined(SOLARIS) && SOLARIS < 204) || (defined(sony_news) && defined(__svr4)) */
-# if NETINET6
- int flags = AI_DEFAULT|AI_ALL;
- int err;
-# endif /* NETINET6 */
-
-# if NETINET6
-# if ADDRCONFIG_IS_BROKEN
- flags &= ~AI_ADDRCONFIG;
-# endif /* ADDRCONFIG_IS_BROKEN */
- h = getipnodebyname(name, family, flags, &err);
- SM_SET_H_ERRNO(err);
-# else /* NETINET6 */
- h = gethostbyname(name);
-# endif /* NETINET6 */
-
-#endif /* (SOLARIS > 10000 && SOLARIS < 20400) || (defined(SOLARIS) && SOLARIS < 204) || (defined(sony_news) && defined(__svr4)) */
- return h;
-}
-
-#if NETINET6
-/*
-** MI_INET_PTON -- convert printed form to network address.
-**
-** Wrapper for inet_pton() which handles IPv6: labels.
-**
-** Parameters:
-** family -- address family
-** src -- string
-** dst -- destination address structure
-**
-** Returns:
-** 1 if the address was valid
-** 0 if the address wasn't parseable
-** -1 if error
-*/
-
-int
-mi_inet_pton(family, src, dst)
- int family;
- const char *src;
- void *dst;
-{
- if (family == AF_INET6 &&
- strncasecmp(src, "IPv6:", 5) == 0)
- src += 5;
- return inet_pton(family, src, dst);
-}
-#endif /* NETINET6 */