1
0
mirror of https://github.com/apache/httpd.git synced 2026-10-23 22:49:01 +03:00
Commit Graph

4895 Commits

Author SHA1 Message Date
Brian Pane
41f09ddf07 Update new conn_rec field "data_in_output_filters" in core output filter
so async MPMs can tell whether to keep polling and writing


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@307379 13f79535-47bb-0310-9956-ffa450edef68
2005-10-09 07:43:23 +00:00
Brian Pane
e7d300d318 Refactored ap_process_request() so that in async MPMs, the MPM (and not
the httpd core) is responsible for write completion.

Note that, with this commit, the Event MPM is still doing write
completion synchronously.  I'll add async write completion as a
separate commit.

Note also that this commit breaks the (experimental) Leader/Followers
MPM on the (equally experimental) async-dev branch.  The fix is to add
either synchronous or asynchronous write completion to that MPM.  Rather
than hack in synchronous write completion, I'll revisit Leader/Followers
once I have async working in Event.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@307362 13f79535-47bb-0310-9956-ffa450edef68
2005-10-09 04:49:52 +00:00
Brian Pane
161035891f Simplified mod_logio to take advantage of the delayed invocation of
the logger.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@307346 13f79535-47bb-0310-9956-ffa450edef68
2005-10-09 02:45:20 +00:00
Brian Pane
bd34a1bc19 Redesign of request cleanup:
- A new End-Of-Request bucket is pushed through the output filter
    chain after the last bucket of the response.
  - This bucket gets destroyed by ap_core_output_filter() after the
    buckets in front of it have been sent.
  - The destroy callback of the EOR bucket invokes the access logger
    and frees the request's pool.

With this change, the request logger now runs after the last byte of
the response is _sent_, rather than after the last byte of the response
is _generated_.  This should make the bytes-sent count in the access
log more accurate in cases where the client closes the connection
midway through the sending of the response.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@307339 13f79535-47bb-0310-9956-ffa450edef68
2005-10-09 01:37:11 +00:00
Brian Pane
1000a35949 Forward-port of wrowe's NET_TIME filter removal/refactor into
the async-dev branch, in preparation for developing async write
completion in this branch on top of the new timeout design.
http://svn.apache.org/viewcvs.cgi?rev=306495&view=rev


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@306541 13f79535-47bb-0310-9956-ffa450edef68
2005-10-06 06:19:12 +00:00
Brian Pane
64dbc48fe2 forward-port the latest versions of mod_ssl and mod_setenvif from the 2.3 trunk to the async-dev branch so t/TEST will work once again
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@306538 13f79535-47bb-0310-9956-ffa450edef68
2005-10-06 06:11:43 +00:00
Brian Pane
6fb4c5ab57 doh!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@291375 13f79535-47bb-0310-9956-ffa450edef68
2005-09-25 04:25:53 +00:00
Brian Pane
d1ff1de803 Added new connection states CONN_STATE_HANDLER and CONN_STATE_WRITE_COMPLETION.
Also, core_create_conn() now initializes the conn_state within the newly
created connection.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/async-dev@280221 13f79535-47bb-0310-9956-ffa450edef68
2005-09-12 00:29:10 +00:00
Joe Orton
407dc73f43 * modules/ssl/ssl_util_ssl.c (SSL_X509_STORE_create): Catch errors
returned by X509_LOOKUP_add_dir or X509_LOOKUP_load_file to detect
malformed or misconfigured CRLs.  Clear error stack beforehand to
ensure reported errors are relevant.

