summaryrefslogtreecommitdiffstats
path: root/crypto/bio
diff options
context:
space:
mode:
authorBen Laurie <ben@openssl.org>2012-06-08 09:18:47 +0000
committerBen Laurie <ben@openssl.org>2012-06-08 09:18:47 +0000
commitaf454b5bb09bf647b4854dc277f2eefc151b2608 (patch)
treedc263a92a0e3e5c73ec5ea049a92411f51e0eb57 /crypto/bio
parent5b2bbf37fa2f90ac1b6ab381179d739ae376723b (diff)
Reduce version skew.
Diffstat (limited to 'crypto/bio')
-rw-r--r--crypto/bio/bss_dgram.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/crypto/bio/bss_dgram.c b/crypto/bio/bss_dgram.c
index 1b1e4bec81..46cbe8a407 100644
--- a/crypto/bio/bss_dgram.c
+++ b/crypto/bio/bss_dgram.c
@@ -81,6 +81,16 @@
#define IP_MTU 14 /* linux is lame */
#endif
+#ifdef __FreeBSD__
+/* Standard definition causes type-punning problems. */
+#undef IN6_IS_ADDR_V4MAPPED
+#define s6_addr32 __u6_addr.__u6_addr32
+#define IN6_IS_ADDR_V4MAPPED(a) \
+ (((a)->s6_addr32[0] == 0) && \
+ ((a)->s6_addr32[1] == 0) && \
+ ((a)->s6_addr32[2] == htonl(0x0000ffff)))
+#endif
+
#ifdef WATT32
#define sock_write SockWrite /* Watt-32 uses same names */
#define sock_read SockRead