remove RB_IPV6
This commit is contained in:
parent
f21ef0cebc
commit
de2934965c
34 changed files with 15 additions and 336 deletions
|
@ -172,27 +172,6 @@ rb_socklen_t=$rb_cv_socklen_t
|
|||
|
||||
|
||||
|
||||
AC_ARG_ENABLE(ipv6,AC_HELP_STRING([--disable-ipv6],[Disable IPv6 support]),[ipv6=$enableval],[ipv6=yes])
|
||||
|
||||
if test x$ipv6 != xyes; then
|
||||
have_v6="no"
|
||||
else
|
||||
|
||||
have_v6=yes
|
||||
RB_PROTO_INET6([], [
|
||||
AC_MSG_NOTICE([Disabling IPv6 support: PF_INET6 not found])
|
||||
have_v6=no
|
||||
])
|
||||
|
||||
if test "X$have_v6" = "Xyes"; then
|
||||
RB_TYPE_STRUCT_SOCKADDR_IN6([], [
|
||||
AC_MSG_NOTICE([Disabling IPv6 support: struct sockaddr_in6 not found])
|
||||
have_v6=no
|
||||
])
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
AC_CHECK_TYPES([struct sockaddr_storage],[
|
||||
rb_have_sockaddr_storage=yes
|
||||
],[], [
|
||||
|
@ -490,10 +469,6 @@ AC_CONFIG_COMMANDS([include/librb-config.h],
|
|||
|
||||
_______EOF
|
||||
|
||||
if test "x$rb_have_ipv6" = "xyes"; then
|
||||
echo "#define RB_IPV6 1" >> $outfile
|
||||
fi
|
||||
|
||||
if test "x$rb_windows_h" = "xyes"; then
|
||||
echo '#define WIN32_LEAN_AND_MEAN 1' >> $outfile
|
||||
echo '#include <windows.h>' >> $outfile
|
||||
|
@ -664,8 +639,6 @@ fi
|
|||
rb_sockaddr_storage="no"
|
||||
fi
|
||||
|
||||
rb_have_ipv6="$have_v6"
|
||||
|
||||
rb_mv="$MV"
|
||||
rb_rm="$RM"
|
||||
|
||||
|
@ -691,7 +664,6 @@ echo
|
|||
|
||||
echo "Installing into: $prefix"
|
||||
|
||||
echo "IPv6 support ................... $have_v6"
|
||||
echo "Assert debugging ............... $assert"
|
||||
echo "SSL Type........................ $SSL_TYPE"
|
||||
echo
|
||||
|
|
|
@ -176,14 +176,9 @@ char *rb_strerror(int error);
|
|||
#define GET_SS_LEN(x) (((struct sockaddr *)(x))->sa_len)
|
||||
#else /* !RB_SOCKADDR_HAS_SA_LEN */
|
||||
#define SET_SS_LEN(x, y) (((struct sockaddr *)(x))->sa_family = ((struct sockaddr *)(x))->sa_family)
|
||||
#ifdef RB_IPV6
|
||||
#define GET_SS_LEN(x) (((struct sockaddr *)(x))->sa_family == AF_INET ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6))
|
||||
#else
|
||||
#define GET_SS_LEN(x) (((struct sockaddr *)(x))->sa_family == AF_INET ? sizeof(struct sockaddr_in) : 0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef RB_IPV6
|
||||
#define GET_SS_PORT(x) (((struct sockaddr *)(x))->sa_family == AF_INET ? ((struct sockaddr_in *)(x))->sin_port : ((struct sockaddr_in6 *)(x))->sin6_port)
|
||||
#define SET_SS_PORT(x, y) do { \
|
||||
if(((struct sockaddr *)(x))->sa_family == AF_INET) { \
|
||||
|
@ -192,10 +187,6 @@ char *rb_strerror(int error);
|
|||
((struct sockaddr_in6 *)(x))->sin6_port = (y); \
|
||||
} \
|
||||
} while (0)
|
||||
#else
|
||||
#define GET_SS_PORT(x) (((struct sockaddr_in *)(x))->sin_port)
|
||||
#define SET_SS_PORT(x, y) (((struct sockaddr_in *)(x))->sin_port = y)
|
||||
#endif
|
||||
|
||||
#ifndef INADDRSZ
|
||||
#define INADDRSZ 4
|
||||
|
|
|
@ -36,9 +36,7 @@ typedef struct _rb_prefix_t
|
|||
union
|
||||
{
|
||||
struct in_addr sin;
|
||||
#ifdef RB_IPV6
|
||||
struct in6_addr sin6;
|
||||
#endif /* RB_IPV6 */
|
||||
}
|
||||
add;
|
||||
}
|
||||
|
|
|
@ -69,9 +69,7 @@ int rb_maxconnections = 0;
|
|||
|
||||
static PF rb_connect_timeout;
|
||||
static PF rb_connect_tryconnect;
|
||||
#ifdef RB_IPV6
|
||||
static void mangle_mapped_sockaddr(struct sockaddr *in);
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_SOCKETPAIR
|
||||
static int rb_inet_socketpair(int d, int type, int protocol, rb_platform_fd_t sv[2]);
|
||||
|
@ -382,9 +380,7 @@ rb_accept_tryaccept(rb_fde_t *F, void *data)
|
|||
rb_close(new_F);
|
||||
}
|
||||
|
||||
#ifdef RB_IPV6
|
||||
mangle_mapped_sockaddr((struct sockaddr *)&st);
|
||||
#endif
|
||||
|
||||
if(F->accept->precb != NULL)
|
||||
{
|
||||
|
@ -708,7 +704,6 @@ rb_socket(int family, int sock_type, int proto, const char *note)
|
|||
if(rb_unlikely(fd < 0))
|
||||
return NULL; /* errno will be passed through, yay.. */
|
||||
|
||||
#if defined(RB_IPV6) && defined(IPV6_V6ONLY)
|
||||
/*
|
||||
* Make sure we can take both IPv4 and IPv6 connections
|
||||
* on an AF_INET6 socket
|
||||
|
@ -724,7 +719,6 @@ rb_socket(int family, int sock_type, int proto, const char *note)
|
|||
return NULL;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
F = rb_open(fd, RB_FD_SOCKET, note);
|
||||
if(F == NULL)
|
||||
|
@ -749,7 +743,6 @@ rb_socket(int family, int sock_type, int proto, const char *note)
|
|||
* If a sockaddr_storage is AF_INET6 but is a mapped IPv4
|
||||
* socket manged the sockaddr.
|
||||
*/
|
||||
#ifdef RB_IPV6
|
||||
static void
|
||||
mangle_mapped_sockaddr(struct sockaddr *in)
|
||||
{
|
||||
|
@ -765,7 +758,6 @@ mangle_mapped_sockaddr(struct sockaddr *in)
|
|||
memcpy(in, &in4, sizeof(struct sockaddr_in));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* rb_listen() - listen on a port
|
||||
|
@ -1180,9 +1172,7 @@ inetntoa(const char *in)
|
|||
*/
|
||||
|
||||
static const char *inet_ntop4(const unsigned char *src, char *dst, unsigned int size);
|
||||
#ifdef RB_IPV6
|
||||
static const char *inet_ntop6(const unsigned char *src, char *dst, unsigned int size);
|
||||
#endif
|
||||
|
||||
/* const char *
|
||||
* inet_ntop4(src, dst, size)
|
||||
|
@ -1209,7 +1199,6 @@ inet_ntop4(const unsigned char *src, char *dst, unsigned int size)
|
|||
* author:
|
||||
* Paul Vixie, 1996.
|
||||
*/
|
||||
#ifdef RB_IPV6
|
||||
static const char *
|
||||
inet_ntop6(const unsigned char *src, char *dst, unsigned int size)
|
||||
{
|
||||
|
@ -1314,7 +1303,6 @@ inet_ntop6(const unsigned char *src, char *dst, unsigned int size)
|
|||
}
|
||||
return memcpy(dst, tmp, tp - tmp);
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
rb_inet_pton_sock(const char *src, struct sockaddr *dst)
|
||||
|
@ -1326,7 +1314,6 @@ rb_inet_pton_sock(const char *src, struct sockaddr *dst)
|
|||
SET_SS_LEN(dst, sizeof(struct sockaddr_in));
|
||||
return 1;
|
||||
}
|
||||
#ifdef RB_IPV6
|
||||
else if(rb_inet_pton(AF_INET6, src, &((struct sockaddr_in6 *)dst)->sin6_addr))
|
||||
{
|
||||
SET_SS_FAMILY(dst, AF_INET6);
|
||||
|
@ -1334,7 +1321,6 @@ rb_inet_pton_sock(const char *src, struct sockaddr *dst)
|
|||
SET_SS_LEN(dst, sizeof(struct sockaddr_in6));
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1345,11 +1331,9 @@ rb_inet_ntop_sock(struct sockaddr *src, char *dst, unsigned int size)
|
|||
{
|
||||
case AF_INET:
|
||||
return (rb_inet_ntop(AF_INET, &((struct sockaddr_in *)src)->sin_addr, dst, size));
|
||||
#ifdef RB_IPV6
|
||||
case AF_INET6:
|
||||
return (rb_inet_ntop
|
||||
(AF_INET6, &((struct sockaddr_in6 *)src)->sin6_addr, dst, size));
|
||||
#endif
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
|
@ -1370,7 +1354,6 @@ rb_inet_ntop(int af, const void *src, char *dst, unsigned int size)
|
|||
{
|
||||
case AF_INET:
|
||||
return (inet_ntop4(src, dst, size));
|
||||
#ifdef RB_IPV6
|
||||
case AF_INET6:
|
||||
if(IN6_IS_ADDR_V4MAPPED((const struct in6_addr *)src) ||
|
||||
IN6_IS_ADDR_V4COMPAT((const struct in6_addr *)src))
|
||||
|
@ -1379,9 +1362,6 @@ rb_inet_ntop(int af, const void *src, char *dst, unsigned int size)
|
|||
s6_addr[12], dst, size));
|
||||
else
|
||||
return (inet_ntop6(src, dst, size));
|
||||
|
||||
|
||||
#endif
|
||||
default:
|
||||
return (NULL);
|
||||
}
|
||||
|
@ -1457,7 +1437,6 @@ inet_pton4(const char *src, unsigned char *dst)
|
|||
return (1);
|
||||
}
|
||||
|
||||
#ifdef RB_IPV6
|
||||
/* int
|
||||
* inet_pton6(src, dst)
|
||||
* convert presentation level address to network order binary form.
|
||||
|
@ -1570,7 +1549,7 @@ inet_pton6(const char *src, unsigned char *dst)
|
|||
memcpy(dst, tmp, IN6ADDRSZ);
|
||||
return (1);
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
rb_inet_pton(int af, const char *src, void *dst)
|
||||
{
|
||||
|
@ -1578,7 +1557,6 @@ rb_inet_pton(int af, const char *src, void *dst)
|
|||
{
|
||||
case AF_INET:
|
||||
return (inet_pton4(src, dst));
|
||||
#ifdef RB_IPV6
|
||||
case AF_INET6:
|
||||
/* Somebody might have passed as an IPv4 address this is sick but it works */
|
||||
if(inet_pton4(src, dst))
|
||||
|
@ -1589,7 +1567,6 @@ rb_inet_pton(int af, const char *src, void *dst)
|
|||
}
|
||||
else
|
||||
return (inet_pton6(src, dst));
|
||||
#endif
|
||||
default:
|
||||
return (-1);
|
||||
}
|
||||
|
@ -2257,7 +2234,6 @@ rb_send_fd_buf(rb_fde_t *xF, rb_fde_t **F, int count, void *data, size_t datasiz
|
|||
#endif /* _WIN32 */
|
||||
#endif /* defined(HAVE_SENDMSG) && !defined(WIN32) */
|
||||
|
||||
#ifdef RB_IPV6
|
||||
int
|
||||
rb_ipv4_from_ipv6(const struct sockaddr_in6 *restrict ip6, struct sockaddr_in *restrict ip4)
|
||||
{
|
||||
|
@ -2282,10 +2258,3 @@ rb_ipv4_from_ipv6(const struct sockaddr_in6 *restrict ip6, struct sockaddr_in *r
|
|||
ip4->sin_port = 0;
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
int
|
||||
rb_ipv4_from_ipv6(const struct sockaddr_in6 *restrict ip6, struct sockaddr_in *restrict ip4)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif /* RB_IPV6 */
|
||||
|
|
|
@ -92,25 +92,17 @@ prefix_toa2(rb_prefix_t *prefix, char *buff, int buf_len)
|
|||
static char *
|
||||
prefix_toa(rb_prefix_t *prefix)
|
||||
{
|
||||
#ifdef RB_IPV6
|
||||
static char buf[INET6_ADDRSTRLEN + 6];
|
||||
#else
|
||||
static char buf[16 + 6];
|
||||
#endif
|
||||
return (prefix_toa2(prefix, buf, sizeof(buf)));
|
||||
}
|
||||
#endif
|
||||
|
||||
static rb_prefix_t *
|
||||
New_Prefix2(int family, void *dest, int bitlen, rb_prefix_t *prefix)
|
||||
{
|
||||
int dynamic_allocated = 0;
|
||||
#ifdef RB_IPV6
|
||||
int default_bitlen = 128;
|
||||
#else
|
||||
int default_bitlen = 32;
|
||||
#endif
|
||||
|
||||
#ifdef RB_IPV6
|
||||
if(family == AF_INET6)
|
||||
{
|
||||
default_bitlen = 128;
|
||||
|
@ -121,9 +113,7 @@ New_Prefix2(int family, void *dest, int bitlen, rb_prefix_t *prefix)
|
|||
}
|
||||
memcpy(&prefix->add.sin6, dest, 16);
|
||||
}
|
||||
else
|
||||
#endif /* RB_IPV6 */
|
||||
if(family == AF_INET)
|
||||
else if(family == AF_INET)
|
||||
{
|
||||
if(prefix == NULL)
|
||||
{
|
||||
|
@ -161,9 +151,7 @@ ascii2prefix(int family, const char *string)
|
|||
long bitlen, maxbitlen = 0;
|
||||
char *cp;
|
||||
struct in_addr sinaddr;
|
||||
#ifdef RB_IPV6
|
||||
struct in6_addr sinaddr6;
|
||||
#endif /* RB_IPV6 */
|
||||
int result;
|
||||
char save[MAXLINE];
|
||||
|
||||
|
@ -174,21 +162,17 @@ ascii2prefix(int family, const char *string)
|
|||
if(family == 0)
|
||||
{
|
||||
family = AF_INET;
|
||||
#ifdef RB_IPV6
|
||||
if(strchr(string, ':'))
|
||||
family = AF_INET6;
|
||||
#endif /* RB_IPV6 */
|
||||
}
|
||||
if(family == AF_INET)
|
||||
{
|
||||
maxbitlen = 32;
|
||||
}
|
||||
#ifdef RB_IPV6
|
||||
else if(family == AF_INET6)
|
||||
{
|
||||
maxbitlen = 128;
|
||||
}
|
||||
#endif /* RB_IPV6 */
|
||||
|
||||
if((cp = strchr(string, '/')) != NULL)
|
||||
{
|
||||
|
@ -213,14 +197,12 @@ ascii2prefix(int family, const char *string)
|
|||
return (NULL);
|
||||
return (New_Prefix(AF_INET, &sinaddr, bitlen));
|
||||
}
|
||||
#ifdef RB_IPV6
|
||||
else if(family == AF_INET6)
|
||||
{
|
||||
if((result = rb_inet_pton(AF_INET6, string, &sinaddr6)) <= 0)
|
||||
return (NULL);
|
||||
return (New_Prefix(AF_INET6, &sinaddr6, bitlen));
|
||||
}
|
||||
#endif /* RB_IPV6 */
|
||||
else
|
||||
return (NULL);
|
||||
}
|
||||
|
@ -916,11 +898,9 @@ make_and_lookup_ip(rb_patricia_tree_t *tree, struct sockaddr *in, int bitlen)
|
|||
rb_prefix_t *prefix;
|
||||
rb_patricia_node_t *node;
|
||||
void *ipptr = NULL;
|
||||
#ifdef RB_IPV6
|
||||
if(in->sa_family == AF_INET6)
|
||||
ipptr = &((struct sockaddr_in6 *)in)->sin6_addr;
|
||||
else
|
||||
#endif
|
||||
ipptr = &((struct sockaddr_in *)in)->sin_addr;
|
||||
|
||||
prefix = New_Prefix(in->sa_family, ipptr, bitlen);
|
||||
|
@ -948,13 +928,11 @@ make_and_lookup(rb_patricia_tree_t *tree, const char *string)
|
|||
node = rb_patricia_lookup(tree, prefix);
|
||||
}
|
||||
else
|
||||
#ifdef RB_IPV6
|
||||
if((prefix = ascii2prefix(AF_INET6, string)) != NULL)
|
||||
{
|
||||
node = rb_patricia_lookup(tree, prefix);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
return NULL;
|
||||
#ifdef PATRICIA_DEBUG
|
||||
printf("make_and_lookup: %s/%d\n", prefix_toa(prefix), prefix->bitlen);
|
||||
|
@ -975,14 +953,12 @@ try_search_exact(rb_patricia_tree_t *tree, char *string)
|
|||
Deref_Prefix(prefix);
|
||||
return (node);
|
||||
}
|
||||
#ifdef RB_IPV6
|
||||
else if((prefix = ascii2prefix(AF_INET6, string)) != NULL)
|
||||
{
|
||||
node = rb_patricia_search_exact(tree, prefix);
|
||||
Deref_Prefix(prefix);
|
||||
return (node);
|
||||
}
|
||||
#endif
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
@ -1005,11 +981,7 @@ rb_match_ip(rb_patricia_tree_t *tree, struct sockaddr *ip)
|
|||
void *ipptr;
|
||||
unsigned int len;
|
||||
int family;
|
||||
#ifndef RB_IPV6
|
||||
len = 32;
|
||||
family = AF_INET;
|
||||
ipptr = &((struct sockaddr_in *)ip)->sin_addr;
|
||||
#else
|
||||
|
||||
if(ip->sa_family == AF_INET6)
|
||||
{
|
||||
len = 128;
|
||||
|
@ -1022,7 +994,6 @@ rb_match_ip(rb_patricia_tree_t *tree, struct sockaddr *ip)
|
|||
family = AF_INET;
|
||||
ipptr = &((struct sockaddr_in *)ip)->sin_addr;
|
||||
}
|
||||
#endif
|
||||
|
||||
if((prefix = New_Prefix(family, ipptr, len)) != NULL)
|
||||
{
|
||||
|
@ -1040,13 +1011,7 @@ rb_match_ip_exact(rb_patricia_tree_t *tree, struct sockaddr *ip, unsigned int le
|
|||
rb_patricia_node_t *node;
|
||||
void *ipptr;
|
||||
int family;
|
||||
#ifndef RB_IPV6
|
||||
if(len > 128)
|
||||
len = 128;
|
||||
|
||||
family = AF_INET;
|
||||
ipptr = &((struct sockaddr_in *)ip)->sin_addr;
|
||||
#else
|
||||
if(ip->sa_family == AF_INET6)
|
||||
{
|
||||
if(len > 128)
|
||||
|
@ -1061,7 +1026,6 @@ rb_match_ip_exact(rb_patricia_tree_t *tree, struct sockaddr *ip, unsigned int le
|
|||
family = AF_INET;
|
||||
ipptr = &((struct sockaddr_in *)ip)->sin_addr;
|
||||
}
|
||||
#endif
|
||||
|
||||
if((prefix = New_Prefix(family, ipptr, len)) != NULL)
|
||||
{
|
||||
|
@ -1086,14 +1050,12 @@ rb_match_string(rb_patricia_tree_t *tree, const char *string)
|
|||
Deref_Prefix(prefix);
|
||||
}
|
||||
else
|
||||
#ifdef RB_IPV6
|
||||
if((prefix = ascii2prefix(AF_INET6, string)) != NULL)
|
||||
{
|
||||
node = rb_patricia_search_best(tree, prefix);
|
||||
Deref_Prefix(prefix);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
return NULL;
|
||||
return node;
|
||||
}
|
||||
|
@ -1109,14 +1071,12 @@ rb_match_exact_string(rb_patricia_tree_t *tree, const char *string)
|
|||
Deref_Prefix(prefix);
|
||||
}
|
||||
else
|
||||
#ifdef RB_IPV6
|
||||
if((prefix = ascii2prefix(AF_INET6, string)) != NULL)
|
||||
{
|
||||
node = rb_patricia_search_exact(tree, prefix);
|
||||
Deref_Prefix(prefix);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
return NULL;
|
||||
return node;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue