1
0
mirror of https://github.com/apache/httpd.git synced 2026-01-13 21:42:17 +03:00
Commit Graph

98 Commits

Author SHA1 Message Date
Stefan Fritsch
6344a4f10c fix typo in include guard
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1514215 13f79535-47bb-0310-9956-ffa450edef68
2013-08-15 09:18:48 +00:00
Guenter Knauf
8126c668dd Added mod_policy to NetWare build.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1435836 13f79535-47bb-0310-9956-ffa450edef68
2013-01-20 13:06:37 +00:00
Stefan Fritsch
d5b414c34d CVE-2012-3499
add missing html escaping


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1418752 13f79535-47bb-0310-9956-ffa450edef68
2012-12-08 20:32:00 +00:00
Guenter Knauf
7814748ab3 NetWare build tweaks.
Make more use of internal makefile macros;
axed now obsolete include paths.
Submitted by: normw gknw net.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1371177 13f79535-47bb-0310-9956-ffa450edef68
2012-08-09 12:11:09 +00:00
Stefan Fritsch
8c960a8c15 Various code clean up
Submitted by: Christophe JAILLET <christophe jaillet wanadoo fr>
PR: 52893 


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1361801 13f79535-47bb-0310-9956-ffa450edef68
2012-07-15 21:14:00 +00:00
Rainer Jung
11ffbb51b5 Minor fixes for firehose and mod_policy:
- err.h does not exist in Solaris. Judging
  from the expected content of err.h we don't
  use it at all, so remove inclusion of it.
- The name DEFAULT_TYPE is to generic. Use
  POLICY_DEFAULT_TYPE instead.
- Include apr header files from configured
  path instead of system path.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1239027 13f79535-47bb-0310-9956-ffa450edef68
2012-02-01 09:47:53 +00:00
Jeff Trawick
ba8bc09ce4 fix const warning with strchr->ap_strchr mapping
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1231602 13f79535-47bb-0310-9956-ffa450edef68
2012-01-15 00:27:57 +00:00
Graham Leggett
a03bcce31d mod_policy: Add a new testing module to help server administrators
enforce a configurable level of protocol compliance on their
servers and application servers behind theirs.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1221668 13f79535-47bb-0310-9956-ffa450edef68
2011-12-21 10:42:34 +00:00
Stefan Fritsch
92e366007c Add lots of unique tags to error log messages
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1209766 13f79535-47bb-0310-9956-ffa450edef68
2011-12-02 23:02:04 +00:00
Guenter Knauf
4d4bf43429 Fixed broken NWGNUmakefile introduced with r1201194, r1201195.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1201743 13f79535-47bb-0310-9956-ffa450edef68
2011-11-14 15:09:45 +00:00
Rainer Jung
63f6c2cde8 Choose consistent comments and remove explicit
module names, because those references easily
get outdated.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1201194 13f79535-47bb-0310-9956-ffa450edef68
2011-11-12 05:40:43 +00:00
Jim Jagielski
427c85bd23 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@1174751 13f79535-47bb-0310-9956-ffa450edef68
2011-09-23 13:39:32 +00:00
Eric Covener
c45e14b246 refactor to pull setting of Accept-Ranges header into http_protocol.c which
had been copied to other handlers.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1166663 13f79535-47bb-0310-9956-ffa450edef68
2011-09-08 12:56:08 +00:00
Stefan Fritsch
32d9e326ef adjustments of build priorities of modules without special dependencies
all -> most:
- mod_sed

reallyall -> most:
- mod_log_debug

reallyall -> all:
- mod_dav_lock
- mod_echo
- mod_charset_lite
- mod_slotmem_plain
- mod_dialup

few -> all:
- mod_data
- mod_reflector
- mod_asis

most -> all:
- mod_heartbeat
- mod_heartmonitor
- mod_watchdog

most -> reallyall:
- mod_imagemap
- mod_cern_meta
- mod_ident

See thread at
http://mail-archives.apache.org/mod_mbox/httpd-dev/201107.mbox/%3C201107052321.56063.sf@sfritsch.de%3E


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1146227 13f79535-47bb-0310-9956-ffa450edef68
2011-07-13 18:59:28 +00:00
Stefan Fritsch
c9fd2623da Introduce ap_(get|set)_core_module_config() functions/macros and use them
everywhere.

