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

827 Commits

Author SHA1 Message Date
Jean-Frederic Clere
abcc180710 Move health in proxy_worker_stat otherwise testing it in
httpd is too complex.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@428492 13f79535-47bb-0310-9956-ffa450edef68
2006-08-03 19:31:12 +00:00
Jean-Frederic Clere
26d5e1681b Use only one slotmem for status and checker.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@428437 13f79535-47bb-0310-9956-ffa450edef68
2006-08-03 16:01:50 +00:00
Jean-Frederic Clere
ee0d40e5d2 Arrange the health_checker: add set_slotmem_storage_method(),
create_slotmem() and attach_slotmem(). Arrange corresponding
files.

Start using the health logic in the balancer.

Arrange ap_proxy_add_worker_to_balancer().



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@427623 13f79535-47bb-0310-9956-ffa450edef68
2006-08-01 15:44:33 +00:00
Jean-Frederic Clere
cf8c677b6c Remove health_worker_method for mod_proxy.h and
mod_proxy_health_checker.h from the includes of proxy_util.c


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@427267 13f79535-47bb-0310-9956-ffa450edef68
2006-07-31 21:02:57 +00:00
Jean-Frederic Clere
2518c933e0 Move what belongs to the health_checker in the health checker.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@427145 13f79535-47bb-0310-9956-ffa450edef68
2006-07-31 15:43:11 +00:00
Jean-Frederic Clere
55af90f7b9 AJP needs to be register at IANA before beeing in apr_uri_port_of_scheme().
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@427103 13f79535-47bb-0310-9956-ffa450edef68
2006-07-31 12:40:01 +00:00
Jean-Frederic Clere
39f9634921 Allow anonymous shared memory.
Arrange the mixing of checker size and proper httpd workers status in proxy_util.
Make slotmem.h multi times includable.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@426900 13f79535-47bb-0310-9956-ffa450edef68
2006-07-30 17:15:34 +00:00
Jean-Frederic Clere
f87da8ee19 Add ProxySlotMemLoc parameter: location of the file associated with the slot mem.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@426845 13f79535-47bb-0310-9956-ffa450edef68
2006-07-29 22:24:00 +00:00
Jean-Frederic Clere
6464834567 Copy the workers to the comarea for the checker in the post-config.
(Instead doing it when parsing the configuration file).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@426837 13f79535-47bb-0310-9956-ffa450edef68
2006-07-29 21:08:00 +00:00
Jean-Frederic Clere
4d1426fc1c Use id instead worker->id so that a rearrange to the slot mems is possible.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@426732 13f79535-47bb-0310-9956-ffa450edef68
2006-07-29 00:56:23 +00:00
Jean-Frederic Clere
36d27e847b Arrange stuff reported by Davi Arnaud. (thanks).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@426717 13f79535-47bb-0310-9956-ffa450edef68
2006-07-29 00:20:21 +00:00
Jean-Frederic Clere
900139a150 Arrange the warning. Thanks Jim.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@426708 13f79535-47bb-0310-9956-ffa450edef68
2006-07-28 23:37:15 +00:00
Jean-Frederic Clere
d0e5132941 First try to put togother an external health checker for mod_proxy.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@426604 13f79535-47bb-0310-9956-ffa450edef68
2006-07-28 16:33:58 +00:00
Jean-Frederic Clere
e784ba6932 Allow to use the new slotmem providers.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/httpd-proxy-scoreboard@423451 13f79535-47bb-0310-9956-ffa450edef68
2006-07-19 12:54:07 +00:00
Nick Kew
a3f4adfa28 Use <string.h>-compatible versions of ap_str* functions.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@422178 13f79535-47bb-0310-9956-ffa450edef68
2006-07-15 08:39:41 +00:00
Jim Jagielski
58c0a69c7b Don't down cast
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@421959 13f79535-47bb-0310-9956-ffa450edef68
2006-07-14 17:34:59 +00:00
Nick Kew
346c6c3e76 Support environment variable interpolation in reverse proxy configuration
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@421686 13f79535-47bb-0310-9956-ffa450edef68
2006-07-13 19:00:26 +00:00
Jim Jagielski
ae24222e23 The number of times elected as well as the i/o
of the workers is useful info to show in the
manager.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@421287 13f79535-47bb-0310-9956-ffa450edef68
2006-07-12 15:13:22 +00:00
Jim Jagielski
3e2c97f512 It never fails. I sit on a patch for awhile and
it's not until almost right after I commit it that
I think "hey, there's a better way to do that."
Anyway, I was never happy about the code
duplication of the primary/standby checks...
This fixes that.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@421283 13f79535-47bb-0310-9956-ffa450edef68
2006-07-12 15:01:15 +00:00
Jean-Frederic Clere
2afcfcfe6d Issue a warning when the same worker name is reused.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@421252 13f79535-47bb-0310-9956-ffa450edef68
2006-07-12 12:08:36 +00:00
Jim Jagielski
0b80babf0b Add in hot-standby balancer member. If all other members
are disabled or not-usable, ONLY THEN will the hot
standby's be used.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@420986 13f79535-47bb-0310-9956-ffa450edef68
2006-07-11 20:39:38 +00:00
Roy T. Fielding
de659cbed0 update license header text
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@420983 13f79535-47bb-0310-9956-ffa450edef68
2006-07-11 20:33:53 +00:00
Jim Jagielski
7b9391e010 Clean up some proxy macros. Avoid the use of magic
numbers, and instead use pre-defined defines. Also,
ensure that usable workers have been initialized :)

