]> granicus.if.org Git - php/commitdiff
MFB: Fixed bug #46386 (Digest authentication with SOAP module fails against
authorIlia Alshanetsky <iliaa@php.net>
Wed, 3 Jun 2009 12:41:46 +0000 (12:41 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Wed, 3 Jun 2009 12:41:46 +0000 (12:41 +0000)
MSSQL SOAP services)

NEWS
ext/soap/php_http.c

diff --git a/NEWS b/NEWS
index 4b672b0750bb694cdb055f181fd4019dd61d998b..d18c03d9f33a2b2d000d8cd9a44190c768a6db76 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -19,6 +19,8 @@
 - Fixed bug #48273 (snmp*_real_walk() returns SNMP errors as values).
   (Ilia, lytboris at gmail dot com)
 - Fixed bug #48247 (Crash on errors during startup). (Stas)
+- Fixed bug #46386 (Digest authentication with SOAP module fails against MSSQL 
+  SOAP services). (Ilia, lordelph at gmail dot com)
 - Fixed bug #42143 (The constant NAN is reported as 0 on Windows)
   (Kanwaljeet Singla, Venkat Raman Don)
 
index 4ff4ed9577d7c67b00a98be757f0f0705298b09f..17c72a7fb3d87600b17f68b50a83967bb7c72dc4 100644 (file)
@@ -614,6 +614,11 @@ try_again:
                                                smart_str_append_const(&soap_headers, "\", opaque=\"");
                                                smart_str_appendl(&soap_headers, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
                                        }
+                                       if (zend_hash_find(Z_ARRVAL_PP(digest), "algorithm", sizeof("algorithm"), (void **)&tmp) == SUCCESS &&
+                                               Z_TYPE_PP(tmp) == IS_STRING) {
+                                               smart_str_append_const(&soap_headers, "\", algorithm=\"");
+                                               smart_str_appendl(&soap_headers, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp));
+                                       }
                                        smart_str_append_const(&soap_headers, "\"\r\n");
                                }
                        } else {