Commit Graph

255 Commits

Author SHA1 Message Date
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
Ilia Alshanetsky
b36d4ae02c Added bindto socket context option. 2005-06-14 02:39:42 +00:00
Ilia Alshanetsky
fed3058fba Fixed compiler warning on win32. 2005-03-17 17:16:43 +00:00
Ilia Alshanetsky
ff80321587 Final set of fixes for bug #27633.
# Many thanks to Edin for helpind analyze and resolve this bug.
2005-03-10 23:37:45 +00:00
Ilia Alshanetsky
21ff96859e Fixes to ascii downloads on win32. 2005-03-09 20:52:38 +00:00
Ilia Alshanetsky
f2eb0acfcf Fixed bug #27633 (Double \r\r problem on ftp_get in ASCII mode on Win32). 2005-02-17 15:37:24 +00:00
Ilia Alshanetsky
e35adfe522 Fixed bug #30027 (Possible crash inside ftp_get()).
# Patch by cfield at affinitysolutions dot com
2004-10-05 23:53:09 +00:00
Anantha Kesari H Y
5da74deab9 removed unwanted NEW_LIBC checks 2004-09-27 14:29:55 +00:00
Anantha Kesari H Y
e12ea3c30d removed redundant NEW_LIBC check 2004-09-27 14:25:13 +00:00
Wez Furlong
99e290f882 Fix for Bug #24189: possibly unsafe select(2) usage.
We avoid the problem by using poll(2).

On systems without poll(2) (older bsd-ish systems, and win32), we emulate
poll(2) using select(2) and check for valid descriptors before attempting
to access them via the descriptor sets.

If an out-of-range descriptor is detected, an E_WARNING is raised suggesting
that PHP should be recompiled with a larger FD_SETSIZE (and also with a
suggested value).

Most uses of select(2) in the source are to poll a single descriptor, so
a couple of handy wrapper functions have been added to make this easier.

A configure option --enable-fd-setsize has been added to both the unix and
win32 builds; on unix we default to 16384 and on windows we default to 256.
Windows FD_SETSIZE imposes a limit on the maximum number of descriptors that
can be select()ed at once, whereas the unix FD_SETSIZE limit is based on the
highest numbered descriptor; 256 should be plenty for PHP scripts under windows
(the default OS setting is 64).

