Bug #55283 [Opn]: SSL options set by mysqli_ssl_set ignored for MySQLi persistent connections

From: Date: Tue, 26 Jul 2011 00:25:00 +0000
Subject: Bug #55283 [Opn]: SSL options set by mysqli_ssl_set ignored for MySQLi persistent connections
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-162171@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=55283&edit=1

 ID:                 55283
 User updated by:    aleksey at wepay dot com
 Reported by:        aleksey at wepay dot com
 Summary:            SSL options set by mysqli_ssl_set ignored for MySQLi
                     persistent connections
 Status:             Open
 Type:               Bug
 Package:            MySQLi related
 Operating System:   Cent OS
 PHP Version:        5.3.6
 Block user comment: N
 Private report:     N

 New Comment:

Please note that while the example shows the problem with the cipher, all other parameters are also
ignored. In particular, ssl cert info is critical.


Previous Comments:
------------------------------------------------------------------------
[2011-07-26 00:20:58] aleksey at wepay dot com

Description:
------------
The MySQLi ignores SSL options set with mysqli_ssl_set() for persistent connections (works fine for
non-persistent connections).

To reproduce:
1) Configure MySQL server with SSL support
(http://dev.mysql.com/doc/refman/5.0/en/secure-connections.html)
2) Run the attached test script



Test script:
---------------
<?
$host  = 'localhost';
$user  = 'root';
$pass  = '';
$db    = null;
$port  = 3306;
$flags = MYSQLI_CLIENT_SSL;

/* persistent connection */
$link = mysqli_init();
mysqli_ssl_set($link, null, null, null, null, "RC4-MD5");
if (mysqli_real_connect($link, 'p:' . $host, $user, $pass, $db, $port, null, $flags)) {
	$r = $link->query("SHOW STATUS LIKE 'Ssl_cipher'");
    var_dump($r->fetch_row());
}

/* non-persistent connection */
$link = mysqli_init();
mysqli_ssl_set($link, null, null, null, null, "RC4-MD5");
if (mysqli_real_connect($link, $host, $user, $pass, $db, $port, null, $flags)) {
	$r = $link->query("SHOW STATUS LIKE 'Ssl_cipher'");
    var_dump($r->fetch_row());
}


Expected result:
----------------
array(2) {
  [0]=>
  string(10) "Ssl_cipher"
  [1]=>
  string(18) "RC4-MD5"
}
array(2) {
  [0]=>
  string(10) "Ssl_cipher"
  [1]=>
  string(7) "RC4-MD5"
}


Actual result:
--------------
array(2) {
  [0]=>
  string(10) "Ssl_cipher"
  [1]=>
  string(18) "DHE-RSA-AES256-SHA"
}
array(2) {
  [0]=>
  string(10) "Ssl_cipher"
  [1]=>
  string(7) "RC4-MD5"
}



------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=55283&edit=1


Thread (13 messages)

« previous php.bugs (#162171) next »