ID: 23220 Comment by: info at splendense dot nl Reported By: storozhilov at mail dot ru Status: No Feedback Bug Type: Filesystem function related Operating System: FreeBSD 4.8 PHP Version: 4-STABLE-200307070330 Assigned To: wez New Comment:
See the code below to verify , I'm not able to alter php versions since it's hosted with my ISP so please test it with the latest version so it can be closed as being fixed or further investigation needed. <?php $method = "ssl://"; $host = "memberservices.passport.net"; $port = 443; $url = "/"; $file = fsockopen($method.$host,$port,$errno,$errstr,30); if(!$file) { print ("error"); exit; } fputs($file,"GET ".$url." HTTP/1.1\r\n"); fputs($file,"Host: ".$host."\r\n"); fputs($file,"Connection: Keep-Alive\r\n"); fputs($file,"Cache-Control: no-cache\r\n\r\n"); while(!feof($file)) { $output = fgets ($file, 1024); } fclose($file); ?> output: PHP Warning: fgets(): SSL: fatal protocol error in /path.to/test_ssl.php on line 18 Please put the bug to 'open'. Previous Comments: ------------------------------------------------------------------------ [2003-10-14 20:32:14] [EMAIL PROTECTED] No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Open". Thank you. ------------------------------------------------------------------------ [2003-10-08 07:30:39] [EMAIL PROTECTED] Could you try the next stable snapshot (due in a few minutes)? I comitted a fix for a different bug that might make a difference to this one. If it hasn't fixed it, could you post an https:// URL that reproduces the problem, so that I can investigate further? ------------------------------------------------------------------------ [2003-09-24 11:36:55] chris dot edwards at obinet dot com Getting the exact same error. Same OS, same version of PHP. Changing the length of the string offered no changes. I still get: SSL: fatal protocol error I'm getting this for fread() and fgets(). ------------------------------------------------------------------------ [2003-08-21 20:25:22] info at splendense dot nl Using '$buff = fgets ($f, 355);' does not give any error, however 356 does for me (php 4.3.2 solaris). My script seems to work fine but maybe a response string greater than 355 chars will not work?!? ------------------------------------------------------------------------ [2003-08-21 20:18:33] scottm at spamcop dot net I've not verified this patch will work and I'll hopefully test it tomorrow. I believe it is reaching the end of the file and nr_bytes is returning 0 and this is being caught by an if statement which should be looking for -1. --- network.c Thu Aug 21 21:06:43 2003 +++ network.c.patched Thu Aug 21 21:13:09 2003 @@ -1011,13 +1011,14 @@ do { nr_bytes = SSL_read(sock->ssl_handle, buf, count); - if (nr_bytes <= 0) { + if (nr_bytes < 0) { retry = handle_ssl_error(stream, nr_bytes TSRMLS_CC); if (retry == 0 && !SSL_pending(sock->ssl_handle)) { stream->eof = 1; } } else { - /* we got the data */ + /* we got the data */ + stream->eof = 1; break; } } while (retry); ------------------------------------------------------------------------ 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/23220 -- Edit this bug report at http://bugs.php.net/?id=23220&edit=1