- Removed inet_pton() compatibility code
authormichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>
Fri, 26 Dec 2014 18:58:49 +0000 (18:58 +0000)
committermichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>
Fri, 26 Dec 2014 18:58:49 +0000 (18:58 +0000)
git-svn-id: svn://svn.ircd-hybrid.org/svnroot/hopm/trunk@5167 82007160-df01-0410-b94d-b575c5fd34c7

configure
configure.ac
src/compat.h
src/inet.c
src/inet.h
src/libopm/src/compat.h
src/libopm/src/inet.c
src/libopm/src/inet.h
src/setup.h.in

index 77d80175ed25b4abc8a87b34c901c09882b66a01..9826649b7cc410a52f07f5bf086bb70cf63904cd 100755 (executable)
--- a/configure
+++ b/configure
@@ -12692,7 +12692,7 @@ fi
 fi
 
 
-for ac_func in strlcpy strlcat inet_aton inet_pton socket strdup strstr
+for ac_func in strlcpy strlcat inet_aton socket strdup strstr
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
index 46c5ea7a9f2333bf6f544711fc6e4164ede9886a..99a62bf6f236ff5a91c3c42305b61774d679fa06 100644 (file)
@@ -56,7 +56,7 @@ AC_SEARCH_LIBS([socket],[socket],,[AC_MSG_ERROR([socket library not found])])
 AC_CHECK_FUNC(getaddrinfo, [], AC_SEARCH_LIBS(getaddrinfo, nsl))
 AC_CHECK_FUNC(getnameinfo, [], AC_SEARCH_LIBS(getnameinfo, nsl))
 
-AC_CHECK_FUNCS(strlcpy strlcat inet_aton inet_pton socket strdup strstr)
+AC_CHECK_FUNCS(strlcpy strlcat inet_aton socket strdup strstr)
 
 dnl Check if we can use gethostbyname2 for ipv6
 AC_CHECK_FUNCS(gethostbyname)
index 781b5717e5b2fef8cef7706d3c3ff4218a83eaf6..799dabde521aa64edda2edb06ca141ff1827f011 100644 (file)
 extern int bopm_inet_aton(const char *cp, struct in_addr *inp);
 #endif
 
-#ifndef HAVE_INET_PTON
-#undef inet_pton
-#define inet_pton bopm_inet_pton
-#endif
-
 #ifndef HAVE_STRLCPY
 extern size_t strlcpy(char *, const char *, size_t);
 #endif
index 811dccb2fb59931e59bdbc57201b81880630601c..9269ec41484f8a2a7b68c95081b4ab4e8b54ae70 100644 (file)
@@ -37,247 +37,3 @@ along with this program; if not, write to:
 #include "setup.h"
 #include "inet.h"
 #include "log.h"
