forked from trawick/httpd-hook-probes
-
Notifications
You must be signed in to change notification settings - Fork 0
Example module that implements a hook probe for httpd
License
ejm4567/httpd-hook-probes
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Any questions or problems? Please e-mail me at [email protected], and include "mod_hook_ar" in the subject line. How to build: 1. set (or add to) CPPFLAGS=-I/path/to/this-directory 2. Add these arguments to the httpd configure invocation: --enable-exception-hook --enable-hook-probes --with-module=debugging:/path/to/mod_hook_ar.c 3. build mod_crashstate with apxs: /path/to/apxs -ci mod_crashstate.c With the current implementation, with a 64-bit build you may see a lot of httpd compile warnings about conversion from int to different-sized pointer and a small number of warnings about the reverse. This is regrettable to say the least, but no processing is performed on hooks where this would be a problem. I plan to write a code generation tool to allow a module to specify which hooks or categories of hooks are interesting, and then generate typesafe code for that. How to configure: 1. Logging request failer in access log: add %{RequestFailer}n to access log format 2. Logging active module in error log at time of crash: Load mod_crashstate with this directive: LoadModule crashstate_module modules/mod_crashstate.so (Hopefully a future version of mod_whatkilledus will provide the crash state API so that mod_crashstate is not needed.) Examples of error and access log entries: [Mon Oct 01 08:17:25.824719 2012] [crashstate:notice] [pid 30568:tid 140369329334016] Crash state: mod_crash.c/handler [Mon Oct 01 08:17:26.674433 2012] [core:notice] [pid 30566:tid 140369606629152] AH00052: child pid 30568 exit signal Segmentation fault (11) (The second error log entry above is logged automatically when the httpd parent process finds out that the child process exited.) 192.168.1.208 - - [01/Oct/2012:08:09:27 -0400] "GET /crash/ HTTP/1.1" 403 208 mod_access_compat.c/403/access_checker 192.168.1.208 - - [01/Oct/2012:08:09:27 -0400] "GET /favicon.ico HTTP/1.1" 404 209 core.c/404/handler 127.0.0.1 - - [01/Oct/2012:08:46:25 -0400] "GET /" 200 45 - (The third error log entry logs "-" for the request failer since no error occurred.)
About
Example module that implements a hook probe for httpd
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C 89.5%
- Python 10.5%