Merge branch 'PHP-7.4'

* PHP-7.4:
  Unbundle ext/wddx
This commit is contained in:
Christoph M. Becker 2019-03-20 14:16:56 +01:00
commit 7b2a908c04
49 changed files with 0 additions and 3776 deletions

View File

@ -201,11 +201,6 @@ PRIMARY MAINTAINER: Dmitry Stogov <dmitry@php.net> (2004 - 2018)
MAINTENANCE: Maintained
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: wddx
PRIMARY MAINTAINER: Andrei Zmievski <andrei@php.net> (1999 - 2003)
MAINTENANCE: Orphaned
STATUS: Working
-------------------------------------------------------------------------------
EXTENSION: xml
PRIMARY MAINTAINER: Thies C. Arntzen <thies@thieso.net> (1999 - 2002)
Rob Richards <rrichards@php.net> (2003 - 2013)

View File

@ -1,2 +0,0 @@
WDDX
Andrei Zmievski

View File

@ -1,68 +0,0 @@
dnl config.m4 for extension wddx
PHP_ARG_ENABLE([wddx],
[whether to enable WDDX support],
[AS_HELP_STRING([--enable-wddx],
[Enable WDDX support])])
if test -z "$PHP_LIBXML_DIR"; then
PHP_ARG_WITH([libxml-dir],
[libxml2 install dir],
[AS_HELP_STRING([--with-libxml-dir=DIR],
[WDDX: libxml2 install prefix])],
[no],
[no])
fi
PHP_ARG_WITH([libexpat-dir],
[libexpat dir for WDDX],
[AS_HELP_STRING([--with-libexpat-dir=DIR],
[WDDX: libexpat dir for XMLRPC-EPI (deprecated)])],
[no],
[no])
if test "$PHP_WDDX" != "no"; then
dnl
dnl Default to libxml2 if --with-libexpat-dir is not used
dnl
if test "$PHP_LIBEXPAT_DIR" = "no"; then
if test "$PHP_LIBXML" = "no"; then
AC_MSG_ERROR([WDDX extension requires LIBXML extension, add --enable-libxml])
fi
PHP_SETUP_LIBXML(WDDX_SHARED_LIBADD, [
if test "$PHP_XML" = "no"; then
PHP_ADD_SOURCES(ext/xml, compat.c)
PHP_ADD_BUILD_DIR(ext/xml)
fi
], [
AC_MSG_ERROR([libxml2 not found. Use --with-libxml-dir=<DIR>])
])
fi
dnl
dnl Check for expat only if --with-libexpat-dir is used.
dnl
if test "$PHP_LIBEXPAT_DIR" != "no"; then
for i in $PHP_XML $PHP_LIBEXPAT_DIR /usr /usr/local; do
if test -f "$i/$PHP_LIBDIR/libexpat.a" || test -f "$i/$PHP_LIBDIR/libexpat.$SHLIB_SUFFIX_NAME"; then
EXPAT_DIR=$i
break
fi
done
if test -z "$EXPAT_DIR"; then
AC_MSG_ERROR([not found. Please reinstall the expat distribution.])
fi
PHP_ADD_INCLUDE($EXPAT_DIR/include)
PHP_ADD_LIBRARY_WITH_PATH(expat, $EXPAT_DIR/$PHP_LIBDIR, WDDX_SHARED_LIBADD)
AC_DEFINE(HAVE_LIBEXPAT, 1, [ ])
fi
AC_DEFINE(HAVE_WDDX, 1, [ ])
PHP_NEW_EXTENSION(wddx, wddx.c, $ext_shared)
PHP_ADD_EXTENSION_DEP(wddx, libxml)
PHP_SUBST(XMLRPC_SHARED_LIBADD)
fi

View File

@ -1,23 +0,0 @@
// vim:ft=javascript
ARG_WITH("wddx", "WDDX support", "yes");
if (PHP_WDDX == "yes" &&
PHP_LIBXML == "yes" &&
CHECK_HEADER_ADD_INCLUDE("libxml/parser.h", "CFLAGS_WDDX", PHP_PHP_BUILD + "\\include\\libxml2")
) {
EXTENSION("wddx", "wddx.c");
AC_DEFINE("HAVE_WDDX", 1, "WDDX support");
if (!PHP_WDDX_SHARED) {
ADD_FLAG("CFLAGS_WDDX", "/D LIBXML_STATIC");
} else {
if (!CHECK_LIB("libxml2.lib", "wddx")) {
WARNING("wddx support can't be enabled, libxml is not found")
}
}
ADD_EXTENSION_DEP('wddx', 'libxml');
ADD_EXTENSION_DEP('wddx', 'xml')
CHECK_HEADER_ADD_INCLUDE("timelib_config.h", "CFLAGS_WDDX", "ext/date/lib");
}

View File

@ -1,45 +0,0 @@
/*
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: Andrei Zmievski <andrei@php.net> |
+----------------------------------------------------------------------+
*/
#ifndef PHP_WDDX_H
#define PHP_WDDX_H
#if HAVE_WDDX
extern zend_module_entry wddx_module_entry;
#define wddx_module_ptr &wddx_module_entry
#include "php_version.h"
#define PHP_WDDX_VERSION PHP_VERSION
PHP_FUNCTION(wddx_serialize_value);
PHP_FUNCTION(wddx_serialize_vars);
PHP_FUNCTION(wddx_packet_start);
PHP_FUNCTION(wddx_packet_end);
PHP_FUNCTION(wddx_add_vars);
PHP_FUNCTION(wddx_deserialize);
#else
#define wddx_module_ptr NULL
#endif /* HAVE_WDDX */
#define phpext_wddx_ptr wddx_module_ptr
#endif /* !PHP_WDDX_H */

View File

@ -1,65 +0,0 @@
/*
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: Andrei Zmievski <andrei@ispi.net> |
+----------------------------------------------------------------------+
*/
#ifndef PHP_WDDX_API_H
#define PHP_WDDX_API_H
#include "zend_smart_str_public.h"
#define WDDX_ARRAY_S "<array length='%d'>"
#define WDDX_ARRAY_E "</array>"
#define WDDX_BINARY_S "<binary>"
#define WDDX_BINARY_E "</binary>"
#define WDDX_BOOLEAN_TRUE "<boolean value='true'/>"
#define WDDX_BOOLEAN_FALSE "<boolean value='false'/>"
#define WDDX_CHAR "<char code='%02X'/>"
#define WDDX_COMMENT_S "<comment>"
#define WDDX_COMMENT_E "</comment>"
#define WDDX_DATA_S "<data>"
#define WDDX_DATA_E "</data>"
#define WDDX_HEADER "<header/>"
#define WDDX_HEADER_S "<header>"
#define WDDX_HEADER_E "</header>"
#define WDDX_NULL "<null/>"
#define WDDX_NUMBER "<number>%s</number>"
#define WDDX_PACKET_S "<wddxPacket version='1.0'>"
#define WDDX_PACKET_E "</wddxPacket>"
#define WDDX_STRING_S "<string>"
#define WDDX_STRING_E "</string>"
#define WDDX_STRUCT_S "<struct>"
#define WDDX_STRUCT_E "</struct>"
#define WDDX_VAR_S "<var name='%s'>"
#define WDDX_VAR_E "</var>"
#define php_wddx_add_chunk(packet, str) smart_str_appends(packet, str)
#define php_wddx_add_chunk_ex(packet, str, len) smart_str_appendl(packet, str, len)
#define php_wddx_add_chunk_static(packet, str) smart_str_appendl(packet, str, sizeof(str)-1)
typedef smart_str wddx_packet;
wddx_packet* php_wddx_constructor(void);
void php_wddx_destructor(wddx_packet *packet);
void php_wddx_packet_start(wddx_packet *packet, char *comment, size_t comment_len);
void php_wddx_packet_end(wddx_packet *packet);
void php_wddx_serialize_var(wddx_packet *packet, zval *var, zend_string *name);
int php_wddx_deserialize_ex(const char *, size_t, zval *return_value);
#define php_wddx_gather(packet) estrndup(packet->c, packet->len)
#endif /* PHP_WDDX_API_H */

View File

@ -1,63 +0,0 @@
--TEST--
wddx deserialization test (64-bit)
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
<?php echo PHP_INT_SIZE != 8 ? "skip 64-bit only" : "OK" ?>
--INI--
precision=14
--FILE--
<?php
$path = __DIR__;
var_dump(wddx_deserialize(file_get_contents("{$path}/wddx.xml")));
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(11) {
["aNull"]=>
NULL
["aString"]=>
string(8) "a string"
["aNumber"]=>
float(-12.456)
["aDateTime"]=>
int(897625932)
["aDateTime2"]=>
int(329632332)
["aDateTime3"]=>
int(2223088332)
["aBoolean"]=>
bool(true)
["anArray"]=>
array(2) {
[0]=>
int(10)
[1]=>
string(14) "second element"
}
["aBinary"]=>
string(11) "binary data"
["anObject"]=>
array(2) {
["s"]=>
string(8) "a string"
["n"]=>
float(-12.456)
}
["aRecordset"]=>
array(2) {
["NAME"]=>
array(2) {
[0]=>
string(8) "John Doe"
[1]=>
string(8) "Jane Doe"
}
["AGE"]=>
array(2) {
[0]=>
int(34)
[1]=>
int(31)
}
}
}

View File

@ -1,63 +0,0 @@
--TEST--
wddx deserialization test (32-bit)
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
<?php echo PHP_INT_SIZE == 8 ? "skip 32-bit only" : "OK" ?>
--INI--
precision=14
--FILE--
<?php
$path = __DIR__;
var_dump(wddx_deserialize(file_get_contents("{$path}/wddx.xml")));
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(11) {
["aNull"]=>
NULL
["aString"]=>
string(8) "a string"
["aNumber"]=>
float(-12.456)
["aDateTime"]=>
int(897625932)
["aDateTime2"]=>
int(329632332)
["aDateTime3"]=>
string(22) "2040-06-12T04:32:12+00"
["aBoolean"]=>
bool(true)
["anArray"]=>
array(2) {
[0]=>
int(10)
[1]=>
string(14) "second element"
}
["aBinary"]=>
string(11) "binary data"
["anObject"]=>
array(2) {
["s"]=>
string(8) "a string"
["n"]=>
float(-12.456)
}
["aRecordset"]=>
array(2) {
["NAME"]=>
array(2) {
[0]=>
string(8) "John Doe"
[1]=>
string(8) "Jane Doe"
}
["AGE"]=>
array(2) {
[0]=>
int(34)
[1]=>
int(31)
}
}
}

View File

@ -1,26 +0,0 @@
--TEST--
wddx packet construction using wddx ressource
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
--INI--
precision=14
--FILE--
<?php
$pkt = wddx_packet_start('TEST comment');
$var1 = NULL;
$var2 = 'some string';
$var3 = 756;
$var4 = true;
// add vars to packet
wddx_add_vars($pkt, 'var1', 'var2', array('var3', 'var4'));
echo wddx_packet_end($pkt);
?>
--EXPECTF--
Deprecated: Function wddx_packet_start() is deprecated in %s on line %d
Deprecated: Function wddx_add_vars() is deprecated in %s on line %d
Deprecated: Function wddx_packet_end() is deprecated in %s on line %d
<wddxPacket version='1.0'><header><comment>TEST comment</comment></header><data><struct><var name='var1'><null/></var><var name='var2'><string>some string</string></var><var name='var3'><number>756</number></var><var name='var4'><boolean value='true'/></var></struct></data></wddxPacket>

View File

@ -1,27 +0,0 @@
--TEST--
wddx deserialize from ressource
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
--INI--
precision=14
--FILE--
<?php
$path = __DIR__;
$fp = fopen("php://temp", 'w+');
fputs($fp, "<wddxPacket version='1.0'><header><comment>TEST comment</comment></header><data><struct><var name='var1'><null/></var><var name='var2'><string>some string</string></var><var name='var3'><number>756</number></var><var name='var4'><boolean value='true'/></var></struct></data></wddxPacket>");
rewind($fp);
var_dump(wddx_deserialize($fp));
fclose($fp);
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(4) {
["var1"]=>
NULL
["var2"]=>
string(11) "some string"
["var3"]=>
int(756)
["var4"]=>
bool(true)
}

View File

@ -1,63 +0,0 @@
--TEST--
wddx session serializer handler (serialize)
--SKIPIF--
<?php
if (!extension_loaded("wddx")) die("skip Wddx module not loaded");
if (!extension_loaded('session')) die('skip Session module not enabled');
// following test code stolen from ext/session/skipif.inc
$save_path = ini_get("session.save_path");
if ($save_path) {
if (!file_exists($save_path)) {
die("skip Session save_path doesn't exist");
}
if ($save_path && !@is_writable($save_path)) {
if (($p = strpos($save_path, ';')) !== false) {
$save_path = substr($save_path, ++$p);
}
if (!@is_writable($save_path)) {
die("skip\n");
}
}
}
?>
--INI--
precision=14
session.serialize_handler=wddx
session.use_cookies=0
session.cache_limiter=
session.save_handler=files
--FILE--
<?php
class foo {
public $bar = "ok";
public $invisible = 'you don\'t see me!';
function method() { $this->yes = "done"; }
public function __sleep() { return array('bar', 'yes'); }
}
session_start();
$_SESSION['data'] = array(
'test1' => true,
'test2' => 'some string',
'test3' => 654321,
'test4' => array(
'some string',
true,
null
),
);
$_SESSION['class'] = new foo();
$_SESSION['class']->method();
var_dump(session_encode());
session_destroy();
?>
--EXPECT--
string(550) "<wddxPacket version='1.0'><header/><data><struct><var name='data'><struct><var name='test1'><boolean value='true'/></var><var name='test2'><string>some string</string></var><var name='test3'><number>654321</number></var><var name='test4'><array length='3'><string>some string</string><boolean value='true'/><null/></array></var></struct></var><var name='class'><struct><var name='php_class_name'><string>foo</string></var><var name='bar'><string>ok</string></var><var name='yes'><string>done</string></var></struct></var></struct></data></wddxPacket>"

View File

@ -1,74 +0,0 @@
--TEST--
wddx session serializer handler (deserialize)
--SKIPIF--
<?php
if (!extension_loaded("wddx")) die("skip Wddx module not loaded");
if (!extension_loaded('session')) die('skip Session module not enabled');
// following test code stolen from ext/session/skipif.inc
$save_path = ini_get("session.save_path");
if ($save_path) {
if (!file_exists($save_path)) {
die("skip Session save_path doesn't exist");
}
if ($save_path && !@is_writable($save_path)) {
if (($p = strpos($save_path, ';')) !== false) {
$save_path = substr($save_path, ++$p);
}
if (!@is_writable($save_path)) {
die("skip\n");
}
}
}
?>
--INI--
precision=14
session.serialize_handler=wddx
session.use_cookies=0
session.cache_limiter=
session.save_handler=files
--FILE--
<?php
class foo {
public $bar = "ok";
function method() { $this->yes = "done"; }
}
session_start();
session_decode("<wddxPacket version='1.0'><header/><data><struct><var name='data'><struct><var name='test1'><boolean value='true'/></var><var name='test2'><string>some string</string></var><var name='test3'><number>654321</number></var><var name='test4'><array length='3'><string>some string</string><boolean value='true'/><null/></array></var></struct></var><var name='class'><struct><var name='php_class_name'><string>foo</string></var><var name='bar'><string>ok</string></var><var name='yes'><string>done</string></var></struct></var></struct></data></wddxPacket>");
var_dump($_SESSION);
session_destroy();
?>
--EXPECT--
array(2) {
["data"]=>
array(4) {
["test1"]=>
bool(true)
["test2"]=>
string(11) "some string"
["test3"]=>
int(654321)
["test4"]=>
array(3) {
[0]=>
string(11) "some string"
[1]=>
bool(true)
[2]=>
NULL
}
}
["class"]=>
object(foo)#1 (2) {
["bar"]=>
string(2) "ok"
["yes"]=>
string(4) "done"
}
}

View File

@ -1,23 +0,0 @@
--TEST--
Bug #27287 (segfault with deserializing object data)
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
--FILE--
<?php
class foo {
}
$foo = new foo();
$foo->abc = 'def';
$string = wddx_serialize_value($foo);
$bar = wddx_deserialize($string);
echo "OK\n";
?>
--EXPECTF--
Deprecated: Function wddx_serialize_value() is deprecated in %s on line %d
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
OK

View File

@ -1,15 +0,0 @@
--TEST--
#34306 (wddx_serialize_value() crashes with long array keys)
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
--FILE--
<?php
$var = array('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa12345678901234567890123456789012345678901234567890ba12345678901234567890123456789012345678901234567890ba12345678901234567890123456789012345678901234567890ba12345678901234567890123456789012345678901234567890b12345678901234567891234567890123123121231211111' => 1);
$buf = wddx_serialize_value($var, 'name');
echo "OK\n";
?>
--EXPECTF--
Deprecated: Function wddx_serialize_value() is deprecated in %s on line %d
OK

View File

