mirror of
https://github.com/php/php-src.git
synced 2025-08-18 15:08:55 +02:00
MFB: Fixed bug #39039 (SSL: fatal protocol error when fetching HTTPS from
servers running Google web server).
This commit is contained in:
parent
e448be3c28
commit
af3fade033
1 changed files with 4 additions and 1 deletions
|
@ -57,17 +57,20 @@ php_stream_ops php_openssl_socket_ops;
|
||||||
* in an error condition arising from a network connection problem */
|
* in an error condition arising from a network connection problem */
|
||||||
static int is_http_stream_talking_to_iis(php_stream *stream TSRMLS_DC)
|
static int is_http_stream_talking_to_iis(php_stream *stream TSRMLS_DC)
|
||||||
{
|
{
|
||||||
if (stream->wrapperdata && stream->wrapper && strcmp(stream->wrapper->wops->label, "HTTP") == 0) {
|
if (stream->wrapperdata && stream->wrapper && strcasecmp(stream->wrapper->wops->label, "HTTP") == 0) {
|
||||||
/* the wrapperdata is an array zval containing the headers */
|
/* the wrapperdata is an array zval containing the headers */
|
||||||
zval **tmp;
|
zval **tmp;
|
||||||
|
|
||||||
#define SERVER_MICROSOFT_IIS "Server: Microsoft-IIS"
|
#define SERVER_MICROSOFT_IIS "Server: Microsoft-IIS"
|
||||||
|
#define SERVER_GOOGLE "Server: GFE/"
|
||||||
|
|
||||||
zend_hash_internal_pointer_reset(Z_ARRVAL_P(stream->wrapperdata));
|
zend_hash_internal_pointer_reset(Z_ARRVAL_P(stream->wrapperdata));
|
||||||
while (SUCCESS == zend_hash_get_current_data(Z_ARRVAL_P(stream->wrapperdata), (void**)&tmp)) {
|
while (SUCCESS == zend_hash_get_current_data(Z_ARRVAL_P(stream->wrapperdata), (void**)&tmp)) {
|
||||||
|
|
||||||
if (strncasecmp(Z_STRVAL_PP(tmp), SERVER_MICROSOFT_IIS, sizeof(SERVER_MICROSOFT_IIS)-1) == 0) {
|
if (strncasecmp(Z_STRVAL_PP(tmp), SERVER_MICROSOFT_IIS, sizeof(SERVER_MICROSOFT_IIS)-1) == 0) {
|
||||||
return 1;
|
return 1;
|
||||||
|
} else if (strncasecmp(Z_STRVAL_PP(tmp), SERVER_GOOGLE, sizeof(SERVER_GOOGLE)-1) == 0) {
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
zend_hash_move_forward(Z_ARRVAL_P(stream->wrapperdata));
|
zend_hash_move_forward(Z_ARRVAL_P(stream->wrapperdata));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue