Commit Graph

189 Commits

Author SHA1 Message Date
Sean Bright
ef2e1a72cf Fix for bug #4556
# This is pretty much a total rewrite of get_meta_tags using a simple
# handwritten tokenizer.  It might be overkill, but it works.
2001-02-11 02:38:40 +00:00
Rasmus Lerdorf
4877d13ffa What the heck is CUT? Assume someone meant UTC here. And fix a
warning.
2001-02-09 15:28:23 +00:00
Stanislav Malyshev
5af00138e9 Add utility function 2001-02-01 10:24:02 +00:00
Rasmus Lerdorf
83cf6629ec @BeOS patch from svanegmond@bang.dhs.org modified somewhat by Rasmus
BeOS patch from svanegmond@bang.dhs.org modified somewhat by Rasmus
2001-01-21 17:29:15 +00:00
Thies C. Arntzen
6b84fb1cde fixed readfile() fd-leak.
guys, always remember that every function that *generates output* could cause a
bailout if ignore_user_abort is set to false (and the user _aborts_ the
connection). in this case a longjump will be performed and our function (in
this case readfile) will have no chance to clean-up. having said that it's a
good idea to register all opened files using REGISTER_RESOURCE - that way the
engine will make sure they get closed on request end.
2001-01-14 14:11:38 +00:00
Zeev Suraski
a85da45a66 Both thread-safe and thread-unsafe builds should be ok now 2001-01-13 23:49:44 +00:00
Zeev Suraski
86624dfad9 - Fix exec() bug
- Merge fsock and file globals
2001-01-13 13:59:22 +00:00
Zeev Suraski
338b9b0819 - Make the INI mechanism thread safe (fix necessary API changes from Zend)
- Make the Win32 non-TS configuration build again
2000-12-27 15:43:05 +00:00
Sascha Schumann
9815d5c94c Signal an error condition, if write was unable to perform the complete
operation.
2000-12-22 19:26:02 +00:00
Sascha Schumann
663d426e74 NULL is a valid return value of mmap. Check against (void *) MAP_FAILED. 2000-12-22 16:39:01 +00:00
Sascha Schumann
3c9f50efaf (php_file_copy) Use mmap to map the source file into our address space
and then simply write it out to the target file.  That avoids switching
between user and kernel land too many times.  If that does not work, we
fall back to the read/write method.
2000-12-22 16:34:11 +00:00
Hartmut Holzgraefe
9b1b253548 fgetcsv() will now work correct with empty fields in tab delimited files
# fix for bug #8258 and regression test
2000-12-14 14:18:36 +00:00
Stanislav Malyshev
0d02c7d337 Open files in binary mode - should fix readfile() on Windows 2000-12-12 17:42:53 +00:00
Sascha Schumann
4ada3dd3a0 Hardcode all functions which are mentioned in the Large File Support Spec
http://ewe3.sas.com/standards/large.file/specs/api+.007.html
2000-12-07 12:09:38 +00:00
Daniel Beulshausen
2fefaba7b6 tsrm realpath implementation is fixed
@ Fixed realpath() in Virtual Directory mode (Daniel)
2000-11-22 10:08:25 +00:00
Stanislav Malyshev
fb8be26654 Fix crash (#7802) 2000-11-15 09:36:21 +00:00
Andi Gutmans
d0ec3df288 - Use CHECKUID_* #define's instead of cryptic numbers in php_checkuid()
- I did not test for validity of the actual php_checkuid() calls and there
- might be mistakes in the previous code.
2000-11-02 23:08:07 +00:00
Andi Gutmans
b25b80c147 - Change some estrdup()'s to estrndup()'s 2000-11-01 14:48:00 +00:00
Zeev Suraski
7ab46420be mode_t fixes 2000-10-31 18:05:19 +00:00
Thies C. Arntzen
825457ae64 update my email. 2000-10-29 09:14:55 +00:00
Daniel Beulshausen
52e45f514b use V_RENAME makro instead 2000-10-26 18:17:45 +00:00
Andrei Zmievski
f1dcb32c9f Use zend_register_list_destructors_ex() instead. 2000-10-25 17:44:02 +00:00
Andrei Zmievski
7b4983c8f8 Mega-patch to get better resource information for modules.
* Fixed a bug in zend_rsrc_list_get_rsrc_type()
  * Switched register_list_destructors() to use
    zend_register_list_destructors_ex() instead
  * Updated all relevant modules to provide the resource type name
    to register_list_destructors() call
  * Updated var_dump() to output resource type name instead of number

@- Made resource type names visible, e.g. var_dump() and
@  get_resource_type() display "file" for file resources. (Andrei)
2000-10-20 18:25:16 +00:00
Sascha Schumann
2e4ab68995 Automatic conversion might cause interpretation of 0xff as EOF, so we store
the result in an object of type int first.

Submitted by: melchers@cis.fu-berlin.de
2000-09-27 16:08:26 +00:00
Andi Gutmans
88b469203c - Fix bug #5997 2000-09-12 04:13:21 +00:00
Andi Gutmans
824fc6a084 - Move php_open_temporary_file() out of file.c 2000-09-11 18:56:47 +00:00
Sascha Schumann
f45f6d788f Kill a warning 2000-09-11 16:25:36 +00:00
Zeev Suraski
3115a0ccfe Fix UNIX build 2000-09-09 12:02:31 +00:00
Zeev Suraski
6c4cb4c079 Security related updates:
- Introduce php_open_temporary_file(), in place of tempnam().  Still
  needs testing under UNIX (mkstemp()), works reliably under Windows now.
- Reimplement the mechanism for unlinking uploaded files at the end of the request
  (was it ever tested?).  Files moved with move_uploaded_file() will not be unlink()'d
  again, to avoid (albeit very unlikely) race conditions.
2000-09-09 11:41:14 +00:00
Stig Bakken
7918735b11 * compile fix 2000-09-09 01:15:50 +00:00
Zeev Suraski
3edf46ff73 Implement move_uploaded_file() (untested) 2000-09-08 22:31:21 +00:00
Torben Wilson
410ac013e8 Fixed segfault with fgets(), fgetcsv(), fgetss(), and fread() when
called with negative length argument.
2000-08-21 19:24:44 +00:00
Stanislav Malyshev
ce0c4a7991 Fix fgetc (#6259) and ftell error condition returns 2000-08-20 13:24:14 +00:00
Sascha Schumann
fbdf502307 Remove php_realpath from build.
It was broken and should not be used in any way.
2000-08-20 05:27:59 +00:00
Frank M. Kromann
61df257c0f We only need winsock.h one time 2000-08-19 21:15:43 +00:00
Zeev Suraski
7a45e3cb89 - Update NEWS
- Fix non ZTS Windows build
2000-08-19 18:01:04 +00:00
Andi Gutmans
c756ae2d9f Virtualize realpath, chmod, chown and utime
This should fix #5935 and #5904
@- Virtualize realpath, chmod, chown and utime (Stas)
2000-08-06 16:22:07 +00:00
Stanislav Malyshev
fda23fc253 Fix fclose prototype (#5930) 2000-08-03 16:37:35 +00:00
David Croft
a5a9a4928b # zeev is god 2000-07-22 04:23:41 +00:00
David Croft
89153d9c05 fixed socket_set blocking in windows
(bug 3845)
2000-07-22 01:53:16 +00:00
Stanislav Malyshev
4d41c8ba49 Fix fgets re-allocation (add +1 to accomondate ending \0). 2000-07-07 09:06:47 +00:00
Andi Gutmans
b9037f7d69 - Make PHP compile again under Windows.
- Please be careful when you make such changes.
2000-07-02 15:12:34 +00:00
Stanislav Malyshev
e8c219fef2 Make fgets not use maximal buffer length always, but shrink buffer
if it's too big.
2000-06-29 13:34:55 +00:00
Thies C. Arntzen
e834812a06 (fgetcsv) fixed leak 2000-06-27 09:55:52 +00:00
Zeev Suraski
52dd20177c Removed 8KB limit on line length of the file() function 2000-06-26 20:52:04 +00:00
Egon Schmid
bcb308c522 Fixed some protos. 2000-06-26 17:57:46 +00:00
Zeev Suraski
6614e8edb4 - I wrote a long msg but the commit didn't go through.
- So here is the short version:
- a) Start moving to binary opens in Windows
- b) Give checkuid_mode() a small face lift including the fopen-wrappers.c
- The mode to this function should at least be a #define but that is for
- another day. Anyway this whole stuff should be given more face lifts in
- the future.
2000-06-25 17:02:59 +00:00
Sascha Schumann
2456af596f Remove some unnecessary CLS_FETCH()s. 2000-06-23 00:53:33 +00:00
Thies C. Arntzen
7dca298b21 copy() now creates the destination file with mode 0777 again. this is
the way it used to be in PHP 3
2000-06-13 15:48:38 +00:00
Andi Gutmans
719d995a9d - On UNIX support popen() which works with current working directory
- when in VIRTUAL_DIR mode.
2000-06-12 19:39:04 +00:00
Clayton Collie
0b7fd17c2b Added sscanf() function. 2000-06-06 18:58:15 +00:00
Thies C. Arntzen
10eb67a3aa @- added fflush() function. (Eric Huss)
# the socket fsync() might not work on Win32.
#
# i'm not sure if we need any code for flushing sockets as they are
# currently alway written via write().
2000-06-06 12:16:44 +00:00
Rasmus Lerdorf
1cefd77f1c Oops, fixed slight miscue there. Now it works. 2000-06-05 19:35:15 +00:00
Rasmus Lerdorf
194e8828a1 @ Clean up constants in flock() function and add optional 3rd arg which
@ is set to true on EWOULDBLOCK (Rasmus)
Clean up constants in flock() function and add optional 3rd arg which
is set to true on EWOULDBLOCK
2000-06-05 17:56:01 +00:00
Zeev Suraski
8715b55ce0 Remove stale macro 2000-05-29 15:31:19 +00:00
Zeev Suraski
124fe30f03 More secure mode 2000-05-29 11:47:38 +00:00
Andi Gutmans
afccb58612 - I'm not sure if PHP_NOT_IN_THIS_BUILD is the way to handle these
- functions but in any case I have changed it to PHP_NOT_IN_THIS_BUILD()
2000-05-27 18:55:11 +00:00
Hartmut Holzgraefe
69d1e788c0 if a module provides a function it should also do so if the function
is not functional due to configure findings
the function should offer a meaningful warning if it is not supported
instead of just beeing undefined
i had already changed this in 'gd', now this is doing it for 'standard'
2000-05-26 17:04:02 +00:00
Hartmut Holzgraefe
df4547a3df another bunch of proto fixes 2000-05-23 23:13:02 +00:00
Andi Gutmans
617266e33e - Virtual current working directory is now enabled
- Added support for mkdir()/rmdir() and more
2000-05-23 17:02:21 +00:00
Andi Gutmans
521f03c184 - Support virtual unlink() 2000-05-23 14:36:27 +00:00
Zeev Suraski
e043439ff6 Update the license with the new clause 6 2000-05-18 15:34:45 +00:00
Andi Gutmans
e13285ded7 - Take Sascha's advice and create on V_OPEN() which replaces open().
- Unlike the other macros its argument has to have braces around it, for
- example, open(filename, flags) becomse V_OPEN((filename, flags))
- Made small conversion to new Zend macros. The ugly (*foo)->value.str.val
- now becomes Z_STRVAL_PP(foo). PP means pointer pointer, there also exist
- single P's for example foo->value.str.val becomes Z_STRVAL_P(foo).
2000-04-30 16:32:36 +00:00
Andrei Zmievski
ec997d5c5b Exterminate warnings. 2000-04-24 14:19:21 +00:00
Andrei Zmievski
071c01a019 The third argument to fseek() is now one of the standard SEEK_* constants.
# The previous change to support seekfrom stuff was incorrect.
2000-04-24 14:18:11 +00:00
Sterling Hughes
21416083b1 @-Add an optional third argument to fseek to indicate were to seek from. (Sterling) 2000-04-23 19:16:24 +00:00
Rasmus Lerdorf
03b562c93e fgetcsv() patch from Nick Talbott
@ The fgetcsv() function now handles embedded end-of-line in a quoted field
@ (Nick Talbott)
2000-04-19 13:03:47 +00:00
Sterling Hughes
b3ecf2feaf ftruncate returns 1 on success and 0 on failure instead of 0 on success and -1 on failure. 2000-03-17 00:44:55 +00:00
Kristian Köhntopp
85940d676f Finished porting recode module. 2000-03-12 19:42:29 +00:00
Sascha Schumann
caeaaf4d98 Fix build on systems which lack snprintf or vsnprintf.
PR: #3786
2000-03-12 15:47:34 +00:00
Stig Bakken
99e0b36321 @Cleaned up extension namespace (Stig)
Cleaned up extension namespace, and changed ext/standard into one single
extension.
2000-03-06 20:37:11 +00:00
Andrei Zmievski
5610800a7b @Added ftruncate() and fstat(), courtesy of Faisal Nasim <faisal@nasim.org> 2000-03-04 17:23:03 +00:00
Egon Schmid
7da7a50c69 More protos. 2000-02-24 08:07:29 +00:00
Zeev Suraski
86fa2aade2 the pipe is breaking all the time 2000-02-19 23:41:32 +00:00
Zeev Suraski
80bdd19e03 Fine tune Andi's patch 2000-02-11 15:59:30 +00:00
Andi Gutmans
29280bb9ec - Get rid of some more evil MSVC5's and switch standard/ to use PHP_WIN32 2000-02-10 21:53:56 +00:00
Zeev Suraski
489b705d4b @- Fixed memory corruption in fgetss(), strip_tags() and gzgetss() (Zeev) 2000-02-08 21:29:18 +00:00
Andrei Zmievski
83a0278171 Not needed. 2000-02-01 22:17:06 +00:00
Zeev Suraski
c47452f729 Compile fix 2000-02-01 22:13:13 +00:00
Andrei Zmievski
a753430fb9 - Implemented socket_get_status() function. Some more stuff can be added
to it in the future.
- Renamed set_socket_timeout() to socket_set_timeout()
- Renamed set_socket_blocking() to socket_set_blocking() but kept the
  old name for compatibility. It now outputs a warning that
  set_socket_timeout() is deprecated but still goes through.
@ Added socket_get_status() function. Renamed:
@   set_socket_timeout() -> socket_set_timeout()
@   set_socket_blocking() -> socket_set_blocking(). (Andrei)
2000-02-01 20:02:44 +00:00
Andrei Zmievski
91bb21c522 Implemented realpath().
@ Added realpath() function. (Andrei)
2000-02-01 06:06:03 +00:00
Andrei Zmievski
bfc85c288a Fix prototype. 2000-01-15 19:42:40 +00:00
Andrei Zmievski
4423bf9d10 Added ability to set timeout on socket read operations. New function
set_socket_timeout(socket, seconds, microseconds) sets the timeout.
@- Added ability to set timeout on socket read operations through
@ set_socket_timeout() function. (Andrei)
2000-01-15 19:41:17 +00:00
Thies C. Arntzen
48e10ec9c4 @- Applied safe-mode patch to popen(). (Patch by Kristian Köhntopp) 2000-01-06 15:27:03 +00:00
Sascha Schumann
43ae2bffbb Happy Y2K patch! Happy new year (or the new millennium, depending on whether
you start counting at 0 or 1).
2000-01-01 01:32:05 +00:00
Thies C. Arntzen
e96c5401f1 commented out select() & friends for now - we need to come up with a good API for those! 1999-12-21 16:51:27 +00:00
Andrei Zmievski
1ad5180f28 getParameters -> zend_get_parameters 1999-12-20 17:34:55 +00:00
Zeev Suraski
a1ad2872ee - The tree compiles again 1999-12-18 22:40:35 +00:00
Zeev Suraski
3ee4e65c95 More php3_ annihilation 1999-12-18 04:01:20 +00:00
Zeev Suraski
fb1c77bd4f - Made PHP_VERSION and PHP_OS work again
- More php3_ cleanup
@- Restored the PHP_VERSION and PHP_OS constants (Zeev)
1999-12-17 20:55:31 +00:00
Zeev Suraski
a3c6514332 More php3_ annihilation 1999-12-17 19:51:39 +00:00
Zeev Suraski
02d3b39420 More php3_ annihilation 1999-12-17 19:16:50 +00:00
Andrei Zmievski
33d82cb6d1 get_meta_tags() was using php_stristr() so it needed to be changed.
Optimized it to use php_memnstr() directly.
1999-12-11 19:51:04 +00:00
Sascha Schumann
4a60eed469 Fix some warnings 1999-12-05 16:25:32 +00:00
Sascha Schumann
5b983c944f Clean up php3.*\.h files. The files itself are renamed, and references in all
.*\.[ch] files were changed. There is a slight chance that my script missed
a few changes, please correct them manually.
1999-12-04 19:19:57 +00:00
Andi Gutmans
2337d110f9 - Added opened_path to php_fopen_wrapper() and the URL fopen wrapper (it's not
always properly set, it's a TODO for all of us).  This enables us to implement
  true 'use' support.
@- Added support for the 'use' keyword - behaves like 'require', but will not
@  use the same file more than once (Andi & Zeev, Zend library)
1999-11-30 20:18:11 +00:00
Sascha Schumann
d462115341 Killing some unused variable warnings 1999-11-24 17:56:31 +00:00
Evan Klinger
18fb96efb4 Freeing the memory would be a good idea... 1999-11-24 06:16:37 +00:00
Evan Klinger
633d18de0f Can't forget fd_isset() 1999-11-24 03:47:58 +00:00
Evan Klinger
769e25e168 First attempt at fd_set() and select()
# Please test thoroughly
1999-11-24 03:05:10 +00:00