Allocate a bit for hot standbys. Adjust so that
normal "usable" workers don't count these.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@420954 13f79535-47bb-0310-9956-ffa450edef68
2006-07-11 19:32:36 +00:00
Jim Jagielski
92a185a104 Restructure the find_route_worker() function. Basically,
it should take care of knowing about usable and unusable
workers. By centralizing this logic, it will make it
easier and more streamlined to add in the forthcoming
hot-standby status workers.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@420936 13f79535-47bb-0310-9956-ffa450edef68
2006-07-11 17:51:54 +00:00
William A. Rowe Jr
6df9b82d20 Revert Revision 397647
While it solves the studio 2005 (we desire this), it breaks
the studio 6 packaging (we require this).  Discussion on list
of practical solutions.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@419644 13f79535-47bb-0310-9956-ffa450edef68
2006-07-06 18:36:23 +00:00
Ruediger Pluem
c99bff74f3 * Retry worker chosen by client supplied route / redirect worker if it
is in error state before sending "Service Temporarily Unavailable".

PR: 38962
Submitted by: Christian Boitel <cboitel lfdj.com>
Reviewed by: rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@417443 13f79535-47bb-0310-9956-ffa450edef68
2006-06-27 12:05:43 +00:00
Ruediger Pluem
58f86ac058 * Add the following environment variables to expose the information
* about
  the route, the sticky session and the worker used during a request to
  other modules:

  BALANCER_SESSION_STICKY
  BALANCER_SESSION_ROUTE
  BALANCER_NAME
  BALANCER_WORKER_NAME
  BALANCER_WORKER_ROUTE

PR: 39806
Submitted by: Brian <brectanu gmail.com>
Reviewed by: rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@417238 13f79535-47bb-0310-9956-ffa450edef68
2006-06-26 16:59:38 +00:00
Joe Orton
c13f8dd6eb * server/core.c (default_handler): Use apr_brigade_insert_file() to
append the file to the brigade.

