Commit Graph

1157 Commits

Author SHA1 Message Date
Hartmut Holzgraefe
cae27179ce fopen wrappers cleanup
- comfiguration is now done by an ini parameter
    instead of a compile time option
  - the implementations of the three standard wrappers
    now live in seperate files in ext/standard
  - the compiler is happy again, no more warnings
2000-10-13 00:09:31 +00:00
Sascha Schumann
3ee228371d Let strtr() use smart_str to reduce complexity 2000-10-12 01:26:26 +00:00
Sascha Schumann
174253123e Rewrite php_str_to_str using the smart_str API.
This removes much complexity from the function.

Speed is improved by pre-allocating memory instead of reallocating
the buffer each time the pattern is found.
2000-10-12 00:50:28 +00:00
Sascha Schumann
82d199b639 Move structure definition into its own file, so that public header
files don't need to include the complete source code.
2000-10-12 00:48:12 +00:00
Hartmut Holzgraefe
f2ddc10685 proto typo fixes 2000-10-11 13:51:32 +00:00
Hartmut Holzgraefe
332b7125de added missing protos 2000-10-11 11:40:29 +00:00
Hartmut Holzgraefe
be19c812ab added some missing protos 2000-10-11 11:25:13 +00:00
Sascha Schumann
5674f1be45 Ignore close tags and use unsigned char type. 2000-10-04 18:06:20 +00:00
Andi Gutmans
a1abfb7643 - Fix dirname() 2000-10-03 16:47:25 +00:00
Andi Gutmans
d37b140601 - Fix VC++ warning 2000-10-03 14:43:04 +00:00
Andi Gutmans
bf7603cf83 - Now really fix it. 2000-10-02 18:13:53 +00:00
Andi Gutmans
28c96e89e1 - Fix bug in parse_url() 2000-10-02 17:51:30 +00:00
Andi Gutmans
2622eba31d - Cleanup some output functions 2000-09-30 16:13:48 +00:00
Sascha Schumann
4b89b67d1c Don't try to serialize references.
Circular references would otherwise kill PHP, as the serializer
would overrun the stack.
2000-09-29 18:48:40 +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
Sascha Schumann
3823ad3ec0 Recognize single quotes around cdata.
Move smart_str functions to an extra file.
2000-09-27 15:26:39 +00:00
Sascha Schumann
1cc3e6b5e6 Move php_memnstr to the header file, so that the function body is available
in all compilation units (note the static linkage).
2000-09-27 15:18:00 +00:00
Sascha Schumann
7db874096e Unify memory allocation in smart_str functions 2000-09-26 11:00:39 +00:00
Stig Venaas
9a9e2e72b0 Small fix to the literal IPv6 parsing, now stops at first ] after [ 2000-09-22 00:33:55 +00:00
Stig Venaas
0776f7d3d7 Parsing of URLs with literal IPv6 addresses, see RFC 2732
@- IPv6 support in fopen (one can access IPv6 ftp/web servers) (Stig Venaas)
2000-09-22 00:12:00 +00:00
Sascha Schumann
854c0622f0 Cleanup SCANNER_DEBUG and don't NUL terminate work buffer 2000-09-20 08:59:52 +00:00
Sascha Schumann
cfa22547e0 Use emalloc and friends. Since we reuse all buffers, this does not affect
the speed.

The smart_str_* functions don't NUL terminate strings anymore. We can
rely on the length of the strings completely.
2000-09-20 08:40:33 +00:00
Sascha Schumann
16d7cb88fa Remove this pseudo optimization from the previous rewrite.
Since we leave/enter the loop more often, the cost of maintaining
c_arg/c_val is higher than simply copying the tag/arg string once.
2000-09-20 08:13:45 +00:00
Sascha Schumann
f27f790f29 Another 5%-10% speed increase achieved by
- making ctx->val read-only
- adding a special appendc function for appending single characters
2000-09-20 08:06:01 +00:00
Sascha Schumann
7aa23d3ca3 Add support for URLs containing NAME info (for scrolling; #name). 2000-09-20 02:04:19 +00:00
Sascha Schumann
cd9ab22f84 Rename prototype to currently used name. These stupid names will go away once
the transition periode ends.
2000-09-20 01:25:19 +00:00
Sascha Schumann
a2dc8a2fa5 2nd Rewrite of the main scanner engine. This version is cleaner and faster.
It handles the following tags currently:

<FRAME .. SRC=URL ..>
<INPUT .. TYPE=IMAGE SRC=URL ..>
<A     .. HREF=URL ..>
<AREA  .. HREF=URL ..>
<IMG   .. SRC=URL ..>

Additional ones can be added within seconds.

The support for HTML forms has been significantly improved. The scanner
will now add proper Hidden Fields for the Session ID.
2000-09-20 01:15:10 +00:00
Sascha Schumann
cc53ad5166 Reduce the amount of copying in the mainloop. We copy tag/arg only, if we
need to preserve them for a new loop iteration (after we leave mainloop).
Otherwise, we can just let them point to the work area.
2000-09-19 20:19:03 +00:00
Sascha Schumann
dd59d14805 Revert part of last commit. I'll refine it later. 2000-09-19 19:18:41 +00:00
Andi Gutmans
c54047b0b0 - Change to Z_BVAL macro 2000-09-19 18:19:02 +00:00
Sascha Schumann
a7ef1966ac Another speedup by avoiding string copies.
15% speed gain in test case (rewriting 1M URLs).
2000-09-19 18:17:28 +00:00
Sascha Schumann
95ae21ff1b Remove nextiter label 2000-09-19 18:01:29 +00:00
Sascha Schumann
7f86b7224c s/DEBUG/SCANNER_DEBUG/. "Convert" one macro to inline function to be more
consistent. Also use continue.
2000-09-19 18:00:58 +00:00
Zeev Suraski
5b0ca1585a Fix a few build bugs, still no go 2000-09-19 17:53:09 +00:00
Sascha Schumann
e07e19f271 The rewrite was completely authored by Hartmut 2000-09-19 17:45:44 +00:00
Sascha Schumann
e2efb3cf06 Remove unnecessary include directive 2000-09-19 17:39:43 +00:00
Zeev Suraski
c45b1c2c8b - Fix warnings
- Fix URL scanner startup crash
2000-09-19 17:37:34 +00:00
Sascha Schumann
4b3fb7b05e Add new URL scanner. This version is up to 20% faster. It will be
enabled by default once I'm sure that it works in every case.

To enable it, apply s/url_adapt_ext/url_adapt_ext_ex/ to session.c
2000-09-19 17:32:27 +00:00
Sascha Schumann
e986a4b0a3 Fix RINIT/RSHUTDOWN functions and add url_adapt_ext() 2000-09-19 17:21:26 +00:00
Stanislav Malyshev
08e1c852aa Fix decbin 2000-09-17 21:11:55 +00:00
Stanislav Malyshev
27fb7df0d2 Add empty string checks to add?slashes 2000-09-17 09:15:48 +00:00
Zak Greant
e9d946d374 Thought that I had just committed something really stupid.
On closer inspection, realized that the proto comments
for chown and chgrp were reversed. :)
I did not realize this and had only fixed chown previously
2000-09-16 05:10:03 +00:00
Zak Greant
e7b0cd7ad2 trivial change
corrected mistake in proto comment for chown fold
2000-09-16 05:02:06 +00:00
Zeev Suraski
6c3d7449e1 - Made eval() and several other runtime-evaluated code portions report the
nature and location of errors more accurately (Stas)
2000-09-12 20:48:33 +00:00
Andrei Zmievski
5470222d70 Forgot to update proto. 2000-09-12 19:04:50 +00:00
Andrei Zmievski
34574352be @- Added second argument to array_reverse() that indicatese whether
@  the original array keys should be preserved. (Andrei)
2000-09-12 19:03:59 +00:00
Daniel Beckham
b852f3941f reversed chomp alias addition as per Andi Gutmans' request 2000-09-12 19:00:21 +00:00
Rasmus Lerdorf
75d73aaffb # missed proto comments 2000-09-12 17:24:46 +00:00
Rasmus Lerdorf
d23ad61dc3 Clean up htmlspecialchars/htmlentities inconsistencies.
@Clean up htmlspecialchars/htmlentities inconsistencies. (Rasmus)
2000-09-12 17:22:37 +00:00
Daniel Beckham
5925071957 added chomp() alias for chop() for us Perl purists. 2000-09-12 15:54:10 +00:00
Stanislav Malyshev
44e04f7688 Make parse_str always register globals with 1 argument and never -
with 2 arguments
2000-09-12 10:56:25 +00:00
Stanislav Malyshev
e0a5a4813e A quick attempt to make parse_str($str,$arr) not register globals. 2000-09-12 10:54:45 +00:00
Andi Gutmans
88b469203c - Fix bug #5997 2000-09-12 04:13:21 +00:00
Derick Rethans
71066c12dc - Fix for bug #6673
- Added a "cut" option to wordwrap (as per feature request #6429)
@ Added an optional parameter to wordwrap that cuts a string if the length
  of a word is longer than the maximum allowed with (Derick)
2000-09-11 20:06:24 +00:00
Andi Gutmans
4b243ebeeb - Remove #if 0 code 2000-09-11 19:04:23 +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
Andrei Zmievski
6ac728e179 (PHP parse_str) ParameterPassedByReference() check is not necessary. 2000-09-11 14:54:12 +00:00
Stanislav Malyshev
1ccac6ed55 Add additional parameter to parse_str for saving result (thanks to
John Bafford <dshadow@zort.net>)
@ Added second parameter for parse_str to save result (John Bafford)
2000-09-11 14:50:26 +00:00
Andrei Zmievski
5abacc5413 (PHP pathinfo) Fixed more typos. 2000-09-11 13:54:59 +00:00
Andrei Zmievski
5ed3e24f47 (PHP pathinfo) Fixed leaks, saved some memory allocations, added
more error checking.
2000-09-11 13:52:22 +00:00
Stanislav Malyshev
e8f3025373 Make unpack("H") work like in Perl 2000-09-10 13:47:51 +00:00
Stanislav Malyshev
4237ddadb5 Fix pack() function reading string beyond the end 2000-09-10 13:34:03 +00:00
Stanislav Malyshev
d443fff043 Fix double unpack bug 2000-09-10 11:03:32 +00:00
Sterling Hughes
0b9a78cb1e @- Added the pathinfo() function. (Sterling) 2000-09-10 05:59:16 +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
Zeev Suraski
fa6bb59773 Fix build 2000-09-08 22:26:07 +00:00
Andrei Zmievski
b409d2f9ea is_uploaded_file() is probably a better name. 2000-09-08 21:58:28 +00:00
Zeev Suraski
75086e3088 - Implemented is_upload_file() 2000-09-08 21:56:47 +00:00
Stanislav Malyshev
85f42b7f7a Since we don't allow parameters for syslog, we shouln't pass the
string as format
2000-09-08 11:24:08 +00:00
Stanislav Malyshev
662c6c6c06 Fix readdir bug in libc5
@Fix readdir bug in libc5
# If libc5 receives 0 in *result of readdir_r, it just returns error
# That's a clear bug, so this is a workaround.
2000-09-07 17:55:53 +00:00
Thies C. Arntzen
573fe4346d fix #6552 & #6577
thanx to Blake Schwendiman" <blake@intechra.net>
2000-09-06 13:50:09 +00:00
Stanislav Malyshev
3fb701add0 More fixes fo ini_ handling functions 2000-09-05 18:33:02 +00:00
Colin Viebrock
6f59f8b078 str_repeat() should be able to handle multipliers of 0 gracefully, IMHO ...
Hope no one disagrees. :)
2000-09-05 18:25:58 +00:00
Rasmus Lerdorf
4a22d2e832 Add EscapeShellArg() function which turns a b into 'a b' and
a'b into 'a'\''b'
@Add EscapeShellArg() function (Rasmus)
2000-09-05 16:55:32 +00:00
Stanislav Malyshev
be83e732af Fix ini_restore variable length 2000-09-05 14:23:16 +00:00
Sterling Hughes
9f86ff884f @Add a php.ini option session.use_trans_sid to enable/disable trans-sid. (Sterling) 2000-09-04 22:21:10 +00:00
Andi Gutmans
e47d4fe249 - Increase buffers of output buffering to 40KB and 10KB increments which
makes more sense when web pages are typically like 10KB-20KB.
  I think it would be best to change the reallocation algorithm at least to
  redoubling when it's full instead of incrementing and possibly use
  a data structure similar to Zend/zend_static_allocator which uses memory
  blocks and not realloc().
2000-09-03 19:57:06 +00:00
Zeev Suraski
2183e2b0be Make gcc happy 2000-09-03 15:58:50 +00:00
Zeev Suraski
48f13455be Fix init bug 2000-09-03 15:56:54 +00:00
Stanislav Malyshev
a103b94876 Fix quoted_printable_decode (also should fix #6511) 2000-09-03 09:31:25 +00:00
foobar
436ca5d9bb @- Fixed a bug in checkdate() which caused < 1 years to be valid (Jani)
# Bug #6254
2000-09-03 04:09:48 +00:00
foobar
a666910848 Fixed bug #6409.
# And propably numerous other..? Either I am wrong or the documentation is.
2000-09-03 03:50:59 +00:00
Zeev Suraski
cf8e389799 @- Added support for an optional output handler function for output
@  buffering.  This enables transparent rendering of XML through XSL,
@  transparent compression, etc. (Zeev)
2000-09-02 18:03:58 +00:00
Sam Ruby
0240a571c8 Unitialized variable causes trap on Windows 2000-09-02 15:54:18 +00:00
Andrei Zmievski
cd8af6aa44 @- Added support for user defined 'tick' callback functions. This helps
@  emulate background processing. (Andrei)
2000-09-01 16:10:17 +00:00
Zeev Suraski
e065c308e9 - Fix dir.c
- Begin cleanup of php_error_cb()
2000-09-01 12:06:52 +00:00
Sascha Schumann
d60799bf6b Solaris/x86 insists of having a large buffer for storing the result of
readdir_r(), otherwise it will segfault.

PR: #6479
2000-09-01 09:38:19 +00:00
Stig Bakken
1bb90f5805 * all tests should pass now (expect for the interbase stuff that I haven't
had the chance to test)
2000-08-31 22:21:47 +00:00
Andi Gutmans
e8e5c9d97e - Remove redundant IS_SLASH
- Reverse config.w32.h patches
- Use IS_ABSOLUTE_PATH() in one place in fopen-wrappers.c
2000-08-31 19:49:36 +00:00
Colin Viebrock
461f50d50d Remove single quote from HTMLSpecialChars() ... use addslashes(),
htmlentities(), strtr() instead.
2000-08-30 15:27:23 +00:00
Thies C. Arntzen
b1d4fcb33c fix var_dump()s "}"-indention 2000-08-29 11:09:20 +00:00
Rasmus Lerdorf
fc3acfc4d5 Some minor cleanup to make W3C's tidy validator happy 2000-08-27 22:46:40 +00:00
Stig Bakken
315f4f5658 @PHP 3 regression testing framework re-born (Stig)
Took the old PHP 3 regression testing framework and rewrote it in PHP.
Should work on both Windows and UNIX, however I have not tested it on
Windows.  See tests/README for how to write tests.  Added the PHP 3
tests and converted most of them.
2000-08-27 19:46:06 +00:00
Stig Bakken
7eeda99a05 @Added php_uname() function (Stig)
Added php_uname() function.
2000-08-27 19:42:45 +00:00
Andi Gutmans
b79db079a6 - Fix possible overflow in fsockopen(). 2000-08-27 04:14:47 +00:00
Sam Ruby
a0b745a053 Add ***EXPERIMENTAL*** Zend OO Extension support for Microsoft.Net 2000-08-26 12:53:14 +00:00