PR: 36438


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265702 13f79535-47bb-0310-9956-ffa450edef68
2005-09-01 11:58:58 +00:00
Jim Jagielski
d81de0d9b3 Add ap_append_pid(); This is performed enough to warrant
a function I think, especially with the fact that
the mapping of getpid() to APR_PID_T_FMT isn't
consistant in some areas. 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265506 13f79535-47bb-0310-9956-ffa450edef68
2005-08-31 15:22:08 +00:00
Jim Jagielski
c208de0bcf Some simple debugging log entries
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265505 13f79535-47bb-0310-9956-ffa450edef68
2005-08-31 15:19:27 +00:00
Jim Jagielski
f2ed4fda66 Consistantly use APR_PID_T_FMT for getpid value
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265049 13f79535-47bb-0310-9956-ffa450edef68
2005-08-31 14:23:33 +00:00
Jim Jagielski
27da0d6787 Start of getpid()/%d confusion fix...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265047 13f79535-47bb-0310-9956-ffa450edef68
2005-08-31 14:18:33 +00:00
Jeff Trawick
5b3a9d83fd mod_log_config: %{hextid}P will log the thread id in hex with APR
versions 1.2.0 or higher.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@265033 13f79535-47bb-0310-9956-ffa450edef68
2005-08-31 12:34:07 +00:00
Justin Erenkrantz
7c8c772196 mod_cgid: Refuse to work on Solaris 10 due to OS bugs.
PR: 34264


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@264866 13f79535-47bb-0310-9956-ffa450edef68
2005-08-30 21:21:18 +00:00
Joe Orton
a1e9d51be3 Fix CVE CAN-2005-2700:
* modules/ssl/ssl_engine_kernel.c (ssl_hook_Access): Ensure that
renegotiation is performed for a transition from "SSLVerifyClient
optional" to "SSLVerifyClient require".

The boolean "verify_old & SSL_VERIFY_PEER_STRICT" is true if the old
context merely has optional verification configured, since the
definition of SSL_VERIFY_PEER_STRICT is
(SSL_VERIFY_FAIL_IF_NO_PEER_CERT | SSL_VERIFY_PEER).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@264800 13f79535-47bb-0310-9956-ffa450edef68
2005-08-30 15:57:38 +00:00
Colm MacCarthaigh
19a0d050b0 If uid_t and gid_t are unsigned on a platform (hurd, for example), using -1
may cause a compiler warning. 



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@264788 13f79535-47bb-0310-9956-ffa450edef68
2005-08-30 14:28:48 +00:00
Colm MacCarthaigh
c8e6fa78af Fix PR36410; Change how the get_suexec_identity hook is handled by CGID.
Instead of using mod_userdir and mod_suexec specific hacks, we now run the hook
on the httpd side of the handler. 

If this is NULL, we pass on a magic empty_ugid constant, otherwise pass on the
real ugid.

On the cgid side of the equation, we add our own hook, with REALLY_FIRST, and
then order the hooks. This ensures that cgid's doer runs before any other
registered get_suexec_identity doers.

We use cgid's request config to store the ugid. If ugid == empty_ugid, we DON'T
call ap_os_create_privileged_process, because our doer would return the magic
empty_ugid constant. Having the doer return NULL is no good, because then
userdir and mod_suexec's doers would be called. Instead, we call plain old
apr_proc_create(). 



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@264759 13f79535-47bb-0310-9956-ffa450edef68
2005-08-30 11:26:45 +00:00
William A. Rowe Jr
f87b4c1af1 Correct mod_cgid's argv[0] so that the full path can be delved by the
invoked cgi application, to conform to the behavior of mod_cgi.

PR: 34542
Reviewed by: Andre, OtherBill
Submitted by: Pradeep Kumar S <pradeep.smani gmail.com>



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@264623 13f79535-47bb-0310-9956-ffa450edef68
2005-08-29 20:12:43 +00:00
William A. Rowe Jr
010f409bdc Noticed in the development of fips-enabled mod_ssl, when we are
configured to support exactly one protocol, use that explicit server
  and client mechansim to handshake with the client or proxied machine,
  rather than the generic SSLv23_[client|server]_method().

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@264621 13f79535-47bb-0310-9956-ffa450edef68
2005-08-29 19:59:46 +00:00
Ian Holsman
8c1e315d3f Doxygen fixup / cleanup
submited by: Neale Ranns neale ranns.org
reviewed by: Ian Holsman



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@263931 13f79535-47bb-0310-9956-ffa450edef68
2005-08-28 23:03:59 +00:00
Colm MacCarthaigh
de0b459ab0 CGId keeps a copy of the listening sockets open, which interferes with a
graceful shutdown/start. Close the listening sockets on cgid start.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@241815 13f79535-47bb-0310-9956-ffa450edef68
2005-08-27 23:05:42 +00:00
Colm MacCarthaigh
56101b205e A very minor, but particularly annoying whitespace fix. It took me 15 minutes
to try and parse what was going on :-)



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@240089 13f79535-47bb-0310-9956-ffa450edef68
2005-08-25 15:30:31 +00:00
Colm MacCarthaigh
b379e699a4 Append the .PID to the ScriptSock filename. This change ensures that multiple
running instances of httpd will not clobber each others script sockets. 