* server/protocol.c (ap_send_fd),
modules/proxy/mod_proxy_http.c (spool_reqbody_cl), 
modules/cache/mod_mem_cache.c (recall_body),
modules/cache/mod_disk_cache.c (recall_body),
modules/mappers/mod_negotiation.c (handle_map_file),
modules/generators/mod_asis.c (asis_handler),
modules/dav/fs/repos.c [DEBUG_GET_HANDLER] (dav_fs_deliver),
modules/arch/win32/mod_isapi.c (ServerSupportFunction): Likewise.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@414238 13f79535-47bb-0310-9956-ffa450edef68
2006-06-14 13:16:29 +00:00
Jeff Trawick
3c4c74840d small cleanup of EBCDIC support in mod_proxy_ajp
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@409709 13f79535-47bb-0310-9956-ffa450edef68
2006-05-26 18:03:01 +00:00
Ruediger Pluem
3b5b0d5882 * Actually we are adding 3 bytes to the string (two for the length in front
and a \0 at the end) and not 2. So adjust the length check.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@409446 13f79535-47bb-0310-9956-ffa450edef68
2006-05-25 19:50:25 +00:00
Garrett Rooney
4213de4712 Make the logging in mod_proxy_fcgi more consistent.
* modules/proxy/mod_proxy_fcgi.c
  (fcgi_do_request): Log errors as APLOG_ERR.
  (proxy_fcgi_handler): Log debug info as APLOG_DEBUG.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@408520 13f79535-47bb-0310-9956-ffa450edef68
2006-05-21 23:08:56 +00:00
Garrett Rooney
30a1824be9 Fix compile time warnings.
Pointed out by: jorton

* modules/proxy/mod_proxy_fcgi.c
  Add include of util_script.h to pick up some function prototypes.
  (send_begin_request): Initialize the reserved bytes in the request
   body to zero.
  (dispatch): Use APR_SIZE_T_FMT instead of %d when logging an apr_size_t.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@397968 13f79535-47bb-0310-9956-ffa450edef68
2006-04-28 17:50:56 +00:00
William A. Rowe Jr
b2820e8da8 This resource /D syntax was pretty horridly imported into VS 2005,
change the quotation to ensure a peaceful transition to sln/vcproj files.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@397647 13f79535-47bb-0310-9956-ffa450edef68
2006-04-27 21:41:29 +00:00
William A. Rowe Jr
f65c47bd75 Remove all /machine:I386 references, these are getting in the way
of switching linkers from the x86 (default linker) to x64 or other
  possible target platforms.  (Also, this commit cleans up lingering
  /GX switches from the 'BASE' options that are supposed to be unused).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@397407 13f79535-47bb-0310-9956-ffa450edef68
2006-04-27 05:30:39 +00:00
Garrett Rooney
ca55328af7 Merge the fcgi-proxy-dev branch to trunk, adding a FastCGI back end for
mod_proxy.  This log message is just a summary of the changes, for the
full original log messages see r357431:393955 in branches/fcgi-proxy-dev.

* modules/proxy/mod_proxy_fcgi.c: New file, holds the impementation of
  our new fcgi backend for mod_proxy.

* modules/proxy/fcgi_protocol.h: New file, holds constants and structures
  for the fcgi protocol.

* modules/proxy/mod_proxy_balancer.c
  (proxy_balancer_canon): Set up r->path_info, so the PATH_INFO env
   variable is correctly passed on to balancer workers.

* modules/proxy/config.m4: Build the new mod_proxy_fcgi module.

* support: Add fcgistarter to svn:ignore.

* support/Makefile.in: Build the new fcgistarter program.

* support/fcgistarter.c: New program, a helper for starting fcgi worker
  processes.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@396063 13f79535-47bb-0310-9956-ffa450edef68