The win32 specific parts are untested; will do that now.
2004-09-17 12:44:56 +00:00
Ilia Alshanetsky
dbc60edabf Fixed bug #27809 (ftp_systype returns null on some ftp servers). 2004-03-31 20:43:40 +00:00
Hartmut Holzgraefe
eeb172b29f "The Visa to Sibiria" (work in progress)
Adding a package.xml to a bundled extension does not only
ease the transition to PECL whereever suitable but also
allows to build and install an extension as "shared" using
the PEAR installer without having to deal with phpize and
friends by hand
2004-03-23 19:46:10 +00:00
Ilia Alshanetsky
b176ee99d3 Fixed bug #27633 (Incorrect EOL translation by ftp_get() in ASCII mode). 2004-03-18 17:12:07 +00:00
Sara Golemon
85aa47efab Don't rely on ANSI tmpfile(), use the streams layer instead, it'll deal with platform issues. 2004-03-04 22:24:27 +00:00
Ard Biesheuvel
81f05c18f5 Wordsize fixes 2004-02-25 20:16:27 +00:00
Sara Golemon
c23305e184 Avoid use of memcpy(), reply on struct in_addr to be right sized instead 2004-02-21 19:37:37 +00:00
Sara Golemon
4113da3f86 s_addr is always unsigned 32bit, long is not. 2004-02-20 21:05:37 +00:00
foobar
5b59254761 - Fixed bug #26896 (ext/ftp does not work as shared extension) 2004-01-13 18:58:23 +00:00
foobar
ccfc46b0aa - Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Andi Gutmans
dbeb4158d2 - A belated happy holidays and PHP 5 2004-01-08 08:18:22 +00:00
Sara Golemon
d516184885 Fail loudly, silence bogus bugs. 2003-12-16 19:41:26 +00:00
Wez Furlong
bf033aa5a8 Fix ftp build when openssl is built as a shared extension. 2003-12-06 16:12:10 +00:00
Wez Furlong
dbb152b96a Detect and enable IPv6 support under win32.
The ws2tcpip.h header links to IPv6 functions dynamically
and the generated binary will run on win98 and later.
2003-12-06 00:00:31 +00:00
Wez Furlong
05b9b20ed8 Add new (optional!) win32 build infrastructure.
Will follow up to internals@ shortly.
2003-12-02 23:17:04 +00:00
Ilia Alshanetsky
046904f2b1 Fixed bug #26113 (remove leftover local file when ftp_get/ftp_nb_get fails) 2003-11-04 20:56:47 +00:00
Sara Golemon
0a3bc21c5c Manageability 2003-09-18 17:51:55 +00:00
Sara Golemon
c553af47e0 Add ftp_alloc() for servers which require client to predeclare filesize to be sent. 2003-09-18 17:36:08 +00:00
Sara Golemon
4e6672eadd Fix Bug #25294 LIST/NLST can cause segfault because ftp->data not cleaned properly 2003-09-09 21:12:49 +00:00
Sara Golemon
4936234fd8 MFB(r-1.74.2.13) Bug #25314 ASCII mode transfers behaving like binary when initiated from windows. 2003-09-08 22:40:12 +00:00
Ilia Alshanetsky
07f864d06b Make sure that ftp->data is nulled after it's freed. This may fix bug
#25294 & bug #25296.
2003-08-31 21:07:01 +00:00
Ilia Alshanetsky
9d9727aac5 Fixed compiler warnings. 2003-08-28 19:17:34 +00:00
Ilia Alshanetsky
93bcd55eaf emalloc -> safe_emalloc 2003-08-12 00:58:52 +00:00
Zeev Suraski
23f08b9a2f fix another broken prototype 2003-08-07 16:03:17 +00:00
Zeev Suraski
2e869c7cb3 Fix prototype 2003-08-07 16:02:28 +00:00
foobar
3a7ca909be - HAVE_OPENSSL_EXT is not defined always. 2003-06-27 16:41:41 +00:00
Andrey Hristov
eb33adf139 proto fixes 2003-06-15 15:29:46 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Moriyoshi Koizumi
08bf402440 Fixed bug #23683 2003-05-19 13:26:28 +00:00
Sara Golemon
c9651182c6 MFB(r-1.74.2.8) Bug #14369. ftp extension allows circumvention of safe_mode restrictions. HEAD version of this patch uses the simpler open_wrapper approach to applying safe mode restrictions. Also allows writting to/from wrappers this way. 2003-05-17 04:21:57 +00:00
Ilia Alshanetsky
6965f229a6 MFH 2003-04-03 00:55:56 +00:00
Sebastian Bergmann
5ca078779a Eliminate some TSRMLS_FETCH() calls. Tested with Win32 build of SAPI/CGI and SAPI/CLI on Win32. 2003-03-25 08:07:13 +00:00
foobar
d0ac3d0646 Fixed bug #22765 2003-03-18 17:30:32 +00:00
David Hill
4f8ae7b111 fixing missed int to long with zend_parse_parameters 2003-03-10 15:52:10 +00:00
David Hill
5c90216d2c 64-bit correction to variables passed to zend_parse_parameters
@64-bit correction to variables passed to zend_parse_parameters (Dave)
2003-03-06 23:07:28 +00:00
Wez Furlong
349ce76f96 Tidy up stupid signed/unsigned issues with win32 by introducing a php_socket_t typedef. 2003-02-28 21:03:36 +00:00
Wez Furlong
1b53a2d12e New user-space functions:
. stream_socket_client() - similar to fsockopen(), but more powerful.
  . stream_socket_server() - Creates a server socket.
  . stream_socket_accept() - Accept a client connection.
  . stream_socket_get_name() - Get local or remote name of socket.

Tidy up some leaks and debug printfs.
Move more streams functions into streamsfuncs.c and streamsfuncs.h.
2003-02-28 19:53:21 +00:00
foobar
08b5f6b2b9 - No need to include the ssl headers elsewhere but in ext/openssl
# ext/ftp doesn't use streams yet so it needs to include them.
2003-02-28 07:25:15 +00:00
Wez Furlong
0a18a9d744 A add much more useful select(2) implementation than is provided by
windows sockets.  The winsock implementation will only work with sockets;
our implementation works with sockets and file descriptors.
By association, stream_select() will now operate correctly with files, pipes and sockets.

