/[Apache-SVN]/httpd/httpd/trunk/modules/filters/mod_include.c
ViewVC logotype

Log of /httpd/httpd/trunk/modules/filters/mod_include.c

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Revision:

Revision 832886 - (view) (annotate) - [select for diffs]
Modified Wed Nov 4 22:26:23 2009 UTC (3 weeks ago) by jorton
File length: 104241 byte(s)
Diff to previous 807930 (colored) , to selected 795642 (colored)
* modules/filters/mod_include.c (handle_printenv): Fix handling of
  lazy variables, courtesy of LLVM scan-build.

Revision 807930 - (view) (annotate) - [select for diffs]
Modified Wed Aug 26 08:56:13 2009 UTC (3 months ago) by bjh
File length: 104244 byte(s)
Diff to previous 795642 (colored)
Bring back OS/2 support.
Reverses r758929 with a little bit of conflict resolution.

Revision 795642 - (view) (annotate) - [selected]
Modified Sun Jul 19 21:54:36 2009 UTC (4 months, 1 week ago) by niq
File length: 104228 byte(s)
Diff to previous 795446 (colored)
Update r795445 patch in the light of rpluem's comments on-list

Revision 795446 - (view) (annotate) - [select for diffs]
Modified Sat Jul 18 23:21:52 2009 UTC (4 months, 1 week ago) by niq
File length: 104328 byte(s)
Diff to previous 795445 (colored) , to selected 795642 (colored)
Typo fix

Revision 795445 - (view) (annotate) - [select for diffs]
Modified Sat Jul 18 23:12:58 2009 UTC (4 months, 1 week ago) by niq
File length: 104327 byte(s)
Diff to previous 772997 (colored) , to selected 795642 (colored)
Fix mod_include potential segfault checking backref from unmatched regexp
http://markmail.org/message/jlc7t5edsjujbe37
Patch by rpluem, lars, niq

Revision 772997 - (view) (annotate) - [select for diffs]
Modified Fri May 8 14:13:15 2009 UTC (6 months, 2 weeks ago) by jorton
File length: 104092 byte(s)
Diff to previous 758929 (colored) , to selected 795642 (colored)
Security fix for CVE-2009-1195: fix Options handling such that
'AllowOverride Options=IncludesNoExec' does not permit Includes with
exec= enabled to be configured in an .htaccess file:

* include/http_core.h: Change semantics of Includes/IncludeNoExec
  options bits to be additive; OPT_INCLUDES now means SSI is enabled
  without exec=.  OPT_INCLUDES|OPT_INC_WITH_EXEC means SSI is enabled
  with exec=.

* server/core.c (create_core_dir_config): Remove defunct OPT_INCNOEXEC
  from default override_opts; no functional change.
  (merge_core_dir_configs): Update logic to ensure that exec= is
  disabled in a context where IncludesNoexec is configured, even if
  Includes-with-exec is permitted in the inherited options set.
  (set_allow_opts, set_options): Update to reflect new semantics
  of OPT_INCLUDES, OPT_INC_WITH_EXEC.

* server/config.c: Update to remove OPT_INCNOEXEC from default 
  override_opts; no functional change.

* modules/filters/mod_include.c (includes_filter): Update to reflect
  new options semantics - disable exec= support if the
  OPT_INC_WITH_EXEC bit is not set.

Submitted by: Jonathan Peatfield <j.s.peatfield damtp.cam.ac.uk>,
          jorton
Thanks to: Vincent Danon <vdanon redhat.com>

Revision 758929 - (view) (annotate) - [select for diffs]
Modified Thu Mar 26 23:47:52 2009 UTC (8 months ago) by trawick
File length: 104081 byte(s)
Diff to previous 757376 (colored) , to selected 795642 (colored)
remove OS/2 platform support

Revision 757376 - (view) (annotate) - [select for diffs]
Modified Mon Mar 23 11:12:23 2009 UTC (8 months ago) by jorton
File length: 104097 byte(s)
Diff to previous 730296 (colored) , to selected 795642 (colored)
Prevent a case of SSI timefmt-smashing with filter chains including
multiple INCLUDES filters:

* modules/filters/mod_include.c (add_include_vars): Drop unused
  timefmt argument.
  (add_include_vars_lazy): Take timefmt argument.
  (get_include_var, handle_printenv): Pass time format from context.

PR: 39369

Revision 730296 - (view) (annotate) - [select for diffs]
Modified Wed Dec 31 02:27:24 2008 UTC (10 months, 3 weeks ago) by niq
File length: 104682 byte(s)
Diff to previous 642978 (colored) , to selected 795642 (colored)
Add support for escaping all non-ascii chars to ap_escape_html, and use
it to fix PR#25202: encoding="entity" doesn't work as advertised in
mod_include.
For backport, this'll need an ABI-preserving version that'll be
a minor MMN bump.  But if we do that in /trunk/, it'll never change.

Revision 642978 - (view) (annotate) - [select for diffs]
Modified Mon Mar 31 12:29:05 2008 UTC (19 months, 3 weeks ago) by niq
File length: 104611 byte(s)
Diff to previous 642559 (colored) , to selected 795642 (colored)
Update mod_include for ap_expr update

Revision 642559 - (view) (annotate) - [select for diffs]
Modified Sat Mar 29 17:18:21 2008 UTC (19 months, 4 weeks ago) by niq
File length: 104602 byte(s)
Diff to previous 629456 (colored) , to selected 795642 (colored)
Update mod_include to use ap_expr API

Revision 629456 - (view) (annotate) - [select for diffs]
Modified Wed Feb 20 13:44:22 2008 UTC (21 months ago) by rpluem
File length: 121324 byte(s)
Diff to previous 592951 (colored) , to selected 795642 (colored)
* Set aside buckets that remain unprocessed in the filter context for the
  next filter pass.

PR: 44447
Submitted by: Harald Niesche <harald brokenerror.de>
Reviewed by: rpluem

Revision 592951 - (view) (annotate) - [select for diffs]
Modified Wed Nov 7 23:31:03 2007 UTC (2 years ago) by minfrin
File length: 121169 byte(s)
Diff to previous 572136 (colored) , to selected 795642 (colored)
core: Add the option to keep aside a request body up to a certain
size that would otherwise be discarded, to be consumed by filters
such as mod_include. When enabled for a directory, POST requests
to shtml files can be passed through to embedded scripts as POST
requests, rather being downgraded to GET requests.

Revision 572136 - (view) (annotate) - [select for diffs]
Modified Sun Sep 2 20:08:56 2007 UTC (2 years, 2 months ago) by minfrin
File length: 121004 byte(s)
Diff to previous 571872 (colored) , to selected 795642 (colored)
Move the accessenable variable into the private ssi_internal_ctx structure
instead of the public include_ctx_t structure.

Revision 571872 - (view) (annotate) - [select for diffs]
Modified Sat Sep 1 21:27:26 2007 UTC (2 years, 2 months ago) by minfrin
File length: 120918 byte(s)
Diff to previous 557837 (colored) , to selected 795642 (colored)
mod_include: Add an "if" directive syntax to test whether an URL
is accessible, and if so, conditionally display content. This
allows a webmaster to hide a link to a private page when the user
has no access to that page.

Revision 557837 - (view) (annotate) - [select for diffs]
Modified Fri Jul 20 01:26:55 2007 UTC (2 years, 4 months ago) by niq
File length: 118781 byte(s)
Diff to previous 420983 (colored) , to selected 795642 (colored)
Multiple trivial fixes from Christophe JAILLET
PR 38699, 39518, 42005, 42006, 42007, 42008, 42009
The patches are all his, and are sufficiently trivial to review
at a glance.

Revision 420983 - (view) (annotate) - [select for diffs]
Modified Tue Jul 11 20:33:53 2006 UTC (3 years, 4 months ago) by fielding
File length: 118821 byte(s)
Diff to previous 395228 (colored) , to selected 795642 (colored)
update license header text

Revision 395228 - (view) (annotate) - [select for diffs]
Modified Wed Apr 19 12:11:27 2006 UTC (3 years, 7 months ago) by colm
File length: 118674 byte(s)
Diff to previous 382147 (colored) , to selected 795642 (colored)
Update the copyright year in all .c, .h and .xml files

Revision 382147 - (view) (annotate) - [select for diffs]
Modified Wed Mar 1 20:40:25 2006 UTC (3 years, 8 months ago) by wrowe
File length: 118674 byte(s)
Diff to previous 332306 (colored) , to selected 795642 (colored)
  APR_FILEPATH_NOTABOVEROOT was undefined with a left-hand NULL
  or empty path.  The SECUREROOTPATH and NOTABSOLUTE tests were
  sufficient for this application.  Adjusts for a bug in earlier
  versions of APR with this undefined value.

Revision 332306 - (view) (annotate) - [select for diffs]
Modified Thu Nov 10 15:11:44 2005 UTC (4 years ago) by jim
File length: 118798 byte(s)
Diff to previous 280010 (colored) , to selected 795642 (colored)
No functional Change: Removing trailing whitespace. This also
means that "blank" lines consisting of just spaces or
tabs are now really blank lines

Revision 280010 - (view) (annotate) - [select for diffs]
Modified Sat Sep 10 14:43:58 2005 UTC (4 years, 2 months ago) by jim
File length: 118849 byte(s)
Diff to previous 179763 (colored) , to selected 795642 (colored)
gcc -Wall cleanup

Revision 179763 - (view) (annotate) - [select for diffs]
Modified Fri Jun 3 10:12:50 2005 UTC (4 years, 5 months ago) by jorton
File length: 118842 byte(s)
Diff to previous 153384 (colored) , to selected 795642 (colored)
* modules/filters/mod_include.c (handle_include): Fix possible
variable corruption with nested includes.

PR: 12655

Revision 153384 - (view) (annotate) - [select for diffs]
Modified Fri Feb 11 12:00:41 2005 UTC (4 years, 9 months ago) by jorton
File length: 118693 byte(s)
Diff to previous 151408 (colored) , to selected 795642 (colored)
Move the POSIX reg* implementations into the ap_* namespace;
internalise the ap_reg*<->PCRE wrapper:

* configure.in: Add srclib/pcre to the include path.

* include/ap_regex.h: Renamed from include/pcreposix.h.  Prefix all
constants with AP_; prefix all functions and types with ap_.  Define
AP_DECLARE to nothing if necessary.  Remove regcomp error codes.

* include/httpd.h: Include ap_regex.h not pcreposix.h.
(ap_pregcomp, ap_regexec, ap_regfree): s/regex_t/ap_regex_t/.
(ap_regexec, ap_regerror): Prototypes moved to ap_regex.h.

* server/util.c (regex_cleanup, ap_pregcomp, ap_pregsub, ap_pregfree):
Adjust for ap_ prefixed types.  (ap_regexec, ap_regerror): Removed.

* server/Makefile.in: Build util_pcre.c.

* server/util_pcre.c: Copied from srclib/pcre/pcreposix.c; remove use
of PCRE-internals to do error mapping; rename types to add AP_/ap_
prefixes as above.  Use APR includes.  (ap_regerror): Use apr_snprintf.

* srclib/pcre/Makefile.in: Don't build pcreposix.c into libpcre.la.

