View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001512 | Xdebug | Step Debugging | public | 2018-01-05 12:45 | 2018-01-22 18:21 |
Reporter | LanaZem | Assigned To | derick | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 2.6.0beta1 | ||||
Target Version | 2.6.0 | Fixed in Version | 2.6.0rc1 | ||
Summary | 0001512: Xdebug does not properly encode and escape properties with quotes and \0 characters. | ||||
Description | If class fqn is included in property name Xdebug will escape "name" and "fullname" in 'property_get' response. If no fqn is included then only "fullname" will be escaped. | ||||
Steps To Reproduce | 1) Create a php file <?php namespace TestA\TestB\TestC; class A { private $items; public function __construct() { $this->items = array(array(1, 2)); } } class B extends A { public function foo() { $v = array(array("\\\\" => 1)); echo 1; // Set breakpoint here and inspect $v and $items } } (new B())->foo(); 2) Put breakpoint inside 'foo' method and start debugging. 3) Call 'property_get' command for '*TestA\TestB\TestC\A*items'. <- property_get -i 18 -n $this->*TestA\\TestB\\TestC\\A*items -d 0 -c 0 -p 0 Expected: <property name="$this->*TestA\TestB\TestC\A*items" fullname="$this->*TestA\TestB\TestC\A*items" type="array" children="1" numchildren="1" page="0" pagesize="100"> <property name="0" fullname="$this->*TestA\TestB\TestC\A*items[0]" type="int"><![CDATA[1]]></property> </property> Actual: <property name="$this->*TestA\\TestB\\TestC\\A*items" fullname="$this->*TestA\\TestB\\TestC\\A*items" type="array" children="1" numchildren="1" page="0" pagesize="100"> <property name="0" fullname="$this->*TestA\\TestB\\TestC\\A*items[0]" type="int"><![CDATA[1]]></property> </property> 4) Call 'property_get' command for '$v[0]' <- property_get -i 24 -n $v[0] -d 0 -c 0 -p 0 Expected: <property name="$v[0]" fullname="$v[0]" type="array" children="1" numchildren="1" page="0" pagesize="100"><property name="\\" fullname="$v[0]["\\"]" type="int"><![CDATA[1]]></property> </property> Actual: <property name="$v[0]" fullname="$v[0]" type="array" children="1" numchildren="1" page="0" pagesize="100"><property name="\\" fullname="$v[0]["\\\\"]" type="int"><![CDATA[1]]></property> </property> | ||||
Tags | No tags attached. | ||||
Operating System | |||||
PHP Version | 7.1.0-7.1.4 | ||||
|
xdebug_2.6beta_escaped_name.log (41,235 bytes)
Log opened at 2018-01-05 12:40:31 I: Connecting to configured address/port: 127.0.0.1:9000. I: Connected to client. :-) -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///home/user/PhpstormProjects/xdebug_escaping/escaped_name.php" language="PHP" xdebug:language_version="7.1.1" protocol_version="1.0" appid="22749" idekey="10983"><engine version="2.6.0beta1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2017 by Derick Rethans]]></copyright></init> <- feature_set -i 1 -n show_hidden -v 1 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="1" feature="show_hidden" success="1"></response> <- feature_set -i 2 -n max_depth -v 1 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="2" feature="max_depth" success="1"></response> <- feature_set -i 3 -n max_children -v 100 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="3" feature="max_children" success="1"></response> <- feature_set -i 4 -n extended_properties -v 1 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="4" feature="extended_properties" success="1"></response> <- status -i 5 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="status" transaction_id="5" status="starting" reason="ok"></response> <- step_into -i 6 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="6" status="break" reason="ok"><xdebug:message filename="file:///home/user/PhpstormProjects/xdebug_escaping/escaped_name.php" lineno="5"></xdebug:message></response> <- breakpoint_set -i 7 -t line -f file:///home/user/PhpstormProjects/xdebug_escaping/no_escaped_name.php -n 4 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="7" id="227490001"></response> <- breakpoint_set -i 8 -t line -f file:///home/user/PhpstormProjects/xdebug_escaping/test2.php -n 29 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="8" id="227490002"></response> <- breakpoint_set -i 9 -t line -f file:///home/user/PhpstormProjects/xdebug_escaping/spl_xdebug_fail.php -n 17 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="9" id="227490003"></response> <- breakpoint_set -i 10 -t line -f file:///home/user/PhpstormProjects/xdebug_escaping/test.php -n 50 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="10" id="227490004"></response> <- breakpoint_set -i 11 -t line -f file:///home/user/PhpstormProjects/xdebug_escaping/extended_properties.php -n 4 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="11" id="227490005"></response> <- breakpoint_set -i 12 -t line -f file:///home/user/PhpstormProjects/xdebug_escaping/escaped_name.php -n 18 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="12" id="227490006"></response> <- stack_get -i 13 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="13"><stack where="{main}" level="0" type="file" filename="file:///home/user/PhpstormProjects/xdebug_escaping/escaped_name.php" lineno="5"></stack></response> <- run -i 14 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="14" status="break" reason="ok"><xdebug:message filename="file:///home/user/PhpstormProjects/xdebug_escaping/escaped_name.php" lineno="18"></xdebug:message></response> <- stack_get -i 15 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="15"><stack where="TestA\TestB\TestC\B->foo" level="0" type="file" filename="file:///home/user/PhpstormProjects/xdebug_escaping/escaped_name.php" lineno="18"></stack><stack where="{main}" level="1" type="file" filename="file:///home/user/PhpstormProjects/xdebug_escaping/escaped_name.php" lineno="22"></stack></response> <- context_names -i 16 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="16"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context><context name="User defined constants" id="2"></context></response> <- context_names -i 17 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_names" transaction_id="17"><context name="Locals" id="0"></context><context name="Superglobals" id="1"></context><context name="User defined constants" id="2"></context></response> <- context_get -i 18 -d 0 -c 0 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_get" transaction_id="18" context="0"><property name="$v" fullname="$v" type="array" children="1" numchildren="1" page="0" pagesize="100"><property name="0" fullname="$v[0]" type="array" children="1" numchildren="1"></property></property><property name="$this" fullname="$this" type="object" classname="TestA\TestB\TestC\B" children="1" numchildren="1" page="0" pagesize="100"><property name="*TestA\TestB\TestC\A*items" fullname="$this->*TestA\TestB\TestC\A*items" facet="private" type="array" children="1" numchildren="1"></property></property></response> <- context_get -i 19 -d 0 -c 0 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_get" transaction_id="19" context="0"><property name="$v" fullname="$v" type="array" children="1" numchildren="1" page="0" pagesize="100"><property name="0" fullname="$v[0]" type="array" children="1" numchildren="1"></property></property><property name="$this" fullname="$this" type="object" classname="TestA\TestB\TestC\B" children="1" numchildren="1" page="0" pagesize="100"><property name="*TestA\TestB\TestC\A*items" fullname="$this->*TestA\TestB\TestC\A*items" facet="private" type="array" children="1" numchildren="1"></property></property></response> <- context_get -i 20 -d 0 -c 1 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_get" transaction_id="20" context="1"><property name="$_COOKIE" fullname="$_COOKIE" type="array" children="0" numchildren="0" page="0" pagesize="100"></property><property name="$_ENV" fullname="$_ENV" type="array" children="0" numchildren="0" page="0" pagesize="100"></property><property name="$_FILES" fullname="$_FILES" type="array" children="0" numchildren="0" page="0" pagesize="100"></property><property name="$_GET" fullname="$_GET" type="array" children="0" numchildren="0" page="0" pagesize="100"></property><property name="$_POST" fullname="$_POST" type="array" children="0" numchildren="0" page="0" pagesize="100"></property><property name="$_REQUEST" fullname="$_REQUEST" type="array" children="0" numchildren="0" page="0" pagesize="100"></property><property name="$_SERVER" fullname="$_SERVER" type="array" children="1" numchildren="88" page="0" pagesize="100"><property name="PATH" fullname="$_SERVER["PATH"]" type="string" size="176" encoding="base64"><![CDATA[Li9iaW4vOi4vc2Jpbi86Li9nYW1lcy86Li4vYmluLzouLi9zYmluLzovaG9tZS91c2VyL2JpbjovaG9tZS91c2VyLy5sb2NhbC9iaW46L3Vzci9sb2NhbC9zYmluOi91c3IvbG9jYWwvYmluOi91c3Ivc2JpbjovdXNyL2Jpbjovc2JpbjovYmluOi91c3IvZ2FtZXM6L3Vzci9sb2NhbC9nYW1lczovc25hcC9iaW4=]]></property><property name="XAUTHORITY" fullname="$_SERVER["XAUTHORITY"]" type="string" size="22" encoding="base64"><![CDATA[L2hvbWUvdXNlci8uWGF1dGhvcml0eQ==]]></property><property name="LC_MEASUREMENT" fullname="$_SERVER["LC_MEASUREMENT"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="LC_TELEPHONE" fullname="$_SERVER["LC_TELEPHONE"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="XMODIFIERS" fullname="$_SERVER["XMODIFIERS"]" type="string" size="8" encoding="base64"><![CDATA[QGltPWlidXM=]]></property><property name="MANDATORY_PATH" fullname="$_SERVER["MANDATORY_PATH"]" type="string" size="37" encoding="base64"><![CDATA[L3Vzci9zaGFyZS9nY29uZi9nbm9tZS5tYW5kYXRvcnkucGF0aA==]]></property><property name="GDMSESSION" fullname="$_SERVER["GDMSESSION"]" type="string" size="5" encoding="base64"><![CDATA[Z25vbWU=]]></property><property name="XDG_DATA_DIRS" fullname="$_SERVER["XDG_DATA_DIRS"]" type="string" size="78" encoding="base64"><![CDATA[Li9zaGFyZS86L3Vzci9zaGFyZS9nbm9tZTovdXNyL2xvY2FsL3NoYXJlLzovdXNyL3NoYXJlLzovdmFyL2xpYi9zbmFwZC9kZXNrdG9w]]></property><property name="LC_TIME" fullname="$_SERVER["LC_TIME"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="PAPERSIZE" fullname="$_SERVER["PAPERSIZE"]" type="string" size="6" encoding="base64"><![CDATA[bGV0dGVy]]></property><property name="GTK_IM_MODULE" fullname="$_SERVER["GTK_IM_MODULE"]" type="string" size="4" encoding="base64"><![CDATA[aWJ1cw==]]></property><property name="QT_QPA_PLATFORM_PLUGIN_PATH" fullname="$_SERVER["QT_QPA_PLATFORM_PLUGIN_PATH"]" type="string" size="23" encoding="base64"><![CDATA[c2hhcmUvamV0YnJhaW5zLXRvb2xib3g=]]></property><property name="DBUS_SESSION_BUS_ADDRESS" fullname="$_SERVER["DBUS_SESSION_BUS_ADDRESS"]" type="string" size="34" encoding="base64"><![CDATA[dW5peDphYnN0cmFjdD0vdG1wL2RidXMtMDNaYmF5ZDA1Sw==]]></property><property name="DEFAULTS_PATH" fullname="$_SERVER["DEFAULTS_PATH"]" type="string" size="35" encoding="base64"><![CDATA[L3Vzci9zaGFyZS9nY29uZi9nbm9tZS5kZWZhdWx0LnBhdGg=]]></property><property name="APPIMAGE" fullname="$_SERVER["APPIMAGE"]" type="string" size="63" encoding="base64"><![CDATA[L2hvbWUvdXNlci8ubG9jYWwvc2hhcmUvSmV0QnJhaW5zL1Rvb2xib3gvYmluL2pldGJyYWlucy10b29sYm94]]></property><property name="XDG_CURRENT_DESKTOP" fullname="$_SERVER["XDG_CURRENT_DESKTOP"]" type="string" size="5" encoding="base64"><![CDATA[R05PTUU=]]></property><property name="DESKTOP_AUTOSTART_ID" fullname="$_SERVER["DESKTOP_AUTOSTART_ID"]" type="string" size="48" encoding="base64"><![CDATA[MTAzMDkzOTI2MThjMTkwNmIwMTUxNDk5MDY4MTUyNDI3ODAwMDAwMDE3MTYwMDAz]]></property><property name="LD_LIBRARY_PATH" fullname="$_SERVER["LD_LIBRARY_PATH"]" type="string" size="199" encoding="base64"><![CDATA[c2hhcmUvamV0YnJhaW5zLXRvb2xib3g6c2hhcmUvamV0YnJhaW5zLXRvb2xib3gvbGliOi4vbGliLzouL2xpYi9pMzg2LWxpbnV4LWdudS86Li9saWIveDg2XzY0LWxpbnV4LWdudS86Li9saWIzMi86Li9saWI2NC86Li4vbGliLzouLi9saWIvaTM4Ni1saW51eC1nbnUvOi4uL2xpYi94ODZfNjQtbGludXgtZ251LzouLi9saWIzMi86Li4vbGliNjQvOg==]]></property><property name="QT4_IM_MODULE" fullname="$_SERVER["QT4_IM_MODULE"]" type="string" size="3" encoding="base64"><![CDATA[eGlt]]></property><property name="UPSTART_SESSION" fullname="$_SERVER["UPSTART_SESSION"]" type="string" size="51" encoding="base64"><![CDATA[dW5peDphYnN0cmFjdD0vY29tL3VidW50dS91cHN0YXJ0LXNlc3Npb24vMTAwMC8xNDYx]]></property><property name="QT_LINUX_ACCESSIBILITY_ALWAYS_ON" fullname="$_SERVER["QT_LINUX_ACCESSIBILITY_ALWAYS_ON"]" type="string" size="1" encoding="base64"><![CDATA[MQ==]]></property><property name="SESSION_MANAGER" fullname="$_SERVER["SESSION_MANAGER"]" type="string" size="71" encoding="base64"><![CDATA[bG9jYWwvbXVuaXQtMDcwOkAvdG1wLy5JQ0UtdW5peC8xNzE2LHVuaXgvbXVuaXQtMDcwOi90bXAvLklDRS11bml4LzE3MTY=]]></property><property name="LC_PAPER" fullname="$_SERVER["LC_PAPER"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="LOGNAME" fullname="$_SERVER["LOGNAME"]" type="string" size="4" encoding="base64"><![CDATA[dXNlcg==]]></property><property name="XDEBUG_CONFIG" fullname="$_SERVER["XDEBUG_CONFIG"]" type="string" size="12" encoding="base64"><![CDATA[aWRla2V5PTEwOTgz]]></property><property name="PWD" fullname="$_SERVER["PWD"]" type="string" size="43" encoding="base64"><![CDATA[L2hvbWUvdXNlci9QaHBzdG9ybVByb2plY3RzL3hkZWJ1Z19lc2NhcGluZw==]]></property><property name="JOB" fullname="$_SERVER["JOB"]" type="string" size="4" encoding="base64"><![CDATA[ZGJ1cw==]]></property><property name="IM_CONFIG_PHASE" fullname="$_SERVER["IM_CONFIG_PHASE"]" type="string" size="1" encoding="base64"><![CDATA[MQ==]]></property><property name="LANGUAGE" fullname="$_SERVER["LANGUAGE"]" type="string" size="8" encoding="base64"><![CDATA[ZW5fVVM6ZW4=]]></property><property name="force_s3tc_enable" fullname="$_SERVER["force_s3tc_enable"]" type="string" size="4" encoding="base64"><![CDATA[dHJ1ZQ==]]></property><property name="PYTHONPATH" fullname="$_SERVER["PYTHONPATH"]" type="string" size="18" encoding="base64"><![CDATA[Li9zaGFyZS9weXNoYXJlZC86]]></property><property name="SHELL" fullname="$_SERVER["SHELL"]" type="string" size="9" encoding="base64"><![CDATA[L2Jpbi9iYXNo]]></property><property name="LC_ADDRESS" fullname="$_SERVER["LC_ADDRESS"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="GIO_LAUNCHED_DESKTOP_FILE" fullname="$_SERVER["GIO_LAUNCHED_DESKTOP_FILE"]" type="string" size="54" encoding="base64"><![CDATA[L2hvbWUvdXNlci8uY29uZmlnL2F1dG9zdGFydC9qZXRicmFpbnMtdG9vbGJveC5kZXNrdG9w]]></property><property name="INSTANCE" fullname="$_SERVER["INSTANCE"]" type="string" size="0" encoding="base64"><![CDATA[]]></property><property name="GTK2_MODULES" fullname="$_SERVER["GTK2_MODULES"]" type="string" size="17" encoding="base64"><![CDATA[b3ZlcmxheS1zY3JvbGxiYXI=]]></property><property name="OLDPWD" fullname="$_SERVER["OLDPWD"]" type="string" size="73" encoding="base64"><![CDATA[L2hvbWUvdXNlci8ubG9jYWwvc2hhcmUvSmV0QnJhaW5zL1Rvb2xib3gvYXBwcy9JREVBLVUvY2gtMC8xNzMuNDMwMS4xL2Jpbg==]]></property><property name="GNOME_DESKTOP_SESSION_ID" fullname="$_SERVER["GNOME_DESKTOP_SESSION_ID"]" type="string" size="18" encoding="base64"><![CDATA[dGhpcy1pcy1kZXByZWNhdGVk]]></property><property name="GTK_MODULES" fullname="$_SERVER["GTK_MODULES"]" type="string" size="15" encoding="base64"><![CDATA[Z2FpbDphdGstYnJpZGdl]]></property><property name="CLUTTER_IM_MODULE" fullname="$_SERVER["CLUTTER_IM_MODULE"]" type="string" size="3" encoding="base64"><![CDATA[eGlt]]></property><property name="XDG_SESSION_PATH" fullname="$_SERVER["XDG_SESSION_PATH"]" type="string" size="40" encoding="base64"><![CDATA[L29yZy9mcmVlZGVza3RvcC9EaXNwbGF5TWFuYWdlci9TZXNzaW9uMA==]]></property><property name="APPDIR" fullname="$_SERVER["APPDIR"]" type="string" size="18" encoding="base64"><![CDATA[L3RtcC8ubW91bnRfaHg5NFl1]]></property><property name="SESSIONTYPE" fullname="$_SERVER["SESSIONTYPE"]" type="string" size="13" encoding="base64"><![CDATA[Z25vbWUtc2Vzc2lvbg==]]></property><property name="XDG_SESSION_DESKTOP" fullname="$_SERVER["XDG_SESSION_DESKTOP"]" type="string" size="5" encoding="base64"><![CDATA[Z25vbWU=]]></property><property name="SHLVL" fullname="$_SERVER["SHLVL"]" type="string" size="1" encoding="base64"><![CDATA[MA==]]></property><property name="LC_IDENTIFICATION" fullname="$_SERVER["LC_IDENTIFICATION"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="QT_PLUGIN_PATH" fullname="$_SERVER["QT_PLUGIN_PATH"]" type="string" size="262" encoding="base64"><![CDATA[Li9saWIvcXQ0L3BsdWdpbnMvOi4vbGliL2kzODYtbGludXgtZ251L3F0NC9wbHVnaW5zLzouL2xpYi94ODZfNjQtbGludXgtZ251L3F0NC9wbHVnaW5zLzouL2xpYjMyL3F0NC9wbHVnaW5zLzouL2xpYjY0L3F0NC9wbHVnaW5zLzouL2xpYi9xdDUvcGx1Z2lucy86Li9saWIvaTM4Ni1saW51eC1nbnUvcXQ1L3BsdWdpbnMvOi4vbGliL3g4Nl82NC1saW51eC1nbnUvcXQ1L3BsdWdpbnMvOi4vbGliMzIvcXQ1L3BsdWdpbnMvOi4vbGliNjQvcXQ1L3BsdWdpbnMvOg==]]></property><property name="LC_MONETARY" fullname="$_SERVER["LC_MONETARY"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="QT_IM_MODULE" fullname="$_SERVER["QT_IM_MODULE"]" type="string" size="4" encoding="base64"><![CDATA[aWJ1cw==]]></property><property name="XFILESEARCHPATH" fullname="$_SERVER["XFILESEARCHPATH"]" type="string" size="26" encoding="base64"><![CDATA[L3Vzci9kdC9hcHAtZGVmYXVsdHMvJUwvRHQ=]]></property><property name="XDG_CONFIG_DIRS" fullname="$_SERVER["XDG_CONFIG_DIRS"]" type="string" size="50" encoding="base64"><![CDATA[L2V0Yy94ZGcveGRnLWdub21lOi91c3Ivc2hhcmUvdXBzdGFydC94ZGc6L2V0Yy94ZGc=]]></property><property name="XDG_SEAT_PATH" fullname="$_SERVER["XDG_SEAT_PATH"]" type="string" size="37" encoding="base64"><![CDATA[L29yZy9mcmVlZGVza3RvcC9EaXNwbGF5TWFuYWdlci9TZWF0MA==]]></property><property name="GNOME_KEYRING_CONTROL" fullname="$_SERVER["GNOME_KEYRING_CONTROL"]" type="string" size="0" encoding="base64"><![CDATA[]]></property><property name="LANG" fullname="$_SERVER["LANG"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="XDG_SESSION_TYPE" fullname="$_SERVER["XDG_SESSION_TYPE"]" type="string" size="3" encoding="base64"><![CDATA[eDEx]]></property><property name="PERLLIB" fullname="$_SERVER["PERLLIB"]" type="string" size="28" encoding="base64"><![CDATA[Li9zaGFyZS9wZXJsNS86Li9saWIvcGVybDUvOg==]]></property><property name="XDG_SESSION_ID" fullname="$_SERVER["XDG_SESSION_ID"]" type="string" size="2" encoding="base64"><![CDATA[YzI=]]></property><property name="DISPLAY" fullname="$_SERVER["DISPLAY"]" type="string" size="2" encoding="base64"><![CDATA[OjA=]]></property><property name="OWD" fullname="$_SERVER["OWD"]" type="string" size="10" encoding="base64"><![CDATA[L2hvbWUvdXNlcg==]]></property><property name="LC_NAME" fullname="$_SERVER["LC_NAME"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="GDM_LANG" fullname="$_SERVER["GDM_LANG"]" type="string" size="5" encoding="base64"><![CDATA[ZW5fVVM=]]></property><property name="XDG_GREETER_DATA_DIR" fullname="$_SERVER["XDG_GREETER_DATA_DIR"]" type="string" size="26" encoding="base64"><![CDATA[L3Zhci9saWIvbGlnaHRkbS1kYXRhL3VzZXI=]]></property><property name="SESSION" fullname="$_SERVER["SESSION"]" type="string" size="5" encoding="base64"><![CDATA[Z25vbWU=]]></property><property name="DESKTOP_SESSION" fullname="$_SERVER["DESKTOP_SESSION"]" type="string" size="5" encoding="base64"><![CDATA[Z25vbWU=]]></property><property name="GPG_AGENT_INFO" fullname="$_SERVER["GPG_AGENT_INFO"]" type="string" size="33" encoding="base64"><![CDATA[L2hvbWUvdXNlci8uZ251cGcvUy5ncGctYWdlbnQ6MDox]]></property><property name="USER" fullname="$_SERVER["USER"]" type="string" size="4" encoding="base64"><![CDATA[dXNlcg==]]></property><property name="XDG_MENU_PREFIX" fullname="$_SERVER["XDG_MENU_PREFIX"]" type="string" size="6" encoding="base64"><![CDATA[Z25vbWUt]]></property><property name="GIO_LAUNCHED_DESKTOP_FILE_PID" fullname="$_SERVER["GIO_LAUNCHED_DESKTOP_FILE_PID"]" type="string" size="4" encoding="base64"><![CDATA[MTkxMQ==]]></property><property name="QT_ACCESSIBILITY" fullname="$_SERVER["QT_ACCESSIBILITY"]" type="string" size="1" encoding="base64"><![CDATA[MQ==]]></property><property name="LC_NUMERIC" fullname="$_SERVER["LC_NUMERIC"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="XDG_SEAT" fullname="$_SERVER["XDG_SEAT"]" type="string" size="5" encoding="base64"><![CDATA[c2VhdDA=]]></property><property name="SSH_AUTH_SOCK" fullname="$_SERVER["SSH_AUTH_SOCK"]" type="string" size="26" encoding="base64"><![CDATA[L3J1bi91c2VyLzEwMDAva2V5cmluZy9zc2g=]]></property><property name="NLSPATH" fullname="$_SERVER["NLSPATH"]" type="string" size="29" encoding="base64"><![CDATA[L3Vzci9kdC9saWIvbmxzL21zZy8lTC8lTi5jYXQ=]]></property><property name="QT_QPA_PLATFORMTHEME" fullname="$_SERVER["QT_QPA_PLATFORMTHEME"]" type="string" size="11" encoding="base64"><![CDATA[YXBwbWVudS1xdDU=]]></property><property name="GSETTINGS_SCHEMA_DIR" fullname="$_SERVER["GSETTINGS_SCHEMA_DIR"]" type="string" size="26" encoding="base64"><![CDATA[Li9zaGFyZS9nbGliLTIuMC9zY2hlbWFzLzo=]]></property><property name="XDG_RUNTIME_DIR" fullname="$_SERVER["XDG_RUNTIME_DIR"]" type="string" size="14" encoding="base64"><![CDATA[L3J1bi91c2VyLzEwMDA=]]></property><property name="XDG_VTNR" fullname="$_SERVER["XDG_VTNR"]" type="string" size="1" encoding="base64"><![CDATA[Nw==]]></property><property name="HOME" fullname="$_SERVER["HOME"]" type="string" size="10" encoding="base64"><![CDATA[L2hvbWUvdXNlcg==]]></property><property name="GNOME_KEYRING_PID" fullname="$_SERVER["GNOME_KEYRING_PID"]" type="string" size="0" encoding="base64"><![CDATA[]]></property><property name="PHP_SELF" fullname="$_SERVER["PHP_SELF"]" type="string" size="60" encoding="base64"><![CDATA[L2hvbWUvdXNlci9QaHBzdG9ybVByb2plY3RzL3hkZWJ1Z19lc2NhcGluZy9lc2NhcGVkX25hbWUucGhw]]></property><property name="SCRIPT_NAME" fullname="$_SERVER["SCRIPT_NAME"]" type="string" size="60" encoding="base64"><![CDATA[L2hvbWUvdXNlci9QaHBzdG9ybVByb2plY3RzL3hkZWJ1Z19lc2NhcGluZy9lc2NhcGVkX25hbWUucGhw]]></property><property name="SCRIPT_FILENAME" fullname="$_SERVER["SCRIPT_FILENAME"]" type="string" size="60" encoding="base64"><![CDATA[L2hvbWUvdXNlci9QaHBzdG9ybVByb2plY3RzL3hkZWJ1Z19lc2NhcGluZy9lc2NhcGVkX25hbWUucGhw]]></property><property name="PATH_TRANSLATED" fullname="$_SERVER["PATH_TRANSLATED"]" type="string" size="60" encoding="base64"><![CDATA[L2hvbWUvdXNlci9QaHBzdG9ybVByb2plY3RzL3hkZWJ1Z19lc2NhcGluZy9lc2NhcGVkX25hbWUucGhw]]></property><property name="DOCUMENT_ROOT" fullname="$_SERVER["DOCUMENT_ROOT"]" type="string" size="0" encoding="base64"><![CDATA[]]></property><property name="REQUEST_TIME_FLOAT" fullname="$_SERVER["REQUEST_TIME_FLOAT"]" type="float"><![CDATA[1515156031.1789]]></property><property name="REQUEST_TIME" fullname="$_SERVER["REQUEST_TIME"]" type="int"><![CDATA[1515156031]]></property><property name="argv" fullname="$_SERVER["argv"]" type="array" children="1" numchildren="1"></property><property name="argc" fullname="$_SERVER["argc"]" type="int"><![CDATA[1]]></property></property></response> <- context_get -i 21 -d 0 -c 1 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_get" transaction_id="21" context="1"><property name="$_COOKIE" fullname="$_COOKIE" type="array" children="0" numchildren="0" page="0" pagesize="100"></property><property name="$_ENV" fullname="$_ENV" type="array" children="0" numchildren="0" page="0" pagesize="100"></property><property name="$_FILES" fullname="$_FILES" type="array" children="0" numchildren="0" page="0" pagesize="100"></property><property name="$_GET" fullname="$_GET" type="array" children="0" numchildren="0" page="0" pagesize="100"></property><property name="$_POST" fullname="$_POST" type="array" children="0" numchildren="0" page="0" pagesize="100"></property><property name="$_REQUEST" fullname="$_REQUEST" type="array" children="0" numchildren="0" page="0" pagesize="100"></property><property name="$_SERVER" fullname="$_SERVER" type="array" children="1" numchildren="88" page="0" pagesize="100"><property name="PATH" fullname="$_SERVER["PATH"]" type="string" size="176" encoding="base64"><![CDATA[Li9iaW4vOi4vc2Jpbi86Li9nYW1lcy86Li4vYmluLzouLi9zYmluLzovaG9tZS91c2VyL2JpbjovaG9tZS91c2VyLy5sb2NhbC9iaW46L3Vzci9sb2NhbC9zYmluOi91c3IvbG9jYWwvYmluOi91c3Ivc2JpbjovdXNyL2Jpbjovc2JpbjovYmluOi91c3IvZ2FtZXM6L3Vzci9sb2NhbC9nYW1lczovc25hcC9iaW4=]]></property><property name="XAUTHORITY" fullname="$_SERVER["XAUTHORITY"]" type="string" size="22" encoding="base64"><![CDATA[L2hvbWUvdXNlci8uWGF1dGhvcml0eQ==]]></property><property name="LC_MEASUREMENT" fullname="$_SERVER["LC_MEASUREMENT"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="LC_TELEPHONE" fullname="$_SERVER["LC_TELEPHONE"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="XMODIFIERS" fullname="$_SERVER["XMODIFIERS"]" type="string" size="8" encoding="base64"><![CDATA[QGltPWlidXM=]]></property><property name="MANDATORY_PATH" fullname="$_SERVER["MANDATORY_PATH"]" type="string" size="37" encoding="base64"><![CDATA[L3Vzci9zaGFyZS9nY29uZi9nbm9tZS5tYW5kYXRvcnkucGF0aA==]]></property><property name="GDMSESSION" fullname="$_SERVER["GDMSESSION"]" type="string" size="5" encoding="base64"><![CDATA[Z25vbWU=]]></property><property name="XDG_DATA_DIRS" fullname="$_SERVER["XDG_DATA_DIRS"]" type="string" size="78" encoding="base64"><![CDATA[Li9zaGFyZS86L3Vzci9zaGFyZS9nbm9tZTovdXNyL2xvY2FsL3NoYXJlLzovdXNyL3NoYXJlLzovdmFyL2xpYi9zbmFwZC9kZXNrdG9w]]></property><property name="LC_TIME" fullname="$_SERVER["LC_TIME"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="PAPERSIZE" fullname="$_SERVER["PAPERSIZE"]" type="string" size="6" encoding="base64"><![CDATA[bGV0dGVy]]></property><property name="GTK_IM_MODULE" fullname="$_SERVER["GTK_IM_MODULE"]" type="string" size="4" encoding="base64"><![CDATA[aWJ1cw==]]></property><property name="QT_QPA_PLATFORM_PLUGIN_PATH" fullname="$_SERVER["QT_QPA_PLATFORM_PLUGIN_PATH"]" type="string" size="23" encoding="base64"><![CDATA[c2hhcmUvamV0YnJhaW5zLXRvb2xib3g=]]></property><property name="DBUS_SESSION_BUS_ADDRESS" fullname="$_SERVER["DBUS_SESSION_BUS_ADDRESS"]" type="string" size="34" encoding="base64"><![CDATA[dW5peDphYnN0cmFjdD0vdG1wL2RidXMtMDNaYmF5ZDA1Sw==]]></property><property name="DEFAULTS_PATH" fullname="$_SERVER["DEFAULTS_PATH"]" type="string" size="35" encoding="base64"><![CDATA[L3Vzci9zaGFyZS9nY29uZi9nbm9tZS5kZWZhdWx0LnBhdGg=]]></property><property name="APPIMAGE" fullname="$_SERVER["APPIMAGE"]" type="string" size="63" encoding="base64"><![CDATA[L2hvbWUvdXNlci8ubG9jYWwvc2hhcmUvSmV0QnJhaW5zL1Rvb2xib3gvYmluL2pldGJyYWlucy10b29sYm94]]></property><property name="XDG_CURRENT_DESKTOP" fullname="$_SERVER["XDG_CURRENT_DESKTOP"]" type="string" size="5" encoding="base64"><![CDATA[R05PTUU=]]></property><property name="DESKTOP_AUTOSTART_ID" fullname="$_SERVER["DESKTOP_AUTOSTART_ID"]" type="string" size="48" encoding="base64"><![CDATA[MTAzMDkzOTI2MThjMTkwNmIwMTUxNDk5MDY4MTUyNDI3ODAwMDAwMDE3MTYwMDAz]]></property><property name="LD_LIBRARY_PATH" fullname="$_SERVER["LD_LIBRARY_PATH"]" type="string" size="199" encoding="base64"><![CDATA[c2hhcmUvamV0YnJhaW5zLXRvb2xib3g6c2hhcmUvamV0YnJhaW5zLXRvb2xib3gvbGliOi4vbGliLzouL2xpYi9pMzg2LWxpbnV4LWdudS86Li9saWIveDg2XzY0LWxpbnV4LWdudS86Li9saWIzMi86Li9saWI2NC86Li4vbGliLzouLi9saWIvaTM4Ni1saW51eC1nbnUvOi4uL2xpYi94ODZfNjQtbGludXgtZ251LzouLi9saWIzMi86Li4vbGliNjQvOg==]]></property><property name="QT4_IM_MODULE" fullname="$_SERVER["QT4_IM_MODULE"]" type="string" size="3" encoding="base64"><![CDATA[eGlt]]></property><property name="UPSTART_SESSION" fullname="$_SERVER["UPSTART_SESSION"]" type="string" size="51" encoding="base64"><![CDATA[dW5peDphYnN0cmFjdD0vY29tL3VidW50dS91cHN0YXJ0LXNlc3Npb24vMTAwMC8xNDYx]]></property><property name="QT_LINUX_ACCESSIBILITY_ALWAYS_ON" fullname="$_SERVER["QT_LINUX_ACCESSIBILITY_ALWAYS_ON"]" type="string" size="1" encoding="base64"><![CDATA[MQ==]]></property><property name="SESSION_MANAGER" fullname="$_SERVER["SESSION_MANAGER"]" type="string" size="71" encoding="base64"><![CDATA[bG9jYWwvbXVuaXQtMDcwOkAvdG1wLy5JQ0UtdW5peC8xNzE2LHVuaXgvbXVuaXQtMDcwOi90bXAvLklDRS11bml4LzE3MTY=]]></property><property name="LC_PAPER" fullname="$_SERVER["LC_PAPER"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="LOGNAME" fullname="$_SERVER["LOGNAME"]" type="string" size="4" encoding="base64"><![CDATA[dXNlcg==]]></property><property name="XDEBUG_CONFIG" fullname="$_SERVER["XDEBUG_CONFIG"]" type="string" size="12" encoding="base64"><![CDATA[aWRla2V5PTEwOTgz]]></property><property name="PWD" fullname="$_SERVER["PWD"]" type="string" size="43" encoding="base64"><![CDATA[L2hvbWUvdXNlci9QaHBzdG9ybVByb2plY3RzL3hkZWJ1Z19lc2NhcGluZw==]]></property><property name="JOB" fullname="$_SERVER["JOB"]" type="string" size="4" encoding="base64"><![CDATA[ZGJ1cw==]]></property><property name="IM_CONFIG_PHASE" fullname="$_SERVER["IM_CONFIG_PHASE"]" type="string" size="1" encoding="base64"><![CDATA[MQ==]]></property><property name="LANGUAGE" fullname="$_SERVER["LANGUAGE"]" type="string" size="8" encoding="base64"><![CDATA[ZW5fVVM6ZW4=]]></property><property name="force_s3tc_enable" fullname="$_SERVER["force_s3tc_enable"]" type="string" size="4" encoding="base64"><![CDATA[dHJ1ZQ==]]></property><property name="PYTHONPATH" fullname="$_SERVER["PYTHONPATH"]" type="string" size="18" encoding="base64"><![CDATA[Li9zaGFyZS9weXNoYXJlZC86]]></property><property name="SHELL" fullname="$_SERVER["SHELL"]" type="string" size="9" encoding="base64"><![CDATA[L2Jpbi9iYXNo]]></property><property name="LC_ADDRESS" fullname="$_SERVER["LC_ADDRESS"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="GIO_LAUNCHED_DESKTOP_FILE" fullname="$_SERVER["GIO_LAUNCHED_DESKTOP_FILE"]" type="string" size="54" encoding="base64"><![CDATA[L2hvbWUvdXNlci8uY29uZmlnL2F1dG9zdGFydC9qZXRicmFpbnMtdG9vbGJveC5kZXNrdG9w]]></property><property name="INSTANCE" fullname="$_SERVER["INSTANCE"]" type="string" size="0" encoding="base64"><![CDATA[]]></property><property name="GTK2_MODULES" fullname="$_SERVER["GTK2_MODULES"]" type="string" size="17" encoding="base64"><![CDATA[b3ZlcmxheS1zY3JvbGxiYXI=]]></property><property name="OLDPWD" fullname="$_SERVER["OLDPWD"]" type="string" size="73" encoding="base64"><![CDATA[L2hvbWUvdXNlci8ubG9jYWwvc2hhcmUvSmV0QnJhaW5zL1Rvb2xib3gvYXBwcy9JREVBLVUvY2gtMC8xNzMuNDMwMS4xL2Jpbg==]]></property><property name="GNOME_DESKTOP_SESSION_ID" fullname="$_SERVER["GNOME_DESKTOP_SESSION_ID"]" type="string" size="18" encoding="base64"><![CDATA[dGhpcy1pcy1kZXByZWNhdGVk]]></property><property name="GTK_MODULES" fullname="$_SERVER["GTK_MODULES"]" type="string" size="15" encoding="base64"><![CDATA[Z2FpbDphdGstYnJpZGdl]]></property><property name="CLUTTER_IM_MODULE" fullname="$_SERVER["CLUTTER_IM_MODULE"]" type="string" size="3" encoding="base64"><![CDATA[eGlt]]></property><property name="XDG_SESSION_PATH" fullname="$_SERVER["XDG_SESSION_PATH"]" type="string" size="40" encoding="base64"><![CDATA[L29yZy9mcmVlZGVza3RvcC9EaXNwbGF5TWFuYWdlci9TZXNzaW9uMA==]]></property><property name="APPDIR" fullname="$_SERVER["APPDIR"]" type="string" size="18" encoding="base64"><![CDATA[L3RtcC8ubW91bnRfaHg5NFl1]]></property><property name="SESSIONTYPE" fullname="$_SERVER["SESSIONTYPE"]" type="string" size="13" encoding="base64"><![CDATA[Z25vbWUtc2Vzc2lvbg==]]></property><property name="XDG_SESSION_DESKTOP" fullname="$_SERVER["XDG_SESSION_DESKTOP"]" type="string" size="5" encoding="base64"><![CDATA[Z25vbWU=]]></property><property name="SHLVL" fullname="$_SERVER["SHLVL"]" type="string" size="1" encoding="base64"><![CDATA[MA==]]></property><property name="LC_IDENTIFICATION" fullname="$_SERVER["LC_IDENTIFICATION"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="QT_PLUGIN_PATH" fullname="$_SERVER["QT_PLUGIN_PATH"]" type="string" size="262" encoding="base64"><![CDATA[Li9saWIvcXQ0L3BsdWdpbnMvOi4vbGliL2kzODYtbGludXgtZ251L3F0NC9wbHVnaW5zLzouL2xpYi94ODZfNjQtbGludXgtZ251L3F0NC9wbHVnaW5zLzouL2xpYjMyL3F0NC9wbHVnaW5zLzouL2xpYjY0L3F0NC9wbHVnaW5zLzouL2xpYi9xdDUvcGx1Z2lucy86Li9saWIvaTM4Ni1saW51eC1nbnUvcXQ1L3BsdWdpbnMvOi4vbGliL3g4Nl82NC1saW51eC1nbnUvcXQ1L3BsdWdpbnMvOi4vbGliMzIvcXQ1L3BsdWdpbnMvOi4vbGliNjQvcXQ1L3BsdWdpbnMvOg==]]></property><property name="LC_MONETARY" fullname="$_SERVER["LC_MONETARY"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="QT_IM_MODULE" fullname="$_SERVER["QT_IM_MODULE"]" type="string" size="4" encoding="base64"><![CDATA[aWJ1cw==]]></property><property name="XFILESEARCHPATH" fullname="$_SERVER["XFILESEARCHPATH"]" type="string" size="26" encoding="base64"><![CDATA[L3Vzci9kdC9hcHAtZGVmYXVsdHMvJUwvRHQ=]]></property><property name="XDG_CONFIG_DIRS" fullname="$_SERVER["XDG_CONFIG_DIRS"]" type="string" size="50" encoding="base64"><![CDATA[L2V0Yy94ZGcveGRnLWdub21lOi91c3Ivc2hhcmUvdXBzdGFydC94ZGc6L2V0Yy94ZGc=]]></property><property name="XDG_SEAT_PATH" fullname="$_SERVER["XDG_SEAT_PATH"]" type="string" size="37" encoding="base64"><![CDATA[L29yZy9mcmVlZGVza3RvcC9EaXNwbGF5TWFuYWdlci9TZWF0MA==]]></property><property name="GNOME_KEYRING_CONTROL" fullname="$_SERVER["GNOME_KEYRING_CONTROL"]" type="string" size="0" encoding="base64"><![CDATA[]]></property><property name="LANG" fullname="$_SERVER["LANG"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="XDG_SESSION_TYPE" fullname="$_SERVER["XDG_SESSION_TYPE"]" type="string" size="3" encoding="base64"><![CDATA[eDEx]]></property><property name="PERLLIB" fullname="$_SERVER["PERLLIB"]" type="string" size="28" encoding="base64"><![CDATA[Li9zaGFyZS9wZXJsNS86Li9saWIvcGVybDUvOg==]]></property><property name="XDG_SESSION_ID" fullname="$_SERVER["XDG_SESSION_ID"]" type="string" size="2" encoding="base64"><![CDATA[YzI=]]></property><property name="DISPLAY" fullname="$_SERVER["DISPLAY"]" type="string" size="2" encoding="base64"><![CDATA[OjA=]]></property><property name="OWD" fullname="$_SERVER["OWD"]" type="string" size="10" encoding="base64"><![CDATA[L2hvbWUvdXNlcg==]]></property><property name="LC_NAME" fullname="$_SERVER["LC_NAME"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="GDM_LANG" fullname="$_SERVER["GDM_LANG"]" type="string" size="5" encoding="base64"><![CDATA[ZW5fVVM=]]></property><property name="XDG_GREETER_DATA_DIR" fullname="$_SERVER["XDG_GREETER_DATA_DIR"]" type="string" size="26" encoding="base64"><![CDATA[L3Zhci9saWIvbGlnaHRkbS1kYXRhL3VzZXI=]]></property><property name="SESSION" fullname="$_SERVER["SESSION"]" type="string" size="5" encoding="base64"><![CDATA[Z25vbWU=]]></property><property name="DESKTOP_SESSION" fullname="$_SERVER["DESKTOP_SESSION"]" type="string" size="5" encoding="base64"><![CDATA[Z25vbWU=]]></property><property name="GPG_AGENT_INFO" fullname="$_SERVER["GPG_AGENT_INFO"]" type="string" size="33" encoding="base64"><![CDATA[L2hvbWUvdXNlci8uZ251cGcvUy5ncGctYWdlbnQ6MDox]]></property><property name="USER" fullname="$_SERVER["USER"]" type="string" size="4" encoding="base64"><![CDATA[dXNlcg==]]></property><property name="XDG_MENU_PREFIX" fullname="$_SERVER["XDG_MENU_PREFIX"]" type="string" size="6" encoding="base64"><![CDATA[Z25vbWUt]]></property><property name="GIO_LAUNCHED_DESKTOP_FILE_PID" fullname="$_SERVER["GIO_LAUNCHED_DESKTOP_FILE_PID"]" type="string" size="4" encoding="base64"><![CDATA[MTkxMQ==]]></property><property name="QT_ACCESSIBILITY" fullname="$_SERVER["QT_ACCESSIBILITY"]" type="string" size="1" encoding="base64"><![CDATA[MQ==]]></property><property name="LC_NUMERIC" fullname="$_SERVER["LC_NUMERIC"]" type="string" size="11" encoding="base64"><![CDATA[ZW5fVVMuVVRGLTg=]]></property><property name="XDG_SEAT" fullname="$_SERVER["XDG_SEAT"]" type="string" size="5" encoding="base64"><![CDATA[c2VhdDA=]]></property><property name="SSH_AUTH_SOCK" fullname="$_SERVER["SSH_AUTH_SOCK"]" type="string" size="26" encoding="base64"><![CDATA[L3J1bi91c2VyLzEwMDAva2V5cmluZy9zc2g=]]></property><property name="NLSPATH" fullname="$_SERVER["NLSPATH"]" type="string" size="29" encoding="base64"><![CDATA[L3Vzci9kdC9saWIvbmxzL21zZy8lTC8lTi5jYXQ=]]></property><property name="QT_QPA_PLATFORMTHEME" fullname="$_SERVER["QT_QPA_PLATFORMTHEME"]" type="string" size="11" encoding="base64"><![CDATA[YXBwbWVudS1xdDU=]]></property><property name="GSETTINGS_SCHEMA_DIR" fullname="$_SERVER["GSETTINGS_SCHEMA_DIR"]" type="string" size="26" encoding="base64"><![CDATA[Li9zaGFyZS9nbGliLTIuMC9zY2hlbWFzLzo=]]></property><property name="XDG_RUNTIME_DIR" fullname="$_SERVER["XDG_RUNTIME_DIR"]" type="string" size="14" encoding="base64"><![CDATA[L3J1bi91c2VyLzEwMDA=]]></property><property name="XDG_VTNR" fullname="$_SERVER["XDG_VTNR"]" type="string" size="1" encoding="base64"><![CDATA[Nw==]]></property><property name="HOME" fullname="$_SERVER["HOME"]" type="string" size="10" encoding="base64"><![CDATA[L2hvbWUvdXNlcg==]]></property><property name="GNOME_KEYRING_PID" fullname="$_SERVER["GNOME_KEYRING_PID"]" type="string" size="0" encoding="base64"><![CDATA[]]></property><property name="PHP_SELF" fullname="$_SERVER["PHP_SELF"]" type="string" size="60" encoding="base64"><![CDATA[L2hvbWUvdXNlci9QaHBzdG9ybVByb2plY3RzL3hkZWJ1Z19lc2NhcGluZy9lc2NhcGVkX25hbWUucGhw]]></property><property name="SCRIPT_NAME" fullname="$_SERVER["SCRIPT_NAME"]" type="string" size="60" encoding="base64"><![CDATA[L2hvbWUvdXNlci9QaHBzdG9ybVByb2plY3RzL3hkZWJ1Z19lc2NhcGluZy9lc2NhcGVkX25hbWUucGhw]]></property><property name="SCRIPT_FILENAME" fullname="$_SERVER["SCRIPT_FILENAME"]" type="string" size="60" encoding="base64"><![CDATA[L2hvbWUvdXNlci9QaHBzdG9ybVByb2plY3RzL3hkZWJ1Z19lc2NhcGluZy9lc2NhcGVkX25hbWUucGhw]]></property><property name="PATH_TRANSLATED" fullname="$_SERVER["PATH_TRANSLATED"]" type="string" size="60" encoding="base64"><![CDATA[L2hvbWUvdXNlci9QaHBzdG9ybVByb2plY3RzL3hkZWJ1Z19lc2NhcGluZy9lc2NhcGVkX25hbWUucGhw]]></property><property name="DOCUMENT_ROOT" fullname="$_SERVER["DOCUMENT_ROOT"]" type="string" size="0" encoding="base64"><![CDATA[]]></property><property name="REQUEST_TIME_FLOAT" fullname="$_SERVER["REQUEST_TIME_FLOAT"]" type="float"><![CDATA[1515156031.1789]]></property><property name="REQUEST_TIME" fullname="$_SERVER["REQUEST_TIME"]" type="int"><![CDATA[1515156031]]></property><property name="argv" fullname="$_SERVER["argv"]" type="array" children="1" numchildren="1"></property><property name="argc" fullname="$_SERVER["argc"]" type="int"><![CDATA[1]]></property></property></response> <- context_get -i 22 -d 0 -c 2 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_get" transaction_id="22" context="2"></response> <- context_get -i 23 -d 0 -c 2 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="context_get" transaction_id="23" context="2"></response> <- property_get -i 24 -n $v[0] -d 0 -c 0 -p 0 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="property_get" transaction_id="24"><property name="$v[0]" fullname="$v[0]" type="array" children="1" numchildren="1" page="0" pagesize="100"><property name="\\" fullname="$v[0]["\\\\"]" type="int"><![CDATA[1]]></property></property></response> <- property_get -i 25 -n $this->*TestA\\TestB\\TestC\\A*items -d 0 -c 0 -p 0 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="property_get" transaction_id="25"><property name="$this->*TestA\\TestB\\TestC\\A*items" fullname="$this->*TestA\\TestB\\TestC\\A*items" type="array" children="1" numchildren="1" page="0" pagesize="100"><property name="0" fullname="$this->*TestA\\TestB\\TestC\\A*items[0]" type="int"><![CDATA[1]]></property></property></response> <- run -i 26 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="26" status="stopping" reason="ok"></response> <- run -i 27 Log closed at 2018-01-05 12:40:40 |
|
Xdebug's, and your's, assumption that you should escape the \ already when doing property_get in step 3 is actually wrong: <- property_get -i 18 -n $this->*TestA\\TestB\\TestC\\A*items -d 0 -c 0 -p 0 It should be either: <- property_get -i 18 -n "$this->*TestA\\TestB\\TestC\\A*items" -d 0 -c 0 -p 0 or <- property_get -i 18 -n $this->*TestA\TestB\TestC\A*items -d 0 -c 0 -p 0 Xdebug does currently not do this correctly either. The DBGp specs say (in https://xdebug.org/docs-dbgp.php#message-packets): If a value for an option includes a space, the value needs to be encoded. You can encode values by encasing them in double quotes: property_get -i 5 -n "$x['a b']" -d 0 -c 0 -p 0 It is also possible to use escape characters in quoted strings: property_get -i 6 -n "$x[\"a b\"]" -d 0 -c 0 -p 0 As Xdebug has returned, through XML, just: fullname="$this->*TestA\TestB\TestC\A*items" which, after XML decoding shows: $this->*TestA\TestB\TestC\A*items There is no space in this, so there is no NEED to enclose them in "'s, or does the spec say anything about escaping the \'s. The spec hints that *if* you enclose them in "'s, you must also escape the \'s. I propose we do the following: - Xdebug stops stripping \'s when it parsing the property names, unless they are enclosed in "'s. - PhpStorm does not escape the \'s, *unless* it has wrapped the value in double quotes. It must simply use the XML decoded value that XML returned (through "context_get" or "property_get -n $this") as argument to property_get *unless* there is a space or \0 character, in which case PhpStorm *must* enclose the value in "'s and escape ", \ and NULL. - I update the DBGp spec to: - include the \0 character with the line about the space - make it clearer when you *must* escape - make it clearer when you *can* escape This is likely going to break existing behaviour, so you might want to change behaviour depending on Xdebug version, send to PhpStorm in the init package with: <engine version="2.6.0beta2-dev"> |
|
I've added a PR for DBGp, please review: https://github.com/derickr/dbgp/pull/17 |
|
Looks good for me. From IDE side the behaviour is the same as for Xdebug 2.5 and earlier. |
|
That's not 100% true - please see this again: Your assumption that you should escape the \ already when doing property_get in step 3 is actually wrong: <- property_get -i 18 -n $this->*TestA\\TestB\\TestC\\A*items -d 0 -c 0 -p 0 It should be either: <- property_get -i 18 -n "$this->*TestA\\TestB\\TestC\\A*items" -d 0 -c 0 -p 0 or <- property_get -i 18 -n $this->*TestA\TestB\TestC\A*items -d 0 -c 0 -p 0 |
|
Do you mean Xdebug 2.5 doesn't require escaping inside quotes? For me, the command with escaped value works perfectly fine with Xdebug 2.5.5 + PHP 7.1.1 or PHP 5.6.30 <- property_get -i 23 -n "$this->*PhpStormBug917319\\ParentClass*_attributes['Three\\s Stuff']" -d 0 -c 0 -p 0 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="property_get" transaction_id="23"><property name="$this->*PhpStormBug917319\ParentClass*_attributes['Three\s Stuff']" fullname="$this->*PhpStormBug917319\ParentClass*_attributes['Three\s Stuff']" type="array" children="1" numchildren="1" page="0" pagesize="100"><property name="id" fullname="$this->*PhpStormBug917319\ParentClass*_attributes['Three\s Stuff']['id']" type="string" size="13" encoding="base64"><![CDATA[VGhyZWVccyBTdHVmZg==]]></property></property></response> |
|
Inside double quotes, you *MUST* escape, like you do: property_get -i 23 -n "$this->*PhpStormBug917319\\ParentClass*_attributes['Three\\s Stuff']" And I showed with: property_get -i 18 -n "$this->*TestA\\TestB\\TestC\\A*items" -d 0 -c 0 -p 0 ---- Not using double quotes, you *MUST NOT* escape, like I showed with: <- property_get -i 18 -n $this->*TestA\TestB\TestC\A*items -d 0 -c 0 -p 0 ---- In the original description of the bug, you wrote: 3) Call 'property_get' command for '*TestA\TestB\TestC\A*items'. <- property_get -i 18 -n $this->*TestA\\TestB\\TestC\\A*items -d 0 -c 0 -p 0 But this uses escaped \ characters outside double quotes, which is incorrect. Xdebug 2.5 would allow this, but should not have. Xdebug 2.6 will not allow this, after my merge of https://github.com/xdebug/xdebug/commit/307009a46ff63f15ea6e1e1e3c66637314089ab8 |
|
I understand that your suggestion in comments is different from the issue description. I'm saying that Xdebug 2.5 does follow the same rules, e.g. The command with escaped blackslashes will fail in Xdebug 2.5 too: <- property_get -i 22 -n $this->*PhpStormBug917319\\ParentClass*_attributes -d 0 -c 0 -p 0 -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="property_get" transaction_id="22" status="break" reason="ok"><error code="300"><message><![CDATA[can not get property]]></message></error></response> |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-01-05 12:45 | LanaZem | New Issue | |
2018-01-05 12:45 | LanaZem | File Added: xdebug_2.6beta_escaped_name.log | |
2018-01-06 10:26 | derick | Note Added: 0004550 | |
2018-01-06 10:27 | derick | Assigned To | => derick |
2018-01-06 10:27 | derick | Status | new => confirmed |
2018-01-06 10:28 | derick | Note Edited: 0004550 | |
2018-01-06 10:29 | derick | Note Edited: 0004550 | |
2018-01-06 12:24 | derick | Note Added: 0004551 | |
2018-01-07 18:05 | derick | Relationship added | has duplicate 0001513 |
2018-01-07 18:05 | derick | Summary | Xdebug returns escaped property name and fullname => Xdebug does not properly encode and escape properties with quotes and \0 characters. |
2018-01-07 18:05 | derick | Steps to Reproduce Updated | |
2018-01-08 10:53 | derick | Status | confirmed => closed |
2018-01-08 10:53 | derick | Resolution | open => fixed |
2018-01-08 10:53 | derick | Fixed in Version | => 2.6.0 |
2018-01-08 10:54 | derick | Target Version | => 2.6.0 |
2018-01-09 14:41 | LanaZem | Note Added: 0004554 | |
2018-01-09 15:15 | derick | Note Added: 0004555 | |
2018-01-09 17:17 | LanaZem | Note Added: 0004556 | |
2018-01-09 17:37 | derick | Note Added: 0004557 | |
2018-01-09 17:37 | derick | Note Edited: 0004557 | |
2018-01-09 18:27 | LanaZem | Note Added: 0004558 | |
2018-01-22 18:21 | derick | Fixed in Version | 2.6.0 => 2.6.0rc1 |
2020-03-12 16:33 | derick | Category | Remote Debugging => Step Debugging |