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

112 Commits

Author SHA1 Message Date
Jim Jagielski
f66d79b8b2 Use varargs...
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1205894 13f79535-47bb-0310-9956-ffa450edef68
2011-11-24 15:53:16 +00:00
Jim Jagielski
d2342460fd Add ap_pass_brigade_fchk() which does a Filter CHecK on the
brigade pass.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1205419 13f79535-47bb-0310-9956-ffa450edef68
2011-11-23 14:52:43 +00:00
Jim Jagielski
103f776c25 Cleanup effort in prep for GA push:
Trim trailing whitespace... no func change



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1174748 13f79535-47bb-0310-9956-ffa450edef68
2011-09-23 13:38:09 +00:00
Stefan Fritsch
20633f6349 Avoid "`sentinel' attribute directive ignored" warning with gcc 3.x
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1134906 13f79535-47bb-0310-9956-ffa450edef68
2011-06-12 10:40:17 +00:00
Stefan Fritsch
ce6e4de41a Fix some doxygen warnings
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1043710 13f79535-47bb-0310-9956-ffa450edef68
2010-12-08 21:59:46 +00:00
Daniel Earl Poirier
dbd0f3d74a Tweak some doxygen comments to get these functions to show up in
the right places in the generated doc.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1032275 13f79535-47bb-0310-9956-ffa450edef68
2010-11-07 13:36:48 +00:00
Stefan Fritsch
ed451e94d1 re-order many struct members for better alignment on 64bit
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@959464 13f79535-47bb-0310-9956-ffa450edef68
2010-06-30 22:34:05 +00:00
Joe Orton
7189b776db Run filter "init" functions exactly once per request. No longer run
init functions for connection filters (doing an "init" once per
handler invocation makes no sense for a connection filter).  No longer 
run init functions multiple times per request if a subrequest is used.

* include/util_filter.h (ap_filter_rec_t): Clarify use of the init
  function pointer.

* server/config.c (invoke_filter_init): Drop ap_ prefix for private
  function; take a request_rec pointer and only invoke filters with
  matching request.
  (ap_invoke_handler): Adjust accordingly.

PR: 49328
Reviewed by: rpluem


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@953311 13f79535-47bb-0310-9956-ffa450edef68
2010-06-10 12:52:49 +00:00
Daniel Earl Poirier
04fd4abf90 Fix a lot of doxygen warnings. Thanks to Brad Hards for the patch.
I added a few more fixes, and there are still more that might
need a doxygen expert.

PR: 48061
Submitted by: Brad Hards
Reviewed by: poirier


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@830527 13f79535-47bb-0310-9956-ffa450edef68
2009-10-28 13:25:49 +00:00
Stefan Fritsch
db9af5a634 Update comments in util_filter.h about bucket and brigade ownership to reflect
current practice and the advice from manual/developer/output-filters.xml.

Submitted by: Rici Lake <rici ricilake.net>
Reviewed by: Stefan Fritsch, Joe Orton


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@822870 13f79535-47bb-0310-9956-ffa450edef68
2009-10-07 19:35:09 +00:00
Joe Orton
d494d1c1f5 * include/util_filter.h (ap_fputstrs): Mark with sentinel attribute
for gcc >= 4.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@726060 13f79535-47bb-0310-9956-ffa450edef68
2008-12-12 15:57:39 +00:00
Eric Covener
51c4443fcc Prevent AP_FILTER_ERROR from being misinterpreted as SUSPENDED when checking
the status code returned by a handler by updating the values of the filter
error macros and consolidating them in httpd.h 



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@721677 13f79535-47bb-0310-9956-ffa450edef68
2008-11-29 12:57:42 +00:00
Joe Orton
8026ae5889 Further to r599711; document new API guarantee for handling non-NULL
request_rec pointer when adding connection filters; minor MMN bump:

* server/util_filter.c (add_any_filter_handle): Set f->r for
  connection filters even if passed-in r is non-NULL.  Style nit fix
  also.

* include/util_filter.h (ap_add_output_filter,
  ap_add_output_filter_handle): Document new API guarantee.

* include/ap_mmn.h: Minor MMN bump.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@600473 13f79535-47bb-0310-9956-ffa450edef68
2007-12-03 10:55:58 +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
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
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
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
Justin Erenkrantz
905cdf9f0b Update copyright year to 2005 and standardize on current copyright owner line.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@151408 13f79535-47bb-0310-9956-ffa450edef68
2005-02-04 20:28:49 +00:00
Nick Kew
62f6d3d6bd Change FilterDeclare/FilterProvider semantics as discussed in
http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=109899588616670&w=2


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105646 13f79535-47bb-0310-9956-ffa450edef68
2004-10-31 18:00:43 +00:00
Nick Kew
a5278a9c0b Fixup broken handling of range header.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105613 13f79535-47bb-0310-9956-ffa450edef68
2004-10-28 13:21:08 +00:00
Nick Kew
ae6b8dcb99 Move ap_filter_provider_t back out of public API
(suggested by nd; makes sense to niq)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105603 13f79535-47bb-0310-9956-ffa450edef68
2004-10-27 09:20:33 +00:00
André Malo
a9a11aab67 allow <= and >= for filter dispatcher
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105507 13f79535-47bb-0310-9956-ffa450edef68
2004-10-17 18:31:44 +00:00
André Malo
551b03d1fb use more speaking names
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105501 13f79535-47bb-0310-9956-ffa450edef68
2004-10-17 15:44:21 +00:00
André Malo
c3e84f509a more style
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105500 13f79535-47bb-0310-9956-ffa450edef68
2004-10-17 15:18:56 +00:00
André Malo
59d38e22e1 save spaces! Soon in future we're going to run out of spaces!!!
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105499 13f79535-47bb-0310-9956-ffa450edef68
2004-10-17 14:25:04 +00:00
Nick Kew
72fb770d1a Merge mod_filter with util_filter structs; add API for protocol stuff.
Rename FilterDebug directive to FilterTrace.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105226 13f79535-47bb-0310-9956-ffa450edef68
2004-09-21 10:14:40 +00:00
Nick Kew
75fe3d7ce2 PR: 19688
Fix incorrect (and important) comments


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105089 13f79535-47bb-0310-9956-ffa450edef68
2004-09-12 15:50:43 +00:00
André Malo
eeb57c17ad fix name of The Apache Software Foundation
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102619 13f79535-47bb-0310-9956-ffa450edef68
2004-02-09 20:40:53 +00:00
André Malo
4f02cb1e18 apply Apache License, Version 2.0
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102525 13f79535-47bb-0310-9956-ffa450edef68
2004-02-06 22:58:42 +00:00
André Malo
fb07607180 update license to 2004.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102135 13f79535-47bb-0310-9956-ffa450edef68
2004-01-01 13:26:26 +00:00
Jeff Trawick
6c300dd034 The caller of ap_pass_brigade() relinquishes ownership of the brigade.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101895 13f79535-47bb-0310-9956-ffa450edef68
2003-11-26 02:12:49 +00:00
Stas Bekman
0959bde2cc clarify that filter_init_func is used only in the http protocol filters
PR:
Obtained from:
Submitted by:
Reviewed by:


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101059 13f79535-47bb-0310-9956-ffa450edef68
2003-08-22 20:40:13 +00:00
Greg Stein
637ae709b2 * util_filter.h (ap_filter_flush): clarify that this function has
nothing to do with FLUSH buckets. It is simply a cover function
    for ap_pass_brigade for use with the apr_brigade_* writing
    functions.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100646 13f79535-47bb-0310-9956-ffa450edef68
2003-07-16 06:24:07 +00:00
Brian Pane
f033607768 Clarified comment on arg constraints for ap_get_brigade()
Submitted by:	Joe Schaefer <joe+gmane@sunstarsys.com>
Reviewed by:	Brian Pane


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100249 13f79535-47bb-0310-9956-ffa450edef68
2003-06-15 05:30:16 +00:00
André Malo
742af25096 finished that boring job:
update license to 2003.

Happy New Year! ;-))


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98573 13f79535-47bb-0310-9956-ffa450edef68
2003-02-03 17:53:28 +00:00
Justin Erenkrantz
f3fa0f0260 Update documentation to match prototype for ap_register_input_filter and
ap_register_output_filter.

Submitted by: Stas Bekman <stas@stason.org>,
              Joe Schaefer <joe+apache@sunstarsys.com>
Reviewed by: Justin Erenkrantz


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@98244 13f79535-47bb-0310-9956-ffa450edef68
2003-01-12 20:44:37 +00:00
Justin Erenkrantz
798c1dae43 Add a filter_init function to the filters so that a filter can execute
arbitrary code before the handlers are invoked.

This resolves an issue with incorrect 304s on If-Modified-Since mod_include
requests since ap_meets_conditions() is not aware that this is a dynamic
request and it is not possible to satisfy 304 for these requests (unless
xbithack full is on, of course).  When mod_include runs as a filter, it is
too late to set any flag since the handler is responsible for calling
ap_meets_conditions(), which it should do before generating any data.

If a module doesn't need to run such arbitrary code, it can just pass NULL
as the argument and all is well.

PR:	9673
Reviewed by:	Ryan Bloom and others


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95906 13f79535-47bb-0310-9956-ffa450edef68
2002-06-28 08:40:25 +00:00
Justin Erenkrantz
f3792f4f86 Fix doxygen comments and add a missing line-feed.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95898 13f79535-47bb-0310-9956-ffa450edef68
2002-06-27 05:32:20 +00:00
Justin Erenkrantz
8cf0d317fd Style cleanups before contemplating adding init filter hook.
(No functional changes)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95582 13f79535-47bb-0310-9956-ffa450edef68
2002-06-08 03:05:06 +00:00
Roy T. Fielding
845cbfd508 Update our copyright for this year.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93918 13f79535-47bb-0310-9956-ffa450edef68
2002-03-13 20:48:07 +00:00
Aaron Bannert
b67fbc6004 Comments like this help keep the sanity of module authors.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93783 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 22:55:03 +00:00
Justin Erenkrantz
3058b601ff As hinted on dev@httpd, change filter naming schemes to match our
expectations of their usage.

The reason that we should make this change now is that we have changed
the implied meaning of AP_FTYPE_HTTP_HEADER - some users of this should
be PROTOCOL while others should be CONTENT_SET.  In order to clarify it,
toss all of the bogus names and force the filter writers to make sure
they understand what they are doing.

CONTENT_SET is new (horrible name - change if you have better idea), but
it indicates that it should run between RESOURCE and PROTOCOL.
mod_deflate is the ideal CONTENT_SET filter.

The changed type names are:
CONTENT is now RESOURCE.
HTTP_HEADER is now PROTOCOL.  However, most filters that used HTTP_HEADER
may want CONTENT_SET.  (Only things like POP and HTTP belong as PROTOCOL.)

MMN bump since all filters need to be recompiled due to filter reordering.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93756 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 09:27:17 +00:00
Ryan Bloom
116497445f Remove the prev pointer from the filter chain. This removes
the complexity of trying to set the filter chain correctly, with the
side-effect of forcing us to walk the entire chain whenever we add
a filter.  Since the filter chains are small, the decrease in
complexity is worth it.
Reviewed by:	Allan Edwards


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93745 13f79535-47bb-0310-9956-ffa450edef68
2002-03-07 02:09:30 +00:00
Ryan Bloom
0d7f234515 This finishes the mod_dir/mod_negotiation bug. This final part of the
solution ensures that we don't lose filters if they are added later than
we expect.  The problem could be seen if a connection filter was added
after a request-based filter was added in the past.  The problem was that
the request-based filters pointed to the first filter in the connection
record, so the new connection filter was never called.  Now, all filters
are put on their correct filter lists, and we are sure to always update
all pointers when adding a filter.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93683 13f79535-47bb-0310-9956-ffa450edef68
2002-03-03 06:04:08 +00:00
Jeff Trawick
3b5912070c document the ctx parameter to the add-input-filter functions
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93596 13f79535-47bb-0310-9956-ffa450edef68
2002-02-27 15:36:23 +00:00
Brian Pane
2df244dfda Added ap_get_input_filter_handle() and ap_get_output_filter_handle()
Submitted by:	Ryan Morgan
Reviewed by:	Brian Pane


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93544 13f79535-47bb-0310-9956-ffa450edef68
2002-02-23 03:12:31 +00:00
Brian Pane
08002aaebb Added new functions ap_add_input_filter_handle() and
ap_add_output_filter_handle()

There are many places in the core modules where we do
ap_add_input_filter() or ap_add_output_filter() on a
hardcoded filter name (e.g., "CORE" or "BYTERANGE").
This requires a string-to-filter mapping that wastes
CPU time.  (Even though the string lookup uses a trie
for speed, it still ranks as a big consumer of CPU time
because of the large number of filters added per request.)

The new ap_add_*_filter_handle() functions will allow
us to skip the string-to-filter mapping in cases where
the module adding the filter happens to have the
ap_filter_rec_t* for the registered filter (e.g., because
it's the same module that registered the filter in the
first place).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93039 13f79535-47bb-0310-9956-ffa450edef68
2002-01-27 01:54:54 +00:00
Justin Erenkrantz
94d01b65aa Change ap_get_brigade prototype to remove *readbytes in favor of readbytes.
If you need the length, you should be using apr_brigade_length.  This is
much more consistent.  Of all the places that call ap_get_brigade, only
one (ap_http_filter) needs the length.  This makes it now possible to
pass constants down without assigning them to a temporary variable first.

Also:
- Change proxy_ftp to use EXHAUSTIVE mode (didn't catch its -1 before)
- Fix buglet in mod_ssl that would cause it to return too much data in
  some circumstances


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@93014 13f79535-47bb-0310-9956-ffa450edef68
2002-01-25 01:11:47 +00:00