History log of /httpd/modules/test/config.m4
Revision Date Author Comments Expand
e6dd71992459d05a676b98b7963423dc5dc1e24a 1221668 21-Dec-2011 minfrin

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.

a93e781d9c03749f57328077b8350b09c40ce737 1146227 13-Jul-2011 sf

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

3a330c2331fc04f7d3f0ce7741bb52b5823f97e1 808722 28-Aug-2009 wrowe

Always make mod_*.h files available where they exist, modpath by modpath

b0d8a6d437db6f4c222173f27ef81c98622fbd02 697357 20-Sep-2008 pquerna

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.

368b36c5dbc201e30733aed9a3fd43742c67d11a 111837 14-Dec-2004 jim

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)

f39fe143906906fcdb89b99d3f13ec99a5bb0bbe 93546 23-Feb-2002 ianh

introducing the bucketeer it lets you set up boundry test conditions for things like mod-include PR: Obtained from: Submitted by: Reviewed by:

f16221ab2b8349055c8666e025af133892594bc4 91332 06-Oct-2001 wrowe

I don't know if these are correct, just my best alien guess. I also don't suspect we want to add test/ to the modules/ makefile, since test won't be distributed with the tarball.