* modules/*: Update to use new type and constant names.

PR: 27750 (part one)
Submitted by: Andres Salomon <dilinger voxel.net>, Joe Orton

Revision 151408 - (view) (annotate) - [select for diffs]
Modified Fri Feb 4 20:28:49 2005 UTC (4 years, 9 months ago) by jerenkrantz
File length: 118685 byte(s)
Diff to previous 106103 (colored) , to selected 795642 (colored)
Update copyright year to 2005 and standardize on current copyright owner line.

Revision 106103 - (view) (annotate) - [select for diffs]
Modified Sun Nov 21 18:50:36 2004 UTC (5 years ago) by nd
File length: 118649 byte(s)
Diff to previous 104439 (colored) , to selected 795642 (colored)
general property cleanup

Revision 104439 - (view) (annotate) - [select for diffs]
Modified Sun Aug 1 01:12:30 2004 UTC (5 years, 3 months ago) by jerenkrantz
File length: 118649 byte(s)
Diff to previous 103966 (colored) , to selected 795642 (colored)
Remove deprecated APR_STATUS_IS_SUCCESS() macro in favor of direct test against
APR_SUCCESS.

Revision 103966 - (view) (annotate) - [select for diffs]
Modified Tue Jun 15 20:49:46 2004 UTC (5 years, 5 months ago) by jorton
File length: 118703 byte(s)
Diff to previous 102618 (colored) , to selected 795642 (colored)
* modules/filters/mod_include.c (send_parsed_content): Only destroy
the temporary brigade if it wasn't passed on to the next filter.

Revision 102618 - (view) (annotate) - [select for diffs]
Modified Mon Feb 9 20:31:03 2004 UTC (5 years, 9 months ago) by nd
File length: 118700 byte(s)
Diff to previous 102562 (colored) , to selected 795642 (colored)
fix name of The Apache Software Foundation

Revision 102562 - (view) (annotate) - [select for diffs]
Modified Sun Feb 8 12:00:07 2004 UTC (5 years, 9 months ago) by nd
File length: 118696 byte(s)
Diff to previous 102525 (colored) , to selected 795642 (colored)
fix copyright dates according to the first checkin

Revision 102525 - (view) (annotate) - [select for diffs]
Modified Fri Feb 6 22:58:42 2004 UTC (5 years, 9 months ago) by nd
File length: 118696 byte(s)
Diff to previous 102328 (colored) , to selected 795642 (colored)
apply Apache License, Version 2.0

Revision 102328 - (view) (annotate) - [select for diffs]
Modified Tue Jan 13 22:12:02 2004 UTC (5 years, 10 months ago) by nd
File length: 121113 byte(s)
Diff to previous 102147 (colored) , to selected 795642 (colored)
bust the "recursive include" test. It's no longer necessary and prevents
users from careful use of the feature.

Revision 102147 - (view) (annotate) - [select for diffs]
Modified Fri Jan 2 23:45:06 2004 UTC (5 years, 10 months ago) by nd
File length: 123005 byte(s)
Diff to previous 102144 (colored) , to selected 795642 (colored)
fix a rewrite mistake: restore the ability to expand variables within
<!--include file...-->.

Revision 102144 - (view) (annotate) - [select for diffs]
Modified Fri Jan 2 23:35:05 2004 UTC (5 years, 10 months ago) by nd
File length: 122999 byte(s)
Diff to previous 102135 (colored) , to selected 795642 (colored)
remove superfluous assignment

Revision 102135 - (view) (annotate) - [select for diffs]
Modified Thu Jan 1 13:26:26 2004 UTC (5 years, 10 months ago) by nd
File length: 123074 byte(s)
Diff to previous 102005 (colored) , to selected 795642 (colored)
update license to 2004.

Revision 102005 - (view) (annotate) - [select for diffs]
Modified Wed Dec 10 02:30:21 2003 UTC (5 years, 11 months ago) by stas
File length: 123074 byte(s)
Diff to previous 101999 (colored) , to selected 795642 (colored)
update the misconfigured INCLUDES skipping code to remove itself, so it'd complain
only once
PR:
Obtained from:
Submitted by:
Reviewed by:	Jeff Trawick, Bill Rowe

Revision 101999 - (view) (annotate) - [select for diffs]
Modified Tue Dec 9 01:58:21 2003 UTC (5 years, 11 months ago) by stas
File length: 123038 byte(s)
Diff to previous 101687 (colored) , to selected 795642 (colored)
     complain via error_log when mod_include's INCLUDES filter is
     enabled, but the relevant Options flag allowing the filter to run
     for the specific resource wasn't set, so that the filter won't
     silently get skipped.
PR:
Obtained from:
Submitted by:
Reviewed by:	nd

Revision 101687 - (view) (annotate) - [select for diffs]
Modified Sun Nov 2 22:09:19 2003 UTC (6 years ago) by nd
File length: 122845 byte(s)
Diff to previous 101556 (colored) , to selected 795642 (colored)
no longer allow an ETag header in 304 responses.

PR: 19355
Submitted by: Geoffrey Young <geoff@apache.org>

Revision 101556 - (view) (annotate) - [select for diffs]
Modified Fri Oct 24 16:20:28 2003 UTC (6 years, 1 month ago) by striker
File length: 122618 byte(s)
Diff to previous 101461 (colored) , to selected 795642 (colored)
Fold in the CAN-2003-0542 regex patch.

Revision 101461 - (view) (annotate) - [select for diffs]
Modified Wed Oct 15 22:55:48 2003 UTC (6 years, 1 month ago) by nd
File length: 122602 byte(s)
Diff to previous 101234 (colored) , to selected 795642 (colored)
fix segfault which occured if the filename was not
set, for example, when processing some error conditions.

PR: 23836

Revision 101234 - (view) (annotate) - [select for diffs]
Modified Fri Sep 12 23:01:20 2003 UTC (6 years, 2 months ago) by fielding
File length: 122587 byte(s)
Diff to previous 101207 (colored) , to selected 795642 (colored)
fix snprintf format type warnings

Revision 101207 - (view) (annotate) - [select for diffs]
Modified Tue Sep 9 18:24:43 2003 UTC (6 years, 2 months ago) by trawick
File length: 122523 byte(s)
Diff to previous 101154 (colored) , to selected 795642 (colored)
void * can't be used as a function pointer without casting

Revision 101154 - (view) (annotate) - [select for diffs]
Modified Wed Sep 3 19:27:12 2003 UTC (6 years, 2 months ago) by trawick
File length: 122465 byte(s)
Diff to previous 101130 (colored) , to selected 795642 (colored)
switch to APR 1.0 API (which is still in flux)

because of the changes to the argument lists of apr_mmap_dup and apr_socket_create,
2.1-dev won't build with apr and apr-util's 0.9 branch anymore

Revision 101130 - (view) (annotate) - [select for diffs]
Modified Thu Aug 28 23:59:58 2003 UTC (6 years, 3 months ago) by nd
File length: 122465 byte(s)
Diff to previous 101129 (colored) , to selected 795642 (colored)
allow the undefined echo string to be configured via
<!--#config echomsg="..." -->

Revision 101129 - (view) (annotate) - [select for diffs]
Modified Thu Aug 28 23:20:44 2003 UTC (6 years, 3 months ago) by nd
File length: 122171 byte(s)
Diff to previous 101120 (colored) , to selected 795642 (colored)
allow SSIUndefinedEcho per directory

Revision 101120 - (view) (annotate) - [select for diffs]
Modified Thu Aug 28 01:35:46 2003 UTC (6 years, 3 months ago) by nd
File length: 122373 byte(s)
Diff to previous 101119 (colored) , to selected 795642 (colored)
be nice and accept == as well as token_eq.

Revision 101119 - (view) (annotate) - [select for diffs]
Modified Thu Aug 28 01:13:11 2003 UTC (6 years, 3 months ago) by nd
File length: 122335 byte(s)
Diff to previous 101118 (colored) , to selected 795642 (colored)
cleanup the TOKEN_AND/OR tree generation code.
- check more exactly whether the previous token is correct
- flip the tree from left-weighted to right-weighted, which is
  more natural and more efficient, since we don't need to loop
  up to the root, but just until the next and/or token.
- that way, flip the short circuit evaluation again to cut
  the right side now if possible...

Revision 101118 - (view) (annotate) - [select for diffs]
Modified Wed Aug 27 23:09:51 2003 UTC (6 years, 3 months ago) by nd
File length: 122250 byte(s)
Diff to previous 101116 (colored) , to selected 795642 (colored)
the extra buffer variable is no longer needed.

Revision 101116 - (view) (annotate) - [select for diffs]
Modified Wed Aug 27 21:36:03 2003 UTC (6 years, 3 months ago) by nd
File length: 122545 byte(s)
Diff to previous 101115 (colored) , to selected 795642 (colored)
simplifications. Don't repeat the same code again and again.

Revision 101115 - (view) (annotate) - [select for diffs]
Modified Wed Aug 27 20:26:28 2003 UTC (6 years, 3 months ago) by nd
File length: 124668 byte(s)
Diff to previous 101114 (colored) , to selected 795642 (colored)
hrm. reverting my last commit. TOKEN_GROUP is a protection against many
invalid expressions. Checking these all manually would take a lot more
cycles than it'd save. Sorry.

Revision 101114 - (view) (annotate) - [select for diffs]
Modified Wed Aug 27 19:32:35 2003 UTC (6 years, 3 months ago) by nd
File length: 124712 byte(s)
Diff to previous 101113 (colored) , to selected 795642 (colored)
TOKEN_GROUP is nothing but an identity operator, it gateways the
result of the enclosed expression. Since this expression will never
touched again during the tree-building stage, we can safely strip
TOKEN_GROUP from the tree and later evaluate the child directly.

The only side effect of this change is, that grouped strings on the
left side of EQ/NE/etc are now allowed (was invalid before), which
is acceptable IMHO (e.g. (foo bar baz) = zzzip)

Revision 101113 - (view) (annotate) - [select for diffs]
Modified Wed Aug 27 18:00:47 2003 UTC (6 years, 3 months ago) by nd
File length: 124916 byte(s)
Diff to previous 101111 (colored) , to selected 795642 (colored)
cleanup TOKEN_EQ, NE, LT & co tree generator:
- the left side of such an operator can *only* be a string
- get a rid of the while-loop and re-organize the code
  to better reflect what we're actually doing there

Revision 101111 - (view) (annotate) - [select for diffs]
Modified Wed Aug 27 15:35:13 2003 UTC (6 years, 3 months ago) by nd
File length: 125127 byte(s)
Diff to previous 101110 (colored) , to selected 795642 (colored)
minor optimization.

Revision 101110 - (view) (annotate) - [select for diffs]
Modified Wed Aug 27 14:04:51 2003 UTC (6 years, 3 months ago) by nd
File length: 125198 byte(s)
Diff to previous 101107 (colored) , to selected 795642 (colored)
forgot to add these debugging outputs

Revision 101107 - (view) (annotate) - [select for diffs]
Modified Tue Aug 26 17:20:16 2003 UTC (6 years, 3 months ago) by nd
File length: 125079 byte(s)
Diff to previous 101105 (colored) , to selected 795642 (colored)
improve debugging output

Revision 101105 - (view) (annotate) - [select for diffs]
Modified Tue Aug 26 00:32:03 2003 UTC (6 years, 3 months ago) by nd
File length: 124020 byte(s)
Diff to previous 101104 (colored) , to selected 795642 (colored)
since our parse tree is left-weighted, the short circuit evaluation
is way more useful if we short circuit the left side. So evaluate
the right side first. This, however, reverses my statement about
regex optimization (you have to put them onto the right side of an
&& or || operator to get a chance that the left side will be cutted).

Revision 101104 - (view) (annotate) - [select for diffs]
Modified Mon Aug 25 23:37:47 2003 UTC (6 years, 3 months ago) by nd
File length: 124016 byte(s)
Diff to previous 101103 (colored) , to selected 795642 (colored)
TOKEN_RE is only valid on the right side of EQ or NE. (previously this
error was caught during the evaluation stage)

Revision 101103 - (view) (annotate) - [select for diffs]
Modified Mon Aug 25 22:52:48 2003 UTC (6 years, 3 months ago) by nd
File length: 124157 byte(s)
Diff to previous 101102 (colored) , to selected 795642 (colored)
TOKEN_NOT and TOKEN_LBRACE duplicate exactly the same tree generation
code. Get a rid of this duplication.

Revision 101102 - (view) (annotate) - [select for diffs]
Modified Mon Aug 25 22:06:45 2003 UTC (6 years, 3 months ago) by nd
File length: 124710 byte(s)
Diff to previous 101101 (colored) , to selected 795642 (colored)
readability improvement. Handle the case of the current token being the
first parsed explicitly. There's probably also a minor performance improvement
on invalid expressions ... ;-)

Revision 101101 - (view) (annotate) - [select for diffs]
Modified Mon Aug 25 21:22:37 2003 UTC (6 years, 3 months ago) by nd
File length: 125161 byte(s)
Diff to previous 101100 (colored) , to selected 795642 (colored)
shorten the code by reversing the case conditions

Revision 101100 - (view) (annotate) - [select for diffs]
Modified Mon Aug 25 19:56:00 2003 UTC (6 years, 3 months ago) by nd
File length: 125695 byte(s)
Diff to previous 101097 (colored) , to selected 795642 (colored)
fix compiler warning on win32

Revision 101097 - (view) (annotate) - [select for diffs]
Modified Mon Aug 25 16:05:13 2003 UTC (6 years, 3 months ago) by nd
File length: 125688 byte(s)
Diff to previous 101095 (colored) , to selected 795642 (colored)
short circuit && and || evaluation. For backwards compat this is only
possible if there's no regex on the short circuited side (since it fills
in the backref data). The user may optimize this by putting the regex
onto the left side of the operator.

Revision 101095 - (view) (annotate) - [select for diffs]
Modified Mon Aug 25 15:36:51 2003 UTC (6 years, 3 months ago) by nd
File length: 124818 byte(s)
Diff to previous 101093 (colored) , to selected 795642 (colored)
simplify the dumper code

Revision 101093 - (view) (annotate) - [select for diffs]
Modified Mon Aug 25 03:30:50 2003 UTC (6 years, 3 months ago) by nd
File length: 125551 byte(s)
Diff to previous 101091 (colored) , to selected 795642 (colored)
if the tokenizer hits a string which begins with a backslash, this
backslash will be skipped and not recognized as an escape character.
That way, <!--#if expr="\)"--> or the like won't work correctly.
Fix it now.

Revision 101091 - (view) (annotate) - [select for diffs]
Modified Mon Aug 25 02:49:19 2003 UTC (6 years, 3 months ago) by nd
File length: 125564 byte(s)
Diff to previous 101090 (colored) , to selected 795642 (colored)
same cleanup applies to TOKEN_LBRACE

Revision 101090 - (view) (annotate) - [select for diffs]
Modified Mon Aug 25 02:21:20 2003 UTC (6 years, 3 months ago) by nd
File length: 126139 byte(s)
Diff to previous 101088 (colored) , to selected 795642 (colored)
cleanup TOKEN_NOT tree generation code:
- remove useless stuff
- shorten the code by inverting the switch/case conditions

Revision 101088 - (view) (annotate) - [select for diffs]
Modified Mon Aug 25 01:46:24 2003 UTC (6 years, 3 months ago) by nd
File length: 126741 byte(s)
Diff to previous 101087 (colored) , to selected 795642 (colored)
keep the parse tree consistent if a binary operator occurs within
parentheses.

Revision 101087 - (view) (annotate) - [select for diffs]
Modified Mon Aug 25 00:16:04 2003 UTC (6 years, 3 months ago) by nd
File length: 126659 byte(s)
Diff to previous 101081 (colored) , to selected 795642 (colored)
Ha! Wrote this combined tree dumper and consistency checker just for fun.

...and saw that the expression parser generates inconsistent trees under
some circumstances. So I've decided that the dumper code may be of public
interest :). The actual bugfixes will follow later.

Revision 101081 - (view) (annotate) - [select for diffs]
Modified Sun Aug 24 16:16:36 2003 UTC (6 years, 3 months ago) by nd
File length: 120936 byte(s)
Diff to previous 101080 (colored) , to selected 795642 (colored)
typo

Revision 101080 - (view) (annotate) - [select for diffs]
Modified Sun Aug 24 16:04:43 2003 UTC (6 years, 3 months ago) by nd
File length: 120932 byte(s)
Diff to previous 101079 (colored) , to selected 795642 (colored)
replace is_only_below stuff with apr_filepath_merge. I hope the flags
are correct :)

Revision 101079 - (view) (annotate) - [select for diffs]
Modified Sun Aug 24 00:35:22 2003 UTC (6 years, 3 months ago) by nd
File length: 121778 byte(s)
Diff to previous 101078 (colored) , to selected 795642 (colored)
remove the rest of the artifical string limitations

Revision 101078 - (view) (annotate) - [select for diffs]
Modified Sun Aug 24 00:25:42 2003 UTC (6 years, 3 months ago) by nd
File length: 122019 byte(s)
Diff to previous 101074 (colored) , to selected 795642 (colored)
cleanup the conditional expression parser for
- improved efficiency and memory footprint
- improved readability
- style
This includes an overhaul of the debugging macros, mostly
that they are not always in the way if one tries to understand
the code ;-)

Revision 101074 - (view) (annotate) - [select for diffs]
Modified Sat Aug 23 14:22:10 2003 UTC (6 years, 3 months ago) by nd
File length: 125694 byte(s)
Diff to previous 101073 (colored) , to selected 795642 (colored)
style

Revision 101073 - (view) (annotate) - [select for diffs]
Modified Sat Aug 23 13:54:17 2003 UTC (6 years, 3 months ago) by nd
File length: 125569 byte(s)
Diff to previous 101071 (colored) , to selected 795642 (colored)
cleanup regex stuff. regexps are now handled more graceful
(give warnings on out of range or undefined captures).

Revision 101071 - (view) (annotate) - [select for diffs]
Modified Sat Aug 23 03:53:34 2003 UTC (6 years, 3 months ago) by nd
File length: 125218 byte(s)
Diff to previous 101070 (colored) , to selected 795642 (colored)
don't waste memory, if someone configures another error message or
timeformat during runtime. The common case doesn't need max_string_len
at all and won't be configured more than one or two times.

Revision 101070 - (view) (annotate) - [select for diffs]
Modified Sat Aug 23 03:27:51 2003 UTC (6 years, 3 months ago) by nd
File length: 125950 byte(s)
Diff to previous 101069 (colored) , to selected 795642 (colored)
overhaul of ap_ssi_parse_string
- improve efficiency and memory footprint (don't use the power-of-two
  allocator)
- allow the combination of out = NULL && length = 0, which means that
  the resulting expansion is unlimited in length

Revision 101069 - (view) (annotate) - [select for diffs]
Modified Fri Aug 22 23:14:30 2003 UTC (6 years, 3 months ago) by nd
File length: 126400 byte(s)
Diff to previous 101068 (colored) , to selected 795642 (colored)
drop superfluous argument from ap_ssi_parse_string.
The new API should now be stable.

Revision 101068 - (view) (annotate) - [select for diffs]
Modified Fri Aug 22 23:03:35 2003 UTC (6 years, 3 months ago) by nd
File length: 126593 byte(s)
Diff to previous 101067 (colored) , to selected 795642 (colored)
cleanup handle_printenv function

Revision 101067 - (view) (annotate) - [select for diffs]
Modified Fri Aug 22 22:44:37 2003 UTC (6 years, 3 months ago) by nd
File length: 126840 byte(s)
Diff to previous 101066 (colored) , to selected 795642 (colored)
cleanup handle_set function

Revision 101066 - (view) (annotate) - [select for diffs]
Modified Fri Aug 22 22:03:17 2003 UTC (6 years, 3 months ago) by nd
File length: 126601 byte(s)
Diff to previous 101065 (colored) , to selected 795642 (colored)
cleanup handle_else and handle_endif functions

Revision 101065 - (view) (annotate) - [select for diffs]
Modified Fri Aug 22 21:46:00 2003 UTC (6 years, 3 months ago) by nd
File length: 126764 byte(s)
Diff to previous 101064 (colored) , to selected 795642 (colored)
cleanup handle_elif function. It now allow only one argument as well.

Revision 101064 - (view) (annotate) - [select for diffs]
Modified Fri Aug 22 21:35:06 2003 UTC (6 years, 3 months ago) by nd
File length: 127064 byte(s)
Diff to previous 101063 (colored) , to selected 795642 (colored)
cleanup handle_if function. It now allow only one expr="..." argument.

Revision 101063 - (view) (annotate) - [select for diffs]
Modified Fri Aug 22 21:16:14 2003 UTC (6 years, 3 months ago) by nd
File length: 127335 byte(s)
Diff to previous 101057 (colored) , to selected 795642 (colored)
cleanup handle_flastmod function

Revision 101057 - (view) (annotate) - [select for diffs]
Modified Fri Aug 22 07:40:48 2003 UTC (6 years, 3 months ago) by nd
File length: 127055 byte(s)
Diff to previous 101055 (colored) , to selected 795642 (colored)
cleanup handle_fsize function

Revision 101055 - (view) (annotate) - [select for diffs]
Modified Fri Aug 22 05:15:58 2003 UTC (6 years, 3 months ago) by nd
File length: 126921 byte(s)
Diff to previous 101054 (colored) , to selected 795642 (colored)
cleanup handle_config function

Revision 101054 - (view) (annotate) - [select for diffs]
Modified Fri Aug 22 04:54:59 2003 UTC (6 years, 3 months ago) by nd
File length: 126526 byte(s)
Diff to previous 101053 (colored) , to selected 795642 (colored)
cleanup handle_echo function

Revision 101053 - (view) (annotate) - [select for diffs]
Modified Fri Aug 22 04:34:07 2003 UTC (6 years, 3 months ago) by nd
File length: 126498 byte(s)
Diff to previous 101052 (colored) , to selected 795642 (colored)
cleanup handle_include function.
- use new ctx->argc member
- simplify code nesting and improve readability

Revision 101052 - (view) (annotate) - [select for diffs]
Modified Fri Aug 22 02:46:46 2003 UTC (6 years, 3 months ago) by nd
File length: 126960 byte(s)
Diff to previous 101049 (colored) , to selected 795642 (colored)
- clean up configuration routines
- give bndm a neater interface
- naming style improvements

Revision 101049 - (view) (annotate) - [select for diffs]
Modified Fri Aug 22 00:15:28 2003 UTC (6 years, 3 months ago) by nd
File length: 127376 byte(s)
Diff to previous 101048 (colored) , to selected 795642 (colored)
before working further, bring some kind of system into the stuff
and (re-)order the code. That should finally improve readability...

Revision 101048 - (view) (annotate) - [select for diffs]
Modified Thu Aug 21 23:29:21 2003 UTC (6 years, 3 months ago) by nd
File length: 124847 byte(s)
Diff to previous 101046 (colored) , to selected 795642 (colored)
further cleanup. No *real* code change. (mostly macro cleanup)

Revision 101046 - (view) (annotate) - [select for diffs]
Modified Thu Aug 21 22:01:34 2003 UTC (6 years, 3 months ago) by nd
File length: 128179 byte(s)
Diff to previous 101037 (colored) , to selected 795642 (colored)
bump mod_include's external API. The API is now more simple and expected
to be better extensible without breaking binary compatibility, since an
opaque pointer to internal structures is part of the public context.
(We can easily add APi functions that operate on this internal struct).

I've tried to keep this change as small as possible - sorry for the big
diff though, but the commit should be atomic. mod_cgi and mod_cgid won't
compile until the next commit, anyway.

Revision 101037 - (view) (annotate) - [select for diffs]
Modified Wed Aug 20 16:41:27 2003 UTC (6 years, 3 months ago) by nd
File length: 130186 byte(s)
Diff to previous 101036 (colored) , to selected 795642 (colored)
now drop the old code

Revision 101036 - (view) (annotate) - [select for diffs]
Modified Wed Aug 20 16:27:18 2003 UTC (6 years, 3 months ago) by nd
File length: 166303 byte(s)
Diff to previous 100728 (colored) , to selected 795642 (colored)
major overhaul of mod_include's filter parser. Note that the new code
contains a thin wrapper to ensure binary compatibility. (needed for
2.0 backport).

This is a two-tiered commit for better diffs. This one inserts the new
code (old code #if'd out).

Revision 100728 - (view) (annotate) - [select for diffs]
Modified Mon Jul 21 23:47:33 2003 UTC (6 years, 4 months ago) by jwoolley
File length: 130107 byte(s)
Diff to previous 98573 (colored) , to selected 795642 (colored)
Fixed a trio of mod include bugs.  The first two were
reported and investigated by Ron Park on dev@httpd in msgid
<161E04AB9955D54E826FD86360578554D27087@169.32.17.10.nat.cnet.com>;
the third was reported by Kevin Varley in PR 21095.

Bug 1:  An incorrect parameter to bndm() was causing start sequences
        that spanned buckets to drop characters.
Bug 2:  Failed conditional text spanning brigades would cause portions
        of the text that should have been removed to be present anyway.
Bug 3:  Dropped characters when the end sequence spanned an
        8000-byte boundary with MMAP off.

PR: 21095
Submitted by:	Ron Park <ronald.park@cnet.com>, Andr� Malo, Cliff Woolley

Revision 98573 - (view) (annotate) - [select for diffs]
Modified Mon Feb 3 17:53:28 2003 UTC (6 years, 9 months ago) by nd
File length: 130252 byte(s)
Diff to previous 96818 (colored) , to selected 795642 (colored)
finished that boring job:
update license to 2003.

Happy New Year! ;-))

Revision 96818 - (view) (annotate) - [select for diffs]
Modified Sun Sep 15 00:00:48 2002 UTC (7 years, 2 months ago) by jerenkrantz
File length: 130252 byte(s)
Diff to previous 95993 (colored) , to selected 795642 (colored)
Remove warnings seen with Sun's Forte compiler.

Revision 95993 - (view) (annotate) - [select for diffs]
Modified Wed Jul 10 06:01:14 2002 UTC (7 years, 4 months ago) by orlikowski
File length: 130304 byte(s)
Diff to previous 95906 (colored) , to selected 795642 (colored)
Continue the Bill Rowe apr_size_t crusade.

Revision 95906 - (view) (annotate) - [select for diffs]
Modified Fri Jun 28 08:40:25 2002 UTC (7 years, 5 months ago) by jerenkrantz
File length: 130300 byte(s)
Diff to previous 95818 (colored) , to selected 795642 (colored)
Add a filter_init function to the filters so that a filter can execute
arbitrary code before the handlers are invoked.

This resolves an issue with incorrect 304s on If-Modified-Since mod_include
requests since ap_meets_conditions() is not aware that this is a dynamic
request and it is not possible to satisfy 304 for these requests (unless
xbithack full is on, of course).  When mod_include runs as a filter, it is
too late to set any flag since the handler is responsible for calling
ap_meets_conditions(), which it should do before generating any data.

If a module doesn't need to run such arbitrary code, it can just pass NULL
as the argument and all is well.

PR:	9673
Reviewed by:	Ryan Bloom and others

Revision 95818 - (view) (annotate) - [select for diffs]
Modified Thu Jun 20 03:45:21 2002 UTC (7 years, 5 months ago) by brianp
File length: 129547 byte(s)
Diff to previous 95817 (colored) , to selected 795642 (colored)
Remove the old EOS logic that I neglected to delete on the last commit,
and add a check for ap_pass_brigade() failure

Revision 95817 - (view) (annotate) - [select for diffs]
Modified Thu Jun 20 02:59:25 2002 UTC (7 years, 5 months ago) by brianp
File length: 130107 byte(s)
Diff to previous 95803 (colored) , to selected 795642 (colored)
Cleaner handling of unterminated SSI directives

Revision 95803 - (view) (annotate) - [select for diffs]
Modified Wed Jun 19 07:21:45 2002 UTC (7 years, 5 months ago) by brianp
File length: 129094 byte(s)
Diff to previous 95687 (colored) , to selected 795642 (colored)
Fixed the EOS handling for partial SSI directives at the end of
brigades.  (This was causing us to produce no output, not even
an HTTP response header, for a document containing an unterminated
"<!--#" directive

Revision 95687 - (view) (annotate) - [select for diffs]
Modified Sat Jun 15 05:41:48 2002 UTC (7 years, 5 months ago) by brianp
File length: 128439 byte(s)
Diff to previous 95553 (colored) , to selected 795642 (colored)
Fixed a bug in the handling of nested if-statements in shtml files
PR: 9866

Revision 95553 - (view) (annotate) - [select for diffs]
Modified Thu Jun 6 21:49:59 2002 UTC (7 years, 5 months ago) by jerenkrantz
File length: 128437 byte(s)
Diff to previous 95290 (colored) , to selected 795642 (colored)
I have no earthly idea what this comment is referring to.  Nuke it.

Revision 95290 - (view) (annotate) - [select for diffs]
Modified Sun May 26 08:27:10 2002 UTC (7 years, 6 months ago) by brianp
File length: 128723 byte(s)
Diff to previous 95277 (colored) , to selected 795642 (colored)
Fix for suexec execution of CGI scripts from mod_include
(including security patch to ensure that <!--#include file="name.cgi"-->
is run as the suexec user rather than the httpd user)
PR: 7791, 8291
Submitted by: Colm MacCarthaigh <colmmacc@redbrick.dcu.ie>
Reviewed by:	Brian Pane

Revision 95277 - (view) (annotate) - [select for diffs]
Modified Sat May 25 04:06:35 2002 UTC (7 years, 6 months ago) by brianp
File length: 128724 byte(s)
Diff to previous 95151 (colored) , to selected 795642 (colored)
Fix for mod_include's parsing of "/regexp/" expressions in
<!--#if directives
Submitted by:	Julius Gawlas <julius_gawlas@hp.com>
Reviewed by:	Brian Pane

Revision 95151 - (view) (annotate) - [select for diffs]
Modified Fri May 17 11:33:10 2002 UTC (7 years, 6 months ago) by trawick
File length: 128694 byte(s)
Diff to previous 94929 (colored) , to selected 795642 (colored)
stop using APLOG_NOERRNO in calls to ap_log_[pr]error()

Revision 94929 - (view) (annotate) - [select for diffs]
Modified Sat May 4 06:10:59 2002 UTC (7 years, 6 months ago) by brianp
File length: 129239 byte(s)
Diff to previous 94677 (colored) , to selected 795642 (colored)
Fix for PR 8462: When tokenizing an unquoted string literal, don't
consume a ')' that immediately follows it.

Revision 94677 - (view) (annotate) - [select for diffs]
Modified Wed Apr 17 13:06:32 2002 UTC (7 years, 7 months ago) by trawick
File length: 129187 byte(s)
Diff to previous 94454 (colored) , to selected 795642 (colored)
don't call strchr(); we have a safer version -- ap_strchr_c()

Submitted by:	Stas Bekman
Reviewed by:	Jeff Trawick

Revision 94454 - (view) (annotate) - [select for diffs]
Modified Fri Apr 5 07:44:14 2002 UTC (7 years, 7 months ago) by brianp
File length: 129182 byte(s)
Diff to previous 94451 (colored) , to selected 795642 (colored)
Fix for the boundary case in which each character of an SSI directive
is in a separate bucket...the code in send_parsed_content() doesn't
expect a case where ctx->state==PARSE_DIRECTIVE but ctx->tag_start_buffer
is NULL.  So in found_start_sequence(), we set ctx->tag_start_buffer
to point to the next bucket if the end of the <!--# is at the very
end of the current bucket.

Revision 94451 - (view) (annotate) - [select for diffs]
Modified Fri Apr 5 07:03:07 2002 UTC (7 years, 7 months ago) by jwoolley
File length: 129043 byte(s)
Diff to previous 94450 (colored) , to selected 795642 (colored)
Get rid of overlay bogosity by copying the static string to the stack.
This keeps DEBUG_INCLUDE from segfaulting.

Revision 94450 - (view) (annotate) - [select for diffs]
Modified Fri Apr 5 06:03:30 2002 UTC (7 years, 7 months ago) by brianp
File length: 129117 byte(s)
Diff to previous 94445 (colored) , to selected 795642 (colored)
Remove an invalid comment.  (The only way that the bucket will
contain only a single byte is if slen==1, meaning that we've
replaced <!--# with a single-character token, and that character
is the first character in the bucket.  If that happens, then
pos+slen (aka 1) is the right amount by which to increase
bytes_parsed.

Revision 94445 - (view) (annotate) - [select for diffs]
Modified Fri Apr 5 04:20:22 2002 UTC (7 years, 7 months ago) by wrowe
File length: 129325 byte(s)
Diff to previous 94436 (colored) , to selected 795642 (colored)
  Mix 'n match signedness?  Make some emits go away.

Revision 94436 - (view) (annotate) - [select for diffs]
Modified Thu Apr 4 21:19:32 2002 UTC (7 years, 7 months ago) by rederpj
File length: 129318 byte(s)
Diff to previous 94351 (colored) , to selected 795642 (colored)

This patch fixes a core dump that occurs in mod_include during tag parsing
if the starting sequence (<!--#) finishes at the end of a bucket and the
directive starts at the beginning of the next bucket.

There is still a bug in the handling of conditional directives that span
buckets, but the core dump is now fixed and the conditional bug should
be even rarer than the core dump was. I'm fixing the conditional bug
seperately.

Revision 94351 - (view) (annotate) - [select for diffs]
Modified Mon Apr 1 02:41:08 2002 UTC (7 years, 7 months ago) by wrowe
File length: 128014 byte(s)
Diff to previous 94304 (colored) , to selected 795642 (colored)
  pointer subtraction yeilds a ssize_t, fix emit by notating the
  expression in terms of addition

Revision 94304 - (view) (annotate) - [select for diffs]
Modified Fri Mar 29 08:17:26 2002 UTC (7 years, 8 months ago) by jwoolley
File length: 128014 byte(s)
Diff to previous 94294 (colored) , to selected 795642 (colored)
BUCKET FREELISTS

Add an allocator-passing mechanism throughout the bucket brigades API.

From Apache's standpoint, the apr_bucket_alloc_t* used throughout a given
connection is stored in the conn_rec by the create_connection hook.  That
means it's the MPM's job to optimize recycling of apr_bucket_alloc_t's --
the MPM must ensure that no two threads can ever use the same one at the
same time, for instance.

Revision 94294 - (view) (annotate) - [select for diffs]
Modified Fri Mar 29 05:58:39 2002 UTC (7 years, 8 months ago) by brianp
File length: 127214 byte(s)
Diff to previous 94291 (colored) , to selected 795642 (colored)
Allow variable expansion within in the "var" arg to <!--#echo
and <!--#set, so that people can do things like this:
  <!--#echo var="${foo}_${bar}" -->

Revision 94291 - (view) (annotate) - [select for diffs]
Modified Fri Mar 29 04:47:10 2002 UTC (7 years, 8 months ago) by brianp
File length: 126952 byte(s)
Diff to previous 94284 (colored) , to selected 795642 (colored)
Replaced my fix for the is_only_below() bug with Cliff's faster
and simpler version.
Submitted by:	Cliff Woolley

Revision 94284 - (view) (annotate) - [select for diffs]
Modified Fri Mar 29 02:14:45 2002 UTC (7 years, 8 months ago) by brianp
File length: 126837 byte(s)
Diff to previous 94276 (colored) , to selected 795642 (colored)
Fixes for three problems in mod_include:
  * The ctx->tag_length computation in find_end_sequence() was a bit
    broken in cases where there was a "false alarm" match on a partial
    "-->"
  * The ap_ssi_get_tag_and_value() function needs to avoid walking off
    the end of the string.  After debugging this some more, I ended up
    using Cliff's original patch.
  * Infinite loop in is_only_below()

Revision 94276 - (view) (annotate) - [select for diffs]
Modified Fri Mar 29 00:39:56 2002 UTC (7 years, 8 months ago) by bnicholes
File length: 126739 byte(s)
Diff to previous 94254 (colored) , to selected 795642 (colored)
Stop the while loop from incrementing twice per iteration before checking for
the NULL terminator.  This was causing the while loop to walk off the end of any
string with an odd number of characters.

Revision 94254 - (view) (annotate) - [select for diffs]
Modified Thu Mar 28 01:57:03 2002 UTC (7 years, 8 months ago) by brianp
File length: 126739 byte(s)
Diff to previous 94251 (colored) , to selected 795642 (colored)
Revert my last fix, which broke more things than it fixed

Revision 94251 - (view) (annotate) - [select for diffs]
Modified Thu Mar 28 01:19:58 2002 UTC (7 years, 8 months ago) by brianp
File length: 126770 byte(s)
Diff to previous 94248 (colored) , to selected 795642 (colored)
Don't walk past the end of the tag in ap_ssi_get_tag_and_value()
Discovered by: Cliff Woolley

Revision 94248 - (view) (annotate) - [select for diffs]
Modified Thu Mar 28 01:05:24 2002 UTC (7 years, 8 months ago) by stoddard
File length: 126739 byte(s)
Diff to previous 94153 (colored) , to selected 795642 (colored)
ap_run_sub_req does not return apr_status, so we shouldn't be checking
APR_STATUS_IS_EPIPE(). Also, remove the code that assumed the sub_req_lookup_uri
actually served up the content in the quick handler. We now call the quick_handler
in ap_run_sub_req()

Revision 94153 - (view) (annotate) - [select for diffs]
Modified Sun Mar 24 06:42:14 2002 UTC (7 years, 8 months ago) by brianp
File length: 127284 byte(s)
Diff to previous 94056 (colored) , to selected 795642 (colored)
Small performance optimization for find_end_sequence(): when we find
the start of a directive, scan through the rest of it in a minimal
loop before popping back out to the main char-at-a-time parser loop

Revision 94056 - (view) (annotate) - [select for diffs]
Modified Wed Mar 20 17:41:55 2002 UTC (7 years, 8 months ago) by stoddard
File length: 127032 byte(s)
Diff to previous 94027 (colored) , to selected 795642 (colored)
Commit 1 of 2 to:
1. rename ap_rset_content_type to ap_set_content_type
2. reverse the arguments on the call to aligh with ap_set_content_length

Revision 94027 - (view) (annotate) - [select for diffs]
Modified Wed Mar 20 01:58:47 2002 UTC (7 years, 8 months ago) by stoddard
File length: 127033 byte(s)
Diff to previous 93983 (colored) , to selected 795642 (colored)
First commit to introduce accessor function to set r->content_type..

Revision 93983 - (view) (annotate) - [select for diffs]
Modified Sun Mar 17 17:35:39 2002 UTC (7 years, 8 months ago) by brianp
File length: 127026 byte(s)
Diff to previous 93979 (colored) , to selected 795642 (colored)
Performance fix for ap_ssi_get_tag_and_value: do a lightweight
scan through the tag value until/unless we reach a backslash
that necessitates the more complicated scanner loop.  In cases
where there isn't a backslash in the tag value, this reduces
the overhead of the scan from 5 comparisons per character to 3.

Revision 93979 - (view) (annotate) - [select for diffs]
Modified Sun Mar 17 06:31:22 2002 UTC (7 years, 8 months ago) by brianp
File length: 126351 byte(s)
Diff to previous 93978 (colored) , to selected 795642 (colored)
Another optimization for find_end_sequence: once we're in the
middle of parsing a tag, consume the entire tag in a quick loop,
rather than jumping back to the outer state-machine loop for
each character

Revision 93978 - (view) (annotate) - [select for diffs]
Modified Sun Mar 17 06:04:33 2002 UTC (7 years, 8 months ago) by brianp
File length: 126152 byte(s)
Diff to previous 93918 (colored) , to selected 795642 (colored)
Small performance improvement for find_end_sequence()

Revision 93918 - (view) (annotate) - [select for diffs]
Modified Wed Mar 13 20:48:07 2002 UTC (7 years, 8 months ago) by fielding
File length: 126063 byte(s)
Diff to previous 93917 (colored) , to selected 795642 (colored)
Update our copyright for this year.

Revision 93917 - (view) (annotate) - [select for diffs]
Modified Wed Mar 13 20:41:48 2002 UTC (7 years, 8 months ago) by trawick
File length: 126063 byte(s)
Diff to previous 93916 (colored) , to selected 795642 (colored)
fix the remaining sizeof(token.value) bogosity

Revision 93916 - (view) (annotate) - [select for diffs]
Modified Wed Mar 13 20:32:28 2002 UTC (7 years, 8 months ago) by trawick
File length: 126335 byte(s)
Diff to previous 93788 (colored) , to selected 795642 (colored)
Fix some mod_include bugs which broke the evaluation of some expressions.

There are a few instances of the same basic problem which are not yet
fixed and which I have marked with /* XXX.*FUBAR*/.

