summaryrefslogtreecommitdiffstats
path: root/system/database/drivers/mysqli/mysqli_driver.php
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2018-08-22 13:23:17 +0200
committerAndrey Andreev <narf@devilix.net>2018-08-22 13:23:17 +0200
commit4ea5cf13ec3f99e6eaedd9c2f1452e6ae173023b (patch)
treed60d829f0e70945f999701d2a7d775ba996b37f7 /system/database/drivers/mysqli/mysqli_driver.php
parent5eda36d42b24ab8cf31bb3d122985612c2858045 (diff)
[ci skip] Fix #5561
Diffstat (limited to 'system/database/drivers/mysqli/mysqli_driver.php')
-rw-r--r--system/database/drivers/mysqli/mysqli_driver.php34
1 files changed, 18 insertions, 16 deletions
diff --git a/system/database/drivers/mysqli/mysqli_driver.php b/system/database/drivers/mysqli/mysqli_driver.php
index 7cec29e9e..6a11b602b 100644
--- a/system/database/drivers/mysqli/mysqli_driver.php
+++ b/system/database/drivers/mysqli/mysqli_driver.php
@@ -167,26 +167,28 @@ class CI_DB_mysqli_driver extends CI_DB {
empty($this->encrypt['ssl_capath']) OR $ssl['capath'] = $this->encrypt['ssl_capath'];
empty($this->encrypt['ssl_cipher']) OR $ssl['cipher'] = $this->encrypt['ssl_cipher'];
- if ( ! empty($ssl))
+ if (isset($this->encrypt['ssl_verify']))
{
- if (isset($this->encrypt['ssl_verify']))
+ $client_flags |= MYSQLI_CLIENT_SSL;
+
+ if ($this->encrypt['ssl_verify'])
+ {
+ defined('MYSQLI_OPT_SSL_VERIFY_SERVER_CERT') && $this->_mysqli->options(MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, TRUE);
+ }
+ // Apparently (when it exists), setting MYSQLI_OPT_SSL_VERIFY_SERVER_CERT
+ // to FALSE didn't do anything, so PHP 5.6.16 introduced yet another
+ // constant ...
+ //
+ // https://secure.php.net/ChangeLog-5.php#5.6.16
+ // https://bugs.php.net/bug.php?id=68344
+ elseif (defined('MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT'))
{
- if ($this->encrypt['ssl_verify'])
- {
- defined('MYSQLI_OPT_SSL_VERIFY_SERVER_CERT') && $this->_mysqli->options(MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, TRUE);
- }
- // Apparently (when it exists), setting MYSQLI_OPT_SSL_VERIFY_SERVER_CERT
- // to FALSE didn't do anything, so PHP 5.6.16 introduced yet another
- // constant ...
- //
- // https://secure.php.net/ChangeLog-5.php#5.6.16
- // https://bugs.php.net/bug.php?id=68344
- elseif (defined('MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT'))
- {
- $client_flags |= MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT;
- }
+ $client_flags |= MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT;
}
+ }
+ if ( ! empty($ssl))
+ {
$client_flags |= MYSQLI_CLIENT_SSL;
$this->_mysqli->ssl_set(
isset($ssl['key']) ? $ssl['key'] : NULL,