This change required linking against the winsock2 library.  In terms of
compatibility, only older versions of windows 95 do not have winsock2
installed by default.  It is available as a redistributable file, and is most likely installed by any OS patches (eg: Internet Explorer) applied by the user.

Also, add a win32 compatible pipe test when opening a stream from a pipe.  This test will only work on NT, win2k and XP platforms.  Without this test, interleaved fread() and select() calls would cause the read buffer to be clobbered.  I will be working on a fix for this issue for win9x.
2003-02-16 03:48:49 +00:00
Ilia Alshanetsky
c59240d599 CS fixes. 2003-02-14 20:15:11 +00:00
Sara Golemon
a9e1b5f641 MFB(r-1.68.2.5) Bug 22052 2003-02-13 22:20:21 +00:00
Sara Golemon
d1d0d0b71a Bug #22059. ftp_chdir() causes segfault. efree(ftp->pwd) was being called without knowing for certain that ftp->pwd
actually pointed anywhere.
2003-02-13 19:48:49 +00:00
Sara Golemon
81797baed4 Add ftp_raw() to send raw command strings to an FTP server. 2003-01-31 04:54:57 +00:00
Sara Golemon
d0cb097c52 Fix potential buffer overflow. 2003-01-27 19:51:50 +00:00
Sara Golemon
761fa96412 Feature Request #21748. Added function ftp_chmod(). 2003-01-27 02:54:12 +00:00
Ilia Alshanetsky
928c260c57 ZTS cleanup. 2003-01-07 13:02:43 +00:00
Ilia Alshanetsky
f0de896ed2 Fixed ZTS build. 2003-01-07 03:44:12 +00:00
Ilia Alshanetsky
34e868d451 MFB + CS 2003-01-07 02:47:24 +00:00
Anantha Kesari H Y
90ba724072 Modified for NetWare. 2003-01-03 14:24:07 +00:00
Sebastian Bergmann
b506f5c8f8 Bump year. 2002-12-31 16:08:15 +00:00
Derick Rethans
f3d3dd5bc8 - MFB 2002-12-26 23:45:05 +00:00
Ilia Alshanetsky
33de9befa1 Fixed bug #20812, ftp_get returned NULL on success instead of TRUE. 2002-12-06 06:07:40 +00:00
Ilia Alshanetsky
b855893b0c Fixed ZTS build
Fixed 2 ZTS related warnings
2002-10-13 01:40:46 +00:00
Stefan Esser
4368b8e4ac some FTP servers return 32bit port numbers. 2002-10-04 22:20:08 +00:00
Stefan Esser
8fae3d7a49 swapped conditions to correct the logic 2002-10-03 12:16:44 +00:00
Stefan Esser
b220b7113f Added ftp_ssl_connect() for FTP over SSL. 2002-10-03 11:33:05 +00:00
Stefan Esser
8827f8eca9 renamed ftp_async_* into ftp_nb_* 2002-10-03 09:10:24 +00:00
Wez Furlong
0141e97052 Make these all work with persistent streams too. 2002-09-25 15:46:47 +00:00
Wez Furlong
ad4afdf827 fix some warnings. 2002-09-23 14:50:21 +00:00
Anantha Kesari H Y
e75aae81fc Removed unnecessary code that was added for NetWare 2002-09-11 10:28:22 +00:00
Anantha Kesari H Y
77e2ed4834 NetWare related additions/modifications into FTP files 2002-09-05 10:13:27 +00:00
Sebastian Bergmann
e8b50bc834 Fix ZTS build. 2002-08-25 22:17:56 +00:00
Wez Furlong
27adb75585 Remove php_stream_error as discussed with Rasmus.
Unify error messages for ext/ftp. (which was using php_stream_error).
2002-08-25 10:10:23 +00:00
Ilia Alshanetsky
a86b1fc275 Fixed compile warning. 2002-08-21 03:59:27 +00:00
Rasmus Lerdorf
fb0c9122c1 Fix typo 2002-08-13 04:19:25 +00:00
Sebastian Bergmann
9abdbd9c29 Fix warnings. 2002-08-08 18:55:19 +00:00
Stefan Esser
a6cf14ac5c ftp_close returns now TRUE on success and FALSE on failure. 2002-07-30 20:37:59 +00:00
Stefan Esser
70d7184624 Do not leak data connection. 2002-07-27 09:18:51 +00:00
Frank M. Kromann
df0bab2c7b Fizing ZTS build 2002-07-26 22:14:55 +00:00
Stefan Esser
80e9724ccc [EXPERIMENTAL] Added functions for asynchronous FTP transfers 2002-07-26 22:00:25 +00:00
Stefan Esser
55c1b3d35b fixed cut & paste typo 2002-07-26 16:26:55 +00:00
Stefan Esser
c9676ccad7 @- FTP extension does support (auto)resuming now.
Added (Auto)Resuming functionality to ftp_(f)get/(f)put via optional 5th parameter.
2002-07-26 13:03:08 +00:00
Jason Greene
a64eceef59 Switch streams socket abstraction to use a timeval structure instead of an
integer to allow subsecond timeouts.

