Commit Graph

655 Commits

Author SHA1 Message Date
Sara Golemon
b2d4514580 Added stream_get_transports() 2003-04-04 05:21:03 +00:00
Sascha Schumann
7e7bbb751e Prevent entering of anything but arrays/strings in register_shutdown_func
Noticed by: Jan Schneider
2003-04-03 18:09:41 +00:00
foobar
16da825c7c CS fix 2003-04-03 01:12:47 +00:00
Rasmus Lerdorf
066a68d7fa MFB: Fix unregister_tick_function crash 2003-04-02 23:11:31 +00:00
Colin Viebrock
4888473efa fixes for logo guid functions 2003-04-02 16:51:40 +00:00
Sascha Schumann
cc39646730 Fix segfault in register_shutdown_function 2003-04-01 10:02:29 +00:00
Sebastian Bergmann
b8e3e0bfe3 Sorry Sterling, but this broke the ZTS build and I'd rather not 'ZTS fix' an April's Fool joke. 2003-04-01 05:30:32 +00:00
Sterling Hughes
53d90d8b9b Add the landonize() and landonize_url() functions which provide a secure
alternative to the sha1() and sha1_file() functions.
2003-04-01 05:01:50 +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
Sterling Hughes
39b8f06f9b @ Add the file_set_contents() function, as a complement to the file_get_contents()
@ function. (Sterling)
2003-03-12 06:47:34 +00:00
Sara Golemon
c4a491e12c Adjustment to user filters reimplementation. Make a bucket an object containing a resource(the real bucket) and a data element for direct operations. Simplifies
user interface and reduces number of function calls/reallocs needed.
2003-03-09 23:12:31 +00:00
Stefan Esser
af4aa97d1e Fixing functionicalls with variable number of parameters... 2003-03-06 20:31:20 +00:00
Wez Furlong
558db0d87a Expose php_stream_copy_to_stream as stream_copy_to_stream(); a high
performance alternative to looping reads and writes.
2003-03-01 01:27:50 +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
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
Derick Rethans
bc11c47ce6 - Whitespace 2003-02-26 19:25:24 +00:00
Sara Golemon
85a5ef3ec9 Initial re-implementation of userfilters after filterchain redesign by wez. More userspace API to come. 2003-02-24 21:56:19 +00:00
foobar
c87c4c7bd7 Extra paranoia checks if dn_skipname/dn_expand exist or not 2003-02-24 00:09:18 +00:00
Ilia Alshanetsky
8908faa47f Revent previous patch, adding of file_write_content() was premature. 2003-02-22 20:35:22 +00:00
Ilia Alshanetsky
d2e2fbcc5b int/long change. 2003-02-22 20:33:11 +00:00
foobar
b420beba61 - Fixed bug: #22339
# No NEWS, this was bug introduced by Marcus a while ago..
# Not present in php4.3.x branch
2003-02-21 08:45:58 +00:00
Wez Furlong
e52aac940f Implement simple stream support in the ZE scanners. 2003-02-18 09:37:54 +00:00
Ilia Alshanetsky
0ad5cac954 By popular demand nice() is renamed to proc_nice().
A better error message for proc_nice() failure.
2003-02-18 01:23:51 +00:00
Ilia Alshanetsky
0fd1009fcc Added nice() function, which allows changing of priority for the current
process.
2003-02-18 01:07:57 +00:00
foobar
7e9fb9f21f - Cleaned this mess a bit:
. Centralized the functions sunrise/sunset to php_sunrise_sunset
    to lessen duplicate code.
  . Made wrapper function php_do_date_sunrise_sunset() to lessen
    duplicate code.
  . Coding style fixes.
  . renamed sunfuncs.h -> php_sunfuncs.h
