return NULL; } /* * Now we just take each word in turn from the command line and add it to * the appropriate table. */ while (*usernames) { username = ap_getword_conf(cmd->pool, &usernames); apr_table_setn(usertable, username, kw); } return NULL; } static const command_rec userdir_cmds[] = { AP_INIT_RAW_ARGS("UserDir", set_user_dir, NULL, RSRC_CONF, "the public subdirectory in users' home directories, or " "'disabled', or 'disabled username username...', or " "'enabled username username...'"), {NULL} }; static int translate_userdir(request_rec *r) { ap_conf_vector_t *server_conf; const userdir_config *s_cfg; const char *userdirs; const char *user, *dname; char *redirect; apr_finfo_t statbuf; /* * If the URI doesn't match our basic pattern, we've nothing to do with
SSL_CMD_DIR(Options, OPTIONS, RAW_ARGS, "Set one or more options to configure the SSL engine" "(`[+-]option[=value] ...' - see manual)") SSL_CMD_DIR(RequireSSL, AUTHCFG, NO_ARGS, "Require the SSL protocol for the per-directory context " "(no arguments)") SSL_CMD_DIR(Require, AUTHCFG, RAW_ARGS, "Require a boolean expression to evaluate to true for granting access" "(arbitrary complex boolean expression - see manual)") SSL_CMD_DIR(RenegBufferSize, AUTHCFG, TAKE1, "Configure the amount of memory that will be used for buffering the " "request body if a per-location SSL renegotiation is required due to " "changed access control requirements") /* Deprecated directives. */ AP_INIT_RAW_ARGS("SSLLog", ap_set_deprecated, NULL, OR_ALL, "SSLLog directive is no longer supported - use ErrorLog."), AP_INIT_RAW_ARGS("SSLLogLevel", ap_set_deprecated, NULL, OR_ALL, "SSLLogLevel directive is no longer supported - use LogLevel."), AP_END_CMD }; /* * the various processing hooks */ static apr_status_t ssl_cleanup_pre_config(void *data) { /* * Try to kill the internals of the SSL library. */ #ifdef HAVE_OPENSSL
code = cwx_request(&conn); //free idle connect cwx_free_socket(&conn); //success, break; if (HTTP_PRECONDITION_FAILED != code) break; //using other. if ((time(NULL) - now > svr->m_user_config.m_query_timeout/2000)) break; } return code; } /* * Only needed configuration is pointer to resin.conf */ static const command_rec cwx_commands[] = { AP_INIT_RAW_ARGS("cwinux-service", cwx_svr_command, NULL, RSRC_CONF, "Configures service."), AP_INIT_RAW_ARGS("cwinux-host", cwx_host_command, NULL, RSRC_CONF, "Configures host."), AP_INIT_RAW_ARGS("cwinux-balance", cwx_balance_command, NULL, RSRC_CONF, "Configures balance."), AP_INIT_RAW_ARGS("cwinux-header", cwx_header_command, NULL, RSRC_CONF, "Configures header."), AP_INIT_TAKE1("cwinux-show", cwx_show_command, NULL, RSRC_CONF, "Configures default show."), AP_INIT_TAKE1("cwinux-delay", cwx_delay_command, NULL, RSRC_CONF, "Configures default delay."), AP_INIT_TAKE1("cwinux-persistent", cwx_persistent_command, NULL, RSRC_CONF, "Configures default persistent."), AP_INIT_TAKE1("cwinux-query-timeout", cwx_query_timeout_command, NULL, RSRC_CONF, "Configures default query-timeout."), AP_INIT_TAKE1("cwinux-conn-timeout", cwx_conn_timeout_command, NULL,
static const command_rec moon_cmds[]; module AP_MODULE_DECLARE_DATA moon_module; // config struct typedef struct moon_svr_cfg { char *buf; const char* user_data_url; const char* group_data_url; apr_hash_t * user_to_css; apr_hash_t * group_to_css; } moon_svr_cfg; // List of containers and directives static const command_rec moon_cmds[] = { AP_INIT_RAW_ARGS("<LMMPGroup", lmmpgroup_cmd, NULL, EXEC_ON_READ|OR_ALL, "Container for setting group css style"), AP_INIT_RAW_ARGS("<LMMPUser", lmmpuser_cmd, NULL, EXEC_ON_READ|OR_ALL, "Container for setting user css style"), AP_INIT_TAKE1("LMMPSetUserDataUrl", lmmpset_user_data_url_cmd, NULL, OR_ALL, "set user data url"), AP_INIT_TAKE1("LMMPSetGroupDataUrl", lmmpset_group_data_url_cmd, NULL, OR_ALL, "set group data url"), { NULL } }; // Standard Module declaration for Apache 2.0 module AP_MODULE_DECLARE_DATA moon_module = { STANDARD20_MODULE_STUFF, NULL, NULL, create_moon_cfg, NULL, moon_cmds, moon_hooks
} #ifdef APACHE_2_X static int tora_init( apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s ) { mod_tora_do_init(); return OK; } #else static void tora_init(server_rec *s, pool *p) { mod_tora_do_init(); } #endif static command_rec tora_module_cmds[] = { # ifdef APACHE_2_X AP_INIT_RAW_ARGS( "ModTora", mod_tora_config , NULL, RSRC_CONF, NULL ), # else { "ModTora", mod_tora_config, NULL, RSRC_CONF, RAW_ARGS, NULL }, # endif { NULL } }; #ifdef APACHE_2_X static void tora_register_hooks( apr_pool_t *p ) { ap_hook_post_config( tora_init, NULL, NULL, APR_HOOK_MIDDLE ); ap_hook_handler( tora_handler, NULL, NULL, APR_HOOK_LAST ); }; module AP_MODULE_DECLARE_DATA tora_module = { STANDARD20_MODULE_STUFF,
(void *)APR_OFFSETOF(logsql_state, notes_list), RSRC_CONF, "Notes that you would like to log in a separate table") , AP_INIT_ITERATE("LogSQLWhichHeadersOut", add_server_string_slot, (void *)APR_OFFSETOF(logsql_state, hout_list), RSRC_CONF, "Outbound headers that you would like to log in a separate table") , AP_INIT_ITERATE("LogSQLWhichHeadersIn", add_server_string_slot, (void *)APR_OFFSETOF(logsql_state, hin_list), RSRC_CONF, "Inbound headers that you would like to log in a separate table") , AP_INIT_ITERATE("LogSQLWhichCookies", add_server_string_slot, (void *)APR_OFFSETOF(logsql_state, cookie_list), RSRC_CONF, "The cookie(s) that you would like to log in a separate table") , AP_INIT_RAW_ARGS("LogSQLDeprecated", ap_set_deprecated, NULL, RSRC_CONF, "<br><b>Deprecated</b><br>The following Commands are deprecated and should not be used.. <br>Read the documentation for more information<br><b>Deprecated</b>") , /* Deprecated commands */ AP_INIT_TAKE1("LogSQLDatabase", set_dbparam_slot, (void *)"database", RSRC_CONF, "<b>(Deprecated) Use LogSQLDBParam database dbname.</b> The name of the database database for logging") , AP_INIT_TAKE1("LogSQLTableType", set_dbparam_slot, (void *)"tabletype", RSRC_CONF, "<b>(Deprecated) Use LogSQLDBParam tabletype type.</b> What kind of table to create (MyISAM, InnoDB,...) when creating tables") , AP_INIT_TAKE1("LogSQLSocketFile", set_dbparam_slot, (void *)"socketfile", RSRC_CONF, "<b>(Deprecated) Use LogSQLDBParam socketfile socket.</b> Name of the file to employ for socket connections to database") , AP_INIT_TAKE1("LogSQLTCPPort", set_dbparam_slot,
return "DirectoryIndexRedirect only accepts values between 300 and 399"; } } else { return "DirectoryIndexRedirect ON|OFF|permanent|temp|seeother|3xx"; } d->redirect_index = status; return NULL; } static const command_rec dir_cmds[] = { AP_INIT_TAKE1("FallbackResource", ap_set_string_slot, (void*)APR_OFFSETOF(dir_config_rec, dflt), DIR_CMD_PERMS, "Set a default handler"), AP_INIT_RAW_ARGS("DirectoryIndex", add_index, NULL, DIR_CMD_PERMS, "a list of file names"), AP_INIT_FLAG("DirectorySlash", configure_slash, NULL, DIR_CMD_PERMS, "On or Off"), AP_INIT_TAKE1("DirectoryIndexRedirect", configure_redirect, NULL, DIR_CMD_PERMS, "On, Off, or a 3xx status code."), {NULL} }; static void *create_dir_config(apr_pool_t *p, char *dummy) { dir_config_rec *new = apr_pcalloc(p, sizeof(dir_config_rec)); new->index_names = NULL; new->do_slash = SLASH_UNSET; new->redirect_index = REDIRECT_UNSET;
"%s", "OOM handling GssapiDelegCcacheDir option"); } return NULL; } static const command_rec mag_commands[] = { AP_INIT_FLAG("GssapiSSLonly", mag_ssl_only, NULL, OR_AUTHCFG, "Work only if connection is SSL Secured"), AP_INIT_FLAG("GssapiLocalName", mag_map_to_local, NULL, OR_AUTHCFG, "Translate principals to local names"), AP_INIT_FLAG("GssapiConnectionBound", mag_conn_ctx, NULL, OR_AUTHCFG, "Authentication is bound to the TCP connection"), AP_INIT_FLAG("GssapiUseSessions", mag_use_sess, NULL, OR_AUTHCFG, "Authentication uses mod_sessions to hold status"), AP_INIT_RAW_ARGS("GssapiSessionKey", mag_sess_key, NULL, OR_AUTHCFG, "Key Used to seal session data."), #ifdef HAVE_GSS_ACQUIRE_CRED_FROM AP_INIT_FLAG("GssapiUseS4U2Proxy", mag_use_s4u2p, NULL, OR_AUTHCFG, "Initializes credentials for s4u2proxy usage"), #endif #ifdef HAVE_GSS_STORE_CRED_INTO AP_INIT_ITERATE("GssapiCredStore", mag_cred_store, NULL, OR_AUTHCFG, "Credential Store"), AP_INIT_RAW_ARGS("GssapiDelegCcacheDir", mag_deleg_ccache_dir, NULL, OR_AUTHCFG, "Directory to store delegated credentials"), #endif { NULL } }; static void mag_register_hooks(apr_pool_t *p)
ap_assert(1 != 1); /* we set the field wrong somehow */ } return NULL; } static const command_rec cmds[] = { AP_INIT_ITERATE("ExtFilterOptions", add_options, NULL, ACCESS_CONF, /* same as SetInputFilter/SetOutputFilter */ "valid options: DebugLevel=n, LogStderr, NoLogStderr"), AP_INIT_RAW_ARGS("ExtFilterDefine", define_filter, NULL, RSRC_CONF, "Define an external filter"), {NULL} }; static int ef_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *main_s) { main_server = main_s; return OK; } static void register_hooks(apr_pool_t *p) { ap_hook_post_config(ef_init, NULL, NULL, APR_HOOK_MIDDLE); }
return NULL; } /** * Definition on how to react if the specified commands (ReplaceFilterDefine, * ReplacePattern, HeaderReplacePattern) occur in the configuration file. */ static const command_rec cmds[] = { /** Definition of a new filter. The directive is allowed everywhere * (RSRC_CONF) and the method define_filter is to be called. The directive * takes any number of arguments which get passed "raw" to the method. */ AP_INIT_RAW_ARGS("ReplaceFilterDefine", define_filter, NULL, RSRC_CONF, "Define a replace filter"), /** Add a replacement pattern to the specified filter. The directive takes * three arguments: the name of the filter, the regular expression for the * pattern and the replacement string. This directive is also allowed * everywhere (RSRC_CONF) and add_pattern is called. */ AP_INIT_TAKE3("ReplacePattern", add_pattern, NULL, RSRC_CONF, "usage: ReplacePattern filtername pattern replacement"), /** Add a header replacement pattern to the specified filter. This * directive takes four arguments: the name of the filter, the name of the * header field, the regular expression for the pattern and its replacement
#ifdef APACHE_2_X static int neko_init( apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s ) { mod_neko_do_init(); return OK; } #else static void neko_init(server_rec *s, pool *p) { mod_neko_do_init(); } #endif static command_rec neko_module_cmds[] = { # ifdef APACHE_2_X AP_INIT_RAW_ARGS( "ModNeko", mod_neko_config , NULL, RSRC_CONF, NULL ), # else { "ModNeko", mod_neko_config, NULL, RSRC_CONF, RAW_ARGS, NULL }, # endif { NULL } }; #ifdef APACHE_2_X static void neko_register_hooks( apr_pool_t *p ) { ap_hook_post_config( neko_init, NULL, NULL, APR_HOOK_MIDDLE ); ap_hook_handler( neko_handler, NULL, NULL, APR_HOOK_LAST ); }; module AP_MODULE_DECLARE_DATA neko_module = { STANDARD20_MODULE_STUFF,
} static void interval_limit_register_hooks(apr_pool_t *p) { ap_hook_access_checker(interval_limit_access_checker, NULL, NULL, APR_HOOK_MIDDLE); } static const command_rec interval_limit_cmds[] = { AP_INIT_FLAG("IntervalLimitEngine", set_engine, NULL, OR_FILEINFO, "set \"On\" to enable interval_limit, \"Off\" to disable"), AP_INIT_TAKE1("IntervalLimitCookieName",set_cookie_name, NULL, OR_FILEINFO, "Name of cookie to lookup"), AP_INIT_TAKE1("IntervalLimitMemcachedAddrPort", set_memc_addr, NULL, OR_FILEINFO, "Liste of the memcached address( ip or host adresse(s) and port ':' separated). The addresses are ',' comma separated"), AP_INIT_RAW_ARGS("IntervalLimitRule", set_rule, NULL, OR_FILEINFO, "set an interval limit rule line. multiple rules can be defined."), {NULL} }; /* Dispatch list for API hooks */ module AP_MODULE_DECLARE_DATA interval_limit_module = { STANDARD20_MODULE_STUFF, interval_limit_create_dir_config, /* create per-dir config structures */ NULL, /* merge per-dir config structures */ NULL, /* create per-server config structures */ NULL, /* merge per-server config structures */ interval_limit_cmds, /* table of config file commands */ interval_limit_register_hooks /* register hooks */ }; /*
} else if (add->chain) { conf->chain = add->chain; } else { conf->chain = base->chain; } return conf; } static const command_rec filter_cmds[] = { AP_INIT_TAKE12("FilterDeclare", filter_declare, NULL, OR_OPTIONS, "filter-name [, filter-type]"), /** we don't have a TAKE4, so we have to use RAW_ARGS */ AP_INIT_RAW_ARGS("FilterProvider", filter_provider, NULL, OR_OPTIONS, "filter-name, provider-name, dispatch--criterion, dispatch-match"), AP_INIT_ITERATE("FilterChain", filter_chain, NULL, OR_OPTIONS, "list of filter names with optional [+-=!@]"), AP_INIT_TAKE2("FilterTrace", filter_debug, NULL, RSRC_CONF | ACCESS_CONF, "Debug level"), #ifndef NO_PROTOCOL AP_INIT_TAKE23("FilterProtocol", filter_protocol, NULL, OR_OPTIONS, "filter-name [provider-name] protocol-args"), #endif { NULL } }; module AP_MODULE_DECLARE_DATA filter_module = { STANDARD20_MODULE_STUFF, filter_config, filter_merge,
return scfg; } static const command_rec mag_commands[] = { AP_INIT_FLAG("GssapiSSLonly", mag_ssl_only, NULL, OR_AUTHCFG, "Work only if connection is SSL Secured"), AP_INIT_FLAG("GssapiLocalName", mag_map_to_local, NULL, OR_AUTHCFG, "Translate principals to local names"), AP_INIT_FLAG("GssapiConnectionBound", mag_conn_ctx, NULL, OR_AUTHCFG, "Authentication is bound to the TCP connection"), AP_INIT_FLAG("GssapiSignalPersistentAuth", mag_send_persist, NULL, OR_AUTHCFG, "Send Persitent-Auth header according to connection bound"), AP_INIT_FLAG("GssapiUseSessions", mag_use_sess, NULL, OR_AUTHCFG, "Authentication uses mod_sessions to hold status"), AP_INIT_RAW_ARGS("GssapiSessionKey", mag_sess_key, NULL, OR_AUTHCFG, "Key Used to seal session data."), #ifdef HAVE_CRED_STORE AP_INIT_FLAG("GssapiUseS4U2Proxy", mag_use_s4u2p, NULL, OR_AUTHCFG, "Initializes credentials for s4u2proxy usage"), AP_INIT_ITERATE("GssapiCredStore", mag_cred_store, NULL, OR_AUTHCFG, "Credential Store"), AP_INIT_RAW_ARGS("GssapiDelegCcacheDir", mag_deleg_ccache_dir, NULL, OR_AUTHCFG, "Directory to store delegated credentials"), AP_INIT_FLAG("GssapiDelegCcacheUnique", mag_deleg_ccache_unique, NULL, OR_AUTHCFG, "Use unique ccaches for delgation"), #endif #ifdef HAVE_GSS_ACQUIRE_CRED_WITH_PASSWORD AP_INIT_FLAG("GssapiBasicAuth", mag_use_basic_auth, NULL, OR_AUTHCFG, "Allows use of Basic Auth for authentication"), AP_INIT_ITERATE("GssapiBasicAuthMech", mag_basic_auth_mechs, NULL, OR_AUTHCFG, "Mechanisms to use for basic auth"),
else return "CDNHTMLIgnoreTokenLocation: first argument must be \"before\" or \"after\""; cfg->ignore_token_arg_relative = apr_pstrdup(cmd->pool, arg); return NULL; } static const command_rec cdn_cmds[] = { AP_INIT_ITERATE("CDNHTMLFromServers", set_fromservers, NULL, RSRC_CONF | ACCESS_CONF, "Set server names that will be replaced by CDNHTMLMapServer"), AP_INIT_TAKE1("CDNHTMLToServer", ap_set_string_slot, (void *)APR_OFFSETOF(cdn_conf, to_server), RSRC_CONF | ACCESS_CONF, "Set destination server name for CDNHTMLRemapURLServer"), AP_INIT_RAW_ARGS("CDNHTMLRemapURLServer", set_serverremap, NULL, RSRC_CONF | ACCESS_CONF, "Convert matching URLs to come from a different server"), AP_INIT_ITERATE("CDNHTMLContentType", set_content_type, NULL, RSRC_CONF | ACCESS_CONF, "Declare content types that will be parsed for CDNification as HTML"), AP_INIT_TAKE12("CDNHTMLDocType", set_doctype, NULL, RSRC_CONF|ACCESS_CONF, "(HTML|XHTML) [Legacy]"), AP_INIT_TAKE1("CDNHTMLCharsetDefault", set_charset_default, NULL, RSRC_CONF|ACCESS_CONF, "Set default input/output character set"), AP_INIT_ITERATE("CDNHTMLStartParse", set_skipto, NULL, RSRC_CONF | ACCESS_CONF, "Ignore anything in front of the first of these elements"),