2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Added a check to see struct sockaddr_in has sin_len member.
	* configure.ac
pull/1/head
Tatsuhiro Tsujikawa 2009-02-11 16:12:07 +00:00
parent 8f596468eb
commit c0f13f9e69
4 changed files with 118 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added a check to see struct sockaddr_in has sin_len member.
* configure.ac
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed buffer overrun.

View File

@ -322,6 +322,9 @@
/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
/* Define to 1 if struct sockaddr has sin_len member. */
#undef HAVE_SOCKADDR_SIN_LEN
/* Define to 1 if you have the `socket' function. */
#undef HAVE_SOCKET

104
configure vendored
View File

@ -22003,6 +22003,110 @@ fi
;;
esac
{ echo "$as_me:$LINENO: checking for struct sockaddr_in.sin_len" >&5
echo $ECHO_N "checking for struct sockaddr_in.sin_len... $ECHO_C" >&6; }
if test "${ac_cv_member_struct_sockaddr_in_sin_len+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <netinet/in.h>
int
main ()
{
static struct sockaddr_in ac_aggr;
if (ac_aggr.sin_len)
return 0;
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_member_struct_sockaddr_in_sin_len=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <netinet/in.h>
int
main ()
{
static struct sockaddr_in ac_aggr;
if (sizeof ac_aggr.sin_len)
return 0;
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_cxx_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_cv_member_struct_sockaddr_in_sin_len=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_member_struct_sockaddr_in_sin_len=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_sockaddr_in_sin_len" >&5
echo "${ECHO_T}$ac_cv_member_struct_sockaddr_in_sin_len" >&6; }
if test $ac_cv_member_struct_sockaddr_in_sin_len = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_SOCKADDR_SIN_LEN 1
_ACEOF
fi
ac_config_files="$ac_config_files Makefile src/Makefile test/Makefile po/Makefile.in m4/Makefile intl/Makefile lib/Makefile doc/Makefile"
cat >confcache <<\_ACEOF

View File

@ -329,6 +329,12 @@ case "$target" in
;;
esac
AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
[AC_DEFINE([HAVE_SOCKADDR_SIN_LEN],[1],
[Define to 1 if struct sockaddr has sin_len member.])],
[],
[[#include <netinet/in.h>]])
AC_CONFIG_FILES([Makefile
src/Makefile
test/Makefile