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

Reply via email to