Apache HTTPD
Classes | Macros | Typedefs | Functions | Variables
mod_info.c File Reference
#include "apr.h"
#include "apr_strings.h"
#include "apr_lib.h"
#include "apr_version.h"
#include "apu_version.h"
#include "apr_want.h"
#include "httpd.h"
#include "http_config.h"
#include "http_core.h"
#include "http_log.h"
#include "http_main.h"
#include "http_protocol.h"
#include "http_connection.h"
#include "http_request.h"
#include "util_script.h"
#include "ap_mpm.h"
#include "mpm_common.h"
#include "ap_provider.h"
#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Classes

struct  info_entry
 
struct  info_svr_conf
 
struct  hook_struct_t
 
struct  hook_lookup_t
 

Macros

#define APR_WANT_STRFUNC
 

Typedefs

typedef apr_array_header_t *(* hook_get_t) (void)
 

Functions

static void * create_info_config (apr_pool_t *p, server_rec *s)
 
static void * merge_info_config (apr_pool_t *p, void *basev, void *overridesv)
 
static void put_int_flush_right (request_rec *r, int i, int field)
 
static void set_fn_info (request_rec *r, const char *name)
 
static const charget_fn_info (request_rec *r)
 
static void mod_info_indent (request_rec *r, int nest, const char *thisfn, int linenum)
 
static void mod_info_show_cmd (request_rec *r, const ap_directive_t *dir, int nest)
 
static void mod_info_show_open (request_rec *r, const ap_directive_t *dir, int nest)
 
static void mod_info_show_close (request_rec *r, const ap_directive_t *dir, int nest)
 
static int mod_info_has_cmd (const command_rec *cmds, ap_directive_t *dir)
 
static void mod_info_show_parents (request_rec *r, ap_directive_t *node, int from, int to)
 
static int mod_info_module_cmds (request_rec *r, const command_rec *cmds, ap_directive_t *node, int from, int level)
 
static int module_find_hook (module *modp, hook_get_t hook_get)
 
static void module_participate (request_rec *r, module *modp, const hook_lookup_t *lookup, int *comma)
 
static void module_request_hook_participate (request_rec *r, module *modp)
 
static const charfind_more_info (server_rec *s, const char *module_name)
 
static int show_server_settings (request_rec *r)
 
static int dump_a_hook (request_rec *r, hook_get_t hook_get)
 
static int show_active_hooks (request_rec *r)
 
static int cmp_provider_groups (const void *a_, const void *b_)
 
static int cmp_provider_names (const void *a_, const void *b_)
 
static void show_providers (request_rec *r)
 
static int cmp_module_name (const void *a_, const void *b_)
 
static apr_array_header_tget_sorted_modules (apr_pool_t *p)
 
static int display_info (request_rec *r)
 
static const charadd_module_info (cmd_parms *cmd, void *dummy, const char *name, const char *info)
 
