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

1051 Commits

Author SHA1 Message Date
Paul Querna
bf508e3c68 include/ap_config.h: Include the autoconf generated header that defines what is available.
configure.in: The times function is not really available on mingw32. Disable em.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@422197 13f79535-47bb-0310-9956-ffa450edef68
2006-07-15 09:47:11 +00:00
Roy T. Fielding
44fa6e0073 update license header text
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@420990 13f79535-47bb-0310-9956-ffa450edef68
2006-07-11 20:55:32 +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
Nick Kew
948d14fd23 Fix comment
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@412721 13f79535-47bb-0310-9956-ffa450edef68
2006-06-08 10:56:22 +00:00
Nick Kew
25a2aca974 Tidy up scoreboard.h (Chris Darroch)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@404849 13f79535-47bb-0310-9956-ffa450edef68
2006-05-07 21:01:48 +00:00
Sander Temme
646a8ad3c8 Add optional 'scheme://' prefix to ServerName directive. For
'https', mod_http returns "https" for the ap_hook_http_scheme and
     DEFAULT_HTTPS_PORT for ap_hook_default_port.  This fixes Redirect
     responses to requests for directories without a trailing slash
     when httpd runs behind a proxy or offload device that processes
     SSL.  It also enables support for Subversion in that
     configuration.  This change is completely backwards compatible
     and passes the perl-framework.  Minor mmn bump because I add a
     field to server_rec. 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@399947 13f79535-47bb-0310-9956-ffa450edef68
2006-05-05 04:17:36 +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
ebe24d48c7 Update the last year of copyright.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@395229 13f79535-47bb-0310-9956-ffa450edef68
2006-04-19 12:23:42 +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
Colm MacCarthaigh
a6899bd4f6 Update one of the more important copyright notices prior to any 2006
releases.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@394522 13f79535-47bb-0310-9956-ffa450edef68
2006-04-16 17:34:39 +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
b01e7a3e80 * Actually increase MODULE_MAGIC_NUMBER_MINOR by one as r390210 only added
a comment to do so.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@390619 13f79535-47bb-0310-9956-ffa450edef68
2006-04-01 08:28:39 +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
Brian Pane
761ef9ee17 Revert the refactoring of the request read code
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@381679 13f79535-47bb-0310-9956-ffa450edef68
2006-02-28 15:49:24 +00:00
Ruediger Pluem
c2c69689f5 * Adjust format of bump comments. No functional change.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@370103 13f79535-47bb-0310-9956-ffa450edef68
2006-01-18 10:11:39 +00:00
Ruediger Pluem
4771b7f15b * Do a minor bump as minex and minex_set had been added to cache_server_conf
struct.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@370101 13f79535-47bb-0310-9956-ffa450edef68
2006-01-18 10:02:22 +00:00
William A. Rowe Jr
10be84690a Determined that yes; apr_general.h may be included in .rc files,
so eliminate a substitute declaration.

  Correct version and copyright generation, this involves 'long line'
  flavor of the first ASF copyright line;  next step will be no more
  awk generation of .rc files, so there we will use the new macro
  AP_SERVER_COPYRIGHT and defined tokens from this file for versions.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@368395 13f79535-47bb-0310-9956-ffa450edef68
2006-01-12 16:11:01 +00:00
Bradley Nicholes
9fed4c73d7 Authz refactoring
Merge from branches/authz-dev

