stat_nsec_found=yes
fi
+ac_fn_c_check_member "$LINENO" "struct sockaddr_in6" "sin6_len" "ac_cv_member_struct_sockaddr_in6_sin6_len" "#include <netinet/in.h>
+"
+if test "x$ac_cv_member_struct_sockaddr_in6_sin6_len" = xyes
+then :
+
+printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN 1" >>confdefs.h
+
+
+fi
+ac_fn_c_check_member "$LINENO" "struct sockaddr_in" "sin_len" "ac_cv_member_struct_sockaddr_in_sin_len" "#include <netinet/in.h>
+"
+if test "x$ac_cv_member_struct_sockaddr_in_sin_len" = xyes
+then :
+
+printf "%s\n" "#define HAVE_STRUCT_SOCKADDR_IN_SIN_LEN 1" >>confdefs.h
+
+
+fi
+
if test "${stat_nsec_found}" != yes; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot determine nanosecond field of struct stat" >&5
AC_CHECK_TYPES([ptrdiff_t])
stat_nsec_found=no
AC_CHECK_MEMBERS([struct stat.st_mtim, struct stat.st_mtimensec, struct stat.st_mtimespec], [stat_nsec_found=yes], [], [[#include <sys/stat.h>]])
+AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_len, struct sockaddr_in.sin_len], [], [], [[#include <netinet/in.h>]])
if test "${stat_nsec_found}" != yes; then
AC_MSG_WARN(Cannot determine nanosecond field of struct stat)
/* Define to 1 if 'ifr_ifru.ifru_hwaddr' is a member of 'struct ifreq'. */
#undef HAVE_STRUCT_IFREQ_IFR_IFRU_IFRU_HWADDR
+/* Define to 1 if 'sin6_len' is a member of 'struct sockaddr_in6'. */
+#undef HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN
+
+/* Define to 1 if 'sin_len' is a member of 'struct sockaddr_in'. */
+#undef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
+
/* Define to 1 if 'uid' is a member of 'struct sockpeercred'. */
#undef HAVE_STRUCT_SOCKPEERCRED_UID
{
if (pjaddr->addr.sa_family == pj_AF_INET()) {
struct sockaddr_in *sin = (struct sockaddr_in *) &addr->ss;
+#if defined(HAVE_STRUCT_SOCKADDR_IN_SIN_LEN)
+ sin->sin_len = sizeof(struct sockaddr_in);
+#endif
sin->sin_family = AF_INET;
#if defined(HAVE_PJPROJECT_BUNDLED) && !defined(HAVE_PJPROJECT_BUNDLED_OOT)
sin->sin_addr = pjaddr->ipv4.sin_addr;
addr->len = sizeof(struct sockaddr_in);
} else if (pjaddr->addr.sa_family == pj_AF_INET6()) {
struct sockaddr_in6 *sin = (struct sockaddr_in6 *) &addr->ss;
+#if defined(HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN)
+ sin->sin6_len = sizeof(struct sockaddr_in6);
+#endif
sin->sin6_family = AF_INET6;
sin->sin6_port = pjaddr->ipv6.sin6_port;
sin->sin6_flowinfo = pjaddr->ipv6.sin6_flowinfo;