#48182 [Asn->Csd]: ssl handshake fails during asynchronous socket connection
| From: | srinatar@php.net | Date: | Tue, 28 Jul 2009 19:34:16 +0000 |
| Subject: | #48182 [Asn->Csd]: ssl handshake fails during asynchronous socket connection | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-140387@lists.php.net to get a copy of this message | ||
ID: 48182
Updated by: srinatar@php.net
Reported By: frase at cs dot wisc dot edu
-Status: Assigned
+Status: Closed
Bug Type: OpenSSL related
Operating System: *
PHP Version: 5.2.10, 5.3.0
-Assigned To: pajoye
+Assigned To: srinatar
New Comment:
This bug has been fixed in SVN.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
Thank you for the report, and for helping us make PHP better.
Committed revision 286465.
Previous Comments:
------------------------------------------------------------------------
[2009-07-10 13:38:01] frase at cs dot wisc dot edu
The supplied patch does fix the problem in 5.3.0 on Linux; I have no
Windows build environment so I can't test it there but can't see why it
wouldn't also work. Since the patch was to OpenSSL I've changed the
category back.
Many thanks!
------------------------------------------------------------------------
[2009-07-09 21:53:03] sriram dot natarajan at gmail dot com
better still, here is the patch (more readable format)
http://pastebin.org/805
------------------------------------------------------------------------
[2009-07-09 21:47:44] sriram dot natarajan at gmail dot com
thanks for your patience.
here is a patch that should address your issue. to apply this patch,
save the above text into a file and run
--- ext/openssl/xp_ssl.c.ORIG Thu Jul 9 12:20:44 2009
+++ ext/openssl/xp_ssl.c Thu Jul 9 12:29:18 2009
@@ -672,7 +672,11 @@
* we notice that the connect
has actually been established */
php_stream_socket_ops.set_option(stream, option, value, ptrparam
TSRMLS_CC);
- if (xparam->outputs.returncode
== 0 && sslsock->enable_on_connect) {
+ if
((sslsock->enable_on_connect) &&
+
((xparam->outputs.returncode == 0) ||
+ (xparam->op ==
STREAM_XPORT_OP_CONNECT_ASYNC && xparam->outputs.returncode == 1 &&
+
xparam->outputs.error_code == EINPROGRESS)))
+ {
if
(php_stream_xport_crypto_setup(stream, sslsock->method, NULL TSRMLS_CC)
< 0 ||
php_stream_xport_crypto_enable(stream, 1 TSRMLS_CC) < 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Failed to enable crypto");
- download and unzip the latest php 5.3snapshot from
http://snaps.php.net
- cd <php-workspace> ; patch -p0 -d . < <filename>
now, you can run make and should be able to test it.
i will wait for some one to review this patch . hopefully, should
happen before next release :-)
------------------------------------------------------------------------
[2009-07-01 16:28:14] frase at cs dot wisc dot edu
This bug remains also in 5.2.10.
Let's try a new summary and changing the category to "Sockets", maybe
it will get someone's attention.
------------------------------------------------------------------------
[2009-06-30 14:28:01] frase at cs dot wisc dot edu
This bug remains in 5.3.0 final.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/48182
--
Edit this bug report at http://bugs.php.net/?id=48182&edit=1