PR:      10108

Revision 93788 - (view) (annotate) - [select for diffs]
Modified Fri Mar 8 04:14:26 2002 UTC (7 years, 8 months ago) by ianh
File length: 126691 byte(s)
Diff to previous 93756 (colored) , to selected 795642 (colored)
new directive SSIUndefinedEcho.
this allows webadmins to change the default '(none)' to something
a bit more presentable (eg <!-- undef -->)
PR:
Obtained from: Rex (the hack he had to fix this was so ugly I was forced to do this)
Submitted by:
Reviewed by:

Revision 93756 - (view) (annotate) - [select for diffs]
Modified Thu Mar 7 09:27:17 2002 UTC (7 years, 8 months ago) by jerenkrantz
File length: 125831 byte(s)
Diff to previous 93650 (colored) , to selected 795642 (colored)
As hinted on dev@httpd, change filter naming schemes to match our
expectations of their usage.

The reason that we should make this change now is that we have changed
the implied meaning of AP_FTYPE_HTTP_HEADER - some users of this should
be PROTOCOL while others should be CONTENT_SET.  In order to clarify it,
toss all of the bogus names and force the filter writers to make sure
they understand what they are doing.

CONTENT_SET is new (horrible name - change if you have better idea), but
it indicates that it should run between RESOURCE and PROTOCOL.
mod_deflate is the ideal CONTENT_SET filter.

