php-src/ext/soap
Niels Dossche 63e0b9ccbf
Fix #49169: SoapServer calls wrong function, although "SOAP action" header is correct
Although the original reproducer no longer exists, I was able to cook up
something similar.
The problem is that there are two ways ext-soap currently looks up
functions:
1) By matching the exact function name; but this doesn't work if the
   function name is not in the body.
2) By matching the parameter names.

Neither of these work when we don't have the function name in the body,
and when the parameter names are not unique. That's where we can use the
"SOAPAction" header to distinguish between different actions. This header
should be checked first and be matched against the "soapAction"
attribute in the WSDL. We keep the existing fallbacks such that the
chance of a BC break is minimized.
Note that since #49169 a potential target namespace is ignored right
now.

Closes GH-15970.
2024-09-30 20:14:34 +02:00
..
tests Fix #49169: SoapServer calls wrong function, although "SOAP action" header is correct 2024-09-30 20:14:34 +02:00
config.m4 Add date extension to dependencies (#15475) 2024-08-18 16:47:57 +02:00
config.w32 Add date extension to dependencies (#15475) 2024-08-18 16:47:57 +02:00
CREDITS
php_encoding.c Merge branch 'PHP-8.3' 2024-09-16 20:51:34 +02:00
php_encoding.h Merge branch 'PHP-8.3' 2024-08-07 10:04:58 +02:00
php_http.c Merge branch 'PHP-8.3' 2024-09-10 20:24:57 +02:00
php_http.h Update http->https in license (#6945) 2021-05-06 12:16:35 +02:00
php_packet_soap.c ext/soap: Use bool as return type instead of int for parse_packet_soap() 2024-06-19 02:20:34 +01:00
php_packet_soap.h ext/soap: Use bool as return type instead of int for parse_packet_soap() 2024-06-19 02:20:34 +01:00
php_schema.c Avoid copying the local name in SOAP's parse_namespace() (#15862) 2024-09-12 22:41:45 +02:00
php_schema.h Deduplicate URI building code in soap schema code (#15799) 2024-09-09 19:44:09 +02:00
php_sdl.c Avoid copying the local name in SOAP's parse_namespace() (#15862) 2024-09-12 22:41:45 +02:00
php_sdl.h Struct-pack some soap datatypes (#14403) 2024-06-01 14:11:45 +02:00
php_soap.h Implement request #47317: SoapServer::__getLastResponse() 2024-09-09 20:07:29 +02:00
php_xml.c Avoid copying the local name in SOAP's parse_namespace() (#15862) 2024-09-12 22:41:45 +02:00
php_xml.h Avoid copying the local name in SOAP's parse_namespace() (#15862) 2024-09-12 22:41:45 +02:00
soap.c Fix #49169: SoapServer calls wrong function, although "SOAP action" header is correct 2024-09-30 20:14:34 +02:00
soap.stub.php Implement request #47317: SoapServer::__getLastResponse() 2024-09-09 20:07:29 +02:00
soap_arginfo.h Generated arginfo header files: use known strings for prop names when… (#15751) 2024-09-30 13:22:34 +02:00