aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCalvin <[email protected]>2019-03-20 15:52:47 -0400
committerCalvin <[email protected]>2019-05-29 06:21:43 -0400
commit3c8f6be7d1eba07c52312a4fbd7257850c7a7c05 (patch)
tree17d4e534a2714c6e349781491318106b851f4139
parent3cc075fc08bd7297cc0f354a919961c7897bcea4 (diff)
downloadotp-3c8f6be7d1eba07c52312a4fbd7257850c7a7c05.tar.gz
otp-3c8f6be7d1eba07c52312a4fbd7257850c7a7c05.tar.bz2
otp-3c8f6be7d1eba07c52312a4fbd7257850c7a7c05.zip
fix missing check for proper ipv6 sockopt
-rw-r--r--erts/emulator/nifs/common/socket_nif.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/erts/emulator/nifs/common/socket_nif.c b/erts/emulator/nifs/common/socket_nif.c
index e71c786d3e..b2c5e77cf2 100644
--- a/erts/emulator/nifs/common/socket_nif.c
+++ b/erts/emulator/nifs/common/socket_nif.c
@@ -9141,8 +9141,12 @@ ERL_NIF_TERM nsetopt_lvl_ipv6_addrform(ErlNifEnv* env,
domain) );
res = socket_setopt(descP->sock,
- SOL_IPV6, IPV6_ADDRFORM,
- &domain, sizeof(domain));
+#if defined(SOL_IPV6)
+ SOL_IPV6,
+#else
+ IPPROTO_IPV6,
+#endif
+ IPV6_ADDRFORM, &domain, sizeof(domain));
if (res != 0)
result = esock_make_error_errno(env, sock_errno());
@@ -9172,7 +9176,13 @@ ERL_NIF_TERM nsetopt_lvl_ipv6_authhdr(ErlNifEnv* env,
ESockDescriptor* descP,
ERL_NIF_TERM eVal)
{
- return nsetopt_bool_opt(env, descP, SOL_IPV6, IPV6_AUTHHDR, eVal);
+ return nsetopt_bool_opt(env, descP,
+#if defined(SOL_IPV6)
+ SOL_IPV6,
+#else
+ IPPROTO_IPV6,
+#endif
+ IPV6_AUTHHDR, eVal);
}
#endif