You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix in #3716 introduces new problem in ZeroMq 4.3.3.
It is not possible to connect by using IPv6 link-local address.
Part of ip_resolver.cpp
unsignedintzmq::ip_resolver_t::do_if_nametoindex (constchar *ifname_)
{
#if _WIN32_WINNT > _WIN32_WINNT_WINXP && !defined ZMQ_HAVE_WINDOWS_UWP \
&& !defined ZMQ_HAVE_VXWORKS
returnif_nametoindex (ifname_);
#elseLIBZMQ_UNUSED (ifname_);
// The function 'if_nametoindex' is not supported on Windows XP.// If we are targeting XP using a vxxx_xp toolset then fail.// This is brutal as this code could be run on later windows clients// meaning the IPv6 zone_id cannot have an interface name.// This could be fixed with a runtime check.return0;
#endif
}
Issue description
Fix in #3716 introduces new problem in ZeroMq 4.3.3.
It is not possible to connect by using IPv6 link-local address.
Part of ip_resolver.cpp
Probably bug is also present in udp_address.cpp
Environment
Minimal test code / Steps to reproduce the issue
Use zmq_connect with IPv6 link local address like:
Its not possible to connect on Linux systems.
What's the actual result? (include assertion message & call stack if applicable)
Function do_if_nametoindex always returns 0.
What's the expected result?
Function do_if_nametoindex should return network interface ID.
The text was updated successfully, but these errors were encountered: