diff --git a/lib/krb5/addr_families.c b/lib/krb5/addr_families.c index 383b98fec..7cdc74b94 100644 --- a/lib/krb5/addr_families.c +++ b/lib/krb5/addr_families.c @@ -128,7 +128,11 @@ ipv6_sockaddr2addr (const struct sockaddr *sa, krb5_address *a) a->addr_type = KRB5_ADDRESS_INET; #ifndef IN6_ADDR_V6_TO_V4 +#ifdef IN6_EXTRACT_V4ADDR #define IN6_ADDR_V6_TO_V4(x) (&IN6_EXTRACT_V4ADDR(x)) +#else +#define IN6_ADDR_V6_TO_V4(x) ((struct in_addr *)&(x)->s6_addr32[3]) +#endif #endif memcpy (buf, IN6_ADDR_V6_TO_V4(&sin6->sin6_addr), 4); return krb5_data_copy(&a->address, buf, 4);