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