]> git.joonet.de Git - adminer.git/commitdiff
Check if PDO SSL Attributes are set within config, and only set them in PDO Options...
authorgrass@dionera.com <grass@dionera.com>
Fri, 5 Apr 2019 08:34:21 +0000 (10:34 +0200)
committerJakub Vrana <jakub@vrana.cz>
Sun, 14 Jul 2019 17:20:13 +0000 (19:20 +0200)
adminer/drivers/mysql.inc.php

index 4dc0cc19e95645c60ef6e5b9e94026ea259d9e82..4d704fc55c0616da06274025f1751ae47b21c33b 100644 (file)
@@ -238,11 +238,15 @@ if (!defined("DRIVER")) {
                                $options = array(PDO::MYSQL_ATTR_LOCAL_INFILE => false);
                                $ssl = $adminer->connectSsl();
                                if ($ssl) {
-                                       $options += array(
-                                               PDO::MYSQL_ATTR_SSL_KEY => $ssl['key'],
-                                               PDO::MYSQL_ATTR_SSL_CERT => $ssl['cert'],
-                                               PDO::MYSQL_ATTR_SSL_CA => $ssl['ca'],
-                                       );
+                                       if (!empty($ssl['key'])) {
+                                               $options[PDO::MYSQL_ATTR_SSL_KEY] = $ssl['key'];
+                                       }
+                                       if (!empty($ssl['cert'])) {
+                                               $options[PDO::MYSQL_ATTR_SSL_CERT] = $ssl['cert'];
+                                       }
+                                       if (!empty($ssl['ca'])) {
+                                               $options[PDO::MYSQL_ATTR_SSL_CA] = $ssl['ca'];
+                                       }
                                }
                                $this->dsn(
                                        "mysql:charset=utf8;host=" . str_replace(":", ";unix_socket=", preg_replace('~:(\d)~', ';port=\1', $server)),