278N/A* Copyright 2004 The Apache Software Foundation 278N/A* Licensed under the Apache License, Version 2.0 (the "License"); 278N/A* you may not use this file except in compliance with the License. 278N/A* You may obtain a copy of the License at 278N/A* Unless required by applicable law or agreed to in writing, software 278N/A* distributed under the License is distributed on an "AS IS" BASIS, 278N/A* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 278N/A* See the License for the specific language governing permissions and 278N/A* limitations under the License. 278N/A* Module Name: mod_dtrace 278N/A* Purpose: Apache implements a set of hooks and filters to allow 278N/A* modules to view and modify requests sent to the server. 278N/A* This module takes advantage of this architecture to 278N/A* implement several DTrace hooks. 278N/A* Notes: To get the most use out of the mod_dtrace Apache module, it will 278N/A* be useful to familiarize yourself with the Apache request_rec, 278N/A* server_rec and conn_rec structures. These can be viewed on the 278N/A* A basic overview of each structure is included below: 278N/A* request_rec : Contains all of the attributes (URI, filename, 278N/A* method, bytes_sent) needed to describe an 278N/A* conn_rec : Stores the connection attributes including 278N/A* IP addresses and ports 278N/A* server_rec : Stores information to describe each virtual server 278N/A* Last Modified: 02-08-2007 278N/A* Author: Matty < matty91 at gmail dot com > 278N/A* 0.3a: Fixed bug due to NULL values -- Sebastien Bouchex Bellomie 278N/A* Build instructions are available at the following site: 278N/A* Probe Function Purpoose: 278N/A* This probe will fire each time a request is send to the server. 278N/A* arg0 -> address of the request_rec structure 278N/A* This probe will fire each time the web server invokes the logging handlers. 278N/A* Since the request_rec, server_rec and conn_rec should be completely filled 278N/A* in when this probe fires -- this will be a useful probe. 278N/A* arg0 -> The address of the request_rec structure 278N/A /* apr_table_get will return the value of User-Agent or NULL */ 278N/A /* apr_table_get will return the value of Location or NULL */ 278N/A* This probe will fire each time an httpd child process is created 278N/A* This probe will fire each time a new TCP connection is created 278N/A* arg0 -> Client's IP address 278N/A* This probe will fire when the authentication stage is encountered 278N/A* arg0 -> The address of the request_rec structure 278N/A* This probe will fire when the access checking stage is encountered 278N/A* arg0 -> The address of the request_rec structure 278N/A* This probe will fire when the authorization checking stage is encountered 278N/A* arg0 -> The address of the request_rec structure 278N/A* Define the hooks and the functions registered to those hooks