1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-28 07:20:58 +03:00
Commit Graph

1032 Commits

Author SHA1 Message Date
William A. Rowe Jr
de65e8cd0e 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.

  This needs further review, it's committed only as a stopgap for those
  who's builds I broke, sorry.  Review tbc late this evening.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87699 13f79535-47bb-0310-9956-ffa450edef68
2001-01-17 22:04:45 +00:00
William A. Rowe Jr
40655f8641 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.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87697 13f79535-47bb-0310-9956-ffa450edef68
2001-01-17 15:52:12 +00:00
Jeff Trawick
78dc9b739f fix a warning on platforms where <strings.h> is needed for str[n]casecmp()
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87693 13f79535-47bb-0310-9956-ffa450edef68
2001-01-15 20:23:12 +00:00
Jeff Trawick
5bddf7a225 avoid warnings on systems where apr_size_t isn't int and where
strings.h is needed for the str[n]casecmp() declaration


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87690 13f79535-47bb-0310-9956-ffa450edef68
2001-01-15 19:50:13 +00:00
Jeff Trawick
ad75d6e533 Fix a segfault in ap_http_filter(). I hit the segfault while
discarding the body of a request, but it could affect other paths.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87684 13f79535-47bb-0310-9956-ffa450edef68
2001-01-15 15:40:17 +00:00
Greg Stein
e9d44afbf7 Fix a problem found by Ryan when deleting collections, which triggered an
underlying (broad) bug. dav_add_response() was assuming the walk params were
a dav_walker_ctx. During the walker cleanup in Nov00, that assumption was
removed, so response errors that occurred in the cleaned sections (such as
dav_fs_delete_resource) could trigger a segfault.

Solution: add a pool to dav_walk_resource and alter dav_add_response to use
that, rather than assume the ctx is a dav_walker_ctx.

[ note there is also a pool in dav_walk_resource.resource, but that pool is
  associated with the *resource* rather than the process of walking, so we
  introduced another field. currently they are the same, however. ]

Found by: Ryan Bloom


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87670 13f79535-47bb-0310-9956-ffa450edef68
2001-01-12 12:18:10 +00:00
Ryan Bloom
c33b25a3dd Remove a couple more NULL handler specifications.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87662 13f79535-47bb-0310-9956-ffa450edef68
2001-01-12 01:08:22 +00:00
Jeff Trawick
9a73c1fca8 get rid of an unused variable
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87658 13f79535-47bb-0310-9956-ffa450edef68
2001-01-11 20:14:04 +00:00
Bill Stoddard
d88b08d746 It is not sufficient to reset the file pointer before each call to ap_send_fd. A better solution
is to make certain that only apr_sendfile() will be used to send content with a cached file handle.
This assumes that apr_sendfile() should not rely on the position of the file pointer. I suspect that
sendfile implementations that rely on the position of the file pointer are broken and we should not
use sendfile on those platforms.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87654 13f79535-47bb-0310-9956-ffa450edef68
2001-01-11 18:50:09 +00:00
Jeff Trawick
83b77a0d64 only handle the request if server-info is the handler
Submitted by:	Greg Stein


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87645 13f79535-47bb-0310-9956-ffa450edef68
2001-01-10 19:23:25 +00:00
Jeff Trawick
24588fe387 get mod_info working again (mostly)
(I guess I should simply zap the code to list the handlers
for each module?)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87642 13f79535-47bb-0310-9956-ffa450edef68
2001-01-10 17:31:04 +00:00
Ken Coar
322f19da6b This sets an example for this type of module, so let's make sure
it uses our own guidelines.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87636 13f79535-47bb-0310-9956-ffa450edef68
2001-01-09 22:55:13 +00:00
Allan K. Edwards
06c2846624 use AP_HOOK_LAST for this module. This may or may not be the final
solution but it is at least more correct.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87634 13f79535-47bb-0310-9956-ffa450edef68
2001-01-09 21:38:35 +00:00
Jeff Trawick
99f359c3f0 get rid of some invalid errno references; use the apr_status_t instead
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87630 13f79535-47bb-0310-9956-ffa450edef68
2001-01-09 05:12:40 +00:00
Jeff Trawick
fe3320ada9 use the apr_status_t instead of errno
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87629 13f79535-47bb-0310-9956-ffa450edef68
2001-01-09 05:03:42 +00:00
Jeff Trawick
8f0c8d4e7f fix some handler brokenness
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87626 13f79535-47bb-0310-9956-ffa450edef68
2001-01-09 04:36:39 +00:00
Doug MacEachern
55e9bcf8e7 use ap_strcmp_match and fix pattern typo
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87618 13f79535-47bb-0310-9956-ffa450edef68
2001-01-09 00:08:13 +00:00
Doug MacEachern
40391fb9f2 adjust remaining modules to use the new handler hook method (Alan Edwards)
bring back the old handler prototype by reusing r->handler (dougm)
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87617 13f79535-47bb-0310-9956-ffa450edef68
2001-01-08 23:55:12 +00:00
Greg Ames
6381c54061 fix handlers->hooks compile breakage
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87614 13f79535-47bb-0310-9956-ffa450edef68
2001-01-08 23:07:04 +00:00
Ben Laurie
45f620672d Make handlers use hooks.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87604 13f79535-47bb-0310-9956-ffa450edef68
2001-01-07 19:55:59 +00:00
Allan K. Edwards
0be0106405 add pool parameter to ap_is_directory and ap_is_rdirectory
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87593 13f79535-47bb-0310-9956-ffa450edef68
2001-01-05 20:44:44 +00:00
Ryan Bloom
83c2b3f96b Stop copying file names that we get from apr_file_t's and apr_dir_t's.
We copy the data when we store it in the structures, we can just return
a pointer from there, and use const data.  This puts the onus back on
Apache to copy the data if it needs to modify it.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87592 13f79535-47bb-0310-9956-ffa450edef68
2001-01-05 19:40:05 +00:00
Jeff Trawick
654854ba36 Get rid of some warnings on Tru64 and OS/390. void * isn't compatible
with function pointers.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87584 13f79535-47bb-0310-9956-ffa450edef68
2001-01-04 20:45:06 +00:00
Jeff Trawick
b3ec25393c mod_cgi: Fix some problems where the wrong error value was being traced
(errno instead of apr_status).