2006-04-22 03:44:05 +00:00
Joe Orton
5c7b0ad30c * modules/proxy/proxy_util.c (ap_proxy_initialize_worker): Fix
gcc strict-aliasing warning.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395552 13f79535-47bb-0310-9956-ffa450edef68
2006-04-20 10:35:41 +00:00
William A. Rowe Jr
663687ae8e s|/GX |/EHsc | because they were always synonyms, and Visual Studio
2005 edition complains bitterly and loudly that /GX is deprecated.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395419 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 22:51:02 +00:00
William A. Rowe Jr
862d0e231e Remove a host of dependencies upon awk, using the same template for
nearly every .rc compilation (giving the output .res file a different
  name for each component).  Adds AP_SERVER_BASEPROJECT to ap_revision.h
  so we can display the proper name of "Apache HTTP Server" as opposed
  to AP_SERVER_BASEPRODUCT (which is, and should remain, simply "Apache"
  for the server string tokens.)



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395418 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 22:47:49 +00:00
Colm MacCarthaigh
dd95d7c37c Update the copyright year in all .c, .h and .xml files
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395228 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 12:11:27 +00:00
Martin Kraemer
fcfc9fd022 Fix for platforms without threads: inreslist exists only if APR_HAS_THREADS is set
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395180 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 08:56:59 +00:00
Ruediger Pluem
4f88d90ea6 * Also initialize local data structures for workers of a balancer.
PR: 38227, 39267
Submitted by: James A. Robinson <jim.robinson stanford.edu>
Reviewed by: rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@394446 13f79535-47bb-0310-9956-ffa450edef68
2006-04-16 09:12:24 +00:00
Nick Kew
381c9cec2f PR#39321 - don't segfault if a bad URL is specified in ProxyPass
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@394390 13f79535-47bb-0310-9956-ffa450edef68
2006-04-15 22:45:00 +00:00
Ruediger Pluem
96c6356987 * Avoid calling ap_proxy_http_cleanup twice as this releases a connection
from the connection pool twice. This causes this connection to be present
  in the connection pool twice. Thus it may be used by different threads
  at the same time which causes many troubles (segfaults in this case).
  Furthermore implement a logic to prevent double releases to the connection
  pool if they are triggered by buggy code and log an error message in this
  case.

  - mod_proxy_http.c: remove double calls to ap_proxy_http_cleanup
  - proxy_util.c: Add logic to prevent double releases of a
    connection to the connection pool.

PR: 38793


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@394088 13f79535-47bb-0310-9956-ffa450edef68
2006-04-14 13:20:28 +00:00
Ruediger Pluem
9704233d80 * After r377780 the condition in the if clause never becomes true, because
ap_proxy_initialize_worker_share is always left with PROXY_WORKER_INITIALIZED
  set in workers->s->status. So remove this code to save cycles and avoid
  confusion.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@394065 13f79535-47bb-0310-9956-ffa450edef68
2006-04-14 11:30:04 +00:00
Ruediger Pluem
bb7b54c59f * Check for an existing socket independant of an existing connection record.
This ensures that requests handled by the '*' worker are sent to the correct
  backend server.

PR: 39253


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@392613 13f79535-47bb-0310-9956-ffa450edef68
2006-04-08 21:43:24 +00:00
Jim Jagielski
dede56b14d Document the removal of the flushing bandaid to a
runtime param. Since other protocols might benefit
from this, remove the ajp_ prefixes, to make it
more generic looking.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@390210 13f79535-47bb-0310-9956-ffa450edef68
2006-03-30 18:32:53 +00:00
Jim Jagielski
391472a050 Make AJP flushing admin configurable.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@384580 13f79535-47bb-0310-9956-ffa450edef68
2006-03-09 18:39:16 +00:00
Ruediger Pluem
b5ca8f8f3f * Crosscheck the length of the body chunk with the length of the ajp message
to prevent readings beyond the buffer boundaries which possibly could reveal
  sensitive memory contents to the client.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@383339 13f79535-47bb-0310-9956-ffa450edef68
2006-03-05 15:22:18 +00:00
Ruediger Pluem
70bd1f6329 * Disable persistent connections for SSL backends again as we do not
handle them correctly, because we recreate backend->connection for each
  request and thus try to initialize an already existing SSL connection.

Noticed by: Joe Orton


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@379237 13f79535-47bb-0310-9956-ffa450edef68
2006-02-20 20:56:50 +00:00
Jim Jagielski
d05d878779 *) mod_proxy: Fix KeepAlives not being allowed and set to
backend servers. PR38602. [Ruediger Pluem, Jim Jagielski]

Also, document previous patch:
  *) Correctly initialize mod_proxy workers, which use a
     combination of local and shared datasets. Adjust logging
     to better trace usage. PR38403. [Jim Jagielski]



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@378032 13f79535-47bb-0310-9956-ffa450edef68
2006-02-15 16:44:42 +00:00