@ -1,77 +0,0 @@
--TEST--
#35410 (wddx_deserialize() doesn't handle large ints as keys properly)
--SKIPIF--
<?php
if (!extension_loaded("wddx")) print "skip";
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
?>
--FILE--
<?php
$wddx = <<<WDX
<wddxpacket version="1.0">
<header>
<comment>Content Configuration File</comment>
</header>
<data>
<struct>
<var name="content_queries">
<struct>
<var name="content_113300831086270200">
<struct>
<var name="113301888545229100">
<struct>
<var name="max">
<number>10</number>
</var>
<var name="cache">
<number>4</number>
</var>
<var name="order">
<struct>
<var name="content_113300831086270200">
<struct>
<var name="CMS_BUILD">
<string>desc</string>
</var>
</struct>
</var>
</struct>
</var>
</struct>
</var>
</struct>
</var>
</struct>
</var>
</struct>
</data>
</wddxpacket>
WDX;
var_dump(wddx_deserialize($wddx));
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(1) {
["content_queries"]=>
array(1) {
["content_113300831086270200"]=>
array(1) {
["113301888545229100"]=>
array(3) {
["max"]=>
int(10)
["cache"]=>
int(4)
["order"]=>
array(1) {
["content_113300831086270200"]=>
array(1) {
["CMS_BUILD"]=>
string(4) "desc"
}
}
}
}
}
}

View File

@ -1,77 +0,0 @@
--TEST--
#35410 (wddx_deserialize() doesn't handle large ints as keys properly)
--SKIPIF--
<?php
if (!extension_loaded("wddx")) print "skip";
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
?>
--FILE--
<?php
$wddx = <<<WDX
<wddxpacket version="1.0">
<header>
<comment>Content Configuration File</comment>
</header>
<data>
<struct>
<var name="content_queries">
<struct>
<var name="content_113300831086270200">
<struct>
<var name="113301888545229100">
<struct>
<var name="max">
<number>10</number>
</var>
<var name="cache">
<number>4</number>
</var>
<var name="order">
<struct>
<var name="content_113300831086270200">
<struct>
<var name="CMS_BUILD">
<string>desc</string>
</var>
</struct>
</var>
</struct>
</var>
</struct>
</var>
</struct>
</var>
</struct>
</var>
</struct>
</data>
</wddxpacket>
WDX;
var_dump(wddx_deserialize($wddx));
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(1) {
["content_queries"]=>
array(1) {
["content_113300831086270200"]=>
array(1) {
[113301888545229100]=>
array(3) {
["max"]=>
int(10)
["cache"]=>
int(4)
["order"]=>
array(1) {
["content_113300831086270200"]=>
array(1) {
["CMS_BUILD"]=>
string(4) "desc"
}
}
}
}
}
}

View File