Basically here is a list of what has been done:
- Convert all of the authz modules from hook based to provider based
- Remove the ap_requires field from the core_dir_config structure
- Remove the function ap_requires() since its functionality is no
longer supported or necessary in the refactoring
- Remove the calls to ap_some_auth_required() in the core request
handling to allow the  hooks to be called in all cases.
- Add the new module mod_authz_core which will act as the authorization
provider vector and contain common authz directives such as 'Require',
'Reject' and  '<RequireAlias>'
- Add the new module mod_authn_core which will contain common
authentication directives such as 'AuthType', 'AuthName' and
'<AuthnProviderAlias>'
- Move the check for METHOD_MASK out of the authz providers and into
the authz_core provider vector
- Define the status codes that can be returned by the authz providers
as AUTHZ_DENIED,  AUTHZ_GRANTED and AUTHZ_GENERAL_ERROR   
- Remove the 'Satisfy' directive 
- Implement the '<RequireAll>', '<RequireOne>' block directives  to
handle the 'and' and 'or' logic for authorization.
- Remove the 'AuthzXXXAuthoritative' directives from all of the authz
providers
- Implement the 'Reject' directive that will deny authorization if the
argument is true
- Fold the 'Reject' directive into the '<RequireAll>', '<RequireOne>'
logic
- Reimplement the host based authorization functionality provided by 
'allow', 'deny' and 'order' as authz providers   
- Remove the 'allow', 'deny' and 'order' directives      
- Merge mod_authn_alias into mod_authn_core
- Add '<RequireAlias>' functionality which is similar to
'<AuthnProviderAlias>' but specific to authorization aliasing
- Remove all of the references to the 'authzxxxAuthoritative'
directives from the documentation
- Remove the 'Satisfy' directive from the documentation
- Remove 'Allow', 'Deny', 'Order' directives from the documentation
- Document '<RequireAll>', '<RequireOne>', 'Reject' directives
- Reimplement the APIs ap_auth_type(), ap_auth_name() as optional
functions and move the  actual implementation into mod_authn_core
- Reimplement the API ap_some_auth_required() as an optional function
and move the  actual implementation into mod_authz_core

Major Changes:
- Added the directives <RequireAll>, <RequireOne>, <RequireAlias>,
Reject
- Expanded the functionality of the directive 'Require' to handle all
authorization and access control
- Added the new authz providers 'env', 'ip', 'host', 'all' to handle
host-based access control
- Removed the directives 'Allow', 'Deny', 'Order', 'Satisfy',
'AuthzXXXAuthoritative'
- Removed the ap_require() API
- Moved the directives 'AuthType', 'AuthName' out of mod_core and into
mod_authn_core
- Moved the directive 'Require' out of mod_core and into
mod_authz_core
- Merged mod_authn_alias into mod_authn_core
- Renamed mod_authz_dbm authz providers from 'group' and 'file-group'
to 'dbm-group' and 'dbm-file-group'

Benefits:
- All authorization and access control is now handle through two
directives, 'Require' and 'Reject'
- Authorization has been expanded to allow for complex 'AND/OR' control
logic through the directives '<RequireAll>' and '<RequireOne>'
- Configuration is now much simpler and consistent across the board
- Other modules like mod_ssl and mod_proxy should be able to plug into
and take advantage of  the same provider based authorization mechanism
by implementing their own providers

Issues:
- Backwards compatibility between 2.2 and 2.3 configurations will be
broken in the area  of authorization and access control due to the fact
that the directives 'allow', 'deny',  'order' and 'satisfy' have been
removed.  When moving from 2.2 to 2.3 these directives  will have to be
changed to 'Require all granted', 'Require all denied' or some variation
 of the authz host-based providers.
- Existing third party authorization modules will have to adapt to the
new structure.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@368027 13f79535-47bb-0310-9956-ffa450edef68
2006-01-11 14:30:28 +00:00
Brian Pane
0aece3ad6c Refactoring of ap_read_request() to store partial request state
in the request rec.  The point of this is to allow asynchronous
MPMs do do nonblocking reads of requests.  (Backported from the
async-read-dev branch)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@360461 13f79535-47bb-0310-9956-ffa450edef68
2005-12-31 23:45:11 +00:00
Joe Orton
59d916fcfe * include/ap_config.h: Fix the macro name.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@356248 13f79535-47bb-0310-9956-ffa450edef68
2005-12-12 11:14:10 +00:00
Joe Orton
2160d59157 * include/ap_config.h: Define AP_HAVE_DESIGNATED_INITIALIZER for GCC
(but not G++) or any compiler which claims C99 support.