The changed type names are:
CONTENT is now RESOURCE.
HTTP_HEADER is now PROTOCOL.  However, most filters that used HTTP_HEADER
may want CONTENT_SET.  (Only things like POP and HTTP belong as PROTOCOL.)

MMN bump since all filters need to be recompiled due to filter reordering.

Revision 93650 - (view) (annotate) - [select for diffs]
Modified Thu Feb 28 23:24:08 2002 UTC (7 years, 8 months ago) by jwoolley
File length: 125830 byte(s)
Diff to previous 93557 (colored) , to selected 795642 (colored)
Use the new APR_BRIGADE_PREPEND() macro

Revision 93557 - (view) (annotate) - [select for diffs]
Modified Sun Feb 24 07:40:05 2002 UTC (7 years, 9 months ago) by brianp
File length: 126188 byte(s)
Diff to previous 93556 (colored) , to selected 795642 (colored)
Fix for the code that handles SSI tokens that span multiple
buckets: if a brigade containing an incomplete "<!--#" token
has been set aside in ctx->ssi_tag_brigade, we need to retrieve
and output the contents of that brigade if the next bucket (in
the next brigade) doesn't actually complete the "<!--#".

As part of this commit, I've commented out the recent changes
to detect flush buckets in the brigade, due to segfaults.  (I
think the fix may be to add some checks for sentinels and EOS
when advancing to the next bucket after the flush bucket.)

Revision 93556 - (view) (annotate) - [select for diffs]
Modified Sun Feb 24 04:47:22 2002 UTC (7 years, 9 months ago) by ianh
File length: 126101 byte(s)
Diff to previous 93555 (colored) , to selected 795642 (colored)
notes need to be 'set' at the main requests pool
not the 'sub-request' as notes live in the parent's request
lifetime.

PR:
Obtained from:
Submitted by:
Reviewed by:

Revision 93555 - (view) (annotate) - [select for diffs]
Modified Sun Feb 24 00:34:14 2002 UTC (7 years, 9 months ago) by ianh
File length: 125876 byte(s)
Diff to previous 93553 (colored) , to selected 795642 (colored)
baby steps
this fixes the case where we have a SSI start tag split up
over multiple buckets.

BTW
HTTPD-test is failing.
but it was failing on 2.0.32 version of mod-include as well


PR:
Obtained from:
Submitted by:	Brian Pane
Reviewed by:	Ian Holsman

Revision 93553 - (view) (annotate) - [select for diffs]
Modified Sat Feb 23 20:56:36 2002 UTC (7 years, 9 months ago) by ianh
File length: 125748 byte(s)
Diff to previous 93532 (colored) , to selected 795642 (colored)
make it work with flushes
make the false alarm not as generic
PR:
Obtained from:
Submitted by:
Reviewed by:	 Ian, Brian, Justin

Revision 93532 - (view) (annotate) - [select for diffs]
Modified Thu Feb 21 16:18:11 2002 UTC (7 years, 9 months ago) by ianh
File length: 124977 byte(s)
Diff to previous 92956 (colored) , to selected 795642 (colored)
fix problem where a unmatched tag was not sent if it was at the
end of a bucket


Obtained from: Alla Teper noticed it
Submitted by:
Reviewed by:	Cliff/Justin

Revision 92956 - (view) (annotate) - [select for diffs]
Modified Mon Jan 21 01:43:30 2002 UTC (7 years, 10 months ago) by ianh
File length: 124410 byte(s)
Diff to previous 92914 (colored) , to selected 795642 (colored)
These changes are to allow caching of subrequests via a quick_handler.

* Change SUBREQ_CORE so that it is a HTTP_HEADER (20) filter instead of a content filter (10)
  this allows subrequests to add content filters properly

* Change subreq handling of 'handle-include' so that it splits/passes the brigade before the subreq
  is created. (This allows quick_handler to push content back from this phase)

Revision 92914 - (view) (annotate) - [select for diffs]
Modified Fri Jan 18 21:38:12 2002 UTC (7 years, 10 months ago) by trawick
File length: 124236 byte(s)
Diff to previous 92839 (colored) , to selected 795642 (colored)
Fix a segfault in mod_include which was found by Sander Striker using
an APR_POOL_DEBUG/ElectricFence build.

Revision 92839 - (view) (annotate) - [select for diffs]
Modified Sun Jan 13 06:34:10 2002 UTC (7 years, 10 months ago) by brianp
File length: 124191 byte(s)
Diff to previous 92838 (colored) , to selected 795642 (colored)
Removed the creation of a temporary pool in the expression parsing
code.  Now that the code no longer allocs huge buffers (based on the
last commit), there's no need to incur the overhead of creating a
temporary pool just to clean up the storage quickly.  This saves
a lot of space (because the temp pool used 8KB) and a small amount
of processing time.

As a side-effect of this change, we don't need the gotos any longer.

Revision 92838 - (view) (annotate) - [select for diffs]
Modified Sun Jan 13 06:06:52 2002 UTC (7 years, 10 months ago) by brianp
File length: 124888 byte(s)
Diff to previous 92748 (colored) , to selected 795642 (colored)
Allocate only as much data as we need to hold token values in the
"<!--#if" processing code, rather always allocating an 8KB structure

Revision 92748 - (view) (annotate) - [select for diffs]
Modified Sun Jan 6 06:53:25 2002 UTC (7 years, 10 months ago) by brianp
File length: 124826 byte(s)
Diff to previous 92747 (colored) , to selected 795642 (colored)
Cleaned up a couple of ap_ssi_parse_string calls that I missed
in the last commit

Revision 92747 - (view) (annotate) - [select for diffs]
Modified Sun Jan 6 06:41:30 2002 UTC (7 years, 10 months ago) by brianp
File length: 124702 byte(s)
Diff to previous 92683 (colored) , to selected 795642 (colored)
Eliminated various large (8KB) string buffers from the stack in
mod_include by adding support for a power-of-two pool-based allocator
in ap_ssi_parse_string(). (The default operation of this function
is backward-compatible, to support the other modules that call it.)
This change should help reduce memory usage for servers delivering
shtml pages.

Revision 92683 - (view) (annotate) - [select for diffs]
Modified Mon Dec 31 06:47:28 2001 UTC (7 years, 10 months ago) by wrowe
File length: 121769 byte(s)
Diff to previous 92682 (colored) , to selected 795642 (colored)
  Saw this bug several hours ago, but it slipped my mind.  We no longer
  skip over the leading '/' character, since the token_re already strips
  the / delimiters.

Revision 92682 - (view) (annotate) - [select for diffs]
Modified Mon Dec 31 06:43:30 2001 UTC (7 years, 10 months ago) by wrowe
File length: 121777 byte(s)
Diff to previous 92678 (colored) , to selected 795642 (colored)
  Return the correct $n result (assign the val, not the var!)

Revision 92678 - (view) (annotate) - [select for diffs]
Modified Mon Dec 31 06:04:45 2001 UTC (7 years, 10 months ago) by wrowe
File length: 121777 byte(s)
Diff to previous 92677 (colored) , to selected 795642 (colored)
  To provide more flexibility in handling quotes, allow the backtick quote
  for SSI tag arguments (e.g. <!--#echo val=`foo` -->).  This helps with
  arguments containing both single and double quotes.

Revision 92677 - (view) (annotate) - [select for diffs]
Modified Mon Dec 31 06:01:09 2001 UTC (7 years, 10 months ago) by wrowe
File length: 121685 byte(s)
Diff to previous 92676 (colored) , to selected 795642 (colored)
  We never test for success in memory allocation

Revision 92676 - (view) (annotate) - [select for diffs]
Modified Mon Dec 31 05:58:59 2001 UTC (7 years, 10 months ago) by wrowe
File length: 121855 byte(s)
Diff to previous 92660 (colored) , to selected 795642 (colored)
  Ever tried to extract some value of QUERY_STRING from within SSI?
  Now you can :)  Provides $0..$9 results for any regex evaluation,
  and strengthens the expr parser for regex expressions.

Revision 92660 - (view) (annotate) - [select for diffs]
Modified Sun Dec 30 06:51:21 2001 UTC (7 years, 10 months ago) by ianh
File length: 119624 byte(s)
Diff to previous 92654 (colored) , to selected 795642 (colored)
allow mod_include to handle different start/end tags instead of the default
<!-- --> ones.

PR:
Obtained from:
Submitted by:
Reviewed by:

Revision 92654 - (view) (annotate) - [select for diffs]
Modified Sun Dec 30 01:24:14 2001 UTC (7 years, 10 months ago) by brianp
File length: 117888 byte(s)
Diff to previous 92652 (colored) , to selected 795642 (colored)
Use r->content_type instead of r->handler to screen out non-html
requests when doing the xbithack check (thanks to wrowe for the
suggestion)

Revision 92652 - (view) (annotate) - [select for diffs]
Modified Sat Dec 29 21:34:04 2001 UTC (7 years, 10 months ago) by brianp
File length: 117877 byte(s)
Diff to previous 92642 (colored) , to selected 795642 (colored)
Fix to make xbithack work again

Revision 92642 - (view) (annotate) - [select for diffs]
Modified Fri Dec 28 17:44:28 2001 UTC (7 years, 11 months ago) by wrowe
File length: 117878 byte(s)
Diff to previous 92640 (colored) , to selected 795642 (colored)
  Improvements suggested by Brian Pane, first assure all OS's get to deal
  with handler 'server-parsed', do the xbithack bit tests before testing
  it's string values (protected against a null point).

  And make it [perhaps] more legible.

Revision 92640 - (view) (annotate) - [select for diffs]
Modified Fri Dec 28 17:12:20 2001 UTC (7 years, 11 months ago) by wrowe
File length: 117865 byte(s)
Diff to previous 92639 (colored) , to selected 795642 (colored)
  Context mustn't be transformed in the insert_filters hook, it merely
  provides a point to insert filters already determined.  We can't wait
  for the insert_filters phase to 'redetermine' such things.

  Everything we are doing here can reliably occur in the fixup phase,
  after the types phase has completed.

Revision 92639 - (view) (annotate) - [select for diffs]
Modified Fri Dec 28 17:09:52 2001 UTC (7 years, 11 months ago) by wrowe
File length: 117924 byte(s)
Diff to previous 92604 (colored) , to selected 795642 (colored)
  Another example, wherein our example in code/conf doesn't match our
  recommended practices

Revision 92604 - (view) (annotate) - [select for diffs]
Modified Wed Dec 26 12:07:55 2001 UTC (7 years, 11 months ago) by brianp
File length: 117922 byte(s)
Diff to previous 92496 (colored) , to selected 795642 (colored)
Rearranged the code in mod_include's BNDM string-search function
for faster execution.

This new code short-circuits out of the inner scanning loop
after a single comparison when it hits a character not in the
"<!--#" pattern.  Compared to the previous code, this version
does more work for characters in the pattern and less work for
characters not in the pattern.  In practice, the net result
seems to be a speedup for typical shtml files, where characters
in the pattern are less common than characters not in the pattern.

Revision 92496 - (view) (annotate) - [select for diffs]
Modified Sun Dec 16 08:58:14 2001 UTC (7 years, 11 months ago) by brianp
File length: 117860 byte(s)
Diff to previous 92495 (colored) , to selected 795642 (colored)
cleaned up bucket types and removed the extraneous clearing of a buffer

Revision 92495 - (view) (annotate) - [select for diffs]
Modified Sun Dec 16 08:50:30 2001 UTC (7 years, 11 months ago) by brianp
File length: 118745 byte(s)
Diff to previous 92489 (colored) , to selected 795642 (colored)
Removed the comment suggesting the use of apr_table_overlap()
in add_include_vars() (because I just tried it, and it made the
function slower)

Revision 92489 - (view) (annotate) - [select for diffs]
Modified Sat Dec 15 03:53:59 2001 UTC (7 years, 11 months ago) by brianp
File length: 118788 byte(s)
Diff to previous 92488 (colored) , to selected 795642 (colored)
Fixed the logic for detecting sentinel or EOS in send_parsed_content

Revision 92488 - (view) (annotate) - [select for diffs]
Modified Sat Dec 15 03:22:24 2001 UTC (7 years, 11 months ago) by brianp
File length: 118788 byte(s)
Diff to previous 92391 (colored) , to selected 795642 (colored)
Fix for segfault that happened upon reaching EOS in an
intermediate SSI parsing state
Submitted by:	Justin Erenkrantz

Revision 92391 - (view) (annotate) - [select for diffs]
Modified Sat Dec 8 03:14:50 2001 UTC (7 years, 11 months ago) by brianp
File length: 118251 byte(s)
Diff to previous 92360 (colored) , to selected 795642 (colored)
Switched from heap bucket to pool bucket for SSI echo directive

Revision 92360 - (view) (annotate) - [select for diffs]
Modified Fri Dec 7 03:59:29 2001 UTC (7 years, 11 months ago) by brianp
File length: 118270 byte(s)
Diff to previous 92358 (colored) , to selected 795642 (colored)
updated some comments to accurately reflect the current code

Revision 92358 - (view) (annotate) - [select for diffs]
Modified Fri Dec 7 03:09:54 2001 UTC (7 years, 11 months ago) by brianp
File length: 118453 byte(s)
Diff to previous 92286 (colored) , to selected 795642 (colored)
When checking for "file" or "virtual" as an argument to
"<!--#", check for "virtual" first.  That's the more likely
case (assuming that people follow the recommendation in
the mod_include documentation that "virtual" be used in
preference to "file"), so by checking for "virtual" first
we can short-circuit out of the conditional after one
strcmp instead of two.

Revision 92286 - (view) (annotate) - [select for diffs]
Modified Sun Dec 2 19:16:01 2001 UTC (7 years, 11 months ago) by brianp
File length: 118453 byte(s)
Diff to previous 92284 (colored) , to selected 795642 (colored)
Added code to ap_ssi_get_tag_and_value() to avoid converting
SSI tags to lowercase when they're already lowercase (in my
experience, this special case happens often enough to be
worth optimizing)

