1
0
mirror of https://github.com/apache/httpd.git synced 2025-11-05 05:30:39 +03:00
Commit Graph

353 Commits

Author SHA1 Message Date
Greg Stein
209770a679 temp fix for filter ordering: +1 on the core filter's type.
bug fix in chunk_filter(): it was creating the wrong-size bucket.

chunking now appears to be working (without using BUFF).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86092 13f79535-47bb-0310-9956-ffa450edef68
2000-08-17 01:39:12 +00:00
Ryan Bloom
032972c119 A first pass at the chunking filter. This is incredibly simple. As
bucket brigades are sent to this filter, it inserts the chunking header
at the front of the brigade.  When the filter sees an EOS bucket, it
adds the 0 chunking trailer.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86090 13f79535-47bb-0310-9956-ffa450edef68
2000-08-17 00:54:03 +00:00
Greg Stein
d954f484ab fix the insertion of the CORE filter. it should be happen last.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86084 13f79535-47bb-0310-9956-ffa450edef68
2000-08-16 19:03:28 +00:00
Ryan Bloom
b0f3a1dfcb Remove a bunch of warnings from the server when compiled using
--with-maintainer-mode


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86070 13f79535-47bb-0310-9956-ffa450edef68
2000-08-14 03:07:58 +00:00
Ryan Bloom
b036ef293a Cleanup the buckets a bit, and add ScanDoc comments. The cleanup was
basically removing functions that aren't really necessary anymore.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86063 13f79535-47bb-0310-9956-ffa450edef68
2000-08-13 00:53:43 +00:00
Ryan Bloom
35d4c4a58c Initial Filtering code. This uses a bucket brigade scheme to allow modules
to add and modify data while processing a request.  The docs still need
to be updated, and a simple html page needs to be created explaining all
of this.

The only filter currently in the code is the core filter.  This filter
takes a bucket brigade and writes it to the network through the buff
structure.  In time, the buff will go away completely.

More filters will need to be written.
Submitted by:	The Apache Community
Reviewed by:	The Apache Community


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86059 13f79535-47bb-0310-9956-ffa450edef68
2000-08-12 18:45:35 +00:00
Ken Coar
ce7baf6d90 Allow <Limit*> to accept arbitrary extension method named instead
of varfing.  Nothing takes advantage of this yet; that's coming
	next.  Also replace the shorthand Allow setup to use the new
	API (this is possibly a problematical change for the core default
	handler; no problem to back that out).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86057 13f79535-47bb-0310-9956-ffa450edef68
2000-08-12 00:00:08 +00:00
Jeff Trawick
99cf606197 Fix some problems with the apr conversion so that APACHE_XLATE builds work
again.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86018 13f79535-47bb-0310-9956-ffa450edef68
2000-08-07 19:26:02 +00:00
William A. Rowe Jr
1a9db204f5 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:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86008 13f79535-47bb-0310-9956-ffa450edef68
2000-08-06 06:07:53 +00:00
Doug MacEachern
059d8dd212 prefix libapr functions and types with apr_
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85976 13f79535-47bb-0310-9956-ffa450edef68
2000-08-02 05:27:38 +00:00
Ryan Bloom
fe64231023 Move the Server Token stuff out of http_config_globals.h because it is
now isolated in http_core.c


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85941 13f79535-47bb-0310-9956-ffa450edef68
2000-07-29 19:50:08 +00:00
Ryan Bloom
a8924ba469 Remove EXEC_ON_READ from ClearModuleList and AddModule. Having these
as EXEC_ON_READ was causing a seg fault, and it was unnecessary.  Neither
of these directives changes how the server interprets the config file,
they only change how the server responds to the configuration.
PR:	6318


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85883 13f79535-47bb-0310-9956-ffa450edef68
2000-07-25 05:35:34 +00:00
William A. Rowe Jr
f5cd4a7017 Caught a bit of my own bad style :)
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85879 13f79535-47bb-0310-9956-ffa450edef68
2000-07-25 01:36:28 +00:00
William A. Rowe Jr
847b20108c Add APR_EOL_STR for a platform specific text delimiter, provided by
apr.h (defined in apr.h.in and apr.hw).  This is needed -only- in APR
  created files (true raw files) such as logs.  It is not required in any
  splat to screen (stderr/stdout) formatting, nor any html markup.

  Some other modules slipped through in the prior apr_strings.h commit.
  Sorry 'bout that.

PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85878 13f79535-47bb-0310-9956-ffa450edef68
2000-07-25 01:06:32 +00:00
Ryan Bloom
22d9fbdec0 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85867 13f79535-47bb-0310-9956-ffa450edef68
2000-07-21 19:50:58 +00:00
Ryan Bloom
98514ba315 Fix a warning associated with the ap_send_fd change from earlier today.
This just changes a couple of long's to ap_size_t.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85817 13f79535-47bb-0310-9956-ffa450edef68
2000-07-11 03:48:18 +00:00
Greg Stein
71aeeddbe2 shift the LimitXMLRequestBody directive to the core. use it from util_xml.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85816 13f79535-47bb-0310-9956-ffa450edef68
2000-07-11 00:06:22 +00:00
Bill Stoddard
6aa73a79bc Reimplement ap_send_fd. Eliminate ap_send_fd_length. If APR_HAS_SENDFILE is
defined but ap_sendfile fails with APR_ENOTIMPL, the BUFF implementation
of ap_send_fd will get a shot at serving the request.  This fix is
required to get Apache working on 95/98 again and can also be useful on
Unix systems where sendfile is available via a servicepack/fixpack/PTF
on a particular level of the OS (e.g., AIX 4.3.2 base does not include
sendfile but is is available with a PTF).

This fix also reimplements the mod_file_cache sendfile_handler using
ap_send_fd and sets the connection aborted flag if the sendfile fails.

Future modification... Add code to ap_send_fd to hijack any data in the
client BUFF structure and send it along with the sendfile.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85810 13f79535-47bb-0310-9956-ffa450edef68
2000-07-10 21:49:22 +00:00
Jeff Trawick
b5c0ae056b 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


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85723 13f79535-47bb-0310-9956-ffa450edef68
2000-06-28 14:33:48 +00:00
William A. Rowe Jr
8d92b2f40a Whoops... will be needing this exported rsn for mod_mmap_static. But the
argument to register hook fn takes a __cdecl function, so _NONSTD it is.

PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85716 13f79535-47bb-0310-9956-ffa450edef68
2000-06-28 07:55:44 +00:00
William A. Rowe Jr
b9ce8c3ebc Hook functions aren't translated (and when they are, they are _NONSTD)...
but you don't need to export a function you will pass by ref to a
  register hook function.

PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85715 13f79535-47bb-0310-9956-ffa450edef68
2000-06-28 04:52:39 +00:00
Bill Stoddard
fc97838100 Fix compiler warning on AIX
Submitted by:  Victor Orlikowski
Reviewed by:   Bill Stoddard


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85712 13f79535-47bb-0310-9956-ffa450edef68
2000-06-27 22:37:36 +00:00
Greg Stein
02a2200fd8 blast the old names for the status codes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85686 13f79535-47bb-0310-9956-ffa450edef68
2000-06-24 17:34:11 +00:00
William A. Rowe Jr
ad6759a657 This Win32 patch adds the key HKCR/filetype/shell/execcgi/command as the
preference over the HKCR/filetype/shell/open/command for registry-based
  script execution, allowing two behaviors to coexist peacefully (the pipe
  based console behavior and the Win32 shell behavior.)

  The new ScriptInterpreterSource registry-strict directive dismisses bth
  the HKCR/filetype/shell/open/command and the shebang processing for
  administrators who are interested in explicit authorization of file type
  execution allowed in the context of subscriber-created scripts.  The net
  result: only HKCR/filetype/shell/execcgi/command processing is permitted.

  Docs to follow shortly.

PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85625 13f79535-47bb-0310-9956-ffa450edef68
2000-06-20 04:15:02 +00:00
William A. Rowe Jr
a8dfe79493 This patch disallows bogus args to the ScriptInterpreterSource directive
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85624 13f79535-47bb-0310-9956-ffa450edef68
2000-06-20 03:53:55 +00:00
William A. Rowe Jr
fd3e806b92 This patch solves several specific issues:
1.3.x truncated any open/command arguments following the %1 arg.
           so this patch adds the char** arguments to several functions

     1.3.x did not expand environment strings (%userprofile% etc.)
           *) This patch may still not do so, if we are running with a
              subset of the 'normal' environment for security reasons.

     1.3.x did not parse the extension itself (eg. the .pl key itself)
           for the command, failing the 'named' type (eg. perlscript),
           so this patch first tests the 'named' key, then the .ext key

PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85623 13f79535-47bb-0310-9956-ffa450edef68
2000-06-20 03:48:25 +00:00
Ben Laurie
c0a4cb7873 More consification, correct command initialisation.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85599 13f79535-47bb-0310-9956-ffa450edef68
2000-06-17 16:29:53 +00:00
Ben Laurie
24878f1675 Fix warnings.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85597 13f79535-47bb-0310-9956-ffa450edef68
2000-06-17 12:33:30 +00:00
Ben Laurie
c1b39458ab Command handler revamp. Note that this makes the code produce a LOT of
warnings!


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85595 13f79535-47bb-0310-9956-ffa450edef68
2000-06-17 11:13:05 +00:00
Jeff Trawick
e38702601d Include the proper header file (under X/Open, at least) for ntohs() in
a couple of modules.  This lets us link-edit successfully again on OS/390.
(OS/390 only has the macro form of these functions.)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85580 13f79535-47bb-0310-9956-ffa450edef68
2000-06-15 13:42:01 +00:00
Jeff Trawick
a9746375cf Get the ap_config.h cleanup working on FreeBSD by adding includes of
additional system headers.

A platform check in logresolve.c to determine whether or not we include
<arpa/inet.h> was converted to a feature check.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85567 13f79535-47bb-0310-9956-ffa450edef68
2000-06-13 21:36:18 +00:00
Ryan Bloom
750d8cc03c Protect system header files with the appropriate macros.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85558 13f79535-47bb-0310-9956-ffa450edef68
2000-06-12 23:03:05 +00:00
Ryan Bloom
580852da85 Clean up a big chunk of ap_config.h. This basically stops ap_config.h from
including any files.  Because of this change, other files must include
their own headers.  I also cleaned up a couple of other bugs in some
modules because I had to compile them all.

I expect this to break multiple platforms, but this will be fixed over time.
The massive configure cleanup is almost done.  I will go through the files
one more time after this commit.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85553 13f79535-47bb-0310-9956-ffa450edef68
2000-06-12 21:47:17 +00:00
Ryan Bloom
3c8e0cb24f 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85449 13f79535-47bb-0310-9956-ffa450edef68
2000-06-06 21:45:16 +00:00
William A. Rowe Jr
1ad75f891b PR:
Obtained from:
Submitted by:
Reviewed by:

  Hmmm... exporting a hook, very interesting :-)

  But the win32 build believes hooks are pretty uninteresting, mostly
  static __cdecl calls, so pound this declaration into NONSTD.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85439 13f79535-47bb-0310-9956-ffa450edef68
2000-06-06 04:11:08 +00:00
Jeff Trawick
c84d2199e5 Port mod_mmap_static to 2.0. Make it go faster.
core: Export core_translate() as ap_core_translate() for use by
      mod_mmap_static.
