Commit Graph

111 Commits

Author SHA1 Message Date
Dmitry Stogov
c366cc6d1a Nuke int32_t (everywhere except streams layer) and signed/unsigned warnings 2006-03-02 13:12:45 +00:00
Andi Gutmans
1efe984d08 - Get rid of using ENFORCE_SAFE_MODE. 2006-02-19 04:29:42 +00:00
Ilia Alshanetsky
dd68ac4c8c MFB51: Allow get_headers() to return header information even for non-200
responses.
2006-01-20 01:40:48 +00:00
foobar
251c5173fd bump year and license version 2006-01-01 13:10:10 +00:00
Ilia Alshanetsky
a13a4487a4 MFB51: Fixed bug #35629 (crash in http:// wrapper on multiple redirects). 2005-12-12 05:04:43 +00:00
Antony Dovgal
b0a7b43a55 MF51: fix wrong macro usage 2005-12-09 18:53:54 +00:00
Ilia Alshanetsky
34701f23eb MFB51: Fixed bug #34359 (Possible crash inside fopen http wrapper). 2005-12-08 02:53:34 +00:00
Sara Golemon
d34df75ee1 Block potential segfault.
Context option type not checked for "user_agent","header", and "content"
2005-12-06 19:13:27 +00:00
Ilia Alshanetsky
5fd55abd66 Fixed possible crash in http:// wrapper. 2005-11-15 04:24:17 +00:00
Dmitry Stogov
af0dd442f3 Fixed memory corruption 2005-09-21 15:54:42 +00:00
Dmitry Stogov
18c1c3a82f Allow fopen() make HTTPS requests throug HTTP proxies 2005-09-21 15:04:48 +00:00
Rolland Santimano
bc87019a80 Updated calls to php_trim() to provide arg for returned string type 2005-08-16 06:04:59 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
Ilia Alshanetsky
6be7584eba Properly recognize redirect code 303.
When encountering redirect on POST request follow browsers and cURL and
perform GET on the specified location field.
2005-07-14 14:59:16 +00:00
Derick Rethans
c6ae4a98be - Fixed bug #33242 (Mangled error message when stream fails). 2005-06-06 12:39:57 +00:00
Ilia Alshanetsky
3ae10919c4 Added max_redirects context option that specifies how many HTTP redirects
to follow.
2005-05-06 02:31:07 +00:00
Ilia Alshanetsky
b874c94d81 Missing bit from previous patch. 2005-05-06 02:20:00 +00:00
Ilia Alshanetsky
a63f5d1c3f Fixed bug #32936 (http redirects URLs are not checked for control chars). 2005-05-06 02:13:46 +00:00
Anantha Kesari H Y
549ec65eee removed redundant NEW_LIBC checks 2004-09-27 15:55:04 +00:00
Sara Golemon
532a79aa52 *** empty log message *** 2004-09-08 23:37:55 +00:00
Sara Golemon
92c4a37a6a Chunk Length may optionally be followed by whitespace 2004-09-07 22:46:24 +00:00
Sara Golemon
a85bff9796 Protocol version context option and chunked transfer encoding 2004-09-07 19:27:11 +00:00
Sara Golemon
93f795bb9e Add proxy support to ftp using http wrapper 2004-07-24 04:01:48 +00:00
Stefan Esser
23813d603c Fixed off-by-one in http_fopen_wrapper 2004-05-28 13:38:06 +00:00
Sara Golemon
d5e0742e8d In-HEAD bugfix# 28115 2004-04-23 03:37:20 +00:00
Ilia Alshanetsky
d45b2c6bc3 MFH: Fixed bug #27628 (Simplify the process of making a POST request via
stream context).
2004-03-19 15:41:26 +00:00
foobar
639073bd2a MFB: typofix 2004-02-26 00:13:30 +00:00
Ilia Alshanetsky
0f5f7c6dd0 Handle situation where feof() occurs before the HTTP header is retrieved. 2004-02-26 00:02:27 +00:00
Sebastian Bergmann
184b379fd7 ZTS fix. 2004-02-25 09:36:46 +00:00
Ilia Alshanetsky
895f244236 Fixed bug #27383 (Potential crash inside fopen_wrapper, while parsing
response code).
2004-02-24 21:52:40 +00:00
Sara Golemon
18588497d7 Fix potential bug in http:// proxy support.
Some proxy servers require entire URI be sent in request string.

