--- apr-1.2.2/network_io/unix/multicast.c.ipv6 2005-11-02 13:20:19.000000000 -0500 +++ apr-1.2.2/network_io/unix/multicast.c 2005-11-02 13:29:45.000000000 -0500 @@ -146,10 +146,12 @@ if (source != NULL) { #if MCAST_JOIN_SOURCE_GROUP - if (sock_is_ipv6(sock)) + if (sock_is_ipv4(sock)) ip_proto = IPPROTO_IP; +#if APR_HAVE_IPV6 else if (sock_is_ipv6(sock)) ip_proto = IPPROTO_IPV6; +#endif else return APR_ENOTIMPL; @@ -160,7 +162,12 @@ else return APR_ENOTIMPL; + +#if APR_HAVE_IPV6 mip.gsr_interface = find_if_index(iface); +#else + mip.gsr_interface = 0; +#endif memcpy(&mip.gsr_group, mcast->ipaddr_ptr, sizeof(mip.gsr_group)); memcpy(&mip.gsr_source, source->ipaddr_ptr, sizeof(mip.gsr_source));