From: JuanJo Ciarlante Date: Wed, 30 Sep 2009 22:15:12 +0000 (+0200) Subject: * fix multi-tcp crash (corrected assertion) X-Git-Tag: v2.3-alpha1~240^2~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aa8e9576bbd2ecd094276521ad9cf88227a119c9;p=thirdparty%2Fopenvpn.git * fix multi-tcp crash (corrected assertion) --- diff --git a/mtcp.c b/mtcp.c index f8cc50ffd..ade2cfb12 100644 --- a/mtcp.c +++ b/mtcp.c @@ -150,7 +150,11 @@ multi_tcp_instance_specific_init (struct multi_context *m, struct multi_instance ASSERT (mi->context.c2.link_socket); ASSERT (mi->context.c2.link_socket->info.lsa); ASSERT (mi->context.c2.link_socket->mode == LS_MODE_TCP_ACCEPT_FROM); - ASSERT (mi->context.c2.link_socket->info.lsa->actual.dest.addr.sa.sa_family == AF_INET); + ASSERT (mi->context.c2.link_socket->info.lsa->actual.dest.addr.sa.sa_family == AF_INET +#ifdef USE_PF_INET6 + || mi->context.c2.link_socket->info.lsa->actual.dest.addr.sa.sa_family == AF_INET6 +#endif + ); if (!mroute_extract_openvpn_sockaddr (&mi->real, &mi->context.c2.link_socket->info.lsa->actual.dest, true)) { msg (D_MULTI_ERRORS, "MULTI TCP: TCP client address is undefined"); diff --git a/socket.c b/socket.c index 96d26026e..2bb7141a6 100644 --- a/socket.c +++ b/socket.c @@ -1645,7 +1645,11 @@ link_socket_init_phase1 (struct link_socket *sock, if (mode == LS_MODE_TCP_ACCEPT_FROM) { ASSERT (accept_from); - ASSERT (sock->info.proto == PROTO_TCPv4_SERVER); + ASSERT (sock->info.proto == PROTO_TCPv4_SERVER +#ifdef USE_PF_INET6 + || sock->info.proto == PROTO_TCPv6_SERVER +#endif + ); ASSERT (!sock->inetd); sock->sd = accept_from->sd; }