-
-#ifndef INADDRSZ
-#define INADDRSZ 4
-#endif
-
-#ifdef IPV6
-#ifndef IN6ADDRSZ
-#define IN6ADDRSZ 16
-#endif
-#endif
-
-
-#ifndef INT16SZ
-#define INT16SZ 2
-#endif
-
-#ifdef IPV6
-#define HOSTIPLEN 53
-#else
-#define HOSTIPLEN 15
-#endif
-
-extern const unsigned char ToLowerTab[];
-#define ToLower(c) (ToLowerTab[(unsigned char)(c)])
-
-/*
- * WARNING: Don't even consider trying to compile this on a system where
- * sizeof(int) < 4.  sizeof(int) > 4 is fine; all the world's not a VAX.
- */
-
-/* int
- * inet_pton(af, src, dst)
- *      convert from presentation format (which usually means ASCII printable)
- *      to network format (which is usually some kind of binary format).
- * return:
- *      1 if the address was valid for the specified address family
- *      0 if the address wasn't valid (`dst' is untouched in this case)
- *      -1 if some other error occurred (`dst' is untouched in this case, too)
- * author:
- *      Paul Vixie, 1996.
- */
-
-/* int
- * inet_pton4(src, dst)
- *      like inet_aton() but without all the hexadecimal and shorthand.
- * return:
- *      1 if `src' is a valid dotted quad, else 0.
- * notice:
- *      does not touch `dst' unless it's returning 1.
- * author:
- *      Paul Vixie, 1996.
- */
-
-#ifndef HAVE_INET_PTON
-static int inet_pton4(src, dst)
-const char *src;
-unsigned char *dst;
-{
-   int saw_digit, octets, ch;
-   unsigned char tmp[INADDRSZ], *tp;
-
-   saw_digit = 0;
-   octets = 0;
-   *(tp = tmp) = 0;
-   while ((ch = *src++) != '\0')
-   {
-
-      if (ch >= '0' && ch <= '9')
-      {
-         unsigned int new = *tp * 10 + (ch - '0');
-
-         if (new > 255)
-            return (0);
-         *tp = new;
-         if (!saw_digit)
-         {
-            if (++octets > 4)
-               return (0);
-            saw_digit = 1;
-         }
-      }
-      else if (ch == '.' && saw_digit)
-      {
-         if (octets == 4)
-            return (0);
-         *++tp = 0;
-         saw_digit = 0;
-      }
-      else
-         return (0);
-   }
-   if (octets < 4)
-      return (0);
-   memcpy(dst, tmp, INADDRSZ);
-   return (1);
-}
-
-#ifdef IPV6
-/* int
- * inet_pton6(src, dst)
- *      convert presentation level address to network order binary form.
- * return:
- *      1 if `src' is a valid [RFC1884 2.2] address, else 0.
- * notice:
- *      (1) does not touch `dst' unless it's returning 1.
- *      (2) :: in a full address is silently ignored.
- * credit:
- *      inspired by Mark Andrews.
- * author:
- *      Paul Vixie, 1996.
- */
-
-static int inet_pton6(src, dst)
-const char *src;
-unsigned char *dst;
-{
-   static const char xdigits[] = "0123456789abcdef";
-   unsigned char tmp[IN6ADDRSZ], *tp, *endp, *colonp;
-   const char *curtok;
-   int ch, saw_xdigit;
-   unsigned int val;
-
-   tp = memset(tmp, '\0', IN6ADDRSZ);
-   endp = tp + IN6ADDRSZ;
-   colonp = NULL;
-   /* Leading :: requires some special handling. */
-   if (*src == ':')
-      if (*++src != ':')
-         return (0);
-   curtok = src;
-   saw_xdigit = 0;
-   val = 0;
-   while ((ch = ToLower(*src++)) != '\0')
-   {
-      const char *pch;
-
-      pch = strchr(xdigits, ch);
-      if (pch != NULL)
-      {
-         val <<= 4;
-         val |= (pch - xdigits);
-         if (val > 0xffff)
-            return (0);
-         saw_xdigit = 1;
-         continue;
-      }
-      if (ch == ':')
-      {
-         curtok = src;
-         if (!saw_xdigit)
-         {
-            if (colonp)
-               return (0);
-            colonp = tp;
-            continue;
-         }
-         else if (*src == '\0')
-         {
-            return (0);
-         }
-         if (tp + INT16SZ > endp)
-            return (0);
-         *tp++ = (unsigned char) (val >> 8) & 0xff;
-         *tp++ = (unsigned char) val & 0xff;
-         saw_xdigit = 0;
-         val = 0;
-         continue;
-      }
-
-      if (*src != '\0' && ch == '.')
-      {
-         if (((tp + INADDRSZ) <= endp) && inet_pton4(curtok, tp) > 0)
-         {
-            tp += INADDRSZ;
-            saw_xdigit = 0;
-            break;          /* '\0' was seen by inet_pton4(). */
-         }
-      }
-      else
-         continue;
-      return (0);
-   }
-   if (saw_xdigit)
-   {
-      if (tp + INT16SZ > endp)
-         return (0);
-      *tp++ = (unsigned char) (val >> 8) & 0xff;
-      *tp++ = (unsigned char) val & 0xff;
-   }
-   if (colonp != NULL)
-   {
-      /*
-       * Since some memmove()'s erroneously fail to handle
-       * overlapping regions, we'll do the shift by hand.
-       */
-      const int n = tp - colonp;
-      int i;
-
-      if (tp == endp)
-         return (0);
-      for (i = 1; i <= n; i++)
-      {
-         endp[-i] = colonp[n - i];
-         colonp[n - i] = 0;
-      }
-      tp = endp;
-   }
-   if (tp != endp)
-      return (0);
-   memcpy(dst, tmp, IN6ADDRSZ);
-   return (1);
-}
-#endif /* IPv6 */
-
-int bopm_inet_pton(af, src, dst)
-int af;
-const char *src;
-void *dst;
-{
-   switch (af)
-   {
-      case AF_INET:
-         return (inet_pton4(src, dst));
-#ifdef IPV6
-
-      case AF_INET6:
-         /* Somebody might have passed as an IPv4 address this is sick but it works */
-         if (inet_pton4(src, dst))
-         {
-            char tmp[HOSTIPLEN];
-            sprintf(tmp, "::ffff:%s", src);
-            return (inet_pton6(tmp, dst));
-         }
-         else
-            return (inet_pton6(src, dst));
-#endif /* IPv6 */
-
-      default:
-         return (-1);
-   }
-   /* NOTREACHED */
-}
-#endif
-
index 74429c8a3b771e37b6ba7df30de617f13d018e22..69634a602e97a3233d48fac358b6fcdec2f4a56f 100644 (file)
@@ -6,11 +6,4 @@
 #include <netinet/in.h>
 #include <arpa/inet.h>
 
