1
0
mirror of https://github.com/apache/httpd.git synced 2025-11-08 04:22:21 +03:00
Commit Graph

1417 Commits

Author SHA1 Message Date
Rainer Jung
09b7672590 Switch two recent dsp files from CRLF to native
EOL style. All other dsp files are native
(though they should only matter on Windows).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@773341 13f79535-47bb-0310-9956-ffa450edef68
2009-05-10 14:03:36 +00:00
Jim Jagielski
39c14c3bec update comment
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@772279 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06 14:32:46 +00:00
Jim Jagielski
1b107647d1 simple formatting line-wrap/no functional changes
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@772192 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06 12:56:04 +00:00
Jim Jagielski
e87fbb3d25 Use canonical testing
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@772190 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06 12:54:17 +00:00
Ruediger Pluem
124dd1c76f * Fix syntax error
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@772126 13f79535-47bb-0310-9956-ffa450edef68
2009-05-06 10:06:06 +00:00
Jim Jagielski
5e9c4bfe47 fix docco
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771981 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 21:49:01 +00:00
Jim Jagielski
9399483e16 optimize.... rp! :)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771976 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 19:29:04 +00:00
Jean-Frederic Clere
a29e9ec1d5 Change the order of mod_proxy and mod_proxy_balancer child_init().
Change the balancer workers area to the address of workers instead copying the workers.
Arrange lbmethod accordingly.
Move the creation of conf->forward worker to mod_proxy child_init().


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771940 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 17:15:48 +00:00
Jim Jagielski
8fa2a05a1d Explain empty code block (empty for now, that is) :)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771925 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 16:55:56 +00:00
Ruediger Pluem
9ba4889cc7 * Silence compiler warning.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771610 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 07:43:14 +00:00
William A. Rowe Jr
ff342e630c As mentioned inline in comments, correctly handle more sophisticated
transformations which currently fail for balancer://foo targets, but
work just fine with other ProxyReverse targets.

  The balancer comparison is a bit trickier.  Given the context

    BalancerMember balancer://alias http://example.com/foo
    ProxyPassReverse /bash balancer://alias/bar

  translate url http://example.com/foo/bar/that to /bash/that

E.g. there may be several different url-suffixes (1st order) of any
particular BalancerMember set e.g. /app1, /app1 and /appbeta while
there may be additional suffixes associated with the actual
ProxyPassReverse directive.  Neither were properly reversed, now
both should be properly handled.

One *critical* assumption;

    BalancerMember balancer://alias/foo http://example.com/bar

should be documented as a meaningless construct, since one cannot
have two members, balancer://alias/foo and balancer://alias/bar,
and the balancer member structures discard this path.

Note one more existing error case as an XXX comment due to invalid
uri comparisons.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771587 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 06:44:02 +00:00
William A. Rowe Jr
6ca2633f75 REVERT 771581 modules/proxy/ changes (miscommitted)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771583 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 06:39:03 +00:00
William A. Rowe Jr
0fe6d791a5 complete r771579, refactoring mod_watchdog as loadable on win32
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771581 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 06:26:24 +00:00
William A. Rowe Jr
b7eba4ab7f Add balancer module targets
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771564 13f79535-47bb-0310-9956-ffa450edef68
2009-05-05 04:58:44 +00:00
William A. Rowe Jr
b73558950e Simple style fix, this message still is nonsensical
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@771390 13f79535-47bb-0310-9956-ffa450edef68
2009-05-04 18:35:40 +00:00
Jean-Frederic Clere
fb49467b16 Prevent key=value being accepted as url.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@770293 13f79535-47bb-0310-9956-ffa450edef68
2009-04-30 15:43:34 +00:00
Jim Jagielski
7e145e7312 Fold in initial template for methods to be able to
reset (initialize) and "age" their data, useful when
adding new workers, or when workers come back into
the fold....

Logic and code to come in a bit :)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@769020 13f79535-47bb-0310-9956-ffa450edef68
2009-04-27 15:02:40 +00:00
Ruediger Pluem
1704a79477 * Check more strictly that the backend follows the AJP protocol.
Submitted by: mturk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@764239 13f79535-47bb-0310-9956-ffa450edef68
2009-04-11 19:49:12 +00:00
Ruediger Pluem
b6b2ba9ef2 * Avoid delivering content from a previous request which failed to send a request
body by closing the connection to the backend in this case instead of reusing it.

CVE: CVE-2008-5519
PR: 46949
Reviewed by: jim, wrowe


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@763394 13f79535-47bb-0310-9956-ffa450edef68
2009-04-08 21:06:46 +00:00
Rainer Jung
8a65f5dff0 The remote port information was forgotten from the builtin
data of the AJP 13 protocol.  Since the servlet spec allows
to retrieve it via getRemotePort(), we provide the port to
the Tomcat connector as an additional request attribute.
Modern/future Tomcat versions know how to retrieve
the remote port from the attribute AJP_REMOTE_PORT.