Revision 92284 - (view) (annotate) - [select for diffs]
Modified Sun Dec 2 18:44:06 2001 UTC (7 years, 11 months ago) by brianp
File length: 118314 byte(s)
Diff to previous 92283 (colored) , to selected 795642 (colored)
Added faster logic for decodehtml to handle the special case
where the string being decoded doesn't have any ampersands
in it (e.g., because it's the value for an 'include virtual=...')

Revision 92283 - (view) (annotate) - [select for diffs]
Modified Sun Dec 2 10:33:01 2001 UTC (7 years, 11 months ago) by brianp
File length: 118105 byte(s)
Diff to previous 92275 (colored) , to selected 795642 (colored)
Exclude the terminating null byte from the length of
strings passed to apr_hash_get/apr_hash_set (this matches
the convention used throughout the rest of the httpd,
and it saves a small amount of processing)

Revision 92275 - (view) (annotate) - [select for diffs]
Modified Sat Dec 1 05:38:23 2001 UTC (7 years, 11 months ago) by brianp
File length: 118111 byte(s)
Diff to previous 92163 (colored) , to selected 795642 (colored)
Fix the handling of SSI directives in which the ">" of the
terminating "-->" is the last byte in a file (previously,
the output of the directive was lost in this case).

Revision 92163 - (view) (annotate) - [select for diffs]
Modified Sat Nov 24 10:52:27 2001 UTC (8 years ago) by brianp
File length: 118184 byte(s)
Diff to previous 92144 (colored) , to selected 795642 (colored)
short-circuit out of xbithack_handler immediately if xbithack
isn't enabled, and use strcmp instead of ap_strcmp_match for
comparing against a non-wildcard pattern

Revision 92144 - (view) (annotate) - [select for diffs]
Modified Fri Nov 23 16:35:22 2001 UTC (8 years ago) by ianh
File length: 118192 byte(s)
Diff to previous 92131 (colored) , to selected 795642 (colored)
Modify post_config hook so that it can return a error,
causing the server not to start.
previous method was to call exit(1) which would not fail
gracefully

PR:
Obtained from:
Submitted by:
Reviewed by:	(Idea only Jeff Trawick)

Revision 92131 - (view) (annotate) - [select for diffs]
Modified Thu Nov 22 06:03:10 2001 UTC (8 years ago) by brianp
File length: 118178 byte(s)
Diff to previous 92046 (colored) , to selected 795642 (colored)
fix for a segfault that occurred when mod_include was used to deliver files shorter than 5 bytes

Revision 92046 - (view) (annotate) - [select for diffs]
Modified Tue Nov 20 03:03:17 2001 UTC (8 years ago) by brianp
File length: 118090 byte(s)
Diff to previous 92040 (colored) , to selected 795642 (colored)
optimized away some pointer arithmetic in the inner loop of the BNDM string-search function

Revision 92040 - (view) (annotate) - [select for diffs]
Modified Mon Nov 19 21:09:20 2001 UTC (8 years ago) by jwoolley
File length: 118087 byte(s)
Diff to previous 91963 (colored) , to selected 795642 (colored)
Fixed the behavior of the XBitHack directive.

PR: 8804
Submitted by:	Taketo Kabe <kabe@sra-tohoku.co.jp>, Cliff Woolley

Revision 91963 - (view) (annotate) - [select for diffs]
Modified Thu Nov 15 05:05:20 2001 UTC (8 years ago) by rbb
File length: 117970 byte(s)
Diff to previous 91866 (colored) , to selected 795642 (colored)
Fix a file descriptor leak in mod_include.  When we include a
file, we use a sub-request, but we didn't destroy the sub-request
immediately, instead we waited until the original request was
done.  This patch closes the sub-request as soon as the data is
done being generated.

This passes all tests in the test suite.

Submitted by:	Brian Pane <bpane@pacbell.net>
Reviewed by:	Ryan Bloom and Cliff Woolley

Revision 91866 - (view) (annotate) - [select for diffs]
Modified Mon Nov 12 03:23:12 2001 UTC (8 years ago) by jwoolley
File length: 118380 byte(s)
Diff to previous 91860 (colored) , to selected 795642 (colored)
Remove the returned-length "w" parameter from apr_bucket_heap_create()
and apr_bucket_heap_make().  It was useless, since the length is invariant
from the length passed in and from the resulting bucket's b->length.  This
takes care of a long-standing issue first brought up in February and
discussed on the dev@apr list.  (Issue #2 from the "Bucket API Cleanup
Issues" thread.)

See http://marc.theaimsgroup.com/?l=apr-dev&m=98324983126666&w=2

Reviewed by:    Ryan Bloom (concept)

Revision 91860 - (view) (annotate) - [select for diffs]
Modified Sun Nov 11 22:31:04 2001 UTC (8 years ago) by ianh
File length: 117791 byte(s)
Diff to previous 91859 (colored) , to selected 795642 (colored)
This patch changes the apr_table_elts macro so that it provides
access to the internals of an apr_table_t via a const pointer
instead of the current non-const pointer.


Submitted by:	Brian Pane <BPane@pacbell.net>
Reviewed by:	Ian Holsman

Revision 91859 - (view) (annotate) - [select for diffs]
Modified Sun Nov 11 22:12:25 2001 UTC (8 years ago) by ianh
File length: 117773 byte(s)
Diff to previous 91081 (colored) , to selected 795642 (colored)
This patch zero-fills just the integer and pointer fields in
the structure, plus the first byte of each of the string buffers.

This updated version of the patch doesn't allocate space for
the error_str and time_str buffers in the mod_include filter
context until/unless they're actually needed.

--Brian


Submitted by:	Brian Pane <bpane@pacbell.net>
Reviewed by:	Ian Holsman

Revision 91081 - (view) (annotate) - [select for diffs]
Modified Wed Sep 19 06:25:07 2001 UTC (8 years, 2 months ago) by jerenkrantz
File length: 117383 byte(s)
Diff to previous 91080 (colored) , to selected 795642 (colored)
Oftentimes, I make no sense whatsoever.
(Clean up comment, really...)

Revision 91080 - (view) (annotate) - [select for diffs]
Modified Wed Sep 19 06:20:32 2001 UTC (8 years, 2 months ago) by jerenkrantz
File length: 117371 byte(s)
Diff to previous 91051 (colored) , to selected 795642 (colored)
Fix case where an included file may change but the shtml file has not -
since we returned Last-Modified/ETag headers, we said that it was possibly
cacheable.  Wrong.

See RFC 2616 13.3.4 for more details (these are SHOULD/MAY clauses, so I
think we can discard them when we are dealing with dynamic data).

(Justin cleaned up the comment to cite RFC 2616.)

Submitted by:	Ian Holsman <ianh@cnet.com>
Reviewed by:	Justin Erenkrantz, Aaron Bannert, Brian Pane

Revision 91051 - (view) (annotate) - [select for diffs]
Modified Mon Sep 17 02:53:01 2001 UTC (8 years, 2 months ago) by jerenkrantz
File length: 116964 byte(s)
Diff to previous 91050 (colored) , to selected 795642 (colored)
Change the type to be consistent with wrowe's changes.

Revision 91050 - (view) (annotate) - [select for diffs]
Modified Mon Sep 17 02:42:01 2001 UTC (8 years, 2 months ago) by wrowe
File length: 116950 byte(s)
Diff to previous 90977 (colored) , to selected 795642 (colored)
  Nothing complains when I change these ints for consistency to apr_size_t.

Revision 90977 - (view) (annotate) - [select for diffs]
Modified Mon Sep 10 03:58:26 2001 UTC (8 years, 2 months ago) by wrowe
File length: 116936 byte(s)
Diff to previous 90949 (colored) , to selected 795642 (colored)
  apr_filepath_merge includes APR_FILEPATH_SECURE_ROOT tests that can
  easily (and cross-platform, safely) assure a path is within a given root.

Revision 90949 - (view) (annotate) - [select for diffs]
Modified Fri Sep 7 05:52:29 2001 UTC (8 years, 2 months ago) by jerenkrantz
File length: 116791 byte(s)
Diff to previous 90940 (colored) , to selected 795642 (colored)
Fix error in Netware-specific code.

(This really should be an APR function - if it isn't already...)

Now I know why my editor was thinking this file was completed wacked
w.r.t. braces.

Revision 90940 - (view) (annotate) - [select for diffs]
Modified Thu Sep 6 23:58:29 2001 UTC (8 years, 2 months ago) by jerenkrantz
File length: 116790 byte(s)
Diff to previous 90887 (colored) , to selected 795642 (colored)
Make find_start_sequence use the BNDM search algorithm.  We handle
edge cases via the old slow mechanism.

Previously, find_start_sequence would be responsible for ~25% of the
usr CPU time in tests (as performed by Ian).  No more.

Revision 90887 - (view) (annotate) - [select for diffs]
Modified Tue Sep 4 02:13:58 2001 UTC (8 years, 2 months ago) by jwoolley
File length: 113737 byte(s)
Diff to previous 90885 (colored) , to selected 795642 (colored)
silence compiler warnings (these weren't really bugs)

Revision 90885 - (view) (annotate) - [select for diffs]
Modified Mon Sep 3 22:09:15 2001 UTC (8 years, 2 months ago) by jerenkrantz
File length: 113729 byte(s)
Diff to previous 90874 (colored) , to selected 795642 (colored)
Fix uninitialized variable warning.  (This was a bug.)
Submitted by:	Cliff's compiler (warning) and Brian Pane (fix)
Reviewed by:	Justin Erenkrantz

Revision 90874 - (view) (annotate) - [select for diffs]
Modified Sun Sep 2 17:44:39 2001 UTC (8 years, 2 months ago) by jerenkrantz
File length: 113755 byte(s)
Diff to previous 90873 (colored) , to selected 795642 (colored)
**NO CODE CHANGES**
This is a reformat commit *ONLY*
Please drive on through.

(If I have to work with this file any more, I want it in our style...)

Revision 90873 - (view) (annotate) - [select for diffs]
Modified Sun Sep 2 17:12:55 2001 UTC (8 years, 2 months ago) by jerenkrantz
File length: 110137 byte(s)
Diff to previous 90872 (colored) , to selected 795642 (colored)
- Remove extra include_module line - dunno how that got there.
- make lazy_eval_sentinel a const
- create #define for &lazy_eval_sentinel (LAZY_VALUE)
- create get_include_var function (get, check, get real value if lazy)
- cleanup the printenv call to be a bit more streamlined (can't use
  get_include_var here since it is iterating through the table here -
  well, you could do that, but I won't...)

Submitted by:	Greg Stein (concept)
Reviewed by:	Justin Erenkrantz

Revision 90872 - (view) (annotate) - [select for diffs]
Modified Sun Sep 2 08:43:23 2001 UTC (8 years, 2 months ago) by jerenkrantz
File length: 110314 byte(s)
Diff to previous 90869 (colored) , to selected 795642 (colored)
Make mod_include do lazy evaluation of potentially expensive to
compute variables.

Tested with httpd-test's printenv.shtml.

(Justin threw in one or two unrelated formatting nits)
Submitted by:	Brian Pane <bpane@pacbell.net>
Reviewed by:	Justin Erenkrantz

Revision 90869 - (view) (annotate) - [select for diffs]
Modified Sun Sep 2 01:09:02 2001 UTC (8 years, 2 months ago) by jerenkrantz
File length: 108472 byte(s)
Diff to previous 90825 (colored) , to selected 795642 (colored)
Make mod_include check for BYTE_COUNT_THRESHOLD on a per-bucket basis
rather than on a per-character basis.  A significant amount of time
was spent checking the limit.  A better place to check for the threshold
is when we read the bucket in not as we read each character in the bucket.

If a bucket manages to be 200MB, it is not this code's problem as it
is a mere filter.

I ran this with the mod_include stuff in httpd-test and it looks good
from here.

Submitted by:	Brian Pane <bpane@pacbell.net>
Reviewed by:	Justin Erenkrantz, Ryan Bloom, Greg Stein, Cliff Woolley,
		Paul Reder, etc, etc, etc...

Revision 90825 - (view) (annotate) - [select for diffs]
Modified Thu Aug 30 21:29:15 2001 UTC (8 years, 2 months ago) by jerenkrantz
File length: 107149 byte(s)
Diff to previous 90735 (colored) , to selected 795642 (colored)
Fix a segfault with mod_include when r->path_info is not set
(which is the case with mod_proxy).

My only question about this is whether we should place some value
(such as <UNKNOWN>) when path_info isn't set.

Submitted by:	Ian Holsman <ianh@cnet.com>
Reviewed by:	Justin Erenkrantz

Revision 90735 - (view) (annotate) - [select for diffs]
Modified Mon Aug 27 20:25:42 2001 UTC (8 years, 3 months ago) by rederpj
File length: 107098 byte(s)
Diff to previous 90728 (colored) , to selected 795642 (colored)

Moved split_and_pass_pretag_buckets back to being a
macro at Ryans's request. Removed the return from it
by setting and returning a return code instead. Updated
the code to check the return code from teh macro and
do the right thing.

Revision 90728 - (view) (annotate) - [select for diffs]
Modified Mon Aug 27 14:43:19 2001 UTC (8 years, 3 months ago) by jwoolley
File length: 107853 byte(s)
Diff to previous 90668 (colored) , to selected 795642 (colored)
The consensus now is that mod_include should just butt out of any decisions
about what to do with different request methods.  It's true that mod_include
in 1.3.x did not allow POST, but back then it was a handler.  Now it's a
filter and can be used to filter the output of dynamically generated responses,
even ones resulting from a POST request.  So if mod_include is in the filter
stack, it should just blindly parse the brigade regardless of request method.

This still fixes the security problem, it just fixes it by being more flexible
rather than less so.

Revision 90668 - (view) (annotate) - [select for diffs]
Modified Sun Aug 26 00:00:39 2001 UTC (8 years, 3 months ago) by jwoolley
File length: 108359 byte(s)
Diff to previous 90655 (colored) , to selected 795642 (colored)
Fix a security problem which would allow an SSI document
to be passed to the client unparsed.

Reported by:	Brian Pane

Revision 90655 - (view) (annotate) - [select for diffs]
Modified Sat Aug 25 05:26:05 2001 UTC (8 years, 3 months ago) by rbb
File length: 107984 byte(s)
Diff to previous 90624 (colored) , to selected 795642 (colored)
Add the ability for mod_include to add the INCLUDES filter
if the file is configured for the server-parsed handler.
This makes the configuration for .shtml files much easier
to understand, and allows mod_include to honor Apache 1.3
config files.   Based on Doug MacEachern's patch to PHP
to do the same thing.

Revision 90624 - (view) (annotate) - [select for diffs]
Modified Fri Aug 24 06:47:35 2001 UTC (8 years, 3 months ago) by dougm
File length: 107647 byte(s)
Diff to previous 90616 (colored) , to selected 795642 (colored)
fix bogus include recursion error when q->uri and rr->uri are both:
"INTERNALLY GENERATED file-relative req"

PR:
Obtained from:
Submitted by:
Reviewed by:

Revision 90616 - (view) (annotate) - [select for diffs]
Modified Fri Aug 24 04:50:49 2001 UTC (8 years, 3 months ago) by jwoolley
File length: 107625 byte(s)
Diff to previous 90600 (colored) , to selected 795642 (colored)
Sanitize all the wacky indentation in this block prior to commiting
the real fix.  No functional change.

Revision 90600 - (view) (annotate) - [select for diffs]
Modified Fri Aug 24 00:47:09 2001 UTC (8 years, 3 months ago) by trawick
File length: 107152 byte(s)
Diff to previous 90554 (colored) , to selected 795642 (colored)
fix what would seem to be a serious problem in
split_and_pass_pretag_buckets(): the retcode is not
specified on one of the paths

Revision 90554 - (view) (annotate) - [select for diffs]
Modified Thu Aug 23 15:45:49 2001 UTC (8 years, 3 months ago) by rederpj
File length: 107128 byte(s)
Diff to previous 90553 (colored) , to selected 795642 (colored)

Fix for mod_include. Ryan's patch to check error
codes put a return in the wrong place. Also, the
include handler return code wasn't being checked.
I don't like macros with returns, so I converted
SPLIT_AND_PASS_PRETAG_BUCKETS into a function.

Revision 90553 - (view) (annotate) - [select for diffs]
Modified Thu Aug 23 15:35:50 2001 UTC (8 years, 3 months ago) by gregames
File length: 106037 byte(s)
Diff to previous 90519 (colored) , to selected 795642 (colored)
whoops!  replace two post 2.0.24 fixes I accidently wiped out yesterday.

Reported by: Jeff Trawick, Paul Reder

Revision 90519 - (view) (annotate) - [select for diffs]
Modified Wed Aug 22 23:12:24 2001 UTC (8 years, 3 months ago) by gregames
File length: 105884 byte(s)
Diff to previous 90486 (colored) , to selected 795642 (colored)
get rid of nuisance log messages due to subrequests failing with EPIPE

Revision 90486 - (view) (annotate) - [select for diffs]
Modified Wed Aug 22 12:07:40 2001 UTC (8 years, 3 months ago) by trawick
File length: 105703 byte(s)
Diff to previous 90329 (colored) , to selected 795642 (colored)
Fix a segfault in mod_include when the original request has no
associated filename (e.g., we're filtering the error document for
a bad URI).

Reported by: Joshua Slive

Revision 90329 - (view) (annotate) - [select for diffs]
Modified Sat Aug 18 17:36:26 2001 UTC (8 years, 3 months ago) by rederpj
File length: 105655 byte(s)
Diff to previous 90303 (colored) , to selected 795642 (colored)

Fix a minor issue with Jeff Trawick's mod_include
patch. Without this patch, the code will just allocate
more bytes in get_combined_directive than are needed.

Revision 90303 - (view) (annotate) - [select for diffs]
Modified Fri Aug 17 20:41:15 2001 UTC (8 years, 3 months ago) by trawick
File length: 105608 byte(s)
Diff to previous 90302 (colored) , to selected 795642 (colored)
Fix a problem in mod_include when we reached the BYTE_COUNT_THRESHOLD
after parsing the first part of the tag.  We could get errors like

[error] [client 127.0.0.1] unknown directive "<!" in parsed doc filename

Revision 90302 - (view) (annotate) - [select for diffs]
Modified Fri Aug 17 20:10:30 2001 UTC (8 years, 3 months ago) by trawick
File length: 105525 byte(s)
Diff to previous 90295 (colored) , to selected 795642 (colored)
we're only going to re-scan the directive when we're in
PARSE_DIRECTIVE state, so only reset directive_length when
in that state

Revision 90295 - (view) (annotate) - [select for diffs]
Modified Fri Aug 17 17:24:46 2001 UTC (8 years, 3 months ago) by trawick
File length: 105446 byte(s)
Diff to previous 90090 (colored) , to selected 795642 (colored)
Fix a problem parsing tags.

We're in find_end_sequence() walking over the directive and the rest
of the tag but we stop parsing so we don't walk over too much storage
(e.g., mmap) at once).  When we resume later, ctx->directive_length
has the value it had when we bailed out, so directive_length is wrong
and we hit errors like:

[Fri Aug 17 11:12:06 2001] [error] [client 127.0.0.1] unknown directiv
e "include virt" in parsed doc /home/trawick/apacheinst/htdocs/manual/
mod/mod_include.html

Revision 90090 - (view) (annotate) - [select for diffs]
Modified Sat Aug 11 04:04:13 2001 UTC (8 years, 3 months ago) by rbb
File length: 105324 byte(s)
Diff to previous 89980 (colored) , to selected 795642 (colored)
Fix the new method code.  We need to cast 1 to an apr_int64_t or it will
be treated as a 32-bit integer, and it will wrap after being shifted
32 times.
Submitted by:	Cody Sherr <csherr@covalent.net> and
		Ryan Morgan <rmorgan@covalent.net>

Revision 89980 - (view) (annotate) - [select for diffs]
Modified Tue Aug 7 08:02:42 2001 UTC (8 years, 3 months ago) by jwoolley
File length: 105312 byte(s)
Diff to previous 89876 (colored) , to selected 795642 (colored)
Fixed an error in ap_ssi_get_tag_and_value().  It was not placing the
null terminator in the right spot for the tag_val if the value contained
backslashes.  This caused #if, #elif, and #else expressions with backslashes
to be incorrectly evaluated.

Revision 89876 - (view) (annotate) - [select for diffs]
Modified Thu Aug 2 16:35:22 2001 UTC (8 years, 3 months ago) by rbb
File length: 105300 byte(s)
Diff to previous 89872 (colored) , to selected 795642 (colored)
I forgot to catch all  the other return calls in this function, so this
cleans up the warnings.  Thanks OtherBill for beating me up about this.

:-)

Revision 89872 - (view) (annotate) - [select for diffs]
Modified Thu Aug 2 05:27:06 2001 UTC (8 years, 3 months ago) by rbb
File length: 105264 byte(s)
Diff to previous 89870 (colored) , to selected 795642 (colored)
Add a handler to mod_includes.c.  This handler is designed to
implement the XbitHack directive.  This can't be done with a
fixup, because we need to check the content-type, which is
only available in the handler phase.
PR:     7751

Revision 89870 - (view) (annotate) - [select for diffs]
Modified Thu Aug 2 04:59:51 2001 UTC (8 years, 3 months ago) by rbb
File length: 104354 byte(s)
Diff to previous 89731 (colored) , to selected 795642 (colored)
Make the includes filter check return codes from filters lower in
the filter chain.  If a lower level filter returns an error, then
the request needs to stop immediately.  This allows mod_include to
stop parsing data once a lower filter recognizes an error.
PR:	8102

Revision 89731 - (view) (annotate) - [select for diffs]
Modified Thu Jul 26 16:37:56 2001 UTC (8 years, 4 months ago) by wrowe
File length: 104063 byte(s)
Diff to previous 89713 (colored) , to selected 795642 (colored)
  That's it.  There are no further emits for signedness or size conversion
  in MSVC 5.x.  Enough for 2.0.22, I'll revisit under -w4 (msvc's -wall)
  and attack the other modules in 2.0.23-dev.

Revision 89713 - (view) (annotate) - [select for diffs]
Modified Wed Jul 25 21:34:15 2001 UTC (8 years, 4 months ago) by wrowe
File length: 104017 byte(s)
Diff to previous 89654 (colored) , to selected 795642 (colored)
  Change over to apr_strfsize() for apr_off_t file size formatting.

Revision 89654 - (view) (annotate) - [select for diffs]
Modified Mon Jul 23 13:45:44 2001 UTC (8 years, 4 months ago) by jwoolley
File length: 104808 byte(s)
Diff to previous 89652 (colored) , to selected 795642 (colored)
The bucket should be created with the size of the data NOT including a null
terminator as its length.  Otherwise, the bucket length value is wrong (too big
by one).

Revision 89652 - (view) (annotate) - [select for diffs]
Modified Mon Jul 23 11:50:11 2001 UTC (8 years, 4 months ago) by trawick
File length: 104806 byte(s)
Diff to previous 89651 (colored) , to selected 795642 (colored)
fix a typo (duplicate return statement)

Submitted by:	Justin Erenkrantz

Revision 89651 - (view) (annotate) - [select for diffs]
Modified Sun Jul 22 23:00:52 2001 UTC (8 years, 4 months ago) by rbb
File length: 104825 byte(s)
Diff to previous 89362 (colored) , to selected 795642 (colored)
Fix a cosmetic problem with mod_include.  Non-existant SSI vars
used to appear as '(none', without the closing paren.
Submitted by:	G�nter Knauf <eflash@gmx.net>

Revision 89362 - (view) (annotate) - [select for diffs]
Modified Wed Jun 13 13:44:40 2001 UTC (8 years, 5 months ago) by rbb
File length: 104823 byte(s)
Diff to previous 89274 (colored) , to selected 795642 (colored)
Add a pool to the ap_save_brigade prototype.  This removes a todo from
the comments that is really necessary before the setaside stuff will
work properly.

Revision 89274 - (view) (annotate) - [select for diffs]
Modified Wed Jun 6 12:48:45 2001 UTC (8 years, 5 months ago) by trawick
File length: 104814 byte(s)
Diff to previous 88909 (colored) , to selected 795642 (colored)
filters should return APR status codes

Revision 88909 - (view) (annotate) - [select for diffs]
Modified Sat Apr 21 22:01:05 2001 UTC (8 years, 7 months ago) by jwoolley
File length: 104796 byte(s)
Diff to previous 88906 (colored) , to selected 795642 (colored)
Revert about half of the last commit because of an oversight on my part
that broke it.  Unfortunately, fixing the oversight "the right way" is
almost as ugly as the original code; it's easier to just go back to the way
it was, at least for now.

The problem is that the original code would delete buckets from foo through
bar in the brigade, and the patched code deletes *everything* up through
bar, which is bad.  I could have fixed it by doing two splits, but that
introduces too many palloc's for my taste.  It's also fixable with RING macros,
but I refuse to start using RING macros directly on brigades.  The best
solution would be if there were a brigade equivalent to a RING_UNSPLICE/
RING_INSERT_HEAD sequence (this sequence is also used interally by
apr_brigade_split(), btw), something like this:
APR_BRIGADE_TRANSFER_BUCKETS(oldbrigade,newbrigade,startbucket,endbucket);

Absent that, the affected parts of the patch are hereby reverted (grumble,
grumble).  If people liek the APR_BRIGADE_TRANSFER_BUCKETS() idea, I'll
implement that and repatch mod_include later.

Revision 88906 - (view) (annotate) - [select for diffs]
Modified Fri Apr 20 20:58:28 2001 UTC (8 years, 7 months ago) by jwoolley
File length: 104136 byte(s)
Diff to previous 88785 (colored) , to selected 795642 (colored)
Change mod_include to use the latest bucket API tricks.  This gets
rid of some obscure while loop magic that had to be done before,
making mod_include easier to read and a better example for future
filter writers.

There should be no semantic changes in this patch... just a 1-to-1
mapping from while loops to bucket API calls that do the same thing.

Reviewed by:	Paul J. Reder

Revision 88785 - (view) (annotate) - [select for diffs]
Modified Tue Apr 10 16:57:27 2001 UTC (8 years, 7 months ago) by wrowe
File length: 105336 byte(s)
Diff to previous 88782 (colored) , to selected 795642 (colored)
  change include_handler to include_handler_fn_t, and clean up a nasty
  explicit cast that could float from the include_handler_fn_t declaration.

Revision 88782 - (view) (annotate) - [select for diffs]
Modified Tue Apr 10 16:26:21 2001 UTC (8 years, 7 months ago) by wrowe
File length: 105344 byte(s)
Diff to previous 88477 (colored) , to selected 795642 (colored)
  We seem to use fn_t *fn throughout the rest of apache, so normalize this
  syntax for mod_include's include_handler(_t)

Revision 88477 - (view) (annotate) - [select for diffs]
Modified Thu Mar 8 20:03:37 2001 UTC (8 years, 8 months ago) by rbb
File length: 105343 byte(s)
Diff to previous 88430 (colored) , to selected 795642 (colored)
Always clear the C-L if we are going to try to parse the file.  It is
impossible for us to determine if there is going to be an SSI tag in the
file until we have actually scanned it all.  By that time, it is likely
that the first chunk of data, and the headers have been sent to the client,
and it is too late to clear the C-L.  If we are parsing the file, we have
to just assume we are going to change the content.

Revision 88430 - (view) (annotate) - [select for diffs]
Modified Fri Mar 2 21:44:14 2001 UTC (8 years, 8 months ago) by trawick
File length: 105233 byte(s)
Diff to previous 88428 (colored) , to selected 795642 (colored)
get rid of unused variable b_copy in function handle_echo()

PR:			6980

Revision 88428 - (view) (annotate) - [select for diffs]
Modified Fri Mar 2 21:36:21 2001 UTC (8 years, 8 months ago) by trawick
File length: 105265 byte(s)
Diff to previous 88417 (colored) , to selected 795642 (colored)
Use the proper enum for the block/non-block parameter to apr_bucket_read().
A couple of these changed in meaning (e.g., 1->APR_BLOCK_READ).

PR:		6980

Revision 88417 - (view) (annotate) - [select for diffs]
Modified Fri Mar 2 06:58:00 2001 UTC (8 years, 8 months ago) by rbb
File length: 105239 byte(s)
Diff to previous 88346 (colored) , to selected 795642 (colored)
Modify mod_include to send blocks of data no larger than 9k.
Without this, mod_include will wait until the whole file is parsed,
or the first tag is found to send any data to the client.
Submitted by:   Paul J. Reder <rederpj@raleigh.ibm.com>

Revision 88346 - (view) (annotate) - [select for diffs]
Modified Mon Feb 26 06:26:24 2001 UTC (8 years, 9 months ago) by rbb
File length: 103510 byte(s)
Diff to previous 88337 (colored) , to selected 795642 (colored)
Add config directives to override the DEFAULT_ERROR_MSG and
DEFAULT_TIME_FORMAT.
PR:	6193
Submitted by:	Dan Rench <drench@xnet.com>
Reviewed by:	Ryan Bloom

Revision 88337 - (view) (annotate) - [select for diffs]
Modified Sun Feb 25 23:08:52 2001 UTC (8 years, 9 months ago) by jwoolley
File length: 102308 byte(s)
Diff to previous 88189 (colored) , to selected 795642 (colored)
Simplify by using apr_bucket_delete(e) where possible.

(Oh, plus one tiny little loop simplification.)

Revision 88189 - (view) (annotate) - [select for diffs]
Modified Fri Feb 16 13:38:31 2001 UTC (8 years, 9 months ago) by martin
File length: 102712 byte(s)
Diff to previous 88184 (colored) , to selected 795642 (colored)
Rename the module structures so that the exported symbol matches
the file name, and it is easier to automate the installation
process (generating LoadModule directives from the module filenames).

Next step is to remove the 4th argument to the APACHE_MODULE macro
completely and require people to use the matching names, and to
reduce the LoadModule directive to 1 argument.... Objections?

Revision 88184 - (view) (annotate) - [select for diffs]
Modified Fri Feb 16 04:26:53 2001 UTC (8 years, 9 months ago) by fielding
File length: 102720 byte(s)
Diff to previous 88061 (colored) , to selected 795642 (colored)
Update copyright to 2001

Revision 88061 - (view) (annotate) - [select for diffs]
Modified Sat Feb 10 14:04:21 2001 UTC (8 years, 9 months ago) by gstein
File length: 102715 byte(s)
Diff to previous 88060 (colored) , to selected 795642 (colored)
*) continued header revamping
*) torch some headers (and some libs) from the autoconf stuff

