Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPV6_V6ONLY compatibility on OpenBSD #2630

Closed
ecoughlan opened this issue Jul 22, 2017 · 3 comments
Closed

IPV6_V6ONLY compatibility on OpenBSD #2630

ecoughlan opened this issue Jul 22, 2017 · 3 comments

Comments

@ecoughlan
Copy link

ecoughlan commented Jul 22, 2017

zmq::enable_ipv4_mapping in ip.cpp causes an assertion failure (EINVAL) on OpenBSD. The IPV6_V6ONLY socket option cannot be set.

With OpenBSD IPv6 sockets are always IPv6-only, so the socket option is read-only (not modifiable).

See also https://man.openbsd.org/OpenBSD-current/ip6#IPV6_V6ONLY

I believe a simple addition to the ifdef to read like
#if defined IPV6_V6ONLY && !defined ZMQ_HAVE_OPENBSD
would be enough.

@bluca
Copy link
Member

bluca commented Jul 22, 2017

Is it always been read-only, or just in recent versions?
Could you please send a PR to fix it as you suggested?

@ecoughlan
Copy link
Author

ecoughlan commented Jul 22, 2017

It's been many years at least. I've changed the link above. Also PR here:
#2631

My use case is similar to this: saltstack/salt#23246 although on the client side, so it's probably not a new problem. The function is called from tcp_connecter and listener.

@bluca
Copy link
Member

bluca commented Jul 22, 2017

Great, thanks.

@bluca bluca closed this as completed Jul 22, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants