1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-15 11:36:47 +03:00
Commit Graph

1038 Commits

Author SHA1 Message Date
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
William A. Rowe Jr
c88cb077ef Change Apache httpd 2.1 signature to "AP21" as this flavor
is binary-incompatible to any "AP20" module.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@208777 13f79535-47bb-0310-9956-ffa450edef68
2005-07-01 17:50:01 +00:00
Paul Querna
b536107fc3 Move on to 2.1.7-dev.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@201579 13f79535-47bb-0310-9956-ffa450edef68
2005-06-24 07:37:04 +00:00
Paul Querna
f2a9978fe2 - Prepare for 2.1.6 tag.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@201577 13f79535-47bb-0310-9956-ffa450edef68
2005-06-24 07:34:36 +00:00
Paul Querna
2e6e500225 Onward to 2.1.6-dev!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@191100 13f79535-47bb-0310-9956-ffa450edef68
2005-06-17 07:03:13 +00:00
Paul Querna
33180c7a7a * include/ap_release.h: Remove -dev to prepare for 2.1.5 tag.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@191098 13f79535-47bb-0310-9956-ffa450edef68
2005-06-17 07:00:20 +00:00
Joe Orton
9687f8c6a7 Update remaining 2004 copyright notices.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@190592 13f79535-47bb-0310-9956-ffa450edef68
2005-06-14 13:54:34 +00:00
Paul Querna
6a23d6ebeb Merge the listen-protocol sandbox branch to trunk.
I will be adding documentation for the new directives hopefully in the next day or so.

* server/core.c: Added 'Protocol' to the core module config
                 Added ap_{set,get}_server_protocol API.
                 Added new directive: 'AcceptFilter'.
                 Enable 'httpready' by default on systems that support it.  Use dataready filters for others.

* server/listen.c: Attempt to inherit protocols from Listener Records to Server configs.
                   The 'Listen' directive can now optionally take a protocol arg
                   Move bits that determined which accept filter is applied to core.c.
                   Added bits to find the correct accept filter based on the core's configuration.

* include/{ap_listen.h,http_core.h}: Add Protocol to respective structures.

* include/http_core.h: Add the accf_map table to the core_server_config structure

* include/ap_mmn.h: Minor MMN Bump for the new interfacces.

* modules/ssl/ssl_engine_init.c: Use the new protocol framework to enable mod_ssl for 'https' websites.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@190563 13f79535-47bb-0310-9956-ffa450edef68
2005-06-14 09:21:18 +00:00
Nick Kew
b0a5cb0bb9 Add monitor hook (discussed under "watchdog" thread).
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@188846 13f79535-47bb-0310-9956-ffa450edef68
2005-06-07 19:13:37 +00:00
Jeff Trawick
b5ed63df60 The new function ap_logs_child_init() is intended for use
only by the core server.  Require CORE_PRIVATE to obtain
the prototype.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@171093 13f79535-47bb-0310-9956-ffa450edef68
2005-05-20 10:50:17 +00:00
Jeff Trawick
7ae218a5bf Support the suppress-error-charset setting, as with Apache 1.3.x.
With Apache 1.3.x, it is a bit simpler as the request does
not go through ap_make_content_type().

Modules can set custom error responses but not be able to
set the charset, so they have to code the charset in the
html.  Thus, it is useful to preserve 1.3.x behavior exactly.

PR: 26467


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@170354 13f79535-47bb-0310-9956-ffa450edef68
2005-05-16 10:41:42 +00:00
Jeff Trawick
f78a4e4a89 Prevent hangs of child processes when writing to piped loggers at
the time of graceful restart. 

PR:          26467
Reviewed by: Joe Orton



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@170281 13f79535-47bb-0310-9956-ffa450edef68
2005-05-15 23:56:48 +00:00
Bradley Nicholes
1439ca9d5c Add the LDAPVerifyServerCert directive to util_ldap to force
verification of a server certificate when establishing an SSL connection
to the LDAP server


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@169705 13f79535-47bb-0310-9956-ffa450edef68
2005-05-11 22:34:18 +00:00
Paul Querna
da9a8de753 Add AP_INIT_TAKE_ARGV. There can be some inconsistent results because of the behavoir of ap_getword_conf. Do not rely upon any last argument that is "". If the argument is in the middle of the line, it should work correctly.
This is updated from the version sent to dev@httpd to fix the behavoir with 0 arguments.

* include/http_config.h: minor MMN bump for the new interface.
* modules/generators/mod_autoindex.c: Migrate IndexOptions to the new ARGV command type.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@168202 13f79535-47bb-0310-9956-ffa450edef68
2005-05-04 22:23:00 +00:00