Because a different socket will be created for each instance, this change also
unlinks the script-socket on exit, to prevent pollution. 

unlink() happens from within the parent process, since the change in userid's
means the cgid process likely won't have the correct permissions.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@240044 13f79535-47bb-0310-9956-ffa450edef68
2005-08-25 11:51:24 +00:00
Colm MacCarthaigh
e3d4e1fe50 nit: Consistently CamelCase "ScriptSock".
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@240043 13f79535-47bb-0310-9956-ffa450edef68
2005-08-25 10:56:12 +00:00
Andreas Steinmetz
aec1dab812 fix 64bit build warnings
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239423 13f79535-47bb-0310-9956-ffa450edef68
2005-08-23 16:06:24 +00:00
Andreas Steinmetz
727af3e82b fix 64bit build warnings in modules/dav
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239422 13f79535-47bb-0310-9956-ffa450edef68
2005-08-23 15:45:00 +00:00
Colm MacCarthaigh
acf227a492 Enhance CacheEnable/CacheDisable to control caching on a per-protocol, per-host
and per-path basis. Makes Cache(En|Dis)able useful for forward proxy servers.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239421 13f79535-47bb-0310-9956-ffa450edef68
2005-08-23 15:43:23 +00:00
Colm MacCarthaigh
c6700d7708 remove some unused variables and re-name cache_select_url() to simply
cache_select()



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239420 13f79535-47bb-0310-9956-ffa450edef68
2005-08-23 15:25:08 +00:00
Colm MacCarthaigh
2e702882bd Improve the cache hit/miss ratio by canonicalising the url key. hostname's
are matched case-insensitively, port-based vhosts are catered for and the
scheme included for future multi-scheme caching compatibility.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239407 13f79535-47bb-0310-9956-ffa450edef68
2005-08-23 13:50:47 +00:00
Andreas Steinmetz
59a68232cc Split mod_disk_cache.c into mod_disk_cache.c and mod_disk_cache.h
to allow inclusion of mod_disk_cache.h in htcacheclean.c.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239406 13f79535-47bb-0310-9956-ffa450edef68
2005-08-23 13:35:00 +00:00
Nick Kew
4e2d0a4998 mod_dbd:
(1) Export new ap_dbd_prepare function
  (2) Put all dbd_open() stuff in one place
  (3) Remove the servertoken


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@234017 13f79535-47bb-0310-9956-ffa450edef68
2005-08-20 10:36:50 +00:00
Mladen Turk
a75750ab89 Arghhh.... missed the version. Sorry for the noise.
Revert the hack for setting the lbmethod.
The problem is deeper inside caused by the
new hook to the balancer module that is never
called on WIN32.
Although the hack fixed core dump, the proxy is
still unusable because the configuration is failing
due to the empty lbmethod names array.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@233516 13f79535-47bb-0310-9956-ffa450edef68
2005-08-19 17:23:00 +00:00
Mladen Turk
f2b99c52c0 Revert the hack for setting the lbmethod.
The problem is deeper inside caused by the
new hook to the balancer module that is never
called on WIN32.
Although the hack fixed core dump, the proxy is
still unusable because the configuration is failing
due to the empty lbmethod names array.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@233514 13f79535-47bb-0310-9956-ffa450edef68
2005-08-19 17:19:54 +00:00
Mladen Turk
3b8fe8c738 Temporary make balancer working.
What is needed is a setup for the finder function
introduced, but never implemented.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@233468 13f79535-47bb-0310-9956-ffa450edef68
2005-08-19 11:58:36 +00:00
Mladen Turk
4a91b094f8 Add ssl dir to include path.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@233464 13f79535-47bb-0310-9956-ffa450edef68
2005-08-19 10:45:34 +00:00
Paul Querna
b0a7a77363 Do not check the value of r->handler.
This allows the use of SetHandler for an entire directory, and since we already check via the stat structure if this is a directory, there is no reason for this extra check, which causes a regression since 1.3.