mod_cgid: Keep some of the code in synch with the version in mod_cgi.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87576 13f79535-47bb-0310-9956-ffa450edef68
2001-01-03 20:03:48 +00:00
Jeff Trawick
de8bb3686b Pass a valid pool to apr_create_lock().
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87574 13f79535-47bb-0310-9956-ffa450edef68
2001-01-03 16:47:02 +00:00
Jeff Trawick
8ae90fca38 EBCDIC: Fix some byterange protocol data translation.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87571 13f79535-47bb-0310-9956-ffa450edef68
2001-01-02 19:22:09 +00:00
Jeff Trawick
da47216709 Get mod_so to build again by including apr_general.h, which is where
the APR_GET_POOL() macro is defined.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87570 13f79535-47bb-0310-9956-ffa450edef68
2001-01-02 18:32:49 +00:00
Ryan Bloom
3c4d977fbe Change a bunch of mallocs in mod_cgid to apr_palloc. These were never
getting freed, and using malloc.  This was safe, because we were in
the CGID process, but pools are just safer here.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87569 13f79535-47bb-0310-9956-ffa450edef68
2001-01-02 17:57:42 +00:00
Ben Laurie
19519dff8a Generic hooks (and a demo content filter module).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87568 13f79535-47bb-0310-9956-ffa450edef68
2001-01-02 17:41:38 +00:00
Ryan Bloom
bc1891795e Modify a couple of calls to ap_log_error with a NULL server to use
ap_log_perror, and pass a pool.  The keeps us from seg faulting if the
error log hasn't been opened yet.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87565 13f79535-47bb-0310-9956-ffa450edef68
2001-01-02 01:34:05 +00:00
Ryan Bloom
ebbd77a687 We never use MMAP_SEGMENT_SIZE, and we are better off determining if we
have MMAP, by just checking with APR, instead of using an Apache
definition which doesn't really control anything anymore.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87563 13f79535-47bb-0310-9956-ffa450edef68
2001-01-01 00:34:25 +00:00
Jeff Trawick
b9d820b570 Fix a segfault caused by mod_ext_filter when the external filter
program does not exist.