Revision 88060 - (view) (annotate) - [select for diffs]
Modified Sat Feb 10 13:05:29 2001 UTC (8 years, 9 months ago) by gstein
File length: 102765 byte(s)
Diff to previous 88019 (colored) , to selected 795642 (colored)
Clean up some of the includes:
- explicitly include apr_lib.h since ap_config.h doesn't
- use apr_want.h where possible
- use APR_HAVE_ where possible
- remove some unneeded includes

Revision 88019 - (view) (annotate) - [select for diffs]
Modified Thu Feb 8 07:45:33 2001 UTC (8 years, 9 months ago) by dougm
File length: 102744 byte(s)
Diff to previous 87991 (colored) , to selected 795642 (colored)
renaming various functions for consistency sake
see: http://apr.apache.org/~dougm/apr_rename.pl
PR:
Obtained from:
Submitted by:
Reviewed by:

Revision 87991 - (view) (annotate) - [select for diffs]
Modified Tue Feb 6 15:55:06 2001 UTC (8 years, 9 months ago) by trawick
File length: 102744 byte(s)
Diff to previous 87984 (colored) , to selected 795642 (colored)
move the instantiation of includes_module out of mod_include.h

Revision 87984 - (view) (annotate) - [select for diffs]
Modified Mon Feb 5 22:57:21 2001 UTC (8 years, 9 months ago) by rbb
File length: 102698 byte(s)
Diff to previous 87933 (colored) , to selected 795642 (colored)
Move the logic for creating CGI processes from mod_include to mod_cgi(d).
This removes a good deal of duplicate logic for creating CGI scripts.

Revision 87933 - (view) (annotate) - [select for diffs]
Modified Wed Jan 31 22:45:35 2001 UTC (8 years, 9 months ago) by wrowe
File length: 112238 byte(s)
Diff to previous 87907 (colored) , to selected 795642 (colored)
  Eliminate all assumptions that finfo.protection reflects the existance
  or absense of a file.  finfo.filetype is defined as 0 if APR_NOFILE,
  or a non-zero value if the file could be apr_stat()'ed.

Revision 87907 - (view) (annotate) - [select for diffs]
Modified Mon Jan 29 17:58:01 2001 UTC (8 years, 9 months ago) by trawick
File length: 112234 byte(s)
Diff to previous 87903 (colored) , to selected 795642 (colored)
fix gcc warning

