Wez Furlong
a44838e8a3
Fix a bug in the persistent socket liveness checks and feof(); they were
...
using the default socket timeout of 60 seconds before returning the socket
to the calling script. The reason they were using that value is that the
same code is used for feof(), so the fix is allowing the caller to
indicate the timeout value for liveness checks.
A possible remaining issue now is that 0 second timeout[1] for pfsockopen
is possibly too short; it's impossible to specify a sane value for all
possible uses, so maybe we need a stream context or an .ini option to
control this, or maybe use the timeout value that was passed to
pfsockopen().
# [1] by timeout, I mean the time that PHP will wait for data on a
# persistent socket before deciding if a new connection should be made;
# NOT the timeout while waiting for a new connection to be established.
2004-02-04 22:46:44 +00:00
Sara Golemon
6d10371ec6
'Bug Fix': scandir, being a new function in PHP5 should have always been wrapper aware.
2004-01-28 22:21:54 +00:00
Wez Furlong
e1ae61802b
Fix segfault for scripts like this:
...
<?php
pfsockopen("foo");
pfsockopen("foo");
?>
Where the transport fails to connect (since args are bogus);
the problem was that the persistent stream entry was not
correctly freed.
2004-01-27 22:40:44 +00:00
Ilia Alshanetsky
4cc62a06f6
Removed unused variable.
2004-01-27 03:20:35 +00:00
Hartmut Holzgraefe
234e8a76c4
stream_lock() method added to userspace streams wrapper
2004-01-21 10:17:12 +00:00
Ilia Alshanetsky
eb3ff409b0
Fixed bug #26974 (rename() doesn't check the destination file
...
against safe_mode/open_basedir).
2004-01-21 02:28:50 +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
Wez Furlong
ab11c8c5ba
MFB fix for #25597
2003-12-20 20:25:55 +00:00
Ilia Alshanetsky
1128955aa4
Fixed compiler warnings.
2003-12-14 18:23:15 +00:00
Sara Golemon
822ea95785
Export STREAM_MKDIR_RECURSIVE constant
2003-12-13 23:13:51 +00:00
Sara Golemon
a67bf6ecc9
Fix Win32 Build. mkdir/rmdir are macros
2003-12-13 18:48:39 +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
Wez Furlong
ab0029cabf
Be smarter about which systems should register unix transports.
...
Fix skip conditions in these network tests
2003-12-05 13:41:02 +00:00
Sara Golemon
dacb3a68fe
Register url_stat flag constants in userspace
2003-12-02 20:06:40 +00:00
Sara Golemon
1aaf7da2ce
Populate userstream objects with context property
2003-12-02 19:14:31 +00:00
Sara Golemon
88ccc6a630
Update userspace/url_stat proto
2003-12-02 18:52:58 +00:00
Wez Furlong
da9093be3a
this can't be persistent
2003-12-02 16:35:19 +00:00
Sara Golemon
dbfe62117b
CS
2003-12-02 01:04:14 +00:00
Sara Golemon
681d18effd
Move safemode/basedir checks for url_stat to plain_wrapper.
2003-12-01 19:47:05 +00:00
Ilia Alshanetsky
c344754d48
Removed unused variables.
2003-11-30 19:43:30 +00:00
Wez Furlong
37f135ceef
Add stream_socket_sendto and stream_socket_recvfrom which work very much
...
like sendto() and recvfrom() syscalls.
2003-11-29 21:46:50 +00:00
Sara Golemon
026d4c9e4c
Route php_stat() via streams/url_stat API (php_stream_stat_path).
...
This enables fopen-wrappers support on stat() and related family calls.
2003-11-28 23:25:28 +00:00
Wez Furlong
6d86bb9e40
(sort of) MFB, feof fix for sockets.
2003-11-28 23:20:23 +00:00
Ilia Alshanetsky
baced1d63d
Fixed a memory leak.
2003-11-28 00:00:28 +00:00
Wez Furlong
3ee72aa5be
port "liveness" checks and a couple of other things from the 4.3 branch.
...
Liveness checks are used to validate persistent socket connects when they
are re-used.
2003-11-27 17:39:01 +00:00
Sara Golemon
0831f2b03a
Fix for file:// wrapper parsing.
...
(Cristiano Duarte <cunha17@uol.com.br>)
2003-11-23 17:35:00 +00:00
Derick Rethans
3ab8d263b8
- Always store the URI path in the streams structure, and expose it with
...
stream_get_meta_data().
2003-11-03 14:12:46 +00:00
Sara Golemon
495fd01ca4
Stop looking once we've found a matching filter.
2003-10-28 23:29:16 +00:00
Sara Golemon
c9b49af990
Extend Filter matching to check wildcards at multiple levels.
...
Ex: foo.bar.baz.bomb
Searches:
foo.bar.baz.bomb itself,
foo.bar.baz.*,
foo.bar.*, and
foo.*
Also changed tempvar "char wildcard[128];" to an estrdup() to
deal with potential filternames longer than 127 bytes.
2003-10-28 21:52:59 +00:00
Shane Caraveo
3a6ff32e2b
finish file uri support, this stuff was unecessary.
2003-10-19 21:19:54 +00:00
Shane Caraveo
2a41429472
A simpler patch to add file uri support
2003-10-19 20:59:12 +00:00
Shane Caraveo
0029a45795
revert file: support in preparation for simpler patch
2003-10-19 20:57:20 +00:00
Shane Caraveo
e5103d764a
make file uri's work with streams
2003-10-19 20:04:33 +00:00
Wez Furlong
590b3ccc79
Set the EOF indicator after each read attempt.
...
This prevents it getting stuck in the on position.
2003-10-08 10:55:51 +00:00
Marcus Boerger
3cf2d2f108
Show the whole message when in debug mode
2003-09-13 19:56:38 +00:00
Ard Biesheuvel
f940b0fe3c
Pointer size fix
2003-09-13 19:43:39 +00:00
Ard Biesheuvel
6f37733367
Fixed for 64bit archs
2003-09-13 15:27:09 +00:00
Ilia Alshanetsky
ef23b497d4
Fixed bug #25316 (Possible infinite loop inside _php_stream_write()).
2003-09-11 05:07:26 +00:00
Ilia Alshanetsky
0a3d5c9b08
Fixed bug #25429 (fix copying of stdin using copy() function)
2003-09-10 00:58:12 +00:00
Ilia Alshanetsky
9d9727aac5
Fixed compiler warnings.
2003-08-28 19:17:34 +00:00
Sascha Schumann
af8e15b8db
kill warnings
2003-08-28 17:07:40 +00:00
Ilia Alshanetsky
a326bde2e8
Prevent a crash when expand_filepath() fails.
2003-08-27 01:10:10 +00:00
Sascha Schumann
602d1b0045
One bit fields need to be unsigned, otherwise there is no storage for
...
the sign bit
"A signed bit field has a length of 1 bit."
2003-08-17 13:49:52 +00:00
Ilia Alshanetsky
4d98e9ec97
Finalize the closing process of persistent streams. The current
...
behavior/API is as follows:
1) To close a persistent use php_stream_pclose(), it will close the stream
and remove it from the persistent list.
2) Inside PHP code only explicit fclose() will close persistent streams,
all other actions such as unset() or assigning a value to stream handle
will not.
3) Regular streams can still be closed by either fclose(), unset() or an
assignment of a value to the stream handler.
2003-07-29 18:26:34 +00:00
Ilia Alshanetsky
37ee0e57cc
Fixed a double free bug when freeing persistent streams.
2003-07-28 18:57:28 +00:00
Wez Furlong
5cf5248b00
Fix for mips compiler.
2003-07-14 19:38:13 +00:00
Wez Furlong
fa342d2404
MFB: binary mode by default under win32.
2003-07-05 08:25:25 +00:00
Sara Golemon
444615e74c
Introduce connection pooling API. I'll use these in http/ftp fopen wrappers soon.
2003-07-02 22:18:59 +00:00
Wez Furlong
49228bd5e2
more size_t -> socklen_t.
...
Noticed by tychay@php.net
2003-07-02 21:11:35 +00:00
Wez Furlong
989500b347
socklen_t needs this.
...
We might need some more magic to ensure that socklen_t gets defined in
the correct places; lets see if any more problems arise...
2003-07-02 01:35:39 +00:00
Wez Furlong
17cbf83404
size_t -> socklen_t
...
fixes warnings under macosx
2003-07-01 19:51:06 +00:00
Wez Furlong
5ecc91c27d
Merge selectable descriptor casting from PHP_4_3 branch.
2003-06-28 11:24:47 +00:00
Wez Furlong
c0c20ef6f6
Fix for mips compiler
2003-06-28 11:06:11 +00:00
Sara Golemon
2e4ef86e10
MFB
...
Plug leak in context notifiers, implement notifier->dtor
2003-06-27 16:23:58 +00:00
Sara Golemon
ac79577776
MFB PHP_4_3 main/streams.c r-1.125.2.70
2003-06-27 04:27:18 +00:00
Sara Golemon
730ce7b06f
Add context property to userspace streams object.
2003-06-16 19:13:39 +00:00
Sara Golemon
2f4e91bf8a
optionvalue is being copied via zval_copy_ctor, there's no need to addref the original
2003-06-16 18:19:14 +00:00
Edin Kadribasic
6e2743023b
Win32 build fixes for openssl
2003-06-15 23:34:46 +00:00
Marcus Boerger
f304458bdb
Fix ZTS mode (hopefully all is working fine now again)
2003-06-14 19:30:42 +00:00
Sara Golemon
99db19661a
Plug leak (context options not freed)
...
Make contexts auto-registered, ensures userland contexts
and C API contexts are both dealt with on request shutdown.
Also brings contexts in keeping with streams which are already
auto-registered.
2003-06-13 21:33:59 +00:00
James Cox
f68c7ff249
updating license information in the headers.
2003-06-10 20:04:29 +00:00
Hartmut Holzgraefe
ac2606bf58
fix for crashbug with user level wrapper implementations of stream_stat
2003-05-29 20:19:03 +00:00
Wez Furlong
2d1a6e5dc2
MFB context refcounting and text-mode fopen fixes
2003-05-21 13:33:55 +00:00
Sara Golemon
83b7b75c3c
Implement default contexts. For the moment this is useless
...
but it will be used soon for connection pooling.
2003-05-21 04:04:50 +00:00
Hartmut Holzgraefe
b5bef8f7b3
always return timestamps as 'atime', 'mtime' and 'ctime'
...
no matter what names the underlying platform uses for them
2003-05-20 13:09:11 +00:00
Wez Furlong
192f632e2e
MFB fix for persistent streams recycling.
2003-05-19 22:58:34 +00:00
Marcus Boerger
f10a7b90b2
Fix warning
2003-05-19 18:48:15 +00:00
Marcus Boerger
1b0fdbf63a
Fix memleaks
2003-05-19 18:46:59 +00:00
Derick Rethans
92f0da58e6
- Rename stream_register_filter() to stream_filter_register(),
...
stream_register_wrapper() to stream_wrapper_register() and added an alias for
the latter change.
2003-05-19 15:35:06 +00:00
Sebastian Bergmann
85a13e3e9a
Fix warnings.
2003-05-17 06:21:34 +00:00
Sara Golemon
44743cf9ec
Implement userspace wrapper support for unlink method
2003-05-14 18:30:49 +00:00
Sara Golemon
65d359d71a
Fold 'options' parameter into wops->unlink method
2003-05-14 15:12:07 +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
Marcus Boerger
b09aa87120
Don't access what is already freed (noticed by Sascha)
2003-04-16 17:30:03 +00:00
Moriyoshi Koizumi
49b43ad115
Changed stream filter factory to be capable of accepting a zval as a parameter
...
instead of a string
2003-04-16 14:30:25 +00:00
Marcus Boerger
75c8f37c03
Make it static
2003-04-13 20:30:57 +00:00
Marcus Boerger
887d5ec9c1
Speling
2003-04-13 20:12:54 +00:00
Marcus Boerger
bff63db577
Fix persistent stream closing (that one took me at least 3 days)
2003-04-13 19:47:55 +00:00
Sara Golemon
d6c24de842
Add IPv6 support to stream_socket_client/server()
2003-04-05 02:42:12 +00:00
Sara Golemon
c985b780a5
Prevent php_stream_get_record from grabbing more than maxlen characters
2003-04-04 01:34:00 +00:00
Moriyoshi Koizumi
8d2dd87d89
Fixed bug #22538 (stream filter problem)
2003-03-31 23:22:10 +00:00
Ilia Alshanetsky
62909237c4
WS
2003-03-31 22:13:01 +00:00
Wez Furlong
e451d88399
Fix for persistent stream shutdown under debug builds
2003-03-20 01:23:04 +00:00
Wez Furlong
7379f47518
Sanity check for when a stream is requested to be persistent but the wrapper
...
does not respect the flag.
2003-03-19 00:17:15 +00:00
Wez Furlong
86fb577d59
Implement persistent plain file streams.
...
Usage:
php_stream *stream = php_stream_fopen("/path/to/file", "r+b", NULL,
STREAM_OPEN_PERSISTENT | ENFORCE_SAFE_MODE | REPORT_ERRORS);
the filename and mode are combined to form the hash key for the persistent
list; they must be identical for this same stream to be returned again in the
next request.
Calling php_stream_close() on a persistent stream *will* close it, as is
usual with all persistent resources in PHP/ZE.
This is deliberately *not* exposed to user-space PHP at this time.
2003-03-18 23:37:54 +00:00
Wez Furlong
6a87651006
Q}
2003-03-18 22:26:02 +00:00
Wez Furlong
ce01fd9526
Avoid using FILE* where possible.
...
Tidy up handling of potential error situations for the php:// wrapper.
2003-03-18 16:40:29 +00:00
Wez Furlong
267db80b21
avoid unsigned issues.
2003-03-18 15:15:10 +00:00
Wez Furlong
7c2ccb5f65
Fix for #22721 (poor file() performance on systems without mmap)
2003-03-18 14:35:01 +00:00
Ilia Alshanetsky
e15cc99415
Win32 build fix.
2003-03-17 22:25:55 +00:00
Ilia Alshanetsky
27a7eaf4e7
Fixed bug #22538 (failed stat on stdio/stdin/stderr streams).
2003-03-17 18:32:15 +00:00
Wez Furlong
16e705a547
64bit fixes
2003-03-15 13:29:56 +00:00
Stefan Esser
af4aa97d1e
Fixing functionicalls with variable number of parameters...
2003-03-06 20:31:20 +00:00
Ilia Alshanetsky
fb4dab36f4
Compiler warning fix.
2003-03-03 19:57:18 +00:00
Wez Furlong
c3e6bcd398
Ensure that all fields are initialized to NULL.
2003-03-01 17:27:23 +00:00
Wez Furlong
242166d601
Don't shutdown() unix sockets.
...
It causes the server end to close down/break.
2003-03-01 15:22:21 +00:00
Wez Furlong
a3cf1ab8f6
Folding fixes
2003-03-01 15:20:42 +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