Bug #55848 [Com]: mysqlnd + ssl failure

From: Date: Wed, 05 Oct 2011 18:06:12 +0000
Subject: Bug #55848 [Com]: mysqlnd + ssl failure
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-164107@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=55848&edit=1

 ID:                 55848
 Comment by:         mattficken@php.net
 Reported by:        mattficken@php.net
 Summary:            mysqlnd + ssl failure
 Status:             Open
 Type:               Bug
 Package:            MySQLi related
 Operating System:   Windows
 PHP Version:        5.4.0beta1
 Block user comment: N
 Private report:     N

 New Comment:

I have tried 54 snapshot r317753 and it fails just like 5.4.0beta1


Previous Comments:
------------------------------------------------------------------------
[2011-10-05 05:20:30] pajoye@php.net

Automatic comment from SVN on behalf of pajoye
Revision: http://svn.php.net/viewvc/?view=revision&revision=317753
Log: - Revert r313616 (When we have a blocking SSL socket, respect the timeout
  option, scottmac)

# This caused bug #55283 and #55848, we should investigate a proper solution without
# breaking anything.

------------------------------------------------------------------------
[2011-10-04 19:44:03] mattficken@php.net

Description:
------------
I have setup an mysql 5.5 server with SSL support. I can access it over SSL using the Mysql CLI
client. During my testing, I didn’t change the server configuration or restart the server.

I am testing mysqlnd and php5.4.0b1 on both Windows and Linux (x64) through mysqli and PDO-mysql.

Mysqlnd over SSL fails  with php 5.4.0b1 on both Windows and Linux, though it fails differently
(possibly two different problems). Mysqlnd works fine over TCP with 5.4.0b1 on both Windows and
Linux. 

It works on php 5.3.8 on both Windows and Linux over both TCP and SSL.

I have attached packet captures, error messages and my test script.  I haven’t run any PHPT
mysql tests over SSL as my test script (which just tries to connect and run a simple query) always
fails.

On PHP 5.4.0b1, Windows displays error messages. Warning messages about stream not supporting
SSL/Crypto are wrong (socket does support SSL crypto, mysqlnd messes up handshake).

On PHP 5.4.0b1, Linux hangs on mysqli_real_connect. From plaintext part of packet capture, it looks
proper.



Test script:
---------------
<?php

$pdo = new PDO(
    'mysql:host=10.200.51.57;dbname=mysql',
    'root',
    'password01!',
    array(
        PDO::MYSQL_ATTR_SSL_KEY   =>'client-key.pem',
        PDO::MYSQL_ATTR_SSL_CERT  =>'client-cert.pem',
        PDO::MYSQL_ATTR_SSL_CA    =>'ca-cert.pem'
    )
);
var_dump($pdo);

$pdo->query("SHOW TABLES");

?>

Actual result:
--------------
PHP Warning:  PDO::__construct(): this stream does not support SSL/crypto in C:\
Users\Administrator\Desktop\mysql_ssl_test.php on line 31

Warning: PDO::__construct(): this stream does not support SSL/crypto in C:\Users
\Administrator\Desktop\mysql_ssl_test.php on line 31
PHP Warning:  PDO::__construct(): Cannot connect to MySQL by using SSL in C:\Use
rs\Administrator\Desktop\mysql_ssl_test.php on line 31

Warning: PDO::__construct(): Cannot connect to MySQL by using SSL in C:\Users\Ad
ministrator\Desktop\mysql_ssl_test.php on line 31
NULL
PHP Fatal error:  Call to a member function query() on a non-object in C:\Users\
Administrator\Desktop\mysql_ssl_test.php on line 34

Fatal error: Call to a member function query() on a non-object in C:\Users\Admin
istrator\Desktop\mysql_ssl_test.php on line 34



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



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


Thread (10 messages)

« previous php.bugs (#164107) next »