@ -1,786 +0,0 @@
--TEST--
Bug #37569 (WDDX incorrectly encodes high-ascii characters)
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
--INI--
error_reporting=E_ALL & ~E_DEPRECATED
--FILE--
<?php
for ($i = 65; $i < 256; $i++) {
if ($i >= 0xc0) {
$v = chr(0xc3) . chr($i - 64);
} elseif ($i >= 0x80) {
$v = chr(0xc2) . chr($i);
} else {
$v = chr($i); // make it UTF-8
}
$ret = wddx_serialize_value($v);
echo $ret . "\n";
var_dump(bin2hex($v), bin2hex(wddx_deserialize($ret)), $v == wddx_deserialize($ret));
}
?>
--EXPECT--
<wddxPacket version='1.0'><header/><data><string>A</string></data></wddxPacket>
string(2) "41"
string(2) "41"
bool(true)
<wddxPacket version='1.0'><header/><data><string>B</string></data></wddxPacket>
string(2) "42"
string(2) "42"
bool(true)
<wddxPacket version='1.0'><header/><data><string>C</string></data></wddxPacket>
string(2) "43"
string(2) "43"
bool(true)
<wddxPacket version='1.0'><header/><data><string>D</string></data></wddxPacket>
string(2) "44"
string(2) "44"
bool(true)
<wddxPacket version='1.0'><header/><data><string>E</string></data></wddxPacket>
string(2) "45"
string(2) "45"
bool(true)
<wddxPacket version='1.0'><header/><data><string>F</string></data></wddxPacket>
string(2) "46"
string(2) "46"
bool(true)
<wddxPacket version='1.0'><header/><data><string>G</string></data></wddxPacket>
string(2) "47"
string(2) "47"
bool(true)
<wddxPacket version='1.0'><header/><data><string>H</string></data></wddxPacket>
string(2) "48"
string(2) "48"
bool(true)
<wddxPacket version='1.0'><header/><data><string>I</string></data></wddxPacket>
string(2) "49"
string(2) "49"
bool(true)
<wddxPacket version='1.0'><header/><data><string>J</string></data></wddxPacket>
string(2) "4a"
string(2) "4a"
bool(true)
<wddxPacket version='1.0'><header/><data><string>K</string></data></wddxPacket>
string(2) "4b"
string(2) "4b"
bool(true)
<wddxPacket version='1.0'><header/><data><string>L</string></data></wddxPacket>
string(2) "4c"
string(2) "4c"
bool(true)
<wddxPacket version='1.0'><header/><data><string>M</string></data></wddxPacket>
string(2) "4d"
string(2) "4d"
bool(true)
<wddxPacket version='1.0'><header/><data><string>N</string></data></wddxPacket>
string(2) "4e"
string(2) "4e"
bool(true)
<wddxPacket version='1.0'><header/><data><string>O</string></data></wddxPacket>
string(2) "4f"
string(2) "4f"
bool(true)
<wddxPacket version='1.0'><header/><data><string>P</string></data></wddxPacket>
string(2) "50"
string(2) "50"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Q</string></data></wddxPacket>
string(2) "51"
string(2) "51"
bool(true)
<wddxPacket version='1.0'><header/><data><string>R</string></data></wddxPacket>
string(2) "52"
string(2) "52"
bool(true)
<wddxPacket version='1.0'><header/><data><string>S</string></data></wddxPacket>
string(2) "53"
string(2) "53"
bool(true)
<wddxPacket version='1.0'><header/><data><string>T</string></data></wddxPacket>
string(2) "54"
string(2) "54"
bool(true)
<wddxPacket version='1.0'><header/><data><string>U</string></data></wddxPacket>
string(2) "55"
string(2) "55"
bool(true)
<wddxPacket version='1.0'><header/><data><string>V</string></data></wddxPacket>
string(2) "56"
string(2) "56"
bool(true)
<wddxPacket version='1.0'><header/><data><string>W</string></data></wddxPacket>
string(2) "57"
string(2) "57"
bool(true)
<wddxPacket version='1.0'><header/><data><string>X</string></data></wddxPacket>
string(2) "58"
string(2) "58"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Y</string></data></wddxPacket>
string(2) "59"
string(2) "59"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Z</string></data></wddxPacket>
string(2) "5a"
string(2) "5a"
bool(true)
<wddxPacket version='1.0'><header/><data><string>[</string></data></wddxPacket>
string(2) "5b"
string(2) "5b"
bool(true)
<wddxPacket version='1.0'><header/><data><string>\</string></data></wddxPacket>
string(2) "5c"
string(2) "5c"
bool(true)
<wddxPacket version='1.0'><header/><data><string>]</string></data></wddxPacket>
string(2) "5d"
string(2) "5d"
bool(true)
<wddxPacket version='1.0'><header/><data><string>^</string></data></wddxPacket>
string(2) "5e"
string(2) "5e"
bool(true)
<wddxPacket version='1.0'><header/><data><string>_</string></data></wddxPacket>
string(2) "5f"
string(2) "5f"
bool(true)
<wddxPacket version='1.0'><header/><data><string>`</string></data></wddxPacket>
string(2) "60"
string(2) "60"
bool(true)
<wddxPacket version='1.0'><header/><data><string>a</string></data></wddxPacket>
string(2) "61"
string(2) "61"
bool(true)
<wddxPacket version='1.0'><header/><data><string>b</string></data></wddxPacket>
string(2) "62"
string(2) "62"
bool(true)
<wddxPacket version='1.0'><header/><data><string>c</string></data></wddxPacket>
string(2) "63"
string(2) "63"
bool(true)
<wddxPacket version='1.0'><header/><data><string>d</string></data></wddxPacket>
string(2) "64"
string(2) "64"
bool(true)
<wddxPacket version='1.0'><header/><data><string>e</string></data></wddxPacket>
string(2) "65"
string(2) "65"
bool(true)
<wddxPacket version='1.0'><header/><data><string>f</string></data></wddxPacket>
string(2) "66"
string(2) "66"
bool(true)
<wddxPacket version='1.0'><header/><data><string>g</string></data></wddxPacket>
string(2) "67"
string(2) "67"
bool(true)
<wddxPacket version='1.0'><header/><data><string>h</string></data></wddxPacket>
string(2) "68"
string(2) "68"
bool(true)
<wddxPacket version='1.0'><header/><data><string>i</string></data></wddxPacket>
string(2) "69"
string(2) "69"
bool(true)
<wddxPacket version='1.0'><header/><data><string>j</string></data></wddxPacket>
string(2) "6a"
string(2) "6a"
bool(true)
<wddxPacket version='1.0'><header/><data><string>k</string></data></wddxPacket>
string(2) "6b"
string(2) "6b"
bool(true)
<wddxPacket version='1.0'><header/><data><string>l</string></data></wddxPacket>
string(2) "6c"
string(2) "6c"
bool(true)
<wddxPacket version='1.0'><header/><data><string>m</string></data></wddxPacket>
string(2) "6d"
string(2) "6d"
bool(true)
<wddxPacket version='1.0'><header/><data><string>n</string></data></wddxPacket>
string(2) "6e"
string(2) "6e"
bool(true)
<wddxPacket version='1.0'><header/><data><string>o</string></data></wddxPacket>
string(2) "6f"
string(2) "6f"
bool(true)
<wddxPacket version='1.0'><header/><data><string>p</string></data></wddxPacket>
string(2) "70"
string(2) "70"
bool(true)
<wddxPacket version='1.0'><header/><data><string>q</string></data></wddxPacket>
string(2) "71"
string(2) "71"
bool(true)
<wddxPacket version='1.0'><header/><data><string>r</string></data></wddxPacket>
string(2) "72"
string(2) "72"
bool(true)
<wddxPacket version='1.0'><header/><data><string>s</string></data></wddxPacket>
string(2) "73"
string(2) "73"
bool(true)
<wddxPacket version='1.0'><header/><data><string>t</string></data></wddxPacket>
string(2) "74"
string(2) "74"
bool(true)
<wddxPacket version='1.0'><header/><data><string>u</string></data></wddxPacket>
string(2) "75"
string(2) "75"
bool(true)
<wddxPacket version='1.0'><header/><data><string>v</string></data></wddxPacket>
string(2) "76"
string(2) "76"
bool(true)
<wddxPacket version='1.0'><header/><data><string>w</string></data></wddxPacket>
string(2) "77"
string(2) "77"
bool(true)
<wddxPacket version='1.0'><header/><data><string>x</string></data></wddxPacket>
string(2) "78"
string(2) "78"
bool(true)
<wddxPacket version='1.0'><header/><data><string>y</string></data></wddxPacket>
string(2) "79"
string(2) "79"
bool(true)
<wddxPacket version='1.0'><header/><data><string>z</string></data></wddxPacket>
string(2) "7a"
string(2) "7a"
bool(true)
<wddxPacket version='1.0'><header/><data><string>{</string></data></wddxPacket>
string(2) "7b"
string(2) "7b"
bool(true)
<wddxPacket version='1.0'><header/><data><string>|</string></data></wddxPacket>
string(2) "7c"
string(2) "7c"
bool(true)
<wddxPacket version='1.0'><header/><data><string>}</string></data></wddxPacket>
string(2) "7d"
string(2) "7d"
bool(true)
<wddxPacket version='1.0'><header/><data><string>~</string></data></wddxPacket>
string(2) "7e"
string(2) "7e"
bool(true)
<wddxPacket version='1.0'><header/><data><string></string></data></wddxPacket>
string(2) "7f"
string(2) "7f"
bool(true)
<wddxPacket version='1.0'><header/><data><string>€</string></data></wddxPacket>
string(4) "c280"
string(4) "c280"
bool(true)
<wddxPacket version='1.0'><header/><data><string></string></data></wddxPacket>
string(4) "c281"
string(4) "c281"
bool(true)
<wddxPacket version='1.0'><header/><data><string>‚</string></data></wddxPacket>
string(4) "c282"
string(4) "c282"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ƒ</string></data></wddxPacket>
string(4) "c283"
string(4) "c283"
bool(true)
<wddxPacket version='1.0'><header/><data><string>„</string></data></wddxPacket>
string(4) "c284"
string(4) "c284"
bool(true)
<wddxPacket version='1.0'><header/><data><string>…</string></data></wddxPacket>
string(4) "c285"
string(4) "c285"
bool(true)
<wddxPacket version='1.0'><header/><data><string>†</string></data></wddxPacket>
string(4) "c286"
string(4) "c286"
bool(true)
<wddxPacket version='1.0'><header/><data><string>‡</string></data></wddxPacket>
string(4) "c287"
string(4) "c287"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ˆ</string></data></wddxPacket>
string(4) "c288"
string(4) "c288"
bool(true)
<wddxPacket version='1.0'><header/><data><string>‰</string></data></wddxPacket>
string(4) "c289"
string(4) "c289"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Š</string></data></wddxPacket>
string(4) "c28a"
string(4) "c28a"
bool(true)
<wddxPacket version='1.0'><header/><data><string>‹</string></data></wddxPacket>
string(4) "c28b"
string(4) "c28b"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Œ</string></data></wddxPacket>
string(4) "c28c"
string(4) "c28c"
bool(true)
<wddxPacket version='1.0'><header/><data><string></string></data></wddxPacket>
string(4) "c28d"
string(4) "c28d"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ž</string></data></wddxPacket>
string(4) "c28e"
string(4) "c28e"
bool(true)
<wddxPacket version='1.0'><header/><data><string></string></data></wddxPacket>
string(4) "c28f"
string(4) "c28f"
bool(true)
<wddxPacket version='1.0'><header/><data><string></string></data></wddxPacket>
string(4) "c290"
string(4) "c290"
bool(true)
<wddxPacket version='1.0'><header/><data><string>‘</string></data></wddxPacket>
string(4) "c291"
string(4) "c291"
bool(true)
<wddxPacket version='1.0'><header/><data><string>’</string></data></wddxPacket>
string(4) "c292"
string(4) "c292"
bool(true)
<wddxPacket version='1.0'><header/><data><string>“</string></data></wddxPacket>
string(4) "c293"
string(4) "c293"
bool(true)
<wddxPacket version='1.0'><header/><data><string>”</string></data></wddxPacket>
string(4) "c294"
string(4) "c294"
bool(true)
<wddxPacket version='1.0'><header/><data><string>•</string></data></wddxPacket>
string(4) "c295"
string(4) "c295"
bool(true)
<wddxPacket version='1.0'><header/><data><string>–</string></data></wddxPacket>
string(4) "c296"
string(4) "c296"
bool(true)
<wddxPacket version='1.0'><header/><data><string>—</string></data></wddxPacket>
string(4) "c297"
string(4) "c297"
bool(true)
<wddxPacket version='1.0'><header/><data><string>˜</string></data></wddxPacket>
string(4) "c298"
string(4) "c298"
bool(true)
<wddxPacket version='1.0'><header/><data><string>™</string></data></wddxPacket>
string(4) "c299"
string(4) "c299"
bool(true)
<wddxPacket version='1.0'><header/><data><string>š</string></data></wddxPacket>
string(4) "c29a"
string(4) "c29a"
bool(true)
<wddxPacket version='1.0'><header/><data><string>›</string></data></wddxPacket>
string(4) "c29b"
string(4) "c29b"
bool(true)
<wddxPacket version='1.0'><header/><data><string>œ</string></data></wddxPacket>
string(4) "c29c"
string(4) "c29c"
bool(true)
<wddxPacket version='1.0'><header/><data><string></string></data></wddxPacket>
string(4) "c29d"
string(4) "c29d"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ž</string></data></wddxPacket>
string(4) "c29e"
string(4) "c29e"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ÿ</string></data></wddxPacket>
string(4) "c29f"
string(4) "c29f"
bool(true)
<wddxPacket version='1.0'><header/><data><string> </string></data></wddxPacket>
string(4) "c2a0"
string(4) "c2a0"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¡</string></data></wddxPacket>
string(4) "c2a1"
string(4) "c2a1"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¢</string></data></wddxPacket>
string(4) "c2a2"
string(4) "c2a2"
bool(true)
<wddxPacket version='1.0'><header/><data><string>£</string></data></wddxPacket>
string(4) "c2a3"
string(4) "c2a3"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¤</string></data></wddxPacket>
string(4) "c2a4"
string(4) "c2a4"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¥</string></data></wddxPacket>
string(4) "c2a5"
string(4) "c2a5"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¦</string></data></wddxPacket>
string(4) "c2a6"
string(4) "c2a6"
bool(true)
<wddxPacket version='1.0'><header/><data><string>§</string></data></wddxPacket>
string(4) "c2a7"
string(4) "c2a7"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¨</string></data></wddxPacket>
string(4) "c2a8"
string(4) "c2a8"
bool(true)
<wddxPacket version='1.0'><header/><data><string>©</string></data></wddxPacket>
string(4) "c2a9"
string(4) "c2a9"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ª</string></data></wddxPacket>
string(4) "c2aa"
string(4) "c2aa"
bool(true)
<wddxPacket version='1.0'><header/><data><string>«</string></data></wddxPacket>
string(4) "c2ab"
string(4) "c2ab"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¬</string></data></wddxPacket>
string(4) "c2ac"
string(4) "c2ac"
bool(true)
<wddxPacket version='1.0'><header/><data><string>­</string></data></wddxPacket>
string(4) "c2ad"
string(4) "c2ad"
bool(true)
<wddxPacket version='1.0'><header/><data><string>®</string></data></wddxPacket>
string(4) "c2ae"
string(4) "c2ae"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¯</string></data></wddxPacket>
string(4) "c2af"
string(4) "c2af"
bool(true)
<wddxPacket version='1.0'><header/><data><string>°</string></data></wddxPacket>
string(4) "c2b0"
string(4) "c2b0"
bool(true)
<wddxPacket version='1.0'><header/><data><string>±</string></data></wddxPacket>
string(4) "c2b1"
string(4) "c2b1"
bool(true)
<wddxPacket version='1.0'><header/><data><string>²</string></data></wddxPacket>
string(4) "c2b2"
string(4) "c2b2"
bool(true)
<wddxPacket version='1.0'><header/><data><string>³</string></data></wddxPacket>
string(4) "c2b3"
string(4) "c2b3"
bool(true)
<wddxPacket version='1.0'><header/><data><string>´</string></data></wddxPacket>
string(4) "c2b4"
string(4) "c2b4"
bool(true)
<wddxPacket version='1.0'><header/><data><string>µ</string></data></wddxPacket>
string(4) "c2b5"
string(4) "c2b5"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¶</string></data></wddxPacket>
string(4) "c2b6"
string(4) "c2b6"
bool(true)
<wddxPacket version='1.0'><header/><data><string>·</string></data></wddxPacket>
string(4) "c2b7"
string(4) "c2b7"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¸</string></data></wddxPacket>
string(4) "c2b8"
string(4) "c2b8"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¹</string></data></wddxPacket>
string(4) "c2b9"
string(4) "c2b9"
bool(true)
<wddxPacket version='1.0'><header/><data><string>º</string></data></wddxPacket>
string(4) "c2ba"
string(4) "c2ba"
bool(true)
<wddxPacket version='1.0'><header/><data><string>»</string></data></wddxPacket>
string(4) "c2bb"
string(4) "c2bb"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¼</string></data></wddxPacket>
string(4) "c2bc"
string(4) "c2bc"
bool(true)
<wddxPacket version='1.0'><header/><data><string>½</string></data></wddxPacket>
string(4) "c2bd"
string(4) "c2bd"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¾</string></data></wddxPacket>
string(4) "c2be"
string(4) "c2be"
bool(true)
<wddxPacket version='1.0'><header/><data><string>¿</string></data></wddxPacket>
string(4) "c2bf"
string(4) "c2bf"
bool(true)
<wddxPacket version='1.0'><header/><data><string>À</string></data></wddxPacket>
string(4) "c380"
string(4) "c380"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Á</string></data></wddxPacket>
string(4) "c381"
string(4) "c381"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Â</string></data></wddxPacket>
string(4) "c382"
string(4) "c382"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ã</string></data></wddxPacket>
string(4) "c383"
string(4) "c383"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ä</string></data></wddxPacket>
string(4) "c384"
string(4) "c384"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Å</string></data></wddxPacket>
string(4) "c385"
string(4) "c385"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Æ</string></data></wddxPacket>
string(4) "c386"
string(4) "c386"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ç</string></data></wddxPacket>
string(4) "c387"
string(4) "c387"
bool(true)
<wddxPacket version='1.0'><header/><data><string>È</string></data></wddxPacket>
string(4) "c388"
string(4) "c388"
bool(true)
<wddxPacket version='1.0'><header/><data><string>É</string></data></wddxPacket>
string(4) "c389"
string(4) "c389"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ê</string></data></wddxPacket>
string(4) "c38a"
string(4) "c38a"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ë</string></data></wddxPacket>
string(4) "c38b"
string(4) "c38b"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ì</string></data></wddxPacket>
string(4) "c38c"
string(4) "c38c"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Í</string></data></wddxPacket>
string(4) "c38d"
string(4) "c38d"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Î</string></data></wddxPacket>
string(4) "c38e"
string(4) "c38e"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ï</string></data></wddxPacket>
string(4) "c38f"
string(4) "c38f"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ð</string></data></wddxPacket>
string(4) "c390"
string(4) "c390"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ñ</string></data></wddxPacket>
string(4) "c391"
string(4) "c391"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ò</string></data></wddxPacket>
string(4) "c392"
string(4) "c392"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ó</string></data></wddxPacket>
string(4) "c393"
string(4) "c393"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ô</string></data></wddxPacket>
string(4) "c394"
string(4) "c394"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Õ</string></data></wddxPacket>
string(4) "c395"
string(4) "c395"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ö</string></data></wddxPacket>
string(4) "c396"
string(4) "c396"
bool(true)
<wddxPacket version='1.0'><header/><data><string>×</string></data></wddxPacket>
string(4) "c397"
string(4) "c397"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ø</string></data></wddxPacket>
string(4) "c398"
string(4) "c398"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ù</string></data></wddxPacket>
string(4) "c399"
string(4) "c399"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ú</string></data></wddxPacket>
string(4) "c39a"
string(4) "c39a"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Û</string></data></wddxPacket>
string(4) "c39b"
string(4) "c39b"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ü</string></data></wddxPacket>
string(4) "c39c"
string(4) "c39c"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Ý</string></data></wddxPacket>
string(4) "c39d"
string(4) "c39d"
bool(true)
<wddxPacket version='1.0'><header/><data><string>Þ</string></data></wddxPacket>
string(4) "c39e"
string(4) "c39e"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ß</string></data></wddxPacket>
string(4) "c39f"
string(4) "c39f"
bool(true)
<wddxPacket version='1.0'><header/><data><string>à</string></data></wddxPacket>
string(4) "c3a0"
string(4) "c3a0"
bool(true)
<wddxPacket version='1.0'><header/><data><string>á</string></data></wddxPacket>
string(4) "c3a1"
string(4) "c3a1"
bool(true)
<wddxPacket version='1.0'><header/><data><string>â</string></data></wddxPacket>
string(4) "c3a2"
string(4) "c3a2"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ã</string></data></wddxPacket>
string(4) "c3a3"
string(4) "c3a3"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ä</string></data></wddxPacket>
string(4) "c3a4"
string(4) "c3a4"
bool(true)
<wddxPacket version='1.0'><header/><data><string>å</string></data></wddxPacket>
string(4) "c3a5"
string(4) "c3a5"
bool(true)
<wddxPacket version='1.0'><header/><data><string>æ</string></data></wddxPacket>
string(4) "c3a6"
string(4) "c3a6"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ç</string></data></wddxPacket>
string(4) "c3a7"
string(4) "c3a7"
bool(true)
<wddxPacket version='1.0'><header/><data><string>è</string></data></wddxPacket>
string(4) "c3a8"
string(4) "c3a8"
bool(true)
<wddxPacket version='1.0'><header/><data><string>é</string></data></wddxPacket>
string(4) "c3a9"
string(4) "c3a9"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ê</string></data></wddxPacket>
string(4) "c3aa"
string(4) "c3aa"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ë</string></data></wddxPacket>
string(4) "c3ab"
string(4) "c3ab"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ì</string></data></wddxPacket>
string(4) "c3ac"
string(4) "c3ac"
bool(true)
<wddxPacket version='1.0'><header/><data><string>í</string></data></wddxPacket>
string(4) "c3ad"
string(4) "c3ad"
bool(true)
<wddxPacket version='1.0'><header/><data><string>î</string></data></wddxPacket>
string(4) "c3ae"
string(4) "c3ae"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ï</string></data></wddxPacket>
string(4) "c3af"
string(4) "c3af"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ð</string></data></wddxPacket>
string(4) "c3b0"
string(4) "c3b0"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ñ</string></data></wddxPacket>
string(4) "c3b1"
string(4) "c3b1"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ò</string></data></wddxPacket>
string(4) "c3b2"
string(4) "c3b2"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ó</string></data></wddxPacket>
string(4) "c3b3"
string(4) "c3b3"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ô</string></data></wddxPacket>
string(4) "c3b4"
string(4) "c3b4"
bool(true)
<wddxPacket version='1.0'><header/><data><string>õ</string></data></wddxPacket>
string(4) "c3b5"
string(4) "c3b5"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ö</string></data></wddxPacket>
string(4) "c3b6"
string(4) "c3b6"
bool(true)
<wddxPacket version='1.0'><header/><data><string>÷</string></data></wddxPacket>
string(4) "c3b7"
string(4) "c3b7"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ø</string></data></wddxPacket>
string(4) "c3b8"
string(4) "c3b8"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ù</string></data></wddxPacket>
string(4) "c3b9"
string(4) "c3b9"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ú</string></data></wddxPacket>
string(4) "c3ba"
string(4) "c3ba"
bool(true)
<wddxPacket version='1.0'><header/><data><string>û</string></data></wddxPacket>
string(4) "c3bb"
string(4) "c3bb"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ü</string></data></wddxPacket>
string(4) "c3bc"
string(4) "c3bc"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ý</string></data></wddxPacket>
string(4) "c3bd"
string(4) "c3bd"
bool(true)
<wddxPacket version='1.0'><header/><data><string>þ</string></data></wddxPacket>
string(4) "c3be"
string(4) "c3be"
bool(true)
<wddxPacket version='1.0'><header/><data><string>ÿ</string></data></wddxPacket>
string(4) "c3bf"
string(4) "c3bf"
bool(true)

View File

@ -1,35 +0,0 @@
--TEST--
Bug #37587 (var without attribute causes segfault)
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
--FILE--
<?php
var_dump(wddx_deserialize(<<<EOF
<wddxPacket version='1.0'>
<header/>
<data>
<array length='1'>
<var>
<struct>
<var name='test'><string>Hello World</string></var>
</struct>
</var>
</array>
</data>
</wddxPacket>
EOF
));
?>
===DONE===
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(1) {
[0]=>
array(1) {
["test"]=>
string(11) "Hello World"
}
}
===DONE===

View File

@ -1,30 +0,0 @@
--TEST--
Bug #41283 (Bug with serializing array key that are doubles or floats)
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
--FILE--
<?php
$data = array(
'somearray' => array('1.1' => 'One 1','1.2' => 'One 2', '1.0' => 'Three')
);
var_dump(wddx_deserialize(wddx_serialize_vars('data')));
?>
--EXPECTF--
Deprecated: Function wddx_serialize_vars() is deprecated in %s on line %d
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(1) {
["data"]=>
array(1) {
["somearray"]=>
array(3) {
["1.1"]=>
string(5) "One 1"
["1.2"]=>
string(5) "One 2"
["1.0"]=>
string(5) "Three"
}
}
}

View File

@ -1,25 +0,0 @@
--TEST--
Bug #41527 (WDDX deserialize numeric string array keys)
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
--FILE--
<?php
$data = array('01' => 'Zero', '+1' => 'Plus sign', ' 1' => 'Space');
var_dump(wddx_deserialize(wddx_serialize_vars('data')));
?>
--EXPECTF--
Deprecated: Function wddx_serialize_vars() is deprecated in %s on line %d
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(1) {
["data"]=>
array(3) {
["01"]=>
string(4) "Zero"
["+1"]=>
string(9) "Plus sign"
[" 1"]=>
string(5) "Space"
}
}

View File

@ -1,21 +0,0 @@
--TEST--
Bug #45901 (wddx_serialize_value crash with SimpleXMLElement object)
--SKIPIF--
<?php
if (!extension_loaded("wddx")) print "skip";
if (!extension_loaded("simplexml")) print "skip SimpleXML not present";
?>
--FILE--
<?php
$xml = new SimpleXMLElement('<data></data>');
$xml->addChild('test');
echo wddx_serialize_value($xml, 'Variables') . "\n";
echo "DONE";
?>
--EXPECTF--
Deprecated: Function wddx_serialize_value() is deprecated in %sbug45901.php on line %d
Warning: wddx_serialize_value(): Class SimpleXMLElement can not be serialized in %sbug45901.php on line %d
<wddxPacket version='1.0'><header><comment>Variables</comment></header><data></data></wddxPacket>
DONE

View File

@ -1,38 +0,0 @@
--TEST--
Bug #48562 (Reference recursion causes segfault when used in wddx_serialize_vars())
--SKIPIF--
<?php
if (!extension_loaded('wddx')) {
die('skip. wddx not available');
}
?>
--FILE--
<?php
$foo = 'bar';
$a['x'] = 'foo';
$a['x'] = &$a;
var_dump(wddx_serialize_vars($a));
// replace $a - the recursion detection seems to be causing $a to be not an array here, maybe its internally a pointer
// replacing $a with a new array() allows this test to still check for 2 things
// 1. recursion detection in &$a;
// 2. recursion detection in adding $a to itself and then serializing $a
// the one thing the test won't check is using $a as an array after doing &$a; which isn't really a wddx problem.
$a = array();
$a['x'] = 'foo';
$a['x'] = $a;
var_dump(wddx_serialize_vars($a));
?>
--EXPECTF--
Deprecated: Function wddx_serialize_vars() is deprecated in %s on line %d
Warning: wddx_serialize_vars(): recursion detected in %s on line %d
string(78) "<wddxPacket version='1.0'><header/><data><struct></struct></data></wddxPacket>"
Deprecated: Function wddx_serialize_vars() is deprecated in %s on line %d
string(120) "<wddxPacket version='1.0'><header/><data><struct><var name='foo'><string>bar</string></var></struct></data></wddxPacket>"

View File

@ -1,29 +0,0 @@
--TEST--
Bug #52468 (wddx_deserialize corrupts integer field value when left empty)
--SKIPIF--
<?php
if (!extension_loaded('wddx')) {
die('skip. wddx not available');
}
?>
--FILE--
<?php
$message = "<wddxPacket version='1.0'><header><comment>my_command</comment></header><data><struct><var name='handle'><number></number></var></struct></data></wddxPacket>";
print_r(wddx_deserialize($message));
print_r(wddx_deserialize($message));
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
Array
(
[handle] => 0
)
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
Array
(
[handle] => 0
)

View File

@ -1,15 +0,0 @@
--TEST--
Bug #68996 (Invalid free of CG(interned_empty_string))
--SKIPIF--
<?php
if (getenv("USE_ZEND_ALLOC") !== "0")
print "skip Need Zend MM disabled";
?>
--FILE--
<?php
echo wddx_serialize_value("\xfc\x63") . "\n";
echo wddx_serialize_value([ "\xfc\x63" => "foo" ]) . "\n";
?>
--EXPECT--
<wddxPacket version='1.0'><header/><data><string></string></data></wddxPacket>
<wddxPacket version='1.0'><header/><data><struct><var name=''><string>foo</string></var></struct></data></wddxPacket>

View File

@ -1,70 +0,0 @@
--TEST--
Bug #70661 (Use After Free Vulnerability in WDDX Packet Deserialization)
--SKIPIF--
<?php
if (!extension_loaded("wddx")) print "skip";
?>
--FILE--
<?php
$fakezval = ptr2str(1122334455);
$fakezval .= ptr2str(0);
$fakezval .= "\x00\x00\x00\x00";
$fakezval .= "\x01";
$fakezval .= "\x00";
$fakezval .= "\x00\x00";
$x = <<<EOT
<?xml version='1.0'?>
<wddxPacket version='1.0'>
<header/>
<data>
<struct>
<recordset rowCount='1' fieldNames='ryat'>
<field name='ryat'>
<var name='php_class_name'>
<string>stdClass</string>
</var>
<null/>
</field>
</recordset>
</struct>
</data>
</wddxPacket>
EOT;
$y = wddx_deserialize($x);
for ($i = 0; $i < 5; $i++) {
$v[$i] = $fakezval.$i;
}
var_dump($y);
function ptr2str($ptr)
{
$out = '';
for ($i = 0; $i < 8; $i++) {
$out .= chr($ptr & 0xff);
$ptr >>= 8;
}
return $out;
}
?>
DONE
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(1) {
[0]=>
array(1) {
["ryat"]=>
array(2) {
["php_class_name"]=>
string(8) "stdClass"
[0]=>
NULL
}
}
}
DONE

View File

@ -1,26 +0,0 @@
--TEST--
Bug #70741 (Session WDDX Packet Deserialization Type Confusion Vulnerability)
--SKIPIF--
<?php
if (!extension_loaded("wddx")) print "skip";
if (!extension_loaded("session")) print "skip session extension not available";
?>
--FILE--
<?php
ini_set('session.serialize_handler', 'wddx');
session_start();
$hashtable = str_repeat('A', 66);
$wddx = "<?xml version='1.0'?>
<wddxPacket version='1.0'>
<header/>
<data>
<string>$hashtable</string>
</data>
</wddxPacket>";
session_decode($wddx);
?>
DONE
--EXPECTF--
Warning: session_decode(): Failed to decode session object. Session has been destroyed in %s on line %d
DONE

View File

@ -1,34 +0,0 @@
--TEST--
Bug #71335 (Type Confusion in WDDX Packet Deserialization)
--SKIPIF--
<?php
if (!extension_loaded("wddx")) print "skip";
?>
--FILE--
<?php
$x = "<?xml version='1.0'?>
<wddxPacket version='1.0'>
<header/>
<data>
<struct>
<var name='php_class_name'>
<string>stdClass</string>
</var>
<var name='php_class_name'>
<string>stdClass</string>
</var>
</struct>
</data>
</wddxPacket>";
$d = wddx_deserialize($x);
var_dump($d);
?>
DONE
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
object(stdClass)#%d (1) {
["php_class_name"]=>
string(8) "stdClass"
}
DONE

View File

@ -1,44 +0,0 @@
--TEST--
Bug #71587 (Use-After-Free / Double-Free in WDDX Deserialize)
--SKIPIF--
<?php
if (!extension_loaded("wddx")) print "skip";
?>
--FILE--
<?php
$xml = <<<EOF
<?xml version='1.0' ?>
<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
<wddxPacket version='1.0'>
<array>
<var name='ML'></var>
<string>manhluat</string>
<var name='ML2'></var>
<boolean value='a'/>
<boolean value='true'/>
</array>
</wddxPacket>
EOF;
$wddx = wddx_deserialize($xml);
var_dump($wddx);
// Print mem leak
foreach($wddx as $k=>$v)
printf("Key: %s\nValue: %s\n",bin2hex($k),bin2hex($v));
?>
DONE
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(2) {
[0]=>
string(8) "manhluat"
[1]=>
bool(true)
}
Key: 30
Value: 6d616e686c756174
Key: 31
Value: 31
DONE

View File

@ -1,18 +0,0 @@
--TEST--
Bug #72142: WDDX Packet Injection Vulnerability in wddx_serialize_value()
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
--FILE--
<?php
$wddx = wddx_serialize_value('', '</comment></header><data><struct><var name="php_class_name"><string>stdClass</string></var></struct></data></wddxPacket>');
var_dump($wddx);
var_dump(wddx_deserialize($wddx));
?>
--EXPECTF--
Deprecated: Function wddx_serialize_value() is deprecated in %s on line %d
string(301) "<wddxPacket version='1.0'><header><comment>&lt;/comment&gt;&lt;/header&gt;&lt;data&gt;&lt;struct&gt;&lt;var name=&quot;php_class_name&quot;&gt;&lt;string&gt;stdClass&lt;/string&gt;&lt;/var&gt;&lt;/struct&gt;&lt;/data&gt;&lt;/wddxPacket&gt;</comment></header><data><string></string></data></wddxPacket>"
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
string(0) ""

View File

@ -1,25 +0,0 @@
--TEST--
Bug #72340: Double Free Courruption in wddx_deserialize
--SKIPIF--
<?php
if (!extension_loaded("wddx")) print "skip";
?>
--FILE--
<?php
$xml = <<<EOF
<?xml version='1.0' ?>
<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
<wddxPacket version='1.0'>
<array><var name="XXXXXXXX"><boolean value="none">TEST</boolean></var>
<var name="YYYYYYYY"><var name="ZZZZZZZZ"><var name="EZEZEZEZ">
</var></var></var>
</array>
</wddxPacket>
EOF;
$array = wddx_deserialize($xml);
var_dump($array);
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(0) {
}

View File

@ -1,31 +0,0 @@
--TEST--
Bug #72564: wddx deserialization of boolean
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
--FILE--
<?php
foreach([true, false, NULL] as $v) {
$x = wddx_serialize_value($v);
var_dump($x, wddx_deserialize($x));
}
?>
Done
--EXPECTF--
Deprecated: Function wddx_serialize_value() is deprecated in %s on line %d
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
string(84) "<wddxPacket version='1.0'><header/><data><boolean value='true'/></data></wddxPacket>"
bool(true)
Deprecated: Function wddx_serialize_value() is deprecated in %s on line %d
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
string(85) "<wddxPacket version='1.0'><header/><data><boolean value='false'/></data></wddxPacket>"
bool(false)
Deprecated: Function wddx_serialize_value() is deprecated in %s on line %d
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
string(68) "<wddxPacket version='1.0'><header/><data><null/></data></wddxPacket>"
NULL
Done

View File

@ -1,35 +0,0 @@
--TEST--
Bug #72749: wddx_deserialize allows illegal memory access
--SKIPIF--
<?php
if (!extension_loaded('wddx')) {
die('skip. wddx not available');
}
?>
--FILE--
<?php
$xml = <<<XML
<?xml version='1.0'?>
<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
<wddxPacket version='1.0'>
<header/>
<data>
<struct>
<var name='aDateTime3'>
<dateTime>2\r2004-09-10T05:52:49+00</dateTime>
</var>
</struct>
</data>
</wddxPacket>
XML;
$array = wddx_deserialize($xml);
var_dump($array);
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(1) {
["aDateTime3"]=>
string(24) "2
2004-09-10T05:52:49+00"
}

View File

@ -1,35 +0,0 @@
--TEST--
Bug #72750: wddx_deserialize null dereference
--SKIPIF--
<?php
if (!extension_loaded('wddx')) {
die('skip. wddx not available');
}
?>
--FILE--
<?php
$xml = <<< XML
<?xml version='1.0'?>
<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
<wddxPacket version='1.0'>
<header/>
<data>
<struct>
<var name='aBinary'>
<binary length='11'>\\tYmluYXJRhdGE=</binary>
</var>
</struct>
</data>
</wddxPacket>
XML;
$array = wddx_deserialize($xml);
var_dump($array);
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(1) {
["aBinary"]=>
string(9) "µ‰¥¹…ÉFF"
}

View File

@ -1,36 +0,0 @@
--TEST--
Bug #72790: wddx_deserialize null dereference with invalid xml
--SKIPIF--
<?php
if (!extension_loaded('wddx')) {
die('skip. wddx not available');
}
?>
--FILE--
<?php
$xml = <<< XML
<?xml version='1.0' ?>
<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
<wddxPacket version='1.0'>
|array>
<var name="XXXX">
<boolean value="this">
</boolean>
</var>
<var name="YYYY">
<var name="UUUU">
<var name="EZEZ">
</var>
</var>
</var>
</array>
</wddxPacket>
XML;
$array = wddx_deserialize($xml);
var_dump($array);
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
NULL

View File

@ -1,29 +0,0 @@
--TEST--
Bug #72799: wddx_deserialize null dereference in php_wddx_pop_element
--SKIPIF--
<?php
if (!extension_loaded('wddx')) {
die('skip. wddx not available');
}
?>
--FILE--
<?php
$xml = <<<XML
<?xml version='1.0'?>
<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
<wddxPacket version="1.0">
<var name="XXXX">
<boolean value="1">
<dateTime>1998-06-12T04:32:12+00</dateTime>
</boolean>
</var>
</wddxPacket>
XML;
$array = wddx_deserialize($xml);
var_dump($array);
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
NULL

View File

@ -1,28 +0,0 @@
--TEST--
Bug #72860: wddx_deserialize use-after-free
--SKIPIF--
<?php
if (!extension_loaded('wddx')) {
die('skip. wddx not available');
}
?>
--FILE--
<?php
$xml=<<<XML
<?xml version='1.0'?>
<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
<wddxPacket version='1.0'>
<recordset fieldNames='F'>
<field name='F'>
</recordset>
</wddxPacket>
XML;
var_dump(wddx_deserialize($xml));
?>
DONE
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
NULL
DONE

View File

@ -1,107 +0,0 @@
--TEST--
Bug #73065: Out-Of-Bounds Read in php_wddx_push_element of wddx.c
--SKIPIF--
<?php
if (!extension_loaded('wddx')) {
die('skip. wddx not available');
}
?>
--FILE--
<?php
$xml1 = <<<XML
<?xml version='1.0' ?>
<!DOCTYPE et SYSTEM 'w'>
<wddxPacket ven='1.0'>
<array>
<var Name="name">
<boolean value="keliu"></boolean>
</var>
<var name="1111">
<var name="2222">
<var name="3333"></var>
</var>
</var>
</array>
</wddxPacket>
XML;
$xml2 = <<<XML
<?xml version='1.0' ?>
<!DOCTYPE et SYSTEM 'w'>
<wddxPacket ven='1.0'>
<array>
<char Name="code">
<boolean value="keliu"></boolean>
</char>
</array>
</wddxPacket>
XML;
$xml3 = <<<XML
<?xml version='1.0' ?>
<!DOCTYPE et SYSTEM 'w'>
<wddxPacket ven='1.0'>
<array>
<boolean Name="value">
<boolean value="keliu"></boolean>
</boolean>
</array>
</wddxPacket>
XML;
$xml4 = <<<XML
<?xml version='1.0' ?>
<!DOCTYPE et SYSTEM 'w'>
<wddxPacket ven='1.0'>
<array>
<recordset Name="fieldNames">
<boolean value="keliu"></boolean>
</recordset>
</array>
</wddxPacket>
XML;
$xml5 = <<<XML
<?xml version='1.0' ?>
<!DOCTYPE et SYSTEM 'w'>
<wddxPacket ven='1.0'>
<array>
<field Name="name">
<boolean value="keliu"></boolean>
</field>
</array>
</wddxPacket>
XML;
for($i=1;$i<=5;$i++) {
$xmlvar = "xml$i";
$array = wddx_deserialize($$xmlvar);
var_dump($array);
}
?>
DONE
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(0) {
}
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(0) {
}
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(0) {
}
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(1) {
[0]=>
array(0) {
}
}
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(0) {
}
DONE

View File

@ -1,26 +0,0 @@
--TEST--
Bug #73173: huge memleak when wddx_unserialize
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
--FILE--
<?php
$xml=<<<XML
<?xml version='1.0'?>
<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
<wddxPacket>
<var name="
XML;
$xml .= str_repeat('F',0x80000);
$xml .= <<<XML
">
</wddxPacket>
XML;
var_dump(wddx_deserialize($xml));
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
NULL

View File

@ -1,15 +0,0 @@
--TEST--
Bug #73331 (NULL Pointer Dereference in WDDX Packet Deserialization with PDORow)
--SKIPIF--
<?php if (!extension_loaded("wddx") || !extension_loaded("pdo")) print "skip"; ?>
--FILE--
<?php
$wddx = "<wddxPacket version='1.0'><header/><data><struct><var name='php_class_name'><string>PDORow</string></var></struct></data></wddxPacket>";
var_dump(wddx_deserialize($wddx));
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
Warning: wddx_deserialize(): Class pdorow can not be unserialized in %s73331.php on line %d
NULL

View File

@ -1,21 +0,0 @@
--TEST--
Bug #73631 (Memory leak due to invalid wddx stack processing)
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
---XFAIL--
Still has memory leaks in debug build.
--FILE--
<?php
$xml = <<<EOF
<?xml version="1.0" ?>
<wddxPacket version="1.0">
<number>1234</number>
<binary><boolean/></binary>
</wddxPacket>
EOF;
$wddx = wddx_deserialize($xml);
var_dump($wddx);
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
int(1234)

View File

@ -1,19 +0,0 @@
--TEST--
Bug #73793 (WDDX uses wrong decimal separator)
--SKIPIF--
<?php
if (!extension_loaded('wddx')) print 'skip wddx extension not available';
if (setlocale(LC_NUMERIC, ['de_DE', 'de_DE.UTF-8', 'de-DE']) === false) {
print 'skip German locale not available';
}
?>
--FILE--
<?php
setlocale(LC_NUMERIC , ['de_DE', 'de_DE.UTF-8', 'de-DE']);
var_dump(wddx_serialize_value(['foo' => 5.1]));
?>
===DONE===
--EXPECTF--
Deprecated: Function wddx_serialize_value() is deprecated in %s on line %d
string(120) "<wddxPacket version='1.0'><header/><data><struct><var name='foo'><number>5.1</number></var></struct></data></wddxPacket>"
===DONE===

View File

@ -1,25 +0,0 @@
--TEST--
Bug #73831 (NULL Pointer Dereference while unserialize php object)
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
--FILE--
<?php
$xml = <<<EOF
<?xml version="1.0" ?>
<wddxPacket version="1.0">
<struct>
<var name="php_class_name">
<string>Throwable</string>
</var>
</struct>
</wddxPacket>
EOF;
try {
$wddx = wddx_deserialize($xml);
} catch(Error $e) { echo $e->getMessage(); }
?>
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
Warning: wddx_deserialize(): Class throwable can not be instantiated in %sbug73831.php on line %d
Cannot instantiate interface Throwable

View File

@ -1,17 +0,0 @@
--TEST--
Bug #74145 (wddx parsing empty boolean tag leads to SIGSEGV)
--SKIPIF--
<?php
if (!extension_loaded("wddx")) print "skip";
?>
--FILE--
<?php
$data = file_get_contents(__DIR__ . '/bug74145.xml');
$wddx = wddx_deserialize($data);
var_dump($wddx);
?>
DONE
--EXPECTF--
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
NULL
DONE

View File

@ -1,9 +0,0 @@
<?xml version='1.0' ?>
<!DOCTYPE et SYSTEM 'w'>
<wddxPacket ven='1.0'>
<array>
<var Name="name">
<boolean ></boolean>
</var>
</array>
</wddxPacket>

View File

@ -1,22 +0,0 @@
--TEST--
Bug #75055 Out-Of-Bounds Read in timelib_meridian()
--SKIPIF--
<?php if (!extension_loaded("wddx")) print "skip"; ?>
--FILE--
<?php
$file_str = __DIR__ . "/bug75055.wddx";
$wddx_str = file_get_contents($file_str);
print strlen($wddx_str) . " bytes read.\n";
var_dump(wddx_deserialize($wddx_str));
?>
--EXPECTF--
323 bytes read.
Deprecated: Function wddx_deserialize() is deprecated in %s on line %d
array(1) {
["aDateTime"]=>
string(12) "frONt of 0 0"
}

View File

@ -1,13 +0,0 @@
<?xml version='1.0'?>
<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
<wddxPacket version='1.0'>
<header/>
<data>
<struct>
<var name='aDateTime'>
<dateTime>frONt of 0 0</dateTime>
</var>
</struct>
</data>
</wddxPacket>

View File

@ -1,60 +0,0 @@
<?xml version='1.0'?>
<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
<wddxPacket version='1.0'>
<header/>
<data>
<struct>
<var name='aNull'>
<null/>
</var>
<var name='aString'>
<string>a string</string>
</var>
<var name='aNumber'>
<number>-12.456</number>
</var>
<var name='aDateTime'>
<dateTime>1998-06-12T04:32:12+00</dateTime>
</var>
<var name='aDateTime2'>
<dateTime>1980-06-12T04:32:12+00</dateTime>
</var>
<var name='aDateTime3'>
<dateTime>2040-06-12T04:32:12+00</dateTime>
</var>
<var name='aBoolean'>
<boolean value='true'/>
</var>
<var name='anArray'>
<array length='2'>
<number>10</number>
<string>second element</string>
</array>
</var>
<var name='aBinary'>
<binary length='11'>YmluYXJ5IGRhdGE=</binary>
</var>
<var name='anObject'>
<struct>
<var name='s'>
<string>a string</string>
</var>
<var name='n'>
<number>-12.456</number>
</var>
</struct>
</var>
<var name='aRecordset'>
<recordset rowCount='2' fieldNames='NAME,AGE'>
<field name='NAME'>
<string>John Doe</string>
<string>Jane Doe</string>
</field>
<field name='AGE'>
<number>34</number>
<number>31</number>
</field>
</recordset>
</struct>
</data>
</wddxPacket>

File diff suppressed because it is too large Load Diff

View File

@ -92,9 +92,6 @@
#if HAVE_XML
#include "ext/xml/php_xml.h"
#endif
#if HAVE_XML && HAVE_WDDX
#include "ext/wddx/php_wddx.h"
#endif
#include "ext/com_dotnet/php_com_dotnet.h"
#ifdef HAVE_SPL
#include "ext/spl/php_spl.h"
@ -164,9 +161,6 @@ static zend_module_entry * const php_builtin_extensions[] = {
#if HAVE_XML
,phpext_xml_ptr
#endif
#if HAVE_XML && HAVE_WDDX
,phpext_wddx_ptr
#endif
#if HAVE_SPL
,phpext_spl_ptr
#endif