We know that the core module has module_index 0. Therefore we can save
some pointer operations in ap_get_module_config(cv, &core_module) and
ap_set_module_config(cv, &core_module, val). As these are called rather often,
this may actually have some (small) measurable effect.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1132781 13f79535-47bb-0310-9956-ffa450edef68
2011-06-06 21:26:56 +00:00
Guenter Knauf
888ec80125 Use a var INSTALLBASE to simplify NetWare installation rules.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1082821 13f79535-47bb-0310-9956-ffa450edef68
2011-03-18 04:56:06 +00:00
Guenter Knauf
bab978c56e Use var for prelude so its possible to change it at one place.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1082811 13f79535-47bb-0310-9956-ffa450edef68
2011-03-18 03:09:27 +00:00
Guenter Knauf
e8a8becc0f NetWare build overhaul in order to compile on Linux.
Removed absolute paths to imp files.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1079487 13f79535-47bb-0310-9956-ffa450edef68
2011-03-08 18:59:02 +00:00
Guenter Knauf
46b7e1d210 NetWare build overhaul in order to compile on Linux.
Take 1.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1079407 13f79535-47bb-0310-9956-ffa450edef68
2011-03-08 16:04:40 +00:00
Stefan Fritsch
a0e0e585b0 Disable sendfile by default, as discussed at
http://mail-archives.apache.org/mod_mbox/httpd-dev/201007.mbox/<4C4355EE.2060605@rowe-clan.net>


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@992689 13f79535-47bb-0310-9956-ffa450edef68
2010-09-04 21:53:06 +00:00
Jeff Trawick
0ce133f8a8 Intel's compiler warns about assigning the non-enum value 0 to the
enumeration apr_finfo_t.filetype, which is done when forgetting
the previously-derived file type

use the appropriate enum value APR_NOFILE instead

Also change comparisons of the field with 0 to use APR_NOFILE instead,
as is the practice of some existing code.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@983065 13f79535-47bb-0310-9956-ffa450edef68
2010-08-06 17:36:52 +00:00
Guenter Knauf
5e8988e256 Removed obsolete include paths from NetWare makefiles.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@966904 13f79535-47bb-0310-9956-ffa450edef68
2010-07-22 23:38:58 +00:00
Stefan Fritsch
ebb62867fb Use the new APLOG_USE_MODULE/AP_DECLARE_MODULE macros everywhere to take
advantage of per-module loglevels


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@951895 13f79535-47bb-0310-9956-ffa450edef68
2010-06-06 16:59:50 +00:00
Guenter Knauf
b97254205b added NetWare makefiles for test modules.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@820754 13f79535-47bb-0310-9956-ffa450edef68
2009-10-01 19:13:16 +00:00
William A. Rowe Jr
5181635ab3 Always make mod_*.h files available where they exist, modpath by modpath
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@808722 13f79535-47bb-0310-9956-ffa450edef68
2009-08-28 01:27:46 +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
Jim Jagielski
30176d118e Fixed :)
CORE_PRIVATE not in trunk


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@742682 13f79535-47bb-0310-9956-ffa450edef68
2009-02-09 19:13:25 +00:00
Paul Querna
a564117411 Make dialup_callback a static function.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@722396 13f79535-47bb-0310-9956-ffa450edef68
2008-12-02 08:10:23 +00:00
Paul Querna
9733c2a562 Cleanup mod_dialup to compile with -std=c89 and -pedantic.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@708825 13f79535-47bb-0310-9956-ffa450edef68
2008-10-29 08:33:26 +00:00
Paul Querna
767cc30c02 Introduce Suspendable Requests to the Event MPM.
Using this basic framework, you can return SUSPENDED from an HTTP Handler,
and then register a callback that is invoked by the MPM at a later time.

This initial version only supports _timers_ as callbacks, but in the future I
would like to add things like wait for socket activity, on a socket specified by
the handler.

Once in a callback, It is then the responsibility of the callback fucntion 
to finish the HTTP Request handling, but this alows you to do cool things like 
a fully async proxy, COMET support, or even rate limiting.

To prove I'm not insane, I've inlcuded an example module, mod_dialup.

You can configure it like this:
<Location "/docs">
  ModemStandard "V.32"
</Location>

And for static files inside that path, you will be rate limited to V.32 speeds, 
aka 9.6 kilobits/second.

Does anyone besides Rüdiger read commit emails :-) ?

I know there are likely huge problems with this, but I would like to see how far
we can push the Event MPM, figure out what to do better, if there is anything, 
and then really dive into the 3.0 development before ApacheCon.

* server/mpm/experimental/event/fdqueue.h:
    (timer_event_t): New structure to hold timer events and callback functions.
    
* server/mpm/experimental/event/fdqueue.c
    (ap_queue_empty): Modify to also look at Timer Ring.

    (ap_queue_init): Initialize Timer Ring.

    (ap_queue_push_timer): New function, pushes a timer event into the queue.

    (ap_queue_pop_something): Renamed function, returns a timer event or
        a socket/pool for a worker thread to run.


* server/mpm/experimental/event/event.c
    (process_socket): If the connection is in SUSPENDED state, don't force it
        into linger mode yet, the callback will have to take care of that.

    (push_timer2worker): New shortcut function, pushes timer event into queue
        for a worker to run.

    (timer_free_ring): New global data structure to recycle memory used by 
        timer events.

    (timer_ring): New global data structure to hold active timer events.

    (g_timer_ring_mtx): Thread mutex to protect timer event data structures.

    (ap_mpm_register_timed_callback): New Function, registers a callback to be
        invoked by the MPM at a later time.

    (listener_thread): Calculate our wakeup time based on the upcoming Event 
        Queue, and after pollset_poll runs, push any Timers that have passed
        onto worker threads to run.
    
    (worker_thread): Call new queue pop method, and if the Timer Event is 
        non-null, invoke the callback.  Once the callback is done, push the
        structure onto the timer_free_ring, to be recycled.

    (child_main): Initialize new mutex and ring structures.