* configure.in: Don't define AP_HAVE_DESIGNATED_INITIALIZER here.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@356234 13f79535-47bb-0310-9956-ffa450edef68
2005-12-12 10:10:33 +00:00
Joe Orton
c5f0781f16 * include/httpd.h (conn_state_e): Remove trailing comma from enum.
Submitted by: Per Olausson <pao darkheim.freeserve.co.uk>
PR: 37840


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@355143 13f79535-47bb-0310-9956-ffa450edef68
2005-12-08 17:12:36 +00:00
Jim Jagielski
b7575cf6ac Okay, at least be nice when "breaking" the API.
Tuck the new bitfield to the tail and adjust the
MMN


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@344384 13f79535-47bb-0310-9956-ffa450edef68
2005-11-15 15:58:57 +00:00
Jim Jagielski
ce503e00e3 Add in the UseCanonicalPhysicalPort directive, which
basically allows Apache to configurably ( :) )
use the physical port when constructing the
canonical port. Also add the exact ordering to
the docs, so people can easily see how it works.
We now have compatibility with both 2.0 and 1.3.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@344369 13f79535-47bb-0310-9956-ffa450edef68
2005-11-15 14:50:39 +00:00
Brian Pane
158559eacb Redesign of request cleanup and logging to use End-Of-Request bucket
(backport from async-dev branch to 2.3 trunk)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@327925 13f79535-47bb-0310-9956-ffa450edef68
2005-10-24 02:39:49 +00:00
Brian Pane
05537e381e New version of ap_core_output_filter that does nonblocking writes
(backport from async-dev branch to 2.3 trunk)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@327872 13f79535-47bb-0310-9956-ffa450edef68
2005-10-23 22:38:35 +00:00
Brian Pane
4db6998015 Add new connection states for handler and write completion
(backport from async-dev branch to 2.3 trunk)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@327870 13f79535-47bb-0310-9956-ffa450edef68
2005-10-23 22:20:59 +00:00
Nick Kew
f193cbabee Make ap_register_output_filter back into a function (*sigh*)
but update its API doc


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@315041 13f79535-47bb-0310-9956-ffa450edef68
2005-10-12 20:43:25 +00:00
Nick Kew
5134335bee Make ap_register_output_filter a #define
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@315024 13f79535-47bb-0310-9956-ffa450edef68
2005-10-12 20:18:33 +00:00
Brian Pane
6c4c099fb4 Corrected an out-of-date comment (it's been a while since main.c has
called ap_process_request)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@307355 13f79535-47bb-0310-9956-ffa450edef68
2005-10-09 03:53:01 +00:00
William A. Rowe Jr
f5b0f0eeef Bump MODULE_MAGIC_COOKIE to "AP24", as we are already changing the
binary ABI out-of-sync with any 2.1-dev (beta) development.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@306790 13f79535-47bb-0310-9956-ffa450edef68
2005-10-06 16:07:38 +00:00
William A. Rowe Jr
7e2a5490d1 NET_TIME, as a standalone feature, was a horrid idea.
The core filter will NOT operate correctly across platforms 
  (even between Linux/Solaris) without setting up the conn->timeout,
  so always apply the timeout when establishing the core filter.

  The keep-alive-timeout is entirely an HTTP-ism, and needs to
  move to the http protocol handler.  Note #1; this isn't triggered
  in the event mpm, but the event mpm introspects s->keep_alive_timeout
  directly adding it to the pollset, so this is a non-sequitor.

  Finally, once the headers are read, the named virtual host may
  have a different (more/less permissive) timeout for the remainder
  of the request body.  This http-centric patch picks up that subtle
  detail and can switch to a named-vhost timeout.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@306495 13f79535-47bb-0310-9956-ffa450edef68