-#ifndef AF_INET6
-#define AF_INET6 10
-#endif
-
-#ifndef HAVE_INET_PTON
-extern int bopm_inet_pton(int, const char *, void *);
-#endif
 #endif /* INET_H */
index f537fbb38a7b655f1e5f9fc77cd21f7999d85f2d..95bd4b75dcc9eabeab00a0a7884b19ee31f6997b 100644 (file)
 #define inet_aton libopm_inet_aton
 extern int libopm_inet_aton(const char *cp, struct in_addr *inp);
 #endif
-
-#ifndef HAVE_INET_PTON
-#undef inet_pton
-#define inet_pton libopm_inet_pton
-#endif
-
 #endif
index f32ce07c372fedee0c5593eca1c225455a000d27..8c590f8596ae4c85e0e48372b63ee40d7dd045dd 100644 (file)
@@ -44,226 +44,3 @@ along with this program; if not, write to
 
 #include "inet.h"
 #include "opm.h"
-
-#ifndef INADDRSZ
-#define INADDRSZ 4
-#endif
-
-#ifdef IPV6
-#ifndef IN6ADDRSZ
-#define IN6ADDRSZ 16
-#endif
-#endif
-
-
-#ifndef INT16SZ
-#define INT16SZ 2
-#endif
-
-#ifdef IPV6
-#define HOSTIPLEN 53
-#else
-#define HOSTIPLEN 15
-#endif
-
-
-extern const unsigned char ToLowerTab[];
-#define ToLower(c) (ToLowerTab[(unsigned char)(c)])
-
-/*
- * WARNING: Don't even consider trying to compile this on a system where
- * sizeof(int) < 4.  sizeof(int) > 4 is fine; all the world's not a VAX.
- */
-
-/* int
- * inet_pton(af, src, dst)
- *      convert from presentation format (which usually means ASCII printable)
- *      to network format (which is usually some kind of binary format).
- * return:
- *      1 if the address was valid for the specified address family
- *      0 if the address wasn't valid (`dst' is untouched in this case)
- *      -1 if some other error occurred (`dst' is untouched in this case, too)
- * author:
- *      Paul Vixie, 1996.
- */
-
-/* int
- * inet_pton4(src, dst)
- *      like inet_aton() but without all the hexadecimal and shorthand.
- * return:
- *      1 if `src' is a valid dotted quad, else 0.
- * notice:
- *      does not touch `dst' unless it's returning 1.
- * author:
- *      Paul Vixie, 1996.
- */
-
-#ifndef HAVE_INET_PTON
-
-static int inet_pton4(src, dst)
-     const char *src;
-     unsigned char *dst;
-{
-int saw_digit, octets, ch;
-unsigned char tmp[INADDRSZ], *tp;
-
-    saw_digit = 0;  
-    octets = 0;
-    *(tp = tmp) = 0;
-    while ((ch = *src++) != '\0') {
-
-        if (ch >= '0' && ch <= '9') {
-unsigned int new = *tp * 10 + (ch - '0');
-
-            if (new > 255)
-                return (0);
-            *tp = new;
-            if (!saw_digit) {
-                if (++octets > 4)
-                    return (0);   
-                saw_digit = 1;
-            }   
-        } else if (ch == '.' && saw_digit) {
-            if (octets == 4)
-                return (0);
-            *++tp = 0;
-            saw_digit = 0;
-        } else  
-            return (0);
-    }
-    if (octets < 4) 
-        return (0);
-    memcpy(dst, tmp, INADDRSZ);
-    return (1);
-}  
-
-#ifdef IPV6
-/* int
- * inet_pton6(src, dst)
- *      convert presentation level address to network order binary form.
- * return:
- *      1 if `src' is a valid [RFC1884 2.2] address, else 0.
- * notice:
- *      (1) does not touch `dst' unless it's returning 1.
- *      (2) :: in a full address is silently ignored.
- * credit:
- *      inspired by Mark Andrews.
- * author:
- *      Paul Vixie, 1996.
- */
-
-static int inet_pton6(src, dst)
-     const char *src;
-     unsigned char *dst;
-{
-static const char xdigits[] = "0123456789abcdef";
-unsigned char tmp[IN6ADDRSZ], *tp, *endp, *colonp;
-const char *curtok;
-int ch, saw_xdigit;
-unsigned int val;
-
-    tp = memset(tmp, '\0', IN6ADDRSZ);
-    endp = tp + IN6ADDRSZ;
-    colonp = NULL;
-    /* Leading :: requires some special handling. */
-    if (*src == ':')
-        if (*++src != ':')
-            return (0);
-    curtok = src;
-    saw_xdigit = 0;
-    val = 0;
-    while ((ch = ToLower(*src++)) != '\0') {
-const char *pch;
-
-       pch = strchr(xdigits, ch);
-        if (pch != NULL) {
-            val <<= 4;
-            val |= (pch - xdigits);
-            if (val > 0xffff)  
-                return (0);
-            saw_xdigit = 1;
-            continue;
-        }
-        if (ch == ':') {   
-            curtok = src;
-            if (!saw_xdigit) {
-                if (colonp)
-                    return (0);
-                colonp = tp;
-                continue;
-            } else if (*src == '\0') {
-                return (0);
-            }  
-            if (tp + INT16SZ > endp)
-                return (0);
-            *tp++ = (unsigned char) (val >> 8) & 0xff;
-            *tp++ = (unsigned char) val & 0xff;
-            saw_xdigit = 0;
-            val = 0;
-            continue;
-        }
-
-        if (*src != '\0' && ch == '.') {
-            if (((tp + INADDRSZ) <= endp) && inet_pton4(curtok, tp) > 0) {
-                tp += INADDRSZ;
-                saw_xdigit = 0;
-                break;          /* '\0' was seen by inet_pton4(). */
-            }
-        } else
-            continue;
-        return (0);
-    }
-    if (saw_xdigit) {
-        if (tp + INT16SZ > endp)
-            return (0);
-        *tp++ = (unsigned char) (val >> 8) & 0xff;
-        *tp++ = (unsigned char) val & 0xff;
-    }
-    if (colonp != NULL) {
-        /*
-         * Since some memmove()'s erroneously fail to handle
-         * overlapping regions, we'll do the shift by hand.
-         */
-const int n = tp - colonp;
-int i;
-
-        if (tp == endp)
-            return (0);
-        for (i = 1; i <= n; i++) {
-            endp[-i] = colonp[n - i];
-            colonp[n - i] = 0;
-        }
-        tp = endp;
-    }
-    if (tp != endp)
-        return (0);
-    memcpy(dst, tmp, IN6ADDRSZ);
-    return (1);
-}
-#endif /* IPv6 */
-
-int inet_pton(af, src, dst) 
-     int af;
-     const char *src;
-     void *dst;
-{
-    switch (af) {             
-        case AF_INET:
-            return (inet_pton4(src, dst));
-#ifdef IPV6
-        case AF_INET6:   
-            /* Somebody might have passed as an IPv4 address this is sick but it works */
-            if (inet_pton4(src, dst)) {
-char tmp[HOSTIPLEN];
-                sprintf(tmp, "::ffff:%s", src);
-                return (inet_pton6(tmp, dst));
-            } else
-                return (inet_pton6(src, dst));
-#endif /* IPv6 */
-        default:
-            return (-1);
-    }
-    /* NOTREACHED */
-}
-
-#endif
index 59ab85686c13274d4d32067404f4e9448144de8e..a9ebe79c9d308d224d600f81df7dfc497a318fe1 100644 (file)
 # include <sys/poll.h>
 #endif
 
-#ifndef AF_INET6
-# define AF_INET6 10
-#endif
-
 typedef struct _opm_sockaddr opm_sockaddr;
 typedef struct _opm_inaddr opm_inaddr;
 
@@ -30,7 +26,4 @@ struct _opm_inaddr {
         struct in_addr in4;
 };
 
-#ifndef HAVE_INET_PTON
-extern int inet_pton(int, const char *, void *);
-#endif
 #endif /* INET_H */
index c0a4b8a5b4fa4c16843e073257846c68a78bf38a..bb24855a424fd002cb6f49fdd1c4e05915466377 100644 (file)
@@ -15,9 +15,6 @@
 /* Define to 1 if you have the `inet_aton' function. */
 #undef HAVE_INET_ATON
 
-/* Define to 1 if you have the `inet_pton' function. */
-#undef HAVE_INET_PTON
-
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H