I wish I understood why I didn't hit this problem in the normal
case :(


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87551 13f79535-47bb-0310-9956-ffa450edef68
2000-12-29 14:11:12 +00:00
Jeff Trawick
b38b38dc22 ap_content_length_filter(): if ap_save_brigade() fails, tell the caller
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87549 13f79535-47bb-0310-9956-ffa450edef68
2000-12-29 13:59:19 +00:00
Jeff Trawick
c5e356d7cc Recognize a downstream error as such (instead of saying simply "returning error").
Trace the apr_status_t whenever helpful.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87547 13f79535-47bb-0310-9956-ffa450edef68
2000-12-29 13:51:38 +00:00
Ryan Bloom
74383a7cae Because we can't get APR_EAGAIN from sendfile if we have a timeout, we
can simplify this test now.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87545 13f79535-47bb-0310-9956-ffa450edef68
2000-12-28 23:27:20 +00:00
Jeff Trawick
d21e75657c On EBCDIC machines, fix up the charset of the header terminator.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87542 13f79535-47bb-0310-9956-ffa450edef68
2000-12-28 22:23:34 +00:00
Ryan Bloom
d1df8342b5 Ignore CRLF (or LF) when PEEK'ing at data on the socket. The general
problem is that some browsers send an extra line at the end of a POST
request.  We use the PEEK method to determine if there is any data left
on the socket, if there is then we delay sending the response until we
have enough data to make it worthwhile.  If the browser sends an extra
blank line, we don't want to delay the response at all.  The only time
we use the PEEK method is to check for a second request, so this is safe
to do.

This also solves Joe Orton's problem of specifying a Content- Length
of 1 for a blank line, and having the server wait to send back a response.
The problem is that Linux (all Unix really) sends two characters \r\n for
a blank line, so specifying a C-L of 1 means that the server still sees
a \n when it PEEKs that the socket data.  That \n can be safely ignored
however.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87540 13f79535-47bb-0310-9956-ffa450edef68
2000-12-28 01:14:22 +00:00
Ryan Bloom
7808798c48 On Unix, we do not want to use an absolute path for CGI scripts. SuEXEC
will not let us use one, and when not using SuEXEC, we chdir() into the
correct directory.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87537 13f79535-47bb-0310-9956-ffa450edef68
2000-12-27 23:30:07 +00:00
Ryan Bloom
0ef67c93b0 Move the config.m4 file to config5.m4 in the generators directory so that
we can actually make the cgi module decision based on MPM.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87527 13f79535-47bb-0310-9956-ffa450edef68
2000-12-26 22:46:09 +00:00
Ryan Bloom
672c91791d Get mod_cgid to use apr calls for creating the actual CGI process.
This also allows mod_cgid to use ap_os_create_priviledged_process,
thus allowing for SuExec execution from mod_cgid.  Currently, we do
not support everything that standard SuExec supports, but at least
it works minimally now.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87524 13f79535-47bb-0310-9956-ffa450edef68
2000-12-23 07:09:01 +00:00
Ryan Bloom
39a2364a52 If we get EAGAIN returned from apr_sendfile, then we need to loop back and
call it again.  This change allows us to serve large files (such as
apache_2.0a9.tar.gz) using Apache 2.0 on FreeBSD.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87514 13f79535-47bb-0310-9956-ffa450edef68
2000-12-22 23:43:16 +00:00
Ryan Bloom
b9d06deea4 Allow the auth modules to load into the server.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87510 13f79535-47bb-0310-9956-ffa450edef68
2000-12-22 21:34:09 +00:00
William A. Rowe Jr
72a1fee16c OPTIONS request crashed server, this fixes it
Submitted by:	Joe Orton
Reviewed by:	W Rowe


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87504 13f79535-47bb-0310-9956-ffa450edef68
2000-12-21 21:09:56 +00:00
William A. Rowe Jr
8a5e3208d9 Last of the Win32 goodness I've noticed
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87503 13f79535-47bb-0310-9956-ffa450edef68
2000-12-21 21:07:18 +00:00
William A. Rowe Jr
c876e8476a Out of the sandbox and into prime time. Note... these should always and
only be regenerated immediately prior to the tag and roll.  Do not assume
  they are current with the sources in the development tree.  They should
  be generated as vc5 make files, since only vc5 makefiles are readable by
  both vc5 and vc6.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87479 13f79535-47bb-0310-9956-ffa450edef68
2000-12-21 01:46:22 +00:00
Allan K. Edwards
e3cf0931a3 prevent crash when connection closed before complete request received
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87478 13f79535-47bb-0310-9956-ffa450edef68
2000-12-21 01:44:28 +00:00
William A. Rowe Jr
0a37cdf9fe Correction, commited the vc5. Need vc6 in the tree. Humble appologies.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87475 13f79535-47bb-0310-9956-ffa450edef68
2000-12-21 01:25:10 +00:00
William A. Rowe Jr
4315b0c706 The Win32 overhaul, in summary;
Modules are named mod_foo.so
    Dynamic Libraries are named libfoo.dll, and are stored in bin/
    The former ApacheCoreDll is now libhttpd.dll
    Apache.exe moves to bin/
    The make install now copies include, lib, and libexec
    All build options are normalized, filenames adjusted appropriately


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87471 13f79535-47bb-0310-9956-ffa450edef68
2000-12-21 01:04:49 +00:00
Greg Ames
8b80bbc18b Send HTTP status line in ascii from ebcdic boxes...makes browsers much happier.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87467 13f79535-47bb-0310-9956-ffa450edef68
2000-12-20 23:13:01 +00:00
Jeff Trawick
351725e726 Switch to the APR-provided APR_CHARSET_EBCDIC feature test macro.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87460 13f79535-47bb-0310-9956-ffa450edef68
2000-12-20 16:44:01 +00:00