Submitted by:	Greg Ames
Reviewed by:	Jeff Trawick


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85437 13f79535-47bb-0310-9956-ffa450edef68
2000-06-06 01:49:30 +00:00
Ryan Bloom
150c8bcd64 Fix a warning and a bug from the server_token commit.
Submitted by:	Eric Cholet <cholet@logilune.com>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85431 13f79535-47bb-0310-9956-ffa450edef68
2000-06-05 22:57:20 +00:00
Ryan Bloom
eda6e3d23c Add server tokens back to 2.0. Also bring forward the change to allow
the PRODUCT_ONLY value for ServerTokens.  This is relatively clean,
all of the code lives in http_core, and when a module wants to add a token,
they just call ap_add_version_component from the post_config hook.  Actually
ap_add_version_component can be done anytime after the config has been
parsed, it just makes the most sense to do it in post_config IMHO.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85426 13f79535-47bb-0310-9956-ffa450edef68
2000-06-05 19:44:02 +00:00
Jeff Trawick
43c2b45f38 EBCDIC: Rearrange calls to ap_checkconv() so that most handlers
won't need to call it.
Submitted by:	Greg Ames, Jeff Trawick


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85397 13f79535-47bb-0310-9956-ffa450edef68
2000-06-03 22:41:01 +00:00
Ryan Bloom
71d8e39db6 Modify the config order so that we read the config, process all EXEC_ON_READ
directives at the same time, run pre_config hook for all modules, and
then walk the tree.  This allows all modules to have a pre_config hook and
know that it will be called at a reasonable time.  I also made "Include"
an EXEC_ON_READ directive so that it is included in the tree properly.
This was required after the other changes that were made.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85393 13f79535-47bb-0310-9956-ffa450edef68
2000-06-03 16:27:03 +00:00
Jeff Trawick
5d2faa8caa fix missed change to comment
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85376 13f79535-47bb-0310-9956-ffa450edef68
2000-06-02 13:38:04 +00:00
William A. Rowe Jr
da493b8be1 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_).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85318 13f79535-47bb-0310-9956-ffa450edef68
2000-05-27 22:40:44 +00:00
William A. Rowe Jr
86e2a18f2a 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85309 13f79535-47bb-0310-9956-ffa450edef68
2000-05-27 05:28:02 +00:00
Jeff Trawick
78aba7227f APACHE_XLATE, CHARSET_EBCDIC stuff:
Provide new function ap_set_content_xlate() to simplify what needs
to be done to set up translation of content.  Use it where appropriate.

With this change, EBCDIC logic was tweaked so that ap_checkconv() does
not overlay a translation handle previously stored (e.g., by a module)
unless it is turning translation off.  Unless ap_checkconv() determines
that translation is inappropriate, it should leave the translation handle
alone.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85296 13f79535-47bb-0310-9956-ffa450edef68
2000-05-25 20:51:25 +00:00
Jeff Trawick
4636c1e3c1 Fix some bugs in the use of APACHE_XLATE vs. CHARSET_EBCDIC
which prevented building with APACHE_XLATE on an ASCII machine.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85247 13f79535-47bb-0310-9956-ffa450edef68
2000-05-18 19:54:44 +00:00
Ryan Bloom
66826a60ab Commit the EXEC_ON_READ changes. This allows modules to hook into the
config file read phase.  Full details are in the CHANGES file blurb.
Examples to see how this should be used are provided for <IfModule>
<IfDefine> LoadModule, AddModule and ClearModuleList expect docs in the
next day or two.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85217 13f79535-47bb-0310-9956-ffa450edef68
2000-05-15 19:21:40 +00:00
Jeff Trawick
7387a849be util_ebcdic.h, util_ebcdic.c, http_core.c:
tweak ap_checkconv() for 2.0
buff.c:
  fix typo in comment
util_md5.h:
  change CHARSET_EBCDIC to APACHE_XLATE
util_script.c:
  APR-ize some character set conversion (EBCDIC only)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85214 13f79535-47bb-0310-9956-ffa450edef68
2000-05-15 17:51:23 +00:00
Jeff Trawick
5e0e87ef86 EBCDIC: Update util_md5.c routines to use APR-ized ap_MD5*()
routines.  As in 1.3, ap_md5digest() has a different function
signature when CHARSET_EBCDIC is defined :(


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85182 13f79535-47bb-0310-9956-ffa450edef68
2000-05-11 02:32:05 +00:00
Doug MacEachern
6644b34387 add AP_ prefix to *HOOK* macros
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85045 13f79535-47bb-0310-9956-ffa450edef68
2000-04-26 07:14:39 +00:00
Jeff Trawick
429098f3b4 Port a 1.3 EBCDIC fix to 2.0:
This is a port of my 1.3 patch which allows error response strings to be
translated from ebcdic to ascii.  This bug is triggered by trying to
access a non-existant .gif for example.  The content type starts out
being image/gif but is switched by error processing to text/html.
Without this patch, ap_checkconv() is called too early (before the error
processing), so the ebcdic conversion flag gets turned off and the
eventual "404 Not Found" error response is sent to the browser still in
ebcdic.  Not very pretty.

Submitted by:	Greg Ames
Reviewed by:	Jeff Trawick


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85040 13f79535-47bb-0310-9956-ffa450edef68
2000-04-25 23:19:15 +00:00