static int check_config (apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
 
static void register_hooks (apr_pool_t *p)
 

Variables

static const chardump_config_fn_info
 
static apr_file_tout = NULL
 
static const hook_lookup_t startup_hooks []
 
static const hook_lookup_t request_hooks []
 
static const hook_lookup_t other_hooks []
 
static const command_rec info_cmds []
 
static int *const aplog_module_index = &( info_module.module_index)
 

Macro Definition Documentation

◆ APR_WANT_STRFUNC

#define APR_WANT_STRFUNC

Definition at line 51 of file mod_info.c.

Typedef Documentation

◆ hook_get_t

typedef apr_array_header_t *( * hook_get_t) (void)

Definition at line 288 of file mod_info.c.

Function Documentation

◆ add_module_info()

static const char * add_module_info ( cmd_parms cmd,
void *  dummy,
const char name,
const char info 
)
static

Definition at line 972 of file mod_info.c.

◆ check_config()

static int check_config ( apr_pool_t pconf,
apr_pool_t plog,
apr_pool_t ptemp,
server_rec s 
)
static

< Module declines to handle

Definition at line 992 of file mod_info.c.

◆ cmp_module_name()

static int cmp_module_name ( const void *  a_,
const void *  b_ 
)
static

Definition at line 751 of file mod_info.c.

◆ cmp_provider_groups()

static int cmp_provider_groups ( const void *  a_,
const void *  b_ 
)
static

Definition at line 700 of file mod_info.c.

◆ cmp_provider_names()

static int cmp_provider_names ( const void *  a_,
const void *  b_ 
)
static

Definition at line 709 of file mod_info.c.

◆ create_info_config()

static void * create_info_config ( apr_pool_t p,
server_rec s 
)
static

Definition at line 87 of file mod_info.c.

◆ display_info()

static int display_info ( request_rec r)
static

< Module declines to handle

RFC 2616: HTTP

RFC 2616: HTTP

< Module declines to handle

Definition at line 770 of file mod_info.c.

◆ dump_a_hook()

static int dump_a_hook ( request_rec r,
hook_get_t  hook_get 
)
static

Definition at line 633 of file mod_info.c.

◆ find_more_info()

static const char * find_more_info ( server_rec s,
const char module_name 
)
static

Definition at line 409 of file mod_info.c.

◆ get_fn_info()

static const char * get_fn_info ( request_rec r)
static

Definition at line 134 of file mod_info.c.

◆ get_sorted_modules()

static apr_array_header_t * get_sorted_modules ( apr_pool_t p)
static

Definition at line 758 of file mod_info.c.

◆ merge_info_config()

static void * merge_info_config ( apr_pool_t p,
void *  basev,
void *  overridesv 
)
static

Definition at line 96 of file mod_info.c.

◆ mod_info_has_cmd()

static int mod_info_has_cmd ( const command_rec cmds,
ap_directive_t dir 
)
static

Definition at line 227 of file mod_info.c.

◆ mod_info_indent()

static void mod_info_indent ( request_rec r,
int  nest,
const char thisfn,
int  linenum 
)
static

Definition at line 143 of file mod_info.c.

◆ mod_info_module_cmds()

static int mod_info_module_cmds ( request_rec r,
const command_rec cmds,
ap_directive_t node,
int  from,
int  level 
)
static

Definition at line 247 of file mod_info.c.

◆ mod_info_show_close()

static void mod_info_show_close ( request_rec r,
const ap_directive_t dir,
int  nest 
)
static

Definition at line 207 of file mod_info.c.

◆ mod_info_show_cmd()

static void mod_info_show_cmd ( request_rec r,
const ap_directive_t dir,
int  nest 
)
static

Definition at line 183 of file mod_info.c.

◆ mod_info_show_open()

static void mod_info_show_open ( request_rec r,
const ap_directive_t dir,
int  nest 
)
static

Definition at line 195 of file mod_info.c.

◆ mod_info_show_parents()

static void mod_info_show_parents ( request_rec r,
ap_directive_t node,
int  from,
int  to 
)
static

Definition at line 239 of file mod_info.c.

◆ module_find_hook()

static int module_find_hook ( module modp,
hook_get_t  hook_get 
)
static

Definition at line 359 of file mod_info.c.

◆ module_participate()

static void module_participate ( request_rec r,
module modp,
const hook_lookup_t lookup,
int comma 
)
static

Definition at line 380 of file mod_info.c.

◆ module_request_hook_participate()

static void module_request_hook_participate ( request_rec r,
module modp 
)
static

Definition at line 393 of file mod_info.c.

◆ put_int_flush_right()

static void put_int_flush_right ( request_rec r,
int  i,
int  field 
)
static

Definition at line 108 of file mod_info.c.

◆ register_hooks()

static void register_hooks ( apr_pool_t p)
static

Definition at line 1004 of file mod_info.c.

◆ set_fn_info()

static void set_fn_info ( request_rec r,
const char name 
)
static

Definition at line 126 of file mod_info.c.

◆ show_active_hooks()

static int show_active_hooks ( request_rec r)
static

Definition at line 661 of file mod_info.c.

◆ show_providers()

static void show_providers ( request_rec r)
static

Definition at line 715 of file mod_info.c.

◆ show_server_settings()

static int show_server_settings ( request_rec r)
static

Definition at line 429 of file mod_info.c.

Variable Documentation

◆ aplog_module_index

int* const aplog_module_index = &( info_module.module_index)
static

Definition at line 1010 of file mod_info.c.

◆ dump_config_fn_info

const char* dump_config_fn_info
static

Definition at line 83 of file mod_info.c.

◆ info_cmds

const command_rec info_cmds[]
static
Initial value:
= {
{ "AddModuleInfo" , add_module_info , NULL , 128 , TAKE2, "a module name and additional information on that module" },
{NULL}
}
@ TAKE2
Definition http_config.h:52
static const char * add_module_info(cmd_parms *cmd, void *dummy, const char *name, const char *info)
Definition mod_info.c:972
return NULL
Definition mod_so.c:359

Definition at line 986 of file mod_info.c.

◆ other_hooks

const hook_lookup_t other_hooks[]
static
Initial value:
= {
{"Monitor", ap_hook_get_monitor},
{"Child Status", ap_hook_get_child_status},
{"End Generation", ap_hook_get_end_generation},
{"Error Logging", ap_hook_get_error_log},
{"Query MPM Attributes", ap_hook_get_mpm_query},
{"Query MPM Name", ap_hook_get_mpm_get_name},
{"Register Timed Callback", ap_hook_get_mpm_register_timed_callback},
{"Extend Expression Parser", ap_hook_get_expr_lookup},
{"Set Management Items", ap_hook_get_get_mgmt_items},
{NULL},
}
apr_array_header_t * ap_hook_get_get_mgmt_items(void)
Definition core.c:103
apr_array_header_t * ap_hook_get_error_log(void)
Definition log.c:2004
apr_array_header_t * ap_hook_get_child_status(void)
Definition mpm_common.c:109
apr_array_header_t * ap_hook_get_end_generation(void)
Definition mpm_common.c:106
apr_array_header_t * ap_hook_get_monitor(void)
Definition mpm_common.c:91
apr_array_header_t * ap_hook_get_mpm_register_timed_callback(void)
Definition mpm_common.c:103
apr_array_header_t * ap_hook_get_mpm_query(void)
Definition mpm_common.c:100
apr_array_header_t * ap_hook_get_mpm_get_name(void)
Definition mpm_common.c:136
apr_array_header_t * ap_hook_get_expr_lookup(void)

Definition at line 343 of file mod_info.c.

◆ out

apr_file_t* out = NULL
static

Definition at line 85 of file mod_info.c.

◆ request_hooks

const hook_lookup_t request_hooks[]
static
Initial value:
= {
{"Pre-Connection", ap_hook_get_pre_connection},
{"Create Connection", ap_hook_get_create_connection},
{"Process Connection", ap_hook_get_process_connection},
{"Create Request", ap_hook_get_create_request},
{"Pre-Read Request", ap_hook_get_pre_read_request},
{"Post-Read Request", ap_hook_get_post_read_request},
{"Header Parse", ap_hook_get_header_parser},
{"HTTP Scheme", ap_hook_get_http_scheme},
{"Default Port", ap_hook_get_default_port},
{"Quick Handler", ap_hook_get_quick_handler},
{"Pre-Translate Name", ap_hook_get_pre_translate_name},
{"Translate Name", ap_hook_get_translate_name},
{"Map to Storage", ap_hook_get_map_to_storage},
{"Check Access", ap_hook_get_access_checker_ex},
{"Check Access (legacy)", ap_hook_get_access_checker},
{"Verify User ID", ap_hook_get_check_user_id},
{"Note Authentication Failure", ap_hook_get_note_auth_failure},
{"Verify User Access", ap_hook_get_auth_checker},
{"Check Type", ap_hook_get_type_checker},
{"Fixups", ap_hook_get_fixups},
{"Insert Filters", ap_hook_get_insert_filter},
{"Content Handlers", ap_hook_get_handler},
{"Transaction Logging", ap_hook_get_log_transaction},
{"Insert Errors", ap_hook_get_insert_error_filter},
{"Generate Log ID", ap_hook_get_generate_log_id},
{NULL},
}
apr_array_header_t * ap_hook_get_process_connection(void)
Definition connection.c:42
apr_array_header_t * ap_hook_get_pre_connection(void)
Definition connection.c:43
apr_array_header_t * ap_hook_get_create_connection(void)
Definition connection.c:41
apr_array_header_t * ap_hook_get_handler(void)
Definition config.c:170
apr_array_header_t * ap_hook_get_quick_handler(void)
Definition config.c:173
apr_array_header_t * ap_hook_get_header_parser(void)
Definition config.c:86
apr_array_header_t * ap_hook_get_generate_log_id(void)
Definition log.c:2009
apr_array_header_t * ap_hook_get_default_port(void)
Definition protocol.c:2591
apr_array_header_t * ap_hook_get_http_scheme(void)
Definition protocol.c:2589
apr_array_header_t * ap_hook_get_note_auth_failure(void)
Definition protocol.c:2594
apr_array_header_t * ap_hook_get_insert_error_filter(void)
apr_array_header_t * ap_hook_get_log_transaction(void)
Definition protocol.c:2587
apr_array_header_t * ap_hook_get_post_read_request(void)
Definition protocol.c:2585
apr_array_header_t * ap_hook_get_pre_read_request(void)
Definition protocol.c:2583
apr_array_header_t * ap_hook_get_insert_filter(void)
Definition request.c:96
apr_array_header_t * ap_hook_get_fixups(void)
Definition request.c:87
apr_array_header_t * ap_hook_get_translate_name(void)
Definition request.c:81
apr_array_header_t * ap_hook_get_check_user_id(void)
Definition request.c:85
apr_array_header_t * ap_hook_get_type_checker(void)
Definition request.c:89
apr_array_header_t * ap_hook_get_create_request(void)
Definition request.c:98
apr_array_header_t * ap_hook_get_map_to_storage(void)
Definition request.c:83
apr_array_header_t * ap_hook_get_pre_translate_name(void)
Definition request.c:79
apr_array_header_t * ap_hook_get_access_checker_ex(void)
Definition request.c:93
apr_array_header_t * ap_hook_get_auth_checker(void)
Definition request.c:95
apr_array_header_t * ap_hook_get_access_checker(void)
Definition request.c:91

Definition at line 314 of file mod_info.c.

◆ startup_hooks

const hook_lookup_t startup_hooks[]
static
Initial value:
= {
{"Pre-Config", ap_hook_get_pre_config},
{"Check Configuration", ap_hook_get_check_config},
{"Test Configuration", ap_hook_get_test_config},
{"Post Configuration", ap_hook_get_post_config},
{"Open Logs", ap_hook_get_open_logs},
{"Pre-MPM", ap_hook_get_pre_mpm},
{"MPM", ap_hook_get_mpm},
{"Drop Privileges", ap_hook_get_drop_privileges},
{"Retrieve Optional Functions", ap_hook_get_optional_fn_retrieve},
{"Child Init", ap_hook_get_child_init},
{NULL},
}
apr_array_header_t * ap_hook_get_test_config(void)
Definition config.c:100
apr_array_header_t * ap_hook_get_pre_config(void)
Definition config.c:91
apr_array_header_t * ap_hook_get_open_logs(void)
Definition config.c:163
apr_array_header_t * ap_hook_get_optional_fn_retrieve(void)
Definition config.c:195
apr_array_header_t * ap_hook_get_post_config(void)
Definition config.c:105
apr_array_header_t * ap_hook_get_child_init(void)
Definition config.c:167
apr_array_header_t * ap_hook_get_check_config(void)
Definition config.c:96
apr_array_header_t * ap_hook_get_mpm(void)
Definition mpm_common.c:97
apr_array_header_t * ap_hook_get_drop_privileges(void)
Definition mpm_common.c:94
apr_array_header_t * ap_hook_get_pre_mpm(void)
Definition scoreboard.c:102

Definition at line 300 of file mod_info.c.