PR: 25435


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@233369 13f79535-47bb-0310-9956-ffa450edef68
2005-08-18 20:10:26 +00:00
Bradley Nicholes
7b11c89465 Add proxy_hook_load_lbmethods to the export and imports lists for the Netware build
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232808 13f79535-47bb-0310-9956-ffa450edef68
2005-08-15 13:19:10 +00:00
Justin Erenkrantz
03a775765f Move the debuging log message about the removal of a url from
cache_remove_url_filter to cache_remove_url.

Submitted by: Rudiger Plum <ruediger.pluem vodafone.com>
Reviewed by: Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232335 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 16:57:13 +00:00
Justin Erenkrantz
8998c32fb6 mod_disk_cache: Remove the directory path of the cached file as far as possible
(up to the cache root) to get rid of unused empty directories.

* cache/mod_disk_cache.c
  (remove_url): Try to delete directories; also change two APR_ENOENT to
  APR_STATUS_IS_ENOENT.

(Justin tweaked some comments.)

Submitted by: Rudiger Plum <ruediger.pluem vodafone.com>
Reviewed by: Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232334 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 16:52:28 +00:00
Jim Jagielski
487504d63b When using the LB Balancer manager, if you disabled
a member, then clicked on another member and/or
itself again, the member would be re-enabled. This
was due to the form being "submitted" and
'dw' being null (observed with Safari). Anyway,
moving to a radio makes it explicit.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232314 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 15:31:03 +00:00
Martin Kraemer
4813d8a994 Get rid of some warnings
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232311 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 15:22:19 +00:00
Jim Jagielski
a7d488a6d2 simple, functional interface to add additional balancer lb selection methods
without requiring code changes to mod_proxy/mod_proxy_balancer;
these can be implemented via sub-modules now.

Let the games begin...


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232282 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 12:47:04 +00:00
Joe Orton
5d7d8f280f * modules/cache/cache_storage.c (cache_remove_url): Remove unused
variables.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232272 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 11:32:55 +00:00
Nick Kew
ab0fd007b9 Fix mess left by incompleteness of previous ProxyPassReverse fix
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@232247 13f79535-47bb-0310-9956-ffa450edef68
2005-08-12 09:38:09 +00:00
Nick Kew
9d7b5928db Fix build error from cut&paste
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231501 13f79535-47bb-0310-9956-ffa450edef68
2005-08-11 18:52:16 +00:00
Justin Erenkrantz
929eb45aaf Fix incorrectly served 304 responses when expired cache entity
is valid, but cache is unwritable and headers cannot be updated.

Submitted by: Colm MacCarthaigh <colm stdlib.net>
Reviewed by: Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231488 13f79535-47bb-0310-9956-ffa450edef68
2005-08-11 17:38:18 +00:00
Justin Erenkrantz
d757d824b8 mod_cache: Implement remove URL via a filter.
Remove entities from the cache when re-validation receives a 404 or other
content-no-longer-present error.

Suggested by: Paul Querna, Justin Erenkrantz
Submitted by: Rudiger Plum <ruediger.pluem vodafone.com>
Reviewed by: Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231487 13f79535-47bb-0310-9956-ffa450edef68
2005-08-11 17:35:48 +00:00
Justin Erenkrantz
a992d08b42 Implement mod_disk_cache's remove_url.
(Minor tweaks and comment fixes by Justin.)

Suggested by: Paul Querna, Justin Erenkrantz
Submitted by: Rudiger Plum <ruediger.pluem vodafone.com>
Reviewed by: Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231486 13f79535-47bb-0310-9956-ffa450edef68
2005-08-11 17:31:10 +00:00
Nick Kew
39d6c7d5c5 Add const-ness to apr_dbd_driver_t
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@231464 13f79535-47bb-0310-9956-ffa450edef68
2005-08-11 14:12:13 +00:00