Skip to content

Commit 30be110

Browse files
committed
Merge branch 'PHP-7.1'
2 parents 065b370 + 314ef0f commit 30be110

File tree

4 files changed

+19
-0
lines changed

4 files changed

+19
-0
lines changed

ext/pdo_mysql/mysql_driver.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -735,6 +735,18 @@ static int pdo_mysql_handle_factory(pdo_dbh_t *dbh, zval *driver_options)
735735
}
736736
}
737737
#endif
738+
739+
#ifdef PDO_USE_MYSQLND
740+
{
741+
zend_long ssl_verify_cert = pdo_attr_lval(driver_options,
742+
PDO_MYSQL_ATTR_SSL_VERIFY_SERVER_CERT, -1);
743+
if (ssl_verify_cert != -1) {
744+
connect_opts |= ssl_verify_cert ?
745+
CLIENT_SSL_VERIFY_SERVER_CERT:
746+
CLIENT_SSL_DONT_VERIFY_SERVER_CERT;
747+
}
748+
}
749+
#endif
738750
}
739751

740752
#ifdef PDO_MYSQL_HAS_CHARSET

ext/pdo_mysql/pdo_mysql.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,9 @@ static PHP_MINIT_FUNCTION(pdo_mysql)
130130
REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SERVER_PUBLIC_KEY", (zend_long)PDO_MYSQL_ATTR_SERVER_PUBLIC_KEY);
131131
#endif
132132
REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_MULTI_STATEMENTS", (zend_long)PDO_MYSQL_ATTR_MULTI_STATEMENTS);
133+
#ifdef PDO_USE_MYSQLND
134+
REGISTER_PDO_CLASS_CONST_LONG("MYSQL_ATTR_SSL_VERIFY_SERVER_CERT", (zend_long)PDO_MYSQL_ATTR_SSL_VERIFY_SERVER_CERT);
135+
#endif
133136

134137
#ifdef PDO_USE_MYSQLND
135138
mysqlnd_reverse_api_register_api(&pdo_mysql_reverse_api);

ext/pdo_mysql/php_pdo_mysql_int.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,9 @@ enum {
179179
PDO_MYSQL_ATTR_SERVER_PUBLIC_KEY,
180180
#endif
181181
PDO_MYSQL_ATTR_MULTI_STATEMENTS,
182+
#ifdef PDO_USE_MYSQLND
183+
PDO_MYSQL_ATTR_SSL_VERIFY_SERVER_CERT,
184+
#endif
182185
};
183186

184187
#endif

ext/pdo_mysql/tests/pdo_mysql_class_constants.phpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ if (!extension_loaded('mysqli') && !extension_loaded('mysqlnd')) {
2727
"MYSQL_ATTR_SSL_CIPHER" => true,
2828
"MYSQL_ATTR_COMPRESS" => true,
2929
"MYSQL_ATTR_MULTI_STATEMENTS" => true,
30+
"MYSQL_ATTR_SSL_VERIFY_SERVER_CERT" => true,
3031
);
3132

3233
if (!MySQLPDOTest::isPDOMySQLnd()) {

0 commit comments

Comments
 (0)