]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
* fix multi-tcp crash (corrected assertion)
authorJuanJo Ciarlante <jjo@google.com>
Wed, 30 Sep 2009 22:15:12 +0000 (00:15 +0200)
committerJuanJo Ciarlante <juanjosec@gmail.com>
Fri, 25 Mar 2011 12:30:29 +0000 (13:30 +0100)
mtcp.c
socket.c

diff --git a/mtcp.c b/mtcp.c
index f8cc50ffde3ea15b1ff7d87f85d979091f406eae..ade2cfb1267acfc1473dac9ca7fe2e6f29f46e5d 100644 (file)
--- 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");
index 96d26026eecae0b6dc73e5d3f1c734eade549144..2bb7141a67f20da04eceddfdf94b0e94e19df6fe 100644 (file)
--- 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;
     }