2003-02-17 06:28:07 +00:00
Moshe Doron
ea8d11cc87 @ new idate() function.
@ new date_sunrise() function.
@ new date_sunset() function.
#since i have no premission updating the win32 project file, i'm sending patch on the list.
2003-02-16 22:28:01 +00:00
Wez Furlong
c3c24054e8 Add proc_terminate() function to forcibly kill off a process created
with proc_open().
2003-02-15 17:18:57 +00:00
Ilia Alshanetsky
53f96c8b02 Added strpbrk(), which is essentially a wrapper around C's strpbrk function
that allows searching through a string for a character list.
2003-02-11 22:47:26 +00:00
Ilia Alshanetsky
f98ea4c46d Added feature request #9173 (added stream_get_line(), this function will
read either the specified number of bytes or until the ending string is
found).
2003-02-09 20:43:05 +00:00
foobar
a09e1397c7 Fixed compile failures when ZLIB / PCRE are compiled as shared
extensions in same build.
2003-02-09 19:09:52 +00:00
Shane Caraveo
5048f8c60e is_executable() now available on win32
stats can now get information provided by access()
2003-02-09 03:49:43 +00:00
Ilia Alshanetsky
67b19b08e3 Added str_split() function. This function can be used to break down a
string into an array.
2003-02-07 21:36:18 +00:00
Ilia Alshanetsky
b1a6778fe5 Added get_browser() function. This function can be used to fetch the headers
sent by the server when a request is made for a given URL.
2003-02-07 21:33:35 +00:00
Ilia Alshanetsky
f12a6b7663 Added array_walk_recursive() function that can apply array_walk recursively
to an array.
2003-02-05 17:56:08 +00:00
Ilia Alshanetsky
d89c38961b Make putenv() return a proper error rather then NULL when invalid argument
is passed.
2003-02-03 21:48:36 +00:00
Sara Golemon
37ff98978b Feature Request # 5919 - Addition of str_ireplace()
Also removed deprecated BM str replace menthod
Also rewrote php_str_to_str to use more processor/memory efficient method (ilia)
2003-01-30 05:00:41 +00:00
Harald Radi
f8e014b228 MFPHP_4_3 2003-01-29 00:49:09 +00:00
Ilia Alshanetsky
e6170c0b30 Added part of strpos commit that never made it in for some reason.
# Thanks Pollita.
2003-01-29 00:07:01 +00:00
Ilia Alshanetsky
2d0f432490 Added scandir() function, which allows quick retrieval of all files &
directories within the specified path and sort the output in alphabetical
or reverse alphabetical order.
2003-01-28 01:48:57 +00:00
Ilia Alshanetsky
8a9e09a44a ARG_COUNT(ht) -> ZEND_NUM_ARGS(). 2003-01-21 14:56:40 +00:00
Harald Radi
b51b6f0fbf ini patch to allow 'entry[] = value' entries 2003-01-19 12:18:46 +00:00
Andrey Hristov
309ef518fc Renamed get_memory_usage() to memory_get_usage() (per Andi's advice)
This doesn't break any BC.
2003-01-18 15:03:01 +00:00
Wez Furlong
a3a2dcd8a9 Relieve scripts of the burden of ensuring that all pipes are closed prior
to calling proc_close().
Implement proc_get_status(resource $process) which returns an array of
information about a process created with proc_open().
The information includes:
array(
	"command" => string "name of the command",
	"pid" => long process identifier,
	"running" => bool true if the process is still running
	"exitcode" => long exitcode if the process exited
	"signaled" => bool true if the process was signaled
	"termsig" => long signal number if signaled
	"stopped" => bool true if the process is stopped
	"stopsig" => long signal number if stopped
);
2003-01-15 18:54:03 +00:00
Wez Furlong
1a314027d3 - Move proc_open code to a source file of it's own.
- Tidy up that netware mess by performing a configure check which will
  define the symbol PHP_CAN_SUPPORT_PROC_OPEN if PHP can support proc_open.
- Protected the proc_open specific code with #ifdef PHP_CAN_SUPPORT_PROC_OPEN
  so that user-space scripts can use function_exists and react accordingly.

** Heads Up Win32: You need to add ext/standard/proc_open.c to the DSP and
** #define PHP_CAN_SUPPORT_PROC_OPEN in the w32 config header.
2003-01-15 16:29:00 +00:00
Andrey Hristov
7866f02260 added function get_memory_usage(). available only when PHP is compiled
with --enable-memory-limit
2003-01-14 18:26:47 +00:00
Andrey Hristov
1cdc956637 added array_combine().
Creates an array by using the elements of the first parameter as keys and
the elements of the second as correspoding keys. Error is thrown in case
the arrays has different number of elements. Number of elements 0 is not
valid for both parameters.
2003-01-13 18:12:23 +00:00
Sebastian Bergmann
f37cb1c617 ZTS fixes. 2003-01-12 14:47:18 +00:00
Wez Furlong
59e4fdcc10 Implement fprintf() and vfprintf().
Add a couple of tests.
2003-01-09 17:29:31 +00:00
Zeev Suraski
651cea08f0 whitespace 2003-01-07 11:37:09 +00:00
Anantha Kesari H Y
509b4d39b5 Added #ifdef HAVE_SYSLOG_H around syslog function in the whole file to avoid link failure. 2003-01-06 05:59:17 +00:00
Sara Golemon
43630e2ac0 Added stream_get_filters(); to list registered filters 2003-01-05 03:24:38 +00:00
Sara Golemon
7b37272381 Added stream_get_wrappers() 2003-01-03 08:02:36 +00:00
Wez Furlong
f58628ca4d Move rot13 filter into a new filters.c source file.
Tidy up some other filter related code.

# win32 -> someone please add user_filters.c and filters.c to the .dsp
2003-01-01 11:04:44 +00:00
Wez Furlong
350b0bbeac Implement user-space filters.
See ext/standard/tests/file/userfilters.phpt for an example of their use.
2002-12-31 18:39:36 +00:00
Sebastian Bergmann
b506f5c8f8 Bump year. 2002-12-31 16:08:15 +00:00
Marcus Boerger
26038795f8 -disable uniqid() when required lib functions not available
-emit an error when uniqid() will fail
-make more_entropy parameter default to true for CYGWIN
2002-12-20 16:34:42 +00:00
Melvyn Sopacua
44b7c16b03 Fix for BSD's (possibly others):
Accept system default, for the index. Don't initialize it.
2002-12-12 18:50:26 +00:00
Ilia Alshanetsky
c668055159 Remove pointless checks for array_init() return values. 2002-12-05 22:28:02 +00:00
Sara Golemon
ad65d01cbe Bug #20746. Renamed aggregation_info() to aggregate_info() per naming conventions and created alias for BC. 2002-12-05 21:20:47 +00:00
Ilia Alshanetsky
057e87e6e5 Repositioned CoInitialize and CoUninitialize that apparetly makes it more
correct according to MS docs. Patch (+5) by Michael Sisolak
<msisolak@yahoo.com>.
2002-12-02 06:43:54 +00:00
Marcus Boerger
3ca6344e57 -rename checkdnsrr to dns_check_record, keep old name as alias
-rename getmxrr to dns_get_mx, keep old name as alias
-added dns_get_record
@Added dns_get_record() which allows to retrieve DNS information about
@a host. (Marcus, Pollita)
2002-11-19 02:34:13 +00:00
Sterling Hughes
80f88a9851 use consistent constants 2002-11-08 15:49:32 +00:00
Stig Bakken
efeaa5917c Added separate functions for setting include_path, for environments
where ini_set has been disabled.  New functions: get_include_path(),
set_include_path(), restore_include_path()
2002-11-05 06:05:48 +00:00
Marcus Boerger
7ea6e4431e fix a warning 2002-11-02 10:34:51 +00:00
Hartmut Holzgraefe
d8837750de getopt with long options reverted to configure problems
(may find the wrong getopt.h so needed structures are not defined :(   )
2002-10-30 15:11:11 +00:00
Marcus Boerger
6f8bfd148a make microtime and gettimeofday unavailable instead of return false return
false in case needed library function is unavailable.
2002-10-29 23:35:49 +00:00
Ilia Alshanetsky
fdd2cb6024 Cleanup (make sterling happy). 2002-10-25 19:33:09 +00:00
Ilia Alshanetsky
b109f8e3bd Added a mechanism allowing the disabling of the ability to change
certain INI options when safe_mode is enabled.

ATM three options are limited:
max_execution_time
memory_limit
child_terminate

This patch also fixes bug #17287.
2002-10-25 01:06:46 +00:00
Hartmut Holzgraefe
0e28eaf550 trying to fix #20063 2002-10-24 20:04:16 +00:00
Hartmut Holzgraefe
f768d343f5 fixed build for getopt_long-less platforms,
removed left-over todo comments
2002-10-21 19:24:48 +00:00
Jon Parise
20e6ed36ec Convert C++ style comments to C style comments. 2002-10-21 19:12:13 +00:00
Hartmut Holzgraefe
b67b00efcd getopt() now supports long options on platforms that have getopt_long()
getopt() now working independant of register_argc_argv settings
2002-10-21 16:07:21 +00:00
Derick Rethans
3322581c04 - Only include ftok() if it is available 2002-10-20 13:35:56 +00:00
Derick Rethans
c5a73b31f6 - Remove #ifdefs around ftok function so that it is also available when
none of the IPC extensions are enabled.
2002-10-20 10:18:20 +00:00
Ilia Alshanetsky
30c16baac2 Renamed word_count to str_word_count to comply with naming conventions.
Thanks Andi, for catching this oversight.
2002-10-17 22:44:44 +00:00
Ilia Alshanetsky
47b57f2569 Added word_count() function that allows counting of words inside a string.
The function also allows the user to retrieve all the words from a string.
2002-10-17 03:27:19 +00:00
Rasmus Lerdorf
f32d63a3b3 Add php_ini_scanned_files() so "make test" can tell you when you have
additional .ini files that are scanned.
2002-10-06 17:04:10 +00:00
Sander Roobol
af14a8e75f You can't detect NULL nicely - false is better and more PHPish. 2002-10-06 17:00:33 +00:00
Sander Roobol
533fda4121 Fixed getopt() - made it actually work 2002-10-06 16:33:14 +00:00
Zeev Suraski
df55f35798 Revert the implicit_flush mess.
Do not revert it again under any circumstances!

Yasuo/anybody else - if there are issues with implicit_flush, please inform
me and I will fix them.
2002-10-06 12:02:53 +00:00
Zeev Suraski
de36720e0e Begin the cleanup - remove ob_flush_all() 2002-10-06 09:06:24 +00:00
Marcus Boerger
3d6ecdeff0 return FALSE on error 2002-10-04 17:17:01 +00:00
Yasuo Ohgaki
39b0eb9b22 Fixed broken code by Derick.
ob_implicit_flush() and ob_flush_all() are stopped working.
var_dump() and hightlisht_string() outputs buffer contents wrongly
with ob_implicit_flush().

Everyone should be happy now.
It was only OG(implicit_flush) interpretation issue after all.
2002-10-03 13:32:01 +00:00
Andrey Hristov
cebb0f76b8 ws fixes. 2002-10-03 10:42:57 +00:00
Derick Rethans
9b517c4b93 - Revert changed to implicit_flush behavior. The new behavior was not
intended in the first place.
2002-10-03 10:35:33 +00:00
Yasuo Ohgaki
b0fcd61207 Fixed broken higlight_string() 2002-10-03 09:19:31 +00:00
Yasuo Ohgaki
66a50c5373 Added ob_flush_all() that flushes bufferred contents until it actually
sent/printed.
@ Added ob_flush_all() that flushes all buffers. (Yasuo)
2002-10-03 07:17:14 +00:00
Yasuo Ohgaki
bd177ce7c1 Added ob_get_clean() and ob_get_flush().
Someone requested this feature before.
@ Added ob_get_clean() and og_get_flush(). (Yasuo)
2002-10-03 01:36:44 +00:00
Jon Parise
033224784b @ - Added getopt() for parsing command line options and arguments. (Jon) 2002-09-30 03:02:52 +00:00
Wez Furlong
7694770304 Rename streams functions to fit with naming conventions, adding aliases
for old functions where required.
Make use of recent changes to chunk size and timeout setting code.
2002-09-28 22:14:21 +00:00
Wez Furlong
315e0a599b Implement stream_select() which works just like socket_select, but only on
streams.
@ - Added stream_select() which works like socket_select but only works on
@   streams returned by fopen(), fsockopen() and pfsockopen(). (Wez)
2002-09-27 23:42:38 +00:00
Wez Furlong
3a67c67737 Rename file_get_wrapper_data -> file_get_meta_data.
It now always returns useful information for all streams.
Unified that data with socket_get_status and made socket_get_status
an alias for file_get_meta_data.

Fix Location header following which was broken in this commit:
http://cvs.php.net/diff.php/php4/ext/standard/http_fopen_wrapper.c?r1=1.41&r2=1.42&ty=h
2002-09-26 10:14:41 +00:00
Andrey Hristov
fc46a46b06 str_shuffle() function added. Like shuffle() for arrays - however the
algorithm for creating the permutation is quite simple. More like
the implementation of shuffle() for 4.2.1 .
2002-09-25 18:06:05 +00:00
Wez Furlong
696e0a2301 Implement persistent streams. (for pfsockopen).
Juggle some includes/definitions.
Tidy up streams use in ext/standard/file.c
2002-09-25 15:25:12 +00:00
Zeev Suraski
5f1bffe0cd Fix indirection 2002-09-24 10:55:56 +00:00
Wez Furlong
35d29fb69e basic_functions.c 2002-09-23 17:27:37 +00:00
Andrey Hristov
a920f00479 New function added - array_intersect_assoc() similar to array_intersect()
but the keys are also used in the comparison. So the result is a subset of
the result of array_intersect().
Test will be committed too.
2002-09-21 14:50:04 +00:00
Zeev Suraski
aaf8d48fc3 Fix the last part of bug #13982 (ignore_user_abort() settings were 'leaking'
between requests)
2002-09-19 16:01:53 +00:00
Hartmut Holzgraefe
c5d4be214c stupid lino-typo .... :( 2002-09-17 12:59:36 +00:00