sesser Sun Sep 8 15:11:08 2002 EDT Modified files: /php4/ext/standard ftp_fopen_wrapper.c Log: Control connection gets closed in ssl mode now, too. Index: php4/ext/standard/ftp_fopen_wrapper.c diff -u php4/ext/standard/ftp_fopen_wrapper.c:1.28 php4/ext/standard/ftp_fopen_wrapper.c:1.29 --- php4/ext/standard/ftp_fopen_wrapper.c:1.28 Sun Sep 8 12:45:32 2002 +++ php4/ext/standard/ftp_fopen_wrapper.c Sun Sep 8 15:11:07 2002 @@ -17,7 +17,7 @@ | Hartmut Holzgraefe <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: ftp_fopen_wrapper.c,v 1.28 2002/09/08 16:45:32 sesser Exp $ */ +/* $Id: ftp_fopen_wrapper.c,v 1.29 2002/09/08 19:11:07 sesser Exp $ */ #include "php.h" #include "php_globals.h" @@ -100,9 +100,24 @@ } +static int php_stream_ftp_stream_close(php_stream_wrapper *wrapper, + php_stream *stream + TSRMLS_DC) +{ + php_stream *controlstream = (php_stream *)stream->wrapperdata; + + if (controlstream) { + php_stream_write_string(controlstream, "QUIT\r\n"); + php_stream_close(controlstream); + stream->wrapperdata = NULL; + } + return 0; +} + + static php_stream_wrapper_ops ftp_stream_wops = { php_stream_url_wrap_ftp, - NULL, /* stream_close */ + php_stream_ftp_stream_close, /* stream_close */ php_stream_ftp_stream_stat, NULL, /* stat_url */ NULL /* opendir */ @@ -373,12 +388,16 @@ if (!use_ssl) { php_stream_write_string(stream, "QUIT\r\n"); php_stream_close(stream); + stream = NULL; } /* open the data channel */ datastream = php_stream_sock_open_host(resource->host, portno, SOCK_STREAM, 0, 0); if (datastream == NULL) goto errexit; + + /* remember control stream */ + datastream->wrapperdata = (zval *)stream; php_stream_context_set(datastream, context); php_stream_notify_progress_init(context, 0, file_size); @@ -389,7 +408,6 @@ datastream = NULL; goto errexit; } - php_url_free(resource); return datastream;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php