This supports the previous behavior of fsockopen()
Fixes bug #16261
2002-07-22 18:46:26 +00:00
foobar
c334894a2b ws fix 2002-07-11 20:29:53 +00:00
foobar
4d69e91806 Fix bug: #14052 2002-07-11 02:48:00 +00:00
Derick Rethans
2855b21e1c - Initialize var properly 2002-07-09 21:42:07 +00:00
foobar
b0ed560c95 @- Added optional 3rd parameter 'recursive' to ftp_rawlist() which will
@  do 'LIST -R' instead of 'LIST'. (Jani)
# tested too..and it even works. :)
# (removed that Z_TYPE_P() pollution also..)
2002-07-04 13:48:48 +00:00
Derick Rethans
51dfe5eebe Unify error messages 2002-06-27 06:49:02 +00:00
Markus Fischer
e4d2fa88d7 - Fix #16348. 2002-03-30 01:56:52 +00:00
Vlad Krupin
7139845af9 Fix ftp_size() returning bogus results.
# make sure the server is in BINARY mode before requesting file size.
2002-03-18 22:26:32 +00:00
Wez Furlong
c9d5e13738 TSRMLS related work on streams, as discussed with Zeev.
# Should be the last "broad" commit for a while
# Don't forget to make clean ; make
2002-03-18 18:54:32 +00:00
Wez Furlong
d2d8762267 Streams now make more use of the memory manager, so tracking down
leaking streams should be easier.
# I hate these big commits
2002-03-17 22:50:59 +00:00
Wez Furlong
636829345e Allow php_stream_copy_to_stream to do nothing when used with code
that calculates a max length of zero. (Thanks again Marcus).
2002-03-16 02:48:35 +00:00
Wez Furlong
52982c422e This should help with some build problems/warnings under win32.
Someone still needs to add the streams.c file to the MSVC
project/workspace though (there are so many that I don't really know
what I am doing :-).
2002-03-16 02:33:00 +00:00
Wez Furlong
09213d7bf8 change * formatting 2002-03-16 01:28:57 +00:00
Wez Furlong
0f65280cb5 New PHP streams... 2002-03-15 21:03:08 +00:00
Sascha Schumann
5cba3a99c2 extension converted automatically to PHP_NEW_EXTENSION. Manually confirmed 2002-03-12 16:44:00 +00:00
Jon Parise
822c150636 Correct the header file ordering. From 'man 3 inet' (FreeBSD 4.5):
#include <sys/types.h>
	#include <sys/socket.h>
	#include <netinet/in.h>
	#include <arpa/inet.h>
2002-03-07 20:27:37 +00:00
Sebastian Bergmann
90613d2282 Maintain headers. 2002-02-28 08:29:35 +00:00
Stig Venaas
9e420659ad Added php_sockaddr_size() in network.c (and the header file). This is used
in ftp.c to make sure connect() and bind() is called with size argument
which is exactly the size of the relevant sockaddr_xx structure
2002-02-10 12:35:29 +00:00
Stig Venaas
9a307e4550 Added IPv6 support
@- Added IPv6 support in FTP extension. (Stig Venaas)
2002-01-06 23:10:54 +00:00