See:
https://issues.apache.org/bugzilla/show_bug.cgi?id=41263
http://svn.eu.apache.org/viewvc?view=rev&revision=756926
http://svn.eu.apache.org/viewvc?view=rev&revision=757223


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@761329 13f79535-47bb-0310-9956-ffa450edef68
2009-04-02 15:49:29 +00:00
Jeff Trawick
b6652d949e handle an unfortunate implication of loadable MPMs:
calls to ap_mpm_query() must be deferred until after the register-hooks hook, since that's 
where the MPM registers its mpm-query hook


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@761226 13f79535-47bb-0310-9956-ffa450edef68
2009-04-02 10:05:39 +00:00
Jeff Trawick
82b000731f ap_strchr_p() is the one that takes (protects) a const char *
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@761085 13f79535-47bb-0310-9956-ffa450edef68
2009-04-01 22:10:30 +00:00
Jeff Trawick
0acd50d150 clean up apr_time_from_msec() compatibility macros
* where needed, base on APR_VERSION_AT_LEAST() so we remember what this is about
* where not, axe


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@761084 13f79535-47bb-0310-9956-ffa450edef68
2009-04-01 22:06:49 +00:00
Ruediger Pluem
e468a9fae6 * Add SSLProxyCheckPeerExpire and SSLProxyCheckPeerCN directives to enable
stricter checking of remote server certificates.

  (docs/manual/mod/mod_ssl.xml)
    Documentation of SSLProxyCheckPeerExpire and SSLProxyCheckPeerCN.

  (modules/proxy/mod_proxy_http.c)
    Set the hostname of the request URL as note on the connection.

  (modules/ssl/ssl_private.h)
    Add proxy_ssl_check_peer_expire and proxy_ssl_check_peer_cn fields to
    the SSLSrvConfigRec.

  (modules/ssl/ssl_engine_config.c)
    Directives stuff for SSLProxyCheckPeerExpire and SSLProxyCheckPeerCN.

  (modules/ssl/ssl_engine_io.c)
    Check whether the remote servers certificate is expired / if there is a
    mismatch between the requested hostanme and the remote server certificates
    CN field.
    Be able to parse ASN1 times.

  (modules/ssl/mod_ssl.c)
    Directives stuff for SSLProxyCheckPeerExpire and SSLProxyCheckPeerCN.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@760866 13f79535-47bb-0310-9956-ffa450edef68
2009-04-01 12:07:47 +00:00
Paul Querna
9d85632112 * modules/proxy/mod_serf.c
(hb_server_sort): Use correct variables for sorting.

Noticed by: Rüdiger


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@759673 13f79535-47bb-0310-9956-ffa450edef68
2009-03-29 12:42:15 +00:00
Paul Querna
25c888fa96 Add static cluster backend, for very simple configurations.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@759476 13f79535-47bb-0310-9956-ffa450edef68
2009-03-28 15:03:01 +00:00
Paul Querna
ab7e6aa87d Add very basic, non-streaming, support for request bodies.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@759469 13f79535-47bb-0310-9956-ffa450edef68
2009-03-28 14:31:19 +00:00
Paul Querna
51fa0a1acd - Improve flushing/connection eos logic.
- Use brigade_write instead of immortal buckets that aren't immortal.
- Read HTTP status code from serf.
- Remove extra logging.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@759462 13f79535-47bb-0310-9956-ffa450edef68
2009-03-28 13:51:51 +00:00
Paul Querna
a51ec65a24 Work in Progress.
Convert the 100ms timed callback to a single cleanup callback that is added
when the request is ready to finish. Basically works, though it has
some issues with flushing and closing the connection.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@759460 13f79535-47bb-0310-9956-ffa450edef68
2009-03-28 13:24:18 +00:00
Paul Querna
c9c5ae3ce6 If the MPM supports serf in its core, use this to drive the proxied request
completely async from the original thread.

Right now it uses a 100ms timer to determine when the request is actaully complete,
but I think this can be removed in the long run with a better mechanism.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@759414 13f79535-47bb-0310-9956-ffa450edef68
2009-03-28 01:02:32 +00:00
Paul Querna
b145fc9e77 Add support for Preserving the client provided Host header.
* modules/proxy/mod_serf.c
    (serf_config_t): Add preservehost member.
    (setup_request): If preservehost is set, use the client provided Host header,
        otherwise use the one from the configuration.
    (is_true): New helper function for decoding true/false strings.
    (add_pass): Change to an argv configuration function, check for not enough
        args, and parse everything after the URI into key/value pairs.
    (create_dir_config): Default to setting preservehost to on.
    (serf_cmds): Change add_pass to a take argv directive.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@759395 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 23:56:53 +00:00