mod_include.c: In function `find_file':
mod_include.c:1281: warning: suggest parentheses around assignment used as truth value

Revision 87903 - (view) (annotate) - [select for diffs]
Modified Sun Jan 28 23:57:25 2001 UTC (8 years, 9 months ago) by wrowe
File length: 112232 byte(s)
Diff to previous 87760 (colored) , to selected 795642 (colored)
  *) Adopt apr features to simplify mod_includes.  This changes the
     behavior of the USER_NAME variable, unknown uid's are now reported
     as USER_NAME="<unknown>" rather than the old user#000 result.
     WinNT now resolves USER_NAME on NTFS volumes.  [William Rowe]

  ** Also fixes yet another stat result, allowing APR_INCOMPLETE

Revision 87760 - (view) (annotate) - [select for diffs]
Modified Sat Jan 20 21:42:23 2001 UTC (8 years, 10 months ago) by wrowe
File length: 112304 byte(s)
Diff to previous 87754 (colored) , to selected 795642 (colored)
  The changes required for the APR_FINFO_wanted argument to
  apr_stat/lstat/getfileinfo.  These are -NOT- optimal, they
  are simply the required changes to get the server working.
  The size of the patch is a warning about how we need to
  really look at what we are trying to accomplish with all
  of these stat/lstat calls.

Revision 87754 - (view) (annotate) - [select for diffs]
Modified Sat Jan 20 05:18:06 2001 UTC (8 years, 10 months ago) by rbb
File length: 112300 byte(s)
Diff to previous 87731 (colored) , to selected 795642 (colored)
Remove ap_chdir_file.  This function is not thread-safe, and nobody
is currently using it.  The proper way to do this, is to use the
apr_create_process API.

Revision 87731 - (view) (annotate) - [select for diffs]
Modified Fri Jan 19 07:04:36 2001 UTC (8 years, 10 months ago) by wrowe
File length: 112504 byte(s)
Diff to previous 87697 (colored) , to selected 795642 (colored)
  The big change.  This is part 3 of the apr-util symbols rename, please
  see the first commit of srclib/apr-util/include (cvs apr-util/include)
  for the quick glance at symbols changed.

Revision 87697 - (view) (annotate) - [select for diffs]
Modified Wed Jan 17 15:52:12 2001 UTC (8 years, 10 months ago) by wrowe
File length: 112316 byte(s)
Diff to previous 87630 (colored) , to selected 795642 (colored)
  Provide apr_pool_t arg to register_hooks, since anything they do in that
  step -must- be done with a pool that will not outlive the cmd pool, from
  which they may have been dynamically loaded.

Revision 87630 - (view) (annotate) - [select for diffs]
Modified Tue Jan 9 05:12:40 2001 UTC (8 years, 10 months ago) by trawick
File length: 112307 byte(s)
Diff to previous 87604 (colored) , to selected 795642 (colored)
get rid of some invalid errno references; use the apr_status_t instead

Revision 87604 - (view) (annotate) - [select for diffs]
Modified Sun Jan 7 19:55:59 2001 UTC (8 years, 10 months ago) by ben
File length: 112278 byte(s)
Diff to previous 87584 (colored) , to selected 795642 (colored)
Make handlers use hooks.

Revision 87584 - (view) (annotate) - [select for diffs]
Modified Thu Jan 4 20:45:06 2001 UTC (8 years, 10 months ago) by trawick
File length: 112325 byte(s)
Diff to previous 87241 (colored) , to selected 795642 (colored)
Get rid of some warnings on Tru64 and OS/390.  void * isn't compatible
with function pointers.

Revision 87241 - (view) (annotate) - [select for diffs]
Modified Thu Dec 7 03:32:54 2000 UTC (8 years, 11 months ago) by rbb
File length: 112152 byte(s)
Diff to previous 87113 (colored) , to selected 795642 (colored)
Make mod_include use a hash table to associate directive tags with
functions.  This allows modules to implement their own SSI tags easily.
The idea is simple enough, a module can insert it's own tag and function
combination into a hash table provided by mod_include.  While mod_include
parses an SSI file, when it encounters a tag in the file, it does a
hash lookup to find the function that implements that tag, and passes
all of the relevant data to the function.  That function is then
responsible for processing the tag and handing the remaining data back
to mod_include for further processing.
Submitted by:	Paul J. Reder <rederpj@raleigh.ibm.com>
Reviewed by:	Ryan Bloom

Revision 87113 - (view) (annotate) - [select for diffs]
Modified Tue Nov 28 23:07:01 2000 UTC (8 years, 11 months ago) by rbb
File length: 112287 byte(s)
Diff to previous 87104 (colored) , to selected 795642 (colored)
First step towards extracting the SSI handling from mod_include so that
it is extensible by modules
Submitted by:	Paul J. Reder <rederpj@raleigh.ibm.com>
Reviewed by:	Ryan Bloom

Revision 87104 - (view) (annotate) - [select for diffs]
Modified Tue Nov 28 18:57:31 2000 UTC (8 years, 11 months ago) by trawick
File length: 113528 byte(s)
Diff to previous 87099 (colored) , to selected 795642 (colored)
Fix some lvalue casts so that we can compile with xlc on AIX.
Submitted by:	"Victor J. Orlikowski" <v.j.orlikowski@gte.net>
Reviewed by:	Jeff Trawick

Revision 87099 - (view) (annotate) - [select for diffs]
Modified Tue Nov 28 03:19:21 2000 UTC (9 years ago) by trawick
File length: 113460 byte(s)
Diff to previous 87094 (colored) , to selected 795642 (colored)
Change some apr_ssize_t uses to apr_size_t.
Submitted by:	Victor J. Orlikowski
Reviewed by:	Jeff Trawick

Revision 87094 - (view) (annotate) - [select for diffs]
Modified Mon Nov 27 21:03:11 2000 UTC (9 years ago) by trawick
File length: 113392 byte(s)
Diff to previous 87080 (colored) , to selected 795642 (colored)
fix a bunch of apr_ssize_t/apr_size_t discrepancies

Revision 87080 - (view) (annotate) - [select for diffs]
Modified Sun Nov 26 04:47:43 2000 UTC (9 years ago) by gstein
File length: 113400 byte(s)
Diff to previous 87076 (colored) , to selected 795642 (colored)
*) Compensate for recent changes in the APR headers. Specifically, some
   files need to specifically include stdio.h, or a particular apr_*.h
   header.

*) Adjust callers of apr_create_process() to deal with the extra "const"

*) Add "const" to args of ap_os_create_privileged_process()

Revision 87076 - (view) (annotate) - [select for diffs]
Modified Thu Nov 23 13:03:46 2000 UTC (9 years ago) by gstein
File length: 113244 byte(s)
Diff to previous 87067 (colored) , to selected 795642 (colored)
add the "next filter" parameter to the rest of the ap_sub_req_* calls.

Revision 87067 - (view) (annotate) - [select for diffs]
Modified Wed Nov 22 19:49:20 2000 UTC (9 years ago) by rbb
File length: 112981 byte(s)
Diff to previous 86915 (colored) , to selected 795642 (colored)
A complete re-write of mod_include.  This has served the entire manual
now.  This makes mod_include a filter that uses buckets directly.
Submitted by:	Paul J. Reder <rederpj@raleigh.ibm.com>
Reviewed by:	Ryan Bloom

Revision 86915 - (view) (annotate) - [select for diffs]
Modified Fri Nov 10 19:01:33 2000 UTC (9 years ago) by rbb
File length: 82060 byte(s)
Diff to previous 86737 (colored) , to selected 795642 (colored)
Fix a lot of the fallback from the apr_ssize_t to apr_size_t change
Submitted by:	Victor J. Orlikowski <v.j.orlikowski@gte.net>

Revision 86737 - (view) (annotate) - [select for diffs]
Modified Tue Oct 24 18:40:00 2000 UTC (9 years, 1 month ago) by rbb
File length: 82063 byte(s)
Diff to previous 86731 (colored) , to selected 795642 (colored)
Fix mod_include to serve the FAQ correctly.  The problem was a couple of
bugs in get_tag.  This also allows mod_include to save buckets with partial
tags in them.
Submitted by:	Ryan Bloom and David Reid

Revision 86731 - (view) (annotate) - [select for diffs]
Modified Tue Oct 24 11:54:29 2000 UTC (9 years, 1 month ago) by wrowe
File length: 81940 byte(s)
Diff to previous 86712 (colored) , to selected 795642 (colored)
  Get everything working with suexec patches again.

Revision 86712 - (view) (annotate) - [select for diffs]
Modified Mon Oct 23 15:30:57 2000 UTC (9 years, 1 month ago) by manoj
File length: 81920 byte(s)
Diff to previous 86656 (colored) , to selected 795642 (colored)
Add back suexec support.

Revision 86656 - (view) (annotate) - [select for diffs]
Modified Wed Oct 18 22:24:38 2000 UTC (9 years, 1 month ago) by rbb
File length: 81904 byte(s)
Diff to previous 86609 (colored) , to selected 795642 (colored)
Get mod_include working again.  This still needs to be re-written, but
at least now we are serving SHTML files again.
PR:	6641

Revision 86609 - (view) (annotate) - [select for diffs]
Modified Mon Oct 16 06:05:15 2000 UTC (9 years, 1 month ago) by wrowe
File length: 81888 byte(s)
Diff to previous 86608 (colored) , to selected 795642 (colored)
  Renamed all MODULE_EXPORT symbols to AP_MODULE_DECLARE and all symbols
  for CORE_EXPORT to AP_CORE_DECLARE (namespace protecting the wrapper)
  and retitled API_EXPORT as AP_DECLARE and APR_EXPORT as APR_DECLARE.
  All _VAR_ flavors changes to _DATA to be absolutely clear.
  Thank you Greg, for the most obvious suggestion.

Revision 86608 - (view) (annotate) - [select for diffs]
Modified Mon Oct 16 03:43:44 2000 UTC (9 years, 1 month ago) by wrowe
File length: 81878 byte(s)
Diff to previous 86597 (colored) , to selected 795642 (colored)
  Cleaning up a _Security_ concern - Please Review Carefully

Revision 86597 - (view) (annotate) - [select for diffs]
Modified Sun Oct 15 18:15:13 2000 UTC (9 years, 1 month ago) by rbb
File length: 81527 byte(s)
Diff to previous 86575 (colored) , to selected 795642 (colored)
Stop using the index into the array for the bucket type.  Now we just use
a pointer to a static structure.  The ap_foo_type functions have also been
replaced with simple macro calls.  I am going to replace the
ap_bucket_(read|split|setaside|destroy) functions with macros soon.
Reviewed by:	Will Rowe

Revision 86575 - (view) (annotate) - [select for diffs]
Modified Fri Oct 13 05:35:57 2000 UTC (9 years, 1 month ago) by rbb
File length: 81532 byte(s)
Diff to previous 86400 (colored) , to selected 795642 (colored)
Remove all function pointers from the ap_bucket type.  These function
pointers are replaced with a global table that allows modules to register
their bucket types.  Those bucket types are then allowed to be used in
the server processing.  This also required removing all direct calls to
those functions.  The ap_bucket type has an index into an array, so in
each ap_bucket_* function, we use that index to find the correct set of
functions.

Revision 86400 - (view) (annotate) - [select for diffs]
Modified Thu Oct 5 11:21:26 2000 UTC (9 years, 1 month ago) by trawick
File length: 81480 byte(s)
Diff to previous 86283 (colored) , to selected 795642 (colored)
Get rid of much of the old implementation of translating the
charset of response bodies.

ap_checkconv() is removed, except for in os/bs2000 and os/tpf.
(Anything there is questionable for 2.0 anyway.)

Revision 86283 - (view) (annotate) - [select for diffs]
Modified Fri Sep 22 14:57:08 2000 UTC (9 years, 2 months ago) by trawick
File length: 81659 byte(s)
Diff to previous 86279 (colored) , to selected 795642 (colored)
mod_include now tweaks the subrequest output filter chain so that
only *subsequent* filters from the original request are inherited.
Previously, *all* filters from the original request were inherited.

Currently, any filter which runs a subrequest should do the same
thing (though a cleaner interface may be appropriate.)

With this change, subrequests are properly filtered much more often.

Revision 86279 - (view) (annotate) - [select for diffs]
Modified Thu Sep 21 16:32:48 2000 UTC (9 years, 2 months ago) by trawick
File length: 81269 byte(s)
Diff to previous 86270 (colored) , to selected 795642 (colored)
Get the call to find_string() out of a loop.  find_string() loops
across the buckets internally.  This gets rid of a compile warning
but doesn't change the behavior.
Inspired by: "Victor J. Orlikowski" <v.j.orlikowski@gte.net>

Revision 86270 - (view) (annotate) - [select for diffs]
Modified Wed Sep 20 21:50:50 2000 UTC (9 years, 2 months ago) by trawick
File length: 81405 byte(s)
Diff to previous 86266 (colored) , to selected 795642 (colored)
Fix the prior fix to the usage of ap_brigade_split()...  The caller of
send_parsed_content() needs to see the new brigade representing the
rest of the content.

Revision 86266 - (view) (annotate) - [select for diffs]
Modified Wed Sep 20 18:36:05 2000 UTC (9 years, 2 months ago) by trawick
File length: 81395 byte(s)
Diff to previous 86252 (colored) , to selected 795642 (colored)
Fix mixup in call to ap_brigade_split().

Revision 86252 - (view) (annotate) - [select for diffs]
Modified Tue Sep 19 20:57:19 2000 UTC (9 years, 2 months ago) by rbb
File length: 81333 byte(s)
Diff to previous 86251 (colored) , to selected 795642 (colored)
Cleanup the brigade split in mod_include.  It turns out that we have had
a brigade split function for quite some time.

Revision 86251 - (view) (annotate) - [select for diffs]
Modified Tue Sep 19 20:56:09 2000 UTC (9 years, 2 months ago) by rbb
File length: 81680 byte(s)
Diff to previous 86242 (colored) , to selected 795642 (colored)
tart getting things setup for input filtering.  All this basically does
is add part of the infrastructure.  Namely:

1) filter list in the conn_rec, which is where the input filter list
   must live

2) Split the register_filter into multiple functions, one to register
   input filters the other to register output filters.

3) Modify existing modules so they still work.

Revision 86242 - (view) (annotate) - [select for diffs]
Modified Sun Sep 17 18:52:48 2000 UTC (9 years, 2 months ago) by rbb
File length: 81673 byte(s)
Diff to previous 86239 (colored) , to selected 795642 (colored)
If a bucket is split at the first or last character, then we should get
a zero length bucket and a bucket containing the original text.  Later
filters will either throw away the zero length bucket, or they will just
ignore it.  The problem is that if we return an error in those conditions,
then all filters need special logic whenever they are going to split a
bucket.  By always splitting, only a few selected buckets need the special
logic to deal with zero-length buckets.  This also fixes mod_include to not
have the special logic around it's split call.

Revision 86239 - (view) (annotate) - [select for diffs]
Modified Fri Sep 15 21:23:46 2000 UTC (9 years, 2 months ago) by trawick
File length: 81879 byte(s)
Diff to previous 86229 (colored) , to selected 795642 (colored)
Handle a tag that appears at the start of a bucket.

Get rid of an endless loop (waiting for dptr2 to become NULL instead of
AP_BRIGADE_SENTINEL()).

Add to a to-do comment.

Revision 86229 - (view) (annotate) - [select for diffs]
Modified Thu Sep 14 18:42:58 2000 UTC (9 years, 2 months ago) by trawick
File length: 81438 byte(s)
Diff to previous 86228 (colored) , to selected 795642 (colored)
Fix the types of the variables passed as the len parm to bucket->read()
(in various places).
In ab, change the declaration of argv so that it can be passed into
apr_initopt() without warning.
Submitted by:	Victor J. Orlikowski <v.j.orlikowski@gte.net>
Reviewed and modified slightly by:	Jeff Trawick

Revision 86228 - (view) (annotate) - [select for diffs]
Modified Thu Sep 14 17:59:16 2000 UTC (9 years, 2 months ago) by trawick
File length: 81414 byte(s)
Diff to previous 86216 (colored) , to selected 795642 (colored)
In find_string(), handle eos and end-of-pipe conditions.

In get_tag(), add an XXX comment pointing out a discrepancy in the
behavior pre- and post-bucketization.

In include_cmd(), don't destroy a brigade just handed off to the next
filter.  Subsequent filters will take care of that soon enough.

Fix some compile warnings (mostly removing unused variables).

Revision 86216 - (view) (annotate) - [select for diffs]
Modified Wed Sep 13 19:10:33 2000 UTC (9 years, 2 months ago) by rbb
File length: 81273 byte(s)
Diff to previous 86211 (colored) , to selected 795642 (colored)
Fix a stupid typo.  I wanted to register the filter, but I didn't want to
add it.  I accidentally deleted the wrong line before I committed last
night.

Revision 86211 - (view) (annotate) - [select for diffs]
Modified Wed Sep 13 02:07:40 2000 UTC (9 years, 2 months ago) by rbb
File length: 81381 byte(s)
Diff to previous 86136 (colored) , to selected 795642 (colored)
First pass at mod_include as a filter.  This is at an incredibly alpha
stage, but it should compile for everybody now.  I have experienced a few
seg faults that I haven't been able to track down yet, but it should
compile on all platforms, which is better than before this patch.

Revision 86136 - (view) (annotate) - [select for diffs]
Modified Wed Aug 23 00:01:58 2000 UTC (9 years, 3 months ago) by rbb
File length: 79982 byte(s)
Diff to previous 86020 (colored) , to selected 795642 (colored)
Remove IOLs from Apache.  They are no longer necessary, now that we have
filtering beginning to work.  There is a hack that has been repeated
through this patch, we morph a pipe into a socket, and put the socket
into the BUFF.  Everytime we do that, we are working with a pipe from
a CGI, and we should be creating a pipe bucket and passing that bucket
back.  Because we don't actually have pipe buckets yet, we are using this
hack.  When we get pipe buckets, this will be fixed.

Revision 86020 - (view) (annotate) - [select for diffs]
Modified Mon Aug 7 20:11:37 2000 UTC (9 years, 3 months ago) by trawick
File length: 79728 byte(s)
Diff to previous 86008 (colored) , to selected 795642 (colored)
A few more (last?) ap_xlate->apr_xlate changes covering stuff not completely
handled in the big apr rename last week.

Revision 86008 - (view) (annotate) - [select for diffs]
Modified Sun Aug 6 06:07:53 2000 UTC (9 years, 3 months ago) by wrowe
File length: 79727 byte(s)
Diff to previous 85976 (colored) , to selected 795642 (colored)
  Remaining cleanup of ap_ -> apr_ and AP_ -> APR_ transformation...
  see src/lib/apr/apr_compat.h for most details.
  Also a few minor nits to get Win32 to build.

PR:
Obtained from:
Submitted by:
Reviewed by:

Revision 85976 - (view) (annotate) - [select for diffs]
Modified Wed Aug 2 05:27:38 2000 UTC (9 years, 3 months ago) by dougm
File length: 79712 byte(s)
Diff to previous 85928 (colored) , to selected 795642 (colored)
prefix libapr functions and types with apr_

Revision 85928 - (view) (annotate) - [select for diffs]
Modified Sat Jul 29 03:08:13 2000 UTC (9 years, 4 months ago) by trawick
File length: 79601 byte(s)
Diff to previous 85888 (colored) , to selected 795642 (colored)
Change the storage allocation mechanism for ap_proc_t structures
passed to ap_note_subprocess() by mod_rewrite and mod_include.  The
storage needs to last as long as the pool passed to
ap_note_subprocess(), so autodata won't work.

The mod_rewrite change wasn't tested.  A normal build with mod_rewrite
on Linux currently results in the link failing due to unresolved
references to dbm_*.

Revision 85888 - (view) (annotate) - [select for diffs]
Modified Wed Jul 26 01:56:02 2000 UTC (9 years, 4 months ago) by dgaudet
File length: 79544 byte(s)
Diff to previous 85867 (colored) , to selected 795642 (colored)
- fix POOL_DEBUG ... restored the ap_pool_joins that dreid removed.
- removed the apr_abort foo since every caller was passing it NULL anyway;
  and this is debugging code, so i don't have any qualms about using
  stderr or abort().

Revision 85867 - (view) (annotate) - [select for diffs]
Modified Fri Jul 21 19:50:58 2000 UTC (9 years, 4 months ago) by rbb
File length: 79506 byte(s)
Diff to previous 85860 (colored) , to selected 795642 (colored)
Move all APR functions related to strings to their own directory, and
create a new header for those functions.  This is the first step to
removing the apr/lib directory completely, and moving those files/functions
to descriptive directories.

Revision 85860 - (view) (annotate) - [select for diffs]
Modified Mon Jul 17 22:11:47 2000 UTC (9 years, 4 months ago) by trawick
File length: 79481 byte(s)
Diff to previous 85774 (colored) , to selected 795642 (colored)
Fix some bad ap_log_error() invocations.  Comment on a bad
ap_log_rerror() invocation.

Almost all of this is in code never compiled.

Revision 85774 - (view) (annotate) - [select for diffs]
Modified Thu Jul 6 14:40:36 2000 UTC (9 years, 4 months ago) by stoddard
File length: 79352 byte(s)
Diff to previous 85723 (colored) , to selected 795642 (colored)
Eliminate a couple of compiler warnings. I don't like casts but these
seem safe.

Revision 85723 - (view) (annotate) - [select for diffs]
Modified Wed Jun 28 14:33:48 2000 UTC (9 years, 5 months ago) by trawick
File length: 79342 byte(s)
Diff to previous 85607 (colored) , to selected 795642 (colored)
Include strings.h for strcasecmp(), strncasecmp(), and bzero().
Include time.h for time().

This removes a bunch of compiler warnings with gcc -Wall on AIX.
Submitted by:	Jeff Trawick, Victor Orlikowski

Revision 85607 - (view) (annotate) - [select for diffs]
Modified Sun Jun 18 04:06:43 2000 UTC (9 years, 5 months ago) by trawick
File length: 79292 byte(s)
Diff to previous 85599 (colored) , to selected 795642 (colored)
Use the new command-handler initializer macros in a few more modules,
cleaning up the resulting warnings.

Revision 85599 - (view) (annotate) - [select for diffs]
Modified Sat Jun 17 16:29:53 2000 UTC (9 years, 5 months ago) by ben
File length: 79261 byte(s)
Diff to previous 85594 (colored) , to selected 795642 (colored)
More consification, correct command initialisation.

Revision 85594 - (view) (annotate) - [select for diffs]
Modified Sat Jun 17 11:00:57 2000 UTC (9 years, 5 months ago) by dreid
File length: 79251 byte(s)
Diff to previous 85558 (colored) , to selected 795642 (colored)
ap_pool_join is a debugging function so remove it.

Revision 85558 - (view) (annotate) - [select for diffs]
Modified Mon Jun 12 23:03:05 2000 UTC (9 years, 5 months ago) by rbb
File length: 79289 byte(s)
Diff to previous 85535 (colored) , to selected 795642 (colored)
Protect system header files with the appropriate macros.

Revision 85535 - (view) (annotate) - [select for diffs]
Modified Mon Jun 12 15:29:09 2000 UTC (9 years, 5 months ago) by rbb
File length: 79261 byte(s)
Diff to previous 85514 (colored) , to selected 795642 (colored)
Remove the final vestiges of stat.h from Apache 2.0.  All calls are now to
ap_stat.  This also adds the new function ap_lstat().  This function is
analogous to lstat.

Revision 85514 - (view) (annotate) - [select for diffs]
Modified Sun Jun 11 14:04:52 2000 UTC (9 years, 5 months ago) by ben
File length: 79251 byte(s)
Diff to previous 85506 (colored) , to selected 795642 (colored)
Do printf formatting properly.

Revision 85506 - (view) (annotate) - [select for diffs]
Modified Sat Jun 10 18:51:24 2000 UTC (9 years, 5 months ago) by trawick
File length: 79358 byte(s)
Diff to previous 85449 (colored) , to selected 795642 (colored)
cast ap_snprintf() argument to the type expected by the format string
(to fix gcc warning on FreeBSD)

Revision 85449 - (view) (annotate) - [select for diffs]
Modified Tue Jun 6 21:45:16 2000 UTC (9 years, 5 months ago) by rbb
File length: 79352 byte(s)
Diff to previous 85318 (colored) , to selected 795642 (colored)
Add the resource limiting code back to Apache 2.0.  This only works on
Unix because I can't find any other platforms with rlimit.  If there are
other platforms that need this code, then some of the code needs to move.
This has just barely been tested, so it could probably use some good
testing.

Revision 85318 - (view) (annotate) - [select for diffs]
Modified Sat May 27 22:40:44 2000 UTC (9 years, 6 months ago) by wrowe
File length: 78579 byte(s)
Diff to previous 85309 (colored) , to selected 795642 (colored)
PR:
Obtained from:
Submitted by:
Reviewed by:

  Reverse out all _EXPORT_VAR changes back to their original _VAR_EXPORT
  names for linkage (API_, CORE_, and MODULE_).

Revision 85309 - (view) (annotate) - [select for diffs]
Modified Sat May 27 05:28:02 2000 UTC (9 years, 6 months ago) by wrowe
File length: 78579 byte(s)
Diff to previous 85285 (colored) , to selected 795642 (colored)
  This patch corrects the issues from the AP_EXPORT and linkage 
  specification arguments to the ap_hooks.h declarations.  As with
  the APR_ and AP_ patches, API_VAR_EXPORT becomes API_EXPORT_VAR,
  and MODULE_VAR_EXPORT becomes MODULE_EXPORT_VAR.

  I will be happy to revert the inclusion of ap_config.h from 
  httpd.h if this bothers anyone.  More individual modules need
  to be patched if we do so.

  The API_EXPORTs all moved into central storage in the ap_config.h
  header.  Without WIN32 or API_STATIC compile time declarations, 
  these macros remain no-ops.

  This patch also moves the following data from http_main to http_config:

    const char *ap_server_argv0;
    const char *ap_server_root;
    ap_array_header_t *ap_server_pre_read_config;
    ap_array_header_t *ap_server_post_read_config;
    ap_array_header_t *ap_server_config_defines;

  And the following variables had already moved into ap_hooks.c:

    ap_pool_t *g_pHookPool;  (initialized now in http_config)
    int g_bDebugHooks;                   (out of http_config)
    const char *g_szCurrentHookName;     (out of http_config)

  The changes to http_main.c are in preparation for that module to
  move out to a seperate .exe for win32.  Other platforms will be
  unaffected, outside of these changes.

Revision 85285 - (view) (annotate) - [select for diffs]
Modified Wed May 24 00:15:09 2000 UTC (9 years, 6 months ago) by rbb
File length: 78579 byte(s)
Diff to previous 85279 (colored) , to selected 795642 (colored)
Rename stdin, stdout, stderr from new ap_proc_t to in, out, and err because
Windows was having problems with the original names.

Revision 85279 - (view) (annotate) - [select for diffs]
Modified Tue May 23 21:04:03 2000 UTC (9 years, 6 months ago) by rbb
File length: 78582 byte(s)
Diff to previous 85274 (colored) , to selected 795642 (colored)
Convert ap_proc_t to a complete type.  This lets us access the pid directly.
Only the prefork MPM has been ported so far, the rest of the Unix MPM's are
coming later today.

Revision 85274 - (view) (annotate) - [select for diffs]
Modified Tue May 23 03:04:30 2000 UTC (9 years, 6 months ago) by bjh
File length: 78592 byte(s)
Diff to previous 85232 (colored) , to selected 795642 (colored)
Turn on buffered I/O in mod_include for reading the input file.

Revision 85232 - (view) (annotate) - [select for diffs]
Modified Tue May 16 20:19:29 2000 UTC (9 years, 6 months ago) by stoddard
File length: 78579 byte(s)
Diff to previous 85222 (colored) , to selected 795642 (colored)
Update a couple of modules to use ap_stat() rather than stat().

PR:
Obtained from:
Submitted by:
Reviewed by:

Revision 85222 - (view) (annotate) - [select for diffs]
Modified Tue May 16 01:59:07 2000 UTC (9 years, 6 months ago) by trawick
File length: 78581 byte(s)
Diff to previous 84963 (colored) , to selected 795642 (colored)
mod_include:
. APR-ize some EBCDIC logic that translates char-by-char
. use the buff option BO_WXLATE to store a translation handle
  instead of the old logic to turn on the B_EBCDIC2ASCII flag

Revision 84963 - (view) (annotate) - [select for diffs]
Modified Fri Apr 14 15:59:20 2000 UTC (9 years, 7 months ago) by rbb
File length: 78519 byte(s)
Diff to previous 84879 (colored) , to selected 795642 (colored)
Change ap_context_t to ap_pool_t.  This compiles, runs, and serves pages
on Linux, but probably breaks somewhere.

Revision 84879 - (view) (annotate) - [select for diffs]
Modified Fri Mar 31 09:05:25 2000 UTC (9 years, 7 months ago) by fielding
File length: 78537 byte(s)
Diff to previous 84842 (colored) , to selected 795642 (colored)
Update to Apache Software License version 1.1

Revision 84842 - (view) (annotate) - [select for diffs]
Modified Mon Mar 27 16:22:30 2000 UTC (9 years, 8 months ago) by rbb
File length: 78682 byte(s)
Diff to previous 84837 (colored) , to selected 795642 (colored)
Backout layered I/O changes.

Revision 84837 - (view) (annotate) - [select for diffs]
Modified Sat Mar 25 15:00:10 2000 UTC (9 years, 8 months ago) by rbb
File length: 79816 byte(s)
Diff to previous 84769 (colored) , to selected 795642 (colored)
Enabled layered I/O.  Docs are forthcoming.

Revision 84769 - (view) (annotate) - [select for diffs]
Modified Wed Mar 15 12:00:51 2000 UTC (9 years, 8 months ago) by dreid
File length: 78682 byte(s)
Diff to previous 84751 (colored) , to selected 795642 (colored)
Jeff's couple of small corrections.

Submitted by: Jeff Trawick <trawick@ibm.net>

Revision 84751 - (view) (annotate) - [select for diffs]
Modified Mon Mar 13 20:27:29 2000 UTC (9 years, 8 months ago) by jim
File length: 78679 byte(s)
Diff to previous 84725 (colored) , to selected 795642 (colored)
Backport the CSS security fixes to Apache 2.0a. Or is that forward
port? My sense of direction is all confused.

PR:
Obtained from:
Submitted by:
Reviewed by:

Revision 84725 - (view) (annotate) - [select for diffs]
Modified Fri Mar 10 00:07:37 2000 UTC (9 years, 8 months ago) by rbb
File length: 77937 byte(s)
Diff to previous 84497 (colored) , to selected 795642 (colored)
Fix all the License issues.  Including:
s/Apache Group/Apache Software Foundation/
s/1999/2000/
s/Sascha's license/ASF license

Revision 84497 - (view) (annotate) - [select for diffs]
Modified Wed Jan 19 02:42:17 2000 UTC (9 years, 10 months ago) by rbb
File length: 77811 byte(s)
Diff to previous 84494 (colored) , to selected 795642 (colored)
Manoj has been pushing for this for a while, but I've been too dense
to understand that he was right.  :-)  Basically, this makes the modules
use ap_config to test for header file inclusion.  This method is not to
be used for larger modules that run autoconf theirselves.  Including
ap_config is only valid for modules which rely on Apache to do their
configuration.  Currently, this is only the core modules.

Revision 84494 - (view) (annotate) - [select for diffs]
Modified Wed Jan 19 01:28:37 2000 UTC (9 years, 10 months ago) by stoddard
File length: 77784 byte(s)
Diff to previous 84492 (colored) , to selected 795642 (colored)
Fix compile break on Windows and update to use ap_stat()

Revision 84492 - (view) (annotate) - [select for diffs]
Modified Tue Jan 18 23:41:56 2000 UTC (9 years, 10 months ago) by rbb
File length: 77834 byte(s)
Diff to previous 84413 (colored) , to selected 795642 (colored)
This is a huge change to the configure system.  Basically, this name space
protects most, if not all, of the Apache macros.   This has been tested on
Linux using all of the Unix MPM's.  The biggest push was that Apache's
httpd.h header file can no longer include the ap_config.h file.  Most of the
other files include this themselves now.
Submitted by:	Ryan Bloom and Manoj Kasichainula

Revision 84413 - (view) (annotate) - [select for diffs]
Modified Sun Jan 9 05:18:31 2000 UTC (9 years, 10 months ago) by dgaudet
File length: 77775 byte(s)
Diff to previous 84400 (colored) , to selected 795642 (colored)
time overhaul:

- ap_time_t is a 64-bit scalar, microseconds since epoch
- ap_exploded_time_t corresponds to struct tm with a few extras

probably broken on anything except linux.

Revision 84400 - (view) (annotate) - [select for diffs]
Modified Thu Jan 6 19:19:39 2000 UTC (9 years, 10 months ago) by rbb
File length: 77897 byte(s)
Diff to previous 84397 (colored) , to selected 795642 (colored)
Next pass at the time functions.  This defines an ap_ansi_time_t which has
a specific format (seconds since 0:00:00 Jan 1, 1970).  I also renamed the
(get|set)_curtime functions to (get|set)ansitime.  This should make more
sense, and be a bit more intuitive.

Revision 84397 - (view) (annotate) - [select for diffs]
Modified Thu Jan 6 14:43:41 2000 UTC (9 years, 10 months ago) by rbb
File length: 77896 byte(s)
Diff to previous 84393 (colored) , to selected 795642 (colored)
Separate the stat structure from the file structure and use ap_stat and
ap_getfileinfo in apache.

Revision 84393 - (view) (annotate) - [select for diffs]
Modified Tue Jan 4 19:01:04 2000 UTC (9 years, 10 months ago) by rbb
File length: 78167 byte(s)
Diff to previous 84338 (colored) , to selected 795642 (colored)
Initialize all ap_file_t's to NULL.  This allows ap_open and ap_stat to
work together without causing memory leaks.

Revision 84338 - (view) (annotate) - [select for diffs]
Modified Mon Dec 20 16:38:39 1999 UTC (9 years, 11 months ago) by rbb
File length: 78153 byte(s)
Diff to previous 84309 (colored) , to selected 795642 (colored)
First step in getting Apache to use APR's time libraries.  This gets a good
number of them, but I think there are more time values still in the Apache
code.  This works under Linux, but has not been tested anywhere else.

Revision 84309 - (view) (annotate) - [select for diffs]
Modified Thu Dec 16 19:58:00 1999 UTC (9 years, 11 months ago) by rbb
File length: 77694 byte(s)
Diff to previous 84306 (colored) , to selected 795642 (colored)
After a few hours of thorough testing, this patch makes CGI's through SSI's
work properly on Linux.  We will be testing this change on Win32 momentarily,
but because we are relying on APR for the dirty work, I have no fears.  :-)

Revision 84306 - (view) (annotate) - [select for diffs]
Modified Thu Dec 16 15:41:28 1999 UTC (9 years, 11 months ago) by rbb
File length: 77528 byte(s)
Diff to previous 84288 (colored) , to selected 795642 (colored)
Fix mod_include so it works.  Both people came up with very similar patches at
about the same time.  Since the work was duplicated, I am putting both names
on the patch.
Submitted by:   Allan Edwards and Paul Reder
Reviewed by:	Ryan Bloom

Revision 84288 - (view) (annotate) - [select for diffs]
Modified Mon Dec 13 20:52:28 1999 UTC (9 years, 11 months ago) by rbb
File length: 77531 byte(s)
Diff to previous 84215 (colored) , to selected 795642 (colored)
Get rid of more platform dependant code.

Revision 84215 - (view) (annotate) - [select for diffs]
Modified Thu Dec 2 18:36:39 1999 UTC (9 years, 11 months ago) by rbb
File length: 77850 byte(s)
Diff to previous 84135 (colored) , to selected 795642 (colored)
We may not always want to make the pipes between processes non-blocking.
This patch allows us to set if both sides of the pipes are nonblocking,
both sides are blocking, just the parent side blocks, or just the child
side blocks for all three of the pipes created during create_process.  I
have also modified Apache to take advantage of this change.

Revision 84135 - (view) (annotate) - [select for diffs]
Modified Fri Nov 19 18:49:20 1999 UTC (10 years ago) by rbb
File length: 77789 byte(s)
Diff to previous 84084 (colored) , to selected 795642 (colored)
Finish the conversion from fprintf(stderr -> ap_log_err.

Revision 84084 - (view) (annotate) - [select for diffs]
Modified Mon Nov 1 11:45:29 1999 UTC (10 years ago) by bjh
File length: 77633 byte(s)
Diff to previous 84023 (colored) , to selected 795642 (colored)
First hack at getting mod_include to work. Everything seems to work ok but
error handling probably needs some work.

Revision 84023 - (view) (annotate) - [select for diffs]
Modified Fri Oct 22 16:01:27 1999 UTC (10 years, 1 month ago) by martin
File length: 76863 byte(s)
Diff to previous 83852 (colored) , to selected 795642 (colored)
I am not claiming that the modules work now, but at least the parameter lists
are prepared for the updated ap_log_rerror() format. BTW: What is APLOG_NOERROR
for now that we have an explicit error code? This is still WIP!

Revision 83852 - (view) (annotate) - [select for diffs]
Modified Tue Aug 31 05:35:52 1999 UTC (10 years, 2 months ago) by rbb
File length: 76691 byte(s)
Diff to previous 83791 (colored) , to selected 795642 (colored)
Changed pools to contexts.  Tested with prefork and pthread mpm's.  I'll
check this out tomorrow and make sure everything was checked in correctly.

Revision 83791 - (view) (annotate) - [select for diffs]
Modified Thu Aug 26 17:26:45 1999 UTC (10 years, 3 months ago) by fielding
File length: 76634 byte(s)
Diff to previous 83788 (colored) , to selected 795642 (colored)
TODO: changing directory should be handled by CreateProcess

Submitted by:	Dean Gaudet

Revision 83788 - (view) (annotate) - [select for diffs]
Modified Thu Aug 26 17:17:22 1999 UTC (10 years, 3 months ago) by fielding
File length: 76664 byte(s)
Diff to previous 83786 (colored) , to selected 795642 (colored)
Remove timeouts as part of pthreads changes.

Submitted by:	Bill Stoddard

Revision 83786 - (view) (annotate) - [select for diffs]
Modified Thu Aug 26 17:09:12 1999 UTC (10 years, 3 months ago) by fielding
File length: 76725 byte(s)
Diff to previous 83751 (colored) , to selected 795642 (colored)
Start to implement module-defined hooks that are a) fast and b) typesafe.
Replace pre_connection module call with a register_hook call and
implement pre_connection as a hook. The intent is that these hooks will
be extended to allow Apache to be multi-protocol, and also to allow the
calling order to be specified on a per-hook/per-module basis.  [Ben Laurie]

Port a bunch of modules to the new module structure.
["Michael H. Voase" <mvoase@midcoast.com.au>]

Submitted by:   Ben Laurie

Revision 83751 - (view) (annotate) - [select for diffs]
Added Tue Aug 24 06:55:44 1999 UTC (10 years, 3 months ago) by fielding
File length: 76855 byte(s)
Diff to selected 795642 (colored)
Apache 1.3.9 baseline for the Apache 2.0 repository.

Obtained from: Apache 1.3.9 (minus unused files), tag APACHE_1_3_9
Submitted by: Apache Group

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

apache@apache.org
ViewVC Help
Powered by ViewVC 1.1.2