Commit 90ceaa9e authored by Ondrej Sury's avatar Ondrej Sury

Imported Upstream version 5.4.4~rc2

parent 01c525f6
PHP NEWS PHP NEWS
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
17 May 2012, PHP 5.4.4 RC1 ?? ??? 2012, PHP 5.4.4
- COM:
. Fixed bug #62146 com_dotnet cannot be built shared. (Johannes)
- CLI Server: - CLI Server:
. Implemented FR #61977 (Need CLI web-server support for files with .htm & . Implemented FR #61977 (Need CLI web-server support for files with .htm &
...@@ -17,8 +20,11 @@ PHP NEWS ...@@ -17,8 +20,11 @@ PHP NEWS
- Core: - Core:
. Fixed missing bound check in iptcparse(). (chris at chiappa.net) . Fixed missing bound check in iptcparse(). (chris at chiappa.net)
. Fixed CVE-2012-2143. (Solar Designer)
. Fixed bug #62005 (unexpected behavior when incrementally assigning to a . Fixed bug #62005 (unexpected behavior when incrementally assigning to a
member of a null object). (Laruence) member of a null object). (Laruence)
. Fixed bug #61998 (Using traits with method aliases appears to result in
crash during execution). (Dmitry)
. Fixed bug #61978 (Object recursion not detected for classes that implement . Fixed bug #61978 (Object recursion not detected for classes that implement
JsonSerializable). (Felipe) JsonSerializable). (Felipe)
. Fixed bug #61991 (long overflow in realpath_cache_get()). (Anatoliy) . Fixed bug #61991 (long overflow in realpath_cache_get()). (Anatoliy)
...@@ -43,19 +49,46 @@ PHP NEWS ...@@ -43,19 +49,46 @@ PHP NEWS
. Changed php://fd to be available only for CLI. . Changed php://fd to be available only for CLI.
- Phar: - Phar:
. Fix bug #61065 (Secunia SA44335). (Rasmus) . Fix bug #61065 (Secunia SA44335, CVE-2012-2386). (Rasmus)
- Reflection: - Pgsql:
. Implemented FR #61602 (Allow access to the name of constant . Added pg_escape_identifier/pg_escape_literal. (Yasuo Ohgaki)
used as function/method parameter's default value). (reeze.xia@gmail.com)
- FPM - Fileinfo
. Fixed bug #61812 (Uninitialised value used in libmagic). . Fixed bug #61812 (Uninitialised value used in libmagic).
(Laruence, Gustavo) (Laruence, Gustavo)
- FPM
. Fixed bug #61045 (fpm don't send error log to fastcgi clients). (fat)
. Fixed bug #61835 (php-fpm is not allowed to run as root). (fat)
. Fixed bug #61295 (php-fpm should not fail with commented 'user'
for non-root start). (fat)
. Fixed bug #61839 (Unable to cross-compile PHP with --enable-fpm). (fat)
. Fixed bug #61026 (FPM pools can listen on the same address). (fat)
. Fixed bug #62033 (php-fpm exits with status 0 on some failures to start).
(fat)
. Fixed bug #62153 (when using unix sockets, multiples FPM instances
can be launched without errors). (fat)
. Fixed bug #62160 (Add process.priority to set nice(2) priorities). (fat)
. Fixed bug #61218 (FPM drops connection while receiving some binary values
in FastCGI requests). (fat)
- Intl
. ResourceBundle constructor now accepts NULL for the first two arguments.
(Gustavo)
. Fixed bug #62082 (Memory corruption in internal function
get_icu_disp_value_src_php()). (Gustavo)
- Libxml: - Libxml:
. Fixed bug #61617 (Libxml tests failed(ht is already destroyed)). . Fixed bug #61617 (Libxml tests failed(ht is already destroyed)).
(Laruence) (Laruence)
- Sockets:
. Fixed bug #62025 (__ss_family was changed on AIX 5.3). (Felipe)
- XML Writer:
. Fixed bug #62064 (memory leak in the XML Writer module).
(jean-pierre dot lozi at lip6 dot fr)
- Zlib: - Zlib:
. Fixed bug #61820 (using ob_gzhandler will complain about headers already . Fixed bug #61820 (using ob_gzhandler will complain about headers already
......
...@@ -37,9 +37,9 @@ PHP 5.4 UPGRADE NOTES ...@@ -37,9 +37,9 @@ PHP 5.4 UPGRADE NOTES
============================= =============================
- PHP 5.4 now checks at compile time if /dev/urandom or /dev/arandom - PHP 5.4 now checks at compile time if /dev/urandom or /dev/arandom
are present. If either is available, session.entropy_file now are present. If either is available, session.entropy_file now
defaults to that file and session.entropy_length defaults to 32. defaults to that file and session.entropy_length defaults to 32.
This provides non-blocking entropy to session id generation. If you This provides non-blocking entropy to session id generation. If you
do not want extra entropy for your session ids, add: do not want extra entropy for your session ids, add:
session.entropy_file= session.entropy_file=
...@@ -89,9 +89,9 @@ PHP 5.4 UPGRADE NOTES ...@@ -89,9 +89,9 @@ PHP 5.4 UPGRADE NOTES
session.upload_progress.min_freq session.upload_progress.min_freq
- Added a zend.multibyte directive as a replacement of the PHP compile time - Added a zend.multibyte directive as a replacement of the PHP compile time
configuration option --enable-zend-multibyte. Now the Zend Engine always configuration option --enable-zend-multibyte. Now the Zend Engine always
contains code for multibyte support, which can be enabled or disabled at contains code for multibyte support, which can be enabled or disabled at
runtime. Note: It doesn't make a lot of sense to enable this option if runtime. Note: It doesn't make a lot of sense to enable this option if
ext/mbstring is not enabled, because most functionality is implemented by ext/mbstring is not enabled, because most functionality is implemented by
mbstrings callbacks. mbstrings callbacks.
...@@ -107,7 +107,7 @@ PHP 5.4 UPGRADE NOTES ...@@ -107,7 +107,7 @@ PHP 5.4 UPGRADE NOTES
in a stream fashion (through php://input) without having it copied in memory in a stream fashion (through php://input) without having it copied in memory
multiple times. multiple times.
- Added windows_show_crt_warning. This directive shows the CRT warnings when - Added windows_show_crt_warning. This directive shows the CRT warnings when
enabled. These warnings were displayed by default until now. It is disabled enabled. These warnings were displayed by default until now. It is disabled
by default. by default.
...@@ -162,7 +162,7 @@ PHP 5.4 UPGRADE NOTES ...@@ -162,7 +162,7 @@ PHP 5.4 UPGRADE NOTES
- Non-numeric string offsets, e.g. $a['foo'] where $a is a string, now - Non-numeric string offsets, e.g. $a['foo'] where $a is a string, now
return false on isset() and true on empty(), and produce warning if return false on isset() and true on empty(), and produce warning if
trying to use them. Offsets of types double, bool and null produce trying to use them. Offsets of types double, bool and null produce
notice. Numeric strings ($a['2']) still work as before. notice. Numeric strings ($a['2']) still work as before.
Note that offsets like '12.3' and '5 and a half' are considered Note that offsets like '12.3' and '5 and a half' are considered
...@@ -207,7 +207,7 @@ PHP 5.4 UPGRADE NOTES ...@@ -207,7 +207,7 @@ PHP 5.4 UPGRADE NOTES
- htmlentities() and htmlspecialchars() are stricter in the code units they - htmlentities() and htmlspecialchars() are stricter in the code units they
accept for the asian encodings. For Big5-HKSCS, the octets 0x80 and 0xFF are accept for the asian encodings. For Big5-HKSCS, the octets 0x80 and 0xFF are
rejected. For GB2312/EUC-CN, the octets 0x8E, 0x8F, 0xA0 and 0xFF are rejected. For GB2312/EUC-CN, the octets 0x8E, 0x8F, 0xA0 and 0xFF are
rejected. For SJIS, the octets 0x80, 0xA0, 0xFD, 0xFE and 0xFF are rejected, rejected. For SJIS, the octets 0x80, 0xA0, 0xFD, 0xFE and 0xFF are rejected,
except maybe after a valid starting byte. For EUC-JP, the octets 0xA0 and except maybe after a valid starting byte. For EUC-JP, the octets 0xA0 and
0xFF are rejected. 0xFF are rejected.
...@@ -233,7 +233,7 @@ PHP 5.4 UPGRADE NOTES ...@@ -233,7 +233,7 @@ PHP 5.4 UPGRADE NOTES
checks on the validity of the entities. Numerical entities are checked for a checks on the validity of the entities. Numerical entities are checked for a
valid range (0 to 0x10FFFF); if the flag ENT_DISALLOWED is given, the valid range (0 to 0x10FFFF); if the flag ENT_DISALLOWED is given, the
validity of such numerical entity in the target document type is also validity of such numerical entity in the target document type is also
checked. Named entities are checked for necessary existence in the target checked. Named entities are checked for necessary existence in the target
document type instead of only checking whether they were constituted by document type instead of only checking whether they were constituted by
alphanumeric characters. alphanumeric characters.
...@@ -341,6 +341,8 @@ PHP 5.4 UPGRADE NOTES ...@@ -341,6 +341,8 @@ PHP 5.4 UPGRADE NOTES
- Since 5.4.4, "php://fd" stream syntax is available only in CLI build. - Since 5.4.4, "php://fd" stream syntax is available only in CLI build.
- Since 5.4.5, resourcebundle_create() accepts null for the first two arguments.
============================== ==============================
5. Changes to existing classes 5. Changes to existing classes
============================== ==============================
...@@ -373,6 +375,9 @@ PHP 5.4 UPGRADE NOTES ...@@ -373,6 +375,9 @@ PHP 5.4 UPGRADE NOTES
- FilesystemIterator, GlobIterator and (Recursive)DirectoryIterator now use - FilesystemIterator, GlobIterator and (Recursive)DirectoryIterator now use
the default stream context. the default stream context.
- Since 5.4.5, the constructor of ResourceBundle accepts NULL for the first two
arguments.
=========================== ===========================
7. Deprecated Functionality 7. Deprecated Functionality
=========================== ===========================
...@@ -431,7 +436,7 @@ d. Removed hash algorithms ...@@ -431,7 +436,7 @@ d. Removed hash algorithms
a. Extensions no longer maintained a. Extensions no longer maintained
- ext/sqlite is no longer part of the base distribution and has been moved - ext/sqlite is no longer part of the base distribution and has been moved
to PECL. Use sqlite3 or PDO_SQLITE instead. to PECL. Use sqlite3 or PDO_SQLITE instead.
b. Extensions with changed behavior b. Extensions with changed behavior
...@@ -485,7 +490,7 @@ b. Extensions with changed behavior ...@@ -485,7 +490,7 @@ b. Extensions with changed behavior
=========================== ===========================
- A REQUEST_TIME_FLOAT value returns a floating point number indicating the - A REQUEST_TIME_FLOAT value returns a floating point number indicating the
time with microsecond precision. All SAPIs providing this value should be time with microsecond precision. All SAPIs providing this value should be
returning float and not time_t. returning float and not time_t.
- apache_child_terminate(), getallheaders(), apache_request_headers() - apache_child_terminate(), getallheaders(), apache_request_headers()
...@@ -610,6 +615,10 @@ c. New functions ...@@ -610,6 +615,10 @@ c. New functions
- mysqli_error_list() - mysqli_error_list()
- mysqli_stmt_error_list() - mysqli_stmt_error_list()
- pgsql
- pg_escape_identifier() (5.4.4)
- pg_escape_literal() (5.4.4)
- Session: - Session:
- session_register_shutdown() - session_register_shutdown()
- session_status() - session_status()
......
--TEST--
Bug #62097: fix for bug #54547 is wrong for 32-bit machines
--SKIPIF--
<?php
if (PHP_INT_MAX !== 2147483647)
die('skip for system with 32-bit wide longs only');
--FILE--
<?php
var_dump("02147483647" == "2147483647",
"02147483648" == "2147483648",
"09007199254740991" == "9007199254740991",
"09007199254740992" == "9007199254740992");
--EXPECT--
bool(true)
bool(true)
bool(true)
bool(false)
--TEST--
Bug #61998 (Using traits with method aliases appears to result in crash during execution)
--FILE--
<?php
class Foo {
use T1 {
func as newFunc;
}
public function func() {
echo "From Foo\n";
}
}
trait T1 {
public function func() {
echo "From T1\n";
}
}
class Bar {
public function func() {
echo "From Bar\n";
}
public function func2() {
echo "From Bar\n";
}
public function func3() {
echo "From Bar\n";
}
use T1 {
func as newFunc;
func as func2;
}
use T2 {
func2 as newFunc2;
func2 as newFunc3;
func2 as func3;
}
}
trait T2 {
public function func2() {
echo "From T2\n";
}
}
$f = new Foo();
$f->newFunc(); //from T1
$f->func(); //from Foo
$b = new Bar();
$b->newFunc(); //from T1
$b->func(); //from Bar
$b->func2(); //from Bar
$b->newFunc2(); //from T2
$b->newFunc3(); //from T2
$b->func3(); //from Bar
--EXPECTF--
From T1
From Foo
From T1
From Bar
From Bar
From T2
From T2
From Bar
...@@ -3619,6 +3619,7 @@ ZEND_API void zend_do_implement_trait(zend_class_entry *ce, zend_class_entry *tr ...@@ -3619,6 +3619,7 @@ ZEND_API void zend_do_implement_trait(zend_class_entry *ce, zend_class_entry *tr
} }
} }
ce->traits[ce->num_traits++] = trait; ce->traits[ce->num_traits++] = trait;
trait->refcount++;
} }
} }
/* }}} */ /* }}} */
...@@ -3870,8 +3871,8 @@ static int zend_traits_copy_functions(zend_function *fn TSRMLS_DC, int num_args, ...@@ -3870,8 +3871,8 @@ static int zend_traits_copy_functions(zend_function *fn TSRMLS_DC, int num_args,
fn_copy = *fn; fn_copy = *fn;
function_add_ref(&fn_copy); function_add_ref(&fn_copy);
/* this function_name is never destroyed, because its refcount /* this function_name is never destroyed, because its refcount
greater than 1, classes are always destoyed in reverse order greater than 1 and classes are always destoyed before the
and trait is declared early than this class */ traits they use */
fn_copy.common.function_name = aliases[i]->alias; fn_copy.common.function_name = aliases[i]->alias;
/* if it is 0, no modifieres has been changed */ /* if it is 0, no modifieres has been changed */
...@@ -4076,14 +4077,14 @@ static void zend_do_traits_method_binding(zend_class_entry *ce TSRMLS_DC) /* {{{ ...@@ -4076,14 +4077,14 @@ static void zend_do_traits_method_binding(zend_class_entry *ce TSRMLS_DC) /* {{{
size_t i; size_t i;
/* prepare copies of trait function tables for combination */ /* prepare copies of trait function tables for combination */
function_tables = malloc(sizeof(HashTable*) * ce->num_traits); function_tables = emalloc(sizeof(HashTable*) * ce->num_traits);
resulting_table = (HashTable *) malloc(sizeof(HashTable)); resulting_table = (HashTable *)emalloc(sizeof(HashTable));
/* TODO: revisit this start size, may be its not optimal */ /* TODO: revisit this start size, may be its not optimal */
zend_hash_init_ex(resulting_table, 10, NULL, NULL, 1, 0); zend_hash_init_ex(resulting_table, 10, NULL, NULL, 0, 0);
for (i = 0; i < ce->num_traits; i++) { for (i = 0; i < ce->num_traits; i++) {
function_tables[i] = (HashTable *) malloc(sizeof(HashTable)); function_tables[i] = (HashTable *)emalloc(sizeof(HashTable));
zend_hash_init_ex(function_tables[i], ce->traits[i]->function_table.nNumOfElements, NULL, NULL, 1, 0); zend_hash_init_ex(function_tables[i], ce->traits[i]->function_table.nNumOfElements, NULL, NULL, 1, 0);
if (ce->trait_precedences) { if (ce->trait_precedences) {
...@@ -4116,14 +4117,14 @@ static void zend_do_traits_method_binding(zend_class_entry *ce TSRMLS_DC) /* {{{ ...@@ -4116,14 +4117,14 @@ static void zend_do_traits_method_binding(zend_class_entry *ce TSRMLS_DC) /* {{{
for (i = 0; i < ce->num_traits; i++) { for (i = 0; i < ce->num_traits; i++) {
/* zend_hash_destroy(function_tables[i]); */ /* zend_hash_destroy(function_tables[i]); */
zend_hash_graceful_destroy(function_tables[i]); zend_hash_graceful_destroy(function_tables[i]);
free(function_tables[i]); efree(function_tables[i]);
} }
free(function_tables); efree(function_tables);
/* free temporary resulting table */ /* free temporary resulting table */
/* zend_hash_destroy(resulting_table); */ /* zend_hash_destroy(resulting_table); */
zend_hash_graceful_destroy(resulting_table); zend_hash_graceful_destroy(resulting_table);
free(resulting_table); efree(resulting_table);
} }
/* }}} */ /* }}} */
......
...@@ -168,7 +168,7 @@ ZEND_API const zend_encoding *zend_multibyte_get_script_encoding(TSRMLS_D) ...@@ -168,7 +168,7 @@ ZEND_API const zend_encoding *zend_multibyte_get_script_encoding(TSRMLS_D)
ZEND_API int zend_multibyte_set_script_encoding(const zend_encoding **encoding_list, size_t encoding_list_size TSRMLS_DC) ZEND_API int zend_multibyte_set_script_encoding(const zend_encoding **encoding_list, size_t encoding_list_size TSRMLS_DC)
{ {
if (CG(script_encoding_list)) { if (CG(script_encoding_list)) {
efree(CG(script_encoding_list)); free(CG(script_encoding_list));
} }
CG(script_encoding_list) = encoding_list; CG(script_encoding_list) = encoding_list;
CG(script_encoding_list_size) = encoding_list_size; CG(script_encoding_list_size) = encoding_list_size;
......
...@@ -215,6 +215,12 @@ ZEND_API int zend_cleanup_class_data(zend_class_entry **pce TSRMLS_DC) ...@@ -215,6 +215,12 @@ ZEND_API int zend_cleanup_class_data(zend_class_entry **pce TSRMLS_DC)
void _destroy_zend_class_traits_info(zend_class_entry *ce) void _destroy_zend_class_traits_info(zend_class_entry *ce)
{ {
if (ce->num_traits > 0 && ce->traits) { if (ce->num_traits > 0 && ce->traits) {
size_t i;
for (i = 0; i < ce->num_traits; i++) {
if (ce->traits[i]) {
destroy_zend_class(&ce->traits[i]);
}
}
efree(ce->traits); efree(ce->traits);
} }
......
...@@ -2041,7 +2041,13 @@ ZEND_API void zendi_smart_strcmp(zval *result, zval *s1, zval *s2) /* {{{ */ ...@@ -2041,7 +2041,13 @@ ZEND_API void zendi_smart_strcmp(zval *result, zval *s1, zval *s2) /* {{{ */
if ((ret1=is_numeric_string_ex(Z_STRVAL_P(s1), Z_STRLEN_P(s1), &lval1, &dval1, 0, &oflow1)) && if ((ret1=is_numeric_string_ex(Z_STRVAL_P(s1), Z_STRLEN_P(s1), &lval1, &dval1, 0, &oflow1)) &&
(ret2=is_numeric_string_ex(Z_STRVAL_P(s2), Z_STRLEN_P(s2), &lval2, &dval2, 0, &oflow2))) { (ret2=is_numeric_string_ex(Z_STRVAL_P(s2), Z_STRLEN_P(s2), &lval2, &dval2, 0, &oflow2))) {
#if ULONG_MAX == 0xFFFFFFFF
if (oflow1 != 0 && oflow1 == oflow2 && dval1 - dval2 == 0. &&
((oflow1 == 1 && dval1 > 9007199254740991. /*0x1FFFFFFFFFFFFF*/)
|| (oflow1 == -1 && dval1 < -9007199254740991.))) {
#else
if (oflow1 != 0 && oflow1 == oflow2 && dval1 - dval2 == 0.) { if (oflow1 != 0 && oflow1 == oflow2 && dval1 - dval2 == 0.) {
#endif
/* both values are integers overflown to the same side, and the /* both values are integers overflown to the same side, and the
* double comparison may have resulted in crucial accuracy lost */ * double comparison may have resulted in crucial accuracy lost */
goto string_cmp; goto string_cmp;
......
...@@ -3636,8 +3636,8 @@ ac_config_headers="$ac_config_headers main/php_config.h" ...@@ -3636,8 +3636,8 @@ ac_config_headers="$ac_config_headers main/php_config.h"
PHP_MAJOR_VERSION=5 PHP_MAJOR_VERSION=5
PHP_MINOR_VERSION=4 PHP_MINOR_VERSION=4
PHP_RELEASE_VERSION=4 PHP_RELEASE_VERSION=5
PHP_EXTRA_VERSION="-RC1" PHP_EXTRA_VERSION="-dev"
PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION" PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
PHP_VERSION_ID=`expr $PHP_MAJOR_VERSION \* 10000 + $PHP_MINOR_VERSION \* 100 + $PHP_RELEASE_VERSION` PHP_VERSION_ID=`expr $PHP_MAJOR_VERSION \* 10000 + $PHP_MINOR_VERSION \* 100 + $PHP_RELEASE_VERSION`
...@@ -11596,6 +11596,18 @@ _ACEOF ...@@ -11596,6 +11596,18 @@ _ACEOF
fi fi
done
for ac_header in sysexits.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "sysexits.h" "ac_cv_header_sysexits_h" "$ac_includes_default"
if test "x$ac_cv_header_sysexits_h" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_SYSEXITS_H 1
_ACEOF
fi
done done
...@@ -11802,10 +11814,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ...@@ -11802,10 +11814,10 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
$as_echo_n "checking whether ptrace works... " >&6; } $as_echo_n "checking whether ptrace works... " >&6; }
if test "$cross_compiling" = yes; then : if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: result: skipped (cross compiling)" >&5
as_fn_error "cannot run test program while cross compiling $as_echo "skipped (cross compiling)" >&6; }
See \`config.log' for more details." "$LINENO" 5; }
else else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */ /* end confdefs.h. */
...@@ -11960,10 +11972,10 @@ $as_echo "#define HAVE_MACH_VM_READ 1" >>confdefs.h ...@@ -11960,10 +11972,10 @@ $as_echo "#define HAVE_MACH_VM_READ 1" >>confdefs.h
$as_echo_n "checking for proc mem file... " >&6; } $as_echo_n "checking for proc mem file... " >&6; }
if test "$cross_compiling" = yes; then : if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: result: skipped (cross compiling)" >&5
as_fn_error "cannot run test program while cross compiling $as_echo "skipped (cross compiling)" >&6; }
See \`config.log' for more details." "$LINENO" 5; }
else else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */ /* end confdefs.h. */
...@@ -86485,6 +86497,44 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ...@@ -86485,6 +86497,44 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
$as_echo "#define HAVE_SOCKETS 1" >>confdefs.h $as_echo "#define HAVE_SOCKETS 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for field ss_family in struct sockaddr_storage" >&5
$as_echo_n "checking for field ss_family in struct sockaddr_storage... " >&6; }
if test "${ac_cv_ss_family+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/socket.h>
#include <sys/types.h>
#include <netdb.h>
int
main ()
{
struct sockaddr_storage sa_store; sa_store.ss_family = AF_INET6;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_ss_family=yes
else
ac_cv_ss_family=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_ss_family" >&5
$as_echo "$ac_cv_ss_family" >&6; }
if test "$ac_cv_ss_family" = yes; then
$as_echo "#define HAVE_SA_SS_FAMILY 1" >>confdefs.h
fi
ext_builddir=ext/sockets ext_builddir=ext/sockets
ext_srcdir=$abs_srcdir/ext/sockets ext_srcdir=$abs_srcdir/ext/sockets
...@@ -103763,7 +103813,7 @@ else ...@@ -103763,7 +103813,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 103766 "configure" #line 103816 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
...@@ -105675,7 +105725,7 @@ ia64-*-hpux*) ...@@ -105675,7 +105725,7 @@ ia64-*-hpux*)
;; ;;
*-*-irix6*) *-*-irix6*)
# Find out which ABI we are using. # Find out which ABI we are using.
echo '#line 105678 "configure"' > conftest.$ac_ext echo '#line 105728 "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5 (eval $ac_compile) 2>&5
ac_status=$? ac_status=$?
...@@ -107067,7 +107117,7 @@ else ...@@ -107067,7 +107117,7 @@ else
LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 107070 "configure" #line 107120 "configure"
#include "confdefs.h" #include "confdefs.h"
int main() { int main() {
; return 0; } ; return 0; }
...@@ -107225,11 +107275,11 @@ else ...@@ -107225,11 +107275,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'` -e 's:$: $lt_compiler_flag:'`
(eval echo "\"configure:107228: $lt_compile\"" >&5) (eval echo "\"configure:107278: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err) (eval "$lt_compile" 2>conftest.err)
ac_status=$? ac_status=$?
cat conftest.err >&5 cat conftest.err >&5
echo "configure:107232: \$? = $ac_status" >&5 echo "configure:107282: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized # The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output. # So say no if there are warnings other than the usual output.
...@@ -107523,11 +107573,11 @@ else ...@@ -107523,11 +107573,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'` -e 's:$: $lt_compiler_flag:'`
(eval echo "\"configure:107526: $lt_compile\"" >&5) (eval echo "\"configure:107576: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err) (eval "$lt_compile" 2>conftest.err)
ac_status=$? ac_status=$?
cat conftest.err >&5 cat conftest.err >&5
echo "configure:107530: \$? = $ac_status" >&5 echo "configure:107580: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized # The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output. # So say no if there are warnings other than the usual output.
...@@ -107627,11 +107677,11 @@ else ...@@ -107627,11 +107677,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'` -e 's:$: $lt_compiler_flag:'`
(eval echo "\"configure:107630: $lt_compile\"" >&5) (eval echo "\"configure:107680: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err) (eval "$lt_compile" 2>out/conftest.err)
ac_status=$? ac_status=$?
cat out/conftest.err >&5 cat out/conftest.err >&5
echo "configure:107634: \$? = $ac_status" >&5 echo "configure:107684: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext if (exit $ac_status) && test -s out/conftest2.$ac_objext
then then
# The compiler can only warn and ignore the option if not recognized # The compiler can only warn and ignore the option if not recognized
...@@ -108091,7 +108141,7 @@ _LT_EOF ...@@ -108091,7 +108141,7 @@ _LT_EOF
# Determine the default libpath from the value encoded in an empty executable. # Determine the default libpath from the value encoded in an empty executable.
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 108094 "configure" #line 108144 "configure"
#include "confdefs.h" #include "confdefs.h"
int main() { int main() {
; return 0; } ; return 0; }
...@@ -108133,7 +108183,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ...@@ -108133,7 +108183,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
# Determine the default libpath from the value encoded in an empty executable. # Determine the default libpath from the value encoded in an empty executable.
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 108136 "configure" #line 108186 "configure"
#include "confdefs.h" #include "confdefs.h"
int main() { int main() {
; return 0; } ; return 0; }
...@@ -109658,7 +109708,7 @@ else ...@@ -109658,7 +109708,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 109661 "configure" #line 109711 "configure"
#include "confdefs.h" #include "confdefs.h"
#if HAVE_DLFCN_H #if HAVE_DLFCN_H
...@@ -109758,7 +109808,7 @@ else ...@@ -109758,7 +109808,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 109761 "configure" #line 109811 "configure"
#include "confdefs.h" #include "confdefs.h"