* server/config.c
    (ap_invoke_handler): Allow SUSPENDED aa valid return code from handlers.


* modules/http/http_core.c
    (ap_process_http_async_connection): Don't close the connection when in 
        SUSPENDED state.


* modules/http/http_request.c
    (ap_process_request_after_handler): New function, body pulled from the old,
        ap_process_async_request.  Split to let handlers invoke this so they 
        don't need to know all of the details of finishing a request.

    (ap_process_async_request): If the handler returns SUSPENDED, don't do
        anything but return.


* include/ap_mmn.h: Bump MMN.


* include/ap_mpm.h
    (ap_mpm_register_timed_callback): New function.


* include/httpd.h:
    (SUSPENDED): New return code for handlers.
    (request_rec::invoke_mtx): New mutex to protect callback invokcations
        from being run before the original handler finishes running.
    (conn_state_e): Add a suspended state.


* include/http_request.h
    (ap_process_request_after_handler): New function to make it easier for 
        handlers to finish the HTTP Request.


* modules/test/config.m4: Add mod_dialup to build.


* modules/test/mod_dialup.c: New rate limiting module, requires the Event MPM 
    to work.




git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@697357 13f79535-47bb-0310-9956-ffa450edef68
2008-09-20 11:58:08 +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
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
Jim Jagielski
5d2fae4818 No functional change: simple detabbing of indented code.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@332305 13f79535-47bb-0310-9956-ffa450edef68
2005-11-10 15:05:51 +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
Jim Jagielski
ae092ca1ce Add in mod_dumpio in the new debug module directory. Also, place
mod_bucketeer in there as well, since it is more a debugging
module (and as per list suggestions)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@111837 13f79535-47bb-0310-9956-ffa450edef68
2004-12-14 17:04:58 +00:00
Joe Orton
c36ecfa64f Remove the .cvsignore files.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@105796 13f79535-47bb-0310-9956-ffa450edef68
2004-11-19 09:07:29 +00:00
André Malo
a688f06b19 fix name of The Apache Software Foundation
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102618 13f79535-47bb-0310-9956-ffa450edef68
2004-02-09 20:31:03 +00:00
André Malo
aa08fe635b fix copyright dates and apply the license to one forgotten header file
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102574 13f79535-47bb-0310-9956-ffa450edef68
2004-02-08 12:58:27 +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
Cliff Woolley
aaf0424e2b get rid of _FOREACH
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@101788 13f79535-47bb-0310-9956-ffa450edef68
2003-11-16 02:09:14 +00:00
William A. Rowe Jr
3f9f757b4e A few odd .dsp's to help testers and developers along (really irrelevant
for binary or default builds.)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@99869 13f79535-47bb-0310-9956-ffa450edef68
2003-05-16 18:19:39 +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
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
Ryan Bloom
ca5fd7fb7b The apr_bucket change requires a minor MMN bump. Also modify Apache's
filters to use APR_BUCKET_IS_METADATA macro.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95454 13f79535-47bb-0310-9956-ffa450edef68
2002-05-31 20:52:28 +00:00
Cliff Woolley
08bf741328 we should be copying over all metadata buckets we don't understand, not
just error buckets.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95428 13f79535-47bb-0310-9956-ffa450edef68
2002-05-31 07:43:22 +00:00
Justin Erenkrantz
477d093d23 mod_bucketeer needs to preserve error buckets if it sees them rather
than silently discarding them.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95412 13f79535-47bb-0310-9956-ffa450edef68
2002-05-30 21:10:19 +00:00
Justin Erenkrantz
8bee367066 mod_bucketeer has been tried, convicted, and sentenced in the style courts.
(No functional changes, just style changes, so I can read the darn thing.)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95340 13f79535-47bb-0310-9956-ffa450edef68
2002-05-29 06:19:26 +00:00
Cliff Woolley
386e8eca4c Fix variable name typo
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94448 13f79535-47bb-0310-9956-ffa450edef68
2002-04-05 05:05:20 +00:00
Cliff Woolley
3e2ce19baf BUCKET FREELISTS
Add an allocator-passing mechanism throughout the bucket brigades API.

From Apache's standpoint, the apr_bucket_alloc_t* used throughout a given
connection is stored in the conn_rec by the create_connection hook.  That
means it's the MPM's job to optimize recycling of apr_bucket_alloc_t's --
the MPM must ensure that no two threads can ever use the same one at the
same time, for instance.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94304 13f79535-47bb-0310-9956-ffa450edef68
2002-03-29 08:17:26 +00:00