View Issue Details

This bug affects 1 person(s).
 2
IDProjectCategoryView StatusLast Update
10008Bug reportsRemoteControlpublic2015-12-04 12:46
Reporterkochi Assigned To 
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version2.06+ 
Fixed in Version2.06+ 
Summary10008: Array/struct parameter in remove control function - list_participants
Description

The $aConditions parameter of the list_participants function is parsed as sturct witch doesn't match to default value of parameter - array().

If function parameters didn't match, the error 623 is throw in application\helpers\Zend\XmlRpc\Server.php on line 596. This error is represent as 08996:29934 the error:

FastCGI-stderr: PHP Fatal error: Call to undefined method Zend_XmlRpc_Server_Fault::printXml() in /srv/ddservis.eu
/survey/application/controllers/admin/remotecontrol.php on line 51

Steps To Reproduce

[new survey, activated and token table created with some participants]

$xmlRPCclient->list_participants($sessionKey, $survey_id, 0, 50, false, false, array('email' => 'kochi@centrum.cz'));

Additional Information

Struct is an associate array in XMLRPC word see application\helpers\Zend\XmlRpc\Value.php line 272.

TagsNo tags attached.
Attached Files
array.txt (3,781 bytes)   
Session key: 'k7r6ifg33c7p3qqdjf3spmqa8d6ryiz4'
string(3518) "--------------- list_participants ----------------
--------------- $request ----------------
object(Zend_XmlRpc_Request_Http)#2833 (8) {
  ["_headers":protected]=>
  NULL
  ["_xml":protected]=>
  string(711) "<?xml version="1.0" encoding="iso-8859-1"?>
<methodCall>
<methodName>list_participants</methodName>
<params>
 <param>
  <value>
   <string>k7r6ifg33c7p3qqdjf3spmqa8d6ryiz4</string>
  </value>
 </param>
 <param>
  <value>
   <int>185547</int>
  </value>
 </param>
 <param>
  <value>
   <int>0</int>
  </value>
 </param>
 <param>
  <value>
   <int>50</int>
  </value>
 </param>
 <param>
  <value>
   <boolean>0</boolean>
  </value>
 </param>
 <param>
  <value>
   <boolean>0</boolean>
  </value>
 </param>
 <param>
  <value>
   <struct>
    <member>
     <name>email</name>
     <value>
      <string>kochi@centrum.cz</string>
     </value>
    </member>
   </struct>
  </value>
 </param>
</params>
</methodCall>
"
  ["_encoding":protected]=>
  string(5) "UTF-8"
  ["_method":protected]=>
  string(17) "list_participants"
  ["_params":protected]=>
  array(7) {
    [0]=>
    string(32) "k7r6ifg33c7p3qqdjf3spmqa8d6ryiz4"
    [1]=>
    int(185547)
    [2]=>
    int(0)
    [3]=>
    int(50)
    [4]=>
    bool(false)
    [5]=>
    bool(false)
    [6]=>
    array(1) {
      ["email"]=>
      string(16) "kochi@centrum.cz"
    }
  }
  ["_fault":protected]=>
  NULL
  ["_types":protected]=>
  array(7) {
    [0]=>
    string(6) "string"
    [1]=>
    string(3) "int"
    [2]=>
    string(3) "int"
    [3]=>
    string(3) "int"
    [4]=>
    string(7) "boolean"
    [5]=>
    string(7) "boolean"
    [6]=>
    string(6) "struct"
  }
  ["_xmlRpcParams":protected]=>
  array(0) {
  }
}
--------------- $sigCalled ----------------
array(7) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
  [3]=>
  string(3) "int"
  [4]=>
  string(7) "boolean"
  [5]=>
  string(7) "boolean"
  [6]=>
  string(5) "array"
}
--------------- $sigParams ----------------
array(2) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
}
array(3) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
}
array(4) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
  [3]=>
  string(3) "int"
}
array(5) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
  [3]=>
  string(3) "int"
  [4]=>
  string(7) "boolean"
}
array(6) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
  [3]=>
  string(3) "int"
  [4]=>
  string(7) "boolean"
  [5]=>
  string(7) "boolean"
}
array(7) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
  [3]=>
  string(3) "int"
  [4]=>
  string(7) "boolean"
  [5]=>
  string(7) "boolean"
  [6]=>
  string(5) "array"
}
<methodResponse><params><param><value><array><data><value><struct><member><name><![CDATA[tid]]></name>
<value><int>4</int>
</value></member><member><name><![CDATA[token]]></name>
<value><string><![CDATA[kt5b9734zu8k8vk]]></string>
</value></member><member><name><![CDATA[participant_info]]></name>
<value><struct><member><name><![CDATA[firstname]]></name>
<value><string><![CDATA[]]></string>
</value></member><member><name><![CDATA[lastname]]></name>
<value><string><![CDATA[]]></string>
</value></member><member><name><![CDATA[email]]></name>
<value><string><![CDATA[kochi@centrum.cz]]></string>
</value></member></struct></value></member></struct></value></data></array></value></param></params></methodResponse>"
array.txt (3,781 bytes)   
struct.txt (3,553 bytes)   
Session key: 'k7r6ifg33c7p3qqdjf3spmqa8d6ryiz4'
string(3489) "--------------- list_participants ----------------
--------------- $request ----------------
object(Zend_XmlRpc_Request_Http)#2833 (8) {
  ["_headers":protected]=>
  NULL
  ["_xml":protected]=>
  string(711) "<?xml version="1.0" encoding="iso-8859-1"?>
