no need to call anymore $client->setSSLVerifyHost(2) to silence a curl warning when...
authorgggeek <giunta.gaetano@gmail.com>
Sun, 7 Dec 2014 20:35:01 +0000 (20:35 +0000)
committergggeek <giunta.gaetano@gmail.com>
Sun, 7 Dec 2014 20:35:01 +0000 (20:35 +0000)
ChangeLog
NEWS
lib/xmlrpc.inc

index 18e2b56..cd95a9f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+NB: All recent commits are available online.\r
+This file will not be updated further.\r
+See https://github.com/gggeek/phpxmlrpc/commits/master\r
+\r
+\r
 2014-02-3 - G. Giunta (giunta.gaetano@gmail.com)\r
 \r
        * bumped up requirements to php 5.1.0\r
        * xmlrpc.inc: added setSSLVerifyPeer and setSSLVerifyHost; as\r
        of curl 7.10, various certificate checks are done (by default).\r
        The default for CURLOPT_SSL_VERIFYHOST is to ensure the common\r
-       name on the cert matches the provided hostname.  This breaks a\r
+       name on the cert matches the provided hostname. This breaks a\r
        lot of stuff, so allow users to override it.\r
        * doc/xmlrpc_php.sgml: updated documentation accordingly.\r
 \r
diff --git a/NEWS b/NEWS
index 1e71f97..195b6a3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,8 @@ XML-RPC for PHP version 3.0.1 - 201X/Y/Z
 \r
 Taking baby steps to modern-world php, this release is now tested using Travis ( https://travis-ci.org/ ).\r
 \r
+Improved: no need to call anymore $client->setSSLVerifyHost(2) to silence a curl warning when using https with recent curl builds\r
+\r
 \r
 XML-RPC for PHP version 3.0.0 - 2014/6/15\r
 \r
index ea775f8..e5be7f7 100644 (file)
                                {\r
                                        curl_setopt($curl, CURLOPT_SSLKEYPASSWD, $keypass);\r
                                }\r
+\r
+                // Upgrade transparently to more stringent check for versions of php which do not support otherwise.\r
+                // Doing it in constructor would be cleaner; doing it here saves us a couple of function calls\r
+                if($this->verifyhost == 1 && $info = curl_version() && version_compare($info['version'], '7.28.1') >= 0)\r
+                {\r
+                    $this->verifyhost = 2;\r
+                }\r
                                // whether to verify cert's common name (CN); 0 for no, 1 to verify that it exists, and 2 to verify that it matches the hostname used\r
                                curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, $this->verifyhost);\r
                        }\r