2005-10-06 01:29:42 +00:00
Joe Orton
47e086bcd2 * include/ap_mmn.h (MODULE_MAGIC_NUMBER_MAJOR): Bump for mod_ssl API
change.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@290145 13f79535-47bb-0310-9956-ffa450edef68
2005-09-19 13:03:37 +00:00
Jim Jagielski
cb68a807de New provider function, ap_list_provider_names(), which lists all
available registered providers for a specified group and version
number. Visible change so add CHANGES entry.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@279750 13f79535-47bb-0310-9956-ffa450edef68
2005-09-09 12:23:56 +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
Colm MacCarthaigh
36b3643d82 *how* did I mis-spell that.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@264104 13f79535-47bb-0310-9956-ffa450edef68
2005-08-29 09:38:33 +00:00
Colm MacCarthaigh
5a0531c52e Move the "GracefulShutdownTimeout" command definition into mpm_common
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@264103 13f79535-47bb-0310-9956-ffa450edef68
2005-08-29 09:28:27 +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
a500939eb8 Add ap_relieve_child_processess(), a non-infanticidal copy of
ap_reclaim_child_processes(). Allows us to waitpid() each process in the
scoreboard and each "extra" process with a single call.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@240465 13f79535-47bb-0310-9956-ffa450edef68
2005-08-27 22:12:08 +00:00
Colm MacCarthaigh
d7c04b158c Move the "GracefulShutdownTimeout" directive into mpm_common, for re-use
with other MPM's.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@240296 13f79535-47bb-0310-9956-ffa450edef68
2005-08-26 17:43:24 +00:00
Colm MacCarthaigh
bbb8aeee02 Silly me, I forgot to commit this; the definitions for the GRACEFUL_STOP
signal.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@240274 13f79535-47bb-0310-9956-ffa450edef68
2005-08-26 16:13:17 +00:00
Colm MacCarthaigh
ea08df890e Correct the function prototype/declaration
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239732 13f79535-47bb-0310-9956-ffa450edef68
2005-08-24 19:06:40 +00:00
Colm MacCarthaigh
d6f8c966b0 Provide a function for closing all of the listeners.
* This is useful for properly implementing a graceful stop and restart
    where we want child processess to be able to carry on serving a request 
    but "de-listen" from a port. So that another instance entirely can be 
    started in our place, or to unbind from a "Listen" directive an admin 
    has removed from the configuration.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239710 13f79535-47bb-0310-9956-ffa450edef68
2005-08-24 16:51:20 +00:00
Colm MacCarthaigh
395896ae8d Remove support for the threaded-mpm's on Linux 2.0, and de-autoconf the
graceful restart signal. Frees up SIGWINCH for implementing graceful stop.
See <20050727114058.GA3390@stdlib.net> and subsequent thread on httpd-dev.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@239430 13f79535-47bb-0310-9956-ffa450edef68
2005-08-23 16:41:17 +00:00
Paul Querna
157942e212 move trunk to 2.3.0-dev.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@219521 13f79535-47bb-0310-9956-ffa450edef68
2005-07-18 15:52:19 +00:00
Ian Holsman
e3b8df6224 c/major bump/minor bump/
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@219435 13f79535-47bb-0310-9956-ffa450edef68
2005-07-18 00:59:59 +00:00
Ian Holsman
9ffe8c5d1a This patch adds a new hook (request_status) that gets ran in proxy_handler
just before the final return.  This gives modules an opportunity to do
something based on the proxy status.

A couple of examples where this is useful:

-You are using a caching module and would rather return stale content rather
than an error to the client if the origin is down.

-you proxy some subrequests (using SSI - mod_include) and do not want SSI
errors when the backend is down. If you would normally return
HTTP_BAD_GATEWAY, you may have a module that serves some other content.


new hook -- so mmn bump.. i made it a major one, hope thats ok 

Patch From Brian Akins <Brian.Akins turner.com>




git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@219372 13f79535-47bb-0310-9956-ffa450edef68
2005-07-17 05:12:10 +00:00
William A. Rowe Jr
4418c45bbd The cookie is AP22 by unanimous consent.
This is because 2.1.x dies the day 2.2.0 is branched.  There will
  be no updates to 2.1 as we continue to maintain 2.2.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@209876 13f79535-47bb-0310-9956-ffa450edef68
2005-07-08 20:15:14 +00:00
William A. Rowe Jr
025c799a79 Initially a no-op. Add trace_enable configuration. The http and proxy
flavors of interpreting this flag are yet to be committed.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@208785 13f79535-47bb-0310-9956-ffa450edef68
2005-07-01 19:39:26 +00:00
William A. Rowe Jr
2aac52b64d Whoops - two things at once. Document MAGIC_COOKIE "AP21"
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@208778 13f79535-47bb-0310-9956-ffa450edef68
2005-07-01 17:51:09 +00:00