<methodCall>
<methodName>list_participants</methodName>
<params>
 <param>
  <value>
   <string>k7r6ifg33c7p3qqdjf3spmqa8d6ryiz4</string>
  </value>
 </param>
 <param>
  <value>
   <int>185547</int>
  </value>
 </param>
 <param>
  <value>
   <int>0</int>
  </value>
 </param>
 <param>
  <value>
   <int>50</int>
  </value>
 </param>
 <param>
  <value>
   <boolean>0</boolean>
  </value>
 </param>
 <param>
  <value>
   <boolean>0</boolean>
  </value>
 </param>
 <param>
  <value>
   <struct>
    <member>
     <name>email</name>
     <value>
      <string>kochi@centrum.cz</string>
     </value>
    </member>
   </struct>
  </value>
 </param>
</params>
</methodCall>
"
  ["_encoding":protected]=>
  string(5) "UTF-8"
  ["_method":protected]=>
  string(17) "list_participants"
  ["_params":protected]=>
  array(7) {
    [0]=>
    string(32) "k7r6ifg33c7p3qqdjf3spmqa8d6ryiz4"
    [1]=>
    int(185547)
    [2]=>
    int(0)
    [3]=>
    int(50)
    [4]=>
    bool(false)
    [5]=>
    bool(false)
    [6]=>
    array(1) {
      ["email"]=>
      string(16) "kochi@centrum.cz"
    }
  }
  ["_fault":protected]=>
  NULL
  ["_types":protected]=>
  array(7) {
    [0]=>
    string(6) "string"
    [1]=>
    string(3) "int"
    [2]=>
    string(3) "int"
    [3]=>
    string(3) "int"
    [4]=>
    string(7) "boolean"
    [5]=>
    string(7) "boolean"
    [6]=>
    string(6) "struct"
  }
  ["_xmlRpcParams":protected]=>
  array(0) {
  }
}
--------------- $sigCalled ----------------
array(7) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
  [3]=>
  string(3) "int"
  [4]=>
  string(7) "boolean"
  [5]=>
  string(7) "boolean"
  [6]=>
  string(6) "struct"
}
--------------- $sigParams ----------------
array(2) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
}
array(3) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
}
array(4) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
  [3]=>
  string(3) "int"
}
array(5) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
  [3]=>
  string(3) "int"
  [4]=>
  string(7) "boolean"
}
array(6) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
  [3]=>
  string(3) "int"
  [4]=>
  string(7) "boolean"
  [5]=>
  string(7) "boolean"
}
array(7) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
  [3]=>
  string(3) "int"
  [4]=>
  string(7) "boolean"
  [5]=>
  string(7) "boolean"
  [6]=>
  string(5) "array"
}
array(6) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
  [3]=>
  string(3) "int"
  [4]=>
  string(7) "boolean"
  [5]=>
  string(5) "array"
}
array(7) {
  [0]=>
  string(6) "string"
  [1]=>
  string(3) "int"
  [2]=>
  string(3) "int"
  [3]=>
  string(3) "int"
  [4]=>
  string(7) "boolean"
  [5]=>
  string(5) "array"
  [6]=>
  string(5) "array"
}
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse><fault><value><struct><member><name>faultCode</name><value><int>623</int></value></member><member><name>faultString</name><value><string>Calling parameters do not match signature</string></value></member></struct></value></fault></methodResponse>"
struct.txt (3,553 bytes)   
Bug heat2
Complete LimeSurvey version number (& build)Verze 2.06+ Build 151018
I will donate to the project if issue is resolvedNo
BrowserN/A
Database type & versionmysqld Ver 5.5.46-0+deb7u1-log
Server OS (if known)Debian
Webserver software & version (if known)lighttpd/1.4.31
PHP VersionPHP 5.4.45-0+deb7u2, Zend Engine v2.4.0,

Users monitoring this issue

There are no users monitoring this issue.

Activities

kochi

kochi

2015-10-31 21:14

reporter   ~33472

Attached files:
struce.txt - before fix
array.txt - after fix https://github.com/LimeSurvey/LimeSurvey/commit/7bc5e95ab1fd7ce0da791560e8e8d48b0d2c53d8

kochi

kochi

2015-11-17 21:37

reporter   ~33578

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=16284

Related Changesets

LimeSurvey: master 22d4b190

2015-11-02 18:43:24

kochi

Details Diff
Fixed issue 10008: Array/struct parameter in remote control function - list_participants
dev: $aConditions parameter can be struct type in remote control function - list_participants
dev: valid response if it is a Zend_XmlRpc_Server_Fault
Affected Issues
10008
mod - application/controllers/admin/remotecontrol.php Diff File

Issue History

Date Modified Username Field Change
2015-10-31 21:03 kochi New Issue
2015-10-31 21:03 kochi File Added: array.txt
2015-10-31 21:03 kochi File Added: struct.txt
2015-10-31 21:14 kochi Note Added: 33472
2015-11-17 21:37 kochi Changeset attached => LimeSurvey master 22d4b190
2015-11-17 21:37 kochi Note Added: 33578
2015-11-17 21:37 kochi Assigned To => kochi
2015-11-17 21:37 kochi Resolution open => fixed
2015-12-04 12:46 c_schmitz Status new => closed
2015-12-04 12:46 c_schmitz Assigned To kochi =>
2015-12-04 12:46 c_schmitz Fixed in Version => 2.06+