ID: 23220 Comment by: ddwyer at starband dot net Reported By: storozhilov at mail dot ru Status: Assigned Bug Type: Filesystem function related Operating System: FreeBSD 4.8 PHP Version: 4-STABLE-200307070330 Assigned To: wez New Comment:
Similar bug in PHP Win32 5.0B2 Previous Comments: ------------------------------------------------------------------------ [2003-10-26 14:41:20] [EMAIL PROTECTED] Re-opening at user request. Users comments that have mysteriously vanished are: =================================================== 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'. ------------------------------------------------------------------------ [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-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); ------------------------------------------------------------------------ [2003-04-15 01:52:09] storozhilov at mail dot ru <?php $fd = fsockopen( 'ssl://www.somehost.com', 443, $errno, $errstr, 30 ); fputs($fd, "GET / HTTP/1.0\r\n\r\n"); while (!feof($fd)) { echo fgets($fd, 1024); ); ?> After executing of this script following message appears: Warning: fgets() [function.fgets]: SSL: fatal protocol error in /blah/blah/blah/blah.php on line NN PHP was configured with following arguments: #!/bin/sh ./configure --with-apache=../apache_1.3.27rusPL30.17 --with-mod_charset --with-pgsql=/usr/local/pgsql --with-mhash --with-sybase=/usr/local --with-openssl ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=23220&edit=1