Paul Querna
a9d397bef0 * modules/proxy/mod_serf.c
(hb_list_servers): Allows relative paths for the heartbeat file.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@759389 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 23:17:06 +00:00
Paul Querna
3d379b20f5 Work in Progress.
Add Clustered proxying support to mod_serf, by using the heartbeats system.

No preconfiguration of cluster members is needed.

Just a config like this:
    SerfCluster sweet heartbeat file=/var/cache/apache/hb.dat
    SerfCluster sour heartbeat file=/var/cache/apache/cluster2.dat
    <Location "/">
      SerfPass cluster://sweet
    </Location>
    <Location "/different_cluster">
      SerfPass cluster://sour
    </Location>

The location of all possible destination servers is provided by a new 
providers interface, that includes configuration checking of the arguments to 
the SerfCluster command, solving one of the worst problems with the mod_proxy 
load balancer subsystem.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@759386 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 23:10:21 +00:00
Jeff Trawick
cb8a82faed remove TPF support
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@758936 13f79535-47bb-0310-9956-ffa450edef68
2009-03-27 00:05:18 +00:00
Jeff Trawick
ee32468a33 remove OS/2 platform support
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@758929 13f79535-47bb-0310-9956-ffa450edef68
2009-03-26 23:47:52 +00:00
Jeff Trawick
2f9b9fdd70 remove BeOS OS support
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@758891 13f79535-47bb-0310-9956-ffa450edef68
2009-03-26 22:23:44 +00:00
Eric Covener
6906b42373 Add mod_proxy_ftp directives ProxyFtpListOnWildcard and ProxyFtpEscapeWildcards
to allow filenames with globbing characters to be retrieved instead of
presented in a directory listing.

Submitted by: Dan Poirier <poirier pobox.com>
Reviewed by: covener



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@758626 13f79535-47bb-0310-9956-ffa450edef68
2009-03-26 13:25:25 +00:00
Jim Jagielski
77db8b2111 Note for self: PPR drops the path info so we
don't really honor PPR /foo balancer://bar/jimbob
in a way that we would expect.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@752140 13f79535-47bb-0310-9956-ffa450edef68
2009-03-10 15:33:05 +00:00
Jim Jagielski
197c5ef541 Correct logic with non-seq lbsets config'ed
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@739854 13f79535-47bb-0310-9956-ffa450edef68
2009-02-01 21:53:05 +00:00
Jim Jagielski
0af11397c1 Correct logic with non-seq lbsets config'ed
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@739853 13f79535-47bb-0310-9956-ffa450edef68
2009-02-01 21:52:54 +00:00
Jim Jagielski
90c8377961 Correct logic with non-seq lbsets config'ed
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@739852 13f79535-47bb-0310-9956-ffa450edef68
2009-02-01 21:52:38 +00:00
Roy T. Fielding
421ee8b008 Disabled DefaultType directive and removed ap_default_type()
from core.  We now exclude Content-Type from responses for which
a media type has not been configured via mime.types, AddType,
ForceType, or some other mechanism.  MMN major bump to NZ time.

PR: 13986



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@739382 13f79535-47bb-0310-9956-ffa450edef68
2009-01-30 19:12:51 +00:00
Ruediger Pluem
7621dff997 * Correctly construct base href url in the reverse proxy case.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@738268 13f79535-47bb-0310-9956-ffa450edef68
2009-01-27 22:08:23 +00:00
Ruediger Pluem
a3c2a975c9 * Try first if we find any "recoverable" workers before we force them to
recover.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@734710 13f79535-47bb-0310-9956-ffa450edef68
2009-01-15 13:59:11 +00:00
Ruediger Pluem
01d3b428ea * Set the error time if we set a worker in error mode.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@734703 13f79535-47bb-0310-9956-ffa450edef68
2009-01-15 13:44:23 +00:00
Eric Covener
5c8ab974a1 use ap_log_rerror instead of r->server per niq's comments
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@733219 13f79535-47bb-0310-9956-ffa450edef68
2009-01-10 01:35:50 +00:00
Eric Covener
f63b5a4dbd pass a server_rec to ap_log_error on two interim response messages
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@733127 13f79535-47bb-0310-9956-ffa450edef68
2009-01-09 19:31:48 +00:00
Paul Querna
a4b24e0aed Remove tabs. no functional changes.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@732772 13f79535-47bb-0310-9956-ffa450edef68
2009-01-08 17:49:45 +00:00
Justin Erenkrantz
65fa321a6c * modules/proxy/config.m4: Remove spurious notices from configure.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@730928 13f79535-47bb-0310-9956-ffa450edef68
2009-01-03 06:48:40 +00:00
Rainer Jung
8eb168a906 Use LDADD mechanism to only link mod_serf resp.
mod_lua to libserf resp. liblua.

No need to include this dependency in all other
modules and binaries.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@730876 13f79535-47bb-0310-9956-ffa450edef68
2009-01-03 00:20:14 +00:00