Add context option "http"/"request_fulluri" to allow this behavior.
2004-01-30 00:24:18 +00:00
Andi Gutmans
dbeb4158d2 - A belated happy holidays and PHP 5 2004-01-08 08:18:22 +00:00
Sara Golemon
c56647833b Route mkdir()/rmdir() via wrapper ops.
Move current rmdir()/rmdir() code to plain_wrappers.c
Implement mkdir()/rmdir() in ftp:// wrapper
2003-12-13 04:07:18 +00:00
Sara Golemon
b1f8236b63 Route rename() via wrapper ops.
Move current rename() code to main/streams/plain_wrapper.c
Implement ftp/rename()
Implement userstreams/rename()
2003-12-12 23:06:42 +00:00
Sara Golemon
5ad67a9215 Add http proxy support via context option. 2003-12-03 05:30:16 +00:00
Sascha Schumann
6a7dde29e7 kill warnings 2003-08-28 16:28:33 +00:00
Sara Golemon
82ddb23338 Loosen restrictions on method used with http_fopen_wrapper, still default to GET though. 2003-06-13 19:27:26 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Sara Golemon
5126fbe556 Setup unlink() method in wrapper_ops structure, implement unlink in plainfiles wrapper, explicitly set method NULL in other wrappers (for now), and rewrite unlink userland function to call into wrapper_ops 2003-05-14 06:10:04 +00:00
Wez Furlong
169b3f72ed Fix for #23340; fopen on multiple urls from the same server crashes. 2003-04-28 14:41:36 +00:00
Ilia Alshanetsky
3d6fccc08c Fixed bug #23152 ($http_response_header empty on invalid URLs) 2003-04-14 13:55:34 +00:00
Sara Golemon
70155b6dcf Introduce support for context options 'method', 'header', 'content' 2003-04-07 21:02:04 +00:00
Ilia Alshanetsky
53530765ff Added support for http redirects to ftp.
Fixed bug #22508 (Added protection against circular HTML redirects).
2003-03-04 16:04:05 +00:00
Wez Furlong
76ebaa6ee7 - Move https:// and ftps:// wrapper registration into the openssl module.
- Expose the http:// and ftp:// wrappers as PHPAPI
- Remove unused variables
2003-02-27 18:16:35 +00:00
Wez Furlong
fd61f69077 Another big commit (tm).
Main Changes:
- Implement a socket transport layer for use by all code that needs to open
  some kind of "special" socket for network or IPC.
- Extensions can register (and override) transports.
- Implement ftruncate() on streams via the ioctl-alike option interface.
- Implement mmap() on streams via the ioctl-alike option interface.
- Implement generic crypto API via the ioctl-alike option interface.
  (currently only supports OpenSSL, but could support other SSL toolkits,
  and other crypto transport protocols).

Impact:
- tcp sockets can be overloaded by the openssl capable sockets at runtime,
  removing the link-time requirement for ssl:// and https:// sockets and
  streams.
- checking stream types using PHP_STREAM_IS_SOCKET is deprecated, since
  there are now a range of possible socket-type streams.

Working towards:
- socket servers using the new transport layer
- mmap support under win32
- Cleaner code.

# I will be updating the win32 build to add the new files shortly
# after this commit.
2003-02-27 17:43:38 +00:00
Ilia Alshanetsky
69094da0e8 Revert accidental commit. 2003-02-20 00:34:03 +00:00
Ilia Alshanetsky
3bff5c0419 Fixed bug #22308 (optimized passthru, code is now ~40 times faster). 2003-02-20 00:32:51 +00:00
Ilia Alshanetsky
a6ef609a37 Fixed bug #22283 (possible crash when opening relative URLs). 2003-02-19 00:49:31 +00:00
Zeev Suraski
4934744b93 Win32 build improvements 2003-02-17 13:29:59 +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