mirror of
https://github.com/php/php-src.git
synced 2026-04-22 07:28:09 +02:00
SOAP message must not contain a Document Type Declaration
This commit is contained in:
@@ -24,6 +24,10 @@ int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunction
|
||||
add_soap_fault(this_ptr, "SOAP-ENV:Client", "looks like we got no XML document", NULL, NULL TSRMLS_CC);
|
||||
return FALSE;
|
||||
}
|
||||
if (xmlGetIntSubset(response) != NULL) {
|
||||
add_soap_fault(this_ptr, "SOAP-ENV:Client", "DTD are not supported by SOAP", NULL, NULL TSRMLS_CC);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Get <Envelope> element */
|
||||
env = NULL;
|
||||
|
||||
@@ -1051,6 +1051,9 @@ PHP_METHOD(soapserver, handle)
|
||||
if (doc_request == NULL) {
|
||||
php_error(E_ERROR, "Bad Request");
|
||||
}
|
||||
if (xmlGetIntSubset(doc_request) != NULL) {
|
||||
php_error(E_ERROR,"DTD are not supported by SOAP");
|
||||
}
|
||||
|
||||
SOAP_GLOBAL(sdl) = service->sdl;
|
||||
deseralize_function_call(service->sdl, doc_request, &function_name, &num_params, ¶ms, &soap_version TSRMLS_CC);
|
||||
|
||||
Reference in New Issue
Block a user