1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-08 15:02:10 +03:00

prefix libapr functions and types with apr_

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@85976 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Doug MacEachern
2000-08-02 05:27:38 +00:00
parent 3ae78ff383
commit 059d8dd212
144 changed files with 4579 additions and 4579 deletions

View File

@@ -77,7 +77,7 @@ struct ap_listen_rec {
/**
* The actual socket
*/
ap_socket_t *sd;
apr_socket_t *sd;
/**
* Is this socket currently active
*/

View File

@@ -104,7 +104,7 @@
* short_score split into parent and child pieces
* os_is_absolute_path
* 19971026 (1.3b3-dev) - custom config hooks in place
* 19980126 (1.3b4-dev) - ap_cpystrn(), table_addn(), table_setn(),
* 19980126 (1.3b4-dev) - apr_cpystrn(), table_addn(), table_setn(),
* table_mergen()
* 19980201 (1.3b4-dev) - construct_url()
* prototype server_rec * -> request_rec *
@@ -132,7 +132,7 @@
* 19980324 (1.3b6-dev) - API_EXPORT(index_of_response)
* 19980413 (1.3b6-dev) - The BIG SYMBOL RENAMING: general ap_ prefix
* (see src/include/compat.h for more details)
* ap_vformatter() API, see src/include/ap.h
* apr_vformatter() API, see src/include/ap.h
* 19980507 (1.3b7-dev) - addition of ap_add_version_component() and
* discontinuation of -DSERVER_SUBVERSION support
* 19980519 (1.3b7-dev) - add child_info * to spawn function (as passed to
@@ -168,7 +168,7 @@
* added limit_req_body to core_dir_config and
* ap_get_limit_req_body() to get its value.
* 19980812 (1.3.2-dev) - split off MODULE_MAGIC_NUMBER
* 19980812.2 - add ap_overlap_tables()
* 19980812.2 - add apr_overlap_tables()
* 19980816 (1.3.2-dev) - change proxy to use tables for headers, change
* struct cache_req to typedef cache_req.
* Delete ap_proxy_get_header(), ap_proxy_add_header(),
@@ -195,7 +195,7 @@
* and added vlist_validator to request_rec.
* 19990101 - renamed macro escape_uri() to ap_escape_uri()
* - added MODULE_MAGIC_COOKIE to identify module structs
* 19990103 (1.3.4-dev) - added ap_array_pstrcat()
* 19990103 (1.3.4-dev) - added apr_array_pstrcat()
* 19990105 (1.3.4-dev) - added ap_os_is_filename_valid()
* 19990106 (1.3.4-dev) - Move MODULE_MAGIC_COOKIE to the end of the
* STANDARD_MODULE_STUFF macro so the version
@@ -205,8 +205,8 @@
* - reordered entries in request_rec that were waiting
* for a non-binary-compatible release.
* (1.3.5-dev)
* 19990108.1 - add ap_MD5Encode() for MD5 password handling.
* 19990108.2 - add ap_validate_password() and change ap_MD5Encode()
* 19990108.1 - add apr_MD5Encode() for MD5 password handling.
* 19990108.2 - add apr_validate_password() and change apr_MD5Encode()
* to use a stronger algorithm.
* 19990108.4 - add ap_size_list_item(), ap_get_list_item(), and
* ap_find_list_item()
@@ -242,13 +242,13 @@
* specified value.
* <PRE>
* Useful for testing for features.
* For example, suppose you wish to use the ap_overlap_tables
* For example, suppose you wish to use the apr_overlap_tables
* function. You can do this:
*
* #if MODULE_MAGIC_AT_LEAST(19980812,2)
* ... use ap_overlap_tables()
* ... use apr_overlap_tables()
* #else
* ... alternative code which doesn't use ap_overlap_tables()
* ... alternative code which doesn't use apr_overlap_tables()
* #endif
* </PRE>
* @param major The major module magic number

View File

@@ -89,7 +89,7 @@
However the MPM may choose to terminate processes when the user
requests a non-graceful restart/stop. When this occurs, the MPM kills
all threads with extreme prejudice, and destroys the pchild pool.
User cleanups registered in the pchild ap_pool_t will be invoked at
User cleanups registered in the pchild apr_pool_t will be invoked at
this point. (This can pose some complications, the user cleanups
are asynchronous behaviour not unlike longjmp/signal... but if the
admin is asking for a non-graceful shutdown, how much effort should
@@ -113,9 +113,9 @@
* @param plog the log pool, reset after the config file is read
* @param server_conf the global server config.
* @return 1 for shutdown 0 otherwise.
* @deffunc int ap_mpm_run(ap_pool_t *pconf, ap_pool_t *plog, server_rec *server_conf)
* @deffunc int ap_mpm_run(apr_pool_t *pconf, apr_pool_t *plog, server_rec *server_conf)
*/
API_EXPORT(int) ap_mpm_run(ap_pool_t *pconf, ap_pool_t *plog, server_rec *server_conf);
API_EXPORT(int) ap_mpm_run(apr_pool_t *pconf, apr_pool_t *plog, server_rec *server_conf);
/**
* predicate indicating if a graceful stop has been requested ...

View File

@@ -294,10 +294,10 @@ struct cmd_parms_struct
ap_directive_t *directive;
/** Pool to allocate new storage in */
ap_pool_t *pool;
apr_pool_t *pool;
/** Pool for scratch memory; persists during configuration, but
* wiped before the first request is served... */
ap_pool_t *temp_pool;
apr_pool_t *temp_pool;
/** Server_rec being configured for */
server_rec *server;
/** If configuring for a directory, pathname of that directory.
@@ -371,35 +371,35 @@ struct module_struct {
* @param p The pool to use for all allocations.
* @param dir The directory currently being processed.
* @return The per-directory structure created
* @deffunc void *create_dir_config(ap_pool_t *p, char *dir)
* @deffunc void *create_dir_config(apr_pool_t *p, char *dir)
*/
void *(*create_dir_config) (ap_pool_t *p, char *dir);
void *(*create_dir_config) (apr_pool_t *p, char *dir);
/** Function to allow all modules to merge the per directory configuration
* structures for two directories.
* @param p The pool to use for all allocations.
* @param base_conf The directory structure created for the parent directory.
* @param new_conf The directory structure currently being processed.
* @return The new per-directory structure created
* @deffunc void *merge_dir_config(ap_pool_t *p, void *base_conf, void *new_conf)
* @deffunc void *merge_dir_config(apr_pool_t *p, void *base_conf, void *new_conf)
*/
void *(*merge_dir_config) (ap_pool_t *p, void *base_conf, void *new_conf);
void *(*merge_dir_config) (apr_pool_t *p, void *base_conf, void *new_conf);
/** Function to allow all modules to create per server configuration
* structures.
* @param p The pool to use for all allocations.
* @param s The server currently being processed.
* @return The per-server structure created
* @deffunc void *create_server_config(ap_pool_t *p, server_rec *dir)
* @deffunc void *create_server_config(apr_pool_t *p, server_rec *dir)
*/
void *(*create_server_config) (ap_pool_t *p, server_rec *s);
void *(*create_server_config) (apr_pool_t *p, server_rec *s);
/** Function to allow all modules to merge the per server configuration
* structures for two servers.
* @param p The pool to use for all allocations.
* @param base_conf The directory structure created for the parent directory.
* @param new_conf The directory structure currently being processed.
* @return The new per-directory structure created
* @deffunc void *merge_dir_config(ap_pool_t *p, void *base_conf, void *new_conf)
* @deffunc void *merge_dir_config(apr_pool_t *p, void *base_conf, void *new_conf)
*/
void *(*merge_server_config) (ap_pool_t *p, void *base_conf, void *new_conf);
void *(*merge_server_config) (apr_pool_t *p, void *base_conf, void *new_conf);
/** A command_rec table that describes all of the directives this module
* defines. */
@@ -518,9 +518,9 @@ API_EXPORT_NONSTD(const char *) ap_set_file_slot(cmd_parms *, char *, const char
* it relativizes it wrt server_root.
* @param p pool to allocate data out of
* @param fname The file name
* @deffunc const char *ap_server_root_relative(ap_pool_t *p, const char *fname)
* @deffunc const char *ap_server_root_relative(apr_pool_t *p, const char *fname)
*/
API_EXPORT(const char *) ap_server_root_relative(ap_pool_t *p, const char *fname);
API_EXPORT(const char *) ap_server_root_relative(apr_pool_t *p, const char *fname);
/* Finally, the hook for dynamically loading modules in... */
@@ -581,13 +581,13 @@ API_EXPORT(const char *) ap_find_module_name(module *m);
API_EXPORT(module *) ap_find_linked_module(const char *name);
/**
* Open a configfile_t as ap_file_t
* Open a configfile_t as apr_file_t
* @param ret_cfg open configfile_t struct pointer
* @param p The pool to allocate the structure out of
* @param name the name of the file to open
* @deffunc ap_status_t ap_pcfg_openfile(configfile_t **ret_cfg, ap_pool_t *p, const char *name)
* @deffunc apr_status_t ap_pcfg_openfile(configfile_t **ret_cfg, apr_pool_t *p, const char *name)
*/
API_EXPORT(ap_status_t) ap_pcfg_openfile(configfile_t **, ap_pool_t *p, const char *name);
API_EXPORT(apr_status_t) ap_pcfg_openfile(configfile_t **, apr_pool_t *p, const char *name);
/**
* Allocate a configfile_t handle with user defined functions and params
@@ -597,9 +597,9 @@ API_EXPORT(ap_status_t) ap_pcfg_openfile(configfile_t **, ap_pool_t *p, const ch
* @param getc_func The getch function
* @param gets_func The getstr function
* @param close_func The close function
* @deffunc configfile_t *ap_pcfg_open_custom(ap_pool_t *p, const char *descr, void *param, int(*getc_func)(void*), void *(*gets_func) (void *buf, size_t bufsiz, void *param), int(*close_func)(void *param))
* @deffunc configfile_t *ap_pcfg_open_custom(apr_pool_t *p, const char *descr, void *param, int(*getc_func)(void*), void *(*gets_func) (void *buf, size_t bufsiz, void *param), int(*close_func)(void *param))
*/
API_EXPORT(configfile_t *) ap_pcfg_open_custom(ap_pool_t *p, const char *descr,
API_EXPORT(configfile_t *) ap_pcfg_open_custom(apr_pool_t *p, const char *descr,
void *param,
int(*getc_func)(void*),
void *(*gets_func) (void *buf, size_t bufsiz, void *param),
@@ -651,9 +651,9 @@ API_EXPORT(const char *) ap_soak_end_container(cmd_parms *cmd, char *directive);
* @param curr_parent The current parent node
* @param orig_directive The directive to read until hit.
* @return Error string on failure, NULL on success
* @deffunc char *ap_build_cont_config(ap_pool_t *p, ap_pool_t *temp_pool, cmd_parms *parms, ap_directive_t **current, ap_directive_t **curr_parent, char *orig_directive)
* @deffunc char *ap_build_cont_config(apr_pool_t *p, apr_pool_t *temp_pool, cmd_parms *parms, ap_directive_t **current, ap_directive_t **curr_parent, char *orig_directive)
*/
const char * ap_build_cont_config(ap_pool_t *p, ap_pool_t *temp_pool,
const char * ap_build_cont_config(apr_pool_t *p, apr_pool_t *temp_pool,
cmd_parms *parms,
ap_directive_t **current,
ap_directive_t **curr_parent,
@@ -666,11 +666,11 @@ const char * ap_build_cont_config(ap_pool_t *p, ap_pool_t *temp_pool,
* @param temp_pool The temporary pool
* @param conftree Place to store the root node of the config tree
* @return Error string on erro, NULL otherwise
* @deffunc const char *ap_build_config(cmd_parms *parms, ap_pool_t *conf_pool, ap_pool_t *temp_pool, ap_directive_t **conftree)
* @deffunc const char *ap_build_config(cmd_parms *parms, apr_pool_t *conf_pool, apr_pool_t *temp_pool, ap_directive_t **conftree)
*/
API_EXPORT(const char *) ap_build_config(cmd_parms *parms,
ap_pool_t *conf_pool,
ap_pool_t *temp_pool,
apr_pool_t *conf_pool,
apr_pool_t *temp_pool,
ap_directive_t **conftree);
/**
@@ -742,7 +742,7 @@ extern API_VAR_EXPORT module **ap_loaded_modules;
* @param s The server to configure for.
* @param m The module to configure
*/
void ap_single_module_configure(ap_pool_t *p, server_rec *s, module *m);
void ap_single_module_configure(apr_pool_t *p, server_rec *s, module *m);
/* For http_main.c... */
/**
@@ -773,9 +773,9 @@ API_EXPORT(void) ap_show_modules(void);
* @param config_name The name of the config file
* @param conftree Place to store the root of the config tree
* @return The setup server_rec list.
* @deffunc server_rec *ap_read_config(process_rec *process, ap_pool_t *temp_pool, const char *config_name, ap_directive_t **conftree)
* @deffunc server_rec *ap_read_config(process_rec *process, apr_pool_t *temp_pool, const char *config_name, ap_directive_t **conftree)
*/
API_EXPORT(server_rec*) ap_read_config(process_rec *process, ap_pool_t *temp_pool, const char *config_name, ap_directive_t **conftree);
API_EXPORT(server_rec*) ap_read_config(process_rec *process, apr_pool_t *temp_pool, const char *config_name, ap_directive_t **conftree);
/**
* Run all post config hooks for loaded modules.
@@ -783,9 +783,9 @@ API_EXPORT(server_rec*) ap_read_config(process_rec *process, ap_pool_t *temp_poo
* @param plog The logging pool
* @param ptemp The temporary pool
* @param s The list of server_rec structures
* @deffunc void ap_post_config_hook(ap_pool_t *pconf, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *s)
* @deffunc void ap_post_config_hook(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
*/
API_EXPORT(void) ap_post_config_hook(ap_pool_t *pconf, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *s);
API_EXPORT(void) ap_post_config_hook(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s);
/**
* Run all rewrite args hooks for loaded modules
@@ -805,9 +805,9 @@ API_EXPORT(void) ap_register_hooks(module *m);
* Setup all virtual hosts
* @param p The pool to allocate out of
* @param main_server The head of the server_rec list
* @deffunc void ap_fixup_virtual_hosts(ap_pool_t *p, server_rec *main_server)
* @deffunc void ap_fixup_virtual_hosts(apr_pool_t *p, server_rec *main_server)
*/
API_EXPORT(void) ap_fixup_virtual_hosts(ap_pool_t *p, server_rec *main_server);
API_EXPORT(void) ap_fixup_virtual_hosts(apr_pool_t *p, server_rec *main_server);
/* For http_request.c... */
@@ -816,15 +816,15 @@ API_EXPORT(void) ap_fixup_virtual_hosts(ap_pool_t *p, server_rec *main_server);
* @param p The pool to allocate the config vector out of
* @return The config vector
*/
void *ap_create_request_config(ap_pool_t *p);
void *ap_create_request_config(apr_pool_t *p);
/**
* Setup the config vector for per dir module configs
* @param p The pool to allocate the config vector out of
* @return The config vector
* @deffunc void *ap_create_per_dir_config(ap_pool_t *p)
* @deffunc void *ap_create_per_dir_config(apr_pool_t *p)
*/
CORE_EXPORT(void *) ap_create_per_dir_config(ap_pool_t *p);
CORE_EXPORT(void *) ap_create_per_dir_config(apr_pool_t *p);
/**
* Run all of the modules merge per dir config functions
@@ -832,7 +832,7 @@ CORE_EXPORT(void *) ap_create_per_dir_config(ap_pool_t *p);
* @param base The base directory config structure
* @param new The new directory config structure
*/
void *ap_merge_per_dir_configs(ap_pool_t *p, void *base, void *new);
void *ap_merge_per_dir_configs(apr_pool_t *p, void *base, void *new);
/* For http_connection.c... */
/**
@@ -840,7 +840,7 @@ void *ap_merge_per_dir_configs(ap_pool_t *p, void *base, void *new);
* @param p The pool to allocate the config vector out of
* @return The config vector
*/
void *ap_create_conn_config(ap_pool_t *p);
void *ap_create_conn_config(apr_pool_t *p);
/* For http_core.c... (<Directory> command and virtual hosts) */
@@ -863,9 +863,9 @@ int ap_parse_htaccess(void **result, request_rec *r, int override,
* @param main_server The main server for this Apache configuration
* @param ps Place to store the new server_rec
* return Error string on error, NULL on success
* @deffunc const char *ap_init_virtual_host(ap_pool_t *p, const char *hostname, server_rec *main_server, server_rec **ps)
* @deffunc const char *ap_init_virtual_host(apr_pool_t *p, const char *hostname, server_rec *main_server, server_rec **ps)
*/
CORE_EXPORT(const char *) ap_init_virtual_host(ap_pool_t *p, const char *hostname,
CORE_EXPORT(const char *) ap_init_virtual_host(apr_pool_t *p, const char *hostname,
server_rec *main_server, server_rec **);
/**
@@ -877,7 +877,7 @@ CORE_EXPORT(const char *) ap_init_virtual_host(ap_pool_t *p, const char *hostnam
* @param ptem Pool for temporary allocation
*/
void ap_process_resource_config(server_rec *s, const char *fname,
ap_directive_t **conftree, ap_pool_t *p, ap_pool_t *ptemp);
ap_directive_t **conftree, apr_pool_t *p, apr_pool_t *ptemp);
/**
* Process all directives in the config tree
@@ -887,7 +887,7 @@ void ap_process_resource_config(server_rec *s, const char *fname,
* @param ptemp The pool for temporary allocations
*/
API_EXPORT(void) ap_process_config_tree(server_rec *s, ap_directive_t *conftree,
ap_pool_t *p, ap_pool_t *ptemp);
apr_pool_t *p, apr_pool_t *ptemp);
/* For individual MPMs... */
@@ -896,7 +896,7 @@ API_EXPORT(void) ap_process_config_tree(server_rec *s, ap_directive_t *conftree,
* @param pchild The pool for child process allocations
* @param s The list of all server_recs
*/
void ap_child_init_hook(ap_pool_t *pchild, server_rec *s);
void ap_child_init_hook(apr_pool_t *pchild, server_rec *s);
/* Module-method dispatchers, also for http_request.c */
/**
@@ -954,10 +954,10 @@ AP_DECLARE_HOOK(int,header_parser,(request_rec *))
* @param pconf The config pool
* @param plog The logging streams pool
* @param ptemp The temporary pool
* @deffunc void ap_run_pre_config(ap_pool_t *pconf,ap_pool_t *plog,ap_pool_t *ptemp)
* @deffunc void ap_run_pre_config(apr_pool_t *pconf,apr_pool_t *plog,apr_pool_t *ptemp)
*/
AP_DECLARE_HOOK(void,pre_config,
(ap_pool_t *pconf,ap_pool_t *plog,ap_pool_t *ptemp))
(apr_pool_t *pconf,apr_pool_t *plog,apr_pool_t *ptemp))
/**
* Run the post_config function for each module
@@ -965,10 +965,10 @@ AP_DECLARE_HOOK(void,pre_config,
* @param plog The logging streams pool
* @param ptemp The temporary pool
* @param s The list of server_recs
* @deffunc void ap_run_post_config(ap_pool_t *pconf,ap_pool_t *plog,ap_pool_t *ptemp, server_rec *s)
* @deffunc void ap_run_post_config(apr_pool_t *pconf,apr_pool_t *plog,apr_pool_t *ptemp, server_rec *s)
*/
AP_DECLARE_HOOK(void,post_config,
(ap_pool_t *pconf,ap_pool_t *plog,ap_pool_t *ptemp,server_rec *s))
(apr_pool_t *pconf,apr_pool_t *plog,apr_pool_t *ptemp,server_rec *s))
/**
* Run the open_logs functions for each module
@@ -976,18 +976,18 @@ AP_DECLARE_HOOK(void,post_config,
* @param plog The logging streams pool
* @param ptemp The temporary pool
* @param s The list of server_recs
* @deffunc void ap_run_open_logs(ap_pool_t *pconf,ap_pool_t *plog,ap_pool_t *ptemp, server_rec *s)
* @deffunc void ap_run_open_logs(apr_pool_t *pconf,apr_pool_t *plog,apr_pool_t *ptemp, server_rec *s)
*/
AP_DECLARE_HOOK(void,open_logs,
(ap_pool_t *pconf,ap_pool_t *plog,ap_pool_t *ptemp,server_rec *s))
(apr_pool_t *pconf,apr_pool_t *plog,apr_pool_t *ptemp,server_rec *s))
/**
* Run the child_init functions for each module
* @param pchild The child pool
* @param s The list of server_recs in this server
* @deffunc void ap_run_child_init(ap_pool_t *pchild, server_rec *s)
* @deffunc void ap_run_child_init(apr_pool_t *pchild, server_rec *s)
*/
AP_DECLARE_HOOK(void,child_init,(ap_pool_t *pchild, server_rec *s))
AP_DECLARE_HOOK(void,child_init,(apr_pool_t *pchild, server_rec *s))
#ifdef __cplusplus
}

View File

@@ -76,7 +76,7 @@ extern "C" {
* @param addr The server's local address
* @param id ID of this connection; unique at any point in time.
*/
conn_rec *ap_new_connection(ap_pool_t *p, server_rec *server, BUFF *inout,
conn_rec *ap_new_connection(apr_pool_t *p, server_rec *server, BUFF *inout,
const struct sockaddr_in *remaddr,
const struct sockaddr_in *saddr, long id);
@@ -89,8 +89,8 @@ conn_rec *ap_new_connection(ap_pool_t *p, server_rec *server, BUFF *inout,
* @param conn_socket The socket we are creating the connection on.
* @param id ID of this connection; unique at any point in time.
*/
conn_rec *ap_new_apr_connection(ap_pool_t *p, server_rec *server, BUFF *inout,
ap_socket_t *conn_socket, long id);
conn_rec *ap_new_apr_connection(apr_pool_t *p, server_rec *server, BUFF *inout,
apr_socket_t *conn_socket, long id);
/**
* This is the protocol module driver. This calls all of the

View File

@@ -131,7 +131,7 @@ API_EXPORT(const char *) ap_get_remote_logname(request_rec *r);
/* Used for constructing self-referencing URLs, and things like SERVER_PORT,
* and SERVER_NAME.
*/
API_EXPORT(char *) ap_construct_url(ap_pool_t *p, const char *uri, request_rec *r);
API_EXPORT(char *) ap_construct_url(apr_pool_t *p, const char *uri, request_rec *r);
API_EXPORT(const char *) ap_get_server_name(request_rec *r);
API_EXPORT(unsigned) ap_get_server_port(const request_rec *r);
API_EXPORT(unsigned long) ap_get_limit_req_body(const request_rec *r);
@@ -155,7 +155,7 @@ typedef struct {
API_EXPORT(const char *) ap_auth_type (request_rec *);
API_EXPORT(const char *) ap_auth_name (request_rec *);
API_EXPORT(int) ap_satisfies (request_rec *r);
API_EXPORT(const ap_array_header_t *) ap_requires (request_rec *);
API_EXPORT(const apr_array_header_t *) ap_requires (request_rec *);
#ifdef WIN32
/*
@@ -218,7 +218,7 @@ typedef struct {
int satisfy;
char *ap_auth_type;
char *ap_auth_name;
ap_array_header_t *ap_requires;
apr_array_header_t *ap_requires;
/* Custom response config. These can contain text or a URL to redirect to.
* if response_code_strings is NULL then there are none in the config,
@@ -279,7 +279,7 @@ typedef struct {
int loglevel;
/* Access control */
ap_array_header_t *sec;
apr_array_header_t *sec;
regex_t *r;
#ifdef WIN32
@@ -306,12 +306,12 @@ typedef struct {
/* Access control */
char *access_name;
ap_array_header_t *sec;
ap_array_header_t *sec_url;
apr_array_header_t *sec;
apr_array_header_t *sec_url;
} core_server_config;
/* for http_config.c */
void ap_core_reorder_directories(ap_pool_t *, server_rec *);
void ap_core_reorder_directories(apr_pool_t *, server_rec *);
/* for mod_perl */
CORE_EXPORT(void) ap_add_per_dir_conf (server_rec *s, void *dir_config);

View File

@@ -118,7 +118,7 @@ extern "C" {
* @param s_main The main server
* @param p The pool to allocate out of
*/
void ap_open_logs (server_rec *s_main, ap_pool_t *p);
void ap_open_logs (server_rec *s_main, apr_pool_t *p);
/*
* The three primary logging functions, ap_log_error, ap_log_rerror, and
@@ -147,10 +147,10 @@ void ap_open_logs (server_rec *s_main, ap_pool_t *p);
* denial-of-service attack and other messy behavior. Instead, use a
* simple format string like "%s", followed by the string containing the
* untrusted data.
* @deffunc void ap_log_error(const char *file, int line, int level, ap_status_t status, const server_rec *s, const char *fmt, ...)
* @deffunc void ap_log_error(const char *file, int line, int level, apr_status_t status, const server_rec *s, const char *fmt, ...)
*/
API_EXPORT(void) ap_log_error(const char *file, int line, int level,
ap_status_t status, const server_rec *s,
apr_status_t status, const server_rec *s,
const char *fmt, ...)
__attribute__((format(printf,6,7)));
@@ -171,10 +171,10 @@ API_EXPORT(void) ap_log_error(const char *file, int line, int level,
* denial-of-service attack and other messy behavior. Instead, use a
* simple format string like "%s", followed by the string containing the
* untrusted data.
* @deffunc void ap_log_error(const char *file, int line, int level, ap_status_t status, ap_pool_t *p, const char *fmt, ...)
* @deffunc void ap_log_error(const char *file, int line, int level, apr_status_t status, apr_pool_t *p, const char *fmt, ...)
*/
API_EXPORT(void) ap_log_perror(const char *file, int line, int level,
ap_status_t status, ap_pool_t *p,
apr_status_t status, apr_pool_t *p,
const char *fmt, ...)
__attribute__((format(printf,6,7)));
@@ -195,10 +195,10 @@ API_EXPORT(void) ap_log_perror(const char *file, int line, int level,
* denial-of-service attack and other messy behavior. Instead, use a
* simple format string like "%s", followed by the string containing the
* untrusted data.
* @deffunc void ap_log_error(const char *file, int line, int level, ap_status_t status, request_rec *s, const char *fmt, ...)
* @deffunc void ap_log_error(const char *file, int line, int level, apr_status_t status, request_rec *s, const char *fmt, ...)
*/
API_EXPORT(void) ap_log_rerror(const char *file, int line, int level,
ap_status_t status, const request_rec *s,
apr_status_t status, const request_rec *s,
const char *fmt, ...)
__attribute__((format(printf,6,7)));
@@ -214,7 +214,7 @@ API_EXPORT(void) ap_error_log2stderr (server_rec *);
* @param p The pool to use for logging
* @param fname The name of the file to log to
*/
void ap_log_pid (ap_pool_t *p, const char *fname);
void ap_log_pid (apr_pool_t *p, const char *fname);
/* These are for legacy code, new code should use ap_log_error,
* or ap_log_rerror.
*/
@@ -234,16 +234,16 @@ typedef struct piped_log piped_log;
*/
struct piped_log {
/** The pool to use for the piped log */
ap_pool_t *p;
apr_pool_t *p;
/** The pipe between the server and the logging process */
ap_file_t *fds[2];
apr_file_t *fds[2];
/* XXX - an #ifdef that needs to be eliminated from public view. Shouldn't
* be hard */
#ifdef HAVE_RELIABLE_PIPED_LOGS
/** The name of the program the logging process is running */
char *program;
/** The pid of the logging process */
ap_proc_t *pid;
apr_proc_t *pid;
#endif
};
@@ -252,9 +252,9 @@ struct piped_log {
* @param p The pool to allocate out of
* @param program The program to run in the logging process
* @return The piped log structure
* @deffunc piped_log *ap_open_piped_log(ap_pool_t *p, const char *program)
* @deffunc piped_log *ap_open_piped_log(apr_pool_t *p, const char *program)
*/
API_EXPORT(piped_log *) ap_open_piped_log (ap_pool_t *p, const char *program);
API_EXPORT(piped_log *) ap_open_piped_log (apr_pool_t *p, const char *program);
/**
* Close the piped log and kill the logging process

View File

@@ -60,7 +60,7 @@
#define APACHE_HTTP_MAIN_H
/* AP_SERVER_BASEARGS is the command argument list parsed by http_main.c
* in ap_getopt() format. Use this for default'ing args that the MPM
* in apr_getopt() format. Use this for default'ing args that the MPM
* can safely ignore and pass on from its rewrite_args() handler.
*/
#define AP_SERVER_BASEARGS "C:c:D:d:f:vVlLth?"
@@ -73,9 +73,9 @@ extern API_VAR_EXPORT const char *ap_server_argv0;
extern API_VAR_EXPORT const char *ap_server_root;
/* for -C, -c and -D switches */
extern API_VAR_EXPORT ap_array_header_t *ap_server_pre_read_config;
extern API_VAR_EXPORT ap_array_header_t *ap_server_post_read_config;
extern API_VAR_EXPORT ap_array_header_t *ap_server_config_defines;
extern API_VAR_EXPORT apr_array_header_t *ap_server_pre_read_config;
extern API_VAR_EXPORT apr_array_header_t *ap_server_post_read_config;
extern API_VAR_EXPORT apr_array_header_t *ap_server_config_defines;
#ifdef __cplusplus
}

View File

@@ -119,7 +119,7 @@ API_EXPORT(void) ap_send_error_response(request_rec *r, int recursive_error);
API_EXPORT(int) ap_set_content_length(request_rec *r, long length);
API_EXPORT(int) ap_set_keepalive(request_rec *r);
API_EXPORT(ap_time_t) ap_rationalize_mtime(request_rec *r, ap_time_t mtime);
API_EXPORT(apr_time_t) ap_rationalize_mtime(request_rec *r, apr_time_t mtime);
API_EXPORT(char *) ap_make_etag(request_rec *r, int force_weak);
API_EXPORT(void) ap_set_etag(request_rec *r);
API_EXPORT(void) ap_set_last_modified(request_rec *r);
@@ -136,13 +136,13 @@ API_EXPORT(int) ap_meets_conditions(request_rec *r);
* (Ditto the send_header stuff).
*/
API_EXPORT(ap_status_t) ap_send_fd(ap_file_t *fd, request_rec *r, ap_off_t offset,
ap_size_t length, ap_size_t *nbytes);
API_EXPORT(apr_status_t) ap_send_fd(apr_file_t *fd, request_rec *r, apr_off_t offset,
apr_size_t length, apr_size_t *nbytes);
API_EXPORT(long) ap_send_fb(BUFF *f, request_rec *r);
API_EXPORT(long) ap_send_fb_length(BUFF *f, request_rec *r, long length);
API_EXPORT(size_t) ap_send_mmap(ap_mmap_t *mm, request_rec *r, size_t offset,
API_EXPORT(size_t) ap_send_mmap(apr_mmap_t *mm, request_rec *r, size_t offset,
size_t length);
/* Hmmm... could macrofy these for now, and maybe forever, though the
@@ -182,8 +182,8 @@ API_EXPORT(int) ap_discard_request_body(request_rec *r);
/* Sending a byterange */
API_EXPORT(int) ap_set_byterange(request_rec *r);
API_EXPORT(int) ap_each_byterange(request_rec *r, ap_off_t *offset,
ap_size_t *length);
API_EXPORT(int) ap_each_byterange(request_rec *r, apr_off_t *offset,
apr_size_t *length);
/* Support for the Basic authentication protocol. Note that there's
* nothing that prevents these from being in mod_auth.c, except that other

View File

@@ -82,7 +82,7 @@ extern "C" {
* (e.g., for includes), a module may call for the request to be run
* by calling run_sub_req. The space allocated to create sub_reqs can be
* reclaimed by calling destroy_sub_req --- be sure to copy anything you care
* about which was allocated in its ap_pool_t elsewhere before doing this.
* about which was allocated in its apr_pool_t elsewhere before doing this.
*/
API_EXPORT(request_rec *) ap_sub_req_lookup_uri(const char *new_file,
@@ -105,7 +105,7 @@ API_EXPORT(void) ap_internal_redirect(const char *new_uri, request_rec *);
API_EXPORT(void) ap_internal_redirect_handler(const char *new_uri, request_rec *);
API_EXPORT(int) ap_some_auth_required(request_rec *r);
API_EXPORT(int) ap_is_initial_req(request_rec *r);
API_EXPORT(void) ap_update_mtime(request_rec *r, ap_time_t dependency_mtime);
API_EXPORT(void) ap_update_mtime(request_rec *r, apr_time_t dependency_mtime);
#ifdef CORE_PRIVATE
/* Function called by main.c to handle first-level request */

View File

@@ -60,13 +60,13 @@ extern "C" {
#endif
/* called before any config is read */
void ap_init_vhost_config(ap_pool_t *p);
void ap_init_vhost_config(apr_pool_t *p);
/* called after the config has been read */
void ap_fini_vhost_config(ap_pool_t *p, server_rec *main_server);
void ap_fini_vhost_config(apr_pool_t *p, server_rec *main_server);
/* handle addresses in <VirtualHost> statement */
const char *ap_parse_vhost_addrs(ap_pool_t *p, const char *hostname, server_rec *s);
const char *ap_parse_vhost_addrs(apr_pool_t *p, const char *hostname, server_rec *s);
/* handle NameVirtualHost directive */
const char *ap_set_name_virtual_host (cmd_parms *cmd, void *dummy,

View File

@@ -366,7 +366,7 @@ extern "C" {
#define APEXIT_CHILDFATAL 0xf
API_EXPORT(const char *) ap_get_server_version(void);
API_EXPORT(void) ap_add_version_component(ap_pool_t *pconf, const char *component);
API_EXPORT(void) ap_add_version_component(apr_pool_t *pconf, const char *component);
API_EXPORT(const char *) ap_get_server_built(void);
/* Numeric release version identifier: MMNNFFRBB: major minor fix final beta
@@ -386,7 +386,7 @@ API_EXPORT(const char *) ap_get_server_built(void);
/* The size of the static array in http_protocol.c for storing
* all of the potential response status-lines (a sparse table).
* A future version should dynamically generate the ap_table_t at startup.
* A future version should dynamically generate the apr_table_t at startup.
*/
#define RESPONSE_CODES 55
@@ -558,15 +558,15 @@ typedef struct request_rec request_rec;
struct ap_rr_xlate {
/* contents are experimental! expect it to change! */
ap_xlate_t *to_net;
apr_xlate_t *to_net;
int to_net_sb; /* whether or not write translation is single-byte-only */
ap_xlate_t *from_net;
apr_xlate_t *from_net;
};
#endif /*APACHE_XLATE*/
struct process_rec {
ap_pool_t *pool; /* Global pool. Please try to cleared on _all_ exits */
ap_pool_t *pconf; /* aka configuration pool, cleared on restarts */
apr_pool_t *pool; /* Global pool. Please try to cleared on _all_ exits */
apr_pool_t *pconf; /* aka configuration pool, cleared on restarts */
int argc;
char *const *argv;
const char *short_name;
@@ -574,7 +574,7 @@ struct process_rec {
struct request_rec {
ap_pool_t *pool;
apr_pool_t *pool;
conn_rec *connection;
server_rec *server;
@@ -602,7 +602,7 @@ struct request_rec {
int proto_num; /* Number version of protocol; 1.1 = 1001 */
const char *hostname; /* Host, as set by full URI or Host: */
ap_time_t request_time; /* When the request started */
apr_time_t request_time; /* When the request started */
const char *status_line; /* Status line, if set by script */
int status; /* In any case */
@@ -638,7 +638,7 @@ struct request_rec {
int sent_bodyct; /* byte count in stream is for body */
long bytes_sent; /* body byte count, for easy access */
ap_time_t mtime; /* Time the resource was last modified */
apr_time_t mtime; /* Time the resource was last modified */
/* HTTP/1.1 connection-level features */
@@ -662,15 +662,15 @@ struct request_rec {
* latter are printed even on error, and persist across internal redirects
* (so the headers printed for ErrorDocument handlers will have them).
*
* The 'notes' ap_table_t is for notes from one module to another, with no
* The 'notes' apr_table_t is for notes from one module to another, with no
* other set purpose in mind...
*/
ap_table_t *headers_in;
ap_table_t *headers_out;
ap_table_t *err_headers_out;
ap_table_t *subprocess_env;
ap_table_t *notes;
apr_table_t *headers_in;
apr_table_t *headers_out;
apr_table_t *err_headers_out;
apr_table_t *subprocess_env;
apr_table_t *notes;
/* content_type, handler, content_encoding, content_language, and all
* content_languages MUST be lowercased strings. They may be pointers
@@ -681,7 +681,7 @@ struct request_rec {
const char *content_encoding;
const char *content_language; /* for back-compat. only -- do not use */
ap_array_header_t *content_languages; /* array of (char*) */
apr_array_header_t *content_languages; /* array of (char*) */
char *vlist_validator; /* variant list validator (if negotiated) */
@@ -702,7 +702,7 @@ struct request_rec {
char *filename;
char *path_info;
char *args; /* QUERY_ARGS, if any */
ap_finfo_t finfo; /* ST_MODE set to zero if no such file */
apr_finfo_t finfo; /* ST_MODE set to zero if no such file */
uri_components parsed_uri; /* components of uri, dismantled */
/* Various other config info which may change with .htaccess files
@@ -725,7 +725,7 @@ struct request_rec {
struct ap_rr_xlate *rrx;
#endif /*APACHE_XLATE*/
struct ap_filter_t *filters;
struct apr_filter_t *filters;
/* Things placed at the end of the record to avoid breaking binary
* compatibility. It would be nice to remember to reorder the entire
@@ -740,7 +740,7 @@ struct request_rec {
struct conn_rec {
ap_pool_t *pool;
apr_pool_t *pool;
server_rec *base_server; /* Physical vhost this conn come in on */
void *vhost_lookup_data; /* used by http_vhost.c */
@@ -776,7 +776,7 @@ struct conn_rec {
long id; /* ID of this connection; unique at any
* point in time */
void *conn_config; /* Notes on *this* connection */
ap_table_t *notes; /* send note from one module to another, must
apr_table_t *notes; /* send note from one module to another, must
* remain valid for all requests on this conn */
};
@@ -790,7 +790,7 @@ struct conn_rec {
typedef struct server_addr_rec server_addr_rec;
struct server_addr_rec {
server_addr_rec *next;
ap_in_addr host_addr; /* The bound address, for this server */
apr_in_addr host_addr; /* The bound address, for this server */
unsigned short host_port; /* The bound port, for this server */
char *virthost; /* The name given in <VirtualHost> */
};
@@ -812,7 +812,7 @@ struct server_rec {
/* Log files --- note that transfer log is now in the modules... */
char *error_fname;
ap_file_t *error_log;
apr_file_t *error_log;
int loglevel;
/* Module-specific configuration for server, and defaults... */
@@ -835,8 +835,8 @@ struct server_rec {
const char *path; /* Pathname for ServerPath */
int pathlen; /* Length of path */
ap_array_header_t *names; /* Normal names for ServerAlias servers */
ap_array_header_t *wild_names; /* Wildcarded names for ServerAlias servers */
apr_array_header_t *names; /* Normal names for ServerAlias servers */
apr_array_header_t *wild_names; /* Wildcarded names for ServerAlias servers */
uid_t server_uid; /* effective user id when calling exec wrapper */
gid_t server_gid; /* effective group id when calling exec wrapper */
@@ -894,69 +894,69 @@ struct server_rec {
/* Time */
API_EXPORT(char *) ap_field_noparam(ap_pool_t *p, const char *intype);
API_EXPORT(char *) ap_ht_time(ap_pool_t *p, ap_time_t t, const char *fmt, int gmt);
API_EXPORT(char *) ap_field_noparam(apr_pool_t *p, const char *intype);
API_EXPORT(char *) ap_ht_time(apr_pool_t *p, apr_time_t t, const char *fmt, int gmt);
/* String handling. The *_nc variants allow you to use non-const char **s as
arguments (unfortunately C won't automatically convert a char ** to a const
char **) */
API_EXPORT(char *) ap_getword(ap_pool_t *p, const char **line, char stop);
API_EXPORT(char *) ap_getword_nc(ap_pool_t *p, char **line, char stop);
API_EXPORT(char *) ap_getword_white(ap_pool_t *p, const char **line);
API_EXPORT(char *) ap_getword_white_nc(ap_pool_t *p, char **line);
API_EXPORT(char *) ap_getword_nulls(ap_pool_t *p, const char **line, char stop);
API_EXPORT(char *) ap_getword_nulls_nc(ap_pool_t *p, char **line, char stop);
API_EXPORT(char *) ap_getword_conf(ap_pool_t *p, const char **line);
API_EXPORT(char *) ap_getword_conf_nc(ap_pool_t *p, char **line);
API_EXPORT(const char *) ap_resolve_env(ap_pool_t *p, const char * word);
API_EXPORT(char *) ap_getword(apr_pool_t *p, const char **line, char stop);
API_EXPORT(char *) ap_getword_nc(apr_pool_t *p, char **line, char stop);
API_EXPORT(char *) ap_getword_white(apr_pool_t *p, const char **line);
API_EXPORT(char *) ap_getword_white_nc(apr_pool_t *p, char **line);
API_EXPORT(char *) ap_getword_nulls(apr_pool_t *p, const char **line, char stop);
API_EXPORT(char *) ap_getword_nulls_nc(apr_pool_t *p, char **line, char stop);
API_EXPORT(char *) ap_getword_conf(apr_pool_t *p, const char **line);
API_EXPORT(char *) ap_getword_conf_nc(apr_pool_t *p, char **line);
API_EXPORT(const char *) ap_resolve_env(apr_pool_t *p, const char * word);
API_EXPORT(const char *) ap_size_list_item(const char **field, int *len);
API_EXPORT(char *) ap_get_list_item(ap_pool_t *p, const char **field);
API_EXPORT(int) ap_find_list_item(ap_pool_t *p, const char *line, const char *tok);
API_EXPORT(char *) ap_get_list_item(apr_pool_t *p, const char **field);
API_EXPORT(int) ap_find_list_item(apr_pool_t *p, const char *line, const char *tok);
API_EXPORT(char *) ap_get_token(ap_pool_t *p, const char **accept_line, int accept_white);
API_EXPORT(int) ap_find_token(ap_pool_t *p, const char *line, const char *tok);
API_EXPORT(int) ap_find_last_token(ap_pool_t *p, const char *line, const char *tok);
API_EXPORT(char *) ap_get_token(apr_pool_t *p, const char **accept_line, int accept_white);
API_EXPORT(int) ap_find_token(apr_pool_t *p, const char *line, const char *tok);
API_EXPORT(int) ap_find_last_token(apr_pool_t *p, const char *line, const char *tok);
API_EXPORT(int) ap_is_url(const char *u);
API_EXPORT(int) ap_unescape_url(char *url);
API_EXPORT(void) ap_no2slash(char *name);
API_EXPORT(void) ap_getparents(char *name);
API_EXPORT(char *) ap_escape_path_segment(ap_pool_t *p, const char *s);
API_EXPORT(char *) ap_os_escape_path(ap_pool_t *p, const char *path, int partial);
API_EXPORT(char *) ap_escape_path_segment(apr_pool_t *p, const char *s);
API_EXPORT(char *) ap_os_escape_path(apr_pool_t *p, const char *path, int partial);
#define ap_escape_uri(ppool,path) ap_os_escape_path(ppool,path,1)
API_EXPORT(char *) ap_escape_html(ap_pool_t *p, const char *s);
API_EXPORT(char *) ap_construct_server(ap_pool_t *p, const char *hostname,
API_EXPORT(char *) ap_escape_html(apr_pool_t *p, const char *s);
API_EXPORT(char *) ap_construct_server(apr_pool_t *p, const char *hostname,
unsigned port, const request_rec *r);
API_EXPORT(char *) ap_escape_shell_cmd(ap_pool_t *p, const char *s);
API_EXPORT(char *) ap_escape_shell_cmd(apr_pool_t *p, const char *s);
API_EXPORT(int) ap_count_dirs(const char *path);
API_EXPORT(char *) ap_make_dirstr_prefix(char *d, const char *s, int n);
API_EXPORT(char *) ap_make_dirstr_parent(ap_pool_t *p, const char *s);
API_EXPORT(char *) ap_make_dirstr_parent(apr_pool_t *p, const char *s);
/* deprecated. The previous two routines are preferred. */
API_EXPORT(char *) ap_make_dirstr(ap_pool_t *a, const char *s, int n);
API_EXPORT(char *) ap_make_full_path(ap_pool_t *a, const char *dir, const char *f);
API_EXPORT(char *) ap_make_dirstr(apr_pool_t *a, const char *s, int n);
API_EXPORT(char *) ap_make_full_path(apr_pool_t *a, const char *dir, const char *f);
API_EXPORT(int) ap_is_matchexp(const char *str);
API_EXPORT(int) ap_strcmp_match(const char *str, const char *exp);
API_EXPORT(int) ap_strcasecmp_match(const char *str, const char *exp);
API_EXPORT(char *) ap_strcasestr(const char *s1, const char *s2);
API_EXPORT(char *) ap_pbase64decode(ap_pool_t *p, const char *bufcoded);
API_EXPORT(char *) ap_pbase64encode(ap_pool_t *p, char *string);
API_EXPORT(char *) ap_uudecode(ap_pool_t *p, const char *bufcoded);
API_EXPORT(char *) ap_uuencode(ap_pool_t *p, char *string);
API_EXPORT(char *) ap_pbase64decode(apr_pool_t *p, const char *bufcoded);
API_EXPORT(char *) ap_pbase64encode(apr_pool_t *p, char *string);
API_EXPORT(char *) ap_uudecode(apr_pool_t *p, const char *bufcoded);
API_EXPORT(char *) ap_uuencode(apr_pool_t *p, char *string);
#include "pcreposix.h"
API_EXPORT(regex_t *) ap_pregcomp(ap_pool_t *p, const char *pattern,
API_EXPORT(regex_t *) ap_pregcomp(apr_pool_t *p, const char *pattern,
int cflags);
API_EXPORT(void) ap_pregfree(ap_pool_t *p, regex_t *reg);
API_EXPORT(void) ap_pregfree(apr_pool_t *p, regex_t *reg);
API_EXPORT(int) ap_regexec(regex_t *preg, const char *string,
size_t nmatch, regmatch_t pmatch[], int eflags);
API_EXPORT(size_t) ap_regerror(int errcode, const regex_t *preg,
char *errbuf, size_t errbuf_size);
API_EXPORT(char *) ap_pregsub(ap_pool_t *p, const char *input, const char *source,
API_EXPORT(char *) ap_pregsub(apr_pool_t *p, const char *input, const char *source,
size_t nmatch, regmatch_t pmatch[]);
API_EXPORT(void) ap_content_type_tolower(char *);
@@ -964,7 +964,7 @@ API_EXPORT(void) ap_str_tolower(char *);
API_EXPORT(int) ap_ind(const char *, char); /* Sigh... */
API_EXPORT(int) ap_rind(const char *, char);
API_EXPORT(char *) ap_escape_quotes (ap_pool_t *p, const char *instring);
API_EXPORT(char *) ap_escape_quotes (apr_pool_t *p, const char *instring);
/* Misc system hackery */
@@ -975,14 +975,14 @@ API_EXPORT(void) ap_chdir_file(const char *file);
API_EXPORT(int) ap_get_max_daemons(void);
#ifdef _OSD_POSIX
extern const char *os_set_account(ap_pool_t *p, const char *account);
extern const char *os_set_account(apr_pool_t *p, const char *account);
extern int os_init_job_environment(server_rec *s, const char *user_name, int one_process);
#endif /* _OSD_POSIX */
char *ap_get_local_host(ap_pool_t *);
char *ap_get_local_host(apr_pool_t *);
unsigned long ap_get_virthost_addr(char *hostname, unsigned short *port);
API_EXPORT(char *) ap_escape_quotes(ap_pool_t *p, const char *instr);
API_EXPORT(char *) ap_escape_quotes(apr_pool_t *p, const char *instr);
/*
* Redefine assert() to something more useful for an Apache...

View File

@@ -79,8 +79,8 @@ extern "C" {
#endif
void ap_reclaim_child_processes(int terminate);
void ap_wait_or_timeout(ap_wait_t *status, ap_proc_t *ret, ap_pool_t *p);
void ap_process_child_status(ap_proc_t *pid, ap_wait_t status);
void ap_wait_or_timeout(ap_wait_t *status, apr_proc_t *ret, apr_pool_t *p);
void ap_process_child_status(apr_proc_t *pid, ap_wait_t status);
#if defined(TCP_NODELAY) && !defined(MPE) && !defined(TPF)
void ap_sock_disable_nagle(int s);
#else

View File

@@ -64,7 +64,7 @@
typedef struct {
long conn_id;
ap_table_t *data;
apr_table_t *data;
} ap_status_table_row_t;
/**
@@ -81,7 +81,7 @@ API_EXPORT(const char *) ap_get_connection_status(long conn_id, const char *key)
* Get an array of current connection IDs.
*
*/
API_EXPORT(ap_array_header_t *) ap_get_connections(ap_pool_t *p);
API_EXPORT(apr_array_header_t *) ap_get_connections(apr_pool_t *p);
/**
* Get an array of keys from a given connection.
@@ -89,7 +89,7 @@ API_EXPORT(ap_array_header_t *) ap_get_connections(ap_pool_t *p);
* conn_id = Connection ID
*
*/
API_EXPORT(ap_array_header_t *) ap_get_connection_keys(ap_pool_t *p,
API_EXPORT(apr_array_header_t *) ap_get_connection_keys(apr_pool_t *p,
long conn_id);
/**
@@ -122,7 +122,7 @@ API_EXPORT(void) ap_reset_connection_status(long conn_id);
* p = context, generally of the request
*
*/
API_EXPORT(ap_array_header_t *) ap_get_status_table(ap_pool_t *p);
API_EXPORT(apr_array_header_t *) ap_get_status_table(apr_pool_t *p);
#endif /* APACHE_SERVER_STATS_H */

View File

@@ -67,8 +67,8 @@ extern "C" {
#include "apr_xlate.h"
extern ap_xlate_t *ap_hdrs_to_ascii, *ap_hdrs_from_ascii;
extern ap_xlate_t *ap_locale_to_ascii, *ap_locale_from_ascii;
extern apr_xlate_t *ap_hdrs_to_ascii, *ap_hdrs_from_ascii;
extern apr_xlate_t *ap_locale_to_ascii, *ap_locale_from_ascii;
/* Save & Restore the current conversion settings
*
@@ -85,7 +85,7 @@ extern ap_xlate_t *ap_locale_to_ascii, *ap_locale_from_ascii;
*/
#define AP_PUSH_INPUTCONVERSION_STATE(_buff, _newx) \
ap_xlate_t *saved_input_xlate; \
apr_xlate_t *saved_input_xlate; \
ap_bgetopt(_buff, BO_RXLATE, &saved_input_xlate); \
ap_bsetopt(_buff, BO_RXLATE, &(_newx))
@@ -93,7 +93,7 @@ extern ap_xlate_t *ap_locale_to_ascii, *ap_locale_from_ascii;
ap_bsetopt(_buff, BO_RXLATE, &saved_input_xlate)
#define AP_PUSH_OUTPUTCONVERSION_STATE(_buff, _newx) \
ap_xlate_t *saved_output_xlate; \
apr_xlate_t *saved_output_xlate; \
ap_bgetopt(_buff, BO_WXLATE, &saved_output_xlate); \
ap_bsetopt(_buff, BO_WXLATE, &(_newx))
@@ -103,8 +103,8 @@ extern ap_xlate_t *ap_locale_to_ascii, *ap_locale_from_ascii;
/* ap_set_content_xlate() is called by Apache core or a module to set
* up character set translation (a.k.a. recoding) for content.
*/
API_EXPORT(ap_status_t) ap_set_content_xlate(request_rec *r, int output,
ap_xlate_t *xlate);
API_EXPORT(apr_status_t) ap_set_content_xlate(request_rec *r, int output,
apr_xlate_t *xlate);
#ifdef __cplusplus
}

View File

@@ -69,10 +69,10 @@ extern "C" {
#include "apr_time.h"
#define BAD_DATE (ap_time_t)0
#define BAD_DATE (apr_time_t)0
API_EXPORT(int) ap_checkmask(const char *data, const char *mask);
API_EXPORT(ap_time_t) ap_parseHTTPdate(const char *date);
API_EXPORT(apr_time_t) ap_parseHTTPdate(const char *date);
#ifdef __cplusplus
}

View File

@@ -68,9 +68,9 @@ extern "C" {
#include "apr_xlate.h"
#include "util_charset.h"
ap_status_t ap_init_ebcdic(ap_pool_t *);
apr_status_t ap_init_ebcdic(apr_pool_t *);
ap_xlate_t *ap_checkconv(struct request_rec *);
apr_xlate_t *ap_checkconv(struct request_rec *);
#ifdef __cplusplus
}

View File

@@ -92,10 +92,10 @@ extern "C" {
*/
/* forward declare the filter type */
typedef struct ap_filter_t ap_filter_t;
typedef struct apr_filter_t apr_filter_t;
/*
* ap_filter_func:
* apr_filter_func:
*
* This function type is used for filter callbacks. It will be passed a
* pointer to "this" filter, and a "bucket" containing the content to be
@@ -114,7 +114,7 @@ typedef struct ap_filter_t ap_filter_t;
* next/prev to insert/remove/replace elements in the bucket list, but
* the types and values of the individual buckets should not be altered.
*/
typedef ap_status_t (*ap_filter_func)();
typedef apr_status_t (*apr_filter_func)();
/*
* ap_filter_type:
@@ -146,7 +146,7 @@ typedef enum {
} ap_filter_type;
/*
* ap_filter_t:
* apr_filter_t:
*
* This is the request-time context structure for an installed filter (in
* the output filter chain). It provides the callback to use for filtering,
@@ -159,13 +159,13 @@ typedef enum {
* the state directly with the request. A callback should not change any of
* the other fields.
*/
struct ap_filter_t {
ap_filter_func filter_func;
struct apr_filter_t {
apr_filter_func filter_func;
void *ctx;
ap_filter_type ftype;
ap_filter_t *next;
apr_filter_t *next;
};
/*
@@ -178,7 +178,7 @@ struct ap_filter_t {
* The filter's callback and type should be passed.
*/
API_EXPORT(void) ap_register_filter(const char *name,
ap_filter_func filter_func,
apr_filter_func filter_func,
ap_filter_type ftype);
/*
@@ -198,9 +198,9 @@ API_EXPORT(void) ap_add_filter(const char *name, void *ctx, request_rec *r);
/*
* Things to do later:
* Add parameters to ap_filter_func type. Those parameters will be something
* Add parameters to apr_filter_func type. Those parameters will be something
* like:
* (request_rec *r, ap_filter_t *filter, ap_data_list *the_data)
* (request_rec *r, apr_filter_t *filter, ap_data_list *the_data)
* obviously, the request_rec is the current request, and the filter
* is the current filter stack. The data_list is a bucket list or
* bucket_brigade, but I am trying to keep this patch neutral. (If this

View File

@@ -65,14 +65,14 @@ extern "C" {
#include "apr_md5.h"
API_EXPORT(char *) ap_md5(ap_pool_t *a, const unsigned char *string);
API_EXPORT(char *) ap_md5_binary(ap_pool_t *a, const unsigned char *buf, int len);
API_EXPORT(char *) ap_md5contextTo64(ap_pool_t *p, ap_md5_ctx_t *context);
API_EXPORT(char *) ap_md5(apr_pool_t *a, const unsigned char *string);
API_EXPORT(char *) ap_md5_binary(apr_pool_t *a, const unsigned char *buf, int len);
API_EXPORT(char *) ap_md5contextTo64(apr_pool_t *p, ap_md5_ctx_t *context);
#ifdef APACHE_XLATE
API_EXPORT(char *) ap_md5digest(ap_pool_t *p, ap_file_t *infile,
ap_xlate_t *xlate);
API_EXPORT(char *) ap_md5digest(apr_pool_t *p, apr_file_t *infile,
apr_xlate_t *xlate);
#else
API_EXPORT(char *) ap_md5digest(ap_pool_t *p, ap_file_t *infile);
API_EXPORT(char *) ap_md5digest(apr_pool_t *p, apr_file_t *infile);
#endif
#ifdef __cplusplus

View File

@@ -71,17 +71,17 @@ extern "C" {
#endif
#endif
API_EXPORT(char **) ap_create_environment(ap_pool_t *p, ap_table_t *t);
API_EXPORT(char **) ap_create_environment(apr_pool_t *p, apr_table_t *t);
API_EXPORT(int) ap_find_path_info(const char *uri, const char *path_info);
API_EXPORT(void) ap_add_cgi_vars(request_rec *r);
API_EXPORT(void) ap_add_common_vars(request_rec *r);
API_EXPORT(int) ap_scan_script_header_err(request_rec *r, ap_file_t *f, char *buffer);
API_EXPORT(int) ap_scan_script_header_err(request_rec *r, apr_file_t *f, char *buffer);
API_EXPORT(int) ap_scan_script_header_err_buff(request_rec *r, BUFF *f,
char *buffer);
API_EXPORT(int) ap_scan_script_header_err_core(request_rec *r, char *buffer,
int (*getsfunc) (char *, int, void *),
void *getsfunc_data);
API_EXPORT(void) ap_send_size(ap_ssize_t size, request_rec *r);
API_EXPORT(void) ap_send_size(apr_ssize_t size, request_rec *r);
#ifdef __cplusplus
}

View File

@@ -114,12 +114,12 @@ typedef struct {
/* util_uri.c */
API_EXPORT(unsigned short) ap_default_port_for_scheme(const char *scheme_str);
API_EXPORT(unsigned short) ap_default_port_for_request(const request_rec *r);
API_EXPORT(struct hostent *) ap_pduphostent(ap_pool_t *p, const struct hostent *hp);
API_EXPORT(struct hostent *) ap_pgethostbyname(ap_pool_t *p, const char *hostname);
API_EXPORT(char *) ap_unparse_uri_components(ap_pool_t *p, const uri_components *uptr,
API_EXPORT(struct hostent *) ap_pduphostent(apr_pool_t *p, const struct hostent *hp);
API_EXPORT(struct hostent *) ap_pgethostbyname(apr_pool_t *p, const char *hostname);
API_EXPORT(char *) ap_unparse_uri_components(apr_pool_t *p, const uri_components *uptr,
unsigned flags);
API_EXPORT(int) ap_parse_uri_components(ap_pool_t *p, const char *uri, uri_components *uptr);
API_EXPORT(int) ap_parse_hostinfo_components(ap_pool_t *p, const char *hostinfo, uri_components *uptr);
API_EXPORT(int) ap_parse_uri_components(apr_pool_t *p, const char *uri, uri_components *uptr);
API_EXPORT(int) ap_parse_hostinfo_components(apr_pool_t *p, const char *hostinfo, uri_components *uptr);
/* called by the core in main() */
API_EXPORT(void) ap_util_uri_init(void);

View File

@@ -80,7 +80,7 @@ typedef struct
ap_text *last;
} ap_text_header;
API_EXPORT(void) ap_text_append(ap_pool_t *p, ap_text_header *hdr,
API_EXPORT(void) ap_text_append(apr_pool_t *p, ap_text_header *hdr,
const char *text);
@@ -186,15 +186,15 @@ typedef struct ap_xml_elem
typedef struct ap_xml_doc
{
ap_xml_elem *root; /* root element */
ap_array_header_t *namespaces; /* array of namespaces used */
apr_array_header_t *namespaces; /* array of namespaces used */
} ap_xml_doc;
API_EXPORT(int) ap_xml_parse_input(request_rec *r, ap_xml_doc **pdoc);
/* Converts an XML element tree to flat text */
API_EXPORT(void) ap_xml_to_text(ap_pool_t *p, const ap_xml_elem *elem,
int style, ap_array_header_t *namespaces,
API_EXPORT(void) ap_xml_to_text(apr_pool_t *p, const ap_xml_elem *elem,
int style, apr_array_header_t *namespaces,
int *ns_map, const char **pbuf, size_t *psize);
/* style argument values: */
@@ -203,17 +203,17 @@ API_EXPORT(void) ap_xml_to_text(ap_pool_t *p, const ap_xml_elem *elem,
#define AP_XML_X2T_LANG_INNER 2 /* xml:lang + inner contents */
#define AP_XML_X2T_FULL_NS_LANG 3 /* FULL + ns defns + xml:lang */
API_EXPORT(const char *) ap_xml_empty_elem(ap_pool_t *p,
API_EXPORT(const char *) ap_xml_empty_elem(apr_pool_t *p,
const ap_xml_elem *elem);
API_EXPORT(const char *) ap_xml_quote_string(ap_pool_t *p, const char *s,
API_EXPORT(const char *) ap_xml_quote_string(apr_pool_t *p, const char *s,
int quotes);
API_EXPORT(void) ap_xml_quote_elem(ap_pool_t *p, ap_xml_elem *elem);
API_EXPORT(void) ap_xml_quote_elem(apr_pool_t *p, ap_xml_elem *elem);
/* manage an array of unique URIs: ap_xml_insert_uri() and AP_XML_URI_ITEM() */
/* return the URI's (existing) index, or insert it and return a new index */
API_EXPORT(int) ap_xml_insert_uri(ap_array_header_t *uri_array,
API_EXPORT(int) ap_xml_insert_uri(apr_array_header_t *uri_array,
const char *uri);
#define AP_XML_GET_URI_ITEM(ary, i) (((const char * const *)(ary)->elts)[i])

View File

@@ -113,22 +113,22 @@ typedef struct {
typedef struct {
int order[METHODS];
ap_array_header_t *allows;
ap_array_header_t *denys;
apr_array_header_t *allows;
apr_array_header_t *denys;
} access_dir_conf;
module MODULE_VAR_EXPORT access_module;
static void *create_access_dir_config(ap_pool_t *p, char *dummy)
static void *create_access_dir_config(apr_pool_t *p, char *dummy)
{
access_dir_conf *conf =
(access_dir_conf *) ap_pcalloc(p, sizeof(access_dir_conf));
(access_dir_conf *) apr_pcalloc(p, sizeof(access_dir_conf));
int i;
for (i = 0; i < METHODS; ++i)
conf->order[i] = DENY_THEN_ALLOW;
conf->allows = ap_make_array(p, 1, sizeof(allowdeny));
conf->denys = ap_make_array(p, 1, sizeof(allowdeny));
conf->allows = apr_make_array(p, 1, sizeof(allowdeny));
conf->denys = apr_make_array(p, 1, sizeof(allowdeny));
return (void *) conf;
}
@@ -167,12 +167,12 @@ static const char *allow_cmd(cmd_parms *cmd, void *dv, const char *from,
access_dir_conf *d = (access_dir_conf *) dv;
allowdeny *a;
char *s;
char *where = ap_pstrdup(cmd->pool, where_c);
char *where = apr_pstrdup(cmd->pool, where_c);
if (strcasecmp(from, "from"))
return "allow and deny must be followed by 'from'";
a = (allowdeny *) ap_push_array(cmd->info ? d->allows : d->denys);
a = (allowdeny *) apr_push_array(cmd->info ? d->allows : d->denys);
a->x.from = where;
a->limited = cmd->limited;
@@ -311,7 +311,7 @@ static int in_domain(const char *domain, const char *what)
return 0;
}
static int find_allowdeny(request_rec *r, ap_array_header_t *a, int method)
static int find_allowdeny(request_rec *r, apr_array_header_t *a, int method)
{
allowdeny *ap = (allowdeny *) a->elts;
int mmask = (1 << method);
@@ -325,7 +325,7 @@ static int find_allowdeny(request_rec *r, ap_array_header_t *a, int method)
switch (ap[i].type) {
case T_ENV:
if (ap_table_get(r->subprocess_env, ap[i].x.from)) {
if (apr_table_get(r->subprocess_env, ap[i].x.from)) {
return 1;
}
break;

View File

@@ -86,10 +86,10 @@ typedef struct auth_config_struct {
int auth_authoritative;
} auth_config_rec;
static void *create_auth_dir_config(ap_pool_t *p, char *d)
static void *create_auth_dir_config(apr_pool_t *p, char *d)
{
auth_config_rec *sec =
(auth_config_rec *) ap_pcalloc(p, sizeof(auth_config_rec));
(auth_config_rec *) apr_pcalloc(p, sizeof(auth_config_rec));
sec->auth_pwfile = NULL; /* just to illustrate the default really */
sec->auth_grpfile = NULL; /* unless you have a broken HP cc */
sec->auth_authoritative = 1; /* keep the fortress secure by default */
@@ -100,7 +100,7 @@ static const char *set_auth_slot(cmd_parms *cmd, void *offset, const char *f,
const char *t)
{
if (t && strcmp(t, "standard"))
return ap_pstrcat(cmd->pool, "Invalid auth file type: ", t, NULL);
return apr_pstrcat(cmd->pool, "Invalid auth file type: ", t, NULL);
return ap_set_file_slot(cmd, offset, f);
}
@@ -128,7 +128,7 @@ static char *get_pw(request_rec *r, char *user, char *auth_pwfile)
configfile_t *f;
char l[MAX_STRING_LEN];
const char *rpw, *w;
ap_status_t status;
apr_status_t status;
if ((status = ap_pcfg_openfile(&f, r->pool, auth_pwfile)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r,
@@ -150,14 +150,14 @@ static char *get_pw(request_rec *r, char *user, char *auth_pwfile)
return NULL;
}
static ap_table_t *groups_for_user(ap_pool_t *p, char *user, char *grpfile)
static apr_table_t *groups_for_user(apr_pool_t *p, char *user, char *grpfile)
{
configfile_t *f;
ap_table_t *grps = ap_make_table(p, 15);
ap_pool_t *sp;
apr_table_t *grps = apr_make_table(p, 15);
apr_pool_t *sp;
char l[MAX_STRING_LEN];
const char *group_name, *ll, *w;
ap_status_t status;
apr_status_t status;
if ((status = ap_pcfg_openfile(&f, p, grpfile)) != APR_SUCCESS) {
/*add? aplog_error(APLOG_MARK, APLOG_ERR, NULL,
@@ -165,26 +165,26 @@ static ap_table_t *groups_for_user(ap_pool_t *p, char *user, char *grpfile)
return NULL;
}
ap_create_pool(&sp, p);
apr_create_pool(&sp, p);
while (!(ap_cfg_getline(l, MAX_STRING_LEN, f))) {
if ((l[0] == '#') || (!l[0]))
continue;
ll = l;
ap_clear_pool(sp);
apr_clear_pool(sp);
group_name = ap_getword(sp, &ll, ':');
while (ll[0]) {
w = ap_getword_conf(sp, &ll);
if (!strcmp(w, user)) {
ap_table_setn(grps, ap_pstrdup(p, group_name), "in");
apr_table_setn(grps, apr_pstrdup(p, group_name), "in");
break;
}
}
}
ap_cfg_closefile(f);
ap_destroy_pool(sp);
apr_destroy_pool(sp);
return grps;
}
@@ -208,7 +208,7 @@ static int authenticate_basic_user(request_rec *r)
(auth_config_rec *) ap_get_module_config(r->per_dir_config, &auth_module);
const char *sent_pw;
char *real_pw;
ap_status_t invalid_pw;
apr_status_t invalid_pw;
int res;
if ((res = ap_get_basic_auth_pw(r, &sent_pw)))
@@ -225,7 +225,7 @@ static int authenticate_basic_user(request_rec *r)
ap_note_basic_auth_failure(r);
return HTTP_UNAUTHORIZED;
}
invalid_pw = ap_validate_password(sent_pw, real_pw);
invalid_pw = apr_validate_password(sent_pw, real_pw);
if (invalid_pw != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, 0, r,
"user %s: authentication failure for \"%s\": "
@@ -248,8 +248,8 @@ static int check_user_access(request_rec *r)
int method_restricted = 0;
register int x;
const char *t, *w;
ap_table_t *grpstatus;
const ap_array_header_t *reqs_arr = ap_requires(r);
apr_table_t *grpstatus;
const apr_array_header_t *reqs_arr = ap_requires(r);
require_line *reqs;
/* BUG FIX: tadc, 11-Nov-1995. If there is no "requires" directive,
@@ -288,7 +288,7 @@ static int check_user_access(request_rec *r)
while (t[0]) {
w = ap_getword_conf(r->pool, &t);
if (ap_table_get(grpstatus, w))
if (apr_table_get(grpstatus, w))
return OK;
}
} else if (sec->auth_authoritative) {
@@ -331,7 +331,7 @@ module MODULE_VAR_EXPORT auth_module =
NULL, /* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server config */
auth_cmds, /* command ap_table_t */
auth_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -117,10 +117,10 @@ typedef struct {
} anon_auth_config_rec;
static void *create_anon_auth_dir_config(ap_pool_t *p, char *d)
static void *create_anon_auth_dir_config(apr_pool_t *p, char *d)
{
anon_auth_config_rec *sec = (anon_auth_config_rec *)
ap_pcalloc(p, sizeof(anon_auth_config_rec));
apr_pcalloc(p, sizeof(anon_auth_config_rec));
if (!sec)
return NULL; /* no memory... */
@@ -181,7 +181,7 @@ static const char *anon_set_string_slots(cmd_parms *cmd,
first = sec->auth_anon_passwords;
if (
(!(sec->auth_anon_passwords = (auth_anon *) ap_palloc(cmd->pool, sizeof(auth_anon)))) ||
(!(sec->auth_anon_passwords = (auth_anon *) apr_palloc(cmd->pool, sizeof(auth_anon)))) ||
(!(sec->auth_anon_passwords->password = arg))
)
return "Failed to claim memory for an anonymous password...";
@@ -302,7 +302,7 @@ module MODULE_VAR_EXPORT auth_anon_module =
NULL, /* dir merger ensure strictness */
NULL, /* server config */
NULL, /* merge server config */
anon_auth_cmds, /* command ap_table_t */
anon_auth_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -119,10 +119,10 @@ typedef struct {
int auth_dbauthoritative;
} db_auth_config_rec;
static void *create_db_auth_dir_config(ap_pool_t *p, char *d)
static void *create_db_auth_dir_config(apr_pool_t *p, char *d)
{
db_auth_config_rec *sec
= (db_auth_config_rec *) ap_pcalloc(p, sizeof(db_auth_config_rec));
= (db_auth_config_rec *) apr_pcalloc(p, sizeof(db_auth_config_rec));
sec->auth_dbpwfile = NULL;
sec->auth_dbgrpfile = NULL;
sec->auth_dbauthoritative = 1; /* fortress is secure by default */
@@ -242,7 +242,7 @@ static char *get_db_pw(request_rec *r, char *user, const char *auth_dbpwfile)
#else
if (!((f->get) (f, &q, &d, 0))) {
#endif
pw = ap_palloc(r->pool, d.size + 1);
pw = apr_palloc(r->pool, d.size + 1);
strncpy(pw, d.data, d.size);
pw[d.size] = '\0'; /* Terminate the string */
}
@@ -291,7 +291,7 @@ static int db_authenticate_basic_user(request_rec *r)
&auth_db_module);
const char *sent_pw;
char *real_pw, *colon_pw;
ap_status_t invalid_pw;
apr_status_t invalid_pw;
int res;
if ((res = ap_get_basic_auth_pw(r, &sent_pw)))
@@ -317,7 +317,7 @@ static int db_authenticate_basic_user(request_rec *r)
*colon_pw = '\0';
}
invalid_pw = ap_validate_password(sent_pw, real_pw);
invalid_pw = apr_validate_password(sent_pw, real_pw);
if (invalid_pw != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, 0, r,
@@ -340,7 +340,7 @@ static int db_check_auth(request_rec *r)
char *user = r->user;
int m = r->method_number;
const ap_array_header_t *reqs_arr = ap_requires(r);
const apr_array_header_t *reqs_arr = ap_requires(r);
require_line *reqs = reqs_arr ? (require_line *) reqs_arr->elts : NULL;
register int x;
@@ -406,7 +406,7 @@ module auth_db_module =
NULL, /* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server config */
db_auth_cmds, /* command ap_table_t */
db_auth_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -105,10 +105,10 @@ typedef struct {
} dbm_auth_config_rec;
static void *create_dbm_auth_dir_config(ap_pool_t *p, char *d)
static void *create_dbm_auth_dir_config(apr_pool_t *p, char *d)
{
dbm_auth_config_rec *sec
= (dbm_auth_config_rec *) ap_pcalloc(p, sizeof(dbm_auth_config_rec));
= (dbm_auth_config_rec *) apr_pcalloc(p, sizeof(dbm_auth_config_rec));
sec->auth_dbmpwfile = NULL;
sec->auth_dbmgrpfile = NULL;
@@ -170,7 +170,7 @@ static char *get_dbm_pw(request_rec *r, char *user, char *auth_dbmpwfile)
d = dbm_fetch(f, q);
if (d.dptr) {
pw = ap_palloc(r->pool, d.dsize + 1);
pw = apr_palloc(r->pool, d.dsize + 1);
strncpy(pw, d.dptr, d.dsize);
pw[d.dsize] = '\0'; /* Terminate the string */
}
@@ -215,7 +215,7 @@ static int dbm_authenticate_basic_user(request_rec *r)
&auth_dbm_module);
const char *sent_pw;
char *real_pw, *colon_pw;
ap_status_t invalid_pw;
apr_status_t invalid_pw;
int res;
if ((res = ap_get_basic_auth_pw(r, &sent_pw)))
@@ -237,7 +237,7 @@ static int dbm_authenticate_basic_user(request_rec *r)
if (colon_pw) {
*colon_pw = '\0';
}
invalid_pw = ap_validate_password(sent_pw, real_pw);
invalid_pw = apr_validate_password(sent_pw, real_pw);
if (invalid_pw != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, 0, r,
"DBM user %s: authentication failure for \"%s\": "
@@ -259,7 +259,7 @@ static int dbm_check_auth(request_rec *r)
char *user = r->user;
int m = r->method_number;
const ap_array_header_t *reqs_arr = ap_requires(r);
const apr_array_header_t *reqs_arr = ap_requires(r);
require_line *reqs = reqs_arr ? (require_line *) reqs_arr->elts : NULL;
register int x;
@@ -326,7 +326,7 @@ module auth_dbm_module =
NULL, /* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server config */
dbm_auth_cmds, /* command ap_table_t */
dbm_auth_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -121,34 +121,34 @@
#include "apr_shmem.h"
#else
/* just provide dummies - the code does run-time checks anyway */
typedef void ap_shmem_t;
typedef void ap_shm_name_t;
typedef void apr_shmem_t;
typedef void apr_shm_name_t;
ap_status_t ap_shm_init(ap_shmem_t **m, ap_size_t reqsize, const char *file, ap_pool_t *cont) {
apr_status_t apr_shm_init(apr_shmem_t **m, apr_size_t reqsize, const char *file, apr_pool_t *cont) {
return APR_ENOTIMPL;
}
ap_status_t ap_shm_destroy(ap_shmem_t *m) {
apr_status_t apr_shm_destroy(apr_shmem_t *m) {
return APR_ENOTIMPL;
}
void *ap_shm_malloc(ap_shmem_t *c, ap_size_t reqsize) {
void *apr_shm_malloc(apr_shmem_t *c, apr_size_t reqsize) {
return NULL;
}
void *ap_shm_calloc(ap_shmem_t *shared, ap_size_t size) {
void *apr_shm_calloc(apr_shmem_t *shared, apr_size_t size) {
return NULL;
}
ap_status_t ap_shm_free(ap_shmem_t *shared, void *free) {
apr_status_t apr_shm_free(apr_shmem_t *shared, void *free) {
return APR_ENOTIMPL;
}
ap_status_t ap_get_shm_name(ap_shmem_t *c, ap_shm_name_t **name) {
apr_status_t apr_get_shm_name(apr_shmem_t *c, apr_shm_name_t **name) {
return APR_ENOTIMPL;
}
ap_status_t ap_set_shm_name(ap_shmem_t *c, ap_shm_name_t *name) {
apr_status_t apr_set_shm_name(apr_shmem_t *c, apr_shm_name_t *name) {
return APR_ENOTIMPL;
}
ap_status_t ap_open_shmem(ap_shmem_t *c) {
apr_status_t apr_open_shmem(apr_shmem_t *c) {
return APR_ENOTIMPL;
}
ap_status_t ap_shm_avail(ap_shmem_t *c, ap_size_t *avail) {
apr_status_t apr_shm_avail(apr_shmem_t *c, apr_size_t *avail) {
return APR_ENOTIMPL;
}
#endif
@@ -163,7 +163,7 @@ typedef struct digest_config_struct {
const char *realm;
const char **qop_list;
AP_SHA1_CTX nonce_ctx;
ap_time_t nonce_lifetime;
apr_time_t nonce_lifetime;
const char *nonce_format;
int check_nc;
const char *algorithm;
@@ -178,7 +178,7 @@ typedef struct digest_config_struct {
#define NEXTNONCE_DELTA (30*AP_USEC_PER_SEC)
#define NONCE_TIME_LEN (((sizeof(ap_time_t)+2)/3)*4)
#define NONCE_TIME_LEN (((sizeof(apr_time_t)+2)/3)*4)
#define NONCE_HASH_LEN (2*SHA_DIGESTSIZE)
#define NONCE_LEN (NONCE_TIME_LEN + NONCE_HASH_LEN)
@@ -223,7 +223,7 @@ typedef struct digest_header_struct {
const char *message_qop;
const char *nonce_count;
/* the following fields are not (directly) from the header */
ap_time_t nonce_time;
apr_time_t nonce_time;
enum hdr_sts auth_hdr_sts;
const char *raw_request_uri;
uri_components *psd_request_uri;
@@ -235,8 +235,8 @@ typedef struct digest_header_struct {
/* (mostly) nonce stuff */
typedef union time_union {
ap_time_t time;
unsigned char arr[sizeof(ap_time_t)];
apr_time_t time;
unsigned char arr[sizeof(apr_time_t)];
} time_rec;
@@ -246,11 +246,11 @@ static int call_cnt = 0;
/* client-list, opaque, and one-time-nonce stuff */
static ap_shmem_t *client_shm = NULL;
static apr_shmem_t *client_shm = NULL;
static unsigned long *opaque_cntr;
static ap_time_t *otn_counter; /* one-time-nonce counter */
static ap_lock_t *client_lock = NULL;
static ap_lock_t *opaque_lock = NULL;
static apr_time_t *otn_counter; /* one-time-nonce counter */
static apr_lock_t *client_lock = NULL;
static apr_lock_t *opaque_lock = NULL;
static char client_lock_name[L_tmpnam];
static char opaque_lock_name[L_tmpnam];
@@ -268,24 +268,24 @@ module MODULE_VAR_EXPORT auth_digest_module;
* initialization code
*/
static ap_status_t cleanup_tables(void *not_used)
static apr_status_t cleanup_tables(void *not_used)
{
ap_log_rerror(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0, NULL,
"Digest: cleaning up shared memory");
fflush(stderr);
if (client_shm) {
ap_shm_destroy(client_shm);
apr_shm_destroy(client_shm);
client_shm = NULL;
}
if (client_lock) {
ap_destroy_lock(client_lock);
apr_destroy_lock(client_lock);
client_lock = NULL;
}
if (opaque_lock) {
ap_destroy_lock(opaque_lock);
apr_destroy_lock(opaque_lock);
opaque_lock = NULL;
}
@@ -294,26 +294,26 @@ static ap_status_t cleanup_tables(void *not_used)
static void initialize_secret(server_rec *s)
{
ap_status_t status;
apr_status_t status;
ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, 0, s,
"Digest: generating secret for digest authentication ...");
/* TODO - make sure this func works (compiles?) on win32 */
status = ap_generate_random_bytes(secret, sizeof(secret));
status = apr_generate_random_bytes(secret, sizeof(secret));
if(!(status == APR_SUCCESS)) {
char buf[120];
ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_CRIT, 0, s,
"Digest: error generating secret: %s",
ap_strerror(status, buf, sizeof(buf)));
apr_strerror(status, buf, sizeof(buf)));
exit(1);
}
ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, 0, s, "Digest: done");
}
static void log_error_and_cleanup(char *msg, ap_status_t sts, server_rec *s)
static void log_error_and_cleanup(char *msg, apr_status_t sts, server_rec *s)
{
ap_log_error(APLOG_MARK, APLOG_ERR, sts, s,
"Digest: %s - all nonce-count checking, one-time nonces, and "
@@ -322,20 +322,20 @@ static void log_error_and_cleanup(char *msg, ap_status_t sts, server_rec *s)
cleanup_tables(NULL);
}
static void initialize_tables(server_rec *s, ap_pool_t *ctx)
static void initialize_tables(server_rec *s, apr_pool_t *ctx)
{
unsigned long idx;
ap_status_t sts;
apr_status_t sts;
/* set up client list */
sts = ap_shm_init(&client_shm, shmem_size, tmpnam(NULL), ctx);
sts = apr_shm_init(&client_shm, shmem_size, tmpnam(NULL), ctx);
if (sts != APR_SUCCESS) {
log_error_and_cleanup("failed to create shared memory segments", sts, s);
return;
}
client_list = ap_shm_malloc(client_shm, sizeof(*client_list) +
client_list = apr_shm_malloc(client_shm, sizeof(*client_list) +
sizeof(client_entry*)*num_buckets);
if (!client_list) {
log_error_and_cleanup("failed to allocate shared memory", -1, s);
@@ -348,7 +348,7 @@ static void initialize_tables(server_rec *s, ap_pool_t *ctx)
client_list->num_entries = 0;
tmpnam(client_lock_name);
sts = ap_create_lock(&client_lock, APR_READWRITE, APR_LOCKALL,
sts = apr_create_lock(&client_lock, APR_READWRITE, APR_LOCKALL,
client_lock_name, ctx);
if (sts != APR_SUCCESS) {
log_error_and_cleanup("failed to create lock", sts, s);
@@ -358,7 +358,7 @@ static void initialize_tables(server_rec *s, ap_pool_t *ctx)
/* setup opaque */
opaque_cntr = ap_shm_malloc(client_shm, sizeof(*opaque_cntr));
opaque_cntr = apr_shm_malloc(client_shm, sizeof(*opaque_cntr));
if (opaque_cntr == NULL) {
log_error_and_cleanup("failed to allocate shared memory", -1, s);
return;
@@ -366,7 +366,7 @@ static void initialize_tables(server_rec *s, ap_pool_t *ctx)
*opaque_cntr = 1UL;
tmpnam(opaque_lock_name);
sts = ap_create_lock(&opaque_lock, APR_MUTEX, APR_LOCKALL,
sts = apr_create_lock(&opaque_lock, APR_MUTEX, APR_LOCKALL,
opaque_lock_name, ctx);
if (sts != APR_SUCCESS) {
log_error_and_cleanup("failed to create lock", sts, s);
@@ -376,7 +376,7 @@ static void initialize_tables(server_rec *s, ap_pool_t *ctx)
/* setup one-time-nonce counter */
otn_counter = ap_shm_malloc(client_shm, sizeof(*otn_counter));
otn_counter = apr_shm_malloc(client_shm, sizeof(*otn_counter));
if (otn_counter == NULL) {
log_error_and_cleanup("failed to allocate shared memory", -1, s);
return;
@@ -389,8 +389,8 @@ static void initialize_tables(server_rec *s, ap_pool_t *ctx)
return;
}
static void initialize_module(ap_pool_t *p, ap_pool_t *plog,
ap_pool_t *ptemp, server_rec *s)
static void initialize_module(apr_pool_t *p, apr_pool_t *plog,
apr_pool_t *ptemp, server_rec *s)
{
/* keep from doing the init more than once at startup, and delay
* the init until the second round
@@ -411,26 +411,26 @@ static void initialize_module(ap_pool_t *p, ap_pool_t *plog,
* configuration changes are ignored, and B) certain optimizations,
* such as only allocating the smallest necessary entry for each
* client, can't be done. However, the alternative is a nightmare:
* we can't call ap_shm_destroy on a graceful restart because there
* we can't call apr_shm_destroy on a graceful restart because there
* will be children using the tables, and we also don't know when the
* last child dies. Therefore we can never clean up the old stuff,
* creating a creeping memory leak.
*/
initialize_tables(s, p);
ap_register_cleanup(p, NULL, cleanup_tables, ap_null_cleanup);
apr_register_cleanup(p, NULL, cleanup_tables, apr_null_cleanup);
#endif /* APR_HAS_SHARED_MEMORY */
}
static void initialize_child(ap_pool_t *p, server_rec *s)
static void initialize_child(apr_pool_t *p, server_rec *s)
{
ap_status_t sts;
apr_status_t sts;
if (!client_shm)
return;
if ((sts = ap_child_init_lock(&client_lock, client_lock_name, p))
if ((sts = apr_child_init_lock(&client_lock, client_lock_name, p))
!= APR_SUCCESS
|| (sts = ap_child_init_lock(&opaque_lock, opaque_lock_name, p))
|| (sts = apr_child_init_lock(&opaque_lock, opaque_lock_name, p))
!= APR_SUCCESS) {
log_error_and_cleanup("failed to create lock", sts, s);
return;
@@ -441,18 +441,18 @@ static void initialize_child(ap_pool_t *p, server_rec *s)
* configuration code
*/
static void *create_digest_dir_config(ap_pool_t *p, char *dir)
static void *create_digest_dir_config(apr_pool_t *p, char *dir)
{
digest_config_rec *conf;
if (dir == NULL) return NULL;
conf = (digest_config_rec *) ap_pcalloc(p, sizeof(digest_config_rec));
conf = (digest_config_rec *) apr_pcalloc(p, sizeof(digest_config_rec));
if (conf) {
conf->qop_list = ap_palloc(p, sizeof(char*));
conf->qop_list = apr_palloc(p, sizeof(char*));
conf->qop_list[0] = NULL;
conf->nonce_lifetime = DFLT_NONCE_LIFE;
conf->dir_name = ap_pstrdup(p, dir);
conf->dir_name = apr_pstrdup(p, dir);
conf->algorithm = DFLT_ALGORITHM;
}
@@ -504,7 +504,7 @@ static const char *set_qop(cmd_parms *cmd, void *config, const char *op)
if (!strcasecmp(op, "none")) {
if (conf->qop_list[0] == NULL) {
conf->qop_list = ap_palloc(cmd->pool, 2 * sizeof(char*));
conf->qop_list = apr_palloc(cmd->pool, 2 * sizeof(char*));
conf->qop_list[1] = NULL;
}
conf->qop_list[0] = "none";
@@ -516,13 +516,13 @@ static const char *set_qop(cmd_parms *cmd, void *config, const char *op)
"Digest: WARNING: qop `auth-int' currently only works "
"correctly for responses with no entity");
else if (strcasecmp(op, "auth"))
return ap_pstrcat(cmd->pool, "Unrecognized qop: ", op, NULL);
return apr_pstrcat(cmd->pool, "Unrecognized qop: ", op, NULL);
for (cnt=0; conf->qop_list[cnt] != NULL; cnt++)
;
tmp = ap_palloc(cmd->pool, (cnt+2)*sizeof(char*));
tmp = apr_palloc(cmd->pool, (cnt+2)*sizeof(char*));
memcpy(tmp, conf->qop_list, cnt*sizeof(char*));
tmp[cnt] = ap_pstrdup(cmd->pool, op);
tmp[cnt] = apr_pstrdup(cmd->pool, op);
tmp[cnt+1] = NULL;
conf->qop_list = tmp;
@@ -537,7 +537,7 @@ static const char *set_nonce_lifetime(cmd_parms *cmd, void *config,
lifetime = strtol(t, &endptr, 10);
if (endptr < (t+strlen(t)) && !ap_isspace(*endptr))
return ap_pstrcat(cmd->pool, "Invalid time in AuthDigestNonceLifetime: ", t, NULL);
return apr_pstrcat(cmd->pool, "Invalid time in AuthDigestNonceLifetime: ", t, NULL);
((digest_config_rec *) config)->nonce_lifetime = lifetime * AP_USEC_PER_SEC;
return NULL;
@@ -574,7 +574,7 @@ static const char *set_algorithm(cmd_parms *cmd, void *config, const char *alg)
}
}
else if (strcasecmp(alg, "MD5"))
return ap_pstrcat(cmd->pool, "Invalid algorithm in AuthDigestAlgorithm: ", alg, NULL);
return apr_pstrcat(cmd->pool, "Invalid algorithm in AuthDigestAlgorithm: ", alg, NULL);
((digest_config_rec *) config)->algorithm = alg;
return NULL;
@@ -585,10 +585,10 @@ static const char *set_uri_list(cmd_parms *cmd, void *config, const char *uri)
digest_config_rec *c = (digest_config_rec *) config;
if (c->uri_list) {
c->uri_list[strlen(c->uri_list)-1] = '\0';
c->uri_list = ap_pstrcat(cmd->pool, c->uri_list, " ", uri, "\"", NULL);
c->uri_list = apr_pstrcat(cmd->pool, c->uri_list, " ", uri, "\"", NULL);
}
else
c->uri_list = ap_pstrcat(cmd->pool, ", domain=\"", uri, "\"", NULL);
c->uri_list = apr_pstrcat(cmd->pool, ", domain=\"", uri, "\"", NULL);
return NULL;
}
@@ -607,12 +607,12 @@ static const char *set_shmem_size(cmd_parms *cmd, void *config,
else if (*endptr == 'm' || *endptr == 'M')
size *= 1048576;
else
return ap_pstrcat(cmd->pool, "Invalid size in AuthDigestShmemSize: ",
return apr_pstrcat(cmd->pool, "Invalid size in AuthDigestShmemSize: ",
size_str, NULL);
min = sizeof(*client_list) + sizeof(client_entry*) + sizeof(client_entry);
if (size < min)
return ap_psprintf(cmd->pool, "size in AuthDigestShmemSize too small: "
return apr_psprintf(cmd->pool, "size in AuthDigestShmemSize too small: "
"%ld < %ld", size, min, NULL);
shmem_size = size;
@@ -720,7 +720,7 @@ static client_entry *get_client(unsigned long key, const request_rec *r)
bucket = key % client_list->tbl_len;
entry = client_list->table[bucket];
ap_lock(client_lock /*, MM_LOCK_RD */);
apr_lock(client_lock /*, MM_LOCK_RD */);
while(entry && key != entry->key) {
prev = entry;
@@ -733,7 +733,7 @@ static client_entry *get_client(unsigned long key, const request_rec *r)
client_list->table[bucket] = entry;
}
ap_unlock(client_lock);
apr_unlock(client_lock);
if (entry)
ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_DEBUG, 0, r,
@@ -767,7 +767,7 @@ static long gc(void)
if (prev) prev->next = NULL; /* cut list */
else client_list->table[idx] = NULL;
if (entry) { /* remove entry */
ap_shm_free(client_shm, entry);
apr_shm_free(client_shm, entry);
num_removed++;
}
}
@@ -797,11 +797,11 @@ static client_entry *add_client(unsigned long key, client_entry *info,
bucket = key % client_list->tbl_len;
entry = client_list->table[bucket];
ap_lock(client_lock /*, MM_LOCK_RW */);
apr_lock(client_lock /*, MM_LOCK_RW */);
/* try to allocate a new entry */
entry = ap_shm_malloc(client_shm, sizeof(client_entry));
entry = apr_shm_malloc(client_shm, sizeof(client_entry));
if (!entry) {
long num_removed = gc();
ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, 0, s,
@@ -810,7 +810,7 @@ static client_entry *add_client(unsigned long key, client_entry *info,
"%ld", num_removed,
client_list->num_created - client_list->num_renewed,
client_list->num_removed, client_list->num_renewed);
entry = ap_shm_malloc(client_shm, sizeof(client_entry));
entry = apr_shm_malloc(client_shm, sizeof(client_entry));
if (!entry) return NULL; /* give up */
}
@@ -823,7 +823,7 @@ static client_entry *add_client(unsigned long key, client_entry *info,
client_list->num_created++;
client_list->num_entries++;
ap_unlock(client_lock);
apr_unlock(client_lock);
ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_DEBUG, 0, s,
"allocated new client %lu", key);
@@ -844,7 +844,7 @@ static int get_digest_rec(request_rec *r, digest_header_rec *resp)
int vk = 0, vv = 0;
char *key, *value;
auth_line = ap_table_get(r->headers_in,
auth_line = apr_table_get(r->headers_in,
r->proxyreq ? "Proxy-Authorization"
: "Authorization");
if (!auth_line) {
@@ -860,8 +860,8 @@ static int get_digest_rec(request_rec *r, digest_header_rec *resp)
l = strlen(auth_line);
key = ap_palloc(r->pool, l+1);
value = ap_palloc(r->pool, l+1);
key = apr_palloc(r->pool, l+1);
value = apr_palloc(r->pool, l+1);
while (auth_line[0] != '\0') {
@@ -903,25 +903,25 @@ static int get_digest_rec(request_rec *r, digest_header_rec *resp)
if (auth_line[0] != '\0') auth_line++;
if (!strcasecmp(key, "username"))
resp->username = ap_pstrdup(r->pool, value);
resp->username = apr_pstrdup(r->pool, value);
else if (!strcasecmp(key, "realm"))
resp->realm = ap_pstrdup(r->pool, value);
resp->realm = apr_pstrdup(r->pool, value);
else if (!strcasecmp(key, "nonce"))
resp->nonce = ap_pstrdup(r->pool, value);
resp->nonce = apr_pstrdup(r->pool, value);
else if (!strcasecmp(key, "uri"))
resp->uri = ap_pstrdup(r->pool, value);
resp->uri = apr_pstrdup(r->pool, value);
else if (!strcasecmp(key, "response"))
resp->digest = ap_pstrdup(r->pool, value);
resp->digest = apr_pstrdup(r->pool, value);
else if (!strcasecmp(key, "algorithm"))
resp->algorithm = ap_pstrdup(r->pool, value);
resp->algorithm = apr_pstrdup(r->pool, value);
else if (!strcasecmp(key, "cnonce"))
resp->cnonce = ap_pstrdup(r->pool, value);
resp->cnonce = apr_pstrdup(r->pool, value);
else if (!strcasecmp(key, "opaque"))
resp->opaque = ap_pstrdup(r->pool, value);
resp->opaque = apr_pstrdup(r->pool, value);
else if (!strcasecmp(key, "qop"))
resp->message_qop = ap_pstrdup(r->pool, value);
resp->message_qop = apr_pstrdup(r->pool, value);
else if (!strcasecmp(key, "nc"))
resp->nonce_count = ap_pstrdup(r->pool, value);
resp->nonce_count = apr_pstrdup(r->pool, value);
}
if (!resp->username || !resp->realm || !resp->nonce || !resp->uri
@@ -958,7 +958,7 @@ static int parse_hdr_and_update_nc(request_rec *r)
if (!ap_is_initial_req(r))
return DECLINED;
resp = ap_pcalloc(r->pool, sizeof(digest_header_rec));
resp = apr_pcalloc(r->pool, sizeof(digest_header_rec));
resp->raw_request_uri = r->unparsed_uri;
resp->psd_request_uri = &r->parsed_uri;
resp->needed_auth = 0;
@@ -1013,11 +1013,11 @@ static void gen_nonce_hash(char *hash, const char *timestr, const char *opaque,
/* The nonce has the format b64(time)+hash .
*/
static const char *gen_nonce(ap_pool_t *p, ap_time_t now, const char *opaque,
static const char *gen_nonce(apr_pool_t *p, apr_time_t now, const char *opaque,
const server_rec *server,
const digest_config_rec *conf)
{
char *nonce = ap_palloc(p, NONCE_LEN+1);
char *nonce = apr_palloc(p, NONCE_LEN+1);
int len;
time_rec t;
@@ -1052,9 +1052,9 @@ static client_entry *gen_client(const request_rec *r)
if (!opaque_cntr) return NULL;
ap_lock(opaque_lock /*, MM_LOCK_RW */);
apr_lock(opaque_lock /*, MM_LOCK_RW */);
op = (*opaque_cntr)++;
ap_unlock(opaque_lock);
apr_unlock(opaque_lock);
if (!(entry = add_client(op, &new_entry, r->server))) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
@@ -1081,9 +1081,9 @@ static client_entry *gen_client(const request_rec *r)
* generated and is expected to return the equivalent of
*
* h_urp = ap_md5(r->pool,
* ap_pstrcat(r->pool, username, ":", ap_auth_name(r), ":", passwd))
* apr_pstrcat(r->pool, username, ":", ap_auth_name(r), ":", passwd))
* ap_md5(r->pool,
* (unsigned char *) ap_pstrcat(r->pool, h_urp, ":", resp->nonce, ":",
* (unsigned char *) apr_pstrcat(r->pool, h_urp, ":", resp->nonce, ":",
* resp->cnonce, NULL));
*
* or put differently, it must return
@@ -1105,7 +1105,7 @@ static const char *get_userpw_hash(const request_rec *r,
const digest_config_rec *conf)
{
return ap_md5(r->pool,
(unsigned char *) ap_pstrcat(r->pool, conf->ha1, ":", resp->nonce,
(unsigned char *) apr_pstrcat(r->pool, conf->ha1, ":", resp->nonce,
":", resp->cnonce, NULL));
}
@@ -1153,7 +1153,7 @@ static void clear_session(const digest_header_rec *resp)
* Authorization challenge generation code (for WWW-Authenticate)
*/
static const char *guess_domain(ap_pool_t *p, const char *uri,
static const char *guess_domain(apr_pool_t *p, const char *uri,
const char *filename, const char *dir)
{
size_t u_len = strlen(uri), f_len = strlen(filename), d_len = strlen(dir);
@@ -1209,7 +1209,7 @@ static const char *guess_domain(ap_pool_t *p, const char *uri,
* take the uri with the same reach.
*/
if ((unsigned long) (f-filename) < d_len) {
char *tmp = ap_pstrdup(p, uri);
char *tmp = apr_pstrdup(p, uri);
tmp[(u-uri)+(d_len-(f-filename))] = '\0';
return tmp;
}
@@ -1218,10 +1218,10 @@ static const char *guess_domain(ap_pool_t *p, const char *uri,
}
static const char *ltox(ap_pool_t *p, unsigned long num)
static const char *ltox(apr_pool_t *p, unsigned long num)
{
if (num != 0)
return ap_psprintf(p, "%lx", num);
return apr_psprintf(p, "%lx", num);
else
return "";
}
@@ -1240,10 +1240,10 @@ static void note_digest_auth_failure(request_rec *r,
} else if (!strcasecmp(conf->qop_list[0], "none")) {
qop = "";
} else {
qop = ap_pstrcat(r->pool, ", qop=\"", conf->qop_list[0], NULL);
qop = apr_pstrcat(r->pool, ", qop=\"", conf->qop_list[0], NULL);
for (cnt=1; conf->qop_list[cnt] != NULL; cnt++)
qop = ap_pstrcat(r->pool, qop, ",", conf->qop_list[cnt], NULL);
qop = ap_pstrcat(r->pool, qop, "\"", NULL);
qop = apr_pstrcat(r->pool, qop, ",", conf->qop_list[cnt], NULL);
qop = apr_pstrcat(r->pool, qop, "\"", NULL);
}
/* Setup opaque */
@@ -1275,7 +1275,7 @@ static void note_digest_auth_failure(request_rec *r,
}
if (opaque[0])
opaque_param = ap_pstrcat(r->pool, ", opaque=\"", opaque, "\"", NULL);
opaque_param = apr_pstrcat(r->pool, ", opaque=\"", opaque, "\"", NULL);
else
opaque_param = NULL;
@@ -1309,12 +1309,12 @@ static void note_digest_auth_failure(request_rec *r,
if (domain[0] == '/' && domain[1] == '\0')
domain = NULL; /* "/" is the default, so no need to send it */
else
domain = ap_pstrcat(r->pool, ", domain=\"", domain, "\"", NULL);
domain = apr_pstrcat(r->pool, ", domain=\"", domain, "\"", NULL);
}
ap_table_mergen(r->err_headers_out,
apr_table_mergen(r->err_headers_out,
r->proxyreq ? "Proxy-Authenticate" : "WWW-Authenticate",
ap_psprintf(r->pool, "Digest realm=\"%s\", nonce=\"%s\", "
apr_psprintf(r->pool, "Digest realm=\"%s\", nonce=\"%s\", "
"algorithm=%s%s%s%s%s",
ap_auth_name(r), nonce, conf->algorithm,
opaque_param ? opaque_param : "",
@@ -1335,7 +1335,7 @@ static const char *get_hash(request_rec *r, const char *user,
char l[MAX_STRING_LEN];
const char *rpw;
char *w, *x;
ap_status_t sts;
apr_status_t sts;
if ((sts = ap_pcfg_openfile(&f, r->pool, auth_pwfile)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, errno, r,
@@ -1351,7 +1351,7 @@ static const char *get_hash(request_rec *r, const char *user,
if (x && w && !strcmp(user, w) && !strcmp(realm, x)) {
ap_cfg_closefile(f);
return ap_pstrdup(r->pool, rpw);
return apr_pstrdup(r->pool, rpw);
}
}
ap_cfg_closefile(f);
@@ -1461,10 +1461,10 @@ static const char *old_digest(const request_rec *r,
{
const char *ha2;
ha2 = ap_md5(r->pool, (unsigned char *)ap_pstrcat(r->pool, r->method, ":",
ha2 = ap_md5(r->pool, (unsigned char *)apr_pstrcat(r->pool, r->method, ":",
resp->uri, NULL));
return ap_md5(r->pool,
(unsigned char *)ap_pstrcat(r->pool, ha1, ":", resp->nonce,
(unsigned char *)apr_pstrcat(r->pool, ha1, ":", resp->nonce,
":", ha2, NULL));
}
@@ -1484,14 +1484,14 @@ static const char *new_digest(const request_rec *r,
ha1 = conf->ha1;
if (resp->message_qop && !strcasecmp(resp->message_qop, "auth-int"))
a2 = ap_pstrcat(r->pool, r->method, ":", resp->uri, ":",
a2 = apr_pstrcat(r->pool, r->method, ":", resp->uri, ":",
ap_md5(r->pool, (const unsigned char*) ""), NULL); /* TBD */
else
a2 = ap_pstrcat(r->pool, r->method, ":", resp->uri, NULL);
a2 = apr_pstrcat(r->pool, r->method, ":", resp->uri, NULL);
ha2 = ap_md5(r->pool, (const unsigned char *)a2);
return ap_md5(r->pool,
(unsigned char *)ap_pstrcat(r->pool, ha1, ":", resp->nonce,
(unsigned char *)apr_pstrcat(r->pool, ha1, ":", resp->nonce,
":", resp->nonce_count, ":",
resp->cnonce, ":",
resp->message_qop, ":", ha2,
@@ -1507,7 +1507,7 @@ static void copy_uri_components(uri_components *dst, uri_components *src,
dst->scheme = (char *) "http";
if (src->hostname && src->hostname[0] != '\0') {
dst->hostname = ap_pstrdup(r->pool, src->hostname);
dst->hostname = apr_pstrdup(r->pool, src->hostname);
ap_unescape_url(dst->hostname);
}
else
@@ -1519,14 +1519,14 @@ static void copy_uri_components(uri_components *dst, uri_components *src,
dst->port = ap_get_server_port(r);
if (src->path && src->path[0] != '\0') {
dst->path = ap_pstrdup(r->pool, src->path);
dst->path = apr_pstrdup(r->pool, src->path);
ap_unescape_url(dst->path);
}
else
dst->path = src->path;
if (src->query && src->query[0] != '\0') {
dst->query = ap_pstrdup(r->pool, src->query);
dst->query = apr_pstrdup(r->pool, src->query);
ap_unescape_url(dst->query);
}
else
@@ -1763,15 +1763,15 @@ static int authenticate_digest_user(request_rec *r)
* Checking ID
*/
static ap_table_t *groups_for_user(request_rec *r, const char *user,
static apr_table_t *groups_for_user(request_rec *r, const char *user,
const char *grpfile)
{
configfile_t *f;
ap_table_t *grps = ap_make_table(r->pool, 15);
ap_pool_t *sp;
apr_table_t *grps = apr_make_table(r->pool, 15);
apr_pool_t *sp;
char l[MAX_STRING_LEN];
const char *group_name, *ll, *w;
ap_status_t sts;
apr_status_t sts;
if ((sts = ap_pcfg_openfile(&f, r->pool, grpfile)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, errno, r,
@@ -1779,28 +1779,28 @@ static ap_table_t *groups_for_user(request_rec *r, const char *user,
return NULL;
}
if (ap_create_pool(&sp, r->pool) != APR_SUCCESS)
if (apr_create_pool(&sp, r->pool) != APR_SUCCESS)
return NULL;
while (!(ap_cfg_getline(l, MAX_STRING_LEN, f))) {
if ((l[0] == '#') || (!l[0]))
continue;
ll = l;
ap_clear_pool(sp);
apr_clear_pool(sp);
group_name = ap_getword(sp, &ll, ':');
while (ll[0]) {
w = ap_getword_conf(sp, &ll);
if (!strcmp(w, user)) {
ap_table_setn(grps, ap_pstrdup(r->pool, group_name), "in");
apr_table_setn(grps, apr_pstrdup(r->pool, group_name), "in");
break;
}
}
}
ap_cfg_closefile(f);
ap_destroy_pool(sp);
apr_destroy_pool(sp);
return grps;
}
@@ -1815,8 +1815,8 @@ static int digest_check_auth(request_rec *r)
int method_restricted = 0;
register int x;
const char *t, *w;
ap_table_t *grpstatus;
const ap_array_header_t *reqs_arr;
apr_table_t *grpstatus;
const apr_array_header_t *reqs_arr;
require_line *reqs;
if (!(t = ap_auth_type(r)) || strcasecmp(t, "Digest"))
@@ -1858,7 +1858,7 @@ static int digest_check_auth(request_rec *r)
while (t[0]) {
w = ap_getword_conf(r->pool, &t);
if (ap_table_get(grpstatus, w))
if (apr_table_get(grpstatus, w))
return OK;
}
}
@@ -1890,9 +1890,9 @@ static int digest_check_auth(request_rec *r)
*/
#ifdef SEND_DIGEST
static const char *hdr(const ap_table_t *tbl, const char *name)
static const char *hdr(const apr_table_t *tbl, const char *name)
{
const char *val = ap_table_get(tbl, name);
const char *val = apr_table_get(tbl, name);
if (val)
return val;
else
@@ -1929,22 +1929,22 @@ static int add_auth_info(request_rec *r)
* calc the entity hash) it's best to just leave this #def'd out.
*/
char date[AP_RFC822_DATE_LEN];
ap_rfc822_date(date, r->request_time);
apr_rfc822_date(date, r->request_time);
char *entity_info =
ap_md5(r->pool,
(unsigned char *) ap_pstrcat(r->pool, resp->raw_request_uri,
(unsigned char *) apr_pstrcat(r->pool, resp->raw_request_uri,
":",
r->content_type ? r->content_type : ap_default_type(r), ":",
hdr(r->headers_out, "Content-Length"), ":",
r->content_encoding ? r->content_encoding : "", ":",
hdr(r->headers_out, "Last-Modified"), ":",
r->no_cache && !ap_table_get(r->headers_out, "Expires") ?
r->no_cache && !apr_table_get(r->headers_out, "Expires") ?
date :
hdr(r->headers_out, "Expires"),
NULL));
digest =
ap_md5(r->pool,
(unsigned char *)ap_pstrcat(r->pool, conf->ha1, ":",
(unsigned char *)apr_pstrcat(r->pool, conf->ha1, ":",
resp->nonce, ":",
r->method, ":",
date, ":",
@@ -1960,7 +1960,7 @@ static int add_auth_info(request_rec *r)
if (conf->nonce_lifetime > 0) {
/* send nextnonce if current nonce will expire in less than 30 secs */
if ((r->request_time - resp->nonce_time) > (conf->nonce_lifetime-NEXTNONCE_DELTA)) {
nextnonce = ap_pstrcat(r->pool, ", nextnonce=\"",
nextnonce = apr_pstrcat(r->pool, ", nextnonce=\"",
gen_nonce(r->pool, r->request_time,
resp->opaque, r->server, conf),
"\"", NULL);
@@ -1971,7 +1971,7 @@ static int add_auth_info(request_rec *r)
else if (conf->nonce_lifetime == 0 && resp->client) {
const char *nonce = gen_nonce(r->pool, 0, resp->opaque, r->server,
conf);
nextnonce = ap_pstrcat(r->pool, ", nextnonce=\"", nonce, "\"", NULL);
nextnonce = apr_pstrcat(r->pool, ", nextnonce=\"", nonce, "\"", NULL);
memcpy(resp->client->last_nonce, nonce, NONCE_LEN+1);
}
/* else nonce never expires, hence no nextnonce */
@@ -1983,7 +1983,7 @@ static int add_auth_info(request_rec *r)
&& resp->message_qop == NULL) {
/* use only RFC-2069 format */
if (digest)
ai = ap_pstrcat(r->pool, "digest=\"", digest, "\"", nextnonce,NULL);
ai = apr_pstrcat(r->pool, "digest=\"", digest, "\"", nextnonce,NULL);
else
ai = nextnonce;
}
@@ -2005,14 +2005,14 @@ static int add_auth_info(request_rec *r)
ha1 = conf->ha1;
if (resp->message_qop && !strcasecmp(resp->message_qop, "auth-int"))
a2 = ap_pstrcat(r->pool, ":", resp->uri, ":",
a2 = apr_pstrcat(r->pool, ":", resp->uri, ":",
ap_md5(r->pool, (const unsigned char *) ""), NULL); /* TBD */
else
a2 = ap_pstrcat(r->pool, ":", resp->uri, NULL);
a2 = apr_pstrcat(r->pool, ":", resp->uri, NULL);
ha2 = ap_md5(r->pool, (const unsigned char *)a2);
resp_dig = ap_md5(r->pool,
(unsigned char *)ap_pstrcat(r->pool, ha1, ":",
(unsigned char *)apr_pstrcat(r->pool, ha1, ":",
resp->nonce, ":",
resp->nonce_count, ":",
resp->cnonce, ":",
@@ -2022,7 +2022,7 @@ static int add_auth_info(request_rec *r)
/* assemble Authentication-Info header
*/
ai = ap_pstrcat(r->pool,
ai = apr_pstrcat(r->pool,
"rspauth=\"", resp_dig, "\"",
nextnonce,
resp->cnonce ? ", cnonce=\"" : "",
@@ -2040,7 +2040,7 @@ static int add_auth_info(request_rec *r)
}
if (ai && ai[0])
ap_table_mergen(r->headers_out,
apr_table_mergen(r->headers_out,
r->proxyreq ? "Proxy-Authentication-Info"
: "Authentication-Info",
ai);

View File

@@ -144,12 +144,12 @@ typedef struct {
PFN_HSE_IO_COMPLETION completion;
PVOID completion_arg;
HANDLE complete;
ap_status_t retval;
apr_status_t retval;
} isapi_cid;
ap_status_t isapi_handler (request_rec *r)
apr_status_t isapi_handler (request_rec *r)
{
ap_table_t *e = r->subprocess_env;
apr_table_t *e = r->subprocess_env;
isapi_loaded *isa;
isapi_cid *cid;
@@ -177,8 +177,8 @@ ap_status_t isapi_handler (request_rec *r)
* should only be performed on the first isapi dll invocation,
* not with every HttpExtensionProc()
*/
isa = ap_pcalloc(r->pool, sizeof(isapi_module));
isa->pVer = ap_pcalloc(r->pool, sizeof(HSE_VERSION_INFO));
isa = apr_pcalloc(r->pool, sizeof(isapi_module));
isa->pVer = apr_pcalloc(r->pool, sizeof(HSE_VERSION_INFO));
isa->refcount = 0;
/* TODO: These may need to become overrideable, so that we
@@ -239,8 +239,8 @@ ap_status_t isapi_handler (request_rec *r)
ap_add_cgi_vars(r);
/* Set up connection structure and ecb */
cid = ap_pcalloc(r->pool, sizeof(isapi_cid));
cid->ecb = ap_pcalloc(r->pool, sizeof(struct _EXTENSION_CONTROL_BLOCK));
cid = apr_pcalloc(r->pool, sizeof(isapi_cid));
cid->ecb = apr_pcalloc(r->pool, sizeof(struct _EXTENSION_CONTROL_BLOCK));
cid->ecb->ConnID = (HCONN)cid;
/* TODO: Critical section */
++isa->refcount;
@@ -256,15 +256,15 @@ ap_status_t isapi_handler (request_rec *r)
cid->ecb->dwHttpStatusCode = 0;
strcpy(cid->ecb->lpszLogData, "");
// TODO: are copies really needed here?
cid->ecb->lpszMethod = ap_pstrdup(r->pool, (char*) r->method);
cid->ecb->lpszQueryString = ap_pstrdup(r->pool,
(char*) ap_table_get(e, "QUERY_STRING"));
cid->ecb->lpszPathInfo = ap_pstrdup(r->pool,
(char*) ap_table_get(e, "PATH_INFO"));
cid->ecb->lpszPathTranslated = ap_pstrdup(r->pool,
(char*) ap_table_get(e, "PATH_TRANSLATED"));
cid->ecb->lpszContentType = ap_pstrdup(r->pool,
(char*) ap_table_get(e, "CONTENT_TYPE"));
cid->ecb->lpszMethod = apr_pstrdup(r->pool, (char*) r->method);
cid->ecb->lpszQueryString = apr_pstrdup(r->pool,
(char*) apr_table_get(e, "QUERY_STRING"));
cid->ecb->lpszPathInfo = apr_pstrdup(r->pool,
(char*) apr_table_get(e, "PATH_INFO"));
cid->ecb->lpszPathTranslated = apr_pstrdup(r->pool,
(char*) apr_table_get(e, "PATH_TRANSLATED"));
cid->ecb->lpszContentType = apr_pstrdup(r->pool,
(char*) apr_table_get(e, "CONTENT_TYPE"));
/* Set up the callbacks */
cid->ecb->GetServerVariable = &GetServerVariable;
cid->ecb->WriteClient = &WriteClient;
@@ -291,7 +291,7 @@ ap_status_t isapi_handler (request_rec *r)
* But we can be smarter and read up to our 48k and then allow
* the ISAPI app to read further blocks as desired.
*/
long to_read = atol(ap_table_get(e, "CONTENT_LENGTH"));
long to_read = atol(apr_table_get(e, "CONTENT_LENGTH"));
long read;
/* Actually, let's cap it at 48k, until we figure out what
@@ -306,7 +306,7 @@ ap_status_t isapi_handler (request_rec *r)
return HTTP_REQUEST_ENTITY_TOO_LARGE;
}
cid->ecb->lpbData = ap_pcalloc(r->pool, 1 + to_read);
cid->ecb->lpbData = apr_pcalloc(r->pool, 1 + to_read);
if ((read = ap_get_client_block(r, cid->ecb->lpbData, to_read)) < 0) {
if (isa->TerminateExtension)
@@ -417,7 +417,7 @@ BOOL WINAPI GetServerVariable (HCONN hConn, LPSTR lpszVariableName,
LPVOID lpvBuffer, LPDWORD lpdwSizeofBuffer)
{
request_rec *r = ((isapi_cid *)hConn)->r;
ap_table_t *e = r->subprocess_env;
apr_table_t *e = r->subprocess_env;
const char *result;
/* Mostly, we just grab it from the environment, but there are
@@ -428,7 +428,7 @@ BOOL WINAPI GetServerVariable (HCONN hConn, LPSTR lpszVariableName,
/* We don't support NT users, so this is always the same as
* REMOTE_USER
*/
result = ap_table_get(e, "REMOTE_USER");
result = apr_table_get(e, "REMOTE_USER");
}
else if (!strcasecmp(lpszVariableName, "SERVER_PORT_SECURE")) {
/* Apache doesn't support secure requests inherently, so
@@ -441,7 +441,7 @@ BOOL WINAPI GetServerVariable (HCONN hConn, LPSTR lpszVariableName,
result = r->uri;
}
else {
result = ap_table_get(e, lpszVariableName);
result = apr_table_get(e, lpszVariableName);
}
if (result) {
@@ -549,21 +549,21 @@ static char* ComposeHeaders(request_rec *r, char* data)
while (endp > value && ap_isspace(*endp))
*endp-- = '\0';
tmp = ap_pstrdup (r->pool, value);
tmp = apr_pstrdup (r->pool, value);
ap_str_tolower(tmp);
r->content_type = tmp;
}
else if (!strcasecmp(data, "Content-Length")) {
ap_table_set(r->headers_out, data, value);
apr_table_set(r->headers_out, data, value);
}
else if (!strcasecmp(data, "Transfer-Encoding")) {
ap_table_set(r->headers_out, data, value);
apr_table_set(r->headers_out, data, value);
}
else if (!strcasecmp(data, "Set-Cookie")) {
ap_table_add(r->err_headers_out, data, value);
apr_table_add(r->err_headers_out, data, value);
}
else {
ap_table_merge(r->err_headers_out, data, value);
apr_table_merge(r->err_headers_out, data, value);
}
/* Reset data */
@@ -594,7 +594,7 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
/* Set the status to be returned when the HttpExtensionProc()
* is done.
*/
ap_table_set (r->headers_out, "Location", lpvBuffer);
apr_table_set (r->headers_out, "Location", lpvBuffer);
cid->r->status = cid->ecb->dwHttpStatusCode
= HTTP_MOVED_TEMPORARILY;
return TRUE;
@@ -609,17 +609,17 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
}
/* Reset the method to GET */
r->method = ap_pstrdup(r->pool, "GET");
r->method = apr_pstrdup(r->pool, "GET");
r->method_number = M_GET;
/* Don't let anyone think there's still data */
ap_table_unset(r->headers_in, "Content-Length");
apr_table_unset(r->headers_in, "Content-Length");
ap_internal_redirect((char *)lpvBuffer, r);
return TRUE;
case HSE_REQ_SEND_RESPONSE_HEADER:
r->status_line = lpvBuffer ? lpvBuffer : ap_pstrdup(r->pool, "200 OK");
r->status_line = lpvBuffer ? lpvBuffer : apr_pstrdup(r->pool, "200 OK");
sscanf(r->status_line, "%d", &r->status);
cid->ecb->dwHttpStatusCode = r->status;
@@ -636,7 +636,7 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
}
/* Make a copy - don't disturb the original */
data = ap_pstrdup(r->pool, (char *)lpdwDataType);
data = apr_pstrdup(r->pool, (char *)lpdwDataType);
/* Parse them out, or die trying */
data = ComposeHeaders(r, data);
@@ -661,7 +661,7 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
case HSE_REQ_MAP_URL_TO_PATH:
/* Map a URL to a filename */
subreq = ap_sub_req_lookup_uri(ap_pstrndup(r->pool, (char *)lpvBuffer,
subreq = ap_sub_req_lookup_uri(apr_pstrndup(r->pool, (char *)lpvBuffer,
*lpdwSize), r);
GetFullPathName(subreq->filename, *lpdwSize - 1, (char *)lpvBuffer, NULL);
@@ -738,7 +738,7 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
/* TODO: Not quite ready for prime time yet */
/* Map a URL to a filename */
subreq = ap_sub_req_lookup_uri(ap_pstrndup(r->pool, (char *)lpvBuffer,
subreq = ap_sub_req_lookup_uri(apr_pstrndup(r->pool, (char *)lpvBuffer,
*lpdwSize), r);
GetFullPathName(subreq->filename, *lpdwSize - 1, (char *)lpvBuffer, NULL);
@@ -752,7 +752,7 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
((char *)lpvBuffer)[l + 1] = '\0';
}
lpdwDataType = (LPDWORD) ap_palloc(r->pool, sizeof(HSE_URL_MAPEX_INFO));
lpdwDataType = (LPDWORD) apr_palloc(r->pool, sizeof(HSE_URL_MAPEX_INFO));
strncpy(((LPHSE_URL_MAPEX_INFO)lpdwDataType)->lpszPath,
(char *) lpvBuffer, MAX_PATH);
((LPHSE_URL_MAPEX_INFO)lpdwDataType)->dwFlags = 0;
@@ -790,12 +790,12 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
if (((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->pszStatus
&& ((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->cchStatus) {
r->status_line = ap_pstrndup(r->pool,
r->status_line = apr_pstrndup(r->pool,
((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->pszStatus,
((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->cchStatus);
}
else {
r->status_line = ap_pstrdup(r->pool, "200 OK");
r->status_line = apr_pstrdup(r->pool, "200 OK");
}
sscanf(r->status_line, "%d", &r->status);
cid->ecb->dwHttpStatusCode = r->status;
@@ -804,7 +804,7 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
&& ((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->cchHeader)
{
/* Make a copy - don't disturb the original */
data = ap_pstrndup(r->pool,
data = apr_pstrndup(r->pool,
((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->pszHeader,
((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->cchHeader);
@@ -864,7 +864,7 @@ module isapi_module = {
NULL, /* merge per-dir config */
NULL, /* server config */
NULL, /* merge server config */
NULL, /* command ap_table_t */
NULL, /* command apr_table_t */
isapi_handlers, /* handlers */
NULL /* register hooks */
};

View File

@@ -135,33 +135,33 @@ static int once_through = 0;
typedef struct {
#if APR_HAS_SENDFILE
ap_file_t *file;
apr_file_t *file;
#endif
char *filename;
ap_finfo_t finfo;
apr_finfo_t finfo;
int is_mmapped;
#if APR_HAS_MMAP
ap_mmap_t *mm;
apr_mmap_t *mm;
#endif
} a_file;
typedef struct {
ap_array_header_t *files;
apr_array_header_t *files;
} a_server_config;
static void *create_server_config(ap_pool_t *p, server_rec *s)
static void *create_server_config(apr_pool_t *p, server_rec *s)
{
a_server_config *sconf = ap_palloc(p, sizeof(*sconf));
a_server_config *sconf = apr_palloc(p, sizeof(*sconf));
sconf->files = ap_make_array(p, 20, sizeof(a_file));
sconf->files = apr_make_array(p, 20, sizeof(a_file));
return sconf;
}
static ap_status_t open_file(ap_file_t **file, const char *filename, int flg1, int flg2,
ap_pool_t *p)
static apr_status_t open_file(apr_file_t **file, const char *filename, int flg1, int flg2,
apr_pool_t *p)
{
ap_status_t rv;
apr_status_t rv;
#ifdef WIN32
/* The Windows file needs to be opened for overlapped i/o, which APR doesn't
* support.
@@ -175,20 +175,20 @@ static ap_status_t open_file(ap_file_t **file, const char *filename, int flg1, i
FILE_FLAG_OVERLAPPED | FILE_FLAG_SEQUENTIAL_SCAN, /* file attributes */
NULL); /* handle to file with attributes to copy */
if (hFile != INVALID_HANDLE_VALUE) {
rv = ap_put_os_file(file, &hFile, p);
rv = apr_put_os_file(file, &hFile, p);
}
else {
rv = GetLastError();
*file = NULL;
}
#else
rv = ap_open(file, filename, flg1, flg2, p);
rv = apr_open(file, filename, flg1, flg2, p);
#endif
return rv;
}
static ap_status_t cleanup_file_cache(void *sconfv)
static apr_status_t cleanup_file_cache(void *sconfv)
{
a_server_config *sconf = sconfv;
size_t n;
@@ -199,12 +199,12 @@ static ap_status_t cleanup_file_cache(void *sconfv)
while(n) {
#if APR_HAS_MMAP
if (file->is_mmapped) {
ap_mmap_delete(file->mm);
apr_mmap_delete(file->mm);
}
else
#endif
#if APR_HAS_SENDFILE
ap_close(file->file);
apr_close(file->file);
#endif
++file;
--n;
@@ -219,12 +219,12 @@ static const char *cachefile(cmd_parms *cmd, void *dummy, const char *filename)
a_server_config *sconf;
a_file *new_file;
a_file tmp;
ap_file_t *fd = NULL;
ap_status_t rc;
apr_file_t *fd = NULL;
apr_status_t rc;
/* canonicalize the file name? */
/* os_canonical... */
if (ap_stat(&tmp.finfo, filename, cmd->temp_pool) != APR_SUCCESS) {
if (apr_stat(&tmp.finfo, filename, cmd->temp_pool) != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_WARNING, errno, cmd->server,
"file_cache: unable to stat(%s), skipping", filename);
return NULL;
@@ -235,7 +235,7 @@ static const char *cachefile(cmd_parms *cmd, void *dummy, const char *filename)
return NULL;
}
/* Note: open_file should call ap_open for Unix and CreateFile for Windows.
/* Note: open_file should call apr_open for Unix and CreateFile for Windows.
* The Windows file needs to be opened for async I/O to allow multiple threads
* to serve it up at once.
*/
@@ -246,13 +246,13 @@ static const char *cachefile(cmd_parms *cmd, void *dummy, const char *filename)
return NULL;
}
tmp.file = fd;
tmp.filename = ap_pstrdup(cmd->pool, filename);
tmp.filename = apr_pstrdup(cmd->pool, filename);
sconf = ap_get_module_config(cmd->server->module_config, &file_cache_module);
new_file = ap_push_array(sconf->files);
new_file = apr_push_array(sconf->files);
*new_file = tmp;
if (sconf->files->nelts == 1) {
/* first one, register the cleanup */
ap_register_cleanup(cmd->pool, sconf, cleanup_file_cache, ap_null_cleanup);
apr_register_cleanup(cmd->pool, sconf, cleanup_file_cache, apr_null_cleanup);
}
new_file->is_mmapped = FALSE;
@@ -272,9 +272,9 @@ static const char *mmapfile(cmd_parms *cmd, void *dummy, const char *filename)
a_server_config *sconf;
a_file *new_file;
a_file tmp;
ap_file_t *fd = NULL;
apr_file_t *fd = NULL;
if (ap_stat(&tmp.finfo, filename, cmd->temp_pool) != APR_SUCCESS) {
if (apr_stat(&tmp.finfo, filename, cmd->temp_pool) != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_WARNING, errno, cmd->server,
"mod_file_cache: unable to stat(%s), skipping", filename);
return NULL;
@@ -284,28 +284,28 @@ static const char *mmapfile(cmd_parms *cmd, void *dummy, const char *filename)
"mod_file_cache: %s isn't a regular file, skipping", filename);
return NULL;
}
if (ap_open(&fd, filename, APR_READ, APR_OS_DEFAULT, cmd->temp_pool)
if (apr_open(&fd, filename, APR_READ, APR_OS_DEFAULT, cmd->temp_pool)
!= APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_WARNING, errno, cmd->server,
"mod_file_cache: unable to open(%s, O_RDONLY), skipping", filename);
return NULL;
}
if (ap_mmap_create(&tmp.mm, fd, 0, tmp.finfo.size, cmd->pool) != APR_SUCCESS) {
if (apr_mmap_create(&tmp.mm, fd, 0, tmp.finfo.size, cmd->pool) != APR_SUCCESS) {
int save_errno = errno;
ap_close(fd);
apr_close(fd);
errno = save_errno;
ap_log_error(APLOG_MARK, APLOG_WARNING, errno, cmd->server,
"mod_file_cache: unable to mmap %s, skipping", filename);
return NULL;
}
ap_close(fd);
tmp.filename = ap_pstrdup(cmd->pool, filename);
apr_close(fd);
tmp.filename = apr_pstrdup(cmd->pool, filename);
sconf = ap_get_module_config(cmd->server->module_config, &file_cache_module);
new_file = ap_push_array(sconf->files);
new_file = apr_push_array(sconf->files);
*new_file = tmp;
if (sconf->files->nelts == 1) {
/* first one, register the cleanup */
ap_register_cleanup(cmd->pool, sconf, cleanup_file_cache, ap_null_cleanup);
apr_register_cleanup(cmd->pool, sconf, cleanup_file_cache, apr_null_cleanup);
}
new_file->is_mmapped = TRUE;
@@ -326,8 +326,8 @@ static int file_compare(const void *av, const void *bv)
return strcmp(a->filename, b->filename);
}
static void file_cache_post_config(ap_pool_t *p, ap_pool_t *plog,
ap_pool_t *ptemp, server_rec *s)
static void file_cache_post_config(apr_pool_t *p, apr_pool_t *plog,
apr_pool_t *ptemp, server_rec *s)
{
a_server_config *sconf;
a_file *elts;
@@ -391,8 +391,8 @@ static int mmap_handler(request_rec *r, a_file *file, int rangestatus)
ap_send_mmap (file->mm, r, 0, file->finfo.size);
}
else {
ap_size_t length;
ap_off_t offset;
apr_size_t length;
apr_off_t offset;
while (ap_each_byterange(r, &offset, &length)) {
ap_send_mmap(file->mm, r, offset, length);
}
@@ -404,9 +404,9 @@ static int mmap_handler(request_rec *r, a_file *file, int rangestatus)
static int sendfile_handler(request_rec *r, a_file *file, int rangestatus)
{
#if APR_HAS_SENDFILE
ap_size_t length, nbytes;
ap_off_t offset = 0;
ap_status_t rv = APR_EINIT;
apr_size_t length, nbytes;
apr_off_t offset = 0;
apr_status_t rv = APR_EINIT;
if (!rangestatus) {
rv = ap_send_fd(file->file, r, 0, file->finfo.size, &nbytes);
@@ -430,12 +430,12 @@ static int sendfile_handler(request_rec *r, a_file *file, int rangestatus)
{
#if APR_HAS_SENDFILE
long length;
ap_off_t offset = 0;
apr_off_t offset = 0;
struct iovec iov;
ap_hdtr_t hdtr;
ap_hdtr_t *phdtr = &hdtr;
ap_status_t rv;
ap_int32_t flags = 0;
apr_hdtr_t hdtr;
apr_hdtr_t *phdtr = &hdtr;
apr_status_t rv;
apr_int32_t flags = 0;
/*
* We want to send any data held in the client buffer on the
@@ -448,7 +448,7 @@ static int sendfile_handler(request_rec *r, a_file *file, int rangestatus)
iov.iov_len = r->connection->client->outcnt;
r->connection->client->outcnt = 0;
/* initialize the ap_hdtr_t struct */
/* initialize the apr_hdtr_t struct */
phdtr->headers = &iov;
phdtr->numheaders = 1;
phdtr->trailers = NULL;

View File

@@ -73,14 +73,14 @@
#include "repos.h"
struct dav_db {
ap_pool_t *pool;
apr_pool_t *pool;
SDBM *file;
};
#define D2G(d) (*(sdbm_datum*)&(d))
void dav_dbm_get_statefiles(ap_pool_t *p, const char *fname,
void dav_dbm_get_statefiles(apr_pool_t *p, const char *fname,
const char **state1, const char **state2)
{
char *work;
@@ -89,11 +89,11 @@ void dav_dbm_get_statefiles(ap_pool_t *p, const char *fname,
if (fname == NULL)
fname = DAV_FS_STATE_FILE_FOR_DIR;
fname = ap_pstrcat(p, fname, SDBM_DIRFEXT, NULL);
fname = apr_pstrcat(p, fname, SDBM_DIRFEXT, NULL);
*state1 = fname;
work = ap_pstrdup(p, fname);
work = apr_pstrdup(p, fname);
/* we know the extension is 4 characters -- len(DIRFEXT) */
extension = strlen(work) - 4;
@@ -102,7 +102,7 @@ void dav_dbm_get_statefiles(ap_pool_t *p, const char *fname,
}
static dav_error * dav_fs_dbm_error(dav_db *db, ap_pool_t *p)
static dav_error * dav_fs_dbm_error(dav_db *db, apr_pool_t *p)
{
int save_errno = errno;
int errcode;
@@ -125,20 +125,20 @@ static dav_error * dav_fs_dbm_error(dav_db *db, ap_pool_t *p)
/* ensure that our state subdirectory is present */
/* ### does this belong here or in dav_fs_repos.c ?? */
void dav_fs_ensure_state_dir(ap_pool_t * p, const char *dirname)
void dav_fs_ensure_state_dir(apr_pool_t * p, const char *dirname)
{
const char *pathname = ap_pstrcat(p, dirname, "/" DAV_FS_STATE_DIR, NULL);
const char *pathname = apr_pstrcat(p, dirname, "/" DAV_FS_STATE_DIR, NULL);
/* ### do we need to deal with the umask? */
/* just try to make it, ignoring any resulting errors */
(void) ap_make_dir(pathname, APR_OS_DEFAULT, p);
(void) apr_make_dir(pathname, APR_OS_DEFAULT, p);
}
/* dav_dbm_open_direct: Opens a *dbm database specified by path.
* ro = boolean read-only flag.
*/
dav_error * dav_dbm_open_direct(ap_pool_t *p, const char *pathname, int ro,
dav_error * dav_dbm_open_direct(apr_pool_t *p, const char *pathname, int ro,
dav_db **pdb)
{
SDBM *file;
@@ -157,7 +157,7 @@ dav_error * dav_dbm_open_direct(ap_pool_t *p, const char *pathname, int ro,
/* may be NULL if we tried to open a non-existent db as read-only */
if (file != NULL) {
/* we have an open database... return it */
*pdb = ap_pcalloc(p, sizeof(**pdb));
*pdb = apr_pcalloc(p, sizeof(**pdb));
(*pdb)->pool = p;
(*pdb)->file = file;
}
@@ -165,7 +165,7 @@ dav_error * dav_dbm_open_direct(ap_pool_t *p, const char *pathname, int ro,
return NULL;
}
static dav_error * dav_dbm_open(ap_pool_t * p, const dav_resource *resource,
static dav_error * dav_dbm_open(apr_pool_t * p, const dav_resource *resource,
int ro, dav_db **pdb)
{
const char *dirpath;
@@ -181,7 +181,7 @@ static dav_error * dav_dbm_open(ap_pool_t * p, const dav_resource *resource,
dav_fs_ensure_state_dir(p, dirpath);
}
pathname = ap_pstrcat(p,
pathname = apr_pstrcat(p,
dirpath,
"/" DAV_FS_STATE_DIR "/",
fname ? fname : DAV_FS_STATE_FILE_FOR_DIR,
@@ -212,7 +212,7 @@ static dav_error * dav_dbm_fetch(dav_db *db, dav_datum key, dav_datum *pvalue)
static dav_error * dav_dbm_store(dav_db *db, dav_datum key, dav_datum value)
{
ap_status_t status;
apr_status_t status;
status = sdbm_store(db->file, D2G(key), D2G(value), SDBM_REPLACE);

View File

@@ -119,7 +119,7 @@
/* ack. forward declare. */
static dav_error * dav_fs_remove_locknull_member(ap_pool_t *p,
static dav_error * dav_fs_remove_locknull_member(apr_pool_t *p,
const char *filename,
dav_buffer *pbuf);
@@ -208,7 +208,7 @@ typedef struct dav_lock_indirect
struct dav_lockdb_private
{
request_rec *r; /* for accessing the uuid state */
ap_pool_t *pool; /* a pool to use */
apr_pool_t *pool; /* a pool to use */
const char *lockdb_path; /* where is the lock database? */
int opened; /* we opened the database */
@@ -246,7 +246,7 @@ static dav_lock *dav_fs_alloc_lock(dav_lockdb *lockdb, dav_datum key,
{
dav_lock_combined *comb;
comb = ap_pcalloc(lockdb->info->pool, sizeof(*comb));
comb = apr_pcalloc(lockdb->info->pool, sizeof(*comb));
comb->pub.rectype = DAV_LOCKREC_DIRECT;
comb->pub.info = &comb->priv;
comb->priv.key = key;
@@ -269,7 +269,7 @@ static dav_lock *dav_fs_alloc_lock(dav_lockdb *lockdb, dav_datum key,
** Parse an opaquelocktoken URI into a locktoken.
*/
static dav_error * dav_fs_parse_locktoken(
ap_pool_t *p,
apr_pool_t *p,
const char *char_token,
dav_locktoken **locktoken_p)
{
@@ -283,7 +283,7 @@ static dav_error * dav_fs_parse_locktoken(
}
char_token += 16;
locktoken = ap_pcalloc(p, sizeof(*locktoken));
locktoken = apr_pcalloc(p, sizeof(*locktoken));
if (dav_parse_opaquelocktoken(char_token, &locktoken->uuid)) {
return dav_new_error(p, HTTP_BAD_REQUEST, DAV_ERR_LOCK_PARSE_TOKEN,
"The opaquelocktoken has an incorrect format "
@@ -300,11 +300,11 @@ static dav_error * dav_fs_parse_locktoken(
** Generate the URI for a locktoken
*/
static const char *dav_fs_format_locktoken(
ap_pool_t *p,
apr_pool_t *p,
const dav_locktoken *locktoken)
{
const char *uuid_token = dav_format_opaquelocktoken(p, &locktoken->uuid);
return ap_pstrcat(p, "opaquelocktoken:", uuid_token, NULL);
return apr_pstrcat(p, "opaquelocktoken:", uuid_token, NULL);
}
/*
@@ -362,7 +362,7 @@ static dav_error * dav_fs_open_lockdb(request_rec *r, int ro, int force,
{
dav_lockdb_combined *comb;
comb = ap_pcalloc(r->pool, sizeof(*comb));
comb = apr_pcalloc(r->pool, sizeof(*comb));
comb->pub.hooks = &dav_hooks_locks_fs;
comb->pub.ro = ro;
comb->pub.info = &comb->priv;
@@ -405,7 +405,7 @@ static void dav_fs_close_lockdb(dav_lockdb *lockdb)
**
** Given a pathname, build a DAV_TYPE_FNAME lock database key.
*/
static dav_datum dav_fs_build_fname_key(ap_pool_t *p, const char *pathname)
static dav_datum dav_fs_build_fname_key(apr_pool_t *p, const char *pathname)
{
dav_datum key;
@@ -414,7 +414,7 @@ static dav_datum dav_fs_build_fname_key(ap_pool_t *p, const char *pathname)
/* size is TYPE + pathname + null */
key.dsize = strlen(pathname) + 2;
key.dptr = ap_palloc(p, key.dsize);
key.dptr = apr_palloc(p, key.dsize);
*key.dptr = DAV_TYPE_FNAME;
memcpy(key.dptr + 1, pathname, key.dsize - 1);
if (key.dptr[key.dsize - 2] == '/')
@@ -432,19 +432,19 @@ static dav_datum dav_fs_build_fname_key(ap_pool_t *p, const char *pathname)
** (non-Win32 and file exists ):
** dav_datum->dvalue = inode, dev_major, dev_minor
*/
static dav_datum dav_fs_build_key(ap_pool_t *p, const dav_resource *resource)
static dav_datum dav_fs_build_key(apr_pool_t *p, const dav_resource *resource)
{
const char *file = dav_fs_pathname(resource);
#ifndef WIN32
dav_datum key;
ap_finfo_t finfo;
apr_finfo_t finfo;
/* ### use lstat() ?? */
if (ap_stat(&finfo, file, p) == 0) {
if (apr_stat(&finfo, file, p) == 0) {
/* ### can we use a buffer for this? */
key.dsize = 1 + sizeof(finfo.inode) + sizeof(finfo.device);
key.dptr = ap_palloc(p, key.dsize);
key.dptr = apr_palloc(p, key.dsize);
*key.dptr = DAV_TYPE_INODE;
memcpy(key.dptr + 1, &finfo.inode, sizeof(finfo.inode));
memcpy(key.dptr + 1 + sizeof(finfo.inode), &finfo.device,
@@ -514,9 +514,9 @@ static dav_error * dav_fs_save_lock_record(dav_lockdb *lockdb, dav_datum key,
ip = ip->next;
}
/* ### can this be ap_palloc() ? */
/* ### can this be apr_palloc() ? */
/* ### hmmm.... investigate the use of a buffer here */
ptr = val.dptr = ap_pcalloc(lockdb->info->pool, val.dsize);
ptr = val.dptr = apr_pcalloc(lockdb->info->pool, val.dsize);
dp = direct;
ip = indirect;
@@ -585,7 +585,7 @@ static dav_error * dav_fs_load_lock_record(dav_lockdb *lockdb, dav_datum key,
dav_lock_discovery **direct,
dav_lock_indirect **indirect)
{
ap_pool_t *p = lockdb->info->pool;
apr_pool_t *p = lockdb->info->pool;
dav_error *err;
size_t offset = 0;
int need_save = DAV_FALSE;
@@ -622,17 +622,17 @@ static dav_error * dav_fs_load_lock_record(dav_lockdb *lockdb, dav_datum key,
case DAV_LOCK_DIRECT:
/* Create and fill a dav_lock_discovery structure */
dp = ap_pcalloc(p, sizeof(*dp));
dp = apr_pcalloc(p, sizeof(*dp));
memcpy(dp, val.dptr + offset, sizeof(dp->f));
offset += sizeof(dp->f);
dp->locktoken = ap_palloc(p, sizeof(*dp->locktoken));
dp->locktoken = apr_palloc(p, sizeof(*dp->locktoken));
memcpy(dp->locktoken, val.dptr + offset, sizeof(*dp->locktoken));
offset += sizeof(*dp->locktoken);
if (*(val.dptr + offset) == '\0') {
++offset;
}
else {
dp->owner = ap_pstrdup(p, val.dptr + offset);
dp->owner = apr_pstrdup(p, val.dptr + offset);
offset += strlen(dp->owner) + 1;
}
@@ -640,7 +640,7 @@ static dav_error * dav_fs_load_lock_record(dav_lockdb *lockdb, dav_datum key,
++offset;
}
else {
dp->auth_user = ap_pstrdup(p, val.dptr + offset);
dp->auth_user = apr_pstrdup(p, val.dptr + offset);
offset += strlen(dp->auth_user) + 1;
}
@@ -654,10 +654,10 @@ static dav_error * dav_fs_load_lock_record(dav_lockdb *lockdb, dav_datum key,
/* Remove timed-out locknull fm .locknull list */
if (*key.dptr == DAV_TYPE_FNAME) {
const char *fname = key.dptr + 1;
ap_finfo_t finfo;
apr_finfo_t finfo;
/* if we don't see the file, then it's a locknull */
if (ap_lstat(&finfo, fname, p) != 0) {
if (apr_lstat(&finfo, fname, p) != 0) {
if ((err = dav_fs_remove_locknull_member(p, fname, &buf)) != NULL) {
/* ### push a higher-level description? */
return err;
@@ -670,15 +670,15 @@ static dav_error * dav_fs_load_lock_record(dav_lockdb *lockdb, dav_datum key,
case DAV_LOCK_INDIRECT:
/* Create and fill a dav_lock_indirect structure */
ip = ap_pcalloc(p, sizeof(*ip));
ip->locktoken = ap_palloc(p, sizeof(*ip->locktoken));
ip = apr_pcalloc(p, sizeof(*ip));
ip->locktoken = apr_palloc(p, sizeof(*ip->locktoken));
memcpy(ip->locktoken, val.dptr + offset, sizeof(*ip->locktoken));
offset += sizeof(*ip->locktoken);
memcpy(&ip->timeout, val.dptr + offset, sizeof(ip->timeout));
offset += sizeof(ip->timeout);
ip->key.dsize = *((int *) (val.dptr + offset)); /* length of datum */
offset += sizeof(ip->key.dsize);
ip->key.dptr = ap_palloc(p, ip->key.dsize);
ip->key.dptr = apr_palloc(p, ip->key.dsize);
memcpy(ip->key.dptr, val.dptr + offset, ip->key.dsize);
offset += ip->key.dsize;
@@ -701,7 +701,7 @@ static dav_error * dav_fs_load_lock_record(dav_lockdb *lockdb, dav_datum key,
return dav_new_error(p,
HTTP_INTERNAL_SERVER_ERROR,
DAV_ERR_LOCK_CORRUPT_DB,
ap_psprintf(p,
apr_psprintf(p,
"The lock database was found to "
"be corrupt. offset %i, c=%02x",
offset, val.dptr[offset]));
@@ -805,13 +805,13 @@ static const char *dav_fs_get_supportedlock(void)
** dav_fs_load_locknull_list: Returns a dav_buffer dump of the locknull file
** for the given directory.
*/
static dav_error * dav_fs_load_locknull_list(ap_pool_t *p, const char *dirpath,
static dav_error * dav_fs_load_locknull_list(apr_pool_t *p, const char *dirpath,
dav_buffer *pbuf)
{
ap_finfo_t finfo;
ap_file_t *file = NULL;
apr_finfo_t finfo;
apr_file_t *file = NULL;
dav_error *err = NULL;
ap_ssize_t amt;
apr_ssize_t amt;
dav_buffer_init(p, pbuf, dirpath);
@@ -823,14 +823,14 @@ static dav_error * dav_fs_load_locknull_list(ap_pool_t *p, const char *dirpath,
/* reset this in case we leave w/o reading into the buffer */
pbuf->cur_len = 0;
if (ap_open(&file, pbuf->buf, APR_READ | APR_BINARY, APR_OS_DEFAULT,
if (apr_open(&file, pbuf->buf, APR_READ | APR_BINARY, APR_OS_DEFAULT,
p) != APR_SUCCESS) {
return NULL;
}
if (ap_getfileinfo(&finfo, file) != APR_SUCCESS) {
if (apr_getfileinfo(&finfo, file) != APR_SUCCESS) {
err = dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 0,
ap_psprintf(p,
apr_psprintf(p,
"Opened but could not stat file %s",
pbuf->buf));
goto loaderror;
@@ -838,10 +838,10 @@ static dav_error * dav_fs_load_locknull_list(ap_pool_t *p, const char *dirpath,
dav_set_bufsize(p, pbuf, finfo.size);
amt = finfo.size;
if (ap_read(file, pbuf->buf, &amt) != APR_SUCCESS
if (apr_read(file, pbuf->buf, &amt) != APR_SUCCESS
|| amt != finfo.size) {
err = dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 0,
ap_psprintf(p,
apr_psprintf(p,
"Failure reading locknull file "
"for %s", dirpath));
@@ -851,7 +851,7 @@ static dav_error * dav_fs_load_locknull_list(ap_pool_t *p, const char *dirpath,
}
loaderror:
ap_close(file);
apr_close(file);
return err;
}
@@ -859,19 +859,19 @@ static dav_error * dav_fs_load_locknull_list(ap_pool_t *p, const char *dirpath,
** dav_fs_save_locknull_list: Saves contents of pbuf into the
** locknull file for dirpath.
*/
static dav_error * dav_fs_save_locknull_list(ap_pool_t *p, const char *dirpath,
static dav_error * dav_fs_save_locknull_list(apr_pool_t *p, const char *dirpath,
dav_buffer *pbuf)
{
const char *pathname;
ap_file_t *file = NULL;
apr_file_t *file = NULL;
dav_error *err = NULL;
ap_ssize_t amt;
apr_ssize_t amt;
if (pbuf->buf == NULL)
return NULL;
dav_fs_ensure_state_dir(p, dirpath);
pathname = ap_pstrcat(p,
pathname = apr_pstrcat(p,
dirpath,
dirpath[strlen(dirpath) - 1] == '/' ? "" : "/",
DAV_FS_STATE_DIR "/" DAV_FS_LOCK_NULL_FILE,
@@ -881,31 +881,31 @@ static dav_error * dav_fs_save_locknull_list(ap_pool_t *p, const char *dirpath,
/* delete the file if cur_len == 0 */
if (remove(pathname) != 0) {
return dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 0,
ap_psprintf(p,
apr_psprintf(p,
"Error removing %s", pathname));
}
return NULL;
}
if (ap_open(&file, pathname,
if (apr_open(&file, pathname,
APR_WRITE | APR_CREATE | APR_TRUNCATE | APR_BINARY,
APR_OS_DEFAULT, p) != APR_SUCCESS) {
return dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 0,
ap_psprintf(p,
apr_psprintf(p,
"Error opening %s for writing",
pathname));
}
amt = pbuf->cur_len;
if (ap_write(file, pbuf->buf, &amt) != APR_SUCCESS
if (apr_write(file, pbuf->buf, &amt) != APR_SUCCESS
|| amt != pbuf->cur_len) {
err = dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 0,
ap_psprintf(p,
apr_psprintf(p,
"Error writing %i bytes to %s",
pbuf->cur_len, pathname));
}
ap_close(file);
apr_close(file);
return err;
}
@@ -913,7 +913,7 @@ static dav_error * dav_fs_save_locknull_list(ap_pool_t *p, const char *dirpath,
** dav_fs_remove_locknull_member: Removes filename from the locknull list
** for directory path.
*/
static dav_error * dav_fs_remove_locknull_member(ap_pool_t *p,
static dav_error * dav_fs_remove_locknull_member(apr_pool_t *p,
const char *filename,
dav_buffer *pbuf)
{
@@ -922,7 +922,7 @@ static dav_error * dav_fs_remove_locknull_member(ap_pool_t *p,
size_t scanlen;
char *scan;
const char *scanend;
char *dirpath = ap_pstrdup(p, filename);
char *dirpath = apr_pstrdup(p, filename);
char *fname = strrchr(dirpath, '/');
int dirty = 0;
@@ -977,7 +977,7 @@ static dav_error * dav_fs_add_locknull_state(
const dav_resource *resource)
{
dav_buffer buf = { 0 };
ap_pool_t *p = lockdb->info->pool;
apr_pool_t *p = lockdb->info->pool;
const char *dirpath;
const char *fname;
dav_error *err;
@@ -1016,7 +1016,7 @@ static dav_error * dav_fs_remove_locknull_state(
{
dav_buffer buf = { 0 };
dav_error *err;
ap_pool_t *p = lockdb->info->pool;
apr_pool_t *p = lockdb->info->pool;
const char *pathname = dav_fs_pathname(resource);
if ((err = dav_fs_remove_locknull_member(p, pathname, &buf)) != NULL) {
@@ -1080,7 +1080,7 @@ static dav_error * dav_fs_get_locks(dav_lockdb *lockdb,
int calltype,
dav_lock **locks)
{
ap_pool_t *p = lockdb->info->pool;
apr_pool_t *p = lockdb->info->pool;
dav_datum key;
dav_error *err;
dav_lock *lock = NULL;
@@ -1251,7 +1251,7 @@ static dav_error * dav_fs_append_locks(dav_lockdb *lockdb,
int make_indirect,
const dav_lock *lock)
{
ap_pool_t *p = lockdb->info->pool;
apr_pool_t *p = lockdb->info->pool;
dav_error *err;
dav_lock_indirect *ip;
dav_lock_discovery *dp;
@@ -1272,7 +1272,7 @@ static dav_error * dav_fs_append_locks(dav_lockdb *lockdb,
for (; lock != NULL; lock = lock->next) {
/* ### this works for any <lock> rectype */
dav_lock_indirect *newi = ap_pcalloc(p, sizeof(*newi));
dav_lock_indirect *newi = apr_pcalloc(p, sizeof(*newi));
/* ### shut off the const warning for now */
newi->locktoken = (dav_locktoken *)lock->locktoken;
@@ -1287,7 +1287,7 @@ static dav_error * dav_fs_append_locks(dav_lockdb *lockdb,
/* create and link in the right kind of lock */
if (lock->rectype == DAV_LOCKREC_DIRECT) {
dav_lock_discovery *newd = ap_pcalloc(p, sizeof(*newd));
dav_lock_discovery *newd = apr_pcalloc(p, sizeof(*newd));
newd->f.scope = lock->scope;
newd->f.type = lock->type;
@@ -1303,7 +1303,7 @@ static dav_error * dav_fs_append_locks(dav_lockdb *lockdb,
else {
/* DAV_LOCKREC_INDIRECT(_PARTIAL) */
dav_lock_indirect *newi = ap_pcalloc(p, sizeof(*newi));
dav_lock_indirect *newi = apr_pcalloc(p, sizeof(*newi));
/* ### shut off the const warning for now */
newi->locktoken = (dav_locktoken *)lock->locktoken;

View File

@@ -74,19 +74,19 @@ const char *dav_get_lockdb_path(const request_rec *r)
return conf->lockdb_path;
}
static void *dav_fs_create_server_config(ap_pool_t *p, server_rec *s)
static void *dav_fs_create_server_config(apr_pool_t *p, server_rec *s)
{
return ap_pcalloc(p, sizeof(dav_fs_server_conf));
return apr_pcalloc(p, sizeof(dav_fs_server_conf));
}
static void *dav_fs_merge_server_config(ap_pool_t *p,
static void *dav_fs_merge_server_config(apr_pool_t *p,
void *base, void *overrides)
{
dav_fs_server_conf *parent = base;
dav_fs_server_conf *child = overrides;
dav_fs_server_conf *newconf;
newconf = ap_pcalloc(p, sizeof(*newconf));
newconf = apr_pcalloc(p, sizeof(*newconf));
newconf->lockdb_path =
child->lockdb_path ? child->lockdb_path : parent->lockdb_path;

View File

@@ -77,9 +77,9 @@
/* context needed to identify a resource */
struct dav_resource_private {
ap_pool_t *pool; /* memory storage pool associated with request */
apr_pool_t *pool; /* memory storage pool associated with request */
const char *pathname; /* full pathname to resource */
ap_finfo_t finfo; /* filesystem info */
apr_finfo_t finfo; /* filesystem info */
};
/* private context for doing a filesystem walk */
@@ -174,8 +174,8 @@ static const dav_fs_liveprop_name dav_fs_props[] =
/* define the dav_stream structure for our use */
struct dav_stream {
ap_pool_t *p;
ap_file_t *f;
apr_pool_t *p;
apr_file_t *f;
const char *pathname; /* we may need to remove it at close time */
};
@@ -186,7 +186,7 @@ static dav_error * dav_fs_walk(dav_walker_ctx *wctx, int depth);
**
** PRIVATE REPOSITORY FUNCTIONS
*/
ap_pool_t *dav_fs_pool(const dav_resource *resource)
apr_pool_t *dav_fs_pool(const dav_resource *resource)
{
return resource->info->pool;
}
@@ -226,12 +226,12 @@ void dav_fs_dir_file_name(
/* Note: picked up from ap_gm_timestr_822() */
/* NOTE: buf must be at least DAV_TIMEBUF_SIZE chars in size */
static void dav_format_time(int style, ap_time_t sec, char *buf)
static void dav_format_time(int style, apr_time_t sec, char *buf)
{
ap_exploded_time_t tms;
/* ### what to do if fails? */
(void) ap_explode_gmt(&tms, sec);
(void) apr_explode_gmt(&tms, sec);
if (style == DAV_STYLE_ISO8601) {
/* ### should we use "-00:00" instead of "Z" ?? */
@@ -256,21 +256,21 @@ static void dav_format_time(int style, ap_time_t sec, char *buf)
static dav_error * dav_fs_copymove_file(
int is_move,
ap_pool_t * p,
apr_pool_t * p,
const char *src,
const char *dst,
dav_buffer *pbuf)
{
dav_buffer work_buf = { 0 };
ap_file_t *inf = NULL;
ap_file_t *outf = NULL;
apr_file_t *inf = NULL;
apr_file_t *outf = NULL;
if (pbuf == NULL)
pbuf = &work_buf;
dav_set_bufsize(p, pbuf, DAV_FS_COPY_BLOCKSIZE);
if ((ap_open(&inf, src, APR_READ | APR_BINARY, APR_OS_DEFAULT, p))
if ((apr_open(&inf, src, APR_READ | APR_BINARY, APR_OS_DEFAULT, p))
!= APR_SUCCESS) {
/* ### use something besides 500? */
return dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 0,
@@ -278,9 +278,9 @@ static dav_error * dav_fs_copymove_file(
}
/* ### do we need to deal with the umask? */
if ((ap_open(&outf, dst, APR_WRITE | APR_CREATE | APR_TRUNCATE | APR_BINARY,
if ((apr_open(&outf, dst, APR_WRITE | APR_CREATE | APR_TRUNCATE | APR_BINARY,
APR_OS_DEFAULT, p)) != APR_SUCCESS) {
ap_close(inf);
apr_close(inf);
/* ### use something besides 500? */
return dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 0,
@@ -288,15 +288,15 @@ static dav_error * dav_fs_copymove_file(
}
while (1) {
ap_ssize_t len = DAV_FS_COPY_BLOCKSIZE;
ap_status_t status;
apr_ssize_t len = DAV_FS_COPY_BLOCKSIZE;
apr_status_t status;
status = ap_read(inf, pbuf->buf, &len);
status = apr_read(inf, pbuf->buf, &len);
if (status != APR_SUCCESS && status != APR_EOF) {
ap_close(inf);
ap_close(outf);
apr_close(inf);
apr_close(outf);
if (ap_remove_file(dst, p) != APR_SUCCESS) {
if (apr_remove_file(dst, p) != APR_SUCCESS) {
/* ### ACK! Inconsistent state... */
/* ### use something besides 500? */
@@ -312,11 +312,11 @@ static dav_error * dav_fs_copymove_file(
}
/* write any bytes that were read (applies to APR_EOF, too) */
if (ap_full_write(outf, pbuf->buf, len, NULL) != APR_SUCCESS) {
if (apr_full_write(outf, pbuf->buf, len, NULL) != APR_SUCCESS) {
int save_errno = errno;
ap_close(inf);
ap_close(outf);
apr_close(inf);
apr_close(outf);
if (remove(dst) != 0) {
/* ### ACK! Inconsistent state... */
@@ -343,8 +343,8 @@ static dav_error * dav_fs_copymove_file(
break;
}
ap_close(inf);
ap_close(outf);
apr_close(inf);
apr_close(outf);
if (is_move && remove(src) != 0) {
dav_error *err;
@@ -376,31 +376,31 @@ static dav_error * dav_fs_copymove_file(
/* ### need more buffers to replace the pool argument */
static dav_error * dav_fs_copymove_state(
int is_move,
ap_pool_t * p,
apr_pool_t * p,
const char *src_dir, const char *src_file,
const char *dst_dir, const char *dst_file,
dav_buffer *pbuf)
{
ap_finfo_t src_finfo; /* finfo for source file */
ap_finfo_t dst_state_finfo; /* finfo for STATE directory */
apr_finfo_t src_finfo; /* finfo for source file */
apr_finfo_t dst_state_finfo; /* finfo for STATE directory */
const char *src;
const char *dst;
/* build the propset pathname for the source file */
src = ap_pstrcat(p, src_dir, "/" DAV_FS_STATE_DIR "/", src_file, NULL);
src = apr_pstrcat(p, src_dir, "/" DAV_FS_STATE_DIR "/", src_file, NULL);
/* the source file doesn't exist */
if (ap_stat(&src_finfo, src, p) != 0) {
if (apr_stat(&src_finfo, src, p) != 0) {
return NULL;
}
/* build the pathname for the destination state dir */
dst = ap_pstrcat(p, dst_dir, "/" DAV_FS_STATE_DIR, NULL);
dst = apr_pstrcat(p, dst_dir, "/" DAV_FS_STATE_DIR, NULL);
/* ### do we need to deal with the umask? */
/* ensure that it exists */
if (ap_make_dir(dst, APR_OS_DEFAULT, p) != 0) {
if (apr_make_dir(dst, APR_OS_DEFAULT, p) != 0) {
if (errno != EEXIST) {
/* ### use something besides 500? */
return dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 0,
@@ -409,7 +409,7 @@ static dav_error * dav_fs_copymove_state(
}
/* get info about the state directory */
if (ap_stat(&dst_state_finfo, dst, p) != 0) {
if (apr_stat(&dst_state_finfo, dst, p) != 0) {
/* Ack! Where'd it go? */
/* ### use something besides 500? */
return dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 0,
@@ -425,12 +425,12 @@ static dav_error * dav_fs_copymove_state(
}
/* append the target file to the state directory pathname */
dst = ap_pstrcat(p, dst, "/", dst_file, NULL);
dst = apr_pstrcat(p, dst, "/", dst_file, NULL);
/* copy/move the file now */
if (is_move && src_finfo.device == dst_state_finfo.device) {
/* simple rename is possible since it is on the same device */
if (ap_rename_file(src, dst, p) != APR_SUCCESS) {
if (apr_rename_file(src, dst, p) != APR_SUCCESS) {
/* ### use something besides 500? */
return dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 0,
"Could not move state file.");
@@ -445,7 +445,7 @@ static dav_error * dav_fs_copymove_state(
return NULL;
}
static dav_error *dav_fs_copymoveset(int is_move, ap_pool_t *p,
static dav_error *dav_fs_copymoveset(int is_move, apr_pool_t *p,
const dav_resource *src,
const dav_resource *dst,
dav_buffer *pbuf)
@@ -503,7 +503,7 @@ static dav_error *dav_fs_copymoveset(int is_move, ap_pool_t *p,
return err;
}
static dav_error *dav_fs_deleteset(ap_pool_t *p, const dav_resource *resource)
static dav_error *dav_fs_deleteset(apr_pool_t *p, const dav_resource *resource)
{
const char *dirpath;
const char *fname;
@@ -516,7 +516,7 @@ static dav_error *dav_fs_deleteset(ap_pool_t *p, const dav_resource *resource)
dav_dbm_get_statefiles(p, fname, &state1, &state2);
/* build the propset pathname for the file */
pathname = ap_pstrcat(p,
pathname = apr_pstrcat(p,
dirpath,
"/" DAV_FS_STATE_DIR "/",
state1,
@@ -530,7 +530,7 @@ static dav_error *dav_fs_deleteset(ap_pool_t *p, const dav_resource *resource)
if (state2 != NULL) {
/* build the propset pathname for the file */
pathname = ap_pstrcat(p,
pathname = apr_pstrcat(p,
dirpath,
"/" DAV_FS_STATE_DIR "/",
state2,
@@ -567,7 +567,7 @@ static dav_resource * dav_fs_get_resource(
/* ### optimize this into a single allocation! */
/* Create private resource context descriptor */
ctx = ap_pcalloc(r->pool, sizeof(*ctx));
ctx = apr_pcalloc(r->pool, sizeof(*ctx));
ctx->pool = r->pool;
ctx->finfo = r->finfo;
@@ -585,7 +585,7 @@ static dav_resource * dav_fs_get_resource(
** it onto the filename so that we get a "valid" pathname for null
** resources.
*/
s = ap_pstrcat(r->pool, filename, r->path_info, NULL);
s = apr_pstrcat(r->pool, filename, r->path_info, NULL);
/* make sure the pathname does not have a trailing "/" */
len = strlen(s);
@@ -595,7 +595,7 @@ static dav_resource * dav_fs_get_resource(
ctx->pathname = s;
/* Create resource descriptor */
resource = ap_pcalloc(r->pool, sizeof(*resource));
resource = apr_pcalloc(r->pool, sizeof(*resource));
resource->type = DAV_RESOURCE_TYPE_REGULAR;
resource->info = ctx;
resource->hooks = &dav_hooks_repository_fs;
@@ -603,7 +603,7 @@ static dav_resource * dav_fs_get_resource(
/* make sure the URI does not have a trailing "/" */
len = strlen(r->uri);
if (len > 1 && r->uri[len - 1] == '/') {
s = ap_pstrdup(r->pool, r->uri);
s = apr_pstrdup(r->pool, r->uri);
s[len - 1] = '\0';
resource->uri = s;
}
@@ -670,7 +670,7 @@ static dav_resource * dav_fs_get_parent_resource(const dav_resource *resource)
/* ### optimize this into a single allocation! */
/* Create private resource context descriptor */
parent_ctx = ap_pcalloc(ctx->pool, sizeof(*parent_ctx));
parent_ctx = apr_pcalloc(ctx->pool, sizeof(*parent_ctx));
parent_ctx->pool = ctx->pool;
dirpath = ap_make_dirstr_parent(ctx->pool, ctx->pathname);
@@ -678,7 +678,7 @@ static dav_resource * dav_fs_get_parent_resource(const dav_resource *resource)
dirpath[strlen(dirpath) - 1] = '\0';
parent_ctx->pathname = dirpath;
parent_resource = ap_pcalloc(ctx->pool, sizeof(*parent_resource));
parent_resource = apr_pcalloc(ctx->pool, sizeof(*parent_resource));
parent_resource->info = parent_ctx;
parent_resource->collection = 1;
parent_resource->hooks = &dav_hooks_repository_fs;
@@ -690,7 +690,7 @@ static dav_resource * dav_fs_get_parent_resource(const dav_resource *resource)
parent_resource->uri = uri;
}
if (ap_stat(&parent_ctx->finfo, parent_ctx->pathname, ctx->pool) == 0) {
if (apr_stat(&parent_ctx->finfo, parent_ctx->pathname, ctx->pool) == 0) {
parent_resource->exists = 1;
}
@@ -741,9 +741,9 @@ static dav_error * dav_fs_open_stream(const dav_resource *resource,
dav_stream_mode mode,
dav_stream **stream)
{
ap_pool_t *p = resource->info->pool;
dav_stream *ds = ap_pcalloc(p, sizeof(*ds));
ap_int32_t flags;
apr_pool_t *p = resource->info->pool;
dav_stream *ds = apr_pcalloc(p, sizeof(*ds));
apr_int32_t flags;
switch (mode) {
case DAV_MODE_READ:
@@ -762,7 +762,7 @@ static dav_error * dav_fs_open_stream(const dav_resource *resource,
ds->p = p;
ds->pathname = resource->info->pathname;
if (ap_open(&ds->f, ds->pathname, flags, APR_OS_DEFAULT,
if (apr_open(&ds->f, ds->pathname, flags, APR_OS_DEFAULT,
ds->p) != APR_SUCCESS) {
/* ### use something besides 500? */
return dav_new_error(p, HTTP_INTERNAL_SERVER_ERROR, 0,
@@ -777,10 +777,10 @@ static dav_error * dav_fs_open_stream(const dav_resource *resource,
static dav_error * dav_fs_close_stream(dav_stream *stream, int commit)
{
ap_close(stream->f);
apr_close(stream->f);
if (!commit) {
if (ap_remove_file(stream->pathname, stream->p) != 0) {
if (apr_remove_file(stream->pathname, stream->p) != 0) {
/* ### use a better description? */
return dav_new_error(stream->p, HTTP_INTERNAL_SERVER_ERROR, 0,
"There was a problem removing (rolling "
@@ -793,9 +793,9 @@ static dav_error * dav_fs_close_stream(dav_stream *stream, int commit)
}
static dav_error * dav_fs_read_stream(dav_stream *stream,
void *buf, ap_size_t *bufsize)
void *buf, apr_size_t *bufsize)
{
if (ap_read(stream->f, buf, (ap_ssize_t *)bufsize) != APR_SUCCESS) {
if (apr_read(stream->f, buf, (apr_ssize_t *)bufsize) != APR_SUCCESS) {
/* ### use something besides 500? */
return dav_new_error(stream->p, HTTP_INTERNAL_SERVER_ERROR, 0,
"An error occurred while reading from a "
@@ -805,11 +805,11 @@ static dav_error * dav_fs_read_stream(dav_stream *stream,
}
static dav_error * dav_fs_write_stream(dav_stream *stream,
const void *buf, ap_size_t bufsize)
const void *buf, apr_size_t bufsize)
{
ap_status_t status;
apr_status_t status;
status = ap_full_write(stream->f, buf, bufsize, NULL);
status = apr_full_write(stream->f, buf, bufsize, NULL);
if (status == APR_ENOSPC) {
return dav_new_error(stream->p, HTTP_INSUFFICIENT_STORAGE, 0,
"There is not enough storage to write to "
@@ -824,10 +824,10 @@ static dav_error * dav_fs_write_stream(dav_stream *stream,
return NULL;
}
static dav_error * dav_fs_seek_stream(dav_stream *stream, ap_off_t abs_pos)
static dav_error * dav_fs_seek_stream(dav_stream *stream, apr_off_t abs_pos)
{
if (ap_seek(stream->f, APR_SET, &abs_pos) != APR_SUCCESS) {
/* ### should check whether ap_seek set abs_pos was set to the
if (apr_seek(stream->f, APR_SET, &abs_pos) != APR_SUCCESS) {
/* ### should check whether apr_seek set abs_pos was set to the
* correct position? */
/* ### use something besides 500? */
return dav_new_error(stream->p, HTTP_INTERNAL_SERVER_ERROR, 0,
@@ -853,7 +853,7 @@ static dav_error * dav_fs_set_headers(request_rec *r,
ap_set_etag(r);
/* we accept byte-ranges */
ap_table_setn(r->headers_out, "Accept-Ranges", "bytes");
apr_table_setn(r->headers_out, "Accept-Ranges", "bytes");
/* set up the Content-Length header */
ap_set_content_length(r, resource->info->finfo.size);
@@ -880,12 +880,12 @@ static void dav_fs_free_file(void *free_handle)
/* nothing to free ... */
}
static dav_error * dav_fs_create_collection(ap_pool_t *p, dav_resource *resource)
static dav_error * dav_fs_create_collection(apr_pool_t *p, dav_resource *resource)
{
dav_resource_private *ctx = resource->info;
ap_status_t status;
apr_status_t status;
status = ap_make_dir(ctx->pathname, APR_OS_DEFAULT, p);
status = apr_make_dir(ctx->pathname, APR_OS_DEFAULT, p);
if (status == ENOSPC) {
return dav_new_error(p, HTTP_INSUFFICIENT_STORAGE, 0,
"There is not enough storage to create "
@@ -920,7 +920,7 @@ static dav_error * dav_fs_copymove_walker(dav_walker_ctx *ctx, int calltype)
}
else {
/* copy/move of a collection. Create the new, target collection */
if (ap_make_dir(dstinfo->pathname, APR_OS_DEFAULT, ctx->pool)
if (apr_make_dir(dstinfo->pathname, APR_OS_DEFAULT, ctx->pool)
!= APR_SUCCESS) {
/* ### assume it was a permissions problem */
/* ### need a description here */
@@ -1081,13 +1081,13 @@ static dav_error * dav_fs_move_resource(
}
else {
const char *dirpath;
ap_finfo_t finfo;
apr_finfo_t finfo;
/* destination does not exist, but the parent directory should,
* so try it
*/
dirpath = ap_make_dirstr_parent(dstinfo->pool, dstinfo->pathname);
if (ap_stat(&finfo, dirpath, dstinfo->pool) == 0
if (apr_stat(&finfo, dirpath, dstinfo->pool) == 0
&& finfo.device == srcinfo->finfo.device) {
can_rename = 1;
}
@@ -1113,7 +1113,7 @@ static dav_error * dav_fs_move_resource(
*response = NULL;
/* ### APR has no rename? */
if (ap_rename_file(srcinfo->pathname, dstinfo->pathname,
if (apr_rename_file(srcinfo->pathname, dstinfo->pathname,
srcinfo->pool) != APR_SUCCESS) {
/* ### should have a better error than this. */
return dav_new_error(srcinfo->pool, HTTP_INTERNAL_SERVER_ERROR, 0,
@@ -1133,7 +1133,7 @@ static dav_error * dav_fs_move_resource(
}
/* error occurred during properties move; try to put resource back */
if (ap_rename_file(dstinfo->pathname, srcinfo->pathname,
if (apr_rename_file(dstinfo->pathname, srcinfo->pathname,
srcinfo->pool) != APR_SUCCESS) {
/* couldn't put it back! */
return dav_push_error(srcinfo->pool,
@@ -1261,7 +1261,7 @@ static dav_error * dav_fs_walker(dav_fs_walker_context *fsctx, int depth)
dav_error *err = NULL;
dav_walker_ctx *wctx = fsctx->wctx;
int isdir = wctx->resource->collection;
ap_dir_t *dirp;
apr_dir_t *dirp;
/* ensure the context is prepared properly, then call the func */
err = (*wctx->func)(wctx,
@@ -1299,15 +1299,15 @@ static dav_error * dav_fs_walker(dav_fs_walker_context *fsctx, int depth)
fsctx->res2.collection = 0;
/* open and scan the directory */
if ((ap_opendir(&dirp, fsctx->path1.buf, wctx->pool)) != APR_SUCCESS) {
if ((apr_opendir(&dirp, fsctx->path1.buf, wctx->pool)) != APR_SUCCESS) {
/* ### need a better error */
return dav_new_error(wctx->pool, HTTP_NOT_FOUND, 0, NULL);
}
while ((ap_readdir(dirp)) == APR_SUCCESS) {
while ((apr_readdir(dirp)) == APR_SUCCESS) {
char *name;
size_t len;
ap_get_dir_filename(&name, dirp);
apr_get_dir_filename(&name, dirp);
len = strlen(name);
/* avoid recursing into our current, parent, or state directories */
@@ -1333,7 +1333,7 @@ static dav_error * dav_fs_walker(dav_fs_walker_context *fsctx, int depth)
/* append this file onto the path buffer (copy null term) */
dav_buffer_place_mem(wctx->pool, &fsctx->path1, name, len + 1, 0);
if (ap_lstat(&fsctx->info1.finfo, fsctx->path1.buf, wctx->pool) != 0) {
if (apr_lstat(&fsctx->info1.finfo, fsctx->path1.buf, wctx->pool) != 0) {
/* woah! where'd it go? */
/* ### should have a better error here */
err = dav_new_error(wctx->pool, HTTP_NOT_FOUND, 0, NULL);
@@ -1402,7 +1402,7 @@ static dav_error * dav_fs_walker(dav_fs_walker_context *fsctx, int depth)
}
/* ### check the return value of this? */
ap_closedir(dirp);
apr_closedir(dirp);
if (err != NULL)
return err;
@@ -1603,16 +1603,16 @@ static const char *dav_fs_getetag(const dav_resource *resource)
dav_resource_private *ctx = resource->info;
if (!resource->exists)
return ap_pstrdup(ctx->pool, "");
return apr_pstrdup(ctx->pool, "");
if (ctx->finfo.protection != 0) {
return ap_psprintf(ctx->pool, "\"%lx-%lx-%lx\"",
return apr_psprintf(ctx->pool, "\"%lx-%lx-%lx\"",
(unsigned long) ctx->finfo.inode,
(unsigned long) ctx->finfo.size,
(unsigned long) ctx->finfo.mtime);
}
return ap_psprintf(ctx->pool, "\"%lx\"", (unsigned long) ctx->finfo.mtime);
return apr_psprintf(ctx->pool, "\"%lx\"", (unsigned long) ctx->finfo.mtime);
}
static const dav_hooks_repository dav_hooks_repository_fs =
@@ -1673,7 +1673,7 @@ static dav_prop_insert dav_fs_insert_prop(const dav_resource *resource,
const char *value;
const char *s;
dav_prop_insert which;
ap_pool_t *p = resource->info->pool;
apr_pool_t *p = resource->info->pool;
const dav_fs_liveprop_name *scan;
int ns;
@@ -1774,13 +1774,13 @@ static dav_prop_insert dav_fs_insert_prop(const dav_resource *resource,
if (insvalue) {
/* use D: prefix to refer to the DAV: namespace URI */
s = ap_psprintf(p, "<lp%d:%s>%s</lp%d:%s>" DEBUG_CR,
s = apr_psprintf(p, "<lp%d:%s>%s</lp%d:%s>" DEBUG_CR,
ns, scan->name, value, ns, scan->name);
which = DAV_PROP_INSERT_VALUE;
}
else {
/* use D: prefix to refer to the DAV: namespace URI */
s = ap_psprintf(p, "<lp%d:%s/>" DEBUG_CR, ns, scan->name);
s = apr_psprintf(p, "<lp%d:%s/>" DEBUG_CR, ns, scan->name);
which = DAV_PROP_INSERT_NAME;
}
ap_text_append(p, phdr, s);
@@ -1914,7 +1914,7 @@ static dav_error *dav_fs_patch_exec(dav_resource *resource,
dav_liveprop_rollback **rollback_ctx)
{
int value = context != NULL;
ap_fileperms_t perms = resource->info->finfo.protection;
apr_fileperms_t perms = resource->info->finfo.protection;
int old_value = (perms & APR_UEXECUTE) != 0;
/* assert: prop == executable. operation == SET. */
@@ -1928,7 +1928,7 @@ static dav_error *dav_fs_patch_exec(dav_resource *resource,
if (value)
perms |= APR_UEXECUTE;
if (ap_setfileperms(resource->info->pathname, perms) != APR_SUCCESS) {
if (apr_setfileperms(resource->info->pathname, perms) != APR_SUCCESS) {
return dav_new_error(resource->info->pool,
HTTP_INTERNAL_SERVER_ERROR, 0,
"Could not set the executable flag of the "
@@ -1955,7 +1955,7 @@ static dav_error *dav_fs_patch_rollback(dav_resource *resource,
void *context,
dav_liveprop_rollback *rollback_ctx)
{
ap_fileperms_t perms = resource->info->finfo.protection & ~APR_UEXECUTE;
apr_fileperms_t perms = resource->info->finfo.protection & ~APR_UEXECUTE;
int value = rollback_ctx != NULL;
/* assert: prop == executable. operation == SET. */
@@ -1964,7 +1964,7 @@ static dav_error *dav_fs_patch_rollback(dav_resource *resource,
if (value)
perms |= APR_UEXECUTE;
if (ap_setfileperms(resource->info->pathname, perms) != APR_SUCCESS) {
if (apr_setfileperms(resource->info->pathname, perms) != APR_SUCCESS) {
return dav_new_error(resource->info->pool,
HTTP_INTERNAL_SERVER_ERROR, 0,
"After a failure occurred, the resource's "
@@ -2005,7 +2005,7 @@ int dav_fs_hook_get_resource(request_rec *r, const char *root_dir,
if (resource == NULL)
return DECLINED;
(void) ap_set_userdata(resource, DAV_KEY_RESOURCE, ap_null_cleanup,
(void) apr_set_userdata(resource, DAV_KEY_RESOURCE, apr_null_cleanup,
r->pool);
return OK;
}
@@ -2020,10 +2020,10 @@ const dav_hooks_propdb *dav_fs_get_propdb_hooks(request_rec *r)
return &dav_hooks_db_dbm;
}
void dav_fs_gather_propsets(ap_array_header_t *uris)
void dav_fs_gather_propsets(apr_array_header_t *uris)
{
#ifndef WIN32
*(const char **)ap_push_array(uris) =
*(const char **)apr_push_array(uris) =
"<http://apache.org/dav/propset/fs/1>";
#endif
}
@@ -2046,7 +2046,7 @@ void dav_fs_insert_all_liveprops(request_rec *r, const dav_resource *resource,
dav_fs_insert_all(resource, insvalue, phdr);
}
void dav_fs_register_uris(ap_pool_t *p)
void dav_fs_register_uris(apr_pool_t *p)
{
const char * const * uris = dav_fs_namespace_uris;

View File

@@ -66,10 +66,10 @@
/* ensure that our state subdirectory is present */
void dav_fs_ensure_state_dir(ap_pool_t *p, const char *dirname);
void dav_fs_ensure_state_dir(apr_pool_t *p, const char *dirname);
/* return the storage pool associated with a resource */
ap_pool_t *dav_fs_pool(const dav_resource *resource);
apr_pool_t *dav_fs_pool(const dav_resource *resource);
/* return the full pathname for a resource */
const char *dav_fs_pathname(const dav_resource *resource);
@@ -87,9 +87,9 @@ dav_error * dav_fs_get_locknull_members(const dav_resource *resource,
/* DBM functions used by the repository and locking providers */
extern const dav_hooks_db dav_hooks_db_dbm;
dav_error * dav_dbm_open_direct(ap_pool_t *p, const char *pathname, int ro,
dav_error * dav_dbm_open_direct(apr_pool_t *p, const char *pathname, int ro,
dav_db **pdb);
void dav_dbm_get_statefiles(ap_pool_t *p, const char *fname,
void dav_dbm_get_statefiles(apr_pool_t *p, const char *fname,
const char **state1, const char **state2);
/* where is the lock database located? */
@@ -100,12 +100,12 @@ int dav_fs_hook_get_resource(request_rec *r, const char *root_dir,
const dav_hooks_locks *dav_fs_get_lock_hooks(request_rec *r);
const dav_hooks_propdb *dav_fs_get_propdb_hooks(request_rec *r);
void dav_fs_gather_propsets(ap_array_header_t *uris);
void dav_fs_gather_propsets(apr_array_header_t *uris);
int dav_fs_find_liveprop(request_rec *r, const char *ns_uri, const char *name,
const dav_hooks_liveprop **hooks);
void dav_fs_insert_all_liveprops(request_rec *r, const dav_resource *resource,
int insvalue, ap_text_header *phdr);
void dav_fs_register_uris(ap_pool_t *p);
void dav_fs_register_uris(apr_pool_t *p);
#endif /* _DAV_FS_REPOS_H_ */

View File

@@ -62,18 +62,18 @@
#include "mod_dav.h"
static ap_hash_t *dav_liveprop_uris = NULL;
static apr_hash_t *dav_liveprop_uris = NULL;
static int dav_liveprop_count = 0;
static ap_status_t dav_cleanup_liveprops(void *ctx)
static apr_status_t dav_cleanup_liveprops(void *ctx)
{
dav_liveprop_uris = NULL;
dav_liveprop_count = 0;
return APR_SUCCESS;
}
void dav_register_liveprop_namespace(ap_pool_t *p, const char *uri)
void dav_register_liveprop_namespace(apr_pool_t *p, const char *uri)
{
int value;
@@ -81,23 +81,23 @@ void dav_register_liveprop_namespace(ap_pool_t *p, const char *uri)
p = ap_global_hook_pool;
if (dav_liveprop_uris == NULL) {
dav_liveprop_uris = ap_make_hash(p);
ap_register_cleanup(p, NULL, dav_cleanup_liveprops, ap_null_cleanup);
dav_liveprop_uris = apr_make_hash(p);
apr_register_cleanup(p, NULL, dav_cleanup_liveprops, apr_null_cleanup);
}
value = (int)ap_hash_get(dav_liveprop_uris, uri, 0);
value = (int)apr_hash_get(dav_liveprop_uris, uri, 0);
if (value != 0) {
/* already registered */
return;
}
/* start at 1, and count up */
ap_hash_set(dav_liveprop_uris, uri, 0, (void *)++dav_liveprop_count);
apr_hash_set(dav_liveprop_uris, uri, 0, (void *)++dav_liveprop_count);
}
int dav_get_liveprop_ns_index(const char *uri)
{
return (int)ap_hash_get(dav_liveprop_uris, uri, 0);
return (int)apr_hash_get(dav_liveprop_uris, uri, 0);
}
int dav_get_liveprop_ns_count(void)
@@ -105,18 +105,18 @@ int dav_get_liveprop_ns_count(void)
return dav_liveprop_count;
}
void dav_add_all_liveprop_xmlns(ap_pool_t *p, ap_text_header *phdr)
void dav_add_all_liveprop_xmlns(apr_pool_t *p, ap_text_header *phdr)
{
ap_hash_index_t *idx = ap_hash_first(dav_liveprop_uris);
apr_hash_index_t *idx = apr_hash_first(dav_liveprop_uris);
for ( ; idx != NULL; idx = ap_hash_next(idx) ) {
for ( ; idx != NULL; idx = apr_hash_next(idx) ) {
const void *key;
void *val;
const char *s;
ap_hash_this(idx, &key, NULL, &val);
apr_hash_this(idx, &key, NULL, &val);
s = ap_psprintf(p, " xmlns:lp%d=\"%s\"", (int)val, key);
s = apr_psprintf(p, " xmlns:lp%d=\"%s\"", (int)val, key);
ap_text_append(p, phdr, s);
}
}

View File

@@ -108,7 +108,7 @@ typedef struct {
int handle_get; /* cached from repository hook structure */
int allow_depthinfinity;
ap_table_t *d_params; /* per-directory DAV config parameters */
apr_table_t *d_params; /* per-directory DAV config parameters */
} dav_dir_conf;
@@ -125,7 +125,7 @@ typedef struct {
/* forward-declare for use in configuration lookup */
extern module MODULE_VAR_EXPORT dav_module;
static void dav_init_handler(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp,
static void dav_init_handler(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp,
server_rec *s)
{
/* DBG0("dav_init_handler"); */
@@ -133,23 +133,23 @@ static void dav_init_handler(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp,
ap_add_version_component(p, "DAV/" DAV_VERSION);
}
static void *dav_create_server_config(ap_pool_t *p, server_rec *s)
static void *dav_create_server_config(apr_pool_t *p, server_rec *s)
{
dav_server_conf *newconf;
newconf = (dav_server_conf *) ap_pcalloc(p, sizeof(*newconf));
newconf = (dav_server_conf *) apr_pcalloc(p, sizeof(*newconf));
dav_create_uuid_state(&newconf->st);
return newconf;
}
static void *dav_merge_server_config(ap_pool_t *p, void *base, void *overrides)
static void *dav_merge_server_config(apr_pool_t *p, void *base, void *overrides)
{
dav_server_conf *child = overrides;
dav_server_conf *newconf;
newconf = (dav_server_conf *) ap_pcalloc(p, sizeof(*newconf));
newconf = (dav_server_conf *) apr_pcalloc(p, sizeof(*newconf));
/* ### hmm. we should share the uuid state rather than copy it. if we
### do another merge, then we'll just get the old one, rather than
@@ -161,24 +161,24 @@ static void *dav_merge_server_config(ap_pool_t *p, void *base, void *overrides)
return newconf;
}
static void *dav_create_dir_config(ap_pool_t *p, char *dir)
static void *dav_create_dir_config(apr_pool_t *p, char *dir)
{
/* NOTE: dir==NULL creates the default per-dir config */
dav_dir_conf *conf;
conf = (dav_dir_conf *) ap_pcalloc(p, sizeof(*conf));
conf->dir = ap_pstrdup(p, dir);
conf->d_params = ap_make_table(p, 1);
conf = (dav_dir_conf *) apr_pcalloc(p, sizeof(*conf));
conf->dir = apr_pstrdup(p, dir);
conf->d_params = apr_make_table(p, 1);
return conf;
}
static void *dav_merge_dir_config(ap_pool_t *p, void *base, void *overrides)
static void *dav_merge_dir_config(apr_pool_t *p, void *base, void *overrides)
{
dav_dir_conf *parent = base;
dav_dir_conf *child = overrides;
dav_dir_conf *newconf = (dav_dir_conf *) ap_pcalloc(p, sizeof(*newconf));
dav_dir_conf *newconf = (dav_dir_conf *) apr_pcalloc(p, sizeof(*newconf));
/* DBG3("dav_merge_dir_config: new=%08lx base=%08lx overrides=%08lx",
(long)newconf, (long)base, (long)overrides); */
@@ -189,8 +189,8 @@ static void *dav_merge_dir_config(ap_pool_t *p, void *base, void *overrides)
newconf->allow_depthinfinity = DAV_INHERIT_VALUE(parent, child,
allow_depthinfinity);
newconf->d_params = ap_copy_table(p, parent->d_params);
ap_overlap_tables(newconf->d_params, child->d_params,
newconf->d_params = apr_copy_table(p, parent->d_params);
apr_overlap_tables(newconf->d_params, child->d_params,
AP_OVERLAP_TABLES_SET);
return newconf;
@@ -205,7 +205,7 @@ uuid_state *dav_get_uuid_state(const request_rec *r)
return &conf->st;
}
ap_table_t *dav_get_dir_params(const request_rec *r)
apr_table_t *dav_get_dir_params(const request_rec *r)
{
dav_dir_conf *conf;
@@ -218,10 +218,10 @@ const dav_hooks_locks *dav_get_lock_hooks(request_rec *r)
void *data;
const dav_hooks_locks *hooks;
(void) ap_get_userdata(&data, DAV_KEY_LOCK_HOOKS, r->pool);
(void) apr_get_userdata(&data, DAV_KEY_LOCK_HOOKS, r->pool);
if (data == NULL) {
hooks = ap_run_get_lock_hooks(r);
(void) ap_set_userdata(hooks, DAV_KEY_LOCK_HOOKS, ap_null_cleanup,
(void) apr_set_userdata(hooks, DAV_KEY_LOCK_HOOKS, apr_null_cleanup,
r->pool);
}
else
@@ -234,10 +234,10 @@ const dav_hooks_propdb *dav_get_propdb_hooks(request_rec *r)
void *data;
const dav_hooks_db *hooks;
(void) ap_get_userdata(&data, DAV_KEY_PROPDB_HOOKS, r->pool);
(void) apr_get_userdata(&data, DAV_KEY_PROPDB_HOOKS, r->pool);
if (data == NULL) {
hooks = ap_run_get_propdb_hooks(r);
(void) ap_set_userdata(hooks, DAV_KEY_PROPDB_HOOKS, ap_null_cleanup,
(void) apr_set_userdata(hooks, DAV_KEY_PROPDB_HOOKS, apr_null_cleanup,
r->pool);
}
else
@@ -250,10 +250,10 @@ const dav_hooks_vsn *dav_get_vsn_hooks(request_rec *r)
void *data;
const dav_hooks_vsn *hooks;
(void) ap_get_userdata(&data, DAV_KEY_VSN_HOOKS, r->pool);
(void) apr_get_userdata(&data, DAV_KEY_VSN_HOOKS, r->pool);
if (data == NULL) {
hooks = ap_run_get_vsn_hooks(r);
(void) ap_set_userdata(hooks, DAV_KEY_VSN_HOOKS, ap_null_cleanup,
(void) apr_set_userdata(hooks, DAV_KEY_VSN_HOOKS, apr_null_cleanup,
r->pool);
}
else
@@ -313,7 +313,7 @@ static const char *dav_cmd_davparam(cmd_parms *cmd, void *config,
{
dav_dir_conf *conf = (dav_dir_conf *) config;
ap_table_set(conf->d_params, arg1, arg2);
apr_table_set(conf->d_params, arg1, arg2);
return NULL;
}
@@ -361,7 +361,7 @@ static int dav_error_response(request_rec *r, int status, const char *body)
** in a URI (to form a query section). We must explicitly handle it so that
** we can embed the URI into an XML document.
*/
static const char *dav_xml_escape_uri(ap_pool_t *p, const char *uri)
static const char *dav_xml_escape_uri(apr_pool_t *p, const char *uri)
{
const char *e_uri = ap_escape_uri(p, uri);
@@ -380,7 +380,7 @@ static const char *dav_xml_escape_uri(ap_pool_t *p, const char *uri)
static void dav_send_multistatus(request_rec *r, int status,
dav_response *first,
ap_array_header_t *namespaces)
apr_array_header_t *namespaces)
{
/* Set the correct status and Content-Type */
r->status = status;
@@ -501,7 +501,7 @@ static int dav_handle_err(request_rec *r, dav_error *err,
if (response == NULL) {
/* our error messages are safe; tell Apache this */
ap_table_setn(r->notes, "verbose-error-to", "*");
apr_table_setn(r->notes, "verbose-error-to", "*");
return err->status;
}
@@ -537,14 +537,14 @@ static int dav_created(request_rec *r, request_rec *rnew,
* ### the Location header requires an absoluteURI. where to get it? */
/* ### disable until we get the right value */
#if 0
ap_table_setn(r->headers_out, "Location", rnew->uri);
apr_table_setn(r->headers_out, "Location", rnew->uri);
#endif
/* ### insert an ETag header? see HTTP/1.1 S10.2.2 */
/* Apache doesn't allow us to set a variable body for HTTP_CREATED, so
* we must manufacture the entire response. */
body = ap_psprintf(r->pool, "%s %s has been created.",
body = apr_psprintf(r->pool, "%s %s has been created.",
what,
ap_escape_html(rnew->pool, rnew->uri));
return dav_error_response(r, HTTP_CREATED, body);
@@ -553,7 +553,7 @@ static int dav_created(request_rec *r, request_rec *rnew,
/* ### move to dav_util? */
int dav_get_depth(request_rec *r, int def_depth)
{
const char *depth = ap_table_get(r->headers_in, "Depth");
const char *depth = apr_table_get(r->headers_in, "Depth");
if (depth == NULL) {
return def_depth;
@@ -577,7 +577,7 @@ int dav_get_depth(request_rec *r, int def_depth)
static int dav_get_overwrite(request_rec *r)
{
const char *overwrite = ap_table_get(r->headers_in, "Overwrite");
const char *overwrite = apr_table_get(r->headers_in, "Overwrite");
if (overwrite == NULL) {
return 1; /* default is "T" */
@@ -603,7 +603,7 @@ static int dav_get_resource(request_rec *r, dav_resource **res_p)
void *data;
/* go look for the resource if it isn't already present */
(void) ap_get_userdata(&data, DAV_KEY_RESOURCE, r->pool);
(void) apr_get_userdata(&data, DAV_KEY_RESOURCE, r->pool);
if (data == NULL) {
dav_dir_conf *conf;
int rv;
@@ -619,7 +619,7 @@ static int dav_get_resource(request_rec *r, dav_resource **res_p)
else if (rv != OK)
return rv;
(void) ap_get_userdata(&data, DAV_KEY_RESOURCE, r->pool);
(void) apr_get_userdata(&data, DAV_KEY_RESOURCE, r->pool);
}
*res_p = data;
@@ -647,11 +647,11 @@ static int dav_parse_range(request_rec *r,
char *dash;
char *slash;
range_c = ap_table_get(r->headers_in, "content-range");
range_c = apr_table_get(r->headers_in, "content-range");
if (range_c == NULL)
return 0;
range = ap_pstrdup(r->pool, range_c);
range = apr_pstrdup(r->pool, range_c);
if (strncasecmp(range, "bytes ", 6) != 0
|| (dash = ap_strchr(range, '-')) == NULL
|| (slash = ap_strchr(range, '/')) == NULL) {
@@ -783,9 +783,9 @@ static int dav_method_get(request_rec *r)
/* prep the output */
r->status = HTTP_PARTIAL_CONTENT;
ap_table_setn(r->headers_out,
apr_table_setn(r->headers_out,
"Content-Range",
ap_psprintf(r->pool, "bytes %ld-%ld/*",
apr_psprintf(r->pool, "bytes %ld-%ld/*",
range_start, range_end));
ap_set_content_length(r, range_end - range_start + 1);
}
@@ -799,7 +799,7 @@ static int dav_method_get(request_rec *r)
&stream)) != NULL) {
/* ### assuming FORBIDDEN is probably not quite right... */
err = dav_push_error(r->pool, HTTP_FORBIDDEN, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Unable to GET contents for %s.",
ap_escape_html(r->pool, r->uri)),
err);
@@ -818,7 +818,7 @@ static int dav_method_get(request_rec *r)
/* all set. send the headers now. */
ap_send_http_header(r);
buffer = ap_palloc(r->pool, DAV_READ_BLOCKSIZE);
buffer = apr_palloc(r->pool, DAV_READ_BLOCKSIZE);
while (1) {
size_t amt;
@@ -923,7 +923,7 @@ static int dav_method_put(request_rec *r)
/* If not a file or collection resource, PUT not allowed */
if (resource->type != DAV_RESOURCE_TYPE_REGULAR) {
body = ap_psprintf(r->pool,
body = apr_psprintf(r->pool,
"Cannot create resource %s with PUT.",
ap_escape_html(r->pool, r->uri));
return dav_error_response(r, HTTP_CONFLICT, body);
@@ -979,7 +979,7 @@ static int dav_method_put(request_rec *r)
&stream)) != NULL) {
/* ### assuming FORBIDDEN is probably not quite right... */
err = dav_push_error(r->pool, HTTP_FORBIDDEN, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Unable to PUT new contents for %s.",
ap_escape_html(r->pool, r->uri)),
err);
@@ -992,7 +992,7 @@ static int dav_method_put(request_rec *r)
if (err == NULL) {
if (ap_should_client_block(r)) {
char *buffer = ap_palloc(r->pool, DAV_READ_BLOCKSIZE);
char *buffer = apr_palloc(r->pool, DAV_READ_BLOCKSIZE);
long len;
/*
@@ -1109,8 +1109,8 @@ void dav_add_response(dav_walker_ctx *ctx, const char *href, int status,
dav_response *resp;
/* just drop some data into an dav_response */
resp = ap_pcalloc(ctx->pool, sizeof(*resp));
resp->href = ap_pstrdup(ctx->pool, href);
resp = apr_pcalloc(ctx->pool, sizeof(*resp));
resp->href = apr_pstrdup(ctx->pool, href);
resp->status = status;
if (propstats) {
resp->propresult = *propstats;
@@ -1169,7 +1169,7 @@ static int dav_method_delete(request_rec *r)
/* ### allow DAV_RESOURCE_TYPE_REVISION with All-Bindings header */
if (resource->type != DAV_RESOURCE_TYPE_REGULAR &&
resource->type != DAV_RESOURCE_TYPE_WORKSPACE) {
body = ap_psprintf(r->pool,
body = apr_psprintf(r->pool,
"Cannot delete resource %s.",
ap_escape_html(r->pool, r->uri));
return dav_error_response(r, HTTP_CONFLICT, body);
@@ -1188,7 +1188,7 @@ static int dav_method_delete(request_rec *r)
DAV_VALIDATE_PARENT
| DAV_VALIDATE_USE_424, NULL)) != NULL) {
err = dav_push_error(r->pool, err->status, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Could not DELETE %s due to a failed "
"precondition (e.g. locks).",
ap_escape_html(r->pool, r->uri)),
@@ -1223,7 +1223,7 @@ static int dav_method_delete(request_rec *r)
/* check for errors now */
if (err != NULL) {
err = dav_push_error(r->pool, err->status, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Could not DELETE %s.",
ap_escape_html(r->pool, r->uri)),
err);
@@ -1255,7 +1255,7 @@ static int dav_method_options(request_rec *r)
const char *dav_level;
const char *vsn_level;
int result;
ap_array_header_t *uri_ary;
apr_array_header_t *uri_ary;
const char *uris;
/* per HTTP/1.1 S9.2, we can discard this body */
@@ -1283,15 +1283,15 @@ static int dav_method_options(request_rec *r)
}
/* gather property set URIs from all the liveprop providers */
uri_ary = ap_make_array(r->pool, 5, sizeof(const char *));
uri_ary = apr_make_array(r->pool, 5, sizeof(const char *));
ap_run_gather_propsets(uri_ary);
uris = ap_array_pstrcat(r->pool, uri_ary, ',');
uris = apr_array_pstrcat(r->pool, uri_ary, ',');
if (*uris) {
dav_level = ap_pstrcat(r->pool, dav_level, ",", uris, NULL);
dav_level = apr_pstrcat(r->pool, dav_level, ",", uris, NULL);
}
/* this tells MSFT products to skip looking for FrontPage extensions */
ap_table_setn(r->headers_out, "MS-Author-Via", "DAV");
apr_table_setn(r->headers_out, "MS-Author-Via", "DAV");
/*
** Three cases: resource is null (3), is lock-null (7.4), or exists.
@@ -1308,7 +1308,7 @@ static int dav_method_options(request_rec *r)
case DAV_RESOURCE_EXISTS:
/* resource exists */
if (resource->collection) {
options = ap_pstrcat(r->pool,
options = apr_pstrcat(r->pool,
"OPTIONS, "
"GET, HEAD, POST, DELETE, TRACE, "
"PROPFIND, PROPPATCH, COPY, MOVE",
@@ -1317,7 +1317,7 @@ static int dav_method_options(request_rec *r)
}
else {
/* files also support PUT */
options = ap_pstrcat(r->pool,
options = apr_pstrcat(r->pool,
"OPTIONS, "
"GET, HEAD, POST, DELETE, TRACE, "
"PROPFIND, PROPPATCH, COPY, MOVE, PUT",
@@ -1328,14 +1328,14 @@ static int dav_method_options(request_rec *r)
case DAV_RESOURCE_LOCK_NULL:
/* resource is lock-null. */
options = ap_pstrcat(r->pool, "OPTIONS, MKCOL, PUT, PROPFIND",
options = apr_pstrcat(r->pool, "OPTIONS, MKCOL, PUT, PROPFIND",
locks_hooks != NULL ? ", LOCK, UNLOCK" : "",
NULL);
break;
case DAV_RESOURCE_NULL:
/* resource is null. */
options = ap_pstrcat(r->pool, "OPTIONS, MKCOL, PUT",
options = apr_pstrcat(r->pool, "OPTIONS, MKCOL, PUT",
locks_hooks != NULL ? ", LOCK" : "",
NULL);
break;
@@ -1365,14 +1365,14 @@ static int dav_method_options(request_rec *r)
vsn_options = ", CHECKOUT";
if (vsn_options != NULL)
options = ap_pstrcat(r->pool, options, vsn_options, NULL);
options = apr_pstrcat(r->pool, options, vsn_options, NULL);
}
ap_table_setn(r->headers_out, "Allow", options);
ap_table_setn(r->headers_out, "DAV", dav_level);
apr_table_setn(r->headers_out, "Allow", options);
apr_table_setn(r->headers_out, "DAV", dav_level);
if (vsn_level != NULL)
ap_table_setn(r->headers_out, "Versioning", vsn_level);
apr_table_setn(r->headers_out, "Versioning", vsn_level);
/* ### this will send a Content-Type. the default OPTIONS does not. */
ap_send_http_header(r);
@@ -1496,7 +1496,7 @@ static int dav_method_propfind(request_rec *r)
/* default is to DISALLOW these requests */
if (conf->allow_depthinfinity != DAV_ENABLED_ON) {
return dav_error_response(r, HTTP_FORBIDDEN,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"PROPFIND requests with a "
"Depth of \"infinity\" are "
"not allowed for %s.",
@@ -1593,8 +1593,8 @@ static int dav_method_propfind(request_rec *r)
return DONE;
}
static ap_text * dav_failed_proppatch(ap_pool_t *p,
ap_array_header_t *prop_ctx)
static ap_text * dav_failed_proppatch(apr_pool_t *p,
apr_array_header_t *prop_ctx)
{
ap_text_header hdr = { 0 };
int i = prop_ctx->nelts;
@@ -1634,7 +1634,7 @@ static ap_text * dav_failed_proppatch(ap_pool_t *p,
}
}
s = ap_psprintf(p,
s = apr_psprintf(p,
"<D:status>"
"HTTP/1.1 %d (status)"
"</D:status>" DEBUG_CR,
@@ -1654,7 +1654,7 @@ static ap_text * dav_failed_proppatch(ap_pool_t *p,
return hdr.first;
}
static ap_text * dav_success_proppatch(ap_pool_t *p, ap_array_header_t *prop_ctx)
static ap_text * dav_success_proppatch(apr_pool_t *p, apr_array_header_t *prop_ctx)
{
ap_text_header hdr = { 0 };
int i = prop_ctx->nelts;
@@ -1697,7 +1697,7 @@ static void dav_prop_log_errors(dav_prop_ctx *ctx)
** reverse order.
*/
static int dav_process_ctx_list(void (*func)(dav_prop_ctx *ctx),
ap_array_header_t *ctx_list, int stop_on_error,
apr_array_header_t *ctx_list, int stop_on_error,
int reverse)
{
int i = ctx_list->nelts;
@@ -1734,7 +1734,7 @@ static int dav_method_proppatch(request_rec *r)
int failure = 0;
dav_response resp = { 0 };
ap_text *propstat_text;
ap_array_header_t *ctx_list;
apr_array_header_t *ctx_list;
dav_prop_ctx *ctx;
/* Ask repository module to resolve the resource */
@@ -1770,7 +1770,7 @@ static int dav_method_proppatch(request_rec *r)
if ((err = dav_open_propdb(r, NULL, resource, 0, doc->namespaces,
&propdb)) != NULL) {
err = dav_push_error(r->pool, HTTP_INTERNAL_SERVER_ERROR, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Could not open the property "
"database for %s.",
ap_escape_html(r->pool, r->uri)),
@@ -1782,7 +1782,7 @@ static int dav_method_proppatch(request_rec *r)
/* ### validate "live" properties */
/* set up an array to hold property operation contexts */
ctx_list = ap_make_array(r->pool, 10, sizeof(dav_prop_ctx));
ctx_list = apr_make_array(r->pool, 10, sizeof(dav_prop_ctx));
/* do a first pass to ensure that all "remove" properties exist */
for (child = doc->root->first_child; child; child = child->next) {
@@ -1811,7 +1811,7 @@ static int dav_method_proppatch(request_rec *r)
for (one_prop = prop_group->first_child; one_prop;
one_prop = one_prop->next) {
ctx = (dav_prop_ctx *)ap_push_array(ctx_list);
ctx = (dav_prop_ctx *)apr_push_array(ctx_list);
ctx->propdb = propdb;
ctx->operation = is_remove ? DAV_PROP_OP_DELETE : DAV_PROP_OP_SET;
ctx->prop = one_prop;
@@ -1867,8 +1867,8 @@ static int process_mkcol_body(request_rec *r)
* return HTTP_UNSUPPORTED_MEDIA_TYPE (while ap_setup_client_block
* returns HTTP_REQUEST_ENTITY_TOO_LARGE). */
const char *tenc = ap_table_get(r->headers_in, "Transfer-Encoding");
const char *lenp = ap_table_get(r->headers_in, "Content-Length");
const char *tenc = apr_table_get(r->headers_in, "Transfer-Encoding");
const char *lenp = apr_table_get(r->headers_in, "Content-Length");
/* make sure to set the Apache request fields properly. */
r->read_body = REQUEST_NO_BODY;
@@ -2073,21 +2073,21 @@ static int dav_method_copymove(request_rec *r, int is_move)
/* If not a file or collection resource, COPY/MOVE not allowed */
if (resource->type != DAV_RESOURCE_TYPE_REGULAR) {
body = ap_psprintf(r->pool,
body = apr_psprintf(r->pool,
"Cannot COPY/MOVE resource %s.",
ap_escape_html(r->pool, r->uri));
return dav_error_response(r, HTTP_METHOD_NOT_ALLOWED, body);
}
/* get the destination URI */
dest = ap_table_get(r->headers_in, "Destination");
dest = apr_table_get(r->headers_in, "Destination");
if (dest == NULL) {
/* Look in headers provided by Netscape's Roaming Profiles */
const char *nscp_host = ap_table_get(r->headers_in, "Host");
const char *nscp_path = ap_table_get(r->headers_in, "New-uri");
const char *nscp_host = apr_table_get(r->headers_in, "Host");
const char *nscp_path = apr_table_get(r->headers_in, "New-uri");
if (nscp_host != NULL && nscp_path != NULL)
dest = ap_psprintf(r->pool, "http://%s%s", nscp_host, nscp_path);
dest = apr_psprintf(r->pool, "http://%s%s", nscp_host, nscp_path);
}
if (dest == NULL) {
/* This supplies additional information for the default message. */
@@ -2195,7 +2195,7 @@ static int dav_method_copymove(request_rec *r, int is_move)
| DAV_VALIDATE_USE_424,
NULL)) != NULL) {
err = dav_push_error(r->pool, err->status, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Could not MOVE %s due to a failed "
"precondition on the source "
"(e.g. locks).",
@@ -2219,7 +2219,7 @@ static int dav_method_copymove(request_rec *r, int is_move)
DAV_VALIDATE_PARENT
| DAV_VALIDATE_USE_424, NULL)) != NULL) {
err = dav_push_error(r->pool, err->status, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Could not MOVE/COPY %s due to a "
"failed precondition on the "
"destination (e.g. locks).",
@@ -2366,7 +2366,7 @@ static int dav_method_copymove(request_rec *r, int is_move)
(*lockdb->hooks->close_lockdb)(lockdb);
err = dav_push_error(r->pool, err->status, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Could not MOVE/COPY %s.",
ap_escape_html(r->pool, r->uri)),
err);
@@ -2470,7 +2470,7 @@ static int dav_method_lock(request_rec *r)
}
new_lock_request = 1;
lock->auth_user = ap_pstrdup(r->pool, r->user);
lock->auth_user = apr_pstrdup(r->pool, r->user);
}
resource_state = dav_get_resource_state(r, resource);
@@ -2490,7 +2490,7 @@ static int dav_method_lock(request_rec *r)
| DAV_VALIDATE_ADD_LD,
lockdb)) != OK) {
err = dav_push_error(r->pool, err->status, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Could not LOCK %s due to a failed "
"precondition (e.g. other locks).",
ap_escape_html(r->pool, r->uri)),
@@ -2511,7 +2511,7 @@ static int dav_method_lock(request_rec *r)
if ((err = dav_get_locktoken_list(r, &ltl)) != NULL) {
err = dav_push_error(r->pool, err->status, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"The lock refresh for %s failed "
"because no lock tokens were "
"specified in an \"If:\" "
@@ -2546,11 +2546,11 @@ static int dav_method_lock(request_rec *r)
goto error;
}
locktoken_txt = ap_pstrcat(r->pool, "<",
locktoken_txt = apr_pstrcat(r->pool, "<",
(*locks_hooks->format_locktoken)(r->pool, lock->locktoken),
">", NULL);
ap_table_set(r->headers_out, "Lock-Token", locktoken_txt);
apr_table_set(r->headers_out, "Lock-Token", locktoken_txt);
}
(*locks_hooks->close_lockdb)(lockdb);
@@ -2600,13 +2600,13 @@ static int dav_method_unlock(request_rec *r)
if (locks_hooks == NULL)
return DECLINED;
if ((const_locktoken_txt = ap_table_get(r->headers_in, "Lock-Token")) == NULL) {
if ((const_locktoken_txt = apr_table_get(r->headers_in, "Lock-Token")) == NULL) {
ap_log_rerror(APLOG_MARK, APLOG_ERR | APLOG_NOERRNO, 0, r,
"Unlock failed (%s): No Lock-Token specified in header", r->filename);
return HTTP_BAD_REQUEST;
}
locktoken_txt = ap_pstrdup(r->pool, const_locktoken_txt);
locktoken_txt = apr_pstrdup(r->pool, const_locktoken_txt);
if (locktoken_txt[0] != '<') {
/* ### should provide more specifics... */
return HTTP_BAD_REQUEST;
@@ -2622,7 +2622,7 @@ static int dav_method_unlock(request_rec *r)
if ((err = (*locks_hooks->parse_locktoken)(r->pool, locktoken_txt,
&locktoken)) != NULL) {
err = dav_push_error(r->pool, HTTP_BAD_REQUEST, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"The UNLOCK on %s failed -- an "
"invalid lock token was specified "
"in the \"If:\" header.",
@@ -2735,7 +2735,7 @@ static int dav_method_checkout(request_rec *r)
/* Do the checkout */
if ((err = (*vsn_hooks->checkout)(resource)) != NULL) {
err = dav_push_error(r->pool, HTTP_CONFLICT, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Could not CHECKOUT resource %s.",
ap_escape_html(r->pool, r->uri)),
err);
@@ -2797,7 +2797,7 @@ static int dav_method_uncheckout(request_rec *r)
/* Do the uncheckout */
if ((err = (*vsn_hooks->uncheckout)(resource)) != NULL) {
err = dav_push_error(r->pool, HTTP_CONFLICT, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Could not UNCHECKOUT resource %s.",
ap_escape_html(r->pool, r->uri)),
err);
@@ -2859,7 +2859,7 @@ static int dav_method_checkin(request_rec *r)
/* Do the checkin */
if ((err = (*vsn_hooks->checkin)(resource)) != NULL) {
err = dav_push_error(r->pool, HTTP_CONFLICT, 0,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Could not CHECKIN resource %s.",
ap_escape_html(r->pool, r->uri)),
err);
@@ -3145,7 +3145,7 @@ AP_IMPLEMENT_HOOK_RUN_FIRST(const dav_hooks_db *, get_propdb_hooks,
(request_rec *r), (r), NULL);
AP_IMPLEMENT_HOOK_RUN_FIRST(const dav_hooks_vsn *, get_vsn_hooks,
(request_rec *r), (r), NULL);
AP_IMPLEMENT_HOOK_VOID(gather_propsets, (ap_array_header_t *uris), (uris))
AP_IMPLEMENT_HOOK_VOID(gather_propsets, (apr_array_header_t *uris), (uris))
AP_IMPLEMENT_HOOK_RUN_FIRST(int, find_liveprop,
(request_rec *r,
const char *ns_uri, const char *name,

View File

@@ -135,7 +135,7 @@ typedef struct dav_error {
struct dav_error *prev; /* previous error (in stack) */
/* deferred computation of the description */
void (*compute_desc)(struct dav_error *err, ap_pool_t *p);
void (*compute_desc)(struct dav_error *err, apr_pool_t *p);
int ctx_i;
const char *ctx_s;
void *ctx_p;
@@ -146,7 +146,7 @@ typedef struct dav_error {
** Create a new error structure. save_errno will be filled with the current
** errno value.
*/
dav_error *dav_new_error(ap_pool_t *p, int status, int error_id, const char *desc);
dav_error *dav_new_error(apr_pool_t *p, int status, int error_id, const char *desc);
/*
** Push a new error description onto the stack of errors.
@@ -161,7 +161,7 @@ dav_error *dav_new_error(ap_pool_t *p, int status, int error_id, const char *des
** <error_id> can specify a new error_id since the topmost description has
** changed.
*/
dav_error *dav_push_error(ap_pool_t *p, int status, int error_id, const char *desc,
dav_error *dav_push_error(apr_pool_t *p, int status, int error_id, const char *desc,
dav_error *prev);
@@ -304,31 +304,31 @@ typedef struct dav_locktoken dav_locktoken;
/* buffer for reuse; can grow to accomodate needed size */
typedef struct
{
ap_size_t alloc_len; /* how much has been allocated */
ap_size_t cur_len; /* how much is currently being used */
apr_size_t alloc_len; /* how much has been allocated */
apr_size_t cur_len; /* how much is currently being used */
char *buf; /* buffer contents */
} dav_buffer;
#define DAV_BUFFER_MINSIZE 256 /* minimum size for buffer */
#define DAV_BUFFER_PAD 64 /* amount of pad when growing */
/* set the cur_len to the given size and ensure space is available */
void dav_set_bufsize(ap_pool_t *p, dav_buffer *pbuf, ap_size_t size);
void dav_set_bufsize(apr_pool_t *p, dav_buffer *pbuf, apr_size_t size);
/* initialize a buffer and copy the specified (null-term'd) string into it */
void dav_buffer_init(ap_pool_t *p, dav_buffer *pbuf, const char *str);
void dav_buffer_init(apr_pool_t *p, dav_buffer *pbuf, const char *str);
/* check that the buffer can accomodate <extra_needed> more bytes */
void dav_check_bufsize(ap_pool_t *p, dav_buffer *pbuf, ap_size_t extra_needed);
void dav_check_bufsize(apr_pool_t *p, dav_buffer *pbuf, apr_size_t extra_needed);
/* append a string to the end of the buffer, adjust length */
void dav_buffer_append(ap_pool_t *p, dav_buffer *pbuf, const char *str);
void dav_buffer_append(apr_pool_t *p, dav_buffer *pbuf, const char *str);
/* place a string on the end of the buffer, do NOT adjust length */
void dav_buffer_place(ap_pool_t *p, dav_buffer *pbuf, const char *str);
void dav_buffer_place(apr_pool_t *p, dav_buffer *pbuf, const char *str);
/* place some memory on the end of a buffer; do NOT adjust length */
void dav_buffer_place_mem(ap_pool_t *p, dav_buffer *pbuf, const void *mem,
ap_size_t amt, ap_size_t pad);
void dav_buffer_place_mem(apr_pool_t *p, dav_buffer *pbuf, const void *mem,
apr_size_t amt, apr_size_t pad);
/* --------------------------------------------------------------------
@@ -393,7 +393,7 @@ AP_DECLARE_HOOK(const dav_hooks_locks *, get_lock_hooks, (request_rec *r))
AP_DECLARE_HOOK(const dav_hooks_propdb *, get_propdb_hooks, (request_rec *r))
AP_DECLARE_HOOK(const dav_hooks_vsn *, get_vsn_hooks, (request_rec *r))
AP_DECLARE_HOOK(void, gather_propsets, (ap_array_header_t *uris))
AP_DECLARE_HOOK(void, gather_propsets, (apr_array_header_t *uris))
AP_DECLARE_HOOK(int, find_liveprop, (request_rec *r,
const char *ns_uri, const char *name,
const dav_hooks_liveprop **hooks))
@@ -411,10 +411,10 @@ const dav_hooks_locks *dav_get_lock_hooks(request_rec *r);
const dav_hooks_propdb *dav_get_propdb_hooks(request_rec *r);
const dav_hooks_vsn *dav_get_vsn_hooks(request_rec *r);
void dav_register_liveprop_namespace(ap_pool_t *pool, const char *uri);
void dav_register_liveprop_namespace(apr_pool_t *pool, const char *uri);
int dav_get_liveprop_ns_index(const char *uri);
int dav_get_liveprop_ns_count(void);
void dav_add_all_liveprop_xmlns(ap_pool_t *p, ap_text_header *phdr);
void dav_add_all_liveprop_xmlns(apr_pool_t *p, ap_text_header *phdr);
/* ### deprecated */
@@ -472,7 +472,7 @@ typedef struct dav_if_state_list
typedef struct dav_if_header
{
const char *uri;
ap_size_t uri_len;
apr_size_t uri_len;
struct dav_if_state_list *state;
struct dav_if_header *next;
@@ -670,13 +670,13 @@ typedef struct dav_db dav_db;
typedef struct
{
char *dptr;
ap_size_t dsize;
apr_size_t dsize;
} dav_datum;
/* hook functions to enable pluggable databases */
struct dav_hooks_propdb
{
dav_error * (*open)(ap_pool_t *p, const dav_resource *resource, int ro,
dav_error * (*open)(apr_pool_t *p, const dav_resource *resource, int ro,
dav_db **pdb);
void (*close)(dav_db *db);
@@ -860,7 +860,7 @@ struct dav_hooks_locks
* in the given pool.
*/
dav_error * (*parse_locktoken)(
ap_pool_t *p,
apr_pool_t *p,
const char *char_token,
dav_locktoken **locktoken_p
);
@@ -871,7 +871,7 @@ struct dav_hooks_locks
* Always returns non-NULL.
*/
const char * (*format_locktoken)(
ap_pool_t *p,
apr_pool_t *p,
const dav_locktoken *locktoken
);
@@ -1064,7 +1064,7 @@ dav_error *dav_open_propdb(
dav_lockdb *lockdb,
dav_resource *resource,
int ro,
ap_array_header_t *ns_xlate,
apr_array_header_t *ns_xlate,
dav_propdb **propdb);
void dav_close_propdb(dav_propdb *db);
@@ -1169,7 +1169,7 @@ typedef struct dav_walker_ctx
#define DAV_CALLTYPE_LOCKNULL 3 /* called for a locknull resource */
#define DAV_CALLTYPE_POSTFIX 4 /* postfix call for a collection */
ap_pool_t *pool;
apr_pool_t *pool;
request_rec *r; /* original request */
dav_buffer uri; /* current URI */
@@ -1330,7 +1330,7 @@ struct dav_hooks_repository
** on each call, until the EOF condition is met.
*/
dav_error * (*read_stream)(dav_stream *stream,
void *buf, ap_size_t *bufsize);
void *buf, apr_size_t *bufsize);
/*
** Write data to the stream.
@@ -1338,7 +1338,7 @@ struct dav_hooks_repository
** All of the bytes must be written, or an error should be returned.
*/
dav_error * (*write_stream)(dav_stream *stream,
const void *buf, ap_size_t bufsize);
const void *buf, apr_size_t bufsize);
/*
** Seek to an absolute position in the stream. This is used to support
@@ -1387,7 +1387,7 @@ struct dav_hooks_repository
* is a collection.
*/
dav_error * (*create_collection)(
ap_pool_t *p, dav_resource *resource
apr_pool_t *p, dav_resource *resource
);
/* Copy one resource to another. The destination must not exist.
@@ -1551,10 +1551,10 @@ struct dav_hooks_vsn
*/
/* allow providers access to the per-directory parameters */
ap_table_t *dav_get_dir_params(const request_rec *r);
apr_table_t *dav_get_dir_params(const request_rec *r);
/* fetch the "LimitXMLRequestBody" in force for this resource */
ap_size_t dav_get_limit_xml_body(const request_rec *r);
apr_size_t dav_get_limit_xml_body(const request_rec *r);
typedef struct {
int propid; /* live property ID */

View File

@@ -240,7 +240,7 @@ typedef struct {
struct dav_propdb {
int version; /* *minor* version of this db */
ap_pool_t *p; /* the pool we should use */
apr_pool_t *p; /* the pool we should use */
request_rec *r; /* the request record */
dav_resource *resource; /* the target resource */
@@ -252,7 +252,7 @@ struct dav_propdb {
short ns_count; /* number of entries in table */
int ns_table_dirty; /* ns_table was modified */
ap_array_header_t *ns_xlate; /* translation of an elem->ns to URI */
apr_array_header_t *ns_xlate; /* translation of an elem->ns to URI */
int *ns_map; /* map elem->ns to propdb ns values */
int incomplete_map; /* some mappings do not exist */
@@ -488,7 +488,7 @@ static dav_error * dav_insert_coreprop(dav_propdb *propdb,
&propdb->wb_lock);
/* make a copy to isolate it from changes to wb_lock */
value = ap_pstrdup(propdb->p, propdb->wb_lock.buf);
value = apr_pstrdup(propdb->p, propdb->wb_lock.buf);
}
}
break;
@@ -515,7 +515,7 @@ static dav_error * dav_insert_coreprop(dav_propdb *propdb,
if (propdb->subreq == NULL) {
dav_do_prop_subreq(propdb);
}
if ((lang = ap_table_get(propdb->subreq->headers_out,
if ((lang = apr_table_get(propdb->subreq->headers_out,
"Content-Language")) != NULL) {
value = lang;
}
@@ -534,12 +534,12 @@ static dav_error * dav_insert_coreprop(dav_propdb *propdb,
if (getvals && *value != '\0') {
/* use D: prefix to refer to the DAV: namespace URI */
s = ap_psprintf(propdb->p, "<D:%s>%s</D:%s>" DEBUG_CR,
s = apr_psprintf(propdb->p, "<D:%s>%s</D:%s>" DEBUG_CR,
name, value, name);
}
else {
/* use D: prefix to refer to the DAV: namespace URI */
s = ap_psprintf(propdb->p, "<D:%s/>" DEBUG_CR, name);
s = apr_psprintf(propdb->p, "<D:%s/>" DEBUG_CR, name);
}
ap_text_append(propdb->p, phdr, s);
@@ -597,29 +597,29 @@ static void dav_append_prop(dav_propdb *propdb,
/* the property is an empty value */
if (*name == ':') {
/* "no namespace" case */
s = ap_psprintf(propdb->p, "<%s/>" DEBUG_CR, name+1);
s = apr_psprintf(propdb->p, "<%s/>" DEBUG_CR, name+1);
}
else {
s = ap_psprintf(propdb->p, "<ns%s/>" DEBUG_CR, name);
s = apr_psprintf(propdb->p, "<ns%s/>" DEBUG_CR, name);
}
}
else if (*lang != '\0') {
if (*name == ':') {
/* "no namespace" case */
s = ap_psprintf(propdb->p, "<%s xml:lang=\"%s\">%s</%s>" DEBUG_CR,
s = apr_psprintf(propdb->p, "<%s xml:lang=\"%s\">%s</%s>" DEBUG_CR,
name+1, lang, value, name+1);
}
else {
s = ap_psprintf(propdb->p, "<ns%s xml:lang=\"%s\">%s</ns%s>" DEBUG_CR,
s = apr_psprintf(propdb->p, "<ns%s xml:lang=\"%s\">%s</ns%s>" DEBUG_CR,
name, lang, value, name);
}
}
else if (*name == ':') {
/* "no namespace" case */
s = ap_psprintf(propdb->p, "<%s>%s</%s>" DEBUG_CR, name+1, value, name+1);
s = apr_psprintf(propdb->p, "<%s>%s</%s>" DEBUG_CR, name+1, value, name+1);
}
else {
s = ap_psprintf(propdb->p, "<ns%s>%s</ns%s>" DEBUG_CR, name, value, name);
s = apr_psprintf(propdb->p, "<ns%s>%s</ns%s>" DEBUG_CR, name, value, name);
}
ap_text_append(propdb->p, phdr, s);
}
@@ -662,7 +662,7 @@ static void dav_prep_ns_map(dav_propdb *propdb, int add_ns)
}
}
else {
propdb->ns_map = ap_palloc(propdb->p, propdb->ns_xlate->nelts * sizeof(*propdb->ns_map));
propdb->ns_map = apr_palloc(propdb->p, propdb->ns_xlate->nelts * sizeof(*propdb->ns_map));
}
pmap = propdb->ns_map;
@@ -762,12 +762,12 @@ static int dav_find_dav_id(dav_propdb *propdb)
return -1;
}
static void dav_insert_xmlns(ap_pool_t *p, const char *pre_prefix, int ns,
static void dav_insert_xmlns(apr_pool_t *p, const char *pre_prefix, int ns,
const char *ns_uri, ap_text_header *phdr)
{
const char *s;
s = ap_psprintf(p, " xmlns:%s%d=\"%s\"", pre_prefix, ns, ns_uri);
s = apr_psprintf(p, " xmlns:%s%d=\"%s\"", pre_prefix, ns, ns_uri);
ap_text_append(p, phdr, s);
}
@@ -789,7 +789,7 @@ static void dav_get_propdb_xmlns(dav_propdb *propdb, ap_text_header *phdr)
/* add a namespace decl from one of the namespace tables */
static void dav_add_marked_xmlns(dav_propdb *propdb, char *marks, int ns,
ap_array_header_t *ns_table,
apr_array_header_t *ns_table,
const char *pre_prefix,
ap_text_header *phdr)
{
@@ -945,10 +945,10 @@ static dav_error *dav_really_open_db(dav_propdb *propdb, int ro)
dav_error *dav_open_propdb(request_rec *r, dav_lockdb *lockdb,
dav_resource *resource,
int ro,
ap_array_header_t * ns_xlate,
apr_array_header_t * ns_xlate,
dav_propdb **p_propdb)
{
dav_propdb *propdb = ap_pcalloc(r->pool, sizeof(*propdb));
dav_propdb *propdb = apr_pcalloc(r->pool, sizeof(*propdb));
dav_error *err;
*p_propdb = NULL;
@@ -1191,10 +1191,10 @@ dav_get_props_result dav_get_props(dav_propdb *propdb, ap_xml_doc *doc)
/* ### the marks should be in a buffer! */
/* allocate zeroed-memory for the marks. These marks indicate which
input namespaces we've generated into the output xmlns buffer */
marks_input = ap_pcalloc(propdb->p, propdb->ns_xlate->nelts);
marks_input = apr_pcalloc(propdb->p, propdb->ns_xlate->nelts);
/* same for the liveprops */
marks_liveprop = ap_pcalloc(propdb->p, dav_get_liveprop_ns_count() + 1);
marks_liveprop = apr_pcalloc(propdb->p, dav_get_liveprop_ns_count() + 1);
for (elem = elem->first_child; elem; elem = elem->next) {
dav_datum key;
@@ -1213,7 +1213,7 @@ dav_get_props_result dav_get_props(dav_propdb *propdb, ap_xml_doc *doc)
}
if (elem->private == NULL) {
elem->private = ap_pcalloc(propdb->p, sizeof(*priv));
elem->private = apr_pcalloc(propdb->p, sizeof(*priv));
}
priv = elem->private;
@@ -1284,14 +1284,14 @@ dav_get_props_result dav_get_props(dav_propdb *propdb, ap_xml_doc *doc)
* elem has a prefix already (xml...:name) or the elem
* simply has no namespace.
*/
s = ap_psprintf(propdb->p, "<%s/>" DEBUG_CR, elem->name);
s = apr_psprintf(propdb->p, "<%s/>" DEBUG_CR, elem->name);
}
else {
/* ensure that an xmlns is generated for the
input namespace */
dav_add_marked_xmlns(propdb, marks_input, elem->ns,
propdb->ns_xlate, "i", &hdr_ns);
s = ap_psprintf(propdb->p, "<i%d:%s/>" DEBUG_CR,
s = apr_psprintf(propdb->p, "<i%d:%s/>" DEBUG_CR,
elem->ns, elem->name);
}
ap_text_append(propdb->p, &hdr_bad, s);
@@ -1347,7 +1347,7 @@ void dav_prop_validate(dav_prop_ctx *ctx)
ap_xml_elem *prop = ctx->prop;
dav_elem_private *priv;
priv = ctx->prop->private = ap_pcalloc(propdb->p, sizeof(*priv));
priv = ctx->prop->private = apr_pcalloc(propdb->p, sizeof(*priv));
/*
** Check to see if this is a live property, and fill the fields
@@ -1437,7 +1437,7 @@ void dav_prop_exec(dav_prop_ctx *ctx)
dav_rollback_item *rollback;
dav_elem_private *priv = ctx->prop->private;
rollback = ap_pcalloc(propdb->p, sizeof(*rollback));
rollback = apr_pcalloc(propdb->p, sizeof(*rollback));
ctx->rollback = rollback;
if (ctx->is_liveprop) {

View File

@@ -66,10 +66,10 @@
#include "http_protocol.h"
dav_error *dav_new_error(ap_pool_t *p, int status, int error_id, const char *desc)
dav_error *dav_new_error(apr_pool_t *p, int status, int error_id, const char *desc)
{
int save_errno = errno;
dav_error *err = ap_pcalloc(p, sizeof(*err));
dav_error *err = apr_pcalloc(p, sizeof(*err));
/* DBG3("dav_new_error: %d %d %s", status, error_id, desc ? desc : "(no desc)"); */
@@ -81,10 +81,10 @@ dav_error *dav_new_error(ap_pool_t *p, int status, int error_id, const char *des
return err;
}
dav_error *dav_push_error(ap_pool_t *p, int status, int error_id, const char *desc,
dav_error *dav_push_error(apr_pool_t *p, int status, int error_id, const char *desc,
dav_error *prev)
{
dav_error *err = ap_pcalloc(p, sizeof(*err));
dav_error *err = apr_pcalloc(p, sizeof(*err));
err->status = status;
err->error_id = error_id;
@@ -94,20 +94,20 @@ dav_error *dav_push_error(ap_pool_t *p, int status, int error_id, const char *de
return err;
}
void dav_check_bufsize(ap_pool_t * p, dav_buffer *pbuf, size_t extra_needed)
void dav_check_bufsize(apr_pool_t * p, dav_buffer *pbuf, size_t extra_needed)
{
/* grow the buffer if necessary */
if (pbuf->cur_len + extra_needed > pbuf->alloc_len) {
char *newbuf;
pbuf->alloc_len += extra_needed + DAV_BUFFER_PAD;
newbuf = ap_palloc(p, pbuf->alloc_len);
newbuf = apr_palloc(p, pbuf->alloc_len);
memcpy(newbuf, pbuf->buf, pbuf->cur_len);
pbuf->buf = newbuf;
}
}
void dav_set_bufsize(ap_pool_t * p, dav_buffer *pbuf, size_t size)
void dav_set_bufsize(apr_pool_t * p, dav_buffer *pbuf, size_t size)
{
/* NOTE: this does not retain prior contents */
@@ -121,21 +121,21 @@ void dav_set_bufsize(ap_pool_t * p, dav_buffer *pbuf, size_t size)
if (pbuf->alloc_len < DAV_BUFFER_MINSIZE)
pbuf->alloc_len = DAV_BUFFER_MINSIZE;
pbuf->buf = ap_palloc(p, pbuf->alloc_len);
pbuf->buf = apr_palloc(p, pbuf->alloc_len);
}
pbuf->cur_len = size;
}
/* initialize a buffer and copy the specified (null-term'd) string into it */
void dav_buffer_init(ap_pool_t *p, dav_buffer *pbuf, const char *str)
void dav_buffer_init(apr_pool_t *p, dav_buffer *pbuf, const char *str)
{
dav_set_bufsize(p, pbuf, strlen(str));
memcpy(pbuf->buf, str, pbuf->cur_len + 1);
}
/* append a string to the end of the buffer, adjust length */
void dav_buffer_append(ap_pool_t *p, dav_buffer *pbuf, const char *str)
void dav_buffer_append(apr_pool_t *p, dav_buffer *pbuf, const char *str)
{
size_t len = strlen(str);
@@ -145,7 +145,7 @@ void dav_buffer_append(ap_pool_t *p, dav_buffer *pbuf, const char *str)
}
/* place a string on the end of the buffer, do NOT adjust length */
void dav_buffer_place(ap_pool_t *p, dav_buffer *pbuf, const char *str)
void dav_buffer_place(apr_pool_t *p, dav_buffer *pbuf, const char *str)
{
size_t len = strlen(str);
@@ -154,7 +154,7 @@ void dav_buffer_place(ap_pool_t *p, dav_buffer *pbuf, const char *str)
}
/* place some memory on the end of a buffer; do NOT adjust length */
void dav_buffer_place_mem(ap_pool_t *p, dav_buffer *pbuf, const void *mem,
void dav_buffer_place_mem(apr_pool_t *p, dav_buffer *pbuf, const void *mem,
size_t amt, size_t pad)
{
dav_check_bufsize(p, pbuf, amt + pad);
@@ -209,7 +209,7 @@ dav_lookup_result dav_lookup_uri(const char *uri, request_rec * r)
if (strcasecmp(comp.scheme, scheme) != 0 ||
comp.port != port) {
result.err.status = HTTP_BAD_GATEWAY;
result.err.desc = ap_psprintf(r->pool,
result.err.desc = apr_psprintf(r->pool,
"Destination URI refers to different "
"scheme or port (%s://hostname:%d)"
APR_EOL_STR "(want: %s://hostname:%d)",
@@ -242,7 +242,7 @@ dav_lookup_result dav_lookup_uri(const char *uri, request_rec * r)
*/
if (strrchr(comp.hostname, '.') == NULL &&
(domain = strchr(r->server->server_hostname, '.')) != NULL) {
comp.hostname = ap_pstrcat(r->pool, comp.hostname, domain, NULL);
comp.hostname = apr_pstrcat(r->pool, comp.hostname, domain, NULL);
}
/* now, if a hostname was provided, then verify that it represents the
@@ -313,8 +313,8 @@ time_t dav_get_timeout(request_rec *r)
{
time_t now, expires = DAV_TIMEOUT_INFINITE;
const char *timeout_const = ap_table_get(r->headers_in, "Timeout");
const char *timeout = ap_pstrdup(r->pool, timeout_const), *val;
const char *timeout_const = apr_table_get(r->headers_in, "Timeout");
const char *timeout = apr_pstrdup(r->pool, timeout_const), *val;
if (timeout == NULL)
return DAV_TIMEOUT_INFINITE;
@@ -350,12 +350,12 @@ time_t dav_get_timeout(request_rec *r)
/* add_if_resource returns a new if_header, linking it to next_ih.
*/
static dav_if_header *dav_add_if_resource(ap_pool_t *p, dav_if_header *next_ih,
static dav_if_header *dav_add_if_resource(apr_pool_t *p, dav_if_header *next_ih,
const char *uri, size_t uri_len)
{
dav_if_header *ih;
if ((ih = ap_pcalloc(p, sizeof(*ih))) == NULL)
if ((ih = apr_pcalloc(p, sizeof(*ih))) == NULL)
return NULL;
ih->uri = uri;
@@ -367,14 +367,14 @@ static dav_if_header *dav_add_if_resource(ap_pool_t *p, dav_if_header *next_ih,
/* add_if_state adds a condition to an if_header.
*/
static dav_error * dav_add_if_state(ap_pool_t *p, dav_if_header *ih,
static dav_error * dav_add_if_state(apr_pool_t *p, dav_if_header *ih,
const char *state_token,
dav_if_state_type t, int condition,
const dav_hooks_locks *locks_hooks)
{
dav_if_state_list *new_sl;
new_sl = ap_pcalloc(p, sizeof(*new_sl));
new_sl = apr_pcalloc(p, sizeof(*new_sl));
new_sl->condition = condition;
new_sl->type = t;
@@ -444,7 +444,7 @@ static dav_error * dav_process_if_header(request_rec *r, dav_if_header **p_ih)
*p_ih = NULL;
if ((str = ap_pstrdup(r->pool, ap_table_get(r->headers_in, "If"))) == NULL)
if ((str = apr_pstrdup(r->pool, apr_table_get(r->headers_in, "If"))) == NULL)
return NULL;
while (*str) {
@@ -556,7 +556,7 @@ static dav_error * dav_process_if_header(request_rec *r, dav_if_header **p_ih)
default:
return dav_new_error(r->pool, HTTP_BAD_REQUEST,
DAV_ERR_IF_UNK_CHAR,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Invalid \"If:\" "
"header: Unexpected "
"character encountered "
@@ -575,7 +575,7 @@ static dav_error * dav_process_if_header(request_rec *r, dav_if_header **p_ih)
default:
return dav_new_error(r->pool, HTTP_BAD_REQUEST,
DAV_ERR_IF_UNK_CHAR,
ap_psprintf(r->pool,
apr_psprintf(r->pool,
"Invalid \"If:\" header: "
"Unexpected character "
"encountered (0x%02x, '%c').",
@@ -634,7 +634,7 @@ static int dav_find_submitted_locktoken(const dav_if_header *if_header,
/* dav_validate_resource_state:
* Returns NULL if path/uri meets if-header and lock requirements
*/
static dav_error * dav_validate_resource_state(ap_pool_t *p,
static dav_error * dav_validate_resource_state(apr_pool_t *p,
const dav_resource *resource,
dav_lockdb *lockdb,
const dav_if_header *if_header,
@@ -981,7 +981,7 @@ static dav_error * dav_validate_resource_state(ap_pool_t *p,
strcmp(lock->auth_user, r->user))) {
const char *errmsg;
errmsg = ap_pstrcat(p, "User \"",
errmsg = apr_pstrcat(p, "User \"",
r->user,
"\" submitted a locktoken created "
"by user \"",
@@ -1118,7 +1118,7 @@ static dav_error * dav_validate_resource_state(ap_pool_t *p,
}
return dav_new_error(p, HTTP_PRECONDITION_FAILED, 0,
ap_psprintf(p,
apr_psprintf(p,
"The precondition(s) specified by "
"the \"If:\" header did not match "
"this resource. At least one "
@@ -1267,12 +1267,12 @@ dav_error * dav_validate_request(request_rec *r, dav_resource *resource,
if (locktoken != NULL) {
dav_if_header *ifhdr_new;
ifhdr_new = ap_pcalloc(r->pool, sizeof(*ifhdr_new));
ifhdr_new = apr_pcalloc(r->pool, sizeof(*ifhdr_new));
ifhdr_new->uri = resource->uri;
ifhdr_new->uri_len = strlen(resource->uri);
ifhdr_new->dummy_header = 1;
ifhdr_new->state = ap_pcalloc(r->pool, sizeof(*ifhdr_new->state));
ifhdr_new->state = apr_pcalloc(r->pool, sizeof(*ifhdr_new->state));
ifhdr_new->state->type = dav_if_opaquelock;
ifhdr_new->state->condition = DAV_IF_COND_NORMAL;
ifhdr_new->state->locktoken = locktoken;
@@ -1353,7 +1353,7 @@ dav_error * dav_validate_request(request_rec *r, dav_resource *resource,
** into a multistatus response.
*/
if (err != NULL) {
new_response = ap_pcalloc(r->pool, sizeof(*new_response));
new_response = apr_pcalloc(r->pool, sizeof(*new_response));
new_response->href = parent_resource->uri;
new_response->status = err->status;
@@ -1362,7 +1362,7 @@ dav_error * dav_validate_request(request_rec *r, dav_resource *resource,
"preventing the operation on the resource specified by "
"the Request-URI.";
if (err->desc != NULL) {
new_response->desc = ap_pstrcat(r->pool,
new_response->desc = apr_pstrcat(r->pool,
new_response->desc,
" The error was: ",
err->desc, NULL);
@@ -1407,7 +1407,7 @@ dav_error * dav_validate_request(request_rec *r, dav_resource *resource,
** For other methods, return a simple 424.
*/
if ((flags & DAV_VALIDATE_ADD_LD) != 0) {
propstat = ap_pcalloc(r->pool, sizeof(*propstat));
propstat = apr_pcalloc(r->pool, sizeof(*propstat));
propstat->text =
"<D:propstat>" DEBUG_CR
"<D:prop><D:lockdiscovery/></D:prop>" DEBUG_CR
@@ -1416,7 +1416,7 @@ dav_error * dav_validate_request(request_rec *r, dav_resource *resource,
}
/* create the 424 response */
new_response = ap_pcalloc(r->pool, sizeof(*new_response));
new_response = apr_pcalloc(r->pool, sizeof(*new_response));
new_response->href = resource->uri;
new_response->status = HTTP_FAILED_DEPENDENCY;
new_response->propresult.propstats = propstat;
@@ -1460,7 +1460,7 @@ dav_error * dav_get_locktoken_list(request_rec *r, dav_locktoken_list **ltl)
while (if_state != NULL) {
if (if_state->condition == DAV_IF_COND_NORMAL
&& if_state->type == dav_if_opaquelock) {
lock_token = ap_pcalloc(r->pool, sizeof(dav_locktoken_list));
lock_token = apr_pcalloc(r->pool, sizeof(dav_locktoken_list));
lock_token->locktoken = if_state->locktoken;
lock_token->next = *ltl;
*ltl = lock_token;
@@ -1486,7 +1486,7 @@ dav_error * dav_get_locktoken_list(request_rec *r, dav_locktoken_list **ltl)
*/
const char *dav_get_target_selector(request_rec *r)
{
return ap_table_get(r->headers_in, "Target-Selector");
return apr_table_get(r->headers_in, "Target-Selector");
}
/* Ensure that a resource is writable. If there is no versioning
@@ -1542,7 +1542,7 @@ dav_error *dav_ensure_resource_writable(request_rec *r,
if (!resource->exists || parent_only) {
parent = (*resource->hooks->get_parent_resource)(resource);
if (parent == NULL || !parent->exists) {
body = ap_psprintf(r->pool,
body = apr_psprintf(r->pool,
"Missing one or more intermediate collections. "
"Cannot create resource %s.",
ap_escape_html(r->pool, resource->uri));
@@ -1577,7 +1577,7 @@ dav_error *dav_ensure_resource_writable(request_rec *r,
/* parent must be checked out */
if (!parent->working) {
if ((err = (*vsn_hooks->checkout)(parent)) != NULL) {
body = ap_psprintf(r->pool,
body = apr_psprintf(r->pool,
"Unable to checkout parent collection. "
"Cannot create resource %s.",
ap_escape_html(r->pool, resource->uri));
@@ -1588,7 +1588,7 @@ dav_error *dav_ensure_resource_writable(request_rec *r,
/* if not just checking parent, create new child resource */
if (!parent_only) {
if ((err = (*vsn_hooks->mkresource)(resource)) != NULL) {
body = ap_psprintf(r->pool,
body = apr_psprintf(r->pool,
"Unable to create versioned resource %s.",
ap_escape_html(r->pool, resource->uri));
return dav_push_error(r->pool, HTTP_CONFLICT, 0, body, err);
@@ -1608,7 +1608,7 @@ dav_error *dav_ensure_resource_writable(request_rec *r,
/* if not just checking parent, make sure child resource is checked out */
if (!parent_only && !resource->working) {
if ((err = (*vsn_hooks->checkout)(resource)) != NULL) {
body = ap_psprintf(r->pool,
body = apr_psprintf(r->pool,
"Unable to checkout resource %s.",
ap_escape_html(r->pool, resource->uri));
return dav_push_error(r->pool, HTTP_CONFLICT, 0, body, err);
@@ -1649,7 +1649,7 @@ dav_error *dav_revert_resource_writability(request_rec *r,
err = (*vsn_hooks->checkin)(resource);
if (err != NULL) {
body = ap_psprintf(r->pool,
body = apr_psprintf(r->pool,
"Unable to %s resource %s.",
undo ? "uncheckout" : "checkin",
ap_escape_html(r->pool, resource->uri));
@@ -1664,7 +1664,7 @@ dav_error *dav_revert_resource_writability(request_rec *r,
/* ### should we do anything with the response? */
if ((err = (*resource->hooks->remove_resource)(resource,
&response)) != NULL) {
body = ap_psprintf(r->pool,
body = apr_psprintf(r->pool,
"Unable to undo creation of resource %s.",
ap_escape_html(r->pool, resource->uri));
return dav_push_error(r->pool, HTTP_INTERNAL_SERVER_ERROR, 0,
@@ -1682,7 +1682,7 @@ dav_error *dav_revert_resource_writability(request_rec *r,
err = (*vsn_hooks->checkin)(parent_resource);
if (err != NULL) {
body = ap_psprintf(r->pool,
body = apr_psprintf(r->pool,
"Unable to %s parent collection of %s.",
undo ? "uncheckout" : "checkin",
ap_escape_html(r->pool, resource->uri));

View File

@@ -81,7 +81,7 @@ const char *dav_lock_get_activelock(request_rec *r, dav_lock *lock,
const dav_hooks_locks *hooks = DAV_GET_HOOKS_LOCKS(r);
int count = 0;
dav_buffer work_buf = { 0 };
ap_pool_t *p = r->pool;
apr_pool_t *p = r->pool;
/* If no locks or no lock provider, there are no locks */
if (lock == NULL || hooks == NULL) {
@@ -197,7 +197,7 @@ dav_error * dav_lock_parse_lockinfo(request_rec *r,
const ap_xml_doc *doc,
dav_lock **lock_request)
{
ap_pool_t *p = r->pool;
apr_pool_t *p = r->pool;
dav_error *err;
ap_xml_elem *child;
dav_lock *lock;
@@ -262,7 +262,7 @@ dav_error * dav_lock_parse_lockinfo(request_rec *r,
}
return dav_new_error(p, HTTP_PRECONDITION_FAILED, 0,
ap_psprintf(p,
apr_psprintf(p,
"The server cannot satisfy the "
"LOCK request due to an unknown XML "
"element (\"%s\") within the "
@@ -428,7 +428,7 @@ static dav_error * dav_unlock_walker(dav_walker_ctx *ctx, int calltype)
** namespace [repository] hierarchy. Note that some lock providers may be
** able to return this information with a traversal.
*/
static dav_error * dav_get_direct_resource(ap_pool_t *p,
static dav_error * dav_get_direct_resource(apr_pool_t *p,
dav_lockdb *lockdb,
const dav_locktoken *locktoken,
const dav_resource *resource,

View File

@@ -69,9 +69,9 @@ typedef struct
int bEnabled;
} EchoConfig;
static void *create_echo_server_config(ap_pool_t *p,server_rec *s)
static void *create_echo_server_config(apr_pool_t *p,server_rec *s)
{
EchoConfig *pConfig=ap_pcalloc(p,sizeof *pConfig);
EchoConfig *pConfig=apr_pcalloc(p,sizeof *pConfig);
pConfig->bEnabled=0;
@@ -98,7 +98,7 @@ static int process_echo_connection(conn_rec *c)
for( ; ; )
{
ap_ssize_t r, w;
apr_ssize_t r, w;
(void) ap_bread(c->client,buf,sizeof buf,&r);
if(r <= 0)
break;
@@ -128,7 +128,7 @@ API_VAR_EXPORT module echo_module = {
NULL, /* merge per-directory config structures */
create_echo_server_config, /* create per-server config structure */
NULL, /* merge per-server config structures */
echo_cmds, /* command ap_table_t */
echo_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -92,14 +92,14 @@ typedef struct charset_dir_t {
module charset_lite_module;
static void *create_charset_dir_conf(ap_pool_t *p,char *dummy)
static void *create_charset_dir_conf(apr_pool_t *p,char *dummy)
{
return ap_pcalloc(p,sizeof(charset_dir_t));
return apr_pcalloc(p,sizeof(charset_dir_t));
}
static void *merge_charset_dir_conf(ap_pool_t *p, void *basev, void *overridesv)
static void *merge_charset_dir_conf(apr_pool_t *p, void *basev, void *overridesv)
{
charset_dir_t *a = (charset_dir_t *)ap_pcalloc (p, sizeof(charset_dir_t));
charset_dir_t *a = (charset_dir_t *)apr_pcalloc (p, sizeof(charset_dir_t));
charset_dir_t *base = (charset_dir_t *)basev,
*over = (charset_dir_t *)overridesv;
@@ -154,8 +154,8 @@ static const char *add_charset_debug(cmd_parms *cmd, charset_dir_t *dc, int arg)
static int find_code_page(request_rec *r)
{
charset_dir_t *dc = ap_get_module_config(r->per_dir_config, &charset_lite_module);
ap_status_t rv;
ap_xlate_t *input_xlate, *output_xlate;
apr_status_t rv;
apr_xlate_t *input_xlate, *output_xlate;
const char *mime_type;
int debug = dc->debug == DEBUG;

View File

@@ -118,7 +118,7 @@ typedef struct excfg {
* the same routine/environment.
*/
static const char *trace = NULL;
static ap_table_t *static_calls_made = NULL;
static apr_table_t *static_calls_made = NULL;
/*
* To avoid leaking memory from pools other than the per-request one, we
@@ -126,8 +126,8 @@ static ap_table_t *static_calls_made = NULL;
* freed each time we modify the trace. That way previous layers of trace
* data don't get lost.
*/
static ap_pool_t *example_pool = NULL;
static ap_pool_t *example_subpool = NULL;
static apr_pool_t *example_pool = NULL;
static apr_pool_t *example_subpool = NULL;
/*
* Declare ourselves so the configuration routines can find and know us.
@@ -295,14 +295,14 @@ static void setup_module_cells()
* If we haven't already allocated our module-private pool, do so now.
*/
if (example_pool == NULL) {
ap_create_pool(&example_pool, NULL);
apr_create_pool(&example_pool, NULL);
};
/*
* Likewise for the ap_table_t of routine/environment pairs we visit outside of
* Likewise for the apr_table_t of routine/environment pairs we visit outside of
* request context.
*/
if (static_calls_made == NULL) {
static_calls_made = ap_make_table(example_pool, 16);
static_calls_made = apr_make_table(example_pool, 16);
};
}
@@ -315,11 +315,11 @@ static void setup_module_cells()
* The list can be displayed by the example_handler() routine.
*
* If the call occurs within a request context (i.e., we're passed a request
* record), we put the trace into the request ap_pool_t and attach it to the
* record), we put the trace into the request apr_pool_t and attach it to the
* request via the notes mechanism. Otherwise, the trace gets added
* to the static (non-request-specific) list.
*
* Note that the r->notes ap_table_t is only for storing strings; if you need to
* Note that the r->notes apr_table_t is only for storing strings; if you need to
* maintain per-request data of any other type, you need to use another
* mechanism.
*/
@@ -333,7 +333,7 @@ static void trace_add(server_rec *s, request_rec *r, excfg *mconfig,
const char *sofar;
char *addon;
char *where;
ap_pool_t *p;
apr_pool_t *p;
const char *trace_copy;
/*
@@ -345,7 +345,7 @@ static void trace_add(server_rec *s, request_rec *r, excfg *mconfig,
*/
if (r != NULL) {
p = r->pool;
if ((trace_copy = ap_table_get(r->notes, TRACE_NOTE)) == NULL) {
if ((trace_copy = apr_table_get(r->notes, TRACE_NOTE)) == NULL) {
trace_copy = "";
}
}
@@ -360,16 +360,16 @@ static void trace_add(server_rec *s, request_rec *r, excfg *mconfig,
* Make a new sub-pool and copy any existing trace to it. Point the
* trace cell at the copied value.
*/
ap_create_pool(&p, example_pool);
apr_create_pool(&p, example_pool);
if (trace != NULL) {
trace = ap_pstrdup(p, trace);
trace = apr_pstrdup(p, trace);
}
/*
* Now, if we have a sub-pool from before, nuke it and replace with
* the one we just allocated.
*/
if (example_subpool != NULL) {
ap_destroy_pool(example_subpool);
apr_destroy_pool(example_subpool);
}
example_subpool = p;
trace_copy = trace;
@@ -385,14 +385,14 @@ static void trace_add(server_rec *s, request_rec *r, excfg *mconfig,
where = (where != NULL) ? where : "";
/*
* Now, if we're not in request context, see if we've been called with
* this particular combination before. The ap_table_t is allocated in the
* this particular combination before. The apr_table_t is allocated in the
* module's private pool, which doesn't get destroyed.
*/
if (r == NULL) {
char *key;
key = ap_pstrcat(p, note, ":", where, NULL);
if (ap_table_get(static_calls_made, key) != NULL) {
key = apr_pstrcat(p, note, ":", where, NULL);
if (apr_table_get(static_calls_made, key) != NULL) {
/*
* Been here, done this.
*/
@@ -403,17 +403,17 @@ static void trace_add(server_rec *s, request_rec *r, excfg *mconfig,
* First time for this combination of routine and environment -
* log it so we don't do it again.
*/
ap_table_set(static_calls_made, key, "been here");
apr_table_set(static_calls_made, key, "been here");
}
}
addon = ap_pstrcat(p, " <LI>\n", " <DL>\n", " <DT><SAMP>",
addon = apr_pstrcat(p, " <LI>\n", " <DL>\n", " <DT><SAMP>",
note, "</SAMP>\n", " </DT>\n", " <DD><SAMP>[",
where, "]</SAMP>\n", " </DD>\n", " </DL>\n",
" </LI>\n", NULL);
sofar = (trace_copy == NULL) ? "" : trace_copy;
trace_copy = ap_pstrcat(p, sofar, addon, NULL);
trace_copy = apr_pstrcat(p, sofar, addon, NULL);
if (r != NULL) {
ap_table_set(r->notes, TRACE_NOTE, trace_copy);
apr_table_set(r->notes, TRACE_NOTE, trace_copy);
}
else {
trace = trace_copy;
@@ -563,7 +563,7 @@ static int example_handler(request_rec *r)
ap_rprintf(r, " <H2>Static callbacks so far:</H2>\n <OL>\n%s </OL>\n",
trace);
ap_rputs(" <H2>Request-specific callbacks so far:</H2>\n", r);
ap_rprintf(r, " <OL>\n%s </OL>\n", ap_table_get(r->notes, TRACE_NOTE));
ap_rprintf(r, " <OL>\n%s </OL>\n", apr_table_get(r->notes, TRACE_NOTE));
ap_rputs(" <H2>Environment for <EM>this</EM> call:</H2>\n", r);
ap_rputs(" <UL>\n", r);
ap_rprintf(r, " <LI>Applies-to: <SAMP>%s</SAMP>\n </LI>\n", dcfg->loc);
@@ -627,8 +627,8 @@ static int example_handler(request_rec *r)
/*
* All our module initialiser does is add its trace to the log.
*/
static void example_init(ap_pool_t *p, ap_pool_t *ptemp,
ap_pool_t *plog, server_rec *s)
static void example_init(apr_pool_t *p, apr_pool_t *ptemp,
apr_pool_t *plog, server_rec *s)
{
char *note;
@@ -643,7 +643,7 @@ static void example_init(ap_pool_t *p, ap_pool_t *ptemp,
* we're being called.
*/
sname = (sname != NULL) ? sname : "";
note = ap_pstrcat(p, "example_init(", sname, ")", NULL);
note = apr_pstrcat(p, "example_init(", sname, ")", NULL);
trace_add(s, NULL, NULL, note);
}
@@ -659,7 +659,7 @@ static void example_init(ap_pool_t *p, ap_pool_t *ptemp,
/*
* All our process initialiser does is add its trace to the log.
*/
static void example_child_init(ap_pool_t *p, server_rec *s)
static void example_child_init(apr_pool_t *p, server_rec *s)
{
char *note;
@@ -674,7 +674,7 @@ static void example_child_init(ap_pool_t *p, server_rec *s)
* we're being called.
*/
sname = (sname != NULL) ? sname : "";
note = ap_pstrcat(p, "example_child_init(", sname, ")", NULL);
note = apr_pstrcat(p, "example_child_init(", sname, ")", NULL);
trace_add(s, NULL, NULL, note);
}
@@ -690,7 +690,7 @@ static void example_child_init(ap_pool_t *p, server_rec *s)
/*
* All our process-death routine does is add its trace to the log.
*/
static void example_child_exit(server_rec *s, ap_pool_t *p)
static void example_child_exit(server_rec *s, apr_pool_t *p)
{
char *note;
@@ -701,7 +701,7 @@ static void example_child_exit(server_rec *s, ap_pool_t *p)
* we're being called.
*/
sname = (sname != NULL) ? sname : "";
note = ap_pstrcat(p, "example_child_exit(", sname, ")", NULL);
note = apr_pstrcat(p, "example_child_exit(", sname, ")", NULL);
trace_add(s, NULL, NULL, note);
}
@@ -717,7 +717,7 @@ static void example_child_exit(server_rec *s, ap_pool_t *p)
* The return value is a pointer to the created module-specific
* structure.
*/
static void *example_create_dir_config(ap_pool_t *p, char *dirspec)
static void *example_create_dir_config(apr_pool_t *p, char *dirspec)
{
excfg *cfg;
@@ -726,7 +726,7 @@ static void *example_create_dir_config(ap_pool_t *p, char *dirspec)
/*
* Allocate the space for our record from the pool supplied.
*/
cfg = (excfg *) ap_pcalloc(p, sizeof(excfg));
cfg = (excfg *) apr_pcalloc(p, sizeof(excfg));
/*
* Now fill in the defaults. If there are any `parent' configuration
* records, they'll get merged as part of a separate callback.
@@ -738,7 +738,7 @@ static void *example_create_dir_config(ap_pool_t *p, char *dirspec)
* Finally, add our trace to the callback list.
*/
dname = (dname != NULL) ? dname : "";
cfg->loc = ap_pstrcat(p, "DIR(", dname, ")", NULL);
cfg->loc = apr_pstrcat(p, "DIR(", dname, ")", NULL);
trace_add(NULL, NULL, cfg, "example_create_dir_config()");
return (void *) cfg;
}
@@ -758,11 +758,11 @@ static void *example_create_dir_config(ap_pool_t *p, char *dirspec)
* The return value is a pointer to the created module-specific structure
* containing the merged values.
*/
static void *example_merge_dir_config(ap_pool_t *p, void *parent_conf,
static void *example_merge_dir_config(apr_pool_t *p, void *parent_conf,
void *newloc_conf)
{
excfg *merged_config = (excfg *) ap_pcalloc(p, sizeof(excfg));
excfg *merged_config = (excfg *) apr_pcalloc(p, sizeof(excfg));
excfg *pconf = (excfg *) parent_conf;
excfg *nconf = (excfg *) newloc_conf;
char *note;
@@ -772,7 +772,7 @@ static void *example_merge_dir_config(ap_pool_t *p, void *parent_conf,
* than getting merged.
*/
merged_config->local = nconf->local;
merged_config->loc = ap_pstrdup(p, nconf->loc);
merged_config->loc = apr_pstrdup(p, nconf->loc);
/*
* Others, like the setting of the `congenital' flag, get ORed in. The
* setting of that particular flag, for instance, is TRUE if it was ever
@@ -790,7 +790,7 @@ static void *example_merge_dir_config(ap_pool_t *p, void *parent_conf,
* Now just record our being called in the trace list. Include the
* locations we were asked to merge.
*/
note = ap_pstrcat(p, "example_merge_dir_config(\"", pconf->loc, "\",\"",
note = apr_pstrcat(p, "example_merge_dir_config(\"", pconf->loc, "\",\"",
nconf->loc, "\")", NULL);
trace_add(NULL, NULL, merged_config, note);
return (void *) merged_config;
@@ -803,7 +803,7 @@ static void *example_merge_dir_config(ap_pool_t *p, void *parent_conf,
* The return value is a pointer to the created module-specific
* structure.
*/
static void *example_create_server_config(ap_pool_t *p, server_rec *s)
static void *example_create_server_config(apr_pool_t *p, server_rec *s)
{
excfg *cfg;
@@ -813,7 +813,7 @@ static void *example_create_server_config(ap_pool_t *p, server_rec *s)
* As with the example_create_dir_config() reoutine, we allocate and fill
* in an empty record.
*/
cfg = (excfg *) ap_pcalloc(p, sizeof(excfg));
cfg = (excfg *) apr_pcalloc(p, sizeof(excfg));
cfg->local = 0;
cfg->congenital = 0;
cfg->cmode = CONFIG_MODE_SERVER;
@@ -821,7 +821,7 @@ static void *example_create_server_config(ap_pool_t *p, server_rec *s)
* Note that we were called in the trace list.
*/
sname = (sname != NULL) ? sname : "";
cfg->loc = ap_pstrcat(p, "SVR(", sname, ")", NULL);
cfg->loc = apr_pstrcat(p, "SVR(", sname, ")", NULL);
trace_add(s, NULL, cfg, "example_create_server_config()");
return (void *) cfg;
}
@@ -839,11 +839,11 @@ static void *example_create_server_config(ap_pool_t *p, server_rec *s)
* The return value is a pointer to the created module-specific structure
* containing the merged values.
*/
static void *example_merge_server_config(ap_pool_t *p, void *server1_conf,
static void *example_merge_server_config(apr_pool_t *p, void *server1_conf,
void *server2_conf)
{
excfg *merged_config = (excfg *) ap_pcalloc(p, sizeof(excfg));
excfg *merged_config = (excfg *) apr_pcalloc(p, sizeof(excfg));
excfg *s1conf = (excfg *) server1_conf;
excfg *s2conf = (excfg *) server2_conf;
char *note;
@@ -856,11 +856,11 @@ static void *example_merge_server_config(ap_pool_t *p, void *server1_conf,
(s1conf->cmode == s2conf->cmode) ? s1conf->cmode : CONFIG_MODE_COMBO;
merged_config->local = s2conf->local;
merged_config->congenital = (s1conf->congenital | s1conf->local);
merged_config->loc = ap_pstrdup(p, s2conf->loc);
merged_config->loc = apr_pstrdup(p, s2conf->loc);
/*
* Trace our call, including what we were asked to merge.
*/
note = ap_pstrcat(p, "example_merge_server_config(\"", s1conf->loc, "\",\"",
note = apr_pstrcat(p, "example_merge_server_config(\"", s1conf->loc, "\",\"",
s2conf->loc, "\")", NULL);
trace_add(NULL, NULL, merged_config, note);
return (void *) merged_config;

View File

@@ -138,38 +138,38 @@ static void add_include_vars(request_rec *r, char *timefmt)
#ifndef WIN32
struct passwd *pw;
#endif /* ndef WIN32 */
ap_table_t *e = r->subprocess_env;
apr_table_t *e = r->subprocess_env;
char *t;
ap_time_t date = r->request_time;
apr_time_t date = r->request_time;
ap_table_setn(e, "DATE_LOCAL", ap_ht_time(r->pool, date, timefmt, 0));
ap_table_setn(e, "DATE_GMT", ap_ht_time(r->pool, date, timefmt, 1));
ap_table_setn(e, "LAST_MODIFIED",
apr_table_setn(e, "DATE_LOCAL", ap_ht_time(r->pool, date, timefmt, 0));
apr_table_setn(e, "DATE_GMT", ap_ht_time(r->pool, date, timefmt, 1));
apr_table_setn(e, "LAST_MODIFIED",
ap_ht_time(r->pool, r->finfo.mtime, timefmt, 0));
ap_table_setn(e, "DOCUMENT_URI", r->uri);
ap_table_setn(e, "DOCUMENT_PATH_INFO", r->path_info);
apr_table_setn(e, "DOCUMENT_URI", r->uri);
apr_table_setn(e, "DOCUMENT_PATH_INFO", r->path_info);
#ifndef WIN32
pw = getpwuid(r->finfo.user);
if (pw) {
ap_table_setn(e, "USER_NAME", ap_pstrdup(r->pool, pw->pw_name));
apr_table_setn(e, "USER_NAME", apr_pstrdup(r->pool, pw->pw_name));
}
else {
ap_table_setn(e, "USER_NAME", ap_psprintf(r->pool, "user#%lu",
apr_table_setn(e, "USER_NAME", apr_psprintf(r->pool, "user#%lu",
(unsigned long) r->finfo.user));
}
#endif /* ndef WIN32 */
if ((t = strrchr(r->filename, '/'))) {
ap_table_setn(e, "DOCUMENT_NAME", ++t);
apr_table_setn(e, "DOCUMENT_NAME", ++t);
}
else {
ap_table_setn(e, "DOCUMENT_NAME", r->uri);
apr_table_setn(e, "DOCUMENT_NAME", r->uri);
}
if (r->args) {
char *arg_copy = ap_pstrdup(r->pool, r->args);
char *arg_copy = apr_pstrdup(r->pool, r->args);
ap_unescape_url(arg_copy);
ap_table_setn(e, "QUERY_STRING_UNESCAPED",
apr_table_setn(e, "QUERY_STRING_UNESCAPED",
ap_escape_shell_cmd(r->pool, arg_copy));
}
}
@@ -215,7 +215,7 @@ static void add_include_vars(request_rec *r, char *timefmt)
*/
#define GET_CHAR(f,c,ret,r) \
{ \
ap_status_t status = ap_getc(&c, f); \
apr_status_t status = apr_getc(&c, f); \
if (status != APR_SUCCESS) { /* either EOF or error -- needs error handling if latter */ \
if (status != APR_EOF) { \
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0, NULL, \
@@ -223,12 +223,12 @@ static void add_include_vars(request_rec *r, char *timefmt)
"mod_include."); \
} \
FLUSH_BUF(r); \
ap_close(f); \
apr_close(f); \
return ret; \
} \
}
static int find_string(ap_file_t *in, const char *str, request_rec *r, int printing)
static int find_string(apr_file_t *in, const char *str, request_rec *r, int printing)
{
int x, l = strlen(str), p;
char outbuf[OUTBUFSIZE];
@@ -261,14 +261,14 @@ static int find_string(ap_file_t *in, const char *str, request_rec *r, int print
#undef GET_CHAR
#define GET_CHAR(f,c,r,p) \
{ \
ap_status_t status = ap_getc(&c, f); \
apr_status_t status = apr_getc(&c, f); \
if (status != APR_SUCCESS) { /* either EOF or error -- needs error handling if latter */ \
if (status != APR_EOF) { \
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0, NULL, \
"encountered error in GET_CHAR macro, " \
"mod_include."); \
} \
ap_close(f); \
apr_close(f); \
return r; \
} \
}
@@ -373,7 +373,7 @@ otilde\365oslash\370ugrave\371uacute\372yacute\375" /* 6 */
* the tag value is html decoded if dodecode is non-zero
*/
static char *get_tag(ap_pool_t *p, ap_file_t *in, char *tag, int tagbuf_len, int dodecode)
static char *get_tag(apr_pool_t *p, apr_file_t *in, char *tag, int tagbuf_len, int dodecode)
{
char *t = tag, *tag_val, c, term;
@@ -392,7 +392,7 @@ static char *get_tag(ap_pool_t *p, ap_file_t *in, char *tag, int tagbuf_len, int
GET_CHAR(in, c, NULL, p);
} while (ap_isspace(c));
if (c == '>') {
ap_cpystrn(tag, "done", tagbuf_len);
apr_cpystrn(tag, "done", tagbuf_len);
return tag;
}
}
@@ -419,7 +419,7 @@ static char *get_tag(ap_pool_t *p, ap_file_t *in, char *tag, int tagbuf_len, int
GET_CHAR(in, c, NULL, p); /* space before = */
}
if (c != '=') {
ap_ungetc(c, in);
apr_ungetc(c, in);
return NULL;
}
@@ -456,10 +456,10 @@ static char *get_tag(ap_pool_t *p, ap_file_t *in, char *tag, int tagbuf_len, int
if (dodecode) {
decodehtml(tag_val);
}
return ap_pstrdup(p, tag_val);
return apr_pstrdup(p, tag_val);
}
static int get_directive(ap_file_t *in, char *dest, size_t len, ap_pool_t *p)
static int get_directive(apr_file_t *in, char *dest, size_t len, apr_pool_t *p)
{
char *d = dest;
char c;
@@ -557,7 +557,7 @@ static void parse_string(request_rec *r, const char *in, char *out,
memcpy(var, start_of_var_name, l);
var[l] = '\0';
val = ap_table_get(r->subprocess_env, var);
val = apr_table_get(r->subprocess_env, var);
if (val) {
expansion = val;
l = strlen(expansion);
@@ -627,7 +627,7 @@ static int include_cgi(char *s, request_rec *r)
rr_status = ap_run_sub_req(rr);
if (ap_is_HTTP_REDIRECT(rr_status)) {
const char *location = ap_table_get(rr->headers_out, "Location");
const char *location = apr_table_get(rr->headers_out, "Location");
location = ap_escape_html(rr->pool, location);
ap_rvputs(r, "<A HREF=\"", location, "\">", location, "</A>", NULL);
}
@@ -666,7 +666,7 @@ static int is_only_below(const char *path)
return 1;
}
static int handle_include(ap_file_t *in, request_rec *r, const char *error, int noexec)
static int handle_include(apr_file_t *in, request_rec *r, const char *error, int noexec)
{
char tag[MAX_STRING_LEN];
char parsed_string[MAX_STRING_LEN];
@@ -789,7 +789,7 @@ typedef struct {
static ap_status_t build_argv_list(char ***argv, request_rec *r, ap_pool_t *p)
static apr_status_t build_argv_list(char ***argv, request_rec *r, apr_pool_t *p)
{
int numwords, x, idx;
char *w;
@@ -812,7 +812,7 @@ static ap_status_t build_argv_list(char ***argv, request_rec *r, ap_pool_t *p)
if (numwords > APACHE_ARG_MAX - 1) {
numwords = APACHE_ARG_MAX - 1; /* Truncate args to prevent overrun */
}
*argv = (char **) ap_palloc(p, (numwords + 2) * sizeof(char *));
*argv = (char **) apr_palloc(p, (numwords + 2) * sizeof(char *));
for (x = 1, idx = 1; x < numwords; x++) {
w = ap_getword_nulls(p, &args, '+');
@@ -830,12 +830,12 @@ static int include_cmd(char *s, request_rec *r)
{
include_cmd_arg arg;
BUFF *script_in;
ap_procattr_t *procattr;
ap_proc_t *procnew;
ap_status_t rc;
ap_table_t *env = r->subprocess_env;
apr_procattr_t *procattr;
apr_proc_t *procnew;
apr_status_t rc;
apr_table_t *env = r->subprocess_env;
char **argv;
ap_file_t *file = NULL;
apr_file_t *file = NULL;
ap_iol *iol;
#if defined(RLIMIT_CPU) || defined(RLIMIT_NPROC) || \
defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined (RLIMIT_AS)
@@ -855,39 +855,39 @@ static int include_cmd(char *s, request_rec *r)
if (r->path_info && r->path_info[0] != '\0') {
request_rec *pa_req;
ap_table_setn(env, "PATH_INFO", ap_escape_shell_cmd(r->pool, r->path_info));
apr_table_setn(env, "PATH_INFO", ap_escape_shell_cmd(r->pool, r->path_info));
pa_req = ap_sub_req_lookup_uri(ap_escape_uri(r->pool, r->path_info), r);
if (pa_req->filename) {
ap_table_setn(env, "PATH_TRANSLATED",
ap_pstrcat(r->pool, pa_req->filename, pa_req->path_info,
apr_table_setn(env, "PATH_TRANSLATED",
apr_pstrcat(r->pool, pa_req->filename, pa_req->path_info,
NULL));
}
}
if (r->args) {
char *arg_copy = ap_pstrdup(r->pool, r->args);
char *arg_copy = apr_pstrdup(r->pool, r->args);
ap_table_setn(env, "QUERY_STRING", r->args);
apr_table_setn(env, "QUERY_STRING", r->args);
ap_unescape_url(arg_copy);
ap_table_setn(env, "QUERY_STRING_UNESCAPED",
apr_table_setn(env, "QUERY_STRING_UNESCAPED",
ap_escape_shell_cmd(r->pool, arg_copy));
}
if ((ap_createprocattr_init(&procattr, r->pool) != APR_SUCCESS) ||
(ap_setprocattr_io(procattr, APR_NO_PIPE,
if ((apr_createprocattr_init(&procattr, r->pool) != APR_SUCCESS) ||
(apr_setprocattr_io(procattr, APR_NO_PIPE,
APR_FULL_BLOCK, APR_NO_PIPE) != APR_SUCCESS) ||
(ap_setprocattr_dir(procattr, ap_make_dirstr_parent(r->pool, r->filename)) != APR_SUCCESS) ||
(apr_setprocattr_dir(procattr, ap_make_dirstr_parent(r->pool, r->filename)) != APR_SUCCESS) ||
#ifdef RLIMIT_CPU
((rc = ap_setprocattr_limit(procattr, APR_LIMIT_CPU, conf->limit_cpu)) != APR_SUCCESS) ||
((rc = apr_setprocattr_limit(procattr, APR_LIMIT_CPU, conf->limit_cpu)) != APR_SUCCESS) ||
#endif
#if defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_AS)
((rc = ap_setprocattr_limit(procattr, APR_LIMIT_MEM, conf->limit_mem)) != APR_SUCCESS) ||
((rc = apr_setprocattr_limit(procattr, APR_LIMIT_MEM, conf->limit_mem)) != APR_SUCCESS) ||
#endif
#ifdef RLIMIT_NPROC
((rc = ap_setprocattr_limit(procattr, APR_LIMIT_NPROC, conf->limit_nproc)) != APR_SUCCESS) ||
((rc = apr_setprocattr_limit(procattr, APR_LIMIT_NPROC, conf->limit_nproc)) != APR_SUCCESS) ||
#endif
(ap_setprocattr_cmdtype(procattr, APR_SHELLCMD) != APR_SUCCESS)) {
(apr_setprocattr_cmdtype(procattr, APR_SHELLCMD) != APR_SUCCESS)) {
/* Something bad happened, tell the world. */
ap_log_rerror(APLOG_MARK, APLOG_ERR, errno, r,
"couldn't initialize proc attributes: %s %s", r->filename, s);
@@ -895,9 +895,9 @@ static int include_cmd(char *s, request_rec *r)
}
else {
build_argv_list(&argv, r, r->pool);
argv[0] = ap_pstrdup(r->pool, s);
procnew = ap_pcalloc(r->pool, sizeof(*procnew));
rc = ap_create_process(procnew, s, argv, ap_create_environment(r->pool, env), procattr, r->pool);
argv[0] = apr_pstrdup(r->pool, s);
procnew = apr_pcalloc(r->pool, sizeof(*procnew));
rc = apr_create_process(procnew, s, argv, ap_create_environment(r->pool, env), procattr, r->pool);
if (rc != APR_SUCCESS) {
/* Bad things happened. Everyone should have cleaned up. */
@@ -905,7 +905,7 @@ static int include_cmd(char *s, request_rec *r)
"couldn't create child process: %d: %s", rc, s);
}
else {
ap_note_subprocess(r->pool, procnew, kill_after_timeout);
apr_note_subprocess(r->pool, procnew, kill_after_timeout);
/* Fill in BUFF structure for parents pipe to child's stdout */
file = procnew->out;
iol = ap_create_file_iol(file);
@@ -921,7 +921,7 @@ static int include_cmd(char *s, request_rec *r)
return 0;
}
static int handle_exec(ap_file_t *in, request_rec *r, const char *error)
static int handle_exec(apr_file_t *in, request_rec *r, const char *error)
{
char tag[MAX_STRING_LEN];
char *tag_val;
@@ -966,7 +966,7 @@ static int handle_exec(ap_file_t *in, request_rec *r, const char *error)
}
static int handle_echo(ap_file_t *in, request_rec *r, const char *error)
static int handle_echo(apr_file_t *in, request_rec *r, const char *error)
{
char tag[MAX_STRING_LEN];
char *tag_val;
@@ -979,7 +979,7 @@ static int handle_echo(ap_file_t *in, request_rec *r, const char *error)
return 1;
}
if (!strcmp(tag, "var")) {
const char *val = ap_table_get(r->subprocess_env, tag_val);
const char *val = apr_table_get(r->subprocess_env, tag_val);
if (val) {
if (encode == E_NONE) {
@@ -1022,7 +1022,7 @@ static int handle_echo(ap_file_t *in, request_rec *r, const char *error)
}
#ifdef USE_PERL_SSI
static int handle_perl(ap_file_t *in, request_rec *r, const char *error)
static int handle_perl(apr_file_t *in, request_rec *r, const char *error)
{
char tag[MAX_STRING_LEN];
char parsed_string[MAX_STRING_LEN];
@@ -1061,13 +1061,13 @@ static int handle_perl(ap_file_t *in, request_rec *r, const char *error)
/* error and tf must point to a string with room for at
* least MAX_STRING_LEN characters
*/
static int handle_config(ap_file_t *in, request_rec *r, char *error, char *tf,
static int handle_config(apr_file_t *in, request_rec *r, char *error, char *tf,
int *sizefmt)
{
char tag[MAX_STRING_LEN];
char *tag_val;
char parsed_string[MAX_STRING_LEN];
ap_table_t *env = r->subprocess_env;
apr_table_t *env = r->subprocess_env;
while (1) {
if (!(tag_val = get_tag(r->pool, in, tag, sizeof(tag), 0))) {
@@ -1077,12 +1077,12 @@ static int handle_config(ap_file_t *in, request_rec *r, char *error, char *tf,
parse_string(r, tag_val, error, MAX_STRING_LEN, 0);
}
else if (!strcmp(tag, "timefmt")) {
ap_time_t date = r->request_time;
apr_time_t date = r->request_time;
parse_string(r, tag_val, tf, MAX_STRING_LEN, 0);
ap_table_setn(env, "DATE_LOCAL", ap_ht_time(r->pool, date, tf, 0));
ap_table_setn(env, "DATE_GMT", ap_ht_time(r->pool, date, tf, 1));
ap_table_setn(env, "LAST_MODIFIED",
apr_table_setn(env, "DATE_LOCAL", ap_ht_time(r->pool, date, tf, 0));
apr_table_setn(env, "DATE_GMT", ap_ht_time(r->pool, date, tf, 1));
apr_table_setn(env, "LAST_MODIFIED",
ap_ht_time(r->pool, r->finfo.mtime, tf, 0));
}
else if (!strcmp(tag, "sizefmt")) {
@@ -1109,7 +1109,7 @@ static int handle_config(ap_file_t *in, request_rec *r, char *error, char *tf,
static int find_file(request_rec *r, const char *directive, const char *tag,
char *tag_val, ap_finfo_t *finfo, const char *error)
char *tag_val, apr_finfo_t *finfo, const char *error)
{
char *to_send = tag_val;
request_rec *rr = NULL;
@@ -1128,7 +1128,7 @@ static int find_file(request_rec *r, const char *directive, const char *tag,
if (rr->status == HTTP_OK && rr->finfo.protection != 0) {
to_send = rr->filename;
if (ap_stat(finfo, to_send, rr->pool) != APR_SUCCESS) {
if (apr_stat(finfo, to_send, rr->pool) != APR_SUCCESS) {
error_fmt = "unable to get information about \"%s\" "
"in parsed file %s";
}
@@ -1141,7 +1141,7 @@ static int find_file(request_rec *r, const char *directive, const char *tag,
if (error_fmt) {
ret = -1;
/* TODO: pass APLOG_NOERRNO if no ap_stat() failure; pass rv from ap_stat()
/* TODO: pass APLOG_NOERRNO if no apr_stat() failure; pass rv from apr_stat()
* otherwise
*/
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, error_fmt, to_send, r->filename);
@@ -1181,11 +1181,11 @@ static int find_file(request_rec *r, const char *directive, const char *tag,
}
static int handle_fsize(ap_file_t *in, request_rec *r, const char *error, int sizefmt)
static int handle_fsize(apr_file_t *in, request_rec *r, const char *error, int sizefmt)
{
char tag[MAX_STRING_LEN];
char *tag_val;
ap_finfo_t finfo;
apr_finfo_t finfo;
char parsed_string[MAX_STRING_LEN];
while (1) {
@@ -1203,7 +1203,7 @@ static int handle_fsize(ap_file_t *in, request_rec *r, const char *error, int si
}
else {
int l, x;
ap_snprintf(tag, sizeof(tag), "%" APR_OFF_T_FMT, finfo.size);
apr_snprintf(tag, sizeof(tag), "%" APR_OFF_T_FMT, finfo.size);
l = strlen(tag); /* grrr */
for (x = 0; x < l; x++) {
if (x && (!((l - x) % 3))) {
@@ -1217,11 +1217,11 @@ static int handle_fsize(ap_file_t *in, request_rec *r, const char *error, int si
}
}
static int handle_flastmod(ap_file_t *in, request_rec *r, const char *error, const char *tf)
static int handle_flastmod(apr_file_t *in, request_rec *r, const char *error, const char *tf)
{
char tag[MAX_STRING_LEN];
char *tag_val;
ap_finfo_t finfo;
apr_finfo_t finfo;
char parsed_string[MAX_STRING_LEN];
while (1) {
@@ -1438,19 +1438,19 @@ static int parse_expr(request_rec *r, const char *expr, const char *error)
} *root, *current, *new;
const char *parse;
char buffer[MAX_STRING_LEN];
ap_pool_t *expr_pool;
apr_pool_t *expr_pool;
int retval = 0;
if ((parse = expr) == (char *) NULL) {
return (0);
}
root = current = (struct parse_node *) NULL;
if (ap_create_pool(&expr_pool, r->pool) != APR_SUCCESS)
if (apr_create_pool(&expr_pool, r->pool) != APR_SUCCESS)
return 0;
/* Create Parse Tree */
while (1) {
new = (struct parse_node *) ap_palloc(expr_pool,
new = (struct parse_node *) apr_palloc(expr_pool,
sizeof(struct parse_node));
new->parent = new->left = new->right = (struct parse_node *) NULL;
new->done = 0;
@@ -1736,7 +1736,7 @@ static int parse_expr(request_rec *r, const char *expr, const char *error)
ap_rputs(" Evaluate string\n", r);
#endif
parse_string(r, current->token.value, buffer, sizeof(buffer), 0);
ap_cpystrn(current->token.value, buffer, sizeof(current->token.value));
apr_cpystrn(current->token.value, buffer, sizeof(current->token.value));
current->value = (current->token.value[0] != '\0');
current->done = 1;
current = current->parent;
@@ -1760,7 +1760,7 @@ static int parse_expr(request_rec *r, const char *expr, const char *error)
case token_string:
parse_string(r, current->left->token.value,
buffer, sizeof(buffer), 0);
ap_cpystrn(current->left->token.value, buffer,
apr_cpystrn(current->left->token.value, buffer,
sizeof(current->left->token.value));
current->left->value = (current->left->token.value[0] != '\0');
current->left->done = 1;
@@ -1775,7 +1775,7 @@ static int parse_expr(request_rec *r, const char *expr, const char *error)
case token_string:
parse_string(r, current->right->token.value,
buffer, sizeof(buffer), 0);
ap_cpystrn(current->right->token.value, buffer,
apr_cpystrn(current->right->token.value, buffer,
sizeof(current->right->token.value));
current->right->value = (current->right->token.value[0] != '\0');
current->right->done = 1;
@@ -1822,11 +1822,11 @@ static int parse_expr(request_rec *r, const char *expr, const char *error)
}
parse_string(r, current->left->token.value,
buffer, sizeof(buffer), 0);
ap_cpystrn(current->left->token.value, buffer,
apr_cpystrn(current->left->token.value, buffer,
sizeof(current->left->token.value));
parse_string(r, current->right->token.value,
buffer, sizeof(buffer), 0);
ap_cpystrn(current->right->token.value, buffer,
apr_cpystrn(current->right->token.value, buffer,
sizeof(current->right->token.value));
if (current->right->token.value[0] == '/') {
int len;
@@ -1887,11 +1887,11 @@ static int parse_expr(request_rec *r, const char *expr, const char *error)
}
parse_string(r, current->left->token.value,
buffer, sizeof(buffer), 0);
ap_cpystrn(current->left->token.value, buffer,
apr_cpystrn(current->left->token.value, buffer,
sizeof(current->left->token.value));
parse_string(r, current->right->token.value,
buffer, sizeof(buffer), 0);
ap_cpystrn(current->right->token.value, buffer,
apr_cpystrn(current->right->token.value, buffer,
sizeof(current->right->token.value));
#ifdef DEBUG_INCLUDE
ap_rvputs(r, " Compare (", current->left->token.value,
@@ -1985,11 +1985,11 @@ static int parse_expr(request_rec *r, const char *expr, const char *error)
retval = (root == (struct parse_node *) NULL) ? 0 : root->value;
RETURN:
ap_destroy_pool(expr_pool);
apr_destroy_pool(expr_pool);
return (retval);
}
static int handle_if(ap_file_t *in, request_rec *r, const char *error,
static int handle_if(apr_file_t *in, request_rec *r, const char *error,
int *conditional_status, int *printing)
{
char tag[MAX_STRING_LEN];
@@ -2032,7 +2032,7 @@ static int handle_if(ap_file_t *in, request_rec *r, const char *error,
}
}
static int handle_elif(ap_file_t *in, request_rec *r, const char *error,
static int handle_elif(apr_file_t *in, request_rec *r, const char *error,
int *conditional_status, int *printing)
{
char tag[MAX_STRING_LEN];
@@ -2083,7 +2083,7 @@ static int handle_elif(ap_file_t *in, request_rec *r, const char *error,
}
}
static int handle_else(ap_file_t *in, request_rec *r, const char *error,
static int handle_else(apr_file_t *in, request_rec *r, const char *error,
int *conditional_status, int *printing)
{
char tag[MAX_STRING_LEN];
@@ -2111,7 +2111,7 @@ static int handle_else(ap_file_t *in, request_rec *r, const char *error,
}
}
static int handle_endif(ap_file_t *in, request_rec *r, const char *error,
static int handle_endif(apr_file_t *in, request_rec *r, const char *error,
int *conditional_status, int *printing)
{
char tag[MAX_STRING_LEN];
@@ -2137,7 +2137,7 @@ static int handle_endif(ap_file_t *in, request_rec *r, const char *error,
}
}
static int handle_set(ap_file_t *in, request_rec *r, const char *error)
static int handle_set(apr_file_t *in, request_rec *r, const char *error)
{
char tag[MAX_STRING_LEN];
char parsed_string[MAX_STRING_LEN];
@@ -2164,7 +2164,7 @@ static int handle_set(ap_file_t *in, request_rec *r, const char *error)
return -1;
}
parse_string(r, tag_val, parsed_string, sizeof(parsed_string), 0);
ap_table_setn(r->subprocess_env, var, ap_pstrdup(r->pool, parsed_string));
apr_table_setn(r->subprocess_env, var, apr_pstrdup(r->pool, parsed_string));
}
else {
ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, 0, r,
@@ -2175,12 +2175,12 @@ static int handle_set(ap_file_t *in, request_rec *r, const char *error)
}
}
static int handle_printenv(ap_file_t *in, request_rec *r, const char *error)
static int handle_printenv(apr_file_t *in, request_rec *r, const char *error)
{
char tag[MAX_STRING_LEN];
char *tag_val;
ap_array_header_t *arr = ap_table_elts(r->subprocess_env);
ap_table_entry_t *elts = (ap_table_entry_t *)arr->elts;
apr_array_header_t *arr = ap_table_elts(r->subprocess_env);
apr_table_entry_t *elts = (apr_table_entry_t *)arr->elts;
int i;
if (!(tag_val = get_tag(r->pool, in, tag, sizeof(tag), 1))) {
@@ -2208,7 +2208,7 @@ static int handle_printenv(ap_file_t *in, request_rec *r, const char *error)
/* This is a stub which parses a file descriptor. */
static void send_parsed_content(ap_file_t *f, request_rec *r)
static void send_parsed_content(apr_file_t *f, request_rec *r)
{
char directive[MAX_STRING_LEN], error[MAX_STRING_LEN];
char timefmt[MAX_STRING_LEN];
@@ -2218,8 +2218,8 @@ static void send_parsed_content(ap_file_t *f, request_rec *r)
int printing;
int conditional_status;
ap_cpystrn(error, DEFAULT_ERROR_MSG, sizeof(error));
ap_cpystrn(timefmt, DEFAULT_TIME_FORMAT, sizeof(timefmt));
apr_cpystrn(error, DEFAULT_ERROR_MSG, sizeof(error));
apr_cpystrn(timefmt, DEFAULT_TIME_FORMAT, sizeof(timefmt));
sizefmt = SIZEFMT_KMG;
/* Turn printing on */
@@ -2228,11 +2228,11 @@ static void send_parsed_content(ap_file_t *f, request_rec *r)
ap_chdir_file(r->filename);
if (r->args) { /* add QUERY stuff to env cause it ain't yet */
char *arg_copy = ap_pstrdup(r->pool, r->args);
char *arg_copy = apr_pstrdup(r->pool, r->args);
ap_table_setn(r->subprocess_env, "QUERY_STRING", r->args);
apr_table_setn(r->subprocess_env, "QUERY_STRING", r->args);
ap_unescape_url(arg_copy);
ap_table_setn(r->subprocess_env, "QUERY_STRING_UNESCAPED",
apr_table_setn(r->subprocess_env, "QUERY_STRING_UNESCAPED",
ap_escape_shell_cmd(r->pool, arg_copy));
}
@@ -2363,9 +2363,9 @@ enum xbithack {
#define DEFAULT_XBITHACK xbithack_off
#endif
static void *create_includes_dir_config(ap_pool_t *p, char *dummy)
static void *create_includes_dir_config(apr_pool_t *p, char *dummy)
{
enum xbithack *result = (enum xbithack *) ap_palloc(p, sizeof(enum xbithack));
enum xbithack *result = (enum xbithack *) apr_palloc(p, sizeof(enum xbithack));
*result = DEFAULT_XBITHACK;
return result;
}
@@ -2392,7 +2392,7 @@ static const char *set_xbithack(cmd_parms *cmd, void *xbp, const char *arg)
static int send_parsed_file(request_rec *r)
{
ap_file_t *f = NULL;
apr_file_t *f = NULL;
enum xbithack *state =
(enum xbithack *) ap_get_module_config(r->per_dir_config, &includes_module);
int errstatus;
@@ -2409,12 +2409,12 @@ static int send_parsed_file(request_rec *r)
ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, 0, r,
"File does not exist: %s",
(r->path_info
? ap_pstrcat(r->pool, r->filename, r->path_info, NULL)
? apr_pstrcat(r->pool, r->filename, r->path_info, NULL)
: r->filename));
return HTTP_NOT_FOUND;
}
errstatus = ap_open(&f, r->filename, APR_READ|APR_BUFFERED, 0, r->pool);
errstatus = apr_open(&f, r->filename, APR_READ|APR_BUFFERED, 0, r->pool);
if (errstatus != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, errstatus, r,
@@ -2438,7 +2438,7 @@ static int send_parsed_file(request_rec *r)
ap_send_http_header(r);
if (r->header_only) {
ap_close(f);
apr_close(f);
return OK;
}
@@ -2534,7 +2534,7 @@ module MODULE_VAR_EXPORT includes_module =
NULL, /* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server config */
includes_cmds, /* command ap_table_t */
includes_cmds, /* command apr_table_t */
includes_handlers, /* handlers */
NULL /* register hooks */
};

View File

@@ -70,10 +70,10 @@
static int asis_handler(request_rec *r)
{
ap_file_t *f = NULL;
ap_status_t status;
apr_file_t *f = NULL;
apr_status_t status;
const char *location;
ap_size_t nbytes;
apr_size_t nbytes;
r->allowed |= (1 << M_GET);
if (r->method_number != M_GET)
@@ -84,7 +84,7 @@ static int asis_handler(request_rec *r)
return HTTP_NOT_FOUND;
}
if ((status = ap_open(&f, r->filename, APR_READ,
if ((status = apr_open(&f, r->filename, APR_READ,
APR_OS_DEFAULT, r->pool)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r,
"file permissions deny server access: %s", r->filename);
@@ -92,12 +92,12 @@ static int asis_handler(request_rec *r)
}
ap_scan_script_header_err(r, f, NULL);
location = ap_table_get(r->headers_out, "Location");
location = apr_table_get(r->headers_out, "Location");
if (location && location[0] == '/' &&
((r->status == HTTP_OK) || ap_is_HTTP_REDIRECT(r->status))) {
ap_close(f);
apr_close(f);
/* Internal redirect -- fake-up a pseudo-request */
r->status = HTTP_OK;
@@ -105,7 +105,7 @@ static int asis_handler(request_rec *r)
/* This redirect needs to be a GET no matter what the original
* method was.
*/
r->method = ap_pstrdup(r->pool, "GET");
r->method = apr_pstrdup(r->pool, "GET");
r->method_number = M_GET;
ap_internal_redirect_handler(location, r);
@@ -117,7 +117,7 @@ static int asis_handler(request_rec *r)
ap_send_fd(f, r, 0, r->finfo.size, &nbytes);
}
ap_close(f);
apr_close(f);
return OK;
}
@@ -135,7 +135,7 @@ module MODULE_VAR_EXPORT asis_module =
NULL, /* merge per-directory config structures */
NULL, /* create per-server config structure */
NULL, /* merge per-server config structures */
NULL, /* command ap_table_t */
NULL, /* command apr_table_t */
asis_handlers, /* handlers */
NULL /* register hooks */
};

View File

@@ -163,12 +163,12 @@ typedef struct autoindex_config_struct {
int icon_height;
char *default_order;
ap_array_header_t *icon_list;
ap_array_header_t *alt_list;
ap_array_header_t *desc_list;
ap_array_header_t *ign_list;
ap_array_header_t *hdr_list;
ap_array_header_t *rdme_list;
apr_array_header_t *icon_list;
apr_array_header_t *alt_list;
apr_array_header_t *desc_list;
apr_array_header_t *ign_list;
apr_array_header_t *hdr_list;
apr_array_header_t *rdme_list;
} autoindex_config_rec;
@@ -209,10 +209,10 @@ static void emit_preamble(request_rec *r, char *title)
"</TITLE>\n </HEAD>\n <BODY>\n", NULL);
}
static void push_item(ap_array_header_t *arr, char *type, const char *to,
static void push_item(apr_array_header_t *arr, char *type, const char *to,
const char *path, const char *data)
{
struct item *p = (struct item *) ap_push_array(arr);
struct item *p = (struct item *) apr_push_array(arr);
if (!to) {
to = "";
@@ -222,14 +222,14 @@ static void push_item(ap_array_header_t *arr, char *type, const char *to,
}
p->type = type;
p->data = data ? ap_pstrdup(arr->cont, data) : NULL;
p->apply_path = ap_pstrcat(arr->cont, path, "*", NULL);
p->data = data ? apr_pstrdup(arr->cont, data) : NULL;
p->apply_path = apr_pstrcat(arr->cont, path, "*", NULL);
if ((type == BY_PATH) && (!ap_is_matchexp(to))) {
p->apply_to = ap_pstrcat(arr->cont, "*", to, NULL);
p->apply_to = apr_pstrcat(arr->cont, "*", to, NULL);
}
else if (to) {
p->apply_to = ap_pstrdup(arr->cont, to);
p->apply_to = apr_pstrdup(arr->cont, to);
}
else {
p->apply_to = NULL;
@@ -245,7 +245,7 @@ static const char *add_alt(cmd_parms *cmd, void *d, const char *alt,
}
}
if (cmd->info == BY_ENCODING) {
char *tmp = ap_pstrdup(cmd->pool, to);
char *tmp = apr_pstrdup(cmd->pool, to);
ap_str_tolower(tmp);
to = tmp;
}
@@ -258,7 +258,7 @@ static const char *add_alt(cmd_parms *cmd, void *d, const char *alt,
static const char *add_icon(cmd_parms *cmd, void *d, const char *icon,
const char *to)
{
char *iconbak = ap_pstrdup(cmd->pool, icon);
char *iconbak = apr_pstrdup(cmd->pool, icon);
if (icon[0] == '(') {
char *alt;
@@ -277,7 +277,7 @@ static const char *add_icon(cmd_parms *cmd, void *d, const char *icon,
}
}
if (cmd->info == BY_ENCODING) {
char *tmp = ap_pstrdup(cmd->pool, to);
char *tmp = apr_pstrdup(cmd->pool, to);
ap_str_tolower(tmp);
to = tmp;
}
@@ -316,20 +316,20 @@ static const char *add_desc(cmd_parms *cmd, void *d, const char *desc,
ai_desc_t *desc_entry;
char *prefix = "";
desc_entry = (ai_desc_t *) ap_push_array(dcfg->desc_list);
desc_entry = (ai_desc_t *) apr_push_array(dcfg->desc_list);
desc_entry->full_path = (ap_strchr_c(to, '/') == NULL) ? 0 : 1;
desc_entry->wildcards = (WILDCARDS_REQUIRED
|| desc_entry->full_path
|| ap_is_fnmatch(to));
|| apr_is_fnmatch(to));
if (desc_entry->wildcards) {
prefix = desc_entry->full_path ? "*/" : "*";
desc_entry->pattern = ap_pstrcat(dcfg->desc_list->cont,
desc_entry->pattern = apr_pstrcat(dcfg->desc_list->cont,
prefix, to, "*", NULL);
}
else {
desc_entry->pattern = ap_pstrdup(dcfg->desc_list->cont, to);
desc_entry->pattern = apr_pstrdup(dcfg->desc_list->cont, to);
}
desc_entry->description = ap_pstrdup(dcfg->desc_list->cont, desc);
desc_entry->description = apr_pstrdup(dcfg->desc_list->cont, desc);
return NULL;
}
@@ -515,7 +515,7 @@ static const char *set_default_order(cmd_parms *cmd, void *m, const char *direct
char temp[4];
autoindex_config_rec *d_cfg = (autoindex_config_rec *) m;
ap_cpystrn(temp, "k=d", sizeof(temp));
apr_cpystrn(temp, "k=d", sizeof(temp));
if (!strcasecmp(direction, "Ascending")) {
temp[2] = D_ASCENDING;
}
@@ -544,10 +544,10 @@ static const char *set_default_order(cmd_parms *cmd, void *m, const char *direct
}
if (d_cfg->default_order == NULL) {
d_cfg->default_order = ap_palloc(cmd->pool, 4);
d_cfg->default_order = apr_palloc(cmd->pool, 4);
d_cfg->default_order[3] = '\0';
}
ap_cpystrn(d_cfg->default_order, temp, sizeof(temp));
apr_cpystrn(d_cfg->default_order, temp, sizeof(temp));
return NULL;
}
@@ -587,21 +587,21 @@ static const command_rec autoindex_cmds[] =
{NULL}
};
static void *create_autoindex_config(ap_pool_t *p, char *dummy)
static void *create_autoindex_config(apr_pool_t *p, char *dummy)
{
autoindex_config_rec *new =
(autoindex_config_rec *) ap_pcalloc(p, sizeof(autoindex_config_rec));
(autoindex_config_rec *) apr_pcalloc(p, sizeof(autoindex_config_rec));
new->icon_width = 0;
new->icon_height = 0;
new->name_width = DEFAULT_NAME_WIDTH;
new->name_adjust = K_UNSET;
new->icon_list = ap_make_array(p, 4, sizeof(struct item));
new->alt_list = ap_make_array(p, 4, sizeof(struct item));
new->desc_list = ap_make_array(p, 4, sizeof(ai_desc_t));
new->ign_list = ap_make_array(p, 4, sizeof(struct item));
new->hdr_list = ap_make_array(p, 4, sizeof(struct item));
new->rdme_list = ap_make_array(p, 4, sizeof(struct item));
new->icon_list = apr_make_array(p, 4, sizeof(struct item));
new->alt_list = apr_make_array(p, 4, sizeof(struct item));
new->desc_list = apr_make_array(p, 4, sizeof(ai_desc_t));
new->ign_list = apr_make_array(p, 4, sizeof(struct item));
new->hdr_list = apr_make_array(p, 4, sizeof(struct item));
new->rdme_list = apr_make_array(p, 4, sizeof(struct item));
new->opts = 0;
new->incremented_opts = 0;
new->decremented_opts = 0;
@@ -610,24 +610,24 @@ static void *create_autoindex_config(ap_pool_t *p, char *dummy)
return (void *) new;
}
static void *merge_autoindex_configs(ap_pool_t *p, void *basev, void *addv)
static void *merge_autoindex_configs(apr_pool_t *p, void *basev, void *addv)
{
autoindex_config_rec *new;
autoindex_config_rec *base = (autoindex_config_rec *) basev;
autoindex_config_rec *add = (autoindex_config_rec *) addv;
new = (autoindex_config_rec *) ap_pcalloc(p, sizeof(autoindex_config_rec));
new = (autoindex_config_rec *) apr_pcalloc(p, sizeof(autoindex_config_rec));
new->default_icon = add->default_icon ? add->default_icon
: base->default_icon;
new->icon_height = add->icon_height ? add->icon_height : base->icon_height;
new->icon_width = add->icon_width ? add->icon_width : base->icon_width;
new->alt_list = ap_append_arrays(p, add->alt_list, base->alt_list);
new->ign_list = ap_append_arrays(p, add->ign_list, base->ign_list);
new->hdr_list = ap_append_arrays(p, add->hdr_list, base->hdr_list);
new->desc_list = ap_append_arrays(p, add->desc_list, base->desc_list);
new->icon_list = ap_append_arrays(p, add->icon_list, base->icon_list);
new->rdme_list = ap_append_arrays(p, add->rdme_list, base->rdme_list);
new->alt_list = apr_append_arrays(p, add->alt_list, base->alt_list);
new->ign_list = apr_append_arrays(p, add->ign_list, base->ign_list);
new->hdr_list = apr_append_arrays(p, add->hdr_list, base->hdr_list);
new->desc_list = apr_append_arrays(p, add->desc_list, base->desc_list);
new->icon_list = apr_append_arrays(p, add->icon_list, base->icon_list);
new->rdme_list = apr_append_arrays(p, add->rdme_list, base->rdme_list);
if (add->opts & NO_OPTIONS) {
/*
* If the current directory says 'no options' then we also
@@ -702,13 +702,13 @@ struct ent {
char *alt;
char *desc;
off_t size;
ap_time_t lm;
apr_time_t lm;
struct ent *next;
int ascending, version_sort;
char key;
};
static char *find_item(request_rec *r, ap_array_header_t *list, int path_only)
static char *find_item(request_rec *r, apr_array_header_t *list, int path_only)
{
const char *content_type = ap_field_noparam(r->pool, r->content_type);
const char *content_encoding = r->content_encoding;
@@ -819,7 +819,7 @@ static char *find_desc(autoindex_config_rec *dcfg, request_rec *r)
* wildcard checking if we must.
*/
if (tuple->wildcards) {
found = (ap_fnmatch(tuple->pattern, filename, MATCH_FLAGS) == 0);
found = (apr_fnmatch(tuple->pattern, filename, MATCH_FLAGS) == 0);
}
else {
found = (ap_strstr_c(filename, tuple->pattern) != NULL);
@@ -833,7 +833,7 @@ static char *find_desc(autoindex_config_rec *dcfg, request_rec *r)
static int ignore_entry(autoindex_config_rec *d, char *path)
{
ap_array_header_t *list = d->ign_list;
apr_array_header_t *list = d->ign_list;
struct item *items = (struct item *) list->elts;
char *tt;
int i;
@@ -908,18 +908,18 @@ static int ignore_entry(autoindex_config_rec *d, char *path)
/*
* emit a plain text file
*/
static void do_emit_plain(request_rec *r, ap_file_t *f)
static void do_emit_plain(request_rec *r, apr_file_t *f)
{
char buf[IOBUFSIZE + 1];
int i, c, ch;
ap_ssize_t n;
ap_status_t stat;
apr_ssize_t n;
apr_status_t stat;
ap_rputs("<PRE>\n", r);
while (!ap_eof(f)) {
while (!apr_eof(f)) {
do {
n = sizeof(char) * IOBUFSIZE;
stat = ap_read(f, buf, &n);
stat = apr_read(f, buf, &n);
}
while (stat != APR_SUCCESS && stat == EINTR);
if (n == -1 || n == 0) {
@@ -963,7 +963,7 @@ static void do_emit_plain(request_rec *r, ap_file_t *f)
static void emit_head(request_rec *r, char *header_fname, int suppress_amble,
char *title)
{
ap_file_t *f = NULL;
apr_file_t *f = NULL;
request_rec *rr = NULL;
int emit_amble = 1;
int emit_H1 = 1;
@@ -1011,12 +1011,12 @@ static void emit_head(request_rec *r, char *header_fname, int suppress_amble,
* the file's contents, any HTML header it had won't end up
* where it belongs.
*/
if (ap_open(&f, rr->filename, APR_READ,
if (apr_open(&f, rr->filename, APR_READ,
APR_OS_DEFAULT, r->pool) == APR_SUCCESS) {
emit_preamble(r, title);
emit_amble = 0;
do_emit_plain(r, f);
ap_close(f);
apr_close(f);
emit_H1 = 0;
}
}
@@ -1046,7 +1046,7 @@ static void emit_head(request_rec *r, char *header_fname, int suppress_amble,
*/
static void emit_tail(request_rec *r, char *readme_fname, int suppress_amble)
{
ap_file_t *f = NULL;
apr_file_t *f = NULL;
request_rec *rr = NULL;
int suppress_post = 0;
int suppress_sig = 0;
@@ -1079,10 +1079,10 @@ static void emit_tail(request_rec *r, char *readme_fname, int suppress_amble)
/*
* If we can open the file, suppress the signature.
*/
if (ap_open(&f, rr->filename, APR_READ,
if (apr_open(&f, rr->filename, APR_READ,
APR_OS_DEFAULT, r->pool) == APR_SUCCESS) {
do_emit_plain(r, f);
ap_close(f);
apr_close(f);
suppress_sig = 1;
}
}
@@ -1104,9 +1104,9 @@ static void emit_tail(request_rec *r, char *readme_fname, int suppress_amble)
static char *find_title(request_rec *r)
{
char titlebuf[MAX_STRING_LEN], *find = "<TITLE>";
ap_file_t *thefile = NULL;
apr_file_t *thefile = NULL;
int x, y, p;
ap_ssize_t n;
apr_ssize_t n;
if (r->status != HTTP_OK) {
return NULL;
@@ -1116,14 +1116,14 @@ static char *find_title(request_rec *r)
"text/html")
|| !strcmp(r->content_type, INCLUDES_MAGIC_TYPE))
&& !r->content_encoding) {
if (ap_open(&thefile, r->filename, APR_READ,
if (apr_open(&thefile, r->filename, APR_READ,
APR_OS_DEFAULT, r->pool) != APR_SUCCESS) {
return NULL;
}
n = sizeof(char) * (MAX_STRING_LEN - 1);
ap_read(thefile, titlebuf, &n);
apr_read(thefile, titlebuf, &n);
if (n <= 0) {
ap_close(thefile);
apr_close(thefile);
return NULL;
}
titlebuf[n] = '\0';
@@ -1144,15 +1144,15 @@ static char *find_title(request_rec *r)
}
}
}
ap_close(thefile);
return ap_pstrdup(r->pool, &titlebuf[x]);
apr_close(thefile);
return apr_pstrdup(r->pool, &titlebuf[x]);
}
}
else {
p = 0;
}
}
ap_close(thefile);
apr_close(thefile);
}
return NULL;
}
@@ -1172,8 +1172,8 @@ static struct ent *make_autoindex_entry(char *name, int autoindex_opts,
return (NULL);
}
p = (struct ent *) ap_pcalloc(r->pool, sizeof(struct ent));
p->name = ap_pstrdup(r->pool, name);
p = (struct ent *) apr_pcalloc(r->pool, sizeof(struct ent));
p->name = apr_pstrdup(r->pool, name);
p->size = -1;
p->icon = NULL;
p->alt = NULL;
@@ -1196,7 +1196,7 @@ static struct ent *make_autoindex_entry(char *name, int autoindex_opts,
p->alt = "DIR";
}
p->size = -1;
p->name = ap_pstrcat(r->pool, name, "/", NULL);
p->name = apr_pstrcat(r->pool, name, "/", NULL);
}
else {
p->icon = find_icon(d, rr, 0);
@@ -1208,7 +1208,7 @@ static struct ent *make_autoindex_entry(char *name, int autoindex_opts,
p->desc = find_desc(d, rr);
if ((!p->desc) && (autoindex_opts & SCAN_HTML_TITLES)) {
p->desc = ap_pstrdup(r->pool, find_title(rr));
p->desc = apr_pstrdup(r->pool, find_title(rr));
}
ap_destroy_sub_req(rr);
@@ -1299,16 +1299,16 @@ static void output_directories(struct ent **ar, int n,
int autoindex_opts, char keyid, char direction)
{
int x;
ap_size_t rv;
apr_size_t rv;
char *name = r->uri;
char *tp;
int static_columns = (autoindex_opts & SUPPRESS_COLSORT);
ap_pool_t *scratch;
apr_pool_t *scratch;
int name_width;
char *name_scratch;
char *pad_scratch;
ap_create_pool(&scratch, r->pool);
apr_create_pool(&scratch, r->pool);
if (name[0] == '\0') {
name = "/";
}
@@ -1322,8 +1322,8 @@ static void output_directories(struct ent **ar, int n,
}
}
}
name_scratch = ap_palloc(r->pool, name_width + 1);
pad_scratch = ap_palloc(r->pool, name_width + 1);
name_scratch = apr_palloc(r->pool, name_width + 1);
pad_scratch = apr_palloc(r->pool, name_width + 1);
memset(pad_scratch, ' ', name_width);
pad_scratch[name_width] = '\0';
@@ -1372,7 +1372,7 @@ static void output_directories(struct ent **ar, int n,
char *anchor, *t, *t2;
int nwidth;
ap_clear_pool(scratch);
apr_clear_pool(scratch);
if (is_parent(ar[x]->name)) {
t = ap_make_full_path(scratch, name, "../");
@@ -1431,8 +1431,8 @@ static void output_directories(struct ent **ar, int n,
if (ar[x]->lm != -1) {
char time_str[MAX_STRING_LEN];
ap_exploded_time_t ts;
ap_explode_localtime(&ts, ar[x]->lm);
ap_strftime(time_str, &rv, MAX_STRING_LEN,
apr_explode_localtime(&ts, ar[x]->lm);
apr_strftime(time_str, &rv, MAX_STRING_LEN,
"%d-%b-%Y %H:%M ", &ts);
ap_rputs(time_str, r);
}
@@ -1519,7 +1519,7 @@ static int dsortf(struct ent **e1, struct ent **e2)
break;
case K_DESC:
if (c1->version_sort)
result = ap_strnatcmp(c1->desc ? c1->desc : "", c2->desc ? c2->desc : "");
result = apr_strnatcmp(c1->desc ? c1->desc : "", c2->desc ? c2->desc : "");
else
result = strcmp(c1->desc ? c1->desc : "", c2->desc ? c2->desc : "");
if (result) {
@@ -1528,7 +1528,7 @@ static int dsortf(struct ent **e1, struct ent **e2)
break;
}
if (c1->version_sort)
return ap_strnatcmp(c1->name, c2->name);
return apr_strnatcmp(c1->name, c2->name);
else
return strcmp(c1->name, c2->name);
}
@@ -1541,8 +1541,8 @@ static int index_directory(request_rec *r,
char *title_endp;
char *name = r->filename;
ap_dir_t *d;
ap_status_t status;
apr_dir_t *d;
apr_status_t status;
int num_ent = 0, x;
struct ent *head, *p;
struct ent **ar = NULL;
@@ -1551,7 +1551,7 @@ static int index_directory(request_rec *r,
char keyid;
char direction;
if ((status = ap_opendir(&d, name, r->pool)) != APR_SUCCESS) {
if ((status = apr_opendir(&d, name, r->pool)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r,
"Can't open directory for index: %s", r->filename);
return HTTP_FORBIDDEN;
@@ -1562,7 +1562,7 @@ static int index_directory(request_rec *r,
ap_send_http_header(r);
if (r->header_only) {
ap_closedir(d);
apr_closedir(d);
return 0;
}
@@ -1614,9 +1614,9 @@ static int index_directory(request_rec *r,
* linked list and then arrayificate them so qsort can use them.
*/
head = NULL;
while (ap_readdir(d) == APR_SUCCESS) {
while (apr_readdir(d) == APR_SUCCESS) {
char *d_name;
ap_get_dir_filename(&d_name, d);
apr_get_dir_filename(&d_name, d);
p = make_autoindex_entry(d_name, autoindex_opts,
autoindex_conf, r, keyid, direction);
if (p != NULL) {
@@ -1626,7 +1626,7 @@ static int index_directory(request_rec *r,
}
}
if (num_ent > 0) {
ar = (struct ent **) ap_palloc(r->pool,
ar = (struct ent **) apr_palloc(r->pool,
num_ent * sizeof(struct ent *));
p = head;
x = 0;
@@ -1640,7 +1640,7 @@ static int index_directory(request_rec *r,
}
output_directories(ar, num_ent, autoindex_conf, r, autoindex_opts, keyid,
direction);
ap_closedir(d);
apr_closedir(d);
if (autoindex_opts & FANCY_INDEXING) {
ap_rputs("<HR>\n", r);
@@ -1675,7 +1675,7 @@ static int handle_autoindex(request_rec *r)
*/
if (r->filename[strlen(r->filename) - 1] != '/') {
r->filename = ap_pstrcat(r->pool, r->filename, "/", NULL);
r->filename = apr_pstrcat(r->pool, r->filename, "/", NULL);
}
return index_directory(r, d);
}
@@ -1700,7 +1700,7 @@ module MODULE_VAR_EXPORT autoindex_module =
merge_autoindex_configs, /* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server config */
autoindex_cmds, /* command ap_table_t */
autoindex_cmds, /* command apr_table_t */
autoindex_handlers, /* handlers */
NULL /* register hooks */
};

View File

@@ -99,7 +99,7 @@ module MODULE_VAR_EXPORT cgi_module;
static int is_scriptaliased(request_rec *r)
{
const char *t = ap_table_get(r->notes, "alias-forced-type");
const char *t = apr_table_get(r->notes, "alias-forced-type");
return t && (!strcasecmp(t, "cgi-script"));
}
@@ -114,10 +114,10 @@ typedef struct {
int bufbytes;
} cgi_server_conf;
static void *create_cgi_config(ap_pool_t *p, server_rec *s)
static void *create_cgi_config(apr_pool_t *p, server_rec *s)
{
cgi_server_conf *c =
(cgi_server_conf *) ap_pcalloc(p, sizeof(cgi_server_conf));
(cgi_server_conf *) apr_pcalloc(p, sizeof(cgi_server_conf));
c->logname = NULL;
c->logbytes = DEFAULT_LOGBYTES;
@@ -126,7 +126,7 @@ static void *create_cgi_config(ap_pool_t *p, server_rec *s)
return c;
}
static void *merge_cgi_config(ap_pool_t *p, void *basev, void *overridesv)
static void *merge_cgi_config(apr_pool_t *p, void *basev, void *overridesv)
{
cgi_server_conf *base = (cgi_server_conf *) basev, *overrides = (cgi_server_conf *) overridesv;
@@ -179,31 +179,31 @@ AP_INIT_TAKE1("ScriptLogBuffer", set_scriptlog_buffer, NULL, RSRC_CONF,
static int log_scripterror(request_rec *r, cgi_server_conf * conf, int ret,
int show_errno, char *error)
{
ap_file_t *f = NULL;
ap_finfo_t finfo;
apr_file_t *f = NULL;
apr_finfo_t finfo;
char time_str[AP_CTIME_LEN];
ap_log_rerror(APLOG_MARK, show_errno|APLOG_ERR, errno, r,
"%s: %s", error, r->filename);
if (!conf->logname ||
((ap_stat(&finfo, ap_server_root_relative(r->pool, conf->logname), r->pool) == APR_SUCCESS)
((apr_stat(&finfo, ap_server_root_relative(r->pool, conf->logname), r->pool) == APR_SUCCESS)
&& (finfo.size > conf->logbytes)) ||
(ap_open(&f, ap_server_root_relative(r->pool, conf->logname),
(apr_open(&f, ap_server_root_relative(r->pool, conf->logname),
APR_APPEND|APR_WRITE|APR_CREATE, APR_OS_DEFAULT, r->pool) != APR_SUCCESS)) {
return ret;
}
/* "%% [Wed Jun 19 10:53:21 1996] GET /cgi-bin/printenv HTTP/1.0" */
ap_ctime(time_str, ap_now());
ap_fprintf(f, "%%%% [%s] %s %s%s%s %s\n", time_str, r->method, r->uri,
apr_ctime(time_str, apr_now());
apr_fprintf(f, "%%%% [%s] %s %s%s%s %s\n", time_str, r->method, r->uri,
r->args ? "?" : "", r->args ? r->args : "", r->protocol);
/* "%% 500 /usr/local/apache/cgi-bin */
ap_fprintf(f, "%%%% %d %s\n", ret, r->filename);
apr_fprintf(f, "%%%% %d %s\n", ret, r->filename);
ap_fprintf(f, "%%error\n%s\n", error);
apr_fprintf(f, "%%error\n%s\n", error);
ap_close(f);
apr_close(f);
return ret;
}
@@ -227,18 +227,18 @@ static void log_script_err(request_rec *r, BUFF *script_err)
static int log_script(request_rec *r, cgi_server_conf * conf, int ret,
char *dbuf, const char *sbuf, BUFF *script_in, BUFF *script_err)
{
ap_array_header_t *hdrs_arr = ap_table_elts(r->headers_in);
ap_table_entry_t *hdrs = (ap_table_entry_t *) hdrs_arr->elts;
apr_array_header_t *hdrs_arr = ap_table_elts(r->headers_in);
apr_table_entry_t *hdrs = (apr_table_entry_t *) hdrs_arr->elts;
char argsbuffer[HUGE_STRING_LEN];
ap_file_t *f = NULL;
apr_file_t *f = NULL;
int i;
ap_finfo_t finfo;
apr_finfo_t finfo;
char time_str[AP_CTIME_LEN];
if (!conf->logname ||
((ap_stat(&finfo, ap_server_root_relative(r->pool, conf->logname), r->pool) == APR_SUCCESS)
((apr_stat(&finfo, ap_server_root_relative(r->pool, conf->logname), r->pool) == APR_SUCCESS)
&& (finfo.size > conf->logbytes)) ||
(ap_open(&f, ap_server_root_relative(r->pool, conf->logname),
(apr_open(&f, ap_server_root_relative(r->pool, conf->logname),
APR_APPEND|APR_WRITE|APR_CREATE, APR_OS_DEFAULT, r->pool) != APR_SUCCESS)) {
/* Soak up script output */
while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_in) > 0)
@@ -249,66 +249,66 @@ static int log_script(request_rec *r, cgi_server_conf * conf, int ret,
}
/* "%% [Wed Jun 19 10:53:21 1996] GET /cgi-bin/printenv HTTP/1.0" */
ap_ctime(time_str, ap_now());
ap_fprintf(f, "%%%% [%s] %s %s%s%s %s\n", time_str, r->method, r->uri,
apr_ctime(time_str, apr_now());
apr_fprintf(f, "%%%% [%s] %s %s%s%s %s\n", time_str, r->method, r->uri,
r->args ? "?" : "", r->args ? r->args : "", r->protocol);
/* "%% 500 /usr/local/apache/cgi-bin" */
ap_fprintf(f, "%%%% %d %s\n", ret, r->filename);
apr_fprintf(f, "%%%% %d %s\n", ret, r->filename);
ap_puts("%request\n", f);
apr_puts("%request\n", f);
for (i = 0; i < hdrs_arr->nelts; ++i) {
if (!hdrs[i].key)
continue;
ap_fprintf(f, "%s: %s\n", hdrs[i].key, hdrs[i].val);
apr_fprintf(f, "%s: %s\n", hdrs[i].key, hdrs[i].val);
}
if ((r->method_number == M_POST || r->method_number == M_PUT)
&& *dbuf) {
ap_fprintf(f, "\n%s\n", dbuf);
apr_fprintf(f, "\n%s\n", dbuf);
}
ap_puts("%response\n", f);
apr_puts("%response\n", f);
hdrs_arr = ap_table_elts(r->err_headers_out);
hdrs = (ap_table_entry_t *) hdrs_arr->elts;
hdrs = (apr_table_entry_t *) hdrs_arr->elts;
for (i = 0; i < hdrs_arr->nelts; ++i) {
if (!hdrs[i].key)
continue;
ap_fprintf(f, "%s: %s\n", hdrs[i].key, hdrs[i].val);
apr_fprintf(f, "%s: %s\n", hdrs[i].key, hdrs[i].val);
}
if (sbuf && *sbuf)
ap_fprintf(f, "%s\n", sbuf);
apr_fprintf(f, "%s\n", sbuf);
if (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_in) > 0) {
ap_puts("%stdout\n", f);
ap_puts(argsbuffer, f);
apr_puts("%stdout\n", f);
apr_puts(argsbuffer, f);
while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_in) > 0)
ap_puts(argsbuffer, f);
ap_puts("\n", f);
apr_puts(argsbuffer, f);
apr_puts("\n", f);
}
if (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_err) > 0) {
ap_puts("%stderr\n", f);
ap_puts(argsbuffer, f);
apr_puts("%stderr\n", f);
apr_puts(argsbuffer, f);
while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_err) > 0)
ap_puts(argsbuffer, f);
ap_puts("\n", f);
apr_puts(argsbuffer, f);
apr_puts("\n", f);
}
ap_bclose(script_in);
ap_bclose(script_err);
ap_close(f);
apr_close(f);
return ret;
}
static ap_status_t run_cgi_child(BUFF **script_out, BUFF **script_in, BUFF **script_err,
char *command, char *const argv[], request_rec *r, ap_pool_t *p)
static apr_status_t run_cgi_child(BUFF **script_out, BUFF **script_in, BUFF **script_err,
char *command, char *const argv[], request_rec *r, apr_pool_t *p)
{
char **env;
ap_procattr_t *procattr;
ap_proc_t *procnew = ap_pcalloc(p, sizeof(*procnew));
ap_status_t rc = APR_SUCCESS;
ap_file_t *file = NULL;
apr_procattr_t *procattr;
apr_proc_t *procnew = apr_pcalloc(p, sizeof(*procnew));
apr_status_t rc = APR_SUCCESS;
apr_file_t *file = NULL;
ap_iol *iol;
#if defined(RLIMIT_CPU) || defined(RLIMIT_NPROC) || \
defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined (RLIMIT_AS)
@@ -345,29 +345,29 @@ static ap_status_t run_cgi_child(BUFF **script_out, BUFF **script_in, BUFF **scr
/* Transumute ourselves into the script.
* NB only ISINDEX scripts get decoded arguments.
*/
if (((rc = ap_createprocattr_init(&procattr, p)) != APR_SUCCESS) ||
((rc = ap_setprocattr_io(procattr,
if (((rc = apr_createprocattr_init(&procattr, p)) != APR_SUCCESS) ||
((rc = apr_setprocattr_io(procattr,
APR_CHILD_BLOCK,
APR_CHILD_BLOCK,
APR_CHILD_BLOCK)) != APR_SUCCESS) ||
((rc = ap_setprocattr_dir(procattr,
((rc = apr_setprocattr_dir(procattr,
ap_make_dirstr_parent(r->pool, r->filename))) != APR_SUCCESS) ||
#ifdef RLIMIT_CPU
((rc = ap_setprocattr_limit(procattr, APR_LIMIT_CPU, conf->limit_cpu)) != APR_SUCCESS) ||
((rc = apr_setprocattr_limit(procattr, APR_LIMIT_CPU, conf->limit_cpu)) != APR_SUCCESS) ||
#endif
#if defined(RLIMIT_DATA) || defined(RLIMIT_VMEM) || defined(RLIMIT_AS)
((rc = ap_setprocattr_limit(procattr, APR_LIMIT_MEM, conf->limit_mem)) != APR_SUCCESS) ||
((rc = apr_setprocattr_limit(procattr, APR_LIMIT_MEM, conf->limit_mem)) != APR_SUCCESS) ||
#endif
#ifdef RLIMIT_NPROC
((rc = ap_setprocattr_limit(procattr, APR_LIMIT_NPROC, conf->limit_nproc)) != APR_SUCCESS) ||
((rc = apr_setprocattr_limit(procattr, APR_LIMIT_NPROC, conf->limit_nproc)) != APR_SUCCESS) ||
#endif
((rc = ap_setprocattr_cmdtype(procattr, APR_PROGRAM)) != APR_SUCCESS)) {
((rc = apr_setprocattr_cmdtype(procattr, APR_PROGRAM)) != APR_SUCCESS)) {
/* Something bad happened, tell the world. */
ap_log_rerror(APLOG_MARK, APLOG_ERR, rc, r,
"couldn't set child process attributes: %s", r->filename);
}
else {
rc = ap_create_process(procnew, command, argv, env, procattr, p);
rc = apr_create_process(procnew, command, argv, env, procattr, p);
if (rc != APR_SUCCESS) {
/* Bad things happened. Everyone should have cleaned up. */
@@ -375,7 +375,7 @@ static ap_status_t run_cgi_child(BUFF **script_out, BUFF **script_in, BUFF **scr
"couldn't create child process: %d: %s", rc, r->filename);
}
else {
ap_note_subprocess(p, procnew, kill_after_timeout);
apr_note_subprocess(p, procnew, kill_after_timeout);
/* Fill in BUFF structure for parents pipe to child's stdout */
file = procnew->out;
@@ -407,7 +407,7 @@ static ap_status_t run_cgi_child(BUFF **script_out, BUFF **script_in, BUFF **scr
}
return (rc);
}
static ap_status_t build_argv_list(char ***argv, request_rec *r, ap_pool_t *p)
static apr_status_t build_argv_list(char ***argv, request_rec *r, apr_pool_t *p)
{
int numwords, x, idx;
char *w;
@@ -430,7 +430,7 @@ static ap_status_t build_argv_list(char ***argv, request_rec *r, ap_pool_t *p)
if (numwords > APACHE_ARG_MAX - 1) {
numwords = APACHE_ARG_MAX - 1; /* Truncate args to prevent overrun */
}
*argv = (char **) ap_palloc(p, (numwords + 2) * sizeof(char *));
*argv = (char **) apr_palloc(p, (numwords + 2) * sizeof(char *));
for (x = 1, idx = 1; x < numwords; x++) {
w = ap_getword_nulls(p, &args, '+');
@@ -442,7 +442,7 @@ static ap_status_t build_argv_list(char ***argv, request_rec *r, ap_pool_t *p)
return APR_SUCCESS;
}
static ap_status_t build_command_line(char **cmd, request_rec *r, ap_pool_t *p)
static apr_status_t build_command_line(char **cmd, request_rec *r, apr_pool_t *p)
{
#ifdef WIN32
char *quoted_filename = NULL;
@@ -462,24 +462,24 @@ static ap_status_t build_command_line(char **cmd, request_rec *r, ap_pool_t *p)
}
/*
* Build the command string to pass to ap_create_process()
* Build the command string to pass to apr_create_process()
*/
quoted_filename = ap_pstrcat(p, "\"", r->filename, "\"", NULL);
quoted_filename = apr_pstrcat(p, "\"", r->filename, "\"", NULL);
if (interpreter && *interpreter) {
if (arguments && *arguments)
*cmd = ap_pstrcat(p, interpreter, " ", quoted_filename, " ",
*cmd = apr_pstrcat(p, interpreter, " ", quoted_filename, " ",
arguments, NULL);
else
*cmd = ap_pstrcat(p, interpreter, " ", quoted_filename, " ", NULL);
*cmd = apr_pstrcat(p, interpreter, " ", quoted_filename, " ", NULL);
}
else if (arguments && *arguments) {
*cmd = ap_pstrcat(p, quoted_filename, " ", arguments, NULL);
*cmd = apr_pstrcat(p, quoted_filename, " ", arguments, NULL);
}
else {
*cmd = ap_pstrcat(p, quoted_filename, NULL);
*cmd = apr_pstrcat(p, quoted_filename, NULL);
}
#else
*cmd = ap_pstrcat(p, r->filename, NULL);
*cmd = apr_pstrcat(p, r->filename, NULL);
#endif
return APR_SUCCESS;
}
@@ -495,7 +495,7 @@ static int cgi_handler(request_rec *r)
char argsbuffer[HUGE_STRING_LEN];
int is_included = !strcmp(r->protocol, "INCLUDED");
void *sconf = r->server->module_config;
ap_pool_t *p;
apr_pool_t *p;
cgi_server_conf *conf =
(cgi_server_conf *) ap_get_module_config(sconf, &cgi_module);
@@ -525,11 +525,11 @@ static int cgi_handler(request_rec *r)
#if defined(OS2) || defined(WIN32)
/* Allow for cgi files without the .EXE extension on them under OS/2 */
if (r->finfo.protection == 0) {
ap_finfo_t finfo;
apr_finfo_t finfo;
char *newfile;
newfile = ap_pstrcat(r->pool, r->filename, ".EXE", NULL);
if ((ap_stat(&finfo, newfile, r->pool) != APR_SUCCESS) ||
newfile = apr_pstrcat(r->pool, r->filename, ".EXE", NULL);
if ((apr_stat(&finfo, newfile, r->pool) != APR_SUCCESS) ||
(finfo.filetype != APR_REG)) {
return log_scripterror(r, conf, HTTP_NOT_FOUND, 0,
"script not found or unable to stat");
@@ -571,7 +571,7 @@ static int cgi_handler(request_rec *r)
"couldn't spawn child process: %s", r->filename);
return HTTP_INTERNAL_SERVER_ERROR;
}
argv[0] = ap_pstrdup(p, command);
argv[0] = apr_pstrdup(p, command);
/* run the script in its own process */
if (run_cgi_child(&script_out, &script_in, &script_err, command, argv, r, p) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, errno, r,
@@ -584,10 +584,10 @@ static int cgi_handler(request_rec *r)
*/
if (ap_should_client_block(r)) {
int dbsize, len_read;
ap_ssize_t bytes_written;
apr_ssize_t bytes_written;
if (conf->logname) {
dbuf = ap_pcalloc(r->pool, conf->bufbytes + 1);
dbuf = apr_pcalloc(r->pool, conf->bufbytes + 1);
dbpos = 0;
}
@@ -627,7 +627,7 @@ static int cgi_handler(request_rec *r)
return log_script(r, conf, ret, dbuf, sbuf, script_in, script_err);
}
location = ap_table_get(r->headers_out, "Location");
location = apr_table_get(r->headers_out, "Location");
if (location && location[0] == '/' && r->status == 200) {
@@ -639,14 +639,14 @@ static int cgi_handler(request_rec *r)
/* This redirect needs to be a GET no matter what the original
* method was.
*/
r->method = ap_pstrdup(r->pool, "GET");
r->method = apr_pstrdup(r->pool, "GET");
r->method_number = M_GET;
/* We already read the message body (if any), so don't allow
* the redirected request to think it has one. We can ignore
* Transfer-Encoding, since we used REQUEST_CHUNKED_ERROR.
*/
ap_table_unset(r->headers_in, "Content-Length");
apr_table_unset(r->headers_in, "Content-Length");
ap_internal_redirect_handler(location, r);
return OK;
@@ -689,7 +689,7 @@ module MODULE_VAR_EXPORT cgi_module =
NULL, /* dir merger --- default is to override */
create_cgi_config, /* server config */
merge_cgi_config, /* merge server config */
cgi_cmds, /* command ap_table_t */
cgi_cmds, /* command apr_table_t */
cgi_handlers, /* handlers */
NULL /* register hooks */
};

View File

@@ -106,10 +106,10 @@
module MODULE_VAR_EXPORT cgid_module;
static void cgid_init(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *main_server);
static void cgid_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *main_server);
static int once_through = 0;
static ap_pool_t *pcgi;
static apr_pool_t *pcgi;
/* KLUDGE --- for back-combatibility, we don't have to check Execcgid
* in ScriptAliased directories, which means we need to know if this
@@ -119,7 +119,7 @@ static ap_pool_t *pcgi;
static int is_scriptaliased(request_rec *r)
{
const char *t = ap_table_get(r->notes, "alias-forced-type");
const char *t = apr_table_get(r->notes, "alias-forced-type");
return t && (!strcasecmp(t, "cgi-script"));
}
@@ -165,7 +165,7 @@ typedef struct {
* are handled in create_argv.
*
*/
static char **create_argv(ap_pool_t *p, char *path, char *user, char *group,
static char **create_argv(apr_pool_t *p, char *path, char *user, char *group,
char *av0, const char *args)
{
int x, numwords;
@@ -184,7 +184,7 @@ static char **create_argv(ap_pool_t *p, char *path, char *user, char *group,
if (numwords > APACHE_ARG_MAX - 5) {
numwords = APACHE_ARG_MAX - 5; /* Truncate args to prevent overrun */
}
av = (char **) ap_palloc(p, (numwords + 5) * sizeof(char *));
av = (char **) apr_palloc(p, (numwords + 5) * sizeof(char *));
if (path) {
av[idx++] = path;
@@ -215,7 +215,7 @@ static int call_exec(request_rec *r, char *argv0, char **env, int shellcmd)
* put the error messages from the log_* functions. So, we use stderr,
* since that is better than allowing errors to go unnoticed.
*/
ap_put_os_file(&r->server->error_log, &errfileno, r->pool);
apr_put_os_file(&r->server->error_log, &errfileno, r->pool);
/* TODO: reimplement suexec */
#if 0
if (ap_suexec_enabled
@@ -229,7 +229,7 @@ static int call_exec(request_rec *r, char *argv0, char **env, int shellcmd)
if (!strncmp("/~", r->uri, 2)) {
gid_t user_gid;
char *username = ap_pstrdup(r->pool, r->uri + 2);
char *username = apr_pstrdup(r->pool, r->uri + 2);
char *pos = strchr(username, '/');
if (pos) {
@@ -241,15 +241,15 @@ static int call_exec(request_rec *r, char *argv0, char **env, int shellcmd)
"getpwnam: invalid username %s", username);
return (pid);
}
execuser = ap_pstrcat(r->pool, "~", pw->pw_name, NULL);
execuser = apr_pstrcat(r->pool, "~", pw->pw_name, NULL);
user_gid = pw->pw_gid;
if ((gr = getgrgid(user_gid)) == NULL) {
if ((grpname = ap_palloc(r->pool, 16)) == NULL) {
if ((grpname = apr_palloc(r->pool, 16)) == NULL) {
return (pid);
}
else {
ap_snprintf(grpname, 16, "%ld", (long) user_gid);
apr_snprintf(grpname, 16, "%ld", (long) user_gid);
}
}
else {
@@ -263,7 +263,7 @@ static int call_exec(request_rec *r, char *argv0, char **env, int shellcmd)
(long) r->server->server_uid);
return (pid);
}
execuser = ap_pstrdup(r->pool, pw->pw_name);
execuser = apr_pstrdup(r->pool, pw->pw_name);
if ((gr = getgrgid(r->server->server_gid)) == NULL) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, r,
@@ -321,12 +321,12 @@ static void cgid_maint(int reason, void *data, ap_wait_t status)
case APR_OC_REASON_LOST:
/* stop gap to make sure everything else works. In the end,
* we'll just restart the cgid server. */
ap_destroy_pool(pcgi);
apr_destroy_pool(pcgi);
kill(getppid(), SIGWINCH);
break;
case APR_OC_REASON_RESTART:
case APR_OC_REASON_UNREGISTER:
ap_destroy_pool(pcgi);
apr_destroy_pool(pcgi);
kill(*sd, SIGHUP);
break;
}
@@ -341,11 +341,11 @@ static void get_req(int fd, request_rec *r, char **filename, char **argv0, char
core_dir_config *temp_core;
void **dconf;
r->server = ap_pcalloc(r->pool, sizeof(server_rec));
r->server = apr_pcalloc(r->pool, sizeof(server_rec));
read(fd, &j, sizeof(int));
read(fd, &len, sizeof(int));
data = ap_pcalloc(r->pool, len + 1); /* get a cleared byte for final '\0' */
data = apr_pcalloc(r->pool, len + 1); /* get a cleared byte for final '\0' */
i = read(fd, data, len);
r->filename = ap_getword(r->pool, (const char **)&data, '\n');
@@ -353,7 +353,7 @@ static void get_req(int fd, request_rec *r, char **filename, char **argv0, char
r->uri = ap_getword(r->pool, (const char **)&data, '\n');
environ = ap_pcalloc(r->pool, (j + 2) *sizeof(char *));
environ = apr_pcalloc(r->pool, (j + 2) *sizeof(char *));
i = 0;
for (i = 0; i < j; i++) {
environ[i] = ap_getword(r->pool, (const char **)&data, '\n');
@@ -416,7 +416,7 @@ static void send_req(int fd, request_rec *r, char *argv0, char **env)
int i = 0;
char *data;
data = ap_pstrcat(r->pool, r->filename, "\n", argv0, "\n", r->uri, "\n",
data = apr_pstrcat(r->pool, r->filename, "\n", argv0, "\n", r->uri, "\n",
NULL);
for (i =0; env[i]; i++) {
@@ -429,9 +429,9 @@ static void send_req(int fd, request_rec *r, char *argv0, char **env)
}
for (i = 0; env[i]; i++) {
data = ap_pstrcat(r->pool, data, env[i], "\n", NULL);
data = apr_pstrcat(r->pool, data, env[i], "\n", NULL);
}
data = ap_pstrcat(r->pool, data, r->args, NULL);
data = apr_pstrcat(r->pool, data, r->args, NULL);
len = strlen(data);
if (write(fd, &len, sizeof(int)) < 0) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, errno, r,
@@ -497,11 +497,11 @@ static int cgid_server_child(int sd)
char *argv0;
char *filename;
char **env;
ap_pool_t *p;
apr_pool_t *p;
request_rec *r;
ap_create_pool(&p, pcgi);
r = ap_pcalloc(p, sizeof(request_rec));
apr_create_pool(&p, pcgi);
r = apr_pcalloc(p, sizeof(request_rec));
r->pool = p;
dup2(sd, STDIN_FILENO);
dup2(sd, STDOUT_FILENO);
@@ -521,7 +521,7 @@ static int cgid_server(void *data)
cgid_server_conf *sconf = (cgid_server_conf *)ap_get_module_config(
main_server->module_config, &cgid_module);
ap_signal(SIGCHLD, SIG_IGN);
apr_signal(SIGCHLD, SIG_IGN);
if (unlink(sconf->sockname) < 0 &&
errno != ENOENT) {
ap_log_error(APLOG_MARK, APLOG_ERR, errno, main_server,
@@ -588,7 +588,7 @@ static int cgid_server(void *data)
dup2(open(sconf->logname, O_WRONLY), STDERR_FILENO);
}
else {
ap_get_os_file(&errfile, main_server->error_log);
apr_get_os_file(&errfile, main_server->error_log);
dup2(errfile, STDERR_FILENO);
}
cgid_server_child(sd2);
@@ -601,13 +601,13 @@ static int cgid_server(void *data)
return -1;
}
static void cgid_init(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *main_server)
static void cgid_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *main_server)
{
pid_t pid;
ap_proc_t *procnew;
apr_proc_t *procnew;
if (once_through > 0) {
ap_create_pool(&pcgi, p);
apr_create_pool(&pcgi, p);
if ((pid = fork()) < 0) {
ap_log_error(APLOG_MARK, APLOG_ERR, errno, main_server,
@@ -617,21 +617,21 @@ static void cgid_init(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp, server_re
cgid_server(main_server);
exit(-1);
}
procnew = ap_pcalloc(p, sizeof(*procnew));
procnew = apr_pcalloc(p, sizeof(*procnew));
procnew->pid = pid;
procnew->err = procnew->in = procnew->out = NULL;
ap_note_subprocess(p, procnew, kill_after_timeout);
apr_note_subprocess(p, procnew, kill_after_timeout);
#if APR_HAS_OTHER_CHILD
ap_register_other_child(procnew, cgid_maint, NULL, NULL, p);
apr_register_other_child(procnew, cgid_maint, NULL, NULL, p);
#endif
}
else once_through++;
}
static void *create_cgid_config(ap_pool_t *p, server_rec *s)
static void *create_cgid_config(apr_pool_t *p, server_rec *s)
{
cgid_server_conf *c =
(cgid_server_conf *) ap_pcalloc(p, sizeof(cgid_server_conf));
(cgid_server_conf *) apr_pcalloc(p, sizeof(cgid_server_conf));
c->logname = NULL;
c->logbytes = DEFAULT_LOGBYTES;
@@ -641,7 +641,7 @@ static void *create_cgid_config(ap_pool_t *p, server_rec *s)
return c;
}
static void *merge_cgid_config(ap_pool_t *p, void *basev, void *overridesv)
static void *merge_cgid_config(apr_pool_t *p, void *basev, void *overridesv)
{
cgid_server_conf *base = (cgid_server_conf *) basev, *overrides = (cgid_server_conf *) overridesv;
@@ -705,7 +705,7 @@ static const command_rec cgid_cmds[] =
static int log_scripterror(request_rec *r, cgid_server_conf * conf, int ret,
int show_errno, char *error)
{
ap_file_t *f = NULL;
apr_file_t *f = NULL;
struct stat finfo;
char time_str[AP_CTIME_LEN];
@@ -715,31 +715,31 @@ static int log_scripterror(request_rec *r, cgid_server_conf * conf, int ret,
if (!conf->logname ||
((stat(ap_server_root_relative(r->pool, conf->logname), &finfo) == 0)
&& (finfo.st_size > conf->logbytes)) ||
(ap_open(&f, ap_server_root_relative(r->pool, conf->logname),
(apr_open(&f, ap_server_root_relative(r->pool, conf->logname),
APR_APPEND|APR_WRITE|APR_CREATE, APR_OS_DEFAULT, r->pool) != APR_SUCCESS)) {
return ret;
}
/* "%% [Wed Jun 19 10:53:21 1996] GET /cgid-bin/printenv HTTP/1.0" */
ap_ctime(time_str, ap_now());
ap_fprintf(f, "%%%% [%s] %s %s%s%s %s\n", time_str, r->method, r->uri,
apr_ctime(time_str, apr_now());
apr_fprintf(f, "%%%% [%s] %s %s%s%s %s\n", time_str, r->method, r->uri,
r->args ? "?" : "", r->args ? r->args : "", r->protocol);
/* "%% 500 /usr/local/apache/cgid-bin */
ap_fprintf(f, "%%%% %d %s\n", ret, r->filename);
apr_fprintf(f, "%%%% %d %s\n", ret, r->filename);
ap_fprintf(f, "%%error\n%s\n", error);
apr_fprintf(f, "%%error\n%s\n", error);
ap_close(f);
apr_close(f);
return ret;
}
static int log_script(request_rec *r, cgid_server_conf * conf, int ret,
char *dbuf, const char *sbuf, BUFF *script_in, BUFF *script_err)
{
ap_array_header_t *hdrs_arr = ap_table_elts(r->headers_in);
ap_table_entry_t *hdrs = (ap_table_entry_t *) hdrs_arr->elts;
apr_array_header_t *hdrs_arr = ap_table_elts(r->headers_in);
apr_table_entry_t *hdrs = (apr_table_entry_t *) hdrs_arr->elts;
char argsbuffer[HUGE_STRING_LEN];
ap_file_t *f = NULL;
apr_file_t *f = NULL;
int i;
struct stat finfo;
char time_str[AP_CTIME_LEN];
@@ -747,7 +747,7 @@ static int log_script(request_rec *r, cgid_server_conf * conf, int ret,
if (!conf->logname ||
((stat(ap_server_root_relative(r->pool, conf->logname), &finfo) == 0)
&& (finfo.st_size > conf->logbytes)) ||
(ap_open(&f, ap_server_root_relative(r->pool, conf->logname),
(apr_open(&f, ap_server_root_relative(r->pool, conf->logname),
APR_APPEND|APR_WRITE|APR_CREATE, APR_OS_DEFAULT, r->pool) != APR_SUCCESS)) {
/* Soak up script output */
while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_in) > 0)
@@ -760,51 +760,51 @@ static int log_script(request_rec *r, cgid_server_conf * conf, int ret,
}
/* "%% [Wed Jun 19 10:53:21 1996] GET /cgid-bin/printenv HTTP/1.0" */
ap_ctime(time_str, ap_now());
ap_fprintf(f, "%%%% [%s] %s %s%s%s %s\n", time_str, r->method, r->uri,
apr_ctime(time_str, apr_now());
apr_fprintf(f, "%%%% [%s] %s %s%s%s %s\n", time_str, r->method, r->uri,
r->args ? "?" : "", r->args ? r->args : "", r->protocol);
/* "%% 500 /usr/local/apache/cgid-bin" */
ap_fprintf(f, "%%%% %d %s\n", ret, r->filename);
apr_fprintf(f, "%%%% %d %s\n", ret, r->filename);
ap_puts("%request\n", f);
apr_puts("%request\n", f);
for (i = 0; i < hdrs_arr->nelts; ++i) {
if (!hdrs[i].key)
continue;
ap_fprintf(f, "%s: %s\n", hdrs[i].key, hdrs[i].val);
apr_fprintf(f, "%s: %s\n", hdrs[i].key, hdrs[i].val);
}
if ((r->method_number == M_POST || r->method_number == M_PUT)
&& *dbuf) {
ap_fprintf(f, "\n%s\n", dbuf);
apr_fprintf(f, "\n%s\n", dbuf);
}
ap_puts("%response\n", f);
apr_puts("%response\n", f);
hdrs_arr = ap_table_elts(r->err_headers_out);
hdrs = (ap_table_entry_t *) hdrs_arr->elts;
hdrs = (apr_table_entry_t *) hdrs_arr->elts;
for (i = 0; i < hdrs_arr->nelts; ++i) {
if (!hdrs[i].key)
continue;
ap_fprintf(f, "%s: %s\n", hdrs[i].key, hdrs[i].val);
apr_fprintf(f, "%s: %s\n", hdrs[i].key, hdrs[i].val);
}
if (sbuf && *sbuf)
ap_fprintf(f, "%s\n", sbuf);
apr_fprintf(f, "%s\n", sbuf);
if (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_in) > 0) {
ap_puts("%stdout\n", f);
ap_puts(argsbuffer, f);
apr_puts("%stdout\n", f);
apr_puts(argsbuffer, f);
while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_in) > 0)
ap_puts(argsbuffer, f);
ap_puts("\n", f);
apr_puts(argsbuffer, f);
apr_puts("\n", f);
}
if (script_err) {
if (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_err) > 0) {
ap_puts("%stderr\n", f);
ap_puts(argsbuffer, f);
apr_puts("%stderr\n", f);
apr_puts(argsbuffer, f);
while (ap_bgets(argsbuffer, HUGE_STRING_LEN, script_err) > 0)
ap_puts(argsbuffer, f);
ap_puts("\n", f);
apr_puts(argsbuffer, f);
apr_puts("\n", f);
}
}
@@ -813,7 +813,7 @@ static int log_script(request_rec *r, cgid_server_conf * conf, int ret,
ap_bclose(script_err);
}
ap_close(f);
apr_close(f);
return ret;
}
@@ -835,7 +835,7 @@ static int cgid_handler(request_rec *r)
int sd;
char **env;
struct sockaddr_un unix_addr;
ap_socket_t *tempsock = NULL;
apr_socket_t *tempsock = NULL;
int nbytes;
ap_iol *iol;
script = ap_bcreate(r->pool, B_RDWR);
@@ -872,7 +872,7 @@ static int cgid_handler(request_rec *r)
struct stat statbuf;
char *newfile;
newfile = ap_pstrcat(r->pool, r->filename, ".EXE", NULL);
newfile = apr_pstrcat(r->pool, r->filename, ".EXE", NULL);
if ((stat(newfile, &statbuf) != 0) || (!S_ISREG(statbuf.st_mode))) {
return log_scripterror(r, conf, HTTP_NOT_FOUND, 0,
@@ -915,7 +915,7 @@ static int cgid_handler(request_rec *r)
send_req(sd, r, argv0, env);
ap_put_os_sock(&tempsock, &sd, pcgi);
apr_put_os_sock(&tempsock, &sd, pcgi);
iol = ap_iol_attach_socket(pcgi, tempsock);
@@ -937,7 +937,7 @@ static int cgid_handler(request_rec *r)
int dbsize, len_read;
if (conf->logname) {
dbuf = ap_pcalloc(r->pool, conf->bufbytes + 1);
dbuf = apr_pcalloc(r->pool, conf->bufbytes + 1);
dbpos = 0;
}
@@ -979,7 +979,7 @@ static int cgid_handler(request_rec *r)
return log_script(r, conf, ret, dbuf, sbuf, script, NULL);
}
location = ap_table_get(r->headers_out, "Location");
location = apr_table_get(r->headers_out, "Location");
if (location && location[0] == '/' && r->status == 200) {
@@ -990,14 +990,14 @@ static int cgid_handler(request_rec *r)
/* This redirect needs to be a GET no matter what the original
* method was.
*/
r->method = ap_pstrdup(r->pool, "GET");
r->method = apr_pstrdup(r->pool, "GET");
r->method_number = M_GET;
/* We already read the message body (if any), so don't allow
* the redirected request to think it has one. We can ignore
* Transfer-Encoding, since we used REQUEST_CHUNKED_ERROR.
*/
ap_table_unset(r->headers_in, "Content-Length");
apr_table_unset(r->headers_in, "Content-Length");
ap_internal_redirect_handler(location, r);
return OK;

View File

@@ -94,7 +94,7 @@ typedef struct {
} info_entry;
typedef struct {
ap_array_header_t *more_info;
apr_array_header_t *more_info;
} info_svr_conf;
typedef struct info_cfg_lines {
@@ -106,21 +106,21 @@ typedef struct info_cfg_lines {
module MODULE_VAR_EXPORT info_module;
extern module *top_module;
static void *create_info_config(ap_pool_t *p, server_rec *s)
static void *create_info_config(apr_pool_t *p, server_rec *s)
{
info_svr_conf *conf = (info_svr_conf *) ap_pcalloc(p, sizeof(info_svr_conf));
info_svr_conf *conf = (info_svr_conf *) apr_pcalloc(p, sizeof(info_svr_conf));
conf->more_info = ap_make_array(p, 20, sizeof(info_entry));
conf->more_info = apr_make_array(p, 20, sizeof(info_entry));
return conf;
}
static void *merge_info_config(ap_pool_t *p, void *basev, void *overridesv)
static void *merge_info_config(apr_pool_t *p, void *basev, void *overridesv)
{
info_svr_conf *new = (info_svr_conf *) ap_pcalloc(p, sizeof(info_svr_conf));
info_svr_conf *new = (info_svr_conf *) apr_pcalloc(p, sizeof(info_svr_conf));
info_svr_conf *base = (info_svr_conf *) basev;
info_svr_conf *overrides = (info_svr_conf *) overridesv;
new->more_info = ap_append_arrays(p, overrides->more_info, base->more_info);
new->more_info = apr_append_arrays(p, overrides->more_info, base->more_info);
return new;
}
@@ -162,7 +162,7 @@ static char *mod_info_html_cmd_string(const char *string, char *buf, size_t buf_
return (buf);
}
static info_cfg_lines *mod_info_load_config(ap_pool_t *p, const char *filename,
static info_cfg_lines *mod_info_load_config(apr_pool_t *p, const char *filename,
request_rec *r)
{
char s[MAX_STRING_LEN];
@@ -183,7 +183,7 @@ static info_cfg_lines *mod_info_load_config(ap_pool_t *p, const char *filename,
if (*s == '#') {
continue; /* skip comments */
}
new = ap_palloc(p, sizeof(struct info_cfg_lines));
new = apr_palloc(p, sizeof(struct info_cfg_lines));
new->next = NULL;
if (!ret) {
ret = new;
@@ -194,7 +194,7 @@ static info_cfg_lines *mod_info_load_config(ap_pool_t *p, const char *filename,
t = s;
new->cmd = ap_getword_conf(p, &t);
if (*t) {
new->line = ap_pstrdup(p, t);
new->line = apr_pstrdup(p, t);
}
else {
new->line = NULL;
@@ -641,7 +641,7 @@ static const char *add_module_info(cmd_parms *cmd, void *dummy, char *name,
server_rec *s = cmd->server;
info_svr_conf *conf = (info_svr_conf *) ap_get_module_config(s->module_config,
&info_module);
info_entry *new = ap_push_array(conf->more_info);
info_entry *new = apr_push_array(conf->more_info);
new->name = name;
new->info = info;
@@ -669,7 +669,7 @@ module MODULE_VAR_EXPORT info_module =
NULL, /* dir merger --- default is to override */
create_info_config, /* server config */
merge_info_config, /* merge server config */
info_cmds, /* command ap_table_t */
info_cmds, /* command apr_table_t */
info_handlers, /* handlers */
NULL, /* filename translation */
NULL, /* check_user_id */

View File

@@ -81,7 +81,7 @@ static int print_status_value(void *data, const char *key, const char *val)
static int status_handler(request_rec *r)
{
int i;
ap_array_header_t *server_status;
apr_array_header_t *server_status;
ap_status_table_row_t *status_rows;
r->allowed = (1 << M_GET);
@@ -107,14 +107,14 @@ static int status_handler(request_rec *r)
ap_rvputs(r, "Server Built: ",
ap_get_server_built(), "<br>\n<hr>\n", NULL);
ap_rvputs(r, "Current Time: ",
ap_ht_time(r->pool, ap_now(), DEFAULT_TIME_FORMAT, 0), "<br>\n", NULL);
ap_ht_time(r->pool, apr_now(), DEFAULT_TIME_FORMAT, 0), "<br>\n", NULL);
ap_rprintf(r, "\n%d connections currently being processed\n",
server_status->nelts);
status_rows = (ap_status_table_row_t *) server_status->elts;
for (i = 0; i < server_status->nelts; i++) {
ap_rprintf(r, "<h2>Connection %ld</h2>\n", status_rows[i].conn_id);
ap_table_do(print_status_value, (void *) r, status_rows[i].data, NULL);
apr_table_do(print_status_value, (void *) r, status_rows[i].data, NULL);
}
ap_rputs("</body></html>\n", r);
return 0;

View File

@@ -129,21 +129,21 @@
* the http_conf_globals.
*/
static void *create_core_dir_config(ap_pool_t *a, char *dir)
static void *create_core_dir_config(apr_pool_t *a, char *dir)
{
core_dir_config *conf;
conf = (core_dir_config *)ap_pcalloc(a, sizeof(core_dir_config));
conf = (core_dir_config *)apr_pcalloc(a, sizeof(core_dir_config));
if (!dir || dir[strlen(dir) - 1] == '/') {
conf->d = dir;
}
else if (strncmp(dir, "proxy:", 6) == 0) {
conf->d = ap_pstrdup(a, dir);
conf->d = apr_pstrdup(a, dir);
}
else {
conf->d = ap_pstrcat(a, dir, "/", NULL);
conf->d = apr_pstrcat(a, dir, "/", NULL);
}
conf->d_is_fnmatch = conf->d ? (ap_is_fnmatch(conf->d) != 0) : 0;
conf->d_is_fnmatch = conf->d ? (apr_is_fnmatch(conf->d) != 0) : 0;
conf->d_components = conf->d ? ap_count_dirs(conf->d) : 0;
conf->opts = dir ? OPT_UNSET : OPT_UNSET|OPT_ALL;
@@ -170,7 +170,7 @@ static void *create_core_dir_config(ap_pool_t *a, char *dir)
conf->limit_req_body = 0;
conf->limit_xml_body = AP_LIMIT_UNSET;
conf->sec = ap_make_array(a, 2, sizeof(void *));
conf->sec = apr_make_array(a, 2, sizeof(void *));
#ifdef WIN32
conf->script_interpreter_source = INTERPRETER_SOURCE_UNSET;
#endif
@@ -183,18 +183,18 @@ static void *create_core_dir_config(ap_pool_t *a, char *dir)
return (void *)conf;
}
static void *merge_core_dir_configs(ap_pool_t *a, void *basev, void *newv)
static void *merge_core_dir_configs(apr_pool_t *a, void *basev, void *newv)
{
core_dir_config *base = (core_dir_config *)basev;
core_dir_config *new = (core_dir_config *)newv;
core_dir_config *conf;
int i;
conf = (core_dir_config *)ap_palloc(a, sizeof(core_dir_config));
conf = (core_dir_config *)apr_palloc(a, sizeof(core_dir_config));
memcpy((char *)conf, (const char *)base, sizeof(core_dir_config));
if (base->response_code_strings) {
conf->response_code_strings =
ap_palloc(a, sizeof(*conf->response_code_strings)
apr_palloc(a, sizeof(*conf->response_code_strings)
* RESPONSE_CODES);
memcpy(conf->response_code_strings, base->response_code_strings,
sizeof(*conf->response_code_strings) * RESPONSE_CODES);
@@ -245,7 +245,7 @@ static void *merge_core_dir_configs(ap_pool_t *a, void *basev, void *newv)
if (new->response_code_strings) {
if (conf->response_code_strings == NULL) {
conf->response_code_strings = ap_palloc(a,
conf->response_code_strings = apr_palloc(a,
sizeof(*conf->response_code_strings) * RESPONSE_CODES);
memcpy(conf->response_code_strings, new->response_code_strings,
sizeof(*conf->response_code_strings) * RESPONSE_CODES);
@@ -297,7 +297,7 @@ static void *merge_core_dir_configs(ap_pool_t *a, void *basev, void *newv)
else
conf->limit_xml_body = base->limit_xml_body;
conf->sec = ap_append_arrays(a, base->sec, new->sec);
conf->sec = apr_append_arrays(a, base->sec, new->sec);
if (new->satisfy != SATISFY_NOSPEC) {
conf->satisfy = new->satisfy;
@@ -324,30 +324,30 @@ static void *merge_core_dir_configs(ap_pool_t *a, void *basev, void *newv)
return (void*)conf;
}
static void *create_core_server_config(ap_pool_t *a, server_rec *s)
static void *create_core_server_config(apr_pool_t *a, server_rec *s)
{
core_server_config *conf;
int is_virtual = s->is_virtual;
conf = (core_server_config *)ap_pcalloc(a, sizeof(core_server_config));
conf = (core_server_config *)apr_pcalloc(a, sizeof(core_server_config));
#ifdef GPROF
conf->gprof_dir = NULL;
#endif
conf->access_name = is_virtual ? NULL : DEFAULT_ACCESS_FNAME;
conf->ap_document_root = is_virtual ? NULL : DOCUMENT_LOCATION;
conf->sec = ap_make_array(a, 40, sizeof(void *));
conf->sec_url = ap_make_array(a, 40, sizeof(void *));
conf->sec = apr_make_array(a, 40, sizeof(void *));
conf->sec_url = apr_make_array(a, 40, sizeof(void *));
return (void *)conf;
}
static void *merge_core_server_configs(ap_pool_t *p, void *basev, void *virtv)
static void *merge_core_server_configs(apr_pool_t *p, void *basev, void *virtv)
{
core_server_config *base = (core_server_config *)basev;
core_server_config *virt = (core_server_config *)virtv;
core_server_config *conf;
conf = (core_server_config *)ap_pcalloc(p, sizeof(core_server_config));
conf = (core_server_config *)apr_pcalloc(p, sizeof(core_server_config));
*conf = *virt;
if (!conf->access_name) {
conf->access_name = base->access_name;
@@ -355,8 +355,8 @@ static void *merge_core_server_configs(ap_pool_t *p, void *basev, void *virtv)
if (!conf->ap_document_root) {
conf->ap_document_root = base->ap_document_root;
}
conf->sec = ap_append_arrays(p, base->sec, virt->sec);
conf->sec_url = ap_append_arrays(p, base->sec_url, virt->sec_url);
conf->sec = apr_append_arrays(p, base->sec, virt->sec);
conf->sec_url = apr_append_arrays(p, base->sec_url, virt->sec_url);
return conf;
}
@@ -369,7 +369,7 @@ CORE_EXPORT(void) ap_add_per_dir_conf(server_rec *s, void *dir_config)
{
core_server_config *sconf = ap_get_module_config(s->module_config,
&core_module);
void **new_space = (void **)ap_push_array(sconf->sec);
void **new_space = (void **)apr_push_array(sconf->sec);
*new_space = dir_config;
}
@@ -378,14 +378,14 @@ CORE_EXPORT(void) ap_add_per_url_conf(server_rec *s, void *url_config)
{
core_server_config *sconf = ap_get_module_config(s->module_config,
&core_module);
void **new_space = (void **)ap_push_array(sconf->sec_url);
void **new_space = (void **)apr_push_array(sconf->sec_url);
*new_space = url_config;
}
CORE_EXPORT(void) ap_add_file_conf(core_dir_config *conf, void *url_config)
{
void **new_space = (void **)ap_push_array(conf->sec);
void **new_space = (void **)apr_push_array(conf->sec);
*new_space = url_config;
}
@@ -449,15 +449,15 @@ static int reorder_sorter(const void *va, const void *vb)
return a->orig_index - b->orig_index;
}
void ap_core_reorder_directories(ap_pool_t *p, server_rec *s)
void ap_core_reorder_directories(apr_pool_t *p, server_rec *s)
{
core_server_config *sconf;
ap_array_header_t *sec;
apr_array_header_t *sec;
struct reorder_sort_rec *sortbin;
int nelts;
void **elts;
int i;
ap_pool_t *tmp;
apr_pool_t *tmp;
sconf = ap_get_module_config(s->module_config, &core_module);
sec = sconf->sec;
@@ -465,8 +465,8 @@ void ap_core_reorder_directories(ap_pool_t *p, server_rec *s)
elts = (void **)sec->elts;
/* we have to allocate tmp space to do a stable sort */
ap_create_pool(&tmp, p);
sortbin = ap_palloc(tmp, sec->nelts * sizeof(*sortbin));
apr_create_pool(&tmp, p);
sortbin = apr_palloc(tmp, sec->nelts * sizeof(*sortbin));
for (i = 0; i < nelts; ++i) {
sortbin[i].orig_index = i;
sortbin[i].elt = elts[i];
@@ -479,7 +479,7 @@ void ap_core_reorder_directories(ap_pool_t *p, server_rec *s)
elts[i] = sortbin[i].elt;
}
ap_destroy_pool(tmp);
apr_destroy_pool(tmp);
}
/*****************************************************************
@@ -545,7 +545,7 @@ API_EXPORT(const char *) ap_document_root(request_rec *r) /* Don't use this! */
return conf->ap_document_root;
}
API_EXPORT(const ap_array_header_t *) ap_requires(request_rec *r)
API_EXPORT(const apr_array_header_t *) ap_requires(request_rec *r)
{
core_dir_config *conf;
@@ -640,7 +640,7 @@ API_EXPORT(const char *) ap_get_remote_host(conn_rec *conn, void *dir_config,
iaddr = &(conn->remote_addr.sin_addr);
hptr = gethostbyaddr((char *)iaddr, sizeof(struct in_addr), AF_INET);
if (hptr != NULL) {
conn->remote_host = ap_pstrdup(conn->pool, (void *)hptr->h_name);
conn->remote_host = apr_pstrdup(conn->pool, (void *)hptr->h_name);
ap_str_tolower(conn->remote_host);
if (hostname_lookups == HOSTNAME_LOOKUP_DOUBLE) {
@@ -732,12 +732,12 @@ API_EXPORT(const char *) ap_get_server_name(request_rec *r)
hptr = gethostbyaddr((char *)iaddr, sizeof(struct in_addr),
AF_INET);
if (hptr != NULL) {
conn->local_host = ap_pstrdup(conn->pool,
conn->local_host = apr_pstrdup(conn->pool,
(void *)hptr->h_name);
ap_str_tolower(conn->local_host);
}
else {
conn->local_host = ap_pstrdup(conn->pool,
conn->local_host = apr_pstrdup(conn->pool,
r->server->server_hostname);
}
}
@@ -764,16 +764,16 @@ API_EXPORT(unsigned) ap_get_server_port(const request_rec *r)
return port;
}
API_EXPORT(char *) ap_construct_url(ap_pool_t *p, const char *uri,
API_EXPORT(char *) ap_construct_url(apr_pool_t *p, const char *uri,
request_rec *r)
{
unsigned port = ap_get_server_port(r);
const char *host = ap_get_server_name(r);
if (ap_is_default_port(port, r)) {
return ap_pstrcat(p, ap_http_method(r), "://", host, uri, NULL);
return apr_pstrcat(p, ap_http_method(r), "://", host, uri, NULL);
}
return ap_psprintf(p, "%s://%s:%u%s", ap_http_method(r), host, port, uri);
return apr_psprintf(p, "%s://%s:%u%s", ap_http_method(r), host, port, uri);
}
API_EXPORT(unsigned long) ap_get_limit_req_body(const request_rec *r)
@@ -785,7 +785,7 @@ API_EXPORT(unsigned long) ap_get_limit_req_body(const request_rec *r)
}
#ifdef WIN32
static DWORD get_win32_registry_default_value(ap_pool_t *p, HKEY hkey,
static DWORD get_win32_registry_default_value(apr_pool_t *p, HKEY hkey,
char* relativepath, char **value)
{
HKEY hkeyOpen;
@@ -805,7 +805,7 @@ static DWORD get_win32_registry_default_value(ap_pool_t *p, HKEY hkey,
result = ERROR_INVALID_PARAMETER;
}
else {
*value = ap_palloc(p, size);
*value = apr_palloc(p, size);
/* Read value based on size query above */
result = RegQueryValueEx(hkeyOpen, "", 0, &type, *value, &size);
}
@@ -820,7 +820,7 @@ static DWORD get_win32_registry_default_value(ap_pool_t *p, HKEY hkey,
char *tmp = *value;
size = ExpandEnvironmentStrings(tmp, *value, 0);
if (size) {
*value = ap_palloc(p, size);
*value = apr_palloc(p, size);
size = ExpandEnvironmentStrings(tmp, *value, size);
}
}
@@ -829,7 +829,7 @@ static DWORD get_win32_registry_default_value(ap_pool_t *p, HKEY hkey,
return result;
}
static char* get_interpreter_from_win32_registry(ap_pool_t *p, const char* ext,
static char* get_interpreter_from_win32_registry(apr_pool_t *p, const char* ext,
char** arguments, int strict)
{
char execcgi_path[] = "SHELL\\EXECCGI\\COMMAND";
@@ -981,7 +981,7 @@ API_EXPORT (file_type_e) ap_get_win32_interpreter(const request_rec *r,
{
char *comspec = getenv("COMSPEC");
if (comspec) {
*interpreter = ap_pstrcat(r->pool, "\"", comspec, "\" /c ", NULL);
*interpreter = apr_pstrcat(r->pool, "\"", comspec, "\" /c ", NULL);
return eFileTypeSCRIPT;
}
ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_INFO, 0, r->server,
@@ -1048,7 +1048,7 @@ API_EXPORT (file_type_e) ap_get_win32_interpreter(const request_rec *r,
buffer[i] = '\0';
for (i = 2; buffer[i] == ' ' ; ++i)
;
*interpreter = ap_pstrdup(r->pool, buffer + i );
*interpreter = apr_pstrdup(r->pool, buffer + i );
}
else {
/* Not a script, is it an executable? */
@@ -1096,18 +1096,18 @@ API_EXPORT(const char *) ap_check_cmd_context(cmd_parms *cmd,
const ap_directive_t *found;
if ((forbidden & NOT_IN_VIRTUALHOST) && cmd->server->is_virtual) {
return ap_pstrcat(cmd->pool, cmd->cmd->name, gt,
return apr_pstrcat(cmd->pool, cmd->cmd->name, gt,
" cannot occur within <VirtualHost> section", NULL);
}
if ((forbidden & NOT_IN_LIMIT) && cmd->limited != -1) {
return ap_pstrcat(cmd->pool, cmd->cmd->name, gt,
return apr_pstrcat(cmd->pool, cmd->cmd->name, gt,
" cannot occur within <Limit> section", NULL);
}
if ((forbidden & NOT_IN_DIR_LOC_FILE) == NOT_IN_DIR_LOC_FILE
&& cmd->path != NULL) {
return ap_pstrcat(cmd->pool, cmd->cmd->name, gt,
return apr_pstrcat(cmd->pool, cmd->cmd->name, gt,
" cannot occur within <Directory/Location/Files> "
"section", NULL);
}
@@ -1121,7 +1121,7 @@ API_EXPORT(const char *) ap_check_cmd_context(cmd_parms *cmd,
|| ((forbidden & NOT_IN_FILES)
&& ((found = find_parent(cmd->directive, "<Files"))
|| (found = find_parent(cmd->directive, "<FilesMatch"))))) {
return ap_pstrcat(cmd->pool, cmd->cmd->name, gt,
return apr_pstrcat(cmd->pool, cmd->cmd->name, gt,
" cannot occur within ", found->directive,
"> section", NULL);
}
@@ -1141,7 +1141,7 @@ static const char *set_access_name(cmd_parms *cmd, void *dummy,
return err;
}
conf->access_name = ap_pstrdup(cmd->pool, arg);
conf->access_name = apr_pstrdup(cmd->pool, arg);
return NULL;
}
@@ -1157,7 +1157,7 @@ static const char *set_gprof_dir(cmd_parms *cmd, void *dummy, char *arg)
return err;
}
conf->gprof_dir = ap_pstrdup(cmd->pool, arg);
conf->gprof_dir = apr_pstrdup(cmd->pool, arg);
return NULL;
}
#endif /*GPROF*/
@@ -1221,7 +1221,7 @@ API_EXPORT(void) ap_custom_response(request_rec *r, int status, char *string)
if(conf->response_code_strings == NULL) {
conf->response_code_strings =
ap_pcalloc(r->pool,
apr_pcalloc(r->pool,
sizeof(*conf->response_code_strings) *
RESPONSE_CODES);
}
@@ -1230,7 +1230,7 @@ API_EXPORT(void) ap_custom_response(request_rec *r, int status, char *string)
conf->response_code_strings[idx] =
((ap_is_url(string) || (*string == '/')) && (*string != '"')) ?
ap_pstrdup(r->pool, string) : ap_pstrcat(r->pool, "\"", string, NULL);
apr_pstrdup(r->pool, string) : apr_pstrcat(r->pool, "\"", string, NULL);
}
static const char *set_error_document(cmd_parms *cmd, void *conf_,
@@ -1255,7 +1255,7 @@ static const char *set_error_document(cmd_parms *cmd, void *conf_,
index_number = idx500;
}
else if ((index_number = ap_index_of_response(error_number)) == idx500) {
return ap_pstrcat(cmd->pool, "Unsupported HTTP response code ",
return apr_pstrcat(cmd->pool, "Unsupported HTTP response code ",
errno_str, NULL);
}
@@ -1279,7 +1279,7 @@ static const char *set_error_document(cmd_parms *cmd, void *conf_,
else { /* Store it... */
if (conf->response_code_strings == NULL) {
conf->response_code_strings =
ap_pcalloc(cmd->pool,
apr_pcalloc(cmd->pool,
sizeof(*conf->response_code_strings) * RESPONSE_CODES);
}
/* hack. Prefix a " if it is a msg; as that is what
@@ -1287,8 +1287,8 @@ static const char *set_error_document(cmd_parms *cmd, void *conf_,
* a msg and a (local) path.
*/
conf->response_code_strings[index_number] = (what == MSG) ?
ap_pstrcat(cmd->pool, "\"",msg,NULL) :
ap_pstrdup(cmd->pool, msg);
apr_pstrcat(cmd->pool, "\"",msg,NULL) :
apr_pstrdup(cmd->pool, msg);
}
return NULL;
@@ -1329,7 +1329,7 @@ static const char *set_override(cmd_parms *cmd, void *d_, const char *l)
d->override = OR_ALL;
}
else {
return ap_pstrcat(cmd->pool, "Illegal override option ", w, NULL);
return apr_pstrcat(cmd->pool, "Illegal override option ", w, NULL);
}
d->override &= ~OR_UNSET;
}
@@ -1387,7 +1387,7 @@ static const char *set_options(cmd_parms *cmd, void *d_, const char *l)
opt = OPT_ALL;
}
else {
return ap_pstrcat(cmd->pool, "Illegal option ", w, NULL);
return apr_pstrcat(cmd->pool, "Illegal option ", w, NULL);
}
/* we ensure the invariant (d->opts_add & d->opts_remove) == 0 */
@@ -1431,10 +1431,10 @@ static const char *require(cmd_parms *cmd, void *c_, const char *arg)
core_dir_config *c=c_;
if (!c->ap_requires) {
c->ap_requires = ap_make_array(cmd->pool, 2, sizeof(require_line));
c->ap_requires = apr_make_array(cmd->pool, 2, sizeof(require_line));
}
r = (require_line *)ap_push_array(c->ap_requires);
r->requirement = ap_pstrdup(cmd->pool, arg);
r = (require_line *)apr_push_array(c->ap_requires);
r->requirement = apr_pstrdup(cmd->pool, arg);
r->method_mask = cmd->limited;
return NULL;
}
@@ -1460,7 +1460,7 @@ CORE_EXPORT_NONSTD(const char *) ap_limit_section(cmd_parms *cmd, void *dummy,
return "TRACE cannot be controlled by <Limit>";
}
else if (methnum == M_INVALID) {
return ap_pstrcat(cmd->pool, "unknown method \"", method,
return apr_pstrcat(cmd->pool, "unknown method \"", method,
"\" in <Limit", tog ? "Except>" : ">", NULL);
}
else {
@@ -1495,7 +1495,7 @@ CORE_EXPORT_NONSTD(const char *) ap_limit_section(cmd_parms *cmd, void *dummy,
*/
static char *unclosed_directive(cmd_parms *cmd)
{
return ap_pstrcat(cmd->pool, cmd->cmd->name,
return apr_pstrcat(cmd->pool, cmd->cmd->name,
"> directive missing closing '>'", NULL);
}
@@ -1520,7 +1520,7 @@ static const char *dirsection(cmd_parms *cmd, void *mconfig, const char *arg)
return unclosed_directive(cmd);
}
arg=ap_pstrndup(cmd->pool, arg, endp-arg);
arg=apr_pstrndup(cmd->pool, arg, endp-arg);
cmd->path = ap_getword_conf(cmd->pool, &arg);
cmd->override = OR_ALL|ACCESS_CONF;
@@ -1550,7 +1550,7 @@ static const char *dirsection(cmd_parms *cmd, void *mconfig, const char *arg)
ap_add_per_dir_conf(cmd->server, new_dir_conf);
if (*arg != '\0') {
return ap_pstrcat(cmd->pool, "Multiple ", thiscmd->name,
return apr_pstrcat(cmd->pool, "Multiple ", thiscmd->name,
"> arguments not (yet) supported.", NULL);
}
@@ -1582,7 +1582,7 @@ static const char *urlsection(cmd_parms *cmd, void *mconfig, const char *arg)
return unclosed_directive(cmd);
}
arg=ap_pstrndup(cmd->pool, arg, endp-arg);
arg=apr_pstrndup(cmd->pool, arg, endp-arg);
cmd->path = ap_getword_conf(cmd->pool, &arg);
cmd->override = OR_ALL|ACCESS_CONF;
@@ -1603,14 +1603,14 @@ static const char *urlsection(cmd_parms *cmd, void *mconfig, const char *arg)
if (errmsg != NULL)
return errmsg;
conf->d = ap_pstrdup(cmd->pool, cmd->path); /* No mangling, please */
conf->d_is_fnmatch = ap_is_fnmatch(conf->d) != 0;
conf->d = apr_pstrdup(cmd->pool, cmd->path); /* No mangling, please */
conf->d_is_fnmatch = apr_is_fnmatch(conf->d) != 0;
conf->r = r;
ap_add_per_url_conf(cmd->server, new_url_conf);
if (*arg != '\0') {
return ap_pstrcat(cmd->pool, "Multiple ", thiscmd->name,
return apr_pstrcat(cmd->pool, "Multiple ", thiscmd->name,
"> arguments not (yet) supported.", NULL);
}
@@ -1642,7 +1642,7 @@ static const char *filesection(cmd_parms *cmd, void *mconfig, const char *arg)
return unclosed_directive(cmd);
}
arg=ap_pstrndup(cmd->pool, arg, endp-arg);
arg=apr_pstrndup(cmd->pool, arg, endp-arg);
cmd->path = ap_getword_conf(cmd->pool, &arg);
/* Only if not an .htaccess file */
@@ -1671,13 +1671,13 @@ static const char *filesection(cmd_parms *cmd, void *mconfig, const char *arg)
return errmsg;
conf->d = cmd->path;
conf->d_is_fnmatch = ap_is_fnmatch(conf->d) != 0;
conf->d_is_fnmatch = apr_is_fnmatch(conf->d) != 0;
conf->r = r;
ap_add_file_conf(c, new_file_conf);
if (*arg != '\0') {
return ap_pstrcat(cmd->pool, "Multiple ", thiscmd->name,
return apr_pstrcat(cmd->pool, "Multiple ", thiscmd->name,
"> arguments not (yet) supported.", NULL);
}
@@ -1697,7 +1697,7 @@ static const char *start_ifmod(cmd_parms *cmd, void *mconfig, const char *arg)
return unclosed_directive(cmd);
}
arg=ap_pstrndup(cmd->pool, arg, endp-arg);
arg=apr_pstrndup(cmd->pool, arg, endp-arg);
if (not) {
arg++;
@@ -1746,7 +1746,7 @@ static const char *start_ifdefine(cmd_parms *cmd, void *dummy, const char *arg)
return unclosed_directive(cmd);
}
arg=ap_pstrndup(cmd->pool, arg, endp-arg);
arg=apr_pstrndup(cmd->pool, arg, endp-arg);
if (arg[0] == '!') {
not = 1;
@@ -1778,7 +1778,7 @@ static const char *virtualhost_section(cmd_parms *cmd, void *dummy,
server_rec *main_server = cmd->server, *s;
const char *errmsg;
const char *endp = ap_strrchr_c(arg, '>');
ap_pool_t *p = cmd->pool;
apr_pool_t *p = cmd->pool;
const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
if (err != NULL) {
@@ -1789,7 +1789,7 @@ static const char *virtualhost_section(cmd_parms *cmd, void *dummy,
return unclosed_directive(cmd);
}
arg=ap_pstrndup(cmd->pool, arg, endp-arg);
arg=apr_pstrndup(cmd->pool, arg, endp-arg);
/* FIXME: There's another feature waiting to happen here -- since you
can now put multiple addresses/names on a single <VirtualHost>
@@ -1830,10 +1830,10 @@ static const char *set_server_alias(cmd_parms *cmd, void *dummy,
while (*arg) {
char **item, *name = ap_getword_conf(cmd->pool, &arg);
if (ap_is_matchexp(name)) {
item = (char **)ap_push_array(cmd->server->wild_names);
item = (char **)apr_push_array(cmd->server->wild_names);
}
else {
item = (char **)ap_push_array(cmd->server->names);
item = (char **)apr_push_array(cmd->server->names);
}
*item = name;
}
@@ -1849,7 +1849,7 @@ static const char *add_module_command(cmd_parms *cmd, void *dummy,
}
if (!ap_add_named_module(arg)) {
return ap_pstrcat(cmd->pool, "Cannot add module via name '", arg,
return apr_pstrcat(cmd->pool, "Cannot add module via name '", arg,
"': not in list of loaded modules", NULL);
}
*(ap_directive_t **)dummy = NULL;
@@ -1896,7 +1896,7 @@ static const char *server_port(cmd_parms *cmd, void *dummy, const char *arg)
}
port = atoi(arg);
if (port <= 0 || port >= 65536) { /* 65536 == 1<<16 */
return ap_pstrcat(cmd->temp_pool, "The port number \"", arg,
return apr_pstrcat(cmd->temp_pool, "The port number \"", arg,
"\" is outside the appropriate range "
"(i.e., 1..65535).", NULL);
}
@@ -2160,16 +2160,16 @@ API_EXPORT(const char *) ap_psignature(const char *prefix, request_rec *r)
return "";
}
ap_snprintf(sport, sizeof sport, "%u", (unsigned) ap_get_server_port(r));
apr_snprintf(sport, sizeof sport, "%u", (unsigned) ap_get_server_port(r));
if (conf->server_signature == srv_sig_withmail) {
return ap_pstrcat(r->pool, prefix, "<ADDRESS>" AP_SERVER_BASEVERSION
return apr_pstrcat(r->pool, prefix, "<ADDRESS>" AP_SERVER_BASEVERSION
" Server at <A HREF=\"mailto:",
r->server->server_admin, "\">",
ap_get_server_name(r), "</A> Port ", sport,
"</ADDRESS>\n", NULL);
}
return ap_pstrcat(r->pool, prefix, "<ADDRESS>" AP_SERVER_BASEVERSION
return apr_pstrcat(r->pool, prefix, "<ADDRESS>" AP_SERVER_BASEVERSION
" Server at ", ap_get_server_name(r), " Port ", sport,
"</ADDRESS>\n", NULL);
}
@@ -2218,7 +2218,7 @@ enum server_token_type {
};
static enum server_token_type ap_server_tokens = SrvTk_FULL;
static ap_status_t reset_version(void *dummy)
static apr_status_t reset_version(void *dummy)
{
version_locked = 0;
ap_server_tokens = SrvTk_FULL;
@@ -2231,7 +2231,7 @@ API_EXPORT(const char *) ap_get_server_version(void)
return (server_version ? server_version : AP_SERVER_BASEVERSION);
}
API_EXPORT(void) ap_add_version_component(ap_pool_t *pconf, const char *component)
API_EXPORT(void) ap_add_version_component(apr_pool_t *pconf, const char *component)
{
if (! version_locked) {
/*
@@ -2240,16 +2240,16 @@ API_EXPORT(void) ap_add_version_component(ap_pool_t *pconf, const char *componen
* we are adding the original SERVER_BASEVERSION string.
*/
if (server_version == NULL) {
ap_register_cleanup(pconf, NULL, reset_version,
ap_null_cleanup);
server_version = ap_pstrdup(pconf, component);
apr_register_cleanup(pconf, NULL, reset_version,
apr_null_cleanup);
server_version = apr_pstrdup(pconf, component);
}
else {
/*
* Tack the given component identifier to the end of
* the existing string.
*/
server_version = ap_pstrcat(pconf, server_version, " ",
server_version = apr_pstrcat(pconf, server_version, " ",
component, NULL);
}
}
@@ -2259,7 +2259,7 @@ API_EXPORT(void) ap_add_version_component(ap_pool_t *pconf, const char *componen
* This routine adds the real server base identity to the version string,
* and then locks out changes until the next reconfig.
*/
static void ap_set_version(ap_pool_t *pconf)
static void ap_set_version(apr_pool_t *pconf)
{
if (ap_server_tokens == SrvTk_PRODUCT_ONLY) {
ap_add_version_component(pconf, AP_SERVER_BASEPRODUCT);
@@ -2314,11 +2314,11 @@ static const char *set_limit_req_line(cmd_parms *cmd, void *dummy,
}
lim = atoi(arg);
if (lim < 0) {
return ap_pstrcat(cmd->temp_pool, "LimitRequestLine \"", arg,
return apr_pstrcat(cmd->temp_pool, "LimitRequestLine \"", arg,
"\" must be a non-negative integer", NULL);
}
if (lim > DEFAULT_LIMIT_REQUEST_LINE) {
return ap_psprintf(cmd->temp_pool, "LimitRequestLine \"%s\" "
return apr_psprintf(cmd->temp_pool, "LimitRequestLine \"%s\" "
"must not exceed the precompiled maximum of %d",
arg, DEFAULT_LIMIT_REQUEST_LINE);
}
@@ -2338,12 +2338,12 @@ static const char *set_limit_req_fieldsize(cmd_parms *cmd, void *dummy,
}
lim = atoi(arg);
if (lim < 0) {
return ap_pstrcat(cmd->temp_pool, "LimitRequestFieldsize \"", arg,
return apr_pstrcat(cmd->temp_pool, "LimitRequestFieldsize \"", arg,
"\" must be a non-negative integer (0 = no limit)",
NULL);
}
if (lim > DEFAULT_LIMIT_REQUEST_FIELDSIZE) {
return ap_psprintf(cmd->temp_pool, "LimitRequestFieldsize \"%s\" "
return apr_psprintf(cmd->temp_pool, "LimitRequestFieldsize \"%s\" "
"must not exceed the precompiled maximum of %d",
arg, DEFAULT_LIMIT_REQUEST_FIELDSIZE);
}
@@ -2363,7 +2363,7 @@ static const char *set_limit_req_fields(cmd_parms *cmd, void *dummy,
}
lim = atoi(arg);
if (lim < 0) {
return ap_pstrcat(cmd->temp_pool, "LimitRequestFields \"", arg,
return apr_pstrcat(cmd->temp_pool, "LimitRequestFields \"", arg,
"\" must be a non-negative integer (0 = no limit)",
NULL);
}
@@ -2680,7 +2680,7 @@ API_EXPORT_NONSTD(int) ap_core_translate(request_rec *r)
&& (r->server->path[r->server->pathlen - 1] == '/'
|| r->uri[r->server->pathlen] == '/'
|| r->uri[r->server->pathlen] == '\0')) {
r->filename = ap_pstrcat(r->pool, conf->ap_document_root,
r->filename = apr_pstrcat(r->pool, conf->ap_document_root,
(r->uri + r->server->pathlen), NULL);
}
else {
@@ -2691,11 +2691,11 @@ API_EXPORT_NONSTD(int) ap_core_translate(request_rec *r)
*/
if ((conf->ap_document_root[strlen(conf->ap_document_root)-1] == '/')
&& (*(r->uri) == '/')) {
r->filename = ap_pstrcat(r->pool, conf->ap_document_root, r->uri+1,
r->filename = apr_pstrcat(r->pool, conf->ap_document_root, r->uri+1,
NULL);
}
else {
r->filename = ap_pstrcat(r->pool, conf->ap_document_root, r->uri,
r->filename = apr_pstrcat(r->pool, conf->ap_document_root, r->uri,
NULL);
}
}
@@ -2718,10 +2718,10 @@ static int default_handler(request_rec *r)
core_dir_config *d =
(core_dir_config *)ap_get_module_config(r->per_dir_config, &core_module);
int rangestatus, errstatus;
ap_file_t *fd = NULL;
ap_status_t status;
apr_file_t *fd = NULL;
apr_status_t status;
#ifdef USE_MMAP_FILES
ap_mmap_t *mm = NULL;
apr_mmap_t *mm = NULL;
#endif
/* This handler has no use for a request body (yet), but we still
@@ -2747,7 +2747,7 @@ static int default_handler(request_rec *r)
if (r->finfo.protection == 0 || (r->path_info && *r->path_info)) {
ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r,
"File does not exist: %s",r->path_info ?
ap_pstrcat(r->pool, r->filename, r->path_info, NULL)
apr_pstrcat(r->pool, r->filename, r->path_info, NULL)
: r->filename);
return HTTP_NOT_FOUND;
}
@@ -2755,7 +2755,7 @@ static int default_handler(request_rec *r)
return HTTP_METHOD_NOT_ALLOWED;
}
if ((status = ap_open(&fd, r->filename, APR_READ | APR_BINARY, 0, r->pool)) != APR_SUCCESS) {
if ((status = apr_open(&fd, r->filename, APR_READ | APR_BINARY, 0, r->pool)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r,
"file permissions deny server access: %s", r->filename);
return HTTP_FORBIDDEN;
@@ -2763,10 +2763,10 @@ static int default_handler(request_rec *r)
ap_update_mtime(r, r->finfo.mtime);
ap_set_last_modified(r);
ap_set_etag(r);
ap_table_setn(r->headers_out, "Accept-Ranges", "bytes");
apr_table_setn(r->headers_out, "Accept-Ranges", "bytes");
if (((errstatus = ap_meets_conditions(r)) != OK)
|| (errstatus = ap_set_content_length(r, r->finfo.size))) {
ap_close(fd);
apr_close(fd);
return errstatus;
}
@@ -2788,8 +2788,8 @@ static int default_handler(request_rec *r)
&& (!r->header_only || (d->content_md5 & 1))) {
/* we need to protect ourselves in case we die while we've got the
* file mmapped */
ap_status_t status;
if ((status = ap_mmap_create(&mm, fd, 0, r->finfo.size, r->pool)) != APR_SUCCESS) {
apr_status_t status;
if ((status = apr_mmap_create(&mm, fd, 0, r->finfo.size, r->pool)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_CRIT, status, r,
"default_handler: mmap failed: %s", r->filename);
mm = NULL;
@@ -2804,13 +2804,13 @@ static int default_handler(request_rec *r)
#ifdef APACHE_XLATE
if (d->content_md5 & 1) {
ap_table_setn(r->headers_out, "Content-MD5",
apr_table_setn(r->headers_out, "Content-MD5",
ap_md5digest(r->pool, fd,
r->rrx->to_net));
}
#else
if (d->content_md5 & 1) {
ap_table_setn(r->headers_out, "Content-MD5",
apr_table_setn(r->headers_out, "Content-MD5",
ap_md5digest(r->pool, fd));
}
#endif /* APACHE_XLATE */
@@ -2820,9 +2820,9 @@ static int default_handler(request_rec *r)
ap_send_http_header(r);
if (!r->header_only) {
ap_size_t length = r->finfo.size;
ap_off_t offset = 0;
ap_size_t nbytes = 0;
apr_size_t length = r->finfo.size;
apr_off_t offset = 0;
apr_size_t nbytes = 0;
if (!rangestatus) {
ap_send_fd(fd, r, offset, length, &nbytes);
@@ -2842,19 +2842,19 @@ static int default_handler(request_rec *r)
}
else {
unsigned char *addr;
ap_mmap_offset((void**)&addr, mm ,0);
apr_mmap_offset((void**)&addr, mm ,0);
if (d->content_md5 & 1) {
ap_md5_ctx_t context;
ap_MD5Init(&context);
apr_MD5Init(&context);
#ifdef APACHE_XLATE
if (r->rrx->to_net) {
ap_MD5SetXlate(&context, r->rrx->to_net);
}
#endif
ap_MD5Update(&context, addr, (unsigned int)r->finfo.size);
ap_table_setn(r->headers_out, "Content-MD5",
apr_MD5Update(&context, addr, (unsigned int)r->finfo.size);
apr_table_setn(r->headers_out, "Content-MD5",
ap_md5contextTo64(r->pool, &context));
}
@@ -2866,8 +2866,8 @@ static int default_handler(request_rec *r)
ap_send_mmap(mm, r, 0, r->finfo.size);
}
else {
ap_off_t offset;
ap_size_t length;
apr_off_t offset;
apr_size_t length;
while (ap_each_byterange(r, &offset, &length)) {
ap_send_mmap(mm, r, offset, length);
}
@@ -2876,7 +2876,7 @@ static int default_handler(request_rec *r)
}
#endif
ap_close(fd);
apr_close(fd);
return OK;
}
@@ -2886,12 +2886,12 @@ static const handler_rec core_handlers[] = {
{ NULL, NULL }
};
static void core_post_config(ap_pool_t *pconf, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *s)
static void core_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
{
ap_set_version(pconf);
}
static void core_open_logs(ap_pool_t *pconf, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *s)
static void core_open_logs(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
{
ap_open_logs(s, pconf);
}
@@ -2922,7 +2922,7 @@ API_VAR_EXPORT module core_module = {
merge_core_dir_configs, /* merge per-directory config structures */
create_core_server_config, /* create per-server config structure */
merge_core_server_configs, /* merge per-server config structures */
core_cmds, /* command ap_table_t */
core_cmds, /* command apr_table_t */
core_handlers, /* handlers */
register_hooks /* register hooks */
};

File diff suppressed because it is too large Load Diff

View File

@@ -140,13 +140,13 @@ static int check_safe_file(request_rec *r)
}
static int check_symlinks(char *d, int opts, ap_pool_t *p)
static int check_symlinks(char *d, int opts, apr_pool_t *p)
{
#if defined(OS2) || defined(WIN32)
/* OS/2 doesn't have symlinks */
return OK;
#else
ap_finfo_t lfi, fi;
apr_finfo_t lfi, fi;
char *lastp;
int res;
@@ -172,7 +172,7 @@ static int check_symlinks(char *d, int opts, ap_pool_t *p)
else
lastp = NULL;
res = ap_lstat(&lfi, d, p);
res = apr_lstat(&lfi, d, p);
if (lastp)
*lastp = '/';
@@ -190,7 +190,7 @@ static int check_symlinks(char *d, int opts, ap_pool_t *p)
if (!(opts & OPT_SYM_OWNER))
return HTTP_FORBIDDEN;
if (ap_stat(&fi, d, p) < 0)
if (apr_stat(&fi, d, p) < 0)
return HTTP_FORBIDDEN;
return (fi.user == lfi.user) ? OK : HTTP_FORBIDDEN;
@@ -271,7 +271,7 @@ static int get_path_info(request_rec *r)
}
else {
errno = 0;
rv = ap_stat(&r->finfo, path, r->pool);
rv = apr_stat(&r->finfo, path, r->pool);
}
if (cp != end)
@@ -289,7 +289,7 @@ static int get_path_info(request_rec *r)
cp = last_cp;
}
r->path_info = ap_pstrdup(r->pool, cp);
r->path_info = apr_pstrdup(r->pool, cp);
*cp = '\0';
return OK;
}
@@ -297,7 +297,7 @@ static int get_path_info(request_rec *r)
* even if they returned an error.
*/
r->finfo.protection = 0;
rvc = ap_canonical_error(rv);
rvc = apr_canonical_error(rv);
#if defined(APR_ENOENT) && defined(APR_ENOTDIR)
if (rvc == APR_ENOENT || rvc == APR_ENOTDIR) {
@@ -366,7 +366,7 @@ static int directory_walk(request_rec *r)
*/
if (r->filename == NULL) {
r->filename = ap_pstrdup(r->pool, r->uri);
r->filename = apr_pstrdup(r->pool, r->uri);
r->finfo.protection = 0; /* Not really a file... */
r->finfo.filetype = APR_NOFILE;
r->per_dir_config = per_dir_defaults;
@@ -405,7 +405,7 @@ static int directory_walk(request_rec *r)
this_conf = entry_config;
}
else if (entry_core->d_is_fnmatch) {
if (!ap_fnmatch(entry_dir, r->filename, 0))
if (!apr_fnmatch(entry_dir, r->filename, 0))
this_conf = entry_config;
}
else if (!strncmp(r->filename, entry_dir, strlen(entry_dir)))
@@ -431,7 +431,7 @@ static int directory_walk(request_rec *r)
r->filename = ap_os_canonical_filename(r->pool, r->filename);
test_filename = ap_pstrdup(r->pool, r->filename);
test_filename = apr_pstrdup(r->pool, r->filename);
ap_no2slash(test_filename);
num_dirs = ap_count_dirs(test_filename);
@@ -460,7 +460,7 @@ static int directory_walk(request_rec *r)
* We need 2 extra bytes, one for trailing \0 and one because
* make_dirstr_prefix will add potentially one extra /.
*/
test_dirname = ap_palloc(r->pool, test_filename_len + 2);
test_dirname = apr_palloc(r->pool, test_filename_len + 2);
iStart = 1;
#ifdef WIN32
@@ -517,7 +517,7 @@ static int directory_walk(request_rec *r)
this_conf = NULL;
if (entry_core->d_is_fnmatch) {
if (!ap_fnmatch(entry_dir, test_dirname, FNM_PATHNAME)) {
if (!apr_fnmatch(entry_dir, test_dirname, FNM_PATHNAME)) {
this_conf = entry_config;
}
}
@@ -540,7 +540,7 @@ static int directory_walk(request_rec *r)
void *htaccess_conf = NULL;
res = ap_parse_htaccess(&htaccess_conf, r, overrides_here,
ap_pstrdup(r->pool, test_dirname),
apr_pstrdup(r->pool, test_dirname),
sconf->access_name);
if (res)
return res;
@@ -621,7 +621,7 @@ static int location_walk(request_rec *r)
test_location = r->uri;
}
else {
test_location = ap_pstrdup(r->pool, r->uri);
test_location = apr_pstrdup(r->pool, r->uri);
ap_no2slash(test_location);
}
@@ -647,7 +647,7 @@ static int location_walk(request_rec *r)
this_conf = entry_config;
}
else if (entry_core->d_is_fnmatch) {
if (!ap_fnmatch(entry_url, test_location, FNM_PATHNAME)) {
if (!apr_fnmatch(entry_url, test_location, FNM_PATHNAME)) {
this_conf = entry_config;
}
}
@@ -708,7 +708,7 @@ static int file_walk(request_rec *r)
this_conf = entry_config;
}
else if (entry_core->d_is_fnmatch) {
if (!ap_fnmatch(entry_file, test_file, FNM_PATHNAME)) {
if (!apr_fnmatch(entry_file, test_file, FNM_PATHNAME)) {
this_conf = entry_config;
}
}
@@ -744,11 +744,11 @@ static int file_walk(request_rec *r)
static request_rec *make_sub_request(const request_rec *r)
{
ap_pool_t *rrp;
apr_pool_t *rrp;
request_rec *rr;
ap_create_pool(&rrp, r->pool);
rr = ap_pcalloc(rrp, sizeof(request_rec));
apr_create_pool(&rrp, r->pool);
rr = apr_pcalloc(rrp, sizeof(request_rec));
rr->pool = rrp;
return rr;
}
@@ -881,7 +881,7 @@ API_EXPORT(request_rec *) ap_sub_req_lookup_file(const char *new_file,
rnew->filename = ap_make_full_path(rnew->pool, fdir, new_file);
ap_parse_uri(rnew, rnew->uri); /* fill in parsed_uri values */
if (ap_stat(&rnew->finfo, rnew->filename, rnew->pool) != APR_SUCCESS) {
if (apr_stat(&rnew->finfo, rnew->filename, rnew->pool) != APR_SUCCESS) {
rnew->finfo.protection = 0;
}
@@ -936,7 +936,7 @@ API_EXPORT(request_rec *) ap_sub_req_lookup_file(const char *new_file,
*/
rnew->uri = "INTERNALLY GENERATED file-relative req";
rnew->filename = ((ap_os_is_path_absolute(new_file)) ?
ap_pstrdup(rnew->pool, new_file) :
apr_pstrdup(rnew->pool, new_file) :
ap_make_full_path(rnew->pool, fdir, new_file));
rnew->per_dir_config = r->server->lookup_defaults;
res = directory_walk(rnew);
@@ -977,7 +977,7 @@ API_EXPORT(int) ap_run_sub_req(request_rec *r)
#else /*APACHE_XLATE*/
{
/* Save the output conversion setting across subrequests */
ap_xlate_t *saved_xlate;
apr_xlate_t *saved_xlate;
ap_bgetopt(r->connection->client, BO_WXLATE, &saved_xlate);
retval = ap_invoke_handler(r);
@@ -991,7 +991,7 @@ API_EXPORT(int) ap_run_sub_req(request_rec *r)
API_EXPORT(void) ap_destroy_sub_req(request_rec *r)
{
/* Reclaim the space */
ap_destroy_pool(r->pool);
apr_destroy_pool(r->pool);
}
/*****************************************************************
@@ -1064,7 +1064,7 @@ API_EXPORT(void) ap_die(int type, request_rec *r)
* status...
*/
r->status = HTTP_MOVED_TEMPORARILY;
ap_table_setn(r->headers_out, "Location", custom_response);
apr_table_setn(r->headers_out, "Location", custom_response);
}
else if (custom_response[0] == '/') {
const char *error_notes;
@@ -1074,17 +1074,17 @@ API_EXPORT(void) ap_die(int type, request_rec *r)
* This redirect needs to be a GET no matter what the original
* method was.
*/
ap_table_setn(r->subprocess_env, "REQUEST_METHOD", r->method);
apr_table_setn(r->subprocess_env, "REQUEST_METHOD", r->method);
/*
* Provide a special method for modules to communicate
* more informative (than the plain canned) messages to us.
* Propagate them to ErrorDocuments via the ERROR_NOTES variable:
*/
if ((error_notes = ap_table_get(r->notes, "error-notes")) != NULL) {
ap_table_setn(r->subprocess_env, "ERROR_NOTES", error_notes);
if ((error_notes = apr_table_get(r->notes, "error-notes")) != NULL) {
apr_table_setn(r->subprocess_env, "ERROR_NOTES", error_notes);
}
r->method = ap_pstrdup(r->pool, "GET");
r->method = apr_pstrdup(r->pool, "GET");
r->method_number = M_GET;
ap_internal_redirect(custom_response, r);
return;
@@ -1118,7 +1118,7 @@ API_EXPORT(int) ap_some_auth_required(request_rec *r)
{
/* Is there a require line configured for the type of *this* req? */
const ap_array_header_t *reqs_arr = ap_requires(r);
const apr_array_header_t *reqs_arr = ap_requires(r);
require_line *reqs;
int i;
@@ -1173,7 +1173,7 @@ static void process_request_internal(request_rec *r)
}
}
if (r->proto_num > HTTP_VERSION(1,0) && ap_table_get(r->subprocess_env, "downgrade-1.0")) {
if (r->proto_num > HTTP_VERSION(1,0) && apr_table_get(r->subprocess_env, "downgrade-1.0")) {
r->proto_num = HTTP_VERSION(1,0);
}
@@ -1295,17 +1295,17 @@ void ap_process_request(request_rec *r)
ap_run_log_transaction(r);
}
static ap_table_t *rename_original_env(ap_pool_t *p, ap_table_t *t)
static apr_table_t *rename_original_env(apr_pool_t *p, apr_table_t *t)
{
ap_array_header_t *env_arr = ap_table_elts(t);
ap_table_entry_t *elts = (ap_table_entry_t *) env_arr->elts;
ap_table_t *new = ap_make_table(p, env_arr->nalloc);
apr_array_header_t *env_arr = ap_table_elts(t);
apr_table_entry_t *elts = (apr_table_entry_t *) env_arr->elts;
apr_table_t *new = apr_make_table(p, env_arr->nalloc);
int i;
for (i = 0; i < env_arr->nelts; ++i) {
if (!elts[i].key)
continue;
ap_table_setn(new, ap_pstrcat(p, "REDIRECT_", elts[i].key, NULL),
apr_table_setn(new, apr_pstrcat(p, "REDIRECT_", elts[i].key, NULL),
elts[i].val);
}
@@ -1315,7 +1315,7 @@ static ap_table_t *rename_original_env(ap_pool_t *p, ap_table_t *t)
static request_rec *internal_internal_redirect(const char *new_uri, request_rec *r)
{
int access_status;
request_rec *new = (request_rec *) ap_pcalloc(r->pool, sizeof(request_rec));
request_rec *new = (request_rec *) apr_pcalloc(r->pool, sizeof(request_rec));
new->connection = r->connection;
new->server = r->server;
@@ -1352,10 +1352,10 @@ static request_rec *internal_internal_redirect(const char *new_uri, request_rec
new->main = r->main;
new->headers_in = r->headers_in;
new->headers_out = ap_make_table(r->pool, 12);
new->headers_out = apr_make_table(r->pool, 12);
new->err_headers_out = r->err_headers_out;
new->subprocess_env = rename_original_env(r->pool, r->subprocess_env);
new->notes = ap_make_table(r->pool, 5);
new->notes = apr_make_table(r->pool, 5);
new->htaccess = r->htaccess;
new->no_cache = r->no_cache;
@@ -1364,8 +1364,8 @@ static request_rec *internal_internal_redirect(const char *new_uri, request_rec
new->read_length = r->read_length; /* We can only read it once */
new->vlist_validator = r->vlist_validator;
ap_table_setn(new->subprocess_env, "REDIRECT_STATUS",
ap_psprintf(r->pool, "%d", r->status));
apr_table_setn(new->subprocess_env, "REDIRECT_STATUS",
apr_psprintf(r->pool, "%d", r->status));
/*
* XXX: hmm. This is because mod_setenvif and mod_unique_id really need
@@ -1378,7 +1378,7 @@ static request_rec *internal_internal_redirect(const char *new_uri, request_rec
}
#ifdef APACHE_XLATE
new->rrx = ap_pcalloc(new->pool, sizeof(struct ap_rr_xlate));
new->rrx = apr_pcalloc(new->pool, sizeof(struct ap_rr_xlate));
ap_set_content_xlate(new, 1, ap_locale_to_ascii);
ap_set_content_xlate(new, 0, ap_locale_from_ascii);
#endif /*APACHE_XLATE*/
@@ -1419,7 +1419,7 @@ API_EXPORT(int) ap_is_initial_req(request_rec *r)
* Function to set the r->mtime field to the specified value if it's later
* than what's already there.
*/
API_EXPORT(void) ap_update_mtime(request_rec *r, ap_time_t dependency_mtime)
API_EXPORT(void) ap_update_mtime(request_rec *r, apr_time_t dependency_mtime)
{
if (r->mtime < dependency_mtime) {
r->mtime = dependency_mtime;

View File

@@ -96,12 +96,12 @@ typedef struct handlers_info {
} handlers_info;
typedef struct {
ap_table_t *forced_types; /* Additional AddTyped stuff */
ap_table_t *encoding_types; /* Added with AddEncoding... */
ap_table_t *language_types; /* Added with AddLanguage... */
ap_table_t *handlers; /* Added with AddHandler... */
ap_table_t *charset_types; /* Added with AddCharset... */
ap_array_header_t *handlers_remove; /* List of handlers to remove */
apr_table_t *forced_types; /* Additional AddTyped stuff */
apr_table_t *encoding_types; /* Added with AddEncoding... */
apr_table_t *language_types; /* Added with AddLanguage... */
apr_table_t *handlers; /* Added with AddHandler... */
apr_table_t *charset_types; /* Added with AddCharset... */
apr_array_header_t *handlers_remove; /* List of handlers to remove */
char *type; /* Type forced with ForceType */
char *handler; /* Handler forced with SetHandler */
@@ -130,17 +130,17 @@ static char tspecial[] = {
module MODULE_VAR_EXPORT mime_module;
static void *create_mime_dir_config(ap_pool_t *p, char *dummy)
static void *create_mime_dir_config(apr_pool_t *p, char *dummy)
{
mime_dir_config *new =
(mime_dir_config *) ap_palloc(p, sizeof(mime_dir_config));
(mime_dir_config *) apr_palloc(p, sizeof(mime_dir_config));
new->forced_types = ap_make_table(p, 4);
new->encoding_types = ap_make_table(p, 4);
new->charset_types = ap_make_table(p, 4);
new->language_types = ap_make_table(p, 4);
new->handlers = ap_make_table(p, 4);
new->handlers_remove = ap_make_array(p, 4, sizeof(handlers_info));
new->forced_types = apr_make_table(p, 4);
new->encoding_types = apr_make_table(p, 4);
new->charset_types = apr_make_table(p, 4);
new->language_types = apr_make_table(p, 4);
new->handlers = apr_make_table(p, 4);
new->handlers_remove = apr_make_array(p, 4, sizeof(handlers_info));
new->type = NULL;
new->handler = NULL;
@@ -149,29 +149,29 @@ static void *create_mime_dir_config(ap_pool_t *p, char *dummy)
return new;
}
static void *merge_mime_dir_configs(ap_pool_t *p, void *basev, void *addv)
static void *merge_mime_dir_configs(apr_pool_t *p, void *basev, void *addv)
{
mime_dir_config *base = (mime_dir_config *) basev;
mime_dir_config *add = (mime_dir_config *) addv;
mime_dir_config *new =
(mime_dir_config *) ap_palloc(p, sizeof(mime_dir_config));
(mime_dir_config *) apr_palloc(p, sizeof(mime_dir_config));
int i;
handlers_info *hand;
hand = (handlers_info *) add->handlers_remove->elts;
for (i = 0; i < add->handlers_remove->nelts; i++) {
ap_table_unset(base->handlers, hand[i].name);
apr_table_unset(base->handlers, hand[i].name);
}
new->forced_types = ap_overlay_tables(p, add->forced_types,
new->forced_types = apr_overlay_tables(p, add->forced_types,
base->forced_types);
new->encoding_types = ap_overlay_tables(p, add->encoding_types,
new->encoding_types = apr_overlay_tables(p, add->encoding_types,
base->encoding_types);
new->charset_types = ap_overlay_tables(p, add->charset_types,
new->charset_types = apr_overlay_tables(p, add->charset_types,
base->charset_types);
new->language_types = ap_overlay_tables(p, add->language_types,
new->language_types = apr_overlay_tables(p, add->language_types,
base->language_types);
new->handlers = ap_overlay_tables(p, add->handlers,
new->handlers = apr_overlay_tables(p, add->handlers,
base->handlers);
new->type = add->type ? add->type : base->type;
@@ -186,13 +186,13 @@ static const char *add_type(cmd_parms *cmd, void *m_, const char *ct_,
const char *ext)
{
mime_dir_config *m=m_;
char *ct=ap_pstrdup(cmd->pool,ct_);
char *ct=apr_pstrdup(cmd->pool,ct_);
if (*ext == '.')
++ext;
ap_str_tolower(ct);
ap_table_setn(m->forced_types, ext, ct);
apr_table_setn(m->forced_types, ext, ct);
return NULL;
}
@@ -200,12 +200,12 @@ static const char *add_encoding(cmd_parms *cmd, void *m_, const char *enc_,
const char *ext)
{
mime_dir_config *m=m_;
char *enc=ap_pstrdup(cmd->pool,enc_);
char *enc=apr_pstrdup(cmd->pool,enc_);
if (*ext == '.')
++ext;
ap_str_tolower(enc);
ap_table_setn(m->encoding_types, ext, enc);
apr_table_setn(m->encoding_types, ext, enc);
return NULL;
}
@@ -213,13 +213,13 @@ static const char *add_charset(cmd_parms *cmd, void *m_, const char *charset_,
const char *ext)
{
mime_dir_config *m=m_;
char *charset=ap_pstrdup(cmd->pool,charset_);
char *charset=apr_pstrdup(cmd->pool,charset_);
if (*ext == '.') {
++ext;
}
ap_str_tolower(charset);
ap_table_setn(m->charset_types, ext, charset);
apr_table_setn(m->charset_types, ext, charset);
return NULL;
}
@@ -227,13 +227,13 @@ static const char *add_language(cmd_parms *cmd, void *m_, const char *lang_,
const char *ext)
{
mime_dir_config *m=m_;
char *lang=ap_pstrdup(cmd->pool,lang_);
char *lang=apr_pstrdup(cmd->pool,lang_);
if (*ext == '.') {
++ext;
}
ap_str_tolower(lang);
ap_table_setn(m->language_types, ext, lang);
apr_table_setn(m->language_types, ext, lang);
return NULL;
}
@@ -241,12 +241,12 @@ static const char *add_handler(cmd_parms *cmd, void *m_, const char *hdlr_,
const char *ext)
{
mime_dir_config *m=m_;
char *hdlr=ap_pstrdup(cmd->pool,hdlr_);
char *hdlr=apr_pstrdup(cmd->pool,hdlr_);
if (*ext == '.')
++ext;
ap_str_tolower(hdlr);
ap_table_setn(m->handlers, ext, hdlr);
apr_table_setn(m->handlers, ext, hdlr);
return NULL;
}
@@ -263,8 +263,8 @@ static const char *remove_handler(cmd_parms *cmd, void *m, const char *ext)
if (*ext == '.') {
++ext;
}
hand = (handlers_info *) ap_push_array(mcfg->handlers_remove);
hand->name = ap_pstrdup(cmd->pool, ext);
hand = (handlers_info *) apr_push_array(mcfg->handlers_remove);
hand->name = apr_pstrdup(cmd->pool, ext);
return NULL;
}
@@ -308,22 +308,22 @@ AP_INIT_TAKE1("DefaultLanguage", ap_set_string_slot,
{NULL}
};
/* Hash ap_table_t --- only one of these per daemon; virtual hosts can
/* Hash apr_table_t --- only one of these per daemon; virtual hosts can
* get private versions through AddType...
*/
#define MIME_HASHSIZE (32)
#define hash(i) (ap_tolower(i) % MIME_HASHSIZE)
static ap_table_t *hash_buckets[MIME_HASHSIZE];
static apr_table_t *hash_buckets[MIME_HASHSIZE];
static void mime_post_config(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *s)
static void mime_post_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
{
configfile_t *f;
char l[MAX_STRING_LEN];
int x;
const char *types_confname = ap_get_module_config(s->module_config, &mime_module);
ap_status_t status;
apr_status_t status;
if (!types_confname)
types_confname = AP_TYPES_CONFIG_FILE;
@@ -337,7 +337,7 @@ static void mime_post_config(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp, se
}
for (x = 0; x < MIME_HASHSIZE; x++)
hash_buckets[x] = ap_make_table(p, 10);
hash_buckets[x] = apr_make_table(p, 10);
while (!(ap_cfg_getline(l, MAX_STRING_LEN, f))) {
const char *ll = l, *ct;
@@ -349,7 +349,7 @@ static void mime_post_config(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp, se
while (ll[0]) {
char *ext = ap_getword_conf(p, &ll);
ap_str_tolower(ext); /* ??? */
ap_table_setn(hash_buckets[hash(ext[0])], ext, ct);
apr_table_setn(hash_buckets[hash(ext[0])], ext, ct);
}
}
ap_cfg_closefile(f);
@@ -415,18 +415,18 @@ static content_type *analyze_ct(request_rec *r, char *s)
char *attribute, *value;
int quoted = 0;
server_rec * ss = r->server;
ap_pool_t * p = r->pool;
apr_pool_t * p = r->pool;
content_type *ctp;
param *pp, *npp;
/* initialize ctp */
ctp = (content_type *) ap_palloc(p, sizeof(content_type));
ctp = (content_type *) apr_palloc(p, sizeof(content_type));
ctp->type = NULL;
ctp->subtype = NULL;
ctp->param = NULL;
tp = ap_pstrdup(p, s);
tp = apr_pstrdup(p, s);
mp = tp;
cp = mp;
@@ -438,7 +438,7 @@ static content_type *analyze_ct(request_rec *r, char *s)
(const char *) mp);
return (NULL);
}
ctp->type = ap_pstrndup(p, mp, cp - mp);
ctp->type = apr_pstrndup(p, mp, cp - mp);
ctp->type = zap_sp(ctp->type);
if (ctp->type == NULL || *(ctp->type) == '\0' ||
strchr(ctp->type, ';') || strchr(ctp->type, ' ') ||
@@ -453,7 +453,7 @@ static content_type *analyze_ct(request_rec *r, char *s)
mp = cp;
for (; *cp != ';' && *cp != '\0'; cp++);
ctp->subtype = ap_pstrndup(p, mp, cp - mp);
ctp->subtype = apr_pstrndup(p, mp, cp - mp);
ctp->subtype = zap_sp(ctp->subtype);
if ((ctp->subtype == NULL) || (*(ctp->subtype) == '\0') ||
strchr(ctp->subtype, ' ') || strchr(ctp->subtype, '\t')) {
@@ -489,7 +489,7 @@ static content_type *analyze_ct(request_rec *r, char *s)
continue;
}
else if (*cp == '=') {
attribute = ap_pstrndup(p, mp, cp - mp);
attribute = apr_pstrndup(p, mp, cp - mp);
attribute = zap_sp(attribute);
if (attribute == NULL || *attribute == '\0') {
ap_log_error(APLOG_MARK, APLOG_WARNING, 0, ss,
@@ -564,7 +564,7 @@ static content_type *analyze_ct(request_rec *r, char *s)
}
}
}
value = ap_pstrndup(p, mp, cp - mp);
value = apr_pstrndup(p, mp, cp - mp);
value = zap_sp(value);
if (value == NULL || *value == '\0') {
ap_log_error(APLOG_MARK, APLOG_WARNING, 0, ss,
@@ -572,7 +572,7 @@ static content_type *analyze_ct(request_rec *r, char *s)
return (NULL);
}
pp = ap_palloc(p, sizeof(param));
pp = apr_palloc(p, sizeof(param));
pp->attr = attribute;
pp->val = value;
pp->next = NULL;
@@ -629,42 +629,42 @@ static int find_ct(request_rec *r)
int found = 0;
/* Check for Content-Type */
if ((type = ap_table_get(conf->forced_types, ext))
|| (type = ap_table_get(hash_buckets[hash(*ext)], ext))) {
if ((type = apr_table_get(conf->forced_types, ext))
|| (type = apr_table_get(hash_buckets[hash(*ext)], ext))) {
r->content_type = type;
found = 1;
}
/* Add charset to Content-Type */
if ((type = ap_table_get(conf->charset_types, ext))) {
if ((type = apr_table_get(conf->charset_types, ext))) {
charset = type;
found = 1;
}
/* Check for Content-Language */
if ((type = ap_table_get(conf->language_types, ext))) {
if ((type = apr_table_get(conf->language_types, ext))) {
const char **new;
r->content_language = type; /* back compat. only */
if (!r->content_languages)
r->content_languages = ap_make_array(r->pool, 2, sizeof(char *));
new = (const char **) ap_push_array(r->content_languages);
r->content_languages = apr_make_array(r->pool, 2, sizeof(char *));
new = (const char **) apr_push_array(r->content_languages);
*new = type;
found = 1;
}
/* Check for Content-Encoding */
if ((type = ap_table_get(conf->encoding_types, ext))) {
if ((type = apr_table_get(conf->encoding_types, ext))) {
if (!r->content_encoding)
r->content_encoding = type;
else
r->content_encoding = ap_pstrcat(r->pool, r->content_encoding,
r->content_encoding = apr_pstrcat(r->pool, r->content_encoding,
", ", type, NULL);
found = 1;
}
/* Check for a special handler, but not for proxy request */
if ((type = ap_table_get(conf->handlers, ext))
if ((type = apr_table_get(conf->handlers, ext))
#if 0
/* XXX fix me when the proxy code is updated */
&& r->proxyreq == NOT_PROXY)
@@ -694,25 +694,25 @@ static int find_ct(request_rec *r)
char *ct;
int override = 0;
ct = (char *) ap_palloc(r->pool,
ct = (char *) apr_palloc(r->pool,
sizeof(char) * (strlen(r->content_type) + 1));
strcpy(ct, r->content_type);
if ((ctp = analyze_ct(r, ct))) {
param *pp = ctp->param;
r->content_type = ap_pstrcat(r->pool, ctp->type, "/",
r->content_type = apr_pstrcat(r->pool, ctp->type, "/",
ctp->subtype, NULL);
while (pp != NULL) {
if (charset && !strcmp(pp->attr, "charset")) {
if (!override) {
r->content_type = ap_pstrcat(r->pool, r->content_type,
r->content_type = apr_pstrcat(r->pool, r->content_type,
"; charset=", charset,
NULL);
override = 1;
}
}
else {
r->content_type = ap_pstrcat(r->pool, r->content_type,
r->content_type = apr_pstrcat(r->pool, r->content_type,
"; ", pp->attr,
"=", pp->val,
NULL);
@@ -720,7 +720,7 @@ static int find_ct(request_rec *r)
pp = pp->next;
}
if (charset && !override) {
r->content_type = ap_pstrcat(r->pool, r->content_type,
r->content_type = apr_pstrcat(r->pool, r->content_type,
"; charset=", charset,
NULL);
}
@@ -736,8 +736,8 @@ static int find_ct(request_rec *r)
r->content_language = conf->default_language; /* back compat. only */
if (!r->content_languages)
r->content_languages = ap_make_array(r->pool, 2, sizeof(char *));
new = (const char **) ap_push_array(r->content_languages);
r->content_languages = apr_make_array(r->pool, 2, sizeof(char *));
new = (const char **) apr_push_array(r->content_languages);
*new = conf->default_language;
}
@@ -766,7 +766,7 @@ module MODULE_VAR_EXPORT mime_module = {
merge_mime_dir_configs, /* merge per-directory config structures */
NULL, /* create per-server config structure */
NULL, /* merge per-server config structures */
mime_cmds, /* command ap_table_t */
mime_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -190,7 +190,7 @@
module MODULE_VAR_EXPORT config_log_module;
static int xfer_flags = (APR_WRITE | APR_APPEND | APR_CREATE);
static ap_fileperms_t xfer_perms = APR_OS_DEFAULT;
static apr_fileperms_t xfer_perms = APR_OS_DEFAULT;
/* POSIX.1 defines PIPE_BUF as the maximum number of bytes that is
* guaranteed to be atomic when writing a pipe. And PIPE_BUF >= 512
@@ -224,10 +224,10 @@ static ap_fileperms_t xfer_perms = APR_OS_DEFAULT;
typedef struct {
const char *default_format_string;
ap_array_header_t *default_format;
ap_array_header_t *config_logs;
ap_array_header_t *server_config_logs;
ap_table_t *formats;
apr_array_header_t *default_format;
apr_array_header_t *config_logs;
apr_array_header_t *server_config_logs;
apr_table_t *formats;
} multi_log_state;
/*
@@ -242,8 +242,8 @@ typedef struct {
typedef struct {
const char *fname;
const char *format_string;
ap_array_header_t *format;
ap_file_t *log_fd;
apr_array_header_t *format;
apr_file_t *log_fd;
char *condition_var;
#ifdef BUFFERED_LOGS
int outcnt;
@@ -263,15 +263,15 @@ typedef struct {
char *arg;
int condition_sense;
int want_orig;
ap_array_header_t *conditions;
apr_array_header_t *conditions;
} log_format_item;
static char *format_integer(ap_pool_t *p, int i)
static char *format_integer(apr_pool_t *p, int i)
{
return ap_psprintf(p, "%d", i);
return apr_psprintf(p, "%d", i);
}
static char *pfmt(ap_pool_t *p, int i)
static char *pfmt(apr_pool_t *p, int i)
{
if (i <= 0) {
return "-";
@@ -327,7 +327,7 @@ static const char *log_request_line(request_rec *r, char *a)
* (note the truncation before the protocol string for HTTP/0.9 requests)
* (note also that r->the_request contains the unmodified request)
*/
return (r->parsed_uri.password) ? ap_pstrcat(r->pool, r->method, " ",
return (r->parsed_uri.password) ? apr_pstrcat(r->pool, r->method, " ",
ap_unparse_uri_components(r->pool, &r->parsed_uri, 0),
r->assbackwards ? NULL : " ", r->protocol, NULL)
: r->the_request;
@@ -354,40 +354,40 @@ static const char *log_bytes_sent(request_rec *r, char *a)
else {
long int bs;
ap_bgetopt(r->connection->client, BO_BYTECT, &bs);
return ap_psprintf(r->pool, "%ld", bs);
return apr_psprintf(r->pool, "%ld", bs);
}
}
static const char *log_header_in(request_rec *r, char *a)
{
return ap_table_get(r->headers_in, a);
return apr_table_get(r->headers_in, a);
}
static const char *log_header_out(request_rec *r, char *a)
{
const char *cp = ap_table_get(r->headers_out, a);
const char *cp = apr_table_get(r->headers_out, a);
if (!strcasecmp(a, "Content-type") && r->content_type) {
cp = ap_field_noparam(r->pool, r->content_type);
}
if (cp) {
return cp;
}
return ap_table_get(r->err_headers_out, a);
return apr_table_get(r->err_headers_out, a);
}
static const char *log_note(request_rec *r, char *a)
{
return ap_table_get(r->notes, a);
return apr_table_get(r->notes, a);
}
static const char *log_env_var(request_rec *r, char *a)
{
return ap_table_get(r->subprocess_env, a);
return apr_table_get(r->subprocess_env, a);
}
static const char *log_request_time(request_rec *r, char *a)
{
ap_exploded_time_t xt;
ap_size_t retcode;
apr_size_t retcode;
char tstr[MAX_STRING_LEN];
/*
@@ -402,12 +402,12 @@ static const char *log_request_time(request_rec *r, char *a)
a problem with this, you can set the define. -djg
*/
#ifdef I_INSIST_ON_EXTRA_CYCLES_FOR_CLF_COMPLIANCE
ap_explode_localtime(&xt, ap_now());
apr_explode_localtime(&xt, apr_now());
#else
ap_explode_localtime(&xt, r->request_time);
apr_explode_localtime(&xt, r->request_time);
#endif
if (a && *a) { /* Custom format */
ap_strftime(tstr, &retcode, MAX_STRING_LEN, a, &xt);
apr_strftime(tstr, &retcode, MAX_STRING_LEN, a, &xt);
}
else { /* CLF format */
char sign;
@@ -422,18 +422,18 @@ static const char *log_request_time(request_rec *r, char *a)
sign = '+';
}
ap_snprintf(tstr, sizeof(tstr), "[%02d/%s/%d:%02d:%02d:%02d %c%.2d%.2d]",
apr_snprintf(tstr, sizeof(tstr), "[%02d/%s/%d:%02d:%02d:%02d %c%.2d%.2d]",
xt.tm_mday, ap_month_snames[xt.tm_mon], xt.tm_year+1900,
xt.tm_hour, xt.tm_min, xt.tm_sec,
sign, timz / (60*60), timz % (60*60));
}
return ap_pstrdup(r->pool, tstr);
return apr_pstrdup(r->pool, tstr);
}
static const char *log_request_duration(request_rec *r, char *a)
{
return ap_psprintf(r->pool, "%lld", (ap_now() - r->request_time) / AP_USEC_PER_SEC);
return apr_psprintf(r->pool, "%lld", (apr_now() - r->request_time) / AP_USEC_PER_SEC);
}
/* These next two routines use the canonical name:port so that log
@@ -446,7 +446,7 @@ static const char *log_virtual_host(request_rec *r, char *a)
static const char *log_server_port(request_rec *r, char *a)
{
return ap_psprintf(r->pool, "%u",
return apr_psprintf(r->pool, "%u",
r->server->port ? r->server->port : ap_default_port(r));
}
@@ -460,7 +460,7 @@ static const char *log_server_name(request_rec *r, char *a)
static const char *log_child_pid(request_rec *r, char *a)
{
return ap_psprintf(r->pool, "%ld", (long) getpid());
return apr_psprintf(r->pool, "%ld", (long) getpid());
}
/*****************************************************************
@@ -551,7 +551,7 @@ static struct log_item_list *find_log_func(char k)
return NULL;
}
static char *parse_log_misc_string(ap_pool_t *p, log_format_item *it,
static char *parse_log_misc_string(apr_pool_t *p, log_format_item *it,
const char **sa)
{
const char *s;
@@ -568,7 +568,7 @@ static char *parse_log_misc_string(ap_pool_t *p, log_format_item *it,
* This might allocate a few chars extra if there's a backslash
* escape in the format string.
*/
it->arg = ap_palloc(p, s - *sa + 1);
it->arg = apr_palloc(p, s - *sa + 1);
d = it->arg;
s = *sa;
@@ -613,7 +613,7 @@ static char *parse_log_misc_string(ap_pool_t *p, log_format_item *it,
return NULL;
}
static char *parse_log_item(ap_pool_t *p, log_format_item *it, const char **sa)
static char *parse_log_item(apr_pool_t *p, log_format_item *it, const char **sa)
{
const char *s = *sa;
@@ -671,9 +671,9 @@ static char *parse_log_item(ap_pool_t *p, log_format_item *it, const char **sa)
i = i * 10 + (*s) - '0';
}
if (!it->conditions) {
it->conditions = ap_make_array(p, 4, sizeof(int));
it->conditions = apr_make_array(p, 4, sizeof(int));
}
*(int *) ap_push_array(it->conditions) = i;
*(int *) apr_push_array(it->conditions) = i;
break;
default:
@@ -683,7 +683,7 @@ static char *parse_log_item(ap_pool_t *p, log_format_item *it, const char **sa)
dummy[0] = s[-1];
dummy[1] = '\0';
return ap_pstrcat(p, "Unrecognized LogFormat directive %",
return apr_pstrcat(p, "Unrecognized LogFormat directive %",
dummy, NULL);
}
it->func = l->func;
@@ -698,20 +698,20 @@ static char *parse_log_item(ap_pool_t *p, log_format_item *it, const char **sa)
return "Ran off end of LogFormat parsing args to some directive";
}
static ap_array_header_t *parse_log_string(ap_pool_t *p, const char *s, const char **err)
static apr_array_header_t *parse_log_string(apr_pool_t *p, const char *s, const char **err)
{
ap_array_header_t *a = ap_make_array(p, 30, sizeof(log_format_item));
apr_array_header_t *a = apr_make_array(p, 30, sizeof(log_format_item));
char *res;
while (*s) {
if ((res = parse_log_item(p, (log_format_item *) ap_push_array(a), &s))) {
if ((res = parse_log_item(p, (log_format_item *) apr_push_array(a), &s))) {
*err = res;
return NULL;
}
}
s = APR_EOL_STR;
parse_log_item(p, (log_format_item *) ap_push_array(a), &s);
parse_log_item(p, (log_format_item *) apr_push_array(a), &s);
return a;
}
@@ -755,14 +755,14 @@ static const char *process_item(request_rec *r, request_rec *orig,
static void flush_log(config_log_state *cls)
{
if (cls->outcnt && cls->log_fd != NULL) {
ap_write(cls->log_fd, cls->outbuf, cls->outcnt);
apr_write(cls->log_fd, cls->outbuf, cls->outcnt);
cls->outcnt = 0;
}
}
#endif
static int config_log_transaction(request_rec *r, config_log_state *cls,
ap_array_header_t *default_format)
apr_array_header_t *default_format)
{
log_format_item *items;
char *str, *s;
@@ -770,8 +770,8 @@ static int config_log_transaction(request_rec *r, config_log_state *cls,
int *strl;
request_rec *orig;
int i;
ap_ssize_t len = 0;
ap_array_header_t *format;
apr_ssize_t len = 0;
apr_array_header_t *format;
char *envar;
if (cls->fname == NULL) {
@@ -785,12 +785,12 @@ static int config_log_transaction(request_rec *r, config_log_state *cls,
if (cls->condition_var != NULL) {
envar = cls->condition_var;
if (*envar != '!') {
if (ap_table_get(r->subprocess_env, envar) == NULL) {
if (apr_table_get(r->subprocess_env, envar) == NULL) {
return DECLINED;
}
}
else {
if (ap_table_get(r->subprocess_env, &envar[1]) != NULL) {
if (apr_table_get(r->subprocess_env, &envar[1]) != NULL) {
return DECLINED;
}
}
@@ -798,8 +798,8 @@ static int config_log_transaction(request_rec *r, config_log_state *cls,
format = cls->format ? cls->format : default_format;
strs = ap_palloc(r->pool, sizeof(char *) * (format->nelts));
strl = ap_palloc(r->pool, sizeof(int) * (format->nelts));
strs = apr_palloc(r->pool, sizeof(char *) * (format->nelts));
strl = apr_palloc(r->pool, sizeof(int) * (format->nelts));
items = (log_format_item *) format->elts;
orig = r;
@@ -823,12 +823,12 @@ static int config_log_transaction(request_rec *r, config_log_state *cls,
flush_log(cls);
}
if (len >= LOG_BUFSIZE) {
str = ap_palloc(r->pool, len + 1);
str = apr_palloc(r->pool, len + 1);
for (i = 0, s = str; i < format->nelts; ++i) {
memcpy(s, strs[i], strl[i]);
s += strl[i];
}
ap_write(cls->log_fd, str, len);
apr_write(cls->log_fd, str, len);
}
else {
for (i = 0, s = &cls->outbuf[cls->outcnt]; i < format->nelts; ++i) {
@@ -838,14 +838,14 @@ static int config_log_transaction(request_rec *r, config_log_state *cls,
cls->outcnt += len;
}
#else
str = ap_palloc(r->pool, len + 1);
str = apr_palloc(r->pool, len + 1);
for (i = 0, s = str; i < format->nelts; ++i) {
memcpy(s, strs[i], strl[i]);
s += strl[i];
}
ap_write(cls->log_fd, str, &len);
apr_write(cls->log_fd, str, &len);
#endif
return OK;
@@ -886,17 +886,17 @@ static int multi_log_transaction(request_rec *r)
* Module glue...
*/
static void *make_config_log_state(ap_pool_t *p, server_rec *s)
static void *make_config_log_state(apr_pool_t *p, server_rec *s)
{
multi_log_state *mls;
mls = (multi_log_state *) ap_palloc(p, sizeof(multi_log_state));
mls->config_logs = ap_make_array(p, 1, sizeof(config_log_state));
mls = (multi_log_state *) apr_palloc(p, sizeof(multi_log_state));
mls->config_logs = apr_make_array(p, 1, sizeof(config_log_state));
mls->default_format_string = NULL;
mls->default_format = NULL;
mls->server_config_logs = NULL;
mls->formats = ap_make_table(p, 4);
ap_table_setn(mls->formats, "CLF", DEFAULT_LOG_FORMAT);
mls->formats = apr_make_table(p, 4);
apr_table_setn(mls->formats, "CLF", DEFAULT_LOG_FORMAT);
return mls;
}
@@ -907,7 +907,7 @@ static void *make_config_log_state(ap_pool_t *p, server_rec *s)
* vhosts inherit any globally-defined format names.
*/
static void *merge_config_log_state(ap_pool_t *p, void *basev, void *addv)
static void *merge_config_log_state(apr_pool_t *p, void *basev, void *addv)
{
multi_log_state *base = (multi_log_state *) basev;
multi_log_state *add = (multi_log_state *) addv;
@@ -917,7 +917,7 @@ static void *merge_config_log_state(ap_pool_t *p, void *basev, void *addv)
add->default_format_string = base->default_format_string;
add->default_format = base->default_format;
}
add->formats = ap_overlay_tables(p, base->formats, add->formats);
add->formats = apr_overlay_tables(p, base->formats, add->formats);
return add;
}
@@ -940,7 +940,7 @@ static const char *log_format(cmd_parms *cmd, void *dummy, const char *fmt,
if (name != NULL) {
parse_log_string(cmd->pool, fmt, &err_string);
if (err_string == NULL) {
ap_table_setn(mls->formats, name, fmt);
apr_table_setn(mls->formats, name, fmt);
}
}
else {
@@ -959,7 +959,7 @@ static const char *add_custom_log(cmd_parms *cmd, void *dummy, const char *fn,
&config_log_module);
config_log_state *cls;
cls = (config_log_state *) ap_push_array(mls->config_logs);
cls = (config_log_state *) apr_push_array(mls->config_logs);
cls->condition_var = NULL;
if (envclause != NULL) {
if (strncasecmp(envclause, "env=", 4) != 0) {
@@ -969,7 +969,7 @@ static const char *add_custom_log(cmd_parms *cmd, void *dummy, const char *fn,
|| ((envclause[4] == '!') && (envclause[5] == '\0'))) {
return "missing environment variable name";
}
cls->condition_var = ap_pstrdup(cmd->pool, &envclause[4]);
cls->condition_var = apr_pstrdup(cmd->pool, &envclause[4]);
}
cls->fname = fn;
@@ -1010,11 +1010,11 @@ AP_INIT_TAKE1("CookieLog", set_cookie_log, NULL, RSRC_CONF,
{NULL}
};
static config_log_state *open_config_log(server_rec *s, ap_pool_t *p,
static config_log_state *open_config_log(server_rec *s, apr_pool_t *p,
config_log_state *cls,
ap_array_header_t *default_format)
apr_array_header_t *default_format)
{
ap_status_t status;
apr_status_t status;
if (cls->log_fd != NULL) {
return cls; /* virtual config shared w/main server */
@@ -1035,7 +1035,7 @@ static config_log_state *open_config_log(server_rec *s, ap_pool_t *p,
}
else {
const char *fname = ap_server_root_relative(p, cls->fname);
if ((status = ap_open(&cls->log_fd, fname, xfer_flags, xfer_perms, p))
if ((status = apr_open(&cls->log_fd, fname, xfer_flags, xfer_perms, p))
!= APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_ERR, status, s,
"could not open transfer log file %s.", fname);
@@ -1049,7 +1049,7 @@ static config_log_state *open_config_log(server_rec *s, ap_pool_t *p,
return cls;
}
static config_log_state *open_multi_logs(server_rec *s, ap_pool_t *p)
static config_log_state *open_multi_logs(server_rec *s, apr_pool_t *p)
{
int i;
multi_log_state *mls = ap_get_module_config(s->module_config,
@@ -1059,7 +1059,7 @@ static config_log_state *open_multi_logs(server_rec *s, ap_pool_t *p)
const char *format;
if (mls->default_format_string) {
format = ap_table_get(mls->formats, mls->default_format_string);
format = apr_table_get(mls->formats, mls->default_format_string);
if (format) {
mls->default_format = parse_log_string(p, format, &dummy);
}
@@ -1075,7 +1075,7 @@ static config_log_state *open_multi_logs(server_rec *s, ap_pool_t *p)
config_log_state *cls = &clsarray[i];
if (cls->format_string) {
format = ap_table_get(mls->formats, cls->format_string);
format = apr_table_get(mls->formats, cls->format_string);
if (format) {
cls->format = parse_log_string(p, format, &dummy);
}
@@ -1090,7 +1090,7 @@ static config_log_state *open_multi_logs(server_rec *s, ap_pool_t *p)
config_log_state *cls = &clsarray[i];
if (cls->format_string) {
format = ap_table_get(mls->formats, cls->format_string);
format = apr_table_get(mls->formats, cls->format_string);
if (format) {
cls->format = parse_log_string(p, format, &dummy);
}
@@ -1103,7 +1103,7 @@ static config_log_state *open_multi_logs(server_rec *s, ap_pool_t *p)
return NULL;
}
static void init_config_log(ap_pool_t *pc, ap_pool_t *p, ap_pool_t *pt, server_rec *s)
static void init_config_log(apr_pool_t *pc, apr_pool_t *p, apr_pool_t *pt, server_rec *s)
{
/* First, do "physical" server, which gets default log fd and format
* for the virtual servers, if they don't override...
@@ -1118,7 +1118,7 @@ static void init_config_log(ap_pool_t *pc, ap_pool_t *p, ap_pool_t *pt, server_r
}
#ifdef BUFFERED_LOGS
/* Now register the last buffer flush with the cleanup engine */
ap_register_cleanup(p , s, flush_all_logs, flush_all_logs);
apr_register_cleanup(p , s, flush_all_logs, flush_all_logs);
#endif
}
@@ -1126,7 +1126,7 @@ static void init_config_log(ap_pool_t *pc, ap_pool_t *p, ap_pool_t *pt, server_r
static void flush_all_logs(server_rec *s)
{
multi_log_state *mls;
ap_array_header_t *log_list;
apr_array_header_t *log_list;
config_log_state *clsarray;
int i;
@@ -1162,7 +1162,7 @@ module MODULE_VAR_EXPORT config_log_module =
NULL, /* merge per-dir config */
make_config_log_state, /* server config */
merge_config_log_state, /* merge server config */
config_log_cmds, /* command ap_table_t */
config_log_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -90,32 +90,32 @@
#include "util_script.h"
typedef struct {
ap_table_t *action_types; /* Added with Action... */
apr_table_t *action_types; /* Added with Action... */
const char *scripted[METHODS]; /* Added with Script... */
} action_dir_config;
module action_module;
static void *create_action_dir_config(ap_pool_t *p, char *dummy)
static void *create_action_dir_config(apr_pool_t *p, char *dummy)
{
action_dir_config *new =
(action_dir_config *) ap_palloc(p, sizeof(action_dir_config));
(action_dir_config *) apr_palloc(p, sizeof(action_dir_config));
new->action_types = ap_make_table(p, 4);
new->action_types = apr_make_table(p, 4);
memset(new->scripted, 0, sizeof(new->scripted));
return new;
}
static void *merge_action_dir_configs(ap_pool_t *p, void *basev, void *addv)
static void *merge_action_dir_configs(apr_pool_t *p, void *basev, void *addv)
{
action_dir_config *base = (action_dir_config *) basev;
action_dir_config *add = (action_dir_config *) addv;
action_dir_config *new = (action_dir_config *) ap_palloc(p,
action_dir_config *new = (action_dir_config *) apr_palloc(p,
sizeof(action_dir_config));
int i;
new->action_types = ap_overlay_tables(p, add->action_types,
new->action_types = apr_overlay_tables(p, add->action_types,
base->action_types);
for (i = 0; i < METHODS; ++i) {
@@ -129,7 +129,7 @@ static const char *add_action(cmd_parms *cmd, void *m_v,
const char *type, const char *script)
{
action_dir_config *m = (action_dir_config *)m_v;
ap_table_setn(m->action_types, type, script);
apr_table_setn(m->action_types, type, script);
return NULL;
}
@@ -190,7 +190,7 @@ static int action_handler(request_rec *r)
return DECLINED;
/* Second, check for actions (which override the method scripts) */
if ((t = ap_table_get(conf->action_types,
if ((t = apr_table_get(conf->action_types,
action ? action : ap_default_type(r)))) {
script = t;
if (r->finfo.protection == 0) {
@@ -203,7 +203,7 @@ static int action_handler(request_rec *r)
if (script == NULL)
return DECLINED;
ap_internal_redirect_handler(ap_pstrcat(r->pool, script, ap_escape_uri(r->pool,
ap_internal_redirect_handler(apr_pstrcat(r->pool, script, ap_escape_uri(r->pool,
r->uri), r->args ? "?" : NULL, r->args, NULL), r);
return OK;
}
@@ -221,7 +221,7 @@ module action_module =
merge_action_dir_configs, /* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server config */
action_cmds, /* command ap_table_t */
action_cmds, /* command apr_table_t */
action_handlers, /* handlers */
NULL /* register hooks */
};

View File

@@ -82,51 +82,51 @@ typedef struct {
} alias_entry;
typedef struct {
ap_array_header_t *aliases;
ap_array_header_t *redirects;
apr_array_header_t *aliases;
apr_array_header_t *redirects;
} alias_server_conf;
typedef struct {
ap_array_header_t *redirects;
apr_array_header_t *redirects;
} alias_dir_conf;
module MODULE_VAR_EXPORT alias_module;
static void *create_alias_config(ap_pool_t *p, server_rec *s)
static void *create_alias_config(apr_pool_t *p, server_rec *s)
{
alias_server_conf *a =
(alias_server_conf *) ap_pcalloc(p, sizeof(alias_server_conf));
(alias_server_conf *) apr_pcalloc(p, sizeof(alias_server_conf));
a->aliases = ap_make_array(p, 20, sizeof(alias_entry));
a->redirects = ap_make_array(p, 20, sizeof(alias_entry));
a->aliases = apr_make_array(p, 20, sizeof(alias_entry));
a->redirects = apr_make_array(p, 20, sizeof(alias_entry));
return a;
}
static void *create_alias_dir_config(ap_pool_t *p, char *d)
static void *create_alias_dir_config(apr_pool_t *p, char *d)
{
alias_dir_conf *a =
(alias_dir_conf *) ap_pcalloc(p, sizeof(alias_dir_conf));
a->redirects = ap_make_array(p, 2, sizeof(alias_entry));
(alias_dir_conf *) apr_pcalloc(p, sizeof(alias_dir_conf));
a->redirects = apr_make_array(p, 2, sizeof(alias_entry));
return a;
}
static void *merge_alias_config(ap_pool_t *p, void *basev, void *overridesv)
static void *merge_alias_config(apr_pool_t *p, void *basev, void *overridesv)
{
alias_server_conf *a =
(alias_server_conf *) ap_pcalloc(p, sizeof(alias_server_conf));
(alias_server_conf *) apr_pcalloc(p, sizeof(alias_server_conf));
alias_server_conf *base = (alias_server_conf *) basev, *overrides = (alias_server_conf *) overridesv;
a->aliases = ap_append_arrays(p, overrides->aliases, base->aliases);
a->redirects = ap_append_arrays(p, overrides->redirects, base->redirects);
a->aliases = apr_append_arrays(p, overrides->aliases, base->aliases);
a->redirects = apr_append_arrays(p, overrides->redirects, base->redirects);
return a;
}
static void *merge_alias_dir_config(ap_pool_t *p, void *basev, void *overridesv)
static void *merge_alias_dir_config(apr_pool_t *p, void *basev, void *overridesv)
{
alias_dir_conf *a =
(alias_dir_conf *) ap_pcalloc(p, sizeof(alias_dir_conf));
(alias_dir_conf *) apr_pcalloc(p, sizeof(alias_dir_conf));
alias_dir_conf *base = (alias_dir_conf *) basev, *overrides = (alias_dir_conf *) overridesv;
a->redirects = ap_append_arrays(p, overrides->redirects, base->redirects);
a->redirects = apr_append_arrays(p, overrides->redirects, base->redirects);
return a;
}
@@ -137,7 +137,7 @@ static const char *add_alias_internal(cmd_parms *cmd, void *dummy,
server_rec *s = cmd->server;
alias_server_conf *conf =
(alias_server_conf *) ap_get_module_config(s->module_config, &alias_module);
alias_entry *new = ap_push_array(conf->aliases);
alias_entry *new = apr_push_array(conf->aliases);
/* XX r can NOT be relative to DocumentRoot here... compat bug. */
@@ -213,9 +213,9 @@ static const char *add_redirect_internal(cmd_parms *cmd,
}
if (cmd->path)
new = ap_push_array(dirconf->redirects);
new = apr_push_array(dirconf->redirects);
else
new = ap_push_array(serverconf->redirects);
new = apr_push_array(serverconf->redirects);
new->fake = f;
new->real = url;
@@ -309,7 +309,7 @@ static int alias_matches(const char *uri, const char *alias_fakename)
return urip - uri;
}
static char *try_alias_list(request_rec *r, ap_array_header_t *aliases, int doesc, int *status)
static char *try_alias_list(request_rec *r, apr_array_header_t *aliases, int doesc, int *status)
{
alias_entry *entries = (alias_entry *) aliases->elts;
regmatch_t regm[10];
@@ -331,7 +331,7 @@ static char *try_alias_list(request_rec *r, ap_array_header_t *aliases, int does
}
else {
/* need something non-null */
found = ap_pstrdup(r->pool, "");
found = apr_pstrdup(r->pool, "");
}
}
}
@@ -343,17 +343,17 @@ static char *try_alias_list(request_rec *r, ap_array_header_t *aliases, int does
char *escurl;
escurl = ap_os_escape_path(r->pool, r->uri + l, 1);
found = ap_pstrcat(r->pool, p->real, escurl, NULL);
found = apr_pstrcat(r->pool, p->real, escurl, NULL);
}
else
found = ap_pstrcat(r->pool, p->real, r->uri + l, NULL);
found = apr_pstrcat(r->pool, p->real, r->uri + l, NULL);
}
}
if (found) {
if (p->handler) { /* Set handler, and leave a note for mod_cgi */
r->handler = p->handler;
ap_table_setn(r->notes, "alias-forced-type", r->handler);
apr_table_setn(r->notes, "alias-forced-type", r->handler);
}
*status = p->redir_status;
@@ -381,9 +381,9 @@ static int translate_alias_redir(request_rec *r)
if (ap_is_HTTP_REDIRECT(status)) {
/* include QUERY_STRING if any */
if (r->args) {
ret = ap_pstrcat(r->pool, ret, "?", r->args, NULL);
ret = apr_pstrcat(r->pool, ret, "?", r->args, NULL);
}
ap_table_setn(r->headers_out, "Location", ret);
apr_table_setn(r->headers_out, "Location", ret);
}
return status;
}
@@ -408,7 +408,7 @@ static int fixup_redir(request_rec *r)
if ((ret = try_alias_list(r, dirconf->redirects, 1, &status)) != NULL) {
if (ap_is_HTTP_REDIRECT(status))
ap_table_setn(r->headers_out, "Location", ret);
apr_table_setn(r->headers_out, "Location", ret);
return status;
}
@@ -430,7 +430,7 @@ module MODULE_VAR_EXPORT alias_module =
merge_alias_dir_config, /* dir merger --- default is to override */
create_alias_config, /* server config */
merge_alias_config, /* merge server configs */
alias_cmds, /* command ap_table_t */
alias_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -74,7 +74,7 @@
module MODULE_VAR_EXPORT dir_module;
typedef struct dir_config_struct {
ap_array_header_t *index_names;
apr_array_header_t *index_names;
} dir_config_rec;
#define DIR_CMD_PERMS OR_INDEXES
@@ -84,9 +84,9 @@ static const char *add_index(cmd_parms *cmd, void *dummy, const char *arg)
dir_config_rec *d = dummy;
if (!d->index_names) {
d->index_names = ap_make_array(cmd->pool, 2, sizeof(char *));
d->index_names = apr_make_array(cmd->pool, 2, sizeof(char *));
}
*(const char **)ap_push_array(d->index_names) = arg;
*(const char **)apr_push_array(d->index_names) = arg;
return NULL;
}
@@ -97,18 +97,18 @@ static const command_rec dir_cmds[] =
{NULL}
};
static void *create_dir_config(ap_pool_t *p, char *dummy)
static void *create_dir_config(apr_pool_t *p, char *dummy)
{
dir_config_rec *new =
(dir_config_rec *) ap_pcalloc(p, sizeof(dir_config_rec));
(dir_config_rec *) apr_pcalloc(p, sizeof(dir_config_rec));
new->index_names = NULL;
return (void *) new;
}
static void *merge_dir_configs(ap_pool_t *p, void *basev, void *addv)
static void *merge_dir_configs(apr_pool_t *p, void *basev, void *addv)
{
dir_config_rec *new = (dir_config_rec *) ap_pcalloc(p, sizeof(dir_config_rec));
dir_config_rec *new = (dir_config_rec *) apr_pcalloc(p, sizeof(dir_config_rec));
dir_config_rec *base = (dir_config_rec *) basev;
dir_config_rec *add = (dir_config_rec *) addv;
@@ -129,13 +129,13 @@ static int handle_dir(request_rec *r)
if (r->uri[0] == '\0' || r->uri[strlen(r->uri) - 1] != '/') {
char *ifile;
if (r->args != NULL)
ifile = ap_pstrcat(r->pool, ap_escape_uri(r->pool, r->uri),
ifile = apr_pstrcat(r->pool, ap_escape_uri(r->pool, r->uri),
"/", "?", r->args, NULL);
else
ifile = ap_pstrcat(r->pool, ap_escape_uri(r->pool, r->uri),
ifile = apr_pstrcat(r->pool, ap_escape_uri(r->pool, r->uri),
"/", NULL);
ap_table_setn(r->headers_out, "Location",
apr_table_setn(r->headers_out, "Location",
ap_construct_url(r->pool, ifile, r));
return HTTP_MOVED_PERMANENTLY;
}
@@ -146,7 +146,7 @@ static int handle_dir(request_rec *r)
*/
if (r->filename[strlen(r->filename) - 1] != '/') {
r->filename = ap_pstrcat(r->pool, r->filename, "/", NULL);
r->filename = apr_pstrcat(r->pool, r->filename, "/", NULL);
}
if (d->index_names) {
@@ -167,9 +167,9 @@ static int handle_dir(request_rec *r)
char *new_uri = ap_escape_uri(r->pool, rr->uri);
if (rr->args != NULL)
new_uri = ap_pstrcat(r->pool, new_uri, "?", rr->args, NULL);
new_uri = apr_pstrcat(r->pool, new_uri, "?", rr->args, NULL);
else if (r->args != NULL)
new_uri = ap_pstrcat(r->pool, new_uri, "?", r->args, NULL);
new_uri = apr_pstrcat(r->pool, new_uri, "?", r->args, NULL);
ap_destroy_sub_req(rr);
ap_internal_redirect(new_uri, r);
@@ -183,10 +183,10 @@ static int handle_dir(request_rec *r)
ap_pool_join(r->pool, rr->pool);
error_notfound = rr->status;
r->notes = ap_overlay_tables(r->pool, r->notes, rr->notes);
r->headers_out = ap_overlay_tables(r->pool, r->headers_out,
r->notes = apr_overlay_tables(r->pool, r->notes, rr->notes);
r->headers_out = apr_overlay_tables(r->pool, r->headers_out,
rr->headers_out);
r->err_headers_out = ap_overlay_tables(r->pool, r->err_headers_out,
r->err_headers_out = apr_overlay_tables(r->pool, r->err_headers_out,
rr->err_headers_out);
return error_notfound;
}
@@ -230,7 +230,7 @@ module MODULE_VAR_EXPORT dir_module = {
merge_dir_configs, /* merge per-directory config structures */
NULL, /* create per-server config structure */
NULL, /* merge per-server config structures */
dir_cmds, /* command ap_table_t */
dir_cmds, /* command apr_table_t */
dir_handlers, /* handlers */
NULL /* register hooks */
};

View File

@@ -130,10 +130,10 @@ typedef struct {
char *imap_base;
} imap_conf_rec;
static void *create_imap_dir_config(ap_pool_t *p, char *dummy)
static void *create_imap_dir_config(apr_pool_t *p, char *dummy)
{
imap_conf_rec *icr =
(imap_conf_rec *) ap_palloc(p, sizeof(imap_conf_rec));
(imap_conf_rec *) apr_palloc(p, sizeof(imap_conf_rec));
icr->imap_menu = NULL;
icr->imap_default = NULL;
@@ -142,9 +142,9 @@ static void *create_imap_dir_config(ap_pool_t *p, char *dummy)
return icr;
}
static void *merge_imap_dir_configs(ap_pool_t *p, void *basev, void *addv)
static void *merge_imap_dir_configs(apr_pool_t *p, void *basev, void *addv)
{
imap_conf_rec *new = (imap_conf_rec *) ap_pcalloc(p, sizeof(imap_conf_rec));
imap_conf_rec *new = (imap_conf_rec *) apr_pcalloc(p, sizeof(imap_conf_rec));
imap_conf_rec *base = (imap_conf_rec *) basev;
imap_conf_rec *add = (imap_conf_rec *) addv;
@@ -374,14 +374,14 @@ static char *imap_url(request_rec *r, const char *base, const char *value)
}
if (!strcasecmp(value, "nocontent") || !strcasecmp(value, "error")) {
return ap_pstrdup(r->pool, value); /* these are handled elsewhere,
return apr_pstrdup(r->pool, value); /* these are handled elsewhere,
so just copy them */
}
if (!strcasecmp(value, "referer")) {
referer = ap_table_get(r->headers_in, "Referer");
referer = apr_table_get(r->headers_in, "Referer");
if (referer && *referer) {
return ap_pstrdup(r->pool, referer);
return apr_pstrdup(r->pool, referer);
}
else {
/* XXX: This used to do *value = '\0'; ... which is totally bogus
@@ -403,12 +403,12 @@ static char *imap_url(request_rec *r, const char *base, const char *value)
if (*string_pos_const == ':') {
/* if letters and then a colon (like http:) */
/* it's an absolute URL, so use it! */
return ap_pstrdup(r->pool, value);
return apr_pstrdup(r->pool, value);
}
if (!base || !*base) {
if (value && *value) {
return ap_pstrdup(r->pool, value); /* no base: use what is given */
return apr_pstrdup(r->pool, value); /* no base: use what is given */
}
/* no base, no value: pick a simple default */
return ap_construct_url(r->pool, "/", r);
@@ -421,7 +421,7 @@ static char *imap_url(request_rec *r, const char *base, const char *value)
"invalid base directive in map file: %s", r->uri);
return NULL;
}
my_base = ap_pstrdup(r->pool, base);
my_base = apr_pstrdup(r->pool, base);
string_pos = my_base;
while (*string_pos) {
if (*string_pos == '/' && *(string_pos + 1) == '/') {
@@ -493,7 +493,7 @@ static char *imap_url(request_rec *r, const char *base, const char *value)
with '..' */
if (value && *value) {
return ap_pstrcat(r->pool, my_base, value, NULL);
return apr_pstrcat(r->pool, my_base, value, NULL);
}
return my_base;
}
@@ -510,7 +510,7 @@ static int imap_reply(request_rec *r, char *redirect)
}
if (redirect && *redirect) {
/* must be a URL, so redirect to it */
ap_table_setn(r->headers_out, "Location", redirect);
apr_table_setn(r->headers_out, "Location", redirect);
return HTTP_MOVED_TEMPORARILY;
}
return HTTP_INTERNAL_SERVER_ERROR;
@@ -617,7 +617,7 @@ static int imap_handler(request_rec *r)
char *mapdflt;
char *closest = NULL;
double closest_yet = -1;
ap_status_t status;
apr_status_t status;
double testpoint[2];
double pointarray[MAXVERTS + 1][2];
@@ -847,7 +847,7 @@ static int imap_handler(request_rec *r)
if (!strcasecmp(directive, "point")) { /* point */
if (is_closer(testpoint, pointarray, &closest_yet)) {
closest = ap_pstrdup(r->pool, value);
closest = apr_pstrdup(r->pool, value);
}
continue;
@@ -916,7 +916,7 @@ module MODULE_VAR_EXPORT imap_module =
merge_imap_dir_configs, /* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server config */
imap_cmds, /* command ap_table_t */
imap_cmds, /* command apr_table_t */
imap_handlers, /* handlers */
NULL /* register hooks */
};

View File

@@ -87,27 +87,27 @@
*/
typedef struct {
ap_array_header_t *language_priority;
apr_array_header_t *language_priority;
} neg_dir_config;
module MODULE_VAR_EXPORT negotiation_module;
static void *create_neg_dir_config(ap_pool_t *p, char *dummy)
static void *create_neg_dir_config(apr_pool_t *p, char *dummy)
{
neg_dir_config *new = (neg_dir_config *) ap_palloc(p, sizeof(neg_dir_config));
neg_dir_config *new = (neg_dir_config *) apr_palloc(p, sizeof(neg_dir_config));
new->language_priority = ap_make_array(p, 4, sizeof(char *));
new->language_priority = apr_make_array(p, 4, sizeof(char *));
return new;
}
static void *merge_neg_dir_configs(ap_pool_t *p, void *basev, void *addv)
static void *merge_neg_dir_configs(apr_pool_t *p, void *basev, void *addv)
{
neg_dir_config *base = (neg_dir_config *) basev;
neg_dir_config *add = (neg_dir_config *) addv;
neg_dir_config *new = (neg_dir_config *) ap_palloc(p, sizeof(neg_dir_config));
neg_dir_config *new = (neg_dir_config *) apr_palloc(p, sizeof(neg_dir_config));
/* give priority to the config in the subdirectory */
new->language_priority = ap_append_arrays(p, add->language_priority,
new->language_priority = apr_append_arrays(p, add->language_priority,
base->language_priority);
return new;
}
@@ -115,8 +115,8 @@ static void *merge_neg_dir_configs(ap_pool_t *p, void *basev, void *addv)
static const char *set_language_priority(cmd_parms *cmd, void *n,
const char *lang)
{
ap_array_header_t *arr = ((neg_dir_config *) n)->language_priority;
const char **langp = (const char **) ap_push_array(arr);
apr_array_header_t *arr = ((neg_dir_config *) n)->language_priority;
const char **langp = (const char **) apr_push_array(arr);
*langp = lang;
return NULL;
@@ -183,7 +183,7 @@ typedef struct var_rec {
char *mime_type; /* MUST be lowercase */
char *file_name;
const char *content_encoding;
ap_array_header_t *content_languages; /* list of languages for this variant */
apr_array_header_t *content_languages; /* list of languages for this variant */
char *content_charset;
char *description;
@@ -222,7 +222,7 @@ typedef struct var_rec {
*/
typedef struct {
ap_pool_t *pool;
apr_pool_t *pool;
request_rec *r;
char *dir_name;
int accept_q; /* 1 if an Accept item has a q= param */
@@ -231,12 +231,12 @@ typedef struct {
/* the array pointers below are NULL if the corresponding accept
* headers are not present
*/
ap_array_header_t *accepts; /* accept_recs */
ap_array_header_t *accept_encodings; /* accept_recs */
ap_array_header_t *accept_charsets; /* accept_recs */
ap_array_header_t *accept_langs; /* accept_recs */
apr_array_header_t *accepts; /* accept_recs */
apr_array_header_t *accept_encodings; /* accept_recs */
apr_array_header_t *accept_charsets; /* accept_recs */
apr_array_header_t *accept_langs; /* accept_recs */
ap_array_header_t *avail_vars; /* available variants */
apr_array_header_t *avail_vars; /* available variants */
int count_multiviews_variants; /* number of variants found on disk */
@@ -323,7 +323,7 @@ static void set_vlist_validator(request_rec *r, request_rec *vlistr)
* enter the values we recognize into the argument accept_rec
*/
static const char *get_entry(ap_pool_t *p, accept_rec *result,
static const char *get_entry(apr_pool_t *p, accept_rec *result,
const char *accept_line)
{
result->quality = 1.0f;
@@ -430,18 +430,18 @@ static const char *get_entry(ap_pool_t *p, accept_rec *result,
* where charset is only valid in Accept.
*/
static ap_array_header_t *do_header_line(ap_pool_t *p, const char *accept_line)
static apr_array_header_t *do_header_line(apr_pool_t *p, const char *accept_line)
{
ap_array_header_t *accept_recs;
apr_array_header_t *accept_recs;
if (!accept_line) {
return NULL;
}
accept_recs = ap_make_array(p, 40, sizeof(accept_rec));
accept_recs = apr_make_array(p, 40, sizeof(accept_rec));
while (*accept_line) {
accept_rec *new = (accept_rec *) ap_push_array(accept_recs);
accept_rec *new = (accept_rec *) apr_push_array(accept_recs);
accept_line = get_entry(p, new, accept_line);
}
@@ -452,16 +452,16 @@ static ap_array_header_t *do_header_line(ap_pool_t *p, const char *accept_line)
* return an array containing the languages of this variant
*/
static ap_array_header_t *do_languages_line(ap_pool_t *p, const char **lang_line)
static apr_array_header_t *do_languages_line(apr_pool_t *p, const char **lang_line)
{
ap_array_header_t *lang_recs = ap_make_array(p, 2, sizeof(char *));
apr_array_header_t *lang_recs = apr_make_array(p, 2, sizeof(char *));
if (!lang_line) {
return lang_recs;
}
while (**lang_line) {
char **new = (char **) ap_push_array(lang_recs);
char **new = (char **) apr_push_array(lang_recs);
*new = ap_get_token(p, lang_line, 0);
ap_str_tolower(*new);
if (**lang_line == ',' || **lang_line == ';') {
@@ -480,16 +480,16 @@ static ap_array_header_t *do_languages_line(ap_pool_t *p, const char **lang_line
static negotiation_state *parse_accept_headers(request_rec *r)
{
negotiation_state *new =
(negotiation_state *) ap_pcalloc(r->pool, sizeof(negotiation_state));
(negotiation_state *) apr_pcalloc(r->pool, sizeof(negotiation_state));
accept_rec *elts;
ap_table_t *hdrs = r->headers_in;
apr_table_t *hdrs = r->headers_in;
int i;
new->pool = r->pool;
new->r = r;
new->dir_name = ap_make_dirstr_parent(r->pool, r->filename);
new->accepts = do_header_line(r->pool, ap_table_get(hdrs, "Accept"));
new->accepts = do_header_line(r->pool, apr_table_get(hdrs, "Accept"));
/* calculate new->accept_q value */
if (new->accepts) {
@@ -503,13 +503,13 @@ static negotiation_state *parse_accept_headers(request_rec *r)
}
new->accept_encodings =
do_header_line(r->pool, ap_table_get(hdrs, "Accept-Encoding"));
do_header_line(r->pool, apr_table_get(hdrs, "Accept-Encoding"));
new->accept_langs =
do_header_line(r->pool, ap_table_get(hdrs, "Accept-Language"));
do_header_line(r->pool, apr_table_get(hdrs, "Accept-Language"));
new->accept_charsets =
do_header_line(r->pool, ap_table_get(hdrs, "Accept-Charset"));
do_header_line(r->pool, apr_table_get(hdrs, "Accept-Charset"));
new->avail_vars = ap_make_array(r->pool, 40, sizeof(var_rec));
new->avail_vars = apr_make_array(r->pool, 40, sizeof(var_rec));
return new;
}
@@ -517,7 +517,7 @@ static negotiation_state *parse_accept_headers(request_rec *r)
static void parse_negotiate_header(request_rec *r, negotiation_state *neg)
{
const char *negotiate = ap_table_get(r->headers_in, "Negotiate");
const char *negotiate = apr_table_get(r->headers_in, "Negotiate");
char *tok;
/* First, default to no TCN, no Alternates, and the original Apache
@@ -546,7 +546,7 @@ static void parse_negotiate_header(request_rec *r, negotiation_state *neg)
* they can send the equivalent 'negotiate: trans, trans' instead
* to avoid triggering the workaround below.
*/
const char *ua = ap_table_get(r->headers_in, "User-Agent");
const char *ua = apr_table_get(r->headers_in, "User-Agent");
if (ua && (strncmp(ua, "Lynx", 4) == 0))
return;
@@ -614,16 +614,16 @@ static void maybe_add_default_accepts(negotiation_state *neg,
accept_rec *new_accept;
if (!neg->accepts) {
neg->accepts = ap_make_array(neg->pool, 4, sizeof(accept_rec));
neg->accepts = apr_make_array(neg->pool, 4, sizeof(accept_rec));
new_accept = (accept_rec *) ap_push_array(neg->accepts);
new_accept = (accept_rec *) apr_push_array(neg->accepts);
new_accept->name = "*/*";
new_accept->quality = 1.0f;
new_accept->level = 0.0f;
}
new_accept = (accept_rec *) ap_push_array(neg->accepts);
new_accept = (accept_rec *) apr_push_array(neg->accepts);
new_accept->name = CGI_MAGIC_TYPE;
if (neg->use_rvsa) {
@@ -649,7 +649,7 @@ enum header_state {
header_eof, header_seen, header_sep
};
static enum header_state get_header_line(char *buffer, int len, ap_file_t *map)
static enum header_state get_header_line(char *buffer, int len, apr_file_t *map)
{
char *buf_end = buffer + len;
char *cp;
@@ -658,7 +658,7 @@ static enum header_state get_header_line(char *buffer, int len, ap_file_t *map)
/* Get a noncommented line */
do {
if (ap_fgets(buffer, MAX_STRING_LEN, map) != APR_SUCCESS) {
if (apr_fgets(buffer, MAX_STRING_LEN, map) != APR_SUCCESS) {
return header_eof;
}
} while (buffer[0] == '#');
@@ -679,10 +679,10 @@ static enum header_state get_header_line(char *buffer, int len, ap_file_t *map)
cp += strlen(cp);
while (ap_getc(&c, map) != APR_EOF) {
while (apr_getc(&c, map) != APR_EOF) {
if (c == '#') {
/* Comment line */
while (ap_getc(&c, map) != EOF && c != '\n') {
while (apr_getc(&c, map) != EOF && c != '\n') {
continue;
}
}
@@ -693,11 +693,11 @@ static enum header_state get_header_line(char *buffer, int len, ap_file_t *map)
*/
while (c != '\n' && ap_isspace(c)) {
if(ap_getc(&c, map) != APR_SUCCESS)
if(apr_getc(&c, map) != APR_SUCCESS)
break;
}
ap_ungetc(c, map);
apr_ungetc(c, map);
if (c == '\n') {
return header_seen; /* Blank line */
@@ -705,7 +705,7 @@ static enum header_state get_header_line(char *buffer, int len, ap_file_t *map)
/* Continuation */
while (cp < buf_end - 2 && (ap_getc(&c, map)) != EOF && c != '\n') {
while (cp < buf_end - 2 && (apr_getc(&c, map)) != EOF && c != '\n') {
*cp++ = c;
}
@@ -716,7 +716,7 @@ static enum header_state get_header_line(char *buffer, int len, ap_file_t *map)
/* Line beginning with something other than whitespace */
ap_ungetc(c, map);
apr_ungetc(c, map);
return header_seen;
}
}
@@ -787,8 +787,8 @@ static char *lcase_header_name_return_body(char *header, request_rec *r)
static int read_type_map(negotiation_state *neg, request_rec *rr)
{
request_rec *r = neg->r;
ap_file_t *map = NULL;
ap_status_t status;
apr_file_t *map = NULL;
apr_status_t status;
char buffer[MAX_STRING_LEN];
enum header_state hstate;
struct var_rec mime_info;
@@ -797,7 +797,7 @@ static int read_type_map(negotiation_state *neg, request_rec *rr)
/* We are not using multiviews */
neg->count_multiviews_variants = 0;
if ((status = ap_open(&map, rr->filename, APR_READ,
if ((status = apr_open(&map, rr->filename, APR_READ,
APR_OS_DEFAULT, neg->pool)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r,
"cannot access type map file: %s", rr->filename);
@@ -845,7 +845,7 @@ static int read_type_map(negotiation_state *neg, request_rec *rr)
has_content = 1;
}
else if (!strncmp(buffer, "description:", 12)) {
char *desc = ap_pstrdup(neg->pool, body);
char *desc = apr_pstrdup(neg->pool, body);
char *cp;
for (cp = desc; *cp; ++cp) {
@@ -857,7 +857,7 @@ static int read_type_map(negotiation_state *neg, request_rec *rr)
}
else {
if (*mime_info.file_name && has_content) {
void *new_var = ap_push_array(neg->avail_vars);
void *new_var = apr_push_array(neg->avail_vars);
memcpy(new_var, (void *) &mime_info, sizeof(var_rec));
}
@@ -867,7 +867,7 @@ static int read_type_map(negotiation_state *neg, request_rec *rr)
}
} while (hstate != header_eof);
ap_close(map);
apr_close(map);
set_vlist_validator(r, rr);
@@ -905,8 +905,8 @@ static int read_types_multi(negotiation_state *neg)
char *filp;
int prefix_len;
ap_dir_t *dirp;
ap_status_t status;
apr_dir_t *dirp;
apr_status_t status;
struct var_rec mime_info;
struct accept_rec accept_info;
void *new_var;
@@ -924,17 +924,17 @@ static int read_types_multi(negotiation_state *neg)
++filp;
prefix_len = strlen(filp);
if ((status = ap_opendir(&dirp, neg->dir_name, neg->pool)) != APR_SUCCESS) {
if ((status = apr_opendir(&dirp, neg->dir_name, neg->pool)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r,
"cannot read directory for multi: %s", neg->dir_name);
return HTTP_FORBIDDEN;
}
while (ap_readdir(dirp) == APR_SUCCESS) {
while (apr_readdir(dirp) == APR_SUCCESS) {
request_rec *sub_req;
char *d_name;
ap_get_dir_filename(&d_name, dirp);
apr_get_dir_filename(&d_name, dirp);
/* Do we have a match? */
if (strncmp(d_name, filp, prefix_len)) {
@@ -973,7 +973,7 @@ static int read_types_multi(negotiation_state *neg)
((sub_req->handler) &&
!strcmp(sub_req->handler, "type-map"))) {
ap_closedir(dirp);
apr_closedir(dirp);
neg->avail_vars->nelts = 0;
if (sub_req->status != HTTP_OK) {
return sub_req->status;
@@ -984,7 +984,7 @@ static int read_types_multi(negotiation_state *neg)
/* Have reasonable variant --- gather notes. */
mime_info.sub_req = sub_req;
mime_info.file_name = ap_pstrdup(neg->pool, d_name);
mime_info.file_name = apr_pstrdup(neg->pool, d_name);
if (sub_req->content_encoding) {
mime_info.content_encoding = sub_req->content_encoding;
}
@@ -995,7 +995,7 @@ static int read_types_multi(negotiation_state *neg)
get_entry(neg->pool, &accept_info, sub_req->content_type);
set_mime_fields(&mime_info, &accept_info);
new_var = ap_push_array(neg->avail_vars);
new_var = apr_push_array(neg->avail_vars);
memcpy(new_var, (void *) &mime_info, sizeof(var_rec));
neg->count_multiviews_variants++;
@@ -1003,7 +1003,7 @@ static int read_types_multi(negotiation_state *neg)
clean_var_rec(&mime_info);
}
ap_closedir(dirp);
apr_closedir(dirp);
set_vlist_validator(r, r);
@@ -1155,7 +1155,7 @@ static int level_cmp(var_rec *var1, var_rec *var2)
* to set lang_index.
*/
static int find_lang_index(ap_array_header_t *accept_langs, char *lang)
static int find_lang_index(apr_array_header_t *accept_langs, char *lang)
{
accept_rec *accs;
int i;
@@ -1182,7 +1182,7 @@ static int find_lang_index(ap_array_header_t *accept_langs, char *lang)
static int find_default_index(neg_dir_config *conf, char *lang)
{
ap_array_header_t *arr;
apr_array_header_t *arr;
int nelts;
char **elts;
int i;
@@ -1456,13 +1456,13 @@ static void set_language_quality(negotiation_state *neg, var_rec *variant)
static float find_content_length(negotiation_state *neg, var_rec *variant)
{
ap_finfo_t statb;
apr_finfo_t statb;
if (variant->bytes == 0) {
char *fullname = ap_make_full_path(neg->pool, neg->dir_name,
variant->file_name);
if (ap_stat(&statb, fullname, neg->pool) == APR_SUCCESS) {
if (apr_stat(&statb, fullname, neg->pool) == APR_SUCCESS) {
/* Note, precision may be lost */
variant->bytes = (float) statb.size;
}
@@ -1778,7 +1778,7 @@ static int is_variant_better_rvsa(negotiation_state *neg, var_rec *variant,
(variant->file_name ? variant->file_name : ""),
(variant->mime_type ? variant->mime_type : ""),
(variant->content_languages
? ap_array_pstrcat(neg->pool, variant->content_languages, ',')
? apr_array_pstrcat(neg->pool, variant->content_languages, ',')
: ""),
variant->source_quality,
variant->mime_type_quality,
@@ -1848,7 +1848,7 @@ static int is_variant_better(negotiation_state *neg, var_rec *variant,
(variant->file_name ? variant->file_name : ""),
(variant->mime_type ? variant->mime_type : ""),
(variant->content_languages
? ap_array_pstrcat(neg->pool, variant->content_languages, ',')
? apr_array_pstrcat(neg->pool, variant->content_languages, ',')
: ""),
variant->source_quality,
variant->mime_type_quality,
@@ -2048,7 +2048,7 @@ static int best_match(negotiation_state *neg, var_rec **pbest)
static void set_neg_headers(request_rec *r, negotiation_state *neg,
int alg_result)
{
ap_table_t *hdrs;
apr_table_t *hdrs;
var_rec *avail_recs = (var_rec *) neg->avail_vars->elts;
const char *sample_type = NULL;
const char *sample_language = NULL;
@@ -2058,7 +2058,7 @@ static void set_neg_headers(request_rec *r, negotiation_state *neg,
char *qstr;
char *lenstr;
long len;
ap_array_header_t *arr;
apr_array_header_t *arr;
int max_vlist_array = (neg->avail_vars->nelts * 21);
int first_variant = 1;
int vary_by_type = 0;
@@ -2068,13 +2068,13 @@ static void set_neg_headers(request_rec *r, negotiation_state *neg,
int j;
/* In order to avoid O(n^2) memory copies in building Alternates,
* we preallocate a ap_table_t with the maximum substrings possible,
* we preallocate a apr_table_t with the maximum substrings possible,
* fill it with the variant list, and then concatenate the entire array.
* Note that if you change the number of substrings pushed, you also
* need to change the calculation of max_vlist_array above.
*/
if (neg->send_alternates && neg->avail_vars->nelts)
arr = ap_make_array(r->pool, max_vlist_array, sizeof(char *));
arr = apr_make_array(r->pool, max_vlist_array, sizeof(char *));
else
arr = NULL;
@@ -2087,7 +2087,7 @@ static void set_neg_headers(request_rec *r, negotiation_state *neg,
var_rec *variant = &avail_recs[j];
if (variant->content_languages && variant->content_languages->nelts) {
lang = ap_array_pstrcat(r->pool, variant->content_languages, ',');
lang = apr_array_pstrcat(r->pool, variant->content_languages, ',');
}
else {
lang = NULL;
@@ -2132,12 +2132,12 @@ static void set_neg_headers(request_rec *r, negotiation_state *neg,
/* Generate the string components for this Alternates entry */
*((const char **) ap_push_array(arr)) = "{\"";
*((const char **) ap_push_array(arr)) = variant->file_name;
*((const char **) ap_push_array(arr)) = "\" ";
*((const char **) apr_push_array(arr)) = "{\"";
*((const char **) apr_push_array(arr)) = variant->file_name;
*((const char **) apr_push_array(arr)) = "\" ";
qstr = (char *) ap_palloc(r->pool, 6);
ap_snprintf(qstr, 6, "%1.3f", variant->source_quality);
qstr = (char *) apr_palloc(r->pool, 6);
apr_snprintf(qstr, 6, "%1.3f", variant->source_quality);
/* Strip trailing zeros (saves those valuable network bytes) */
if (qstr[4] == '0') {
@@ -2149,29 +2149,29 @@ static void set_neg_headers(request_rec *r, negotiation_state *neg,
}
}
}
*((const char **) ap_push_array(arr)) = qstr;
*((const char **) apr_push_array(arr)) = qstr;
if (variant->mime_type && *variant->mime_type) {
*((const char **) ap_push_array(arr)) = " {type ";
*((const char **) ap_push_array(arr)) = variant->mime_type;
*((const char **) ap_push_array(arr)) = "}";
*((const char **) apr_push_array(arr)) = " {type ";
*((const char **) apr_push_array(arr)) = variant->mime_type;
*((const char **) apr_push_array(arr)) = "}";
}
if (variant->content_charset && *variant->content_charset) {
*((const char **) ap_push_array(arr)) = " {charset ";
*((const char **) ap_push_array(arr)) = variant->content_charset;
*((const char **) ap_push_array(arr)) = "}";
*((const char **) apr_push_array(arr)) = " {charset ";
*((const char **) apr_push_array(arr)) = variant->content_charset;
*((const char **) apr_push_array(arr)) = "}";
}
if (lang) {
*((const char **) ap_push_array(arr)) = " {language ";
*((const char **) ap_push_array(arr)) = lang;
*((const char **) ap_push_array(arr)) = "}";
*((const char **) apr_push_array(arr)) = " {language ";
*((const char **) apr_push_array(arr)) = lang;
*((const char **) apr_push_array(arr)) = "}";
}
if (variant->content_encoding && *variant->content_encoding) {
/* Strictly speaking, this is non-standard, but so is TCN */
*((const char **) ap_push_array(arr)) = " {encoding ";
*((const char **) ap_push_array(arr)) = variant->content_encoding;
*((const char **) ap_push_array(arr)) = "}";
*((const char **) apr_push_array(arr)) = " {encoding ";
*((const char **) apr_push_array(arr)) = variant->content_encoding;
*((const char **) apr_push_array(arr)) = "}";
}
/* Note that the Alternates specification (in rfc2295) does
@@ -2192,27 +2192,27 @@ static void set_neg_headers(request_rec *r, negotiation_state *neg,
if (!(variant->sub_req && variant->sub_req->handler)
&& (len = find_content_length(neg, variant)) != 0) {
lenstr = (char *) ap_palloc(r->pool, 22);
ap_snprintf(lenstr, 22, "%ld", len);
*((const char **) ap_push_array(arr)) = " {length ";
*((const char **) ap_push_array(arr)) = lenstr;
*((const char **) ap_push_array(arr)) = "}";
lenstr = (char *) apr_palloc(r->pool, 22);
apr_snprintf(lenstr, 22, "%ld", len);
*((const char **) apr_push_array(arr)) = " {length ";
*((const char **) apr_push_array(arr)) = lenstr;
*((const char **) apr_push_array(arr)) = "}";
}
*((const char **) ap_push_array(arr)) = "}";
*((const char **) ap_push_array(arr)) = ", "; /* trimmed below */
*((const char **) apr_push_array(arr)) = "}";
*((const char **) apr_push_array(arr)) = ", "; /* trimmed below */
}
if (neg->send_alternates && neg->avail_vars->nelts) {
arr->nelts--; /* remove last comma */
ap_table_mergen(hdrs, "Alternates",
ap_array_pstrcat(r->pool, arr, '\0'));
apr_table_mergen(hdrs, "Alternates",
apr_array_pstrcat(r->pool, arr, '\0'));
}
if (neg->is_transparent || vary_by_type || vary_by_language ||
vary_by_language || vary_by_charset || vary_by_encoding) {
ap_table_mergen(hdrs, "Vary", 2 + ap_pstrcat(r->pool,
apr_table_mergen(hdrs, "Vary", 2 + apr_pstrcat(r->pool,
neg->is_transparent ? ", negotiate" : "",
vary_by_type ? ", accept" : "",
vary_by_language ? ", accept-language" : "",
@@ -2221,7 +2221,7 @@ static void set_neg_headers(request_rec *r, negotiation_state *neg,
}
if (neg->is_transparent) { /* Create TCN response header */
ap_table_setn(hdrs, "TCN",
apr_table_setn(hdrs, "TCN",
alg_result == alg_list ? "list" : "choice");
}
}
@@ -2234,22 +2234,22 @@ static void set_neg_headers(request_rec *r, negotiation_state *neg,
static char *make_variant_list(request_rec *r, negotiation_state *neg)
{
ap_array_header_t *arr;
apr_array_header_t *arr;
int i;
int max_vlist_array = (neg->avail_vars->nelts * 15) + 2;
/* In order to avoid O(n^2) memory copies in building the list,
* we preallocate a ap_table_t with the maximum substrings possible,
* we preallocate a apr_table_t with the maximum substrings possible,
* fill it with the variant list, and then concatenate the entire array.
*/
arr = ap_make_array(r->pool, max_vlist_array, sizeof(char *));
arr = apr_make_array(r->pool, max_vlist_array, sizeof(char *));
*((const char **) ap_push_array(arr)) = "Available variants:\n<ul>\n";
*((const char **) apr_push_array(arr)) = "Available variants:\n<ul>\n";
for (i = 0; i < neg->avail_vars->nelts; ++i) {
var_rec *variant = &((var_rec *) neg->avail_vars->elts)[i];
char *filename = variant->file_name ? variant->file_name : "";
ap_array_header_t *languages = variant->content_languages;
apr_array_header_t *languages = variant->content_languages;
char *description = variant->description ? variant->description : "";
/* The format isn't very neat, and it would be nice to make
@@ -2257,44 +2257,44 @@ static char *make_variant_list(request_rec *r, negotiation_state *neg)
* Note that if you change the number of substrings pushed, you also
* need to change the calculation of max_vlist_array above.
*/
*((const char **) ap_push_array(arr)) = "<li><a href=\"";
*((const char **) ap_push_array(arr)) = filename;
*((const char **) ap_push_array(arr)) = "\">";
*((const char **) ap_push_array(arr)) = filename;
*((const char **) ap_push_array(arr)) = "</a> ";
*((const char **) ap_push_array(arr)) = description;
*((const char **) apr_push_array(arr)) = "<li><a href=\"";
*((const char **) apr_push_array(arr)) = filename;
*((const char **) apr_push_array(arr)) = "\">";
*((const char **) apr_push_array(arr)) = filename;
*((const char **) apr_push_array(arr)) = "</a> ";
*((const char **) apr_push_array(arr)) = description;
if (variant->mime_type && *variant->mime_type) {
*((const char **) ap_push_array(arr)) = ", type ";
*((const char **) ap_push_array(arr)) = variant->mime_type;
*((const char **) apr_push_array(arr)) = ", type ";
*((const char **) apr_push_array(arr)) = variant->mime_type;
}
if (languages && languages->nelts) {
*((const char **) ap_push_array(arr)) = ", language ";
*((const char **) ap_push_array(arr)) = ap_array_pstrcat(r->pool,
*((const char **) apr_push_array(arr)) = ", language ";
*((const char **) apr_push_array(arr)) = apr_array_pstrcat(r->pool,
languages, ',');
}
if (variant->content_charset && *variant->content_charset) {
*((const char **) ap_push_array(arr)) = ", charset ";
*((const char **) ap_push_array(arr)) = variant->content_charset;
*((const char **) apr_push_array(arr)) = ", charset ";
*((const char **) apr_push_array(arr)) = variant->content_charset;
}
if (variant->content_encoding) {
*((const char **) ap_push_array(arr)) = ", encoding ";
*((const char **) ap_push_array(arr)) = variant->content_encoding;
*((const char **) apr_push_array(arr)) = ", encoding ";
*((const char **) apr_push_array(arr)) = variant->content_encoding;
}
*((const char **) ap_push_array(arr)) = "\n";
*((const char **) apr_push_array(arr)) = "\n";
}
*((const char **) ap_push_array(arr)) = "</ul>\n";
*((const char **) apr_push_array(arr)) = "</ul>\n";
return ap_array_pstrcat(r->pool, arr, '\0');
return apr_array_pstrcat(r->pool, arr, '\0');
}
static void store_variant_list(request_rec *r, negotiation_state *neg)
{
if (r->main == NULL) {
ap_table_setn(r->notes, "variant-list", make_variant_list(r, neg));
apr_table_setn(r->notes, "variant-list", make_variant_list(r, neg));
}
else {
ap_table_setn(r->main->notes, "variant-list",
apr_table_setn(r->main->notes, "variant-list",
make_variant_list(r->main, neg));
}
}
@@ -2318,7 +2318,7 @@ static int setup_choice_response(request_rec *r, negotiation_state *neg,
status = sub_req->status;
if (status != HTTP_OK &&
!ap_table_get(sub_req->err_headers_out, "TCN")) {
!apr_table_get(sub_req->err_headers_out, "TCN")) {
ap_destroy_sub_req(sub_req);
return status;
}
@@ -2351,7 +2351,7 @@ static int setup_choice_response(request_rec *r, negotiation_state *neg,
* for this type of recursive negotiation too.
*/
if (neg->is_transparent &&
ap_table_get(sub_req->err_headers_out, "TCN")) {
apr_table_get(sub_req->err_headers_out, "TCN")) {
return HTTP_VARIANT_ALSO_VARIES;
}
@@ -2394,19 +2394,19 @@ static int setup_choice_response(request_rec *r, negotiation_state *neg,
* problems if a CGI returns an Etag header which also need to be
* fixed.
*/
if ((sub_vary = ap_table_get(sub_req->err_headers_out, "Vary")) != NULL) {
ap_table_setn(r->err_headers_out, "Variant-Vary", sub_vary);
if ((sub_vary = apr_table_get(sub_req->err_headers_out, "Vary")) != NULL) {
apr_table_setn(r->err_headers_out, "Variant-Vary", sub_vary);
/* Move the subreq Vary header into the main request to
* prevent having two Vary headers in the response, which
* would be legal but strange.
*/
ap_table_setn(r->err_headers_out, "Vary", sub_vary);
ap_table_unset(sub_req->err_headers_out, "Vary");
apr_table_setn(r->err_headers_out, "Vary", sub_vary);
apr_table_unset(sub_req->err_headers_out, "Vary");
}
ap_table_setn(r->err_headers_out, "Content-Location",
ap_pstrdup(r->pool, variant->file_name));
apr_table_setn(r->err_headers_out, "Content-Location",
apr_pstrdup(r->pool, variant->file_name));
set_neg_headers(r, neg, alg_choice); /* add Alternates and Vary */
@@ -2579,7 +2579,7 @@ static int handle_map_file(request_rec *r)
}
udir = ap_make_dirstr_parent(r->pool, r->uri);
udir = ap_escape_uri(r->pool, udir);
ap_internal_redirect(ap_pstrcat(r->pool, udir, best->file_name,
ap_internal_redirect(apr_pstrcat(r->pool, udir, best->file_name,
r->path_info, NULL), r);
return OK;
}
@@ -2659,12 +2659,12 @@ static int handle_multi(request_rec *r)
r->finfo = sub_req->finfo;
r->per_dir_config = sub_req->per_dir_config;
/* copy output headers from subrequest, but leave negotiation headers */
r->notes = ap_overlay_tables(r->pool, sub_req->notes, r->notes);
r->headers_out = ap_overlay_tables(r->pool, sub_req->headers_out,
r->notes = apr_overlay_tables(r->pool, sub_req->notes, r->notes);
r->headers_out = apr_overlay_tables(r->pool, sub_req->headers_out,
r->headers_out);
r->err_headers_out = ap_overlay_tables(r->pool, sub_req->err_headers_out,
r->err_headers_out = apr_overlay_tables(r->pool, sub_req->err_headers_out,
r->err_headers_out);
r->subprocess_env = ap_overlay_tables(r->pool, sub_req->subprocess_env,
r->subprocess_env = apr_overlay_tables(r->pool, sub_req->subprocess_env,
r->subprocess_env);
avail_recs = (var_rec *) neg->avail_vars->elts;
for (j = 0; j < neg->avail_vars->nelts; ++j) {
@@ -2695,7 +2695,7 @@ static int fix_encoding(request_rec *r)
{
const char *enc = r->content_encoding;
char *x_enc = NULL;
ap_array_header_t *accept_encodings;
apr_array_header_t *accept_encodings;
accept_rec *accept_recs;
int i;
@@ -2708,7 +2708,7 @@ static int fix_encoding(request_rec *r)
}
if ((accept_encodings = do_header_line(r->pool,
ap_table_get(r->headers_in, "Accept-Encoding"))) == NULL) {
apr_table_get(r->headers_in, "Accept-Encoding"))) == NULL) {
return DECLINED;
}
@@ -2755,7 +2755,7 @@ module MODULE_VAR_EXPORT negotiation_module =
merge_neg_dir_configs, /* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server config */
negotiation_cmds, /* command ap_table_t */
negotiation_cmds, /* command apr_table_t */
negotiation_handlers, /* handlers */
register_hooks /* register hooks */
};

File diff suppressed because it is too large Load Diff

View File

@@ -127,7 +127,7 @@
#include "http_vhost.h"
/*
* The key in the r->notes ap_table_t wherein we store our accumulated
* The key in the r->notes apr_table_t wherein we store our accumulated
* Vary values, and the one used for per-condition checks in a chain.
*/
#define VARY_KEY "rewrite-Vary"
@@ -243,9 +243,9 @@ typedef struct {
char *datafile; /* filename for map data files */
char *checkfile; /* filename to check for map existence */
int type; /* the type of the map */
ap_file_t *fpin; /* in file pointer for program maps */
ap_file_t *fpout; /* out file pointer for program maps */
ap_file_t *fperr; /* err file pointer for program maps */
apr_file_t *fpin; /* in file pointer for program maps */
apr_file_t *fpout; /* out file pointer for program maps */
apr_file_t *fperr; /* err file pointer for program maps */
char *(*func)(request_rec *, /* function pointer for internal maps */
char *);
} rewritemap_entry;
@@ -258,7 +258,7 @@ typedef struct {
} rewritecond_entry;
typedef struct {
ap_array_header_t *rewriteconds; /* the corresponding RewriteCond entries */
apr_array_header_t *rewriteconds; /* the corresponding RewriteCond entries */
char *pattern; /* the RegExp pattern string */
regex_t *regexp; /* the RegExp pattern compilation */
char *output; /* the Substitution string */
@@ -277,11 +277,11 @@ typedef struct {
int state; /* the RewriteEngine state */
int options; /* the RewriteOption state */
char *rewritelogfile; /* the RewriteLog filename */
ap_file_t *rewritelogfp; /* the RewriteLog open filepointer */
apr_file_t *rewritelogfp; /* the RewriteLog open filepointer */
int rewriteloglevel; /* the RewriteLog level of verbosity */
ap_array_header_t *rewritemaps; /* the RewriteMap entries */
ap_array_header_t *rewriteconds; /* the RewriteCond entries (temporary) */
ap_array_header_t *rewriterules; /* the RewriteRule entries */
apr_array_header_t *rewritemaps; /* the RewriteMap entries */
apr_array_header_t *rewriteconds; /* the RewriteCond entries (temporary) */
apr_array_header_t *rewriterules; /* the RewriteRule entries */
server_rec *server; /* the corresponding server indicator */
} rewrite_server_conf;
@@ -292,15 +292,15 @@ typedef struct {
typedef struct {
int state; /* the RewriteEngine state */
int options; /* the RewriteOption state */
ap_array_header_t *rewriteconds; /* the RewriteCond entries (temporary) */
ap_array_header_t *rewriterules; /* the RewriteRule entries */
apr_array_header_t *rewriteconds; /* the RewriteCond entries (temporary) */
apr_array_header_t *rewriterules; /* the RewriteRule entries */
char *directory; /* the directory where it applies */
char *baseurl; /* the base-URL where it applies */
} rewrite_perdir_conf;
/* the cache structures,
* a 4-way hash ap_table_t with LRU functionality
* a 4-way hash apr_table_t with LRU functionality
*/
typedef struct cacheentry {
time_t time;
@@ -314,13 +314,13 @@ typedef struct tlbentry {
typedef struct cachelist {
char *resource;
ap_array_header_t *entries;
ap_array_header_t *tlb;
apr_array_header_t *entries;
apr_array_header_t *tlb;
} cachelist;
typedef struct cache {
ap_pool_t *pool;
ap_array_header_t *lists;
apr_pool_t *pool;
apr_array_header_t *lists;
} cache;
@@ -341,10 +341,10 @@ typedef struct backrefinfo {
*/
/* config structure handling */
static void *config_server_create(ap_pool_t *p, server_rec *s);
static void *config_server_merge (ap_pool_t *p, void *basev, void *overridesv);
static void *config_perdir_create(ap_pool_t *p, char *path);
static void *config_perdir_merge (ap_pool_t *p, void *basev, void *overridesv);
static void *config_server_create(apr_pool_t *p, server_rec *s);
static void *config_server_merge (apr_pool_t *p, void *basev, void *overridesv);
static void *config_perdir_create(apr_pool_t *p, char *path);
static void *config_perdir_merge (apr_pool_t *p, void *basev, void *overridesv);
/* config directive handling */
static const char *cmd_rewriteengine(cmd_parms *cmd,
@@ -352,7 +352,7 @@ static const char *cmd_rewriteengine(cmd_parms *cmd,
static const char *cmd_rewriteoptions(cmd_parms *cmd,
rewrite_perdir_conf *dconf,
char *option);
static const char *cmd_rewriteoptions_setoption(ap_pool_t *p, int *options,
static const char *cmd_rewriteoptions_setoption(apr_pool_t *p, int *options,
char *name);
static const char *cmd_rewritelog (cmd_parms *cmd, void *dconf, char *a1);
static const char *cmd_rewriteloglevel(cmd_parms *cmd, void *dconf, char *a1);
@@ -363,25 +363,25 @@ static const char *cmd_rewritebase(cmd_parms *cmd, rewrite_perdir_conf *dconf,
char *a1);
static const char *cmd_rewritecond(cmd_parms *cmd, rewrite_perdir_conf *dconf,
char *str);
static const char *cmd_rewritecond_parseflagfield(ap_pool_t *p,
static const char *cmd_rewritecond_parseflagfield(apr_pool_t *p,
rewritecond_entry *new,
char *str);
static const char *cmd_rewritecond_setflag(ap_pool_t *p, rewritecond_entry *cfg,
static const char *cmd_rewritecond_setflag(apr_pool_t *p, rewritecond_entry *cfg,
char *key, char *val);
static const char *cmd_rewriterule(cmd_parms *cmd, rewrite_perdir_conf *dconf,
char *str);
static const char *cmd_rewriterule_parseflagfield(ap_pool_t *p,
static const char *cmd_rewriterule_parseflagfield(apr_pool_t *p,
rewriterule_entry *new,
char *str);
static const char *cmd_rewriterule_setflag(ap_pool_t *p, rewriterule_entry *cfg,
static const char *cmd_rewriterule_setflag(apr_pool_t *p, rewriterule_entry *cfg,
char *key, char *val);
/* initialisation */
static void init_module(ap_pool_t *p,
ap_pool_t *plog,
ap_pool_t *ptemp,
static void init_module(apr_pool_t *p,
apr_pool_t *plog,
apr_pool_t *ptemp,
server_rec *s);
static void init_child(ap_pool_t *p, server_rec *s);
static void init_child(apr_pool_t *p, server_rec *s);
/* runtime hooks */
static int hook_uri2file (request_rec *r);
@@ -390,7 +390,7 @@ static int hook_fixup (request_rec *r);
static int handler_redirect(request_rec *r);
/* rewriting engine */
static int apply_rewrite_list(request_rec *r, ap_array_header_t *rewriterules,
static int apply_rewrite_list(request_rec *r, apr_array_header_t *rewriterules,
char *perdir);
static int apply_rewrite_rule(request_rec *r, rewriterule_entry *p,
char *perdir);
@@ -402,7 +402,7 @@ static int apply_rewrite_cond(request_rec *r, rewritecond_entry *p,
static void splitout_queryargs(request_rec *r, int qsappend);
static void fully_qualify_uri(request_rec *r);
static void reduce_uri(request_rec *r);
static void expand_backref_inbuffer(ap_pool_t *p, char *buf, int nbuf,
static void expand_backref_inbuffer(apr_pool_t *p, char *buf, int nbuf,
backrefinfo *bri, char c);
static char *expand_tildepaths(request_rec *r, char *uri);
static void expand_map_lookups(request_rec *r, char *uri, int uri_len);
@@ -413,8 +413,8 @@ static char *lookup_map_txtfile(request_rec *r, char *file, char *key);
#ifndef NO_DBM_REWRITEMAP
static char *lookup_map_dbmfile(request_rec *r, char *file, char *key);
#endif
static char *lookup_map_program(request_rec *r, ap_file_t *fpin,
ap_file_t *fpout, char *key);
static char *lookup_map_program(request_rec *r, apr_file_t *fpin,
apr_file_t *fpout, char *key);
static char *lookup_map_internal(request_rec *r,
char *(*func)(request_rec *r, char *key),
char *key);
@@ -427,20 +427,20 @@ static void rewrite_rand_init(void);
static int rewrite_rand(int l, int h);
/* rewriting logfile support */
static void open_rewritelog(server_rec *s, ap_pool_t *p);
static void open_rewritelog(server_rec *s, apr_pool_t *p);
static void rewritelog(request_rec *r, int level, const char *text, ...)
__attribute__((format(printf,3,4)));
static char *current_logtime(request_rec *r);
/* rewriting lockfile support */
static void rewritelock_create(server_rec *s, ap_pool_t *p);
static ap_status_t rewritelock_remove(void *data);
static void rewritelock_create(server_rec *s, apr_pool_t *p);
static apr_status_t rewritelock_remove(void *data);
/* program map support */
static void run_rewritemap_programs(server_rec *s, ap_pool_t *p);
static int rewritemap_program_child(ap_pool_t *p, char *progname,
ap_file_t **fpout, ap_file_t **fpin,
ap_file_t **fperr);
static void run_rewritemap_programs(server_rec *s, apr_pool_t *p);
static int rewritemap_program_child(apr_pool_t *p, char *progname,
apr_file_t **fpout, apr_file_t **fpin,
apr_file_t **fperr);
/* env variable support */
static void expand_variables_inbuffer(request_rec *r, char *buf, int buf_len);
@@ -449,7 +449,7 @@ static char *lookup_variable(request_rec *r, char *var);
static char *lookup_header(request_rec *r, const char *name);
/* caching functions */
static cache *init_cache(ap_pool_t *p);
static cache *init_cache(apr_pool_t *p);
static char *get_cache_string(cache *c, char *res, int mode, time_t mtime,
char *key);
static void set_cache_string(cache *c, char *res, int mode, time_t mtime,
@@ -461,7 +461,7 @@ static void store_cache_string(cache *c, char *res, cacheentry *ce);
static char *subst_prefix_path(request_rec *r, char *input, char *match,
char *subst);
static int parseargline(char *str, char **a1, char **a2, char **a3);
static int prefix_stat(const char *path, ap_finfo_t *sb);
static int prefix_stat(const char *path, apr_finfo_t *sb);
static void add_env_variable(request_rec *r, char *s);
/* Lexicographic Comparison */

View File

@@ -149,15 +149,15 @@ typedef struct moduleinfo {
} moduleinfo;
typedef struct so_server_conf {
ap_array_header_t *loaded_modules;
apr_array_header_t *loaded_modules;
} so_server_conf;
static void *so_sconf_create(ap_pool_t *p, server_rec *s)
static void *so_sconf_create(apr_pool_t *p, server_rec *s)
{
so_server_conf *soc;
soc = (so_server_conf *)ap_pcalloc(p, sizeof(so_server_conf));
soc->loaded_modules = ap_make_array(p, DYNAMIC_MODULE_LIMIT,
soc = (so_server_conf *)apr_pcalloc(p, sizeof(so_server_conf));
soc->loaded_modules = apr_make_array(p, DYNAMIC_MODULE_LIMIT,
sizeof(moduleinfo));
return (void *)soc;
@@ -170,9 +170,9 @@ static void *so_sconf_create(ap_pool_t *p, server_rec *s)
* This is called as a cleanup function from the core.
*/
static ap_status_t unload_module(void *data)
static apr_status_t unload_module(void *data)
{
ap_status_t status;
apr_status_t status;
moduleinfo *modi = (moduleinfo*)data;
/* only unload if module information is still existing */
@@ -183,7 +183,7 @@ static ap_status_t unload_module(void *data)
ap_remove_loaded_module(modi->modp);
/* unload the module space itself */
if ((status = ap_dso_unload(modi->modp->dynamic_load_handle)) != APR_SUCCESS) {
if ((status = apr_dso_unload(modi->modp->dynamic_load_handle)) != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_WARNING|APLOG_NOERRNO, 0, NULL,
"dso unload failure");
return status;
@@ -202,11 +202,11 @@ static ap_status_t unload_module(void *data)
* or include the filename in error message.
*/
static ap_status_t unload_file(void *handle)
static apr_status_t unload_file(void *handle)
{
ap_status_t status;
apr_status_t status;
if ((status = ap_dso_unload((ap_dso_handle_t *)handle)) != APR_SUCCESS)
if ((status = apr_dso_unload((apr_dso_handle_t *)handle)) != APR_SUCCESS)
return status;
return APR_SUCCESS;
}
@@ -219,9 +219,9 @@ static ap_status_t unload_file(void *handle)
static const char *load_module(cmd_parms *cmd, void *dummy,
const char *modname, const char *filename)
{
ap_status_t status;
ap_dso_handle_t *modhandle;
ap_dso_handle_sym_t modsym;
apr_status_t status;
apr_dso_handle_t *modhandle;
apr_dso_handle_sym_t modsym;
module *modp;
const char *szModuleFile=ap_server_root_relative(cmd->pool, filename);
so_server_conf *sconf;
@@ -247,18 +247,18 @@ static const char *load_module(cmd_parms *cmd, void *dummy,
if (modi->name != NULL && strcmp(modi->name, modname) == 0)
return NULL;
}
modi = ap_push_array(sconf->loaded_modules);
modi = apr_push_array(sconf->loaded_modules);
modi->name = modname;
/*
* Load the file into the Apache address space
*/
if ((status = ap_dso_load(&modhandle, szModuleFile, cmd->pool )) != APR_SUCCESS) {
if ((status = apr_dso_load(&modhandle, szModuleFile, cmd->pool )) != APR_SUCCESS) {
char my_error[256];
return ap_pstrcat(cmd->pool, "Cannot load ", szModuleFile,
return apr_pstrcat(cmd->pool, "Cannot load ", szModuleFile,
" into server: ",
ap_dso_error(modhandle, my_error, sizeof(my_error)),
apr_dso_error(modhandle, my_error, sizeof(my_error)),
NULL);
}
ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL,
@@ -269,16 +269,16 @@ static const char *load_module(cmd_parms *cmd, void *dummy,
* First with the hidden variant (prefix `AP_') and then with the plain
* symbol name.
*/
if ((status = ap_dso_sym(&modsym, modhandle, modname)) != APR_SUCCESS) {
if ((status = apr_dso_sym(&modsym, modhandle, modname)) != APR_SUCCESS) {
char my_error[256];
return ap_pstrcat(cmd->pool, "Can't locate API module structure `",
return apr_pstrcat(cmd->pool, "Can't locate API module structure `",
modname, "' in file ", szModuleFile, ": ",
ap_dso_error(modhandle, my_error, sizeof(my_error)),
apr_dso_error(modhandle, my_error, sizeof(my_error)),
NULL);
}
modp = (module*) modsym;
modp->dynamic_load_handle = (ap_dso_handle_t *)modhandle;
modp->dynamic_load_handle = (apr_dso_handle_t *)modhandle;
modi->modp = modp;
/*
@@ -286,7 +286,7 @@ static const char *load_module(cmd_parms *cmd, void *dummy,
*
*/
if (modp->magic != MODULE_MAGIC_COOKIE) {
return ap_pstrcat(cmd->pool, "API module structure `", modname,
return apr_pstrcat(cmd->pool, "API module structure `", modname,
"' in file ", szModuleFile, " is garbled -"
" perhaps this is not an Apache module DSO?", NULL);
}
@@ -297,11 +297,11 @@ static const char *load_module(cmd_parms *cmd, void *dummy,
ap_add_loaded_module(modp);
/*
* Register a cleanup in the config ap_pool_t (normally pconf). When
* Register a cleanup in the config apr_pool_t (normally pconf). When
* we do a restart (or shutdown) this cleanup will cause the
* shared object to be unloaded.
*/
ap_register_cleanup(cmd->pool, modi, unload_module, ap_null_cleanup);
apr_register_cleanup(cmd->pool, modi, unload_module, apr_null_cleanup);
/*
* Finally we need to run the configuration process for the module
@@ -318,25 +318,25 @@ static const char *load_module(cmd_parms *cmd, void *dummy,
static const char *load_file(cmd_parms *cmd, void *dummy, const char *filename)
{
ap_status_t status;
ap_dso_handle_t *handle;
apr_status_t status;
apr_dso_handle_t *handle;
const char *file;
file = ap_server_root_relative(cmd->pool, filename);
if ((status = ap_dso_load(&handle, file, cmd->pool)) != APR_SUCCESS) {
if ((status = apr_dso_load(&handle, file, cmd->pool)) != APR_SUCCESS) {
char my_error[256];
return ap_pstrcat(cmd->pool, "Cannot load ", filename,
return apr_pstrcat(cmd->pool, "Cannot load ", filename,
" into server: ",
ap_strerror(status, my_error, sizeof(my_error)),
apr_strerror(status, my_error, sizeof(my_error)),
NULL);
}
ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL,
"loaded file %s", filename);
ap_register_cleanup(cmd->pool, (void *)handle, unload_file, ap_null_cleanup);
apr_register_cleanup(cmd->pool, (void *)handle, unload_file, apr_null_cleanup);
return NULL;
}
@@ -374,7 +374,7 @@ module MODULE_VAR_EXPORT so_module = {
NULL, /* merge per-dir config */
so_sconf_create, /* server config */
NULL, /* merge server config */
so_cmds, /* command ap_table_t */
so_cmds, /* command apr_table_t */
NULL, /* handlers */
NULL /* register hooks */
};

View File

@@ -103,9 +103,9 @@ typedef struct {
* bother to have such a function.
*/
static void *mkconfig(ap_pool_t *p)
static void *mkconfig(apr_pool_t *p)
{
spconfig *cfg = ap_pcalloc(p, sizeof(spconfig));
spconfig *cfg = apr_pcalloc(p, sizeof(spconfig));
cfg->enabled = 0;
return cfg;
@@ -115,7 +115,7 @@ static void *mkconfig(ap_pool_t *p)
* Respond to a callback to create configuration record for a server or
* vhost environment.
*/
static void *create_mconfig_for_server(ap_pool_t *p, server_rec *s)
static void *create_mconfig_for_server(apr_pool_t *p, server_rec *s)
{
return mkconfig(p);
}
@@ -123,7 +123,7 @@ static void *create_mconfig_for_server(ap_pool_t *p, server_rec *s)
/*
* Respond to a callback to create a config record for a specific directory.
*/
static void *create_mconfig_for_directory(ap_pool_t *p, char *dir)
static void *create_mconfig_for_directory(apr_pool_t *p, char *dir)
{
return mkconfig(p);
}
@@ -234,8 +234,8 @@ static int check_speling(request_rec *r)
spconfig *cfg;
char *good, *bad, *postgood, *url, *fname;
int filoc, dotloc, urlen, pglen;
ap_array_header_t *candidates = NULL;
ap_dir_t *dir;
apr_array_header_t *candidates = NULL;
apr_dir_t *dir;
cfg = ap_get_module_config(r->per_dir_config, &speling_module);
if (!cfg->enabled) {
@@ -275,11 +275,11 @@ static int check_speling(request_rec *r)
}
/* good = /correct-file */
good = ap_pstrndup(r->pool, r->filename, filoc);
good = apr_pstrndup(r->pool, r->filename, filoc);
/* bad = mispelling */
bad = ap_pstrdup(r->pool, r->filename + filoc + 1);
bad = apr_pstrdup(r->pool, r->filename + filoc + 1);
/* postgood = mispelling/more */
postgood = ap_pstrcat(r->pool, bad, r->path_info, NULL);
postgood = apr_pstrcat(r->pool, bad, r->path_info, NULL);
urlen = strlen(r->uri);
pglen = strlen(postgood);
@@ -290,27 +290,27 @@ static int check_speling(request_rec *r)
}
/* url = /correct-url */
url = ap_pstrndup(r->pool, r->uri, (urlen - pglen));
url = apr_pstrndup(r->pool, r->uri, (urlen - pglen));
/* Now open the directory and do ourselves a check... */
if (ap_opendir(&dir, good, r->pool) != APR_SUCCESS) {
if (apr_opendir(&dir, good, r->pool) != APR_SUCCESS) {
/* Oops, not a directory... */
return DECLINED;
}
candidates = ap_make_array(r->pool, 2, sizeof(misspelled_file));
candidates = apr_make_array(r->pool, 2, sizeof(misspelled_file));
dotloc = ap_ind(bad, '.');
if (dotloc == -1) {
dotloc = strlen(bad);
}
/* NOTE: ap_get_dir_filename() fills fname with a ap_palloc()ed copy
/* NOTE: apr_get_dir_filename() fills fname with a apr_palloc()ed copy
* of the found directory name already. We don't need to copy it.
* @@@: Copying *ALL* found file names is wasted energy (and memory)!
*/
while (ap_readdir(dir) == APR_SUCCESS &&
ap_get_dir_filename(&fname, dir) == APR_SUCCESS) {
while (apr_readdir(dir) == APR_SUCCESS &&
apr_get_dir_filename(&fname, dir) == APR_SUCCESS) {
sp_reason q;
/*
@@ -319,7 +319,7 @@ static int check_speling(request_rec *r)
* Do _not_ try to redirect this, it causes a loop!
*/
if (strcmp(bad, fname) == 0) {
ap_closedir(dir);
apr_closedir(dir);
return OK;
}
@@ -330,7 +330,7 @@ static int check_speling(request_rec *r)
else if (strcasecmp(bad, fname) == 0) {
misspelled_file *sp_new;
sp_new = (misspelled_file *) ap_push_array(candidates);
sp_new = (misspelled_file *) apr_push_array(candidates);
sp_new->name = fname;
sp_new->quality = SP_MISCAPITALIZED;
}
@@ -342,7 +342,7 @@ static int check_speling(request_rec *r)
else if ((q = spdist(bad, fname)) != SP_VERYDIFFERENT) {
misspelled_file *sp_new;
sp_new = (misspelled_file *) ap_push_array(candidates);
sp_new = (misspelled_file *) apr_push_array(candidates);
sp_new->name = fname;
sp_new->quality = q;
}
@@ -388,14 +388,14 @@ static int check_speling(request_rec *r)
&& !strncasecmp(bad, fname, dotloc)) {
misspelled_file *sp_new;
sp_new = (misspelled_file *) ap_push_array(candidates);
sp_new = (misspelled_file *) apr_push_array(candidates);
sp_new->name = fname;
sp_new->quality = SP_VERYDIFFERENT;
}
#endif
}
}
ap_closedir(dir);
apr_closedir(dir);
if (candidates->nelts != 0) {
/* Wow... we found us a mispelling. Construct a fixed url */
@@ -404,7 +404,7 @@ static int check_speling(request_rec *r)
misspelled_file *variant = (misspelled_file *) candidates->elts;
int i;
ref = ap_table_get(r->headers_in, "Referer");
ref = apr_table_get(r->headers_in, "Referer");
qsort((void *) candidates->elts, candidates->nelts,
sizeof(misspelled_file), sort_by_quality);
@@ -420,13 +420,13 @@ static int check_speling(request_rec *r)
&& (candidates->nelts == 1
|| variant[0].quality != variant[1].quality)) {
nuri = ap_escape_uri(r->pool, ap_pstrcat(r->pool, url,
nuri = ap_escape_uri(r->pool, apr_pstrcat(r->pool, url,
variant[0].name,
r->path_info, NULL));
if (r->parsed_uri.query)
nuri = ap_pstrcat(r->pool, nuri, "?", r->parsed_uri.query, NULL);
nuri = apr_pstrcat(r->pool, nuri, "?", r->parsed_uri.query, NULL);
ap_table_setn(r->headers_out, "Location",
apr_table_setn(r->headers_out, "Location",
ap_construct_url(r->pool, nuri, r));
ap_log_rerror(APLOG_MARK, APLOG_NOERRNO | APLOG_INFO, APR_SUCCESS,
@@ -442,11 +442,11 @@ static int check_speling(request_rec *r)
* returned.
*/
else {
ap_pool_t *p;
ap_table_t *notes;
ap_pool_t *sub_pool;
ap_array_header_t *t;
ap_array_header_t *v;
apr_pool_t *p;
apr_table_t *notes;
apr_pool_t *sub_pool;
apr_array_header_t *t;
apr_array_header_t *v;
if (r->main == NULL) {
@@ -458,20 +458,20 @@ static int check_speling(request_rec *r)
notes = r->main->notes;
}
if (ap_create_pool(&sub_pool, p) != APR_SUCCESS)
if (apr_create_pool(&sub_pool, p) != APR_SUCCESS)
return DECLINED;
t = ap_make_array(sub_pool, candidates->nelts * 8 + 8,
t = apr_make_array(sub_pool, candidates->nelts * 8 + 8,
sizeof(char *));
v = ap_make_array(sub_pool, candidates->nelts * 5,
v = apr_make_array(sub_pool, candidates->nelts * 5,
sizeof(char *));
/* Generate the response text. */
*(const char **)ap_push_array(t) =
*(const char **)apr_push_array(t) =
"The document name you requested (<code>";
*(const char **)ap_push_array(t) = ap_escape_html(sub_pool, r->uri);
*(const char **)ap_push_array(t) =
*(const char **)apr_push_array(t) = ap_escape_html(sub_pool, r->uri);
*(const char **)apr_push_array(t) =
"</code>) could not be found on this server.\n"
"However, we found documents with names similar "
"to the one you requested.<p>"
@@ -483,24 +483,24 @@ static int check_speling(request_rec *r)
reason = sp_reason_str[(int) (variant[i].quality)];
/* The format isn't very neat... */
vuri = ap_pstrcat(sub_pool, url, variant[i].name, r->path_info,
vuri = apr_pstrcat(sub_pool, url, variant[i].name, r->path_info,
(r->parsed_uri.query != NULL) ? "?" : "",
(r->parsed_uri.query != NULL)
? r->parsed_uri.query : "",
NULL);
*(const char **)ap_push_array(v) = "\"";
*(const char **)ap_push_array(v) = ap_escape_uri(sub_pool, vuri);
*(const char **)ap_push_array(v) = "\";\"";
*(const char **)ap_push_array(v) = reason;
*(const char **)ap_push_array(v) = "\"";
*(const char **)apr_push_array(v) = "\"";
*(const char **)apr_push_array(v) = ap_escape_uri(sub_pool, vuri);
*(const char **)apr_push_array(v) = "\";\"";
*(const char **)apr_push_array(v) = reason;
*(const char **)apr_push_array(v) = "\"";
*(const char **)ap_push_array(t) = "<li><a href=\"";
*(const char **)ap_push_array(t) = ap_escape_uri(sub_pool, vuri);
*(const char **)ap_push_array(t) = "\">";
*(const char **)ap_push_array(t) = ap_escape_html(sub_pool, vuri);
*(const char **)ap_push_array(t) = "</a> (";
*(const char **)ap_push_array(t) = reason;
*(const char **)ap_push_array(t) = ")\n";
*(const char **)apr_push_array(t) = "<li><a href=\"";
*(const char **)apr_push_array(t) = ap_escape_uri(sub_pool, vuri);
*(const char **)apr_push_array(t) = "\">";
*(const char **)apr_push_array(t) = ap_escape_html(sub_pool, vuri);
*(const char **)apr_push_array(t) = "</a> (";
*(const char **)apr_push_array(t) = reason;
*(const char **)apr_push_array(t) = ")\n";
/*
* when we have printed the "close matches" and there are
@@ -512,31 +512,31 @@ static int check_speling(request_rec *r)
if (i > 0 && i < candidates->nelts - 1
&& variant[i].quality != SP_VERYDIFFERENT
&& variant[i + 1].quality == SP_VERYDIFFERENT) {
*(const char **)ap_push_array(t) =
*(const char **)apr_push_array(t) =
"</ul>\nFurthermore, the following related "
"documents were found:\n<ul>\n";
}
}
*(const char **)ap_push_array(t) = "</ul>\n";
*(const char **)apr_push_array(t) = "</ul>\n";
/* If we know there was a referring page, add a note: */
if (ref != NULL) {
*(const char **)ap_push_array(t) =
*(const char **)apr_push_array(t) =
"Please consider informing the owner of the "
"<a href=\"";
*(const char **)ap_push_array(t) = ap_escape_uri(sub_pool, ref);
*(const char **)ap_push_array(t) = "\">referring page</a> "
*(const char **)apr_push_array(t) = ap_escape_uri(sub_pool, ref);
*(const char **)apr_push_array(t) = "\">referring page</a> "
"about the broken link.\n";
}
/* Pass our ap_table_t to http_protocol.c (see mod_negotiation): */
ap_table_setn(notes, "variant-list", ap_array_pstrcat(p, t, 0));
/* Pass our apr_table_t to http_protocol.c (see mod_negotiation): */
apr_table_setn(notes, "variant-list", apr_array_pstrcat(p, t, 0));
ap_table_mergen(r->subprocess_env, "VARIANTS",
ap_array_pstrcat(p, v, ','));
apr_table_mergen(r->subprocess_env, "VARIANTS",
apr_array_pstrcat(p, v, ','));
ap_destroy_pool(sub_pool);
apr_destroy_pool(sub_pool);
ap_log_rerror(APLOG_MARK, APLOG_NOERRNO | APLOG_INFO, 0, r,
ref ? "Spelling fix: %s: %d candidates from %s"
@@ -562,7 +562,7 @@ module MODULE_VAR_EXPORT speling_module =
NULL, /* merge per-dir config */
create_mconfig_for_server, /* server config */
NULL, /* merge server config */
speling_cmds, /* command ap_table_t */
speling_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -113,8 +113,8 @@ module userdir_module;
typedef struct userdir_config {
int globally_disabled;
char *userdir;
ap_table_t *enabled_users;
ap_table_t *disabled_users;
apr_table_t *enabled_users;
apr_table_t *disabled_users;
} userdir_config;
/*
@@ -123,15 +123,15 @@ typedef struct userdir_config {
* explicit) disablement, and the replacement string for all others.
*/
static void *create_userdir_config(ap_pool_t *p, server_rec *s)
static void *create_userdir_config(apr_pool_t *p, server_rec *s)
{
userdir_config
* newcfg = (userdir_config *) ap_pcalloc(p, sizeof(userdir_config));
* newcfg = (userdir_config *) apr_pcalloc(p, sizeof(userdir_config));
newcfg->globally_disabled = 0;
newcfg->userdir = DEFAULT_USER_DIR;
newcfg->enabled_users = ap_make_table(p, 4);
newcfg->disabled_users = ap_make_table(p, 4);
newcfg->enabled_users = apr_make_table(p, 4);
newcfg->disabled_users = apr_make_table(p, 4);
return (void *) newcfg;
}
@@ -151,7 +151,7 @@ static const char *set_user_dir(cmd_parms *cmd, void *dummy, const char *arg)
const char
*usernames = arg;
char *kw = ap_getword_conf(cmd->pool, &usernames);
ap_table_t *usertable;
apr_table_t *usertable;
/*
* Let's do the comparisons once.
@@ -183,7 +183,7 @@ static const char *set_user_dir(cmd_parms *cmd, void *dummy, const char *arg)
* If the first (only?) value isn't one of our keywords, just copy
* the string to the userdir string.
*/
s_cfg->userdir = ap_pstrdup(cmd->pool, arg);
s_cfg->userdir = apr_pstrdup(cmd->pool, arg);
return NULL;
}
/*
@@ -192,7 +192,7 @@ static const char *set_user_dir(cmd_parms *cmd, void *dummy, const char *arg)
*/
while (*usernames) {
username = ap_getword_conf(cmd->pool, &usernames);
ap_table_setn(usertable, username, kw);
apr_table_setn(usertable, username, kw);
}
return NULL;
}
@@ -215,7 +215,7 @@ static int translate_userdir(request_rec *r)
const char *w, *dname;
char *redirect;
char *x = NULL;
ap_finfo_t statbuf;
apr_finfo_t statbuf;
/*
* If the URI doesn't match our basic pattern, we've nothing to do with
@@ -252,7 +252,7 @@ static int translate_userdir(request_rec *r)
/*
* Nor if there's an username but it's in the disabled list.
*/
if (ap_table_get(s_cfg->disabled_users, w) != NULL) {
if (apr_table_get(s_cfg->disabled_users, w) != NULL) {
return DECLINED;
}
/*
@@ -261,7 +261,7 @@ static int translate_userdir(request_rec *r)
*/
if (
s_cfg->globally_disabled &&
(ap_table_get(s_cfg->enabled_users, w) == NULL)
(apr_table_get(s_cfg->enabled_users, w) == NULL)
) {
return DECLINED;
}
@@ -291,19 +291,19 @@ static int translate_userdir(request_rec *r)
if (strchr(x, ':'))
#endif /* WIN32 */
{
redirect = ap_pstrcat(r->pool, x, w, userdir, dname, NULL);
ap_table_setn(r->headers_out, "Location", redirect);
redirect = apr_pstrcat(r->pool, x, w, userdir, dname, NULL);
apr_table_setn(r->headers_out, "Location", redirect);
return HTTP_MOVED_TEMPORARILY;
}
else
filename = ap_pstrcat(r->pool, x, w, userdir, NULL);
filename = apr_pstrcat(r->pool, x, w, userdir, NULL);
}
else
filename = ap_pstrcat(r->pool, userdir, "/", w, NULL);
filename = apr_pstrcat(r->pool, userdir, "/", w, NULL);
}
else if (ap_strchr_c(userdir, ':')) {
redirect = ap_pstrcat(r->pool, userdir, "/", w, dname, NULL);
ap_table_setn(r->headers_out, "Location", redirect);
redirect = apr_pstrcat(r->pool, userdir, "/", w, dname, NULL);
apr_table_setn(r->headers_out, "Location", redirect);
return HTTP_MOVED_TEMPORARILY;
}
else {
@@ -315,9 +315,9 @@ static int translate_userdir(request_rec *r)
if ((pw = getpwnam(w))) {
#ifdef OS2
/* Need to manually add user name for OS/2 */
filename = ap_pstrcat(r->pool, pw->pw_dir, w, "/", userdir, NULL);
filename = apr_pstrcat(r->pool, pw->pw_dir, w, "/", userdir, NULL);
#else
filename = ap_pstrcat(r->pool, pw->pw_dir, "/", userdir, NULL);
filename = apr_pstrcat(r->pool, pw->pw_dir, "/", userdir, NULL);
#endif
}
#endif /* WIN32 */
@@ -330,8 +330,8 @@ static int translate_userdir(request_rec *r)
* used, for example, to run a CGI script for the user.
*/
if (filename && (!*userdirs ||
ap_stat(&statbuf, filename, r->pool) == APR_SUCCESS)) {
r->filename = ap_pstrcat(r->pool, filename, dname, NULL);
apr_stat(&statbuf, filename, r->pool) == APR_SUCCESS)) {
r->filename = apr_pstrcat(r->pool, filename, dname, NULL);
/* when statbuf contains info on r->filename we can save a syscall
* by copying it to r->finfo
*/
@@ -357,7 +357,7 @@ module userdir_module = {
NULL, /* dir merger --- default is to override */
create_userdir_config, /* server config */
NULL, /* merge server config */
userdir_cmds, /* command ap_table_t */
userdir_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -104,11 +104,11 @@ typedef struct mva_sconf_t {
mva_mode_e cgi_root_mode;
} mva_sconf_t;
static void *mva_create_server_config(ap_pool_t *p, server_rec *s)
static void *mva_create_server_config(apr_pool_t *p, server_rec *s)
{
mva_sconf_t *conf;
conf = (mva_sconf_t *) ap_pcalloc(p, sizeof(mva_sconf_t));
conf = (mva_sconf_t *) apr_pcalloc(p, sizeof(mva_sconf_t));
conf->doc_root = NULL;
conf->cgi_root = NULL;
conf->doc_root_mode = VHOST_ALIAS_UNSET;
@@ -116,13 +116,13 @@ static void *mva_create_server_config(ap_pool_t *p, server_rec *s)
return conf;
}
static void *mva_merge_server_config(ap_pool_t *p, void *parentv, void *childv)
static void *mva_merge_server_config(apr_pool_t *p, void *parentv, void *childv)
{
mva_sconf_t *parent = (mva_sconf_t *) parentv;
mva_sconf_t *child = (mva_sconf_t *) childv;
mva_sconf_t *conf;
conf = (mva_sconf_t *) ap_pcalloc(p, sizeof(*conf));
conf = (mva_sconf_t *) apr_pcalloc(p, sizeof(*conf));
if (child->doc_root_mode == VHOST_ALIAS_UNSET) {
conf->doc_root_mode = parent->doc_root_mode;
conf->doc_root = parent->doc_root;
@@ -272,10 +272,10 @@ static ap_inline void vhost_alias_checkspace(request_rec *r, char *buf,
if (*pdest + size > buf + HUGE_STRING_LEN) {
**pdest = '\0';
if (r->filename) {
r->filename = ap_pstrcat(r->pool, r->filename, buf, NULL);
r->filename = apr_pstrcat(r->pool, r->filename, buf, NULL);
}
else {
r->filename = ap_pstrdup(r->pool, buf);
r->filename = apr_pstrdup(r->pool, buf);
}
*pdest = buf;
}
@@ -333,7 +333,7 @@ static void vhost_alias_interpolate(request_rec *r, const char *name,
++map;
/* no. of decimal digits in a short plus one */
vhost_alias_checkspace(r, buf, &dest, 7);
dest += ap_snprintf(dest, 7, "%d", ap_get_server_port(r));
dest += apr_snprintf(dest, 7, "%d", ap_get_server_port(r));
continue;
}
/* deal with %-N+.-M+ -- syntax is already checked */
@@ -403,10 +403,10 @@ static void vhost_alias_interpolate(request_rec *r, const char *name,
++uri;
}
if (r->filename) {
r->filename = ap_pstrcat(r->pool, r->filename, buf, uri, NULL);
r->filename = apr_pstrcat(r->pool, r->filename, buf, uri, NULL);
}
else {
r->filename = ap_pstrcat(r->pool, buf, uri, NULL);
r->filename = apr_pstrcat(r->pool, buf, uri, NULL);
}
}
@@ -452,7 +452,7 @@ static int mva_translate(request_rec *r)
if (cgi) {
/* see is_scriptaliased() in mod_cgi */
r->handler = "cgi-script";
ap_table_setn(r->notes, "alias-forced-type", r->handler);
apr_table_setn(r->notes, "alias-forced-type", r->handler);
}
return OK;
@@ -470,7 +470,7 @@ module MODULE_VAR_EXPORT vhost_alias_module =
NULL, /* dir merger --- default is to override */
mva_create_server_config, /* server config */
mva_merge_server_config, /* merge server configs */
mva_commands, /* command ap_table_t */
mva_commands, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -175,10 +175,10 @@ typedef struct {
char *metafiles;
} cern_meta_dir_config;
static void *create_cern_meta_dir_config(ap_pool_t *p, char *dummy)
static void *create_cern_meta_dir_config(apr_pool_t *p, char *dummy)
{
cern_meta_dir_config *new =
(cern_meta_dir_config *) ap_palloc(p, sizeof(cern_meta_dir_config));
(cern_meta_dir_config *) apr_palloc(p, sizeof(cern_meta_dir_config));
new->metadir = NULL;
new->metasuffix = NULL;
@@ -187,12 +187,12 @@ static void *create_cern_meta_dir_config(ap_pool_t *p, char *dummy)
return new;
}
static void *merge_cern_meta_dir_configs(ap_pool_t *p, void *basev, void *addv)
static void *merge_cern_meta_dir_configs(apr_pool_t *p, void *basev, void *addv)
{
cern_meta_dir_config *base = (cern_meta_dir_config *) basev;
cern_meta_dir_config *add = (cern_meta_dir_config *) addv;
cern_meta_dir_config *new =
(cern_meta_dir_config *) ap_palloc(p, sizeof(cern_meta_dir_config));
(cern_meta_dir_config *) apr_palloc(p, sizeof(cern_meta_dir_config));
new->metadir = add->metadir ? add->metadir : base->metadir;
new->metasuffix = add->metasuffix ? add->metasuffix : base->metasuffix;
@@ -234,15 +234,15 @@ static const command_rec cern_meta_cmds[] =
/* XXX: this is very similar to ap_scan_script_header_err_core...
* are the differences deliberate, or just a result of bit rot?
*/
static int scan_meta_file(request_rec *r, ap_file_t *f)
static int scan_meta_file(request_rec *r, apr_file_t *f)
{
char w[MAX_STRING_LEN];
char *l;
int p;
ap_table_t *tmp_headers;
apr_table_t *tmp_headers;
tmp_headers = ap_make_table(r->pool, 5);
while (ap_fgets(w, MAX_STRING_LEN - 1, f) != APR_SUCCESS) {
tmp_headers = apr_make_table(r->pool, 5);
while (apr_fgets(w, MAX_STRING_LEN - 1, f) != APR_SUCCESS) {
/* Delete terminal (CR?)LF */
@@ -278,19 +278,19 @@ static int scan_meta_file(request_rec *r, ap_file_t *f)
while (endp > l && ap_isspace(*endp))
*endp-- = '\0';
tmp = ap_pstrdup(r->pool, l);
tmp = apr_pstrdup(r->pool, l);
ap_content_type_tolower(tmp);
r->content_type = tmp;
}
else if (!strcasecmp(w, "Status")) {
sscanf(l, "%d", &r->status);
r->status_line = ap_pstrdup(r->pool, l);
r->status_line = apr_pstrdup(r->pool, l);
}
else {
ap_table_set(tmp_headers, w, l);
apr_table_set(tmp_headers, w, l);
}
}
ap_overlap_tables(r->headers_out, tmp_headers, AP_OVERLAP_TABLES_SET);
apr_overlap_tables(r->headers_out, tmp_headers, AP_OVERLAP_TABLES_SET);
return OK;
}
@@ -300,8 +300,8 @@ static int add_cern_meta_data(request_rec *r)
char *last_slash;
char *real_file;
char *scrap_book;
ap_file_t *f = NULL;
ap_status_t retcode;
apr_file_t *f = NULL;
apr_status_t retcode;
cern_meta_dir_config *dconf;
int rv;
request_rec *rr;
@@ -324,7 +324,7 @@ static int add_cern_meta_data(request_rec *r)
};
/* what directory is this file in? */
scrap_book = ap_pstrdup(r->pool, r->filename);
scrap_book = apr_pstrdup(r->pool, r->filename);
/* skip leading slash, recovered in later processing */
scrap_book++;
last_slash = strrchr(scrap_book, '/');
@@ -342,7 +342,7 @@ static int add_cern_meta_data(request_rec *r)
return DECLINED;
};
metafilename = ap_pstrcat(r->pool, "/", scrap_book, "/",
metafilename = apr_pstrcat(r->pool, "/", scrap_book, "/",
dconf->metadir ? dconf->metadir : DEFAULT_METADIR,
"/", real_file,
dconf->metasuffix ? dconf->metasuffix : DEFAULT_METASUFFIX,
@@ -360,7 +360,7 @@ static int add_cern_meta_data(request_rec *r)
}
ap_destroy_sub_req(rr);
retcode = ap_open(&f, metafilename, APR_READ | APR_CREATE, APR_OS_DEFAULT, r->pool);
retcode = apr_open(&f, metafilename, APR_READ | APR_CREATE, APR_OS_DEFAULT, r->pool);
if (retcode != APR_SUCCESS) {
if (errno == ENOENT) {
return DECLINED;
@@ -372,7 +372,7 @@ static int add_cern_meta_data(request_rec *r)
/* read the headers in */
rv = scan_meta_file(r, f);
ap_close(f);
apr_close(f);
return rv;
}
@@ -387,7 +387,7 @@ module MODULE_VAR_EXPORT cern_meta_module =
merge_cern_meta_dir_configs,/* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server configs */
cern_meta_cmds, /* command ap_table_t */
cern_meta_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -68,7 +68,7 @@
* 08.Dec.95 Now allows PassEnv directive to appear more than once in
* conf files.
* 10.Dec.95 optimisation. getenv() only called at startup and used
* to build a fast-to-access table. ap_table_t used to build
* to build a fast-to-access table. apr_table_t used to build
* per-server environment for each request.
* robustness. better able to handle errors in configuration
* files:
@@ -109,33 +109,33 @@
#endif
typedef struct {
ap_table_t *vars;
apr_table_t *vars;
const char *unsetenv;
int vars_present;
} env_dir_config_rec;
module MODULE_VAR_EXPORT env_module;
static void *create_env_dir_config(ap_pool_t *p, char *dummy)
static void *create_env_dir_config(apr_pool_t *p, char *dummy)
{
env_dir_config_rec *new =
(env_dir_config_rec *) ap_palloc(p, sizeof(env_dir_config_rec));
new->vars = ap_make_table(p, 50);
(env_dir_config_rec *) apr_palloc(p, sizeof(env_dir_config_rec));
new->vars = apr_make_table(p, 50);
new->unsetenv = "";
new->vars_present = 0;
return (void *) new;
}
static void *merge_env_dir_configs(ap_pool_t *p, void *basev, void *addv)
static void *merge_env_dir_configs(apr_pool_t *p, void *basev, void *addv)
{
env_dir_config_rec *base = (env_dir_config_rec *) basev;
env_dir_config_rec *add = (env_dir_config_rec *) addv;
env_dir_config_rec *new =
(env_dir_config_rec *) ap_palloc(p, sizeof(env_dir_config_rec));
(env_dir_config_rec *) apr_palloc(p, sizeof(env_dir_config_rec));
ap_table_t *new_table;
ap_table_entry_t *elts;
ap_array_header_t *arr;
apr_table_t *new_table;
apr_table_entry_t *elts;
apr_array_header_t *arr;
int i;
const char *uenv, *unset;
@@ -150,19 +150,19 @@ static void *merge_env_dir_configs(ap_pool_t *p, void *basev, void *addv)
* }
*/
new_table = ap_copy_table(p, base->vars);
new_table = apr_copy_table(p, base->vars);
arr = ap_table_elts(add->vars);
elts = (ap_table_entry_t *)arr->elts;
elts = (apr_table_entry_t *)arr->elts;
for (i = 0; i < arr->nelts; ++i) {
ap_table_setn(new_table, elts[i].key, elts[i].val);
apr_table_setn(new_table, elts[i].key, elts[i].val);
}
unset = add->unsetenv;
uenv = ap_getword_conf(p, &unset);
while (uenv[0] != '\0') {
ap_table_unset(new_table, uenv);
apr_table_unset(new_table, uenv);
uenv = ap_getword_conf(p, &unset);
}
@@ -177,7 +177,7 @@ static const char *add_env_module_vars_passed(cmd_parms *cmd, void *sconf_,
const char *arg)
{
env_dir_config_rec *sconf=sconf_;
ap_table_t *vars = sconf->vars;
apr_table_t *vars = sconf->vars;
char *env_var;
char *name_ptr;
@@ -186,7 +186,7 @@ static const char *add_env_module_vars_passed(cmd_parms *cmd, void *sconf_,
env_var = getenv(name_ptr);
if (env_var != NULL) {
sconf->vars_present = 1;
ap_table_setn(vars, name_ptr, ap_pstrdup(cmd->pool, env_var));
apr_table_setn(vars, name_ptr, apr_pstrdup(cmd->pool, env_var));
}
}
return NULL;
@@ -196,7 +196,7 @@ static const char *add_env_module_vars_set(cmd_parms *cmd, void *sconf_,
const char *arg)
{
env_dir_config_rec *sconf=sconf_;
ap_table_t *vars = sconf->vars;
apr_table_t *vars = sconf->vars;
char *name, *value;
name = ap_getword_conf(cmd->pool, &arg);
@@ -212,7 +212,7 @@ static const char *add_env_module_vars_set(cmd_parms *cmd, void *sconf_,
}
sconf->vars_present = 1;
ap_table_setn(vars, name, value);
apr_table_setn(vars, name, value);
return NULL;
}
@@ -223,7 +223,7 @@ static const char *add_env_module_vars_unset(cmd_parms *cmd, void *sconf_,
env_dir_config_rec *sconf=sconf_;
sconf->unsetenv = sconf->unsetenv ?
ap_pstrcat(cmd->pool, sconf->unsetenv, " ", arg, NULL) :
apr_pstrcat(cmd->pool, sconf->unsetenv, " ", arg, NULL) :
arg;
return NULL;
}
@@ -241,15 +241,15 @@ AP_INIT_RAW_ARGS("UnsetEnv", add_env_module_vars_unset, NULL,
static int fixup_env_module(request_rec *r)
{
ap_table_t *e = r->subprocess_env;
apr_table_t *e = r->subprocess_env;
env_dir_config_rec *sconf = ap_get_module_config(r->per_dir_config,
&env_module);
ap_table_t *vars = sconf->vars;
apr_table_t *vars = sconf->vars;
if (!sconf->vars_present)
return DECLINED;
r->subprocess_env = ap_overlay_tables(r->pool, e, vars);
r->subprocess_env = apr_overlay_tables(r->pool, e, vars);
return OK;
}
@@ -267,7 +267,7 @@ module MODULE_VAR_EXPORT env_module =
merge_env_dir_configs, /* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server configs */
env_module_cmds, /* command ap_table_t */
env_module_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -206,7 +206,7 @@
typedef struct {
int active;
char *expiresdefault;
ap_table_t *expiresbytype;
apr_table_t *expiresbytype;
} expires_dir_config;
/* from mod_dir, why is this alias used?
@@ -219,13 +219,13 @@ typedef struct {
module MODULE_VAR_EXPORT expires_module;
static void *create_dir_expires_config(ap_pool_t *p, char *dummy)
static void *create_dir_expires_config(apr_pool_t *p, char *dummy)
{
expires_dir_config *new =
(expires_dir_config *) ap_pcalloc(p, sizeof(expires_dir_config));
(expires_dir_config *) apr_pcalloc(p, sizeof(expires_dir_config));
new->active = ACTIVE_DONTCARE;
new->expiresdefault = "";
new->expiresbytype = ap_make_table(p, 4);
new->expiresbytype = apr_make_table(p, 4);
return (void *) new;
}
@@ -245,7 +245,7 @@ static const char *set_expiresactive(cmd_parms *cmd, expires_dir_config * dir_co
* string. If we return NULL then real_code contains code converted
* to the cnnnn format.
*/
static char *check_code(ap_pool_t *p, const char *code, char **real_code)
static char *check_code(apr_pool_t *p, const char *code, char **real_code)
{
char *word;
char base = 'X';
@@ -274,7 +274,7 @@ static char *check_code(ap_pool_t *p, const char *code, char **real_code)
base = 'M';
}
else {
return ap_pstrcat(p, "bad expires code, unrecognised <base> '",
return apr_pstrcat(p, "bad expires code, unrecognised <base> '",
word, "'", NULL);
};
@@ -294,7 +294,7 @@ static char *check_code(ap_pool_t *p, const char *code, char **real_code)
num = atoi(word);
}
else {
return ap_pstrcat(p, "bad expires code, numeric value expected <num> '",
return apr_pstrcat(p, "bad expires code, numeric value expected <num> '",
word, "'", NULL);
};
@@ -305,7 +305,7 @@ static char *check_code(ap_pool_t *p, const char *code, char **real_code)
/* do nothing */
}
else {
return ap_pstrcat(p, "bad expires code, missing <type>", NULL);
return apr_pstrcat(p, "bad expires code, missing <type>", NULL);
};
factor = 0;
@@ -331,7 +331,7 @@ static char *check_code(ap_pool_t *p, const char *code, char **real_code)
factor = 1;
}
else {
return ap_pstrcat(p, "bad expires code, unrecognised <type>",
return apr_pstrcat(p, "bad expires code, unrecognised <type>",
"'", word, "'", NULL);
};
@@ -342,7 +342,7 @@ static char *check_code(ap_pool_t *p, const char *code, char **real_code)
word = ap_getword_conf(p, &code);
};
*real_code = ap_psprintf(p, "%c%d", base, modifier);
*real_code = apr_psprintf(p, "%c%d", base, modifier);
return NULL;
}
@@ -352,10 +352,10 @@ static const char *set_expiresbytype(cmd_parms *cmd, expires_dir_config * dir_co
char *response, *real_code;
if ((response = check_code(cmd->pool, code, &real_code)) == NULL) {
ap_table_setn(dir_config->expiresbytype, mime, real_code);
apr_table_setn(dir_config->expiresbytype, mime, real_code);
return NULL;
};
return ap_pstrcat(cmd->pool,
return apr_pstrcat(cmd->pool,
"'ExpiresByType ", mime, " ", code, "': ", response, NULL);
}
@@ -367,7 +367,7 @@ static const char *set_expiresdefault(cmd_parms *cmd, expires_dir_config * dir_c
dir_config->expiresdefault = real_code;
return NULL;
};
return ap_pstrcat(cmd->pool,
return apr_pstrcat(cmd->pool,
"'ExpiresDefault ", code, "': ", response, NULL);
}
@@ -382,9 +382,9 @@ static const command_rec expires_cmds[] =
{NULL}
};
static void *merge_expires_dir_configs(ap_pool_t *p, void *basev, void *addv)
static void *merge_expires_dir_configs(apr_pool_t *p, void *basev, void *addv)
{
expires_dir_config *new = (expires_dir_config *) ap_pcalloc(p, sizeof(expires_dir_config));
expires_dir_config *new = (expires_dir_config *) apr_pcalloc(p, sizeof(expires_dir_config));
expires_dir_config *base = (expires_dir_config *) basev;
expires_dir_config *add = (expires_dir_config *) addv;
@@ -399,7 +399,7 @@ static void *merge_expires_dir_configs(ap_pool_t *p, void *basev, void *addv)
new->expiresdefault = add->expiresdefault;
};
new->expiresbytype = ap_overlay_tables(p, add->expiresbytype,
new->expiresbytype = apr_overlay_tables(p, add->expiresbytype,
base->expiresbytype);
return new;
}
@@ -408,9 +408,9 @@ static int add_expires(request_rec *r)
{
expires_dir_config *conf;
char *code;
ap_time_t base;
ap_time_t additional;
ap_time_t expires;
apr_time_t base;
apr_time_t additional;
apr_time_t expires;
char *timestr;
if (ap_is_HTTP_ERROR(r->status)) /* Don't add Expires headers to errors */
@@ -443,7 +443,7 @@ static int add_expires(request_rec *r)
if (r->content_type == NULL)
code = NULL;
else
code = (char *) ap_table_get(conf->expiresbytype,
code = (char *) apr_table_get(conf->expiresbytype,
ap_field_noparam(r->pool, r->content_type));
if (code == NULL) {
@@ -484,13 +484,13 @@ static int add_expires(request_rec *r)
};
expires = base + additional;
ap_table_mergen(r->headers_out, "Cache-Control",
ap_psprintf(r->pool, "max-age=%qd",
apr_table_mergen(r->headers_out, "Cache-Control",
apr_psprintf(r->pool, "max-age=%qd",
(expires - r->request_time)
/ AP_USEC_PER_SEC));
timestr = ap_palloc(r->pool, AP_RFC822_DATE_LEN);
ap_rfc822_date(timestr, expires);
ap_table_setn(r->headers_out, "Expires", timestr);
timestr = apr_palloc(r->pool, AP_RFC822_DATE_LEN);
apr_rfc822_date(timestr, expires);
apr_table_setn(r->headers_out, "Expires", timestr);
return OK;
}
@@ -506,7 +506,7 @@ module MODULE_VAR_EXPORT expires_module =
merge_expires_dir_configs, /* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server configs */
expires_cmds, /* command ap_table_t */
expires_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -125,32 +125,32 @@ typedef struct {
* a per-dir and per-server config
*/
typedef struct {
ap_array_header_t *headers;
apr_array_header_t *headers;
} headers_conf;
module MODULE_VAR_EXPORT headers_module;
static void *create_headers_config(ap_pool_t *p, server_rec *s)
static void *create_headers_config(apr_pool_t *p, server_rec *s)
{
headers_conf *a =
(headers_conf *) ap_pcalloc(p, sizeof(headers_conf));
(headers_conf *) apr_pcalloc(p, sizeof(headers_conf));
a->headers = ap_make_array(p, 2, sizeof(header_entry));
a->headers = apr_make_array(p, 2, sizeof(header_entry));
return a;
}
static void *create_headers_dir_config(ap_pool_t *p, char *d)
static void *create_headers_dir_config(apr_pool_t *p, char *d)
{
return (headers_conf *) create_headers_config(p, NULL);
}
static void *merge_headers_config(ap_pool_t *p, void *basev, void *overridesv)
static void *merge_headers_config(apr_pool_t *p, void *basev, void *overridesv)
{
headers_conf *a =
(headers_conf *) ap_pcalloc(p, sizeof(headers_conf));
(headers_conf *) apr_pcalloc(p, sizeof(headers_conf));
headers_conf *base = (headers_conf *) basev, *overrides = (headers_conf *) overridesv;
a->headers = ap_append_arrays(p, base->headers, overrides->headers);
a->headers = apr_append_arrays(p, base->headers, overrides->headers);
return a;
}
@@ -160,7 +160,7 @@ static const char *header_cmd(cmd_parms *cmd, void *indirconf,
const char *action, const char *inhdr, const char *value)
{
headers_conf *dirconf = indirconf;
char *hdr = ap_pstrdup(cmd->pool, inhdr);
char *hdr = apr_pstrdup(cmd->pool, inhdr);
header_entry *new;
server_rec *s = cmd->server;
headers_conf *serverconf =
@@ -168,10 +168,10 @@ static const char *header_cmd(cmd_parms *cmd, void *indirconf,
char *colon;
if (cmd->path) {
new = (header_entry *) ap_push_array(dirconf->headers);
new = (header_entry *) apr_push_array(dirconf->headers);
}
else {
new = (header_entry *) ap_push_array(serverconf->headers);
new = (header_entry *) apr_push_array(serverconf->headers);
}
if (!strcasecmp(action, "set"))
@@ -208,7 +208,7 @@ static const command_rec headers_cmds[] =
{NULL}
};
static void do_headers_fixup(request_rec *r, ap_array_header_t *headers)
static void do_headers_fixup(request_rec *r, apr_array_header_t *headers)
{
int i;
@@ -216,16 +216,16 @@ static void do_headers_fixup(request_rec *r, ap_array_header_t *headers)
header_entry *hdr = &((header_entry *) (headers->elts))[i];
switch (hdr->action) {
case hdr_add:
ap_table_addn(r->headers_out, hdr->header, hdr->value);
apr_table_addn(r->headers_out, hdr->header, hdr->value);
break;
case hdr_append:
ap_table_mergen(r->headers_out, hdr->header, hdr->value);
apr_table_mergen(r->headers_out, hdr->header, hdr->value);
break;
case hdr_set:
ap_table_setn(r->headers_out, hdr->header, hdr->value);
apr_table_setn(r->headers_out, hdr->header, hdr->value);
break;
case hdr_unset:
ap_table_unset(r->headers_out, hdr->header);
apr_table_unset(r->headers_out, hdr->header);
break;
}
}
@@ -257,7 +257,7 @@ module MODULE_VAR_EXPORT headers_module =
merge_headers_config, /* dir merger --- default is to override */
create_headers_config, /* server config */
merge_headers_config, /* merge server configs */
headers_cmds, /* command ap_table_t */
headers_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -96,7 +96,7 @@
* modified from the free "file" command.
* - all-in-one file for compilation convenience when moving from one
* version of Apache to the next.
* - Memory allocation is done through the Apache API's ap_pool_t structure.
* - Memory allocation is done through the Apache API's apr_pool_t structure.
* - All functions have had necessary Apache API request or server
* structures passed to them where necessary to call other Apache API
* routines. (i.e. usually for logging, files, or memory allocation in
@@ -255,7 +255,7 @@ static int zmagic(request_rec *, unsigned char *, int);
static int getvalue(server_rec *, struct magic *, char **);
static int hextoint(int);
static char *getstr(server_rec *, char *, char *, int, int *);
static int parse(server_rec *, ap_pool_t *p, char *, int);
static int parse(server_rec *, apr_pool_t *p, char *, int);
static int match(request_rec *, unsigned char *, int);
static int mget(request_rec *, union VALUETYPE *, unsigned char *,
@@ -278,7 +278,7 @@ static int fsmagic(request_rec *r, const char *fn);
* make HOWMANY too high unless you have a very fast CPU.
*/
/* these types are used to index the ap_table_t 'types': keep em in sync! */
/* these types are used to index the apr_table_t 'types': keep em in sync! */
/* HTML inserted in first because this is a web server module now */
#define L_HTML 0 /* HTML */
#define L_C 1 /* first and foremost on UNIX */
@@ -505,18 +505,18 @@ typedef struct {
module mime_magic_module;
static void *create_magic_server_config(ap_pool_t *p, server_rec *d)
static void *create_magic_server_config(apr_pool_t *p, server_rec *d)
{
/* allocate the config - use pcalloc because it needs to be zeroed */
return ap_pcalloc(p, sizeof(magic_server_config_rec));
return apr_pcalloc(p, sizeof(magic_server_config_rec));
}
static void *merge_magic_server_config(ap_pool_t *p, void *basev, void *addv)
static void *merge_magic_server_config(apr_pool_t *p, void *basev, void *addv)
{
magic_server_config_rec *base = (magic_server_config_rec *) basev;
magic_server_config_rec *add = (magic_server_config_rec *) addv;
magic_server_config_rec *new = (magic_server_config_rec *)
ap_palloc(p, sizeof(magic_server_config_rec));
apr_palloc(p, sizeof(magic_server_config_rec));
new->magicfile = add->magicfile ? add->magicfile : base->magicfile;
new->magic = NULL;
@@ -564,7 +564,7 @@ static const command_rec mime_magic_cmds[] =
/* allocate a per-request structure and put it in the request record */
static magic_req_rec *magic_set_config(request_rec *r)
{
magic_req_rec *req_dat = (magic_req_rec *) ap_palloc(r->pool,
magic_req_rec *req_dat = (magic_req_rec *) apr_palloc(r->pool,
sizeof(magic_req_rec));
req_dat->head = req_dat->tail = (magic_rsl *) NULL;
@@ -591,7 +591,7 @@ static int magic_rsl_add(request_rec *r, char *str)
}
/* allocate the list entry */
rsl = (magic_rsl *) ap_palloc(r->pool, sizeof(magic_rsl));
rsl = (magic_rsl *) apr_palloc(r->pool, sizeof(magic_rsl));
/* fill it */
rsl->str = str;
@@ -625,7 +625,7 @@ static int magic_rsl_printf(request_rec *r, char *str,...)
/* assemble the string into the buffer */
va_start(ap, str);
ap_vsnprintf(buf, sizeof(buf), str, ap);
apr_vsnprintf(buf, sizeof(buf), str, ap);
va_end(ap);
/* add the buffer to the list */
@@ -655,7 +655,7 @@ static char *rsl_strdup(request_rec *r, int start_frag, int start_pos, int len)
ap_get_module_config(r->request_config, &mime_magic_module);
/* allocate the result string */
result = (char *) ap_palloc(r->pool, len + 1);
result = (char *) apr_palloc(r->pool, len + 1);
/* loop through and collect the string */
res_pos = 0;
@@ -854,7 +854,7 @@ static int magic_rsl_to_request(request_rec *r)
*/
static int magic_process(request_rec *r)
{
ap_file_t *fd = NULL;
apr_file_t *fd = NULL;
unsigned char buf[HOWMANY + 1]; /* one extra for terminating '\0' */
int nbytes = 0; /* number of bytes read from a datafile */
int result;
@@ -873,7 +873,7 @@ static int magic_process(request_rec *r)
return result;
}
if (ap_open(&fd, r->filename, APR_READ, APR_OS_DEFAULT, r->pool) != APR_SUCCESS) {
if (apr_open(&fd, r->filename, APR_READ, APR_OS_DEFAULT, r->pool) != APR_SUCCESS) {
/* We can't open it, but we were able to stat it. */
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
MODNAME ": can't read `%s'", r->filename);
@@ -885,7 +885,7 @@ static int magic_process(request_rec *r)
* try looking at the first HOWMANY bytes
*/
nbytes = sizeof(buf) - 1;
if ((result = ap_read(fd, (char *) buf, &nbytes)) != APR_SUCCESS) {
if ((result = apr_read(fd, (char *) buf, &nbytes)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, result, r,
MODNAME ": read failed: %s", r->filename);
return HTTP_INTERNAL_SERVER_ERROR;
@@ -898,7 +898,7 @@ static int magic_process(request_rec *r)
tryit(r, buf, nbytes, 1);
}
(void) ap_close(fd);
(void) apr_close(fd);
(void) magic_rsl_putchar(r, '\n');
return OK;
@@ -939,10 +939,10 @@ static void tryit(request_rec *r, unsigned char *buf, int nb, int checkzmagic)
* apprentice - load configuration from the magic file r
* API request record
*/
static int apprentice(server_rec *s, ap_pool_t *p)
static int apprentice(server_rec *s, apr_pool_t *p)
{
ap_file_t *f = NULL;
ap_status_t result;
apr_file_t *f = NULL;
apr_status_t result;
char line[BUFSIZ + 1];
int errs = 0;
int lineno;
@@ -954,7 +954,7 @@ static int apprentice(server_rec *s, ap_pool_t *p)
ap_get_module_config(s->module_config, &mime_magic_module);
const char *fname = ap_server_root_relative(p, conf->magicfile);
result = ap_open(&f, fname, APR_READ | APR_BUFFERED, APR_OS_DEFAULT, p);
result = apr_open(&f, fname, APR_READ | APR_BUFFERED, APR_OS_DEFAULT, p);
if (result != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_ERR, result, s,
MODNAME ": can't read magic file %s", fname);
@@ -965,7 +965,7 @@ static int apprentice(server_rec *s, ap_pool_t *p)
conf->magic = conf->last = NULL;
/* parse it */
for (lineno = 1; ap_fgets(line, BUFSIZ, f) == APR_SUCCESS; lineno++) {
for (lineno = 1; apr_fgets(line, BUFSIZ, f) == APR_SUCCESS; lineno++) {
int ws_offset;
/* delete newline */
@@ -998,7 +998,7 @@ static int apprentice(server_rec *s, ap_pool_t *p)
++errs;
}
(void) ap_close(f);
(void) apr_close(f);
#if MIME_MAGIC_DEBUG
ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_DEBUG, 0, s,
@@ -1079,7 +1079,7 @@ static unsigned long signextend(server_rec *s, struct magic *m, unsigned long v)
/*
* parse one line from magic file, put into magic[index++] if valid
*/
static int parse(server_rec *serv, ap_pool_t *p, char *l, int lineno)
static int parse(server_rec *serv, apr_pool_t *p, char *l, int lineno)
{
struct magic *m;
char *t, *s;
@@ -1087,7 +1087,7 @@ static int parse(server_rec *serv, ap_pool_t *p, char *l, int lineno)
ap_get_module_config(serv->module_config, &mime_magic_module);
/* allocate magic structure entry */
m = (struct magic *) ap_pcalloc(p, sizeof(struct magic));
m = (struct magic *) apr_pcalloc(p, sizeof(struct magic));
/* append to linked list */
m->next = NULL;
@@ -2139,25 +2139,25 @@ struct uncompress_parms {
int method;
};
static int uncompress_child(struct uncompress_parms *parm, ap_pool_t *cntxt,
static int uncompress_child(struct uncompress_parms *parm, apr_pool_t *cntxt,
BUFF **script_in)
{
int rc = 1;
char *new_argv[4];
char **env;
request_rec *r = parm->r;
ap_pool_t *child_context = cntxt;
ap_procattr_t *procattr;
ap_proc_t *procnew;
apr_pool_t *child_context = cntxt;
apr_procattr_t *procattr;
apr_proc_t *procnew;
ap_iol *iol;
env = ap_create_environment(child_context, r->subprocess_env);
if ((ap_createprocattr_init(&procattr, child_context) != APR_SUCCESS) ||
(ap_setprocattr_io(procattr, APR_FULL_BLOCK,
if ((apr_createprocattr_init(&procattr, child_context) != APR_SUCCESS) ||
(apr_setprocattr_io(procattr, APR_FULL_BLOCK,
APR_FULL_BLOCK, APR_NO_PIPE) != APR_SUCCESS) ||
(ap_setprocattr_dir(procattr, r->filename) != APR_SUCCESS) ||
(ap_setprocattr_cmdtype(procattr, APR_PROGRAM) != APR_SUCCESS)) {
(apr_setprocattr_dir(procattr, r->filename) != APR_SUCCESS) ||
(apr_setprocattr_cmdtype(procattr, APR_PROGRAM) != APR_SUCCESS)) {
/* Something bad happened, tell the world. */
ap_log_rerror(APLOG_MARK, APLOG_ERR, APR_ENOPROC, r,
"couldn't setup child process: %s", r->filename);
@@ -2172,8 +2172,8 @@ static int uncompress_child(struct uncompress_parms *parm, ap_pool_t *cntxt,
close(STDERR_FILENO);
}
procnew = ap_pcalloc(child_context, sizeof(*procnew));
rc = ap_create_process(procnew, compr[parm->method].argv[0],
procnew = apr_pcalloc(child_context, sizeof(*procnew));
rc = apr_create_process(procnew, compr[parm->method].argv[0],
new_argv, env, procattr, child_context);
if (rc != APR_SUCCESS) {
@@ -2183,7 +2183,7 @@ static int uncompress_child(struct uncompress_parms *parm, ap_pool_t *cntxt,
compr[parm->method].argv[0]);
}
else {
ap_note_subprocess(child_context, procnew, kill_after_timeout);
apr_note_subprocess(child_context, procnew, kill_after_timeout);
/* Fill in BUFF structure for parents pipe to child's stdout */
iol = ap_create_file_iol(procnew->out);
if (!iol)
@@ -2203,8 +2203,8 @@ static int uncompress(request_rec *r, int method,
{
struct uncompress_parms parm;
BUFF *bout = NULL;
ap_pool_t *sub_context;
ap_status_t rv;
apr_pool_t *sub_context;
apr_status_t rv;
parm.r = r;
parm.method = method;
@@ -2213,7 +2213,7 @@ static int uncompress(request_rec *r, int method,
* there are cases (i.e. generating directory indicies with mod_autoindex)
* where we would end up with LOTS of zombies.
*/
if (ap_create_pool(&sub_context, r->pool) != APR_SUCCESS)
if (apr_create_pool(&sub_context, r->pool) != APR_SUCCESS)
return -1;
if ((rv = uncompress_child(&parm, sub_context, &bout)) != APR_SUCCESS) {
@@ -2222,15 +2222,15 @@ static int uncompress(request_rec *r, int method,
return -1;
}
*newch = (unsigned char *) ap_palloc(r->pool, n);
*newch = (unsigned char *) apr_palloc(r->pool, n);
rv = ap_bread(bout, *newch, n, &n);
if (n == 0) {
ap_destroy_pool(sub_context);
apr_destroy_pool(sub_context);
ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r,
MODNAME ": read failed %s", r->filename);
return -1;
}
ap_destroy_pool(sub_context);
apr_destroy_pool(sub_context);
return n;
}
@@ -2350,7 +2350,7 @@ static int revision_suffix(request_rec *r)
/* perform sub-request for the file name without the suffix */
result = 0;
sub_filename = ap_pstrndup(r->pool, r->filename, suffix_pos);
sub_filename = apr_pstrndup(r->pool, r->filename, suffix_pos);
#if MIME_MAGIC_DEBUG
ap_log_rerror(APLOG_MARK, APLOG_NOERRNO | APLOG_DEBUG, 0, r,
MODNAME ": subrequest lookup for %s", sub_filename);
@@ -2359,7 +2359,7 @@ static int revision_suffix(request_rec *r)
/* extract content type/encoding/language from sub-request */
if (sub->content_type) {
r->content_type = ap_pstrdup(r->pool, sub->content_type);
r->content_type = apr_pstrdup(r->pool, sub->content_type);
#if MIME_MAGIC_DEBUG
ap_log_rerror(APLOG_MARK, APLOG_NOERRNO | APLOG_DEBUG, 0, r,
MODNAME ": subrequest %s got %s",
@@ -2367,10 +2367,10 @@ static int revision_suffix(request_rec *r)
#endif /* MIME_MAGIC_DEBUG */
if (sub->content_encoding)
r->content_encoding =
ap_pstrdup(r->pool, sub->content_encoding);
apr_pstrdup(r->pool, sub->content_encoding);
if (sub->content_language)
r->content_language =
ap_pstrdup(r->pool, sub->content_language);
apr_pstrdup(r->pool, sub->content_language);
result = 1;
}
@@ -2383,7 +2383,7 @@ static int revision_suffix(request_rec *r)
/*
* initialize the module
*/
static void magic_init(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *main_server)
static void magic_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *main_server)
{
int result;
magic_server_config_rec *conf;
@@ -2492,7 +2492,7 @@ module mime_magic_module =
NULL, /* dir merger --- default is to override */
create_magic_server_config, /* server config */
merge_magic_server_config, /* merge server config */
mime_magic_cmds, /* command ap_table_t */
mime_magic_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -139,7 +139,7 @@ typedef struct {
char *name; /* header name */
char *regex; /* regex to match against */
regex_t *preg; /* compiled regex */
ap_table_t *features; /* env vars to set (or unset) */
apr_table_t *features; /* env vars to set (or unset) */
ENUM_BITFIELD( /* is it a "special" header ? */
enum special,
special_type,4);
@@ -147,7 +147,7 @@ typedef struct {
} sei_entry;
typedef struct {
ap_array_header_t *conditionals;
apr_array_header_t *conditionals;
} sei_cfg_rec;
module MODULE_VAR_EXPORT setenvif_module;
@@ -161,30 +161,30 @@ module MODULE_VAR_EXPORT setenvif_module;
* the URI has been mapped to a file and we have anything from the
* .htaccess file and <Directory> and <Files> containers).
*/
static void *create_setenvif_config(ap_pool_t *p)
static void *create_setenvif_config(apr_pool_t *p)
{
sei_cfg_rec *new = (sei_cfg_rec *) ap_palloc(p, sizeof(sei_cfg_rec));
sei_cfg_rec *new = (sei_cfg_rec *) apr_palloc(p, sizeof(sei_cfg_rec));
new->conditionals = ap_make_array(p, 20, sizeof(sei_entry));
new->conditionals = apr_make_array(p, 20, sizeof(sei_entry));
return (void *) new;
}
static void *create_setenvif_config_svr(ap_pool_t *p, server_rec *dummy)
static void *create_setenvif_config_svr(apr_pool_t *p, server_rec *dummy)
{
return create_setenvif_config(p);
}
static void *create_setenvif_config_dir(ap_pool_t *p, char *dummy)
static void *create_setenvif_config_dir(apr_pool_t *p, char *dummy)
{
return create_setenvif_config(p);
}
static void *merge_setenvif_config(ap_pool_t *p, void *basev, void *overridesv)
static void *merge_setenvif_config(apr_pool_t *p, void *basev, void *overridesv)
{
sei_cfg_rec *a = ap_pcalloc(p, sizeof(sei_cfg_rec));
sei_cfg_rec *a = apr_pcalloc(p, sizeof(sei_cfg_rec));
sei_cfg_rec *base = basev, *overrides = overridesv;
a->conditionals = ap_append_arrays(p, base->conditionals,
a->conditionals = apr_append_arrays(p, base->conditionals,
overrides->conditionals);
return a;
}
@@ -222,7 +222,7 @@ static const char *add_setenvif_core(cmd_parms *cmd, void *mconfig,
/* get regex */
regex = ap_getword_conf(cmd->pool, &args);
if (!*regex) {
return ap_pstrcat(cmd->pool, "Missing regular expression for ",
return apr_pstrcat(cmd->pool, "Missing regular expression for ",
cmd->cmd->name, NULL);
}
@@ -252,7 +252,7 @@ static const char *add_setenvif_core(cmd_parms *cmd, void *mconfig,
/* no match, create a new entry */
new = ap_push_array(sconf->conditionals);
new = apr_push_array(sconf->conditionals);
new->name = fname;
new->regex = regex;
new->icase = icase;
@@ -260,10 +260,10 @@ static const char *add_setenvif_core(cmd_parms *cmd, void *mconfig,
(REG_EXTENDED | REG_NOSUB
| (icase ? REG_ICASE : 0)));
if (new->preg == NULL) {
return ap_pstrcat(cmd->pool, cmd->cmd->name,
return apr_pstrcat(cmd->pool, cmd->cmd->name,
" regex could not be compiled.", NULL);
}
new->features = ap_make_table(cmd->pool, 2);
new->features = apr_make_table(cmd->pool, 2);
if (!strcasecmp(fname, "remote_addr")) {
new->special_type = SPECIAL_REMOTE_ADDR;
@@ -300,18 +300,18 @@ static const char *add_setenvif_core(cmd_parms *cmd, void *mconfig,
var = ap_getword(cmd->pool, &feature, '=');
if (*feature) {
ap_table_setn(new->features, var, feature);
apr_table_setn(new->features, var, feature);
}
else if (*var == '!') {
ap_table_setn(new->features, var + 1, "!");
apr_table_setn(new->features, var + 1, "!");
}
else {
ap_table_setn(new->features, var, "1");
apr_table_setn(new->features, var, "1");
}
}
if (!beenhere) {
return ap_pstrcat(cmd->pool, "Missing envariable expression for ",
return apr_pstrcat(cmd->pool, "Missing envariable expression for ",
cmd->cmd->name, NULL);
}
@@ -326,7 +326,7 @@ static const char *add_setenvif(cmd_parms *cmd, void *mconfig,
/* get header name */
fname = ap_getword_conf(cmd->pool, &args);
if (!*fname) {
return ap_pstrcat(cmd->pool, "Missing header-field name for ",
return apr_pstrcat(cmd->pool, "Missing header-field name for ",
cmd->cmd->name, NULL);
}
return add_setenvif_core(cmd, mconfig, fname, args);
@@ -368,13 +368,13 @@ static int match_headers(request_rec *r)
{
sei_cfg_rec *sconf;
sei_entry *entries;
ap_table_entry_t *elts;
apr_table_entry_t *elts;
const char *val;
int i, j;
char *last_name;
if (ap_table_get(r->notes, SEI_MAGIC_HEIRLOOM) == NULL) {
ap_table_set(r->notes, SEI_MAGIC_HEIRLOOM, "post-read done");
if (apr_table_get(r->notes, SEI_MAGIC_HEIRLOOM) == NULL) {
apr_table_set(r->notes, SEI_MAGIC_HEIRLOOM, "post-read done");
sconf = (sei_cfg_rec *) ap_get_module_config(r->server->module_config,
&setenvif_module);
}
@@ -416,9 +416,9 @@ static int match_headers(request_rec *r)
val = r->protocol;
break;
case SPECIAL_NOT:
val = ap_table_get(r->headers_in, b->name);
val = apr_table_get(r->headers_in, b->name);
if (val == NULL) {
val = ap_table_get(r->subprocess_env, b->name);
val = apr_table_get(r->subprocess_env, b->name);
}
break;
}
@@ -435,15 +435,15 @@ static int match_headers(request_rec *r)
}
if (!ap_regexec(b->preg, val, 0, NULL, 0)) {
ap_array_header_t *arr = ap_table_elts(b->features);
elts = (ap_table_entry_t *) arr->elts;
apr_array_header_t *arr = ap_table_elts(b->features);
elts = (apr_table_entry_t *) arr->elts;
for (j = 0; j < arr->nelts; ++j) {
if (!strcmp(elts[j].val, "!")) {
ap_table_unset(r->subprocess_env, elts[j].key);
apr_table_unset(r->subprocess_env, elts[j].key);
}
else {
ap_table_setn(r->subprocess_env, elts[j].key, elts[j].val);
apr_table_setn(r->subprocess_env, elts[j].key, elts[j].val);
}
}
}
@@ -465,7 +465,7 @@ module MODULE_VAR_EXPORT setenvif_module =
merge_setenvif_config, /* dir merger --- default is to override */
create_setenvif_config_svr, /* server config */
merge_setenvif_config, /* merge server configs */
setenvif_module_cmds, /* command ap_table_t */
setenvif_module_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -176,14 +176,14 @@ static unsigned short unique_id_rec_offset[UNIQUE_ID_REC_MAX],
unique_id_rec_total_size,
unique_id_rec_size_uu;
static void unique_id_global_init(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *main_server)
static void unique_id_global_init(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *main_server)
{
#ifndef MAXHOSTNAMELEN
#define MAXHOSTNAMELEN 256
#endif
char str[MAXHOSTNAMELEN + 1];
struct hostent *hent;
ap_interval_time_t pause;
apr_interval_time_t pause;
/*
* Calculate the sizes and offsets in cur_unique_id.
@@ -244,14 +244,14 @@ static void unique_id_global_init(ap_pool_t *p, ap_pool_t *plog, ap_pool_t *ptem
* But protecting against it is relatively cheap. We just sleep into the
* next second.
*/
pause = (ap_interval_time_t)(1000000 - (ap_now() % AP_USEC_PER_SEC));
ap_sleep(pause);
pause = (apr_interval_time_t)(1000000 - (apr_now() % AP_USEC_PER_SEC));
apr_sleep(pause);
}
static void unique_id_child_init(ap_pool_t *p, server_rec *s)
static void unique_id_child_init(apr_pool_t *p, server_rec *s)
{
pid_t pid;
ap_time_t tv;
apr_time_t tv;
/*
* Note that we use the pid because it's possible that on the same
@@ -283,7 +283,7 @@ static void unique_id_child_init(ap_pool_t *p, server_rec *s)
* against restart problems, and a little less protection against a clock
* going backwards in time.
*/
tv = ap_now();
tv = apr_now();
/* Some systems have very low variance on the low end of their system
* counter, defend against that.
*/
@@ -331,8 +331,8 @@ static int gen_unique_id(request_rec *r)
/* copy the unique_id if this is an internal redirect (we're never
* actually called for sub requests, so we don't need to test for
* them) */
if (r->prev && (e = ap_table_get(r->subprocess_env, "REDIRECT_UNIQUE_ID"))) {
ap_table_setn(r->subprocess_env, "UNIQUE_ID", e);
if (r->prev && (e = apr_table_get(r->subprocess_env, "REDIRECT_UNIQUE_ID"))) {
apr_table_setn(r->subprocess_env, "UNIQUE_ID", e);
return DECLINED;
}
@@ -361,7 +361,7 @@ static int gen_unique_id(request_rec *r)
x[k++] = '\0';
/* alloc str and do the uuencoding */
str = (char *)ap_palloc(r->pool, unique_id_rec_size_uu + 1);
str = (char *)apr_palloc(r->pool, unique_id_rec_size_uu + 1);
k = 0;
for (i = 0; i < unique_id_rec_total_size; i += 3) {
y = x + i;
@@ -375,7 +375,7 @@ static int gen_unique_id(request_rec *r)
str[k++] = '\0';
/* set the environment variable */
ap_table_setn(r->subprocess_env, "UNIQUE_ID", str);
apr_table_setn(r->subprocess_env, "UNIQUE_ID", str);
/* and increment the identifier for the next call */
@@ -398,7 +398,7 @@ module MODULE_VAR_EXPORT unique_id_module = {
NULL, /* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server configs */
NULL, /* command ap_table_t */
NULL, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -137,15 +137,15 @@ static void make_cookie(request_rec *r)
dcfg = ap_get_module_config(r->per_dir_config, &usertrack_module);
/* XXX: hmm, this should really tie in with mod_unique_id */
ap_snprintf(cookiebuf, sizeof(cookiebuf), "%s.%qd", rname, ap_now());
apr_snprintf(cookiebuf, sizeof(cookiebuf), "%s.%qd", rname, apr_now());
if (cls->expires) {
ap_exploded_time_t tms;
ap_explode_gmt(&tms, r->request_time + cls->expires * AP_USEC_PER_SEC);
apr_explode_gmt(&tms, r->request_time + cls->expires * AP_USEC_PER_SEC);
/* Cookie with date; as strftime '%a, %d-%h-%y %H:%M:%S GMT' */
new_cookie = ap_psprintf(r->pool,
new_cookie = apr_psprintf(r->pool,
"%s=%s; path=/; expires=%s, %.2d-%s-%.2d %.2d:%.2d:%.2d GMT",
dcfg->cookie_name, cookiebuf, ap_day_snames[tms.tm_wday],
tms.tm_mday, ap_month_snames[tms.tm_mon],
@@ -153,12 +153,12 @@ static void make_cookie(request_rec *r)
tms.tm_hour, tms.tm_min, tms.tm_sec);
}
else {
new_cookie = ap_psprintf(r->pool, "%s=%s; path=/",
new_cookie = apr_psprintf(r->pool, "%s=%s; path=/",
dcfg->cookie_name, cookiebuf);
}
ap_table_setn(r->headers_out, "Set-Cookie", new_cookie);
ap_table_setn(r->notes, "cookie", ap_pstrdup(r->pool, cookiebuf)); /* log first time */
apr_table_setn(r->headers_out, "Set-Cookie", new_cookie);
apr_table_setn(r->notes, "cookie", apr_pstrdup(r->pool, cookiebuf)); /* log first time */
return;
}
@@ -173,18 +173,18 @@ static int spot_cookie(request_rec *r)
return DECLINED;
}
if ((cookie = ap_table_get(r->headers_in, "Cookie")))
if ((cookie = apr_table_get(r->headers_in, "Cookie")))
if ((value = strstr(cookie, dcfg->cookie_name))) {
char *cookiebuf, *cookieend;
value += strlen(dcfg->cookie_name) + 1; /* Skip over the '=' */
cookiebuf = ap_pstrdup(r->pool, value);
cookiebuf = apr_pstrdup(r->pool, value);
cookieend = strchr(cookiebuf, ';');
if (cookieend)
*cookieend = '\0'; /* Ignore anything after a ; */
/* Set the cookie in a note, for logging */
ap_table_setn(r->notes, "cookie", cookiebuf);
apr_table_setn(r->notes, "cookie", cookiebuf);
return DECLINED; /* There's already a cookie, no new one */
}
@@ -192,21 +192,21 @@ static int spot_cookie(request_rec *r)
return OK; /* We set our cookie */
}
static void *make_cookie_log_state(ap_pool_t *p, server_rec *s)
static void *make_cookie_log_state(apr_pool_t *p, server_rec *s)
{
cookie_log_state *cls =
(cookie_log_state *) ap_palloc(p, sizeof(cookie_log_state));
(cookie_log_state *) apr_palloc(p, sizeof(cookie_log_state));
cls->expires = 0;
return (void *) cls;
}
static void *make_cookie_dir(ap_pool_t *p, char *d)
static void *make_cookie_dir(apr_pool_t *p, char *d)
{
cookie_dir_rec *dcfg;
dcfg = (cookie_dir_rec *) ap_pcalloc(p, sizeof(cookie_dir_rec));
dcfg = (cookie_dir_rec *) apr_pcalloc(p, sizeof(cookie_dir_rec));
dcfg->cookie_name = COOKIE_NAME;
dcfg->enabled = 0;
return dcfg;
@@ -291,7 +291,7 @@ static const char *set_cookie_name(cmd_parms *cmd, void *mconfig, char *name)
{
cookie_dir_rec *dcfg = (cookie_dir_rec *) mconfig;
dcfg->cookie_name = ap_pstrdup(cmd->pool, name);
dcfg->cookie_name = apr_pstrdup(cmd->pool, name);
return NULL;
}
@@ -314,7 +314,7 @@ module MODULE_VAR_EXPORT usertrack_module = {
NULL, /* dir merger --- default is to override */
make_cookie_log_state, /* server config */
NULL, /* merge server configs */
cookie_log_cmds, /* command ap_table_t */
cookie_log_cmds, /* command apr_table_t */
NULL, /* handlers */
register_hooks /* register hooks */
};

View File

@@ -157,7 +157,7 @@ static int proxy_detect(request_rec *r)
r->parsed_uri.port_str ? r->parsed_uri.port : ap_default_port(r)))) {
r->proxyreq = 1;
r->uri = r->unparsed_uri;
r->filename = ap_pstrcat(r->pool, "proxy:", r->uri, NULL);
r->filename = apr_pstrcat(r->pool, "proxy:", r->uri, NULL);
r->handler = "proxy-server";
}
}
@@ -167,7 +167,7 @@ static int proxy_detect(request_rec *r)
&& r->parsed_uri.port_str) {
r->proxyreq = 1;
r->uri = r->unparsed_uri;
r->filename = ap_pstrcat(r->pool, "proxy:", r->uri, NULL);
r->filename = apr_pstrcat(r->pool, "proxy:", r->uri, NULL);
r->handler = "proxy-server";
}
return DECLINED;
@@ -197,7 +197,7 @@ static int proxy_trans(request_rec *r)
len = alias_match(r->uri, ent[i].fake);
if (len > 0) {
r->filename = ap_pstrcat(r->pool, "proxy:", ent[i].real,
r->filename = apr_pstrcat(r->pool, "proxy:", ent[i].real,
r->uri + len, NULL);
r->handler = "proxy-server";
r->proxyreq = 1;
@@ -256,17 +256,17 @@ static int proxy_needsdomain(request_rec *r, const char *url, const char *domain
|| strcasecmp(r->parsed_uri.hostname, "localhost") == 0)
return DECLINED; /* host name has a dot already */
ref = ap_table_get(r->headers_in, "Referer");
ref = apr_table_get(r->headers_in, "Referer");
/* Reassemble the request, but insert the domain after the host name */
/* Note that the domain name always starts with a dot */
r->parsed_uri.hostname = ap_pstrcat(r->pool, r->parsed_uri.hostname,
r->parsed_uri.hostname = apr_pstrcat(r->pool, r->parsed_uri.hostname,
domain, NULL);
nuri = ap_unparse_uri_components(r->pool,
&r->parsed_uri,
UNP_REVEALPASSWORD);
ap_table_set(r->headers_out, "Location", nuri);
apr_table_set(r->headers_out, "Location", nuri);
ap_log_rerror(APLOG_MARK, APLOG_INFO|APLOG_NOERRNO, 0, r,
"Domain missing: %s sent to %s%s%s", r->uri,
ap_unparse_uri_components(r->pool, &r->parsed_uri,
@@ -285,7 +285,7 @@ static int proxy_handler(request_rec *r)
void *sconf = r->server->module_config;
proxy_server_conf *conf = (proxy_server_conf *)
ap_get_module_config(sconf, &proxy_module);
ap_array_header_t *proxies = conf->proxies;
apr_array_header_t *proxies = conf->proxies;
struct proxy_remote *ents = (struct proxy_remote *) proxies->elts;
int i, rc;
ap_cache_el *cr=NULL;
@@ -297,7 +297,7 @@ static int proxy_handler(request_rec *r)
return DECLINED;
if (r->method_number == M_TRACE && (maxfwd_str =
ap_table_get(r->headers_in, "Max-Forwards")) != NULL) {
apr_table_get(r->headers_in, "Max-Forwards")) != NULL) {
int maxfwd = strtol(maxfwd_str, NULL, 10);
if (maxfwd < 1) {
int access_status;
@@ -308,8 +308,8 @@ static int proxy_handler(request_rec *r)
ap_finalize_request_protocol(r);
return OK;
}
ap_table_setn(r->headers_in, "Max-Forwards",
ap_psprintf(r->pool, "%d", (maxfwd > 0) ? maxfwd-1 : 0));
apr_table_setn(r->headers_in, "Max-Forwards",
apr_psprintf(r->pool, "%d", (maxfwd > 0) ? maxfwd-1 : 0));
}
if ((rc = ap_setup_client_block(r, REQUEST_CHUNKED_ERROR)))
@@ -320,9 +320,9 @@ static int proxy_handler(request_rec *r)
if (p == NULL)
return HTTP_BAD_REQUEST;
pragma = ap_table_get(r->headers_in, "Pragma");
auth = ap_table_get(r->headers_in, "Authorization");
imstr = ap_table_get(r->headers_in, "If-Modified-Since");
pragma = apr_table_get(r->headers_in, "Pragma");
auth = apr_table_get(r->headers_in, "Authorization");
imstr = apr_table_get(r->headers_in, "If-Modified-Since");
ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL,
"Request for %s, pragma=%s, auth=%s, imstr=%s", url,
@@ -341,7 +341,7 @@ static int proxy_handler(request_rec *r)
{
time_t ims = (time_t)ap_parseHTTPdate(ap_proxy_date_canon(r->pool, imstr));
if(ims == BAD_DATE)
ap_table_unset(r->headers_in, "If-Modified-Since");
apr_table_unset(r->headers_in, "If-Modified-Since");
else
{
/* ok we were asked to check, so let's do that */
@@ -353,7 +353,7 @@ static int proxy_handler(request_rec *r)
if(lm != BAD_DATE)
{
if(ims < lm)
ap_table_set(r->headers_in,
apr_table_set(r->headers_in,
"If-Modified-Since", imstr);
else
{
@@ -379,7 +379,7 @@ static int proxy_handler(request_rec *r)
}
*p = '\0';
scheme = ap_pstrdup(r->pool, url);
scheme = apr_pstrdup(r->pool, url);
*p = ':';
/* Check URI's destination host against NoProxy hosts */
@@ -447,17 +447,17 @@ static int proxy_handler(request_rec *r)
/* -------------------------------------------------------------- */
/* Setup configurable data */
static void *create_proxy_config(ap_pool_t *p, server_rec *s)
static void *create_proxy_config(apr_pool_t *p, server_rec *s)
{
proxy_server_conf *ps = ap_pcalloc(p, sizeof(proxy_server_conf));
proxy_server_conf *ps = apr_pcalloc(p, sizeof(proxy_server_conf));
ps->proxies = ap_make_array(p, 10, sizeof(struct proxy_remote));
ps->aliases = ap_make_array(p, 10, sizeof(struct proxy_alias));
ps->raliases = ap_make_array(p, 10, sizeof(struct proxy_alias));
ps->noproxies = ap_make_array(p, 10, sizeof(struct noproxy_entry));
ps->dirconn = ap_make_array(p, 10, sizeof(struct dirconn_entry));
ps->nocaches = ap_make_array(p, 10, sizeof(struct nocache_entry));
ps->allowed_connect_ports = ap_make_array(p, 10, sizeof(int));
ps->proxies = apr_make_array(p, 10, sizeof(struct proxy_remote));
ps->aliases = apr_make_array(p, 10, sizeof(struct proxy_alias));
ps->raliases = apr_make_array(p, 10, sizeof(struct proxy_alias));
ps->noproxies = apr_make_array(p, 10, sizeof(struct noproxy_entry));
ps->dirconn = apr_make_array(p, 10, sizeof(struct dirconn_entry));
ps->nocaches = apr_make_array(p, 10, sizeof(struct nocache_entry));
ps->allowed_connect_ports = apr_make_array(p, 10, sizeof(int));
ps->cache_completion = DEFAULT_CACHE_COMPLETION;
ps->domain = NULL;
ps->viaopt = via_off; /* initially backward compatible with 1.3.1 */
@@ -501,7 +501,7 @@ static const char *
port = defports[i].port;
}
new = ap_push_array(conf->proxies);
new = apr_push_array(conf->proxies);
new->scheme = f;
new->protocol = r;
new->hostname = p + 3;
@@ -527,7 +527,7 @@ static const char *
}
if (!found) {
new = ap_push_array(psf->nocaches);
new = apr_push_array(psf->nocaches);
new->name = arg;
/* Don't do name lookups on things that aren't dotted */
if (strchr(arg, '.') != NULL && ap_proxy_host2addr(new->name, &hp) == NULL)
@@ -547,7 +547,7 @@ static const char *
(proxy_server_conf *) ap_get_module_config(s->module_config, &proxy_module);
struct proxy_alias *new;
new = ap_push_array(conf->aliases);
new = apr_push_array(conf->aliases);
new->fake = f;
new->real = r;
return NULL;
@@ -562,7 +562,7 @@ static const char *
conf = (proxy_server_conf *)ap_get_module_config(s->module_config,
&proxy_module);
new = ap_push_array(conf->raliases);
new = apr_push_array(conf->raliases);
new->fake = f;
new->real = r;
return NULL;
@@ -586,7 +586,7 @@ static const char *set_proxy_exclude(cmd_parms *parms, void *dummy, char *arg)
}
if (!found) {
new = ap_push_array(conf->noproxies);
new = apr_push_array(conf->noproxies);
new->name = arg;
/* Don't do name lookups on things that aren't dotted */
if (strchr(arg, '.') != NULL && ap_proxy_host2addr(new->name, &hp) == NULL)
@@ -612,7 +612,7 @@ static const char *
if (!ap_isdigit(arg[0]))
return "AllowCONNECT: port number must be numeric";
New = ap_push_array(conf->allowed_connect_ports);
New = apr_push_array(conf->allowed_connect_ports);
*New = atoi(arg);
return NULL;
}
@@ -638,7 +638,7 @@ static const char *
}
if (!found) {
New = ap_push_array(conf->dirconn);
New = apr_push_array(conf->dirconn);
New->name = arg;
New->hostentry = NULL;
@@ -802,7 +802,7 @@ module MODULE_VAR_EXPORT proxy_module =
NULL, /* merge per-directory config structures */
create_proxy_config, /* create per-server config structure */
NULL, /* merge per-server config structures */
proxy_cmds, /* command ap_table_t */
proxy_cmds, /* command apr_table_t */
proxy_handlers, /* handlers */
register_hooks
};

View File

@@ -193,13 +193,13 @@ struct nocache_entry {
};
typedef struct {
ap_array_header_t *proxies;
ap_array_header_t *aliases;
ap_array_header_t *raliases;
ap_array_header_t *noproxies;
ap_array_header_t *dirconn;
ap_array_header_t *nocaches;
ap_array_header_t *allowed_connect_ports;
apr_array_header_t *proxies;
apr_array_header_t *aliases;
apr_array_header_t *raliases;
apr_array_header_t *noproxies;
apr_array_header_t *dirconn;
apr_array_header_t *nocaches;
apr_array_header_t *allowed_connect_ports;
char *domain; /* domain name to use in absence of a domain name in the request */
int req; /* true if proxy requests are enabled */
float cache_completion; /* Force cache completion after this point */
@@ -241,32 +241,32 @@ int ap_proxy_http_handler(request_rec *r, ap_cache_el *c, char *url,
int ap_proxy_hex2c(const char *x);
void ap_proxy_c2hex(int ch, char *x);
char *ap_proxy_canonenc(ap_pool_t *p, const char *x, int len, enum enctype t,
char *ap_proxy_canonenc(apr_pool_t *p, const char *x, int len, enum enctype t,
int isenc);
char *ap_proxy_canon_netloc(ap_pool_t *p, char **const urlp, char **userp,
char *ap_proxy_canon_netloc(apr_pool_t *p, char **const urlp, char **userp,
char **passwordp, char **hostp, int *port);
const char *ap_proxy_date_canon(ap_pool_t *p, const char *x);
ap_table_t *ap_proxy_read_headers(request_rec *r, char *buffer, int size, BUFF *f);
const char *ap_proxy_date_canon(apr_pool_t *p, const char *x);
apr_table_t *ap_proxy_read_headers(request_rec *r, char *buffer, int size, BUFF *f);
long int ap_proxy_send_fb(proxy_completion *, BUFF *f, request_rec *r, ap_cache_el *c);
void ap_proxy_send_headers(request_rec *r, const char *respline, ap_table_t *hdrs);
void ap_proxy_send_headers(request_rec *r, const char *respline, apr_table_t *hdrs);
int ap_proxy_liststr(const char *list, const char *val);
void ap_proxy_hash(const char *it, char *val, int ndepth, int nlength);
int ap_proxy_hex2sec(const char *x);
void ap_proxy_sec2hex(int t, char *y);
const char *ap_proxy_host2addr(const char *host, struct hostent *reqhp);
int ap_proxy_cache_send(request_rec *r, ap_cache_el *c);
int ap_proxy_cache_should_cache(request_rec *r, ap_table_t *resp_hdrs,
int ap_proxy_cache_should_cache(request_rec *r, apr_table_t *resp_hdrs,
const int is_HTTP1);
int ap_proxy_cache_update(ap_cache_el *c);
void ap_proxy_cache_error(ap_cache_el **r);
int ap_proxyerror(request_rec *r, int statuscode, const char *message);
int ap_proxy_is_ipaddr(struct dirconn_entry *This, ap_pool_t *p);
int ap_proxy_is_domainname(struct dirconn_entry *This, ap_pool_t *p);
int ap_proxy_is_hostname(struct dirconn_entry *This, ap_pool_t *p);
int ap_proxy_is_word(struct dirconn_entry *This, ap_pool_t *p);
int ap_proxy_doconnect(ap_socket_t *sock, char *host, ap_uint32_t port, request_rec *r);
int ap_proxy_garbage_init(server_rec *, ap_pool_t *);
/* This function is called by ap_table_do() for all header lines */
int ap_proxy_is_ipaddr(struct dirconn_entry *This, apr_pool_t *p);
int ap_proxy_is_domainname(struct dirconn_entry *This, apr_pool_t *p);
int ap_proxy_is_hostname(struct dirconn_entry *This, apr_pool_t *p);
int ap_proxy_is_word(struct dirconn_entry *This, apr_pool_t *p);
int ap_proxy_doconnect(apr_socket_t *sock, char *host, apr_uint32_t port, request_rec *r);
int ap_proxy_garbage_init(server_rec *, apr_pool_t *);
/* This function is called by apr_table_do() for all header lines */
int ap_proxy_send_hdr_line(void *p, const char *key, const char *value);
unsigned ap_proxy_bputs2(const char *data, BUFF *client, ap_cache_el *cache);

View File

@@ -118,15 +118,15 @@ int ap_proxy_connect_handler(request_rec *r, ap_cache_el *c, char *url,
const char *host;
char *p;
int port;
ap_socket_t *sock;
apr_socket_t *sock;
char buffer[HUGE_STRING_LEN];
int nbytes, i;
BUFF *sock_buff;
ap_socket_t *client_sock=NULL;
ap_pollfd_t *pollfd;
ap_int32_t pollcnt;
ap_int16_t pollevent;
apr_socket_t *client_sock=NULL;
apr_pollfd_t *pollfd;
apr_int32_t pollcnt;
apr_int16_t pollevent;
void *sconf = r->server->module_config;
proxy_server_conf *conf =
@@ -174,16 +174,16 @@ int ap_proxy_connect_handler(request_rec *r, ap_cache_el *c, char *url,
"CONNECT to %s on port %d", host, port);
}
if ((ap_create_tcp_socket(&sock, r->pool)) != APR_SUCCESS) {
if ((apr_create_tcp_socket(&sock, r->pool)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"proxy: error creating socket");
return HTTP_INTERNAL_SERVER_ERROR;
}
if (ap_proxy_doconnect(sock, (char *)(proxyhost ? proxyhost : host), proxyport ? proxyport : port, r) == -1) {
ap_close_socket(sock);
apr_close_socket(sock);
return ap_proxyerror(r, HTTP_INTERNAL_SERVER_ERROR,
ap_pstrcat(r->pool, "Could not connect to remote machine:<br>",
apr_pstrcat(r->pool, "Could not connect to remote machine:<br>",
strerror(errno), NULL));
}
@@ -197,10 +197,10 @@ int ap_proxy_connect_handler(request_rec *r, ap_cache_el *c, char *url,
*/
ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL,
"Sending the CONNECT request to the remote proxy");
nbytes = ap_snprintf(buffer, sizeof(buffer), "CONNECT %s HTTP/1.0" CRLF, r->uri);
ap_send(sock, buffer, &nbytes);
nbytes = ap_snprintf(buffer, sizeof(buffer),"Proxy-agent: %s" CRLF CRLF, ap_get_server_version());
ap_send(sock, buffer, &nbytes);
nbytes = apr_snprintf(buffer, sizeof(buffer), "CONNECT %s HTTP/1.0" CRLF, r->uri);
apr_send(sock, buffer, &nbytes);
nbytes = apr_snprintf(buffer, sizeof(buffer),"Proxy-agent: %s" CRLF CRLF, ap_get_server_version());
apr_send(sock, buffer, &nbytes);
}
else {
ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL,
@@ -213,9 +213,9 @@ int ap_proxy_connect_handler(request_rec *r, ap_cache_el *c, char *url,
sock_buff = ap_bcreate(r->pool, B_RDWR);
ap_bpush_iol(sock_buff, ap_iol_attach_socket(sock));
if(ap_setup_poll(&pollfd, 2, r->pool) != APR_SUCCESS)
if(apr_setup_poll(&pollfd, 2, r->pool) != APR_SUCCESS)
{
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, "proxy: error ap_setup_poll()");
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, "proxy: error apr_setup_poll()");
return HTTP_INTERNAL_SERVER_ERROR;
}
@@ -226,31 +226,31 @@ int ap_proxy_connect_handler(request_rec *r, ap_cache_el *c, char *url,
just see if a recv gives us anything and do the same to sock (server) side, I'll leave this as TBD so
one can decide the best path to take
*/
if(ap_put_os_sock(&client_sock, (ap_os_sock_t *)get_socket(r->connection->client),
if(apr_put_os_sock(&client_sock, (apr_os_sock_t *)get_socket(r->connection->client),
r->pool) != APR_SUCCESS)
{
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, "proxy: error creating client ap_socket_t");
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, "proxy: error creating client apr_socket_t");
return HTTP_INTERNAL_SERVER_ERROR;
}
ap_add_poll_socket(pollfd, client_sock, APR_POLLIN);
apr_add_poll_socket(pollfd, client_sock, APR_POLLIN);
#endif
/* Add the server side to the poll */
ap_add_poll_socket(pollfd, sock, APR_POLLIN);
apr_add_poll_socket(pollfd, sock, APR_POLLIN);
while (1) { /* Infinite loop until error (one side closes the connection) */
ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL, "Going to sleep (poll)");
if(ap_poll(pollfd, &pollcnt, -1) != APR_SUCCESS)
if(apr_poll(pollfd, &pollcnt, -1) != APR_SUCCESS)
{
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, "proxy: error ap_poll()");
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, "proxy: error apr_poll()");
return HTTP_INTERNAL_SERVER_ERROR;
}
ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL,
"Woke from select(), i=%d", pollcnt);
if (pollcnt) {
ap_get_revents(&pollevent, sock, pollfd);
apr_get_revents(&pollevent, sock, pollfd);
if (pollevent & APR_POLLIN) {
ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL,
"sock was set");
@@ -269,7 +269,7 @@ int ap_proxy_connect_handler(request_rec *r, ap_cache_el *c, char *url,
break;
}
ap_get_revents(&pollevent, client_sock, pollfd);
apr_get_revents(&pollevent, client_sock, pollfd);
if (pollevent & APR_POLLIN) {
ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL,
"client was set");
@@ -292,7 +292,7 @@ int ap_proxy_connect_handler(request_rec *r, ap_cache_el *c, char *url,
break;
}
ap_close_socket(sock);
apr_close_socket(sock);
return OK;
}

View File

@@ -127,7 +127,7 @@ static int ftp_check_string(const char *x)
int ap_proxy_ftp_canon(request_rec *r, char *url)
{
char *user, *password, *host, *path, *parms, *strp, sport[7];
ap_pool_t *p = r->pool;
apr_pool_t *p = r->pool;
const char *err;
int port;
@@ -167,13 +167,13 @@ int ap_proxy_ftp_canon(request_rec *r, char *url)
strp = ap_proxy_canonenc(p, r->args, strlen(r->args), enc_parm, 1);
if (strp == NULL)
return HTTP_BAD_REQUEST;
parms = ap_pstrcat(p, parms, "?", strp, NULL);
parms = apr_pstrcat(p, parms, "?", strp, NULL);
}
else {
strp = ap_proxy_canonenc(p, r->args, strlen(r->args), enc_fpath, 1);
if (strp == NULL)
return HTTP_BAD_REQUEST;
path = ap_pstrcat(p, path, "?", strp, NULL);
path = apr_pstrcat(p, path, "?", strp, NULL);
}
r->args = NULL;
}
@@ -181,11 +181,11 @@ int ap_proxy_ftp_canon(request_rec *r, char *url)
/* now, rebuild URL */
if (port != DEFAULT_FTP_PORT)
ap_snprintf(sport, sizeof(sport), ":%d", port);
apr_snprintf(sport, sizeof(sport), ":%d", port);
else
sport[0] = '\0';
r->filename = ap_pstrcat(p, "proxy:ftp://", (user != NULL) ? user : "",
r->filename = apr_pstrcat(p, "proxy:ftp://", (user != NULL) ? user : "",
(password != NULL) ? ":" : "",
(password != NULL) ? password : "",
(user != NULL) ? "@" : "", host, sport, "/", path,
@@ -254,7 +254,7 @@ static int ftp_getrc_msg(BUFF *f, char *msgbuf, int msglen)
else
status = 100 * linebuff[0] + 10 * linebuff[1] + linebuff[2] - 111 * '0';
mb = ap_cpystrn(mb, linebuff+4, me - mb);
mb = apr_cpystrn(mb, linebuff+4, me - mb);
if (linebuff[len - 1] != '\n')
skiplf(f);
@@ -269,7 +269,7 @@ static int ftp_getrc_msg(BUFF *f, char *msgbuf, int msglen)
if (linebuff[len - 1] != '\n') {
skiplf(f);
}
mb = ap_cpystrn(mb, linebuff+4, me - mb);
mb = apr_cpystrn(mb, linebuff+4, me - mb);
} while (memcmp(linebuff, buff, 4) != 0);
}
return status;
@@ -283,7 +283,7 @@ static long int send_dir(BUFF *f, request_rec *r, ap_cache_el *c, char *cwd)
int searchidx = 0;
char *searchptr = NULL;
int firstfile = 1;
ap_ssize_t cntr;
apr_ssize_t cntr;
unsigned long total_bytes_sent = 0;
register int n, o, w;
conn_rec *con = r->connection;
@@ -299,12 +299,12 @@ static long int send_dir(BUFF *f, request_rec *r, ap_cache_el *c, char *cwd)
(void)decodeenc(path);
/* Copy path, strip (all except the last) trailing slashes */
path = dir = ap_pstrcat(r->pool, path, "/", NULL);
path = dir = apr_pstrcat(r->pool, path, "/", NULL);
while ((n = strlen(path)) > 1 && path[n-1] == '/' && path[n-2] == '/')
path[n-1] = '\0';
/* print "ftp://host/" */
n = ap_snprintf(buf, sizeof(buf), DOCTYPE_HTML_3_2
n = apr_snprintf(buf, sizeof(buf), DOCTYPE_HTML_3_2
"<HTML><HEAD><TITLE>%s%s</TITLE>\n"
"<BASE HREF=\"%s%s\"></HEAD>\n"
"<BODY><H2>Directory of "
@@ -320,16 +320,16 @@ static long int send_dir(BUFF *f, request_rec *r, ap_cache_el *c, char *cwd)
else
++reldir;
/* print "path/" component */
ap_snprintf(buf, sizeof(buf), "<A HREF=\"/%s/\">%s</A>/", path+1, reldir);
apr_snprintf(buf, sizeof(buf), "<A HREF=\"/%s/\">%s</A>/", path+1, reldir);
total_bytes_sent += ap_proxy_bputs2(buf, con->client, c);
*dir = '/';
}
/* If the caller has determined the current directory, and it differs */
/* from what the client requested, then show the real name */
if (cwd == NULL || strncmp (cwd, path, strlen(cwd)) == 0) {
ap_snprintf(buf, sizeof(buf), "</H2>\n<HR><PRE>");
apr_snprintf(buf, sizeof(buf), "</H2>\n<HR><PRE>");
} else {
ap_snprintf(buf, sizeof(buf), "</H2>\n(%s)\n<HR><PRE>", cwd);
apr_snprintf(buf, sizeof(buf), "</H2>\n(%s)\n<HR><PRE>", cwd);
}
total_bytes_sent += ap_proxy_bputs2(buf, con->client, c);
@@ -355,8 +355,8 @@ static long int send_dir(BUFF *f, request_rec *r, ap_cache_el *c, char *cwd)
*(link_ptr++) = '\0';
if ((n = strlen(link_ptr)) > 1 && link_ptr[n - 1] == '\n')
link_ptr[n - 1] = '\0';
ap_snprintf(buf2, sizeof(buf2), "%s <A HREF=\"%s\">%s %s</A>\n", buf, filename, filename, link_ptr);
ap_cpystrn(buf, buf2, sizeof(buf));
apr_snprintf(buf2, sizeof(buf2), "%s <A HREF=\"%s\">%s %s</A>\n", buf, filename, filename, link_ptr);
apr_cpystrn(buf, buf2, sizeof(buf));
n = strlen(buf);
}
else if (buf[0] == 'd' || buf[0] == '-' || buf[0] == 'l' || ap_isdigit(buf[0])) {
@@ -386,13 +386,13 @@ static long int send_dir(BUFF *f, request_rec *r, ap_cache_el *c, char *cwd)
/* Special handling for '.' and '..' */
if (!strcmp(filename, ".") || !strcmp(filename, "..") || buf[0] == 'd') {
ap_snprintf(buf2, sizeof(buf2), "%s <A HREF=\"%s/\">%s</A>\n",
apr_snprintf(buf2, sizeof(buf2), "%s <A HREF=\"%s/\">%s</A>\n",
buf, filename, filename);
}
else {
ap_snprintf(buf2, sizeof(buf2), "%s <A HREF=\"%s\">%s</A>\n", buf, filename, filename);
apr_snprintf(buf2, sizeof(buf2), "%s <A HREF=\"%s\">%s</A>\n", buf, filename, filename);
}
ap_cpystrn(buf, buf2, sizeof(buf));
apr_cpystrn(buf, buf2, sizeof(buf));
n = strlen(buf);
}
@@ -443,8 +443,8 @@ static int ftp_unauthorized (request_rec *r, int log_it)
ap_unparse_uri_components(r->pool,
&r->parsed_uri, UNP_OMITPATHINFO));
ap_table_setn(r->err_headers_out, "WWW-Authenticate",
ap_pstrcat(r->pool, "Basic realm=\"",
apr_table_setn(r->err_headers_out, "WWW-Authenticate",
apr_pstrcat(r->pool, "Basic realm=\"",
ap_unparse_uri_components(r->pool, &r->parsed_uri,
UNP_OMITPASSWORD|UNP_OMITPATHINFO),
"\"", NULL));
@@ -465,16 +465,16 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
char *user = NULL;
/* char *account = NULL; how to supply an account in a URL? */
const char *password = NULL;
ap_socket_t *sock, *dsock, *inc;
apr_socket_t *sock, *dsock, *inc;
int port, i, j, len, rc, nocache = 0;
ap_socket_t *csd;
apr_socket_t *csd;
struct in_addr destaddr;
BUFF *f, *cachefp = NULL;
BUFF *data = NULL;
ap_pool_t *p = r->pool;
apr_pool_t *p = r->pool;
int one = 1;
const long int zero = 0L;
ap_table_t *resp_hdrs;
apr_table_t *resp_hdrs;
void *sconf = r->server->module_config;
proxy_server_conf *conf =
@@ -490,7 +490,7 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
char *pstr, dates[AP_RFC822_DATE_LEN];
char *npaddr;
ap_uint32_t npport;
apr_uint32_t npport;
/* stuff for responses */
char resp[MAX_STRING_LEN];
@@ -507,7 +507,7 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
port = (r->parsed_uri.port != 0)
? r->parsed_uri.port
: ap_default_port_for_request(r);
path = ap_pstrdup(p, r->parsed_uri.path);
path = apr_pstrdup(p, r->parsed_uri.path);
path = (path != NULL && path[0] != '\0') ? &path[1] : "";
/* The "Authorization:" header must be checked first.
@@ -518,7 +518,7 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
* simply uuencodes the plain text password.
* But chances are still smaller that the URL is logged regularly.
*/
if ((password = ap_table_get(r->headers_in, "Authorization")) != NULL
if ((password = apr_table_get(r->headers_in, "Authorization")) != NULL
&& strcasecmp(ap_getword(r->pool, &password, ' '), "Basic") == 0
&& (password = ap_pbase64decode(r->pool, password))[0] != ':') {
/* Note that this allocation has to be made from r->connection->pool
@@ -531,10 +531,10 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
nocache = 1; /* This resource only accessible with username/password */
}
else if ((user = r->parsed_uri.user) != NULL) {
user = ap_pstrdup(p, user);
user = apr_pstrdup(p, user);
decodeenc(user);
if ((password = r->parsed_uri.password) != NULL) {
char *tmp = ap_pstrdup(p, password);
char *tmp = apr_pstrdup(p, password);
decodeenc(tmp);
password = tmp;
}
@@ -561,30 +561,30 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
if (parms != NULL)
*(parms++) = '\0';
if ((ap_create_tcp_socket(&sock, r->pool)) != APR_SUCCESS) {
if ((apr_create_tcp_socket(&sock, r->pool)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"proxy: error creating socket");
return HTTP_INTERNAL_SERVER_ERROR;
}
if (conf->recv_buffer_size > 0 && ap_setsocketopt(sock, APR_SO_RCVBUF,conf->recv_buffer_size)) {
if (conf->recv_buffer_size > 0 && apr_setsocketopt(sock, APR_SO_RCVBUF,conf->recv_buffer_size)) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"setsockopt(SO_RCVBUF): Failed to set ProxyReceiveBufferSize, using default");
}
if (ap_setsocketopt(sock, APR_SO_REUSEADDR, one)) {
if (apr_setsocketopt(sock, APR_SO_REUSEADDR, one)) {
#ifndef _OSD_POSIX /* BS2000 has this option "always on" */
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"proxy: error setting reuseaddr option: setsockopt(SO_REUSEADDR)");
ap_close_socket(sock);
apr_close_socket(sock);
return HTTP_INTERNAL_SERVER_ERROR;
#endif /*_OSD_POSIX*/
}
if (ap_proxy_doconnect(sock, host, port, r) == -1) {
ap_close_socket(sock);
apr_close_socket(sock);
return ap_proxyerror(r, HTTP_BAD_GATEWAY,
ap_pstrcat(r->pool, "Could not connect to remote machine: ",
apr_pstrcat(r->pool, "Could not connect to remote machine: ",
strerror(errno), NULL));
}
@@ -619,7 +619,7 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
* after the time of the response.
* Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds )
*/
ap_set_header("Retry-After", ap_psprintf(p, "%u", 60*wait_mins);
ap_set_header("Retry-After", apr_psprintf(p, "%u", 60*wait_mins);
return ap_proxyerror(r, HTTP_SERVICE_UNAVAILABLE, resp);
}
#endif
@@ -776,14 +776,14 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
}
/* try to set up PASV data connection first */
if ((ap_create_tcp_socket(&dsock, r->pool)) != APR_SUCCESS) {
if ((apr_create_tcp_socket(&dsock, r->pool)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"proxy: error creating PASV socket");
ap_bclose(f);
return HTTP_INTERNAL_SERVER_ERROR;
}
if (conf->recv_buffer_size > 0 && ap_setsocketopt(dsock, APR_SO_RCVBUF,conf->recv_buffer_size)) {
if (conf->recv_buffer_size > 0 && apr_setsocketopt(dsock, APR_SO_RCVBUF,conf->recv_buffer_size)) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"setsockopt(SO_RCVBUF): Failed to set ProxyReceiveBufferSize, using default");
}
@@ -803,7 +803,7 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
if (i == -1) {
ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, r,
"PASV: control connection is toast");
ap_close_socket(dsock);
apr_close_socket(dsock);
ap_bclose(f);
return HTTP_INTERNAL_SERVER_ERROR;
}
@@ -838,7 +838,7 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
if (ap_proxy_doconnect(dsock, inet_ntoa(destaddr), pport, r) == -1) {
return ap_proxyerror(r, HTTP_BAD_GATEWAY,
ap_pstrcat(r->pool,
apr_pstrcat(r->pool,
"Could not connect to remote machine: ",
strerror(errno), NULL));
}
@@ -847,43 +847,43 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
}
}
else
ap_close_socket(dsock); /* and try the regular way */
apr_close_socket(dsock); /* and try the regular way */
}
if (!pasvmode) { /* set up data connection */
if ((ap_create_tcp_socket(&dsock, r->pool)) != APR_SUCCESS) {
if ((apr_create_tcp_socket(&dsock, r->pool)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"proxy: error creating socket");
ap_bclose(f);
return HTTP_INTERNAL_SERVER_ERROR;
}
ap_get_local_port(&npport, sock);
ap_get_local_ipaddr(&npaddr, sock);
ap_set_local_port(dsock, npport);
ap_set_local_ipaddr(dsock, npaddr);
apr_get_local_port(&npport, sock);
apr_get_local_ipaddr(&npaddr, sock);
apr_set_local_port(dsock, npport);
apr_set_local_ipaddr(dsock, npaddr);
if (ap_setsocketopt(dsock, APR_SO_REUSEADDR, one) != APR_SUCCESS) {
if (apr_setsocketopt(dsock, APR_SO_REUSEADDR, one) != APR_SUCCESS) {
#ifndef _OSD_POSIX /* BS2000 has this option "always on" */
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"proxy: error setting reuseaddr option");
ap_close_socket(dsock);
apr_close_socket(dsock);
ap_bclose(f);
return HTTP_INTERNAL_SERVER_ERROR;
#endif /*_OSD_POSIX*/
}
if (ap_bind(dsock) != APR_SUCCESS) {
if (apr_bind(dsock) != APR_SUCCESS) {
char buff[22];
ap_snprintf(buff, sizeof(buff), "%s:%d", npaddr, npport);
apr_snprintf(buff, sizeof(buff), "%s:%d", npaddr, npport);
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"proxy: error binding to ftp data socket %s", buff);
ap_bclose(f);
ap_close_socket(dsock);
apr_close_socket(dsock);
return HTTP_INTERNAL_SERVER_ERROR;
}
ap_listen(dsock, 2); /* only need a short queue */
apr_listen(dsock, 2); /* only need a short queue */
}
/* set request; "path" holds last path component */
@@ -940,7 +940,7 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
;
resp[j] = '\0';
if (resp[0] != '\0')
size = ap_pstrdup(p, resp);
size = apr_pstrdup(p, resp);
}
}
}
@@ -1084,26 +1084,26 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
r->status = HTTP_OK;
r->status_line = "200 OK";
resp_hdrs = ap_make_table(p, 2);
resp_hdrs = apr_make_table(p, 2);
ap_rfc822_date(dates, r->request_time);
ap_table_setn(resp_hdrs, "Date", dates);
ap_table_setn(resp_hdrs, "Server", ap_get_server_version());
apr_rfc822_date(dates, r->request_time);
apr_table_setn(resp_hdrs, "Date", dates);
apr_table_setn(resp_hdrs, "Server", ap_get_server_version());
if (parms[0] == 'd')
ap_table_setn(resp_hdrs, "Content-Type", "text/html");
apr_table_setn(resp_hdrs, "Content-Type", "text/html");
else {
if (r->content_type != NULL) {
ap_table_setn(resp_hdrs, "Content-Type", r->content_type);
apr_table_setn(resp_hdrs, "Content-Type", r->content_type);
ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL,
"FTP: Content-Type set to %s", r->content_type);
}
else {
ap_table_setn(resp_hdrs, "Content-Type", ap_default_type(r));
apr_table_setn(resp_hdrs, "Content-Type", ap_default_type(r));
}
if (parms[0] != 'a' && size != NULL) {
/* We "trust" the ftp server to really serve (size) bytes... */
ap_table_setn(resp_hdrs, "Content-Length", size);
apr_table_setn(resp_hdrs, "Content-Length", size);
ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL,
"FTP: Content-Length set to %s", size);
}
@@ -1111,7 +1111,7 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
if (r->content_encoding != NULL && r->content_encoding[0] != '\0') {
ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL,
"FTP: Content-Encoding set to %s", r->content_encoding);
ap_table_setn(resp_hdrs, "Content-Encoding", r->content_encoding);
apr_table_setn(resp_hdrs, "Content-Encoding", r->content_encoding);
}
ap_cache_el_header_merge(c, resp_hdrs);
@@ -1130,7 +1130,7 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
if (!pasvmode) { /* wait for connection */
for(;;)
{
switch(ap_accept(&inc, dsock, r->pool))
switch(apr_accept(&inc, dsock, r->pool))
{
case APR_EINTR:
continue;
@@ -1139,7 +1139,7 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
default:
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"proxy: failed to accept data connection");
ap_close_socket(dsock);
apr_close_socket(dsock);
ap_bclose(f);
if (c != NULL) ap_proxy_cache_error(&c);
return HTTP_BAD_GATEWAY;

View File

@@ -104,11 +104,11 @@ int ap_proxy_http_canon(request_rec *r, char *url, const char *scheme, int def_p
return HTTP_BAD_REQUEST;
if (port != def_port)
ap_snprintf(sport, sizeof(sport), ":%d", port);
apr_snprintf(sport, sizeof(sport), ":%d", port);
else
sport[0] = '\0';
r->filename = ap_pstrcat(r->pool, "proxy:", scheme, "://", host, sport, "/",
r->filename = apr_pstrcat(r->pool, "proxy:", scheme, "://", host, sport, "/",
path, (search) ? "?" : "", (search) ? search : "", NULL);
return OK;
}
@@ -128,20 +128,20 @@ static const char *proxy_location_reverse_map(request_rec *r, const char *url)
for (i = 0; i < conf->raliases->nelts; i++) {
l2 = strlen(ent[i].real);
if (l1 >= l2 && strncmp(ent[i].real, url, l2) == 0) {
u = ap_pstrcat(r->pool, ent[i].fake, &url[l2], NULL);
u = apr_pstrcat(r->pool, ent[i].fake, &url[l2], NULL);
return ap_construct_url(r->pool, u, r);
}
}
return url;
}
/* Clear all connection-based headers from the incoming headers ap_table_t */
static void clear_connection(ap_pool_t *p, ap_table_t *headers)
/* Clear all connection-based headers from the incoming headers apr_table_t */
static void clear_connection(apr_pool_t *p, apr_table_t *headers)
{
const char *name;
char *next = ap_pstrdup(p, ap_table_get(headers, "Connection"));
char *next = apr_pstrdup(p, apr_table_get(headers, "Connection"));
ap_table_unset(headers, "Proxy-Connection");
apr_table_unset(headers, "Proxy-Connection");
if (!next)
return;
@@ -153,9 +153,9 @@ static void clear_connection(ap_pool_t *p, ap_table_t *headers)
*next = '\0';
++next;
}
ap_table_unset(headers, name);
apr_table_unset(headers, name);
}
ap_table_unset(headers, "Connection");
apr_table_unset(headers, "Connection");
}
/*
@@ -173,20 +173,20 @@ int ap_proxy_http_handler(request_rec *r, ap_cache_el *c, char *url,
const char *strp;
char *strp2;
const char *desthost;
ap_socket_t *sock;
apr_socket_t *sock;
int i, len, backasswards, content_length=-1;
ap_array_header_t *reqhdrs_arr;
ap_table_t *resp_hdrs=NULL;
ap_table_entry_t *reqhdrs;
apr_array_header_t *reqhdrs_arr;
apr_table_t *resp_hdrs=NULL;
apr_table_entry_t *reqhdrs;
struct sockaddr_in server;
struct in_addr destaddr;
BUFF *f, *cachefp=NULL;
char buffer[HUGE_STRING_LEN];
char portstr[32];
ap_pool_t *p = r->pool;
apr_pool_t *p = r->pool;
const long int zero = 0L;
int destport = 0;
ap_ssize_t cntr;
apr_ssize_t cntr;
char *destportstr = NULL;
const char *urlptr = NULL;
char *datestr, *clen;
@@ -210,11 +210,11 @@ int ap_proxy_http_handler(request_rec *r, ap_cache_el *c, char *url,
destport = DEFAULT_HTTP_PORT;
strp = strchr(urlptr, '/');
if (strp == NULL) {
desthost = ap_pstrdup(p, urlptr);
desthost = apr_pstrdup(p, urlptr);
urlptr = "/";
}
else {
char *q = ap_palloc(p, strp - urlptr + 1);
char *q = apr_palloc(p, strp - urlptr + 1);
memcpy(q, urlptr, strp - urlptr);
q[strp - urlptr] = '\0';
urlptr = strp;
@@ -239,13 +239,13 @@ int ap_proxy_http_handler(request_rec *r, ap_cache_el *c, char *url,
"Connect to remote machine blocked");
}
if ((ap_create_tcp_socket(&sock, r->pool)) != APR_SUCCESS) {
if ((apr_create_tcp_socket(&sock, r->pool)) != APR_SUCCESS) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"proxy: error creating socket");
return HTTP_INTERNAL_SERVER_ERROR;
}
if (conf->recv_buffer_size > 0 && ap_setsocketopt(sock, APR_SO_RCVBUF,conf->recv_buffer_size)) {
if (conf->recv_buffer_size > 0 && apr_setsocketopt(sock, APR_SO_RCVBUF,conf->recv_buffer_size)) {
ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
"setsockopt(SO_RCVBUF): Failed to set ProxyReceiveBufferSize, using default");
}
@@ -262,7 +262,7 @@ int ap_proxy_http_handler(request_rec *r, ap_cache_el *c, char *url,
return DECLINED; /* try again another way */
else
return ap_proxyerror(r, HTTP_BAD_GATEWAY,
ap_pstrcat(r->pool, "Could not connect to remote machine: ",
apr_pstrcat(r->pool, "Could not connect to remote machine: ",
strerror(errno), NULL));
}
@@ -280,24 +280,24 @@ int ap_proxy_http_handler(request_rec *r, ap_cache_el *c, char *url,
if (conf->viaopt == via_block) {
/* Block all outgoing Via: headers */
ap_table_unset(r->headers_in, "Via");
apr_table_unset(r->headers_in, "Via");
} else if (conf->viaopt != via_off) {
/* Create a "Via:" request header entry and merge it */
i = ap_get_server_port(r);
if (ap_is_default_port(i,r)) {
strcpy(portstr,"");
} else {
ap_snprintf(portstr, sizeof portstr, ":%d", i);
apr_snprintf(portstr, sizeof portstr, ":%d", i);
}
/* Generate outgoing Via: header with/without server comment: */
ap_table_mergen(r->headers_in, "Via",
apr_table_mergen(r->headers_in, "Via",
(conf->viaopt == via_full)
? ap_psprintf(p, "%d.%d %s%s (%s)",
? apr_psprintf(p, "%d.%d %s%s (%s)",
HTTP_VERSION_MAJOR(r->proto_num),
HTTP_VERSION_MINOR(r->proto_num),
ap_get_server_name(r), portstr,
AP_SERVER_BASEVERSION)
: ap_psprintf(p, "%d.%d %s%s",
: apr_psprintf(p, "%d.%d %s%s",
HTTP_VERSION_MAJOR(r->proto_num),
HTTP_VERSION_MINOR(r->proto_num),
ap_get_server_name(r), portstr)
@@ -305,7 +305,7 @@ int ap_proxy_http_handler(request_rec *r, ap_cache_el *c, char *url,
}
reqhdrs_arr = ap_table_elts(r->headers_in);
reqhdrs = (ap_table_entry_t *) reqhdrs_arr->elts;
reqhdrs = (apr_table_entry_t *) reqhdrs_arr->elts;
for (i = 0; i < reqhdrs_arr->nelts; i++) {
if (reqhdrs[i].key == NULL || reqhdrs[i].val == NULL
/* Clear out headers not to send */
@@ -361,7 +361,7 @@ int ap_proxy_http_handler(request_rec *r, ap_cache_el *c, char *url,
buffer[12] = '\0';
r->status = atoi(&buffer[9]);
buffer[12] = ' ';
r->status_line = ap_pstrdup(p, &buffer[9]);
r->status_line = apr_pstrdup(p, &buffer[9]);
/* read the headers. */
/* N.B. for HTTP/1.0 clients, we have to fold line-wrapped headers */
@@ -385,12 +385,12 @@ int ap_proxy_http_handler(request_rec *r, ap_cache_el *c, char *url,
if (ap_is_default_port(i,r)) {
strcpy(portstr,"");
} else {
ap_snprintf(portstr, sizeof portstr, ":%d", i);
apr_snprintf(portstr, sizeof portstr, ":%d", i);
}
ap_cache_el_header_add(c, "Via", (conf->viaopt == via_full)
? ap_psprintf(p, "%d.%d %s%s (%s)", major, minor,
? apr_psprintf(p, "%d.%d %s%s (%s)", major, minor,
ap_get_server_name(r), portstr, AP_SERVER_BASEVERSION)
: ap_psprintf(p, "%d.%d %s%s", major, minor, ap_get_server_name(r), portstr)
: apr_psprintf(p, "%d.%d %s%s", major, minor, ap_get_server_name(r), portstr)
);
}
}

View File

@@ -137,7 +137,7 @@ void ap_proxy_c2hex(int ch, char *x)
* those which must not be touched.
*/
char *
ap_proxy_canonenc(ap_pool_t *p, const char *x, int len, enum enctype t, int isenc)
ap_proxy_canonenc(apr_pool_t *p, const char *x, int len, enum enctype t, int isenc)
{
int i, j, ch;
char *y;
@@ -169,7 +169,7 @@ char *
else
reserved = "";
y = ap_palloc(p, 3 * len + 1);
y = apr_palloc(p, 3 * len + 1);
for (i = 0, j = 0; i < len; i++, j++) {
/* always handle '/' first */
@@ -213,7 +213,7 @@ char *
* Returns an error string.
*/
char *
ap_proxy_canon_netloc(ap_pool_t *p, char **const urlp, char **userp,
ap_proxy_canon_netloc(apr_pool_t *p, char **const urlp, char **userp,
char **passwordp, char **hostp, int *port)
{
int i;
@@ -311,7 +311,7 @@ static const char * const lwday[7] =
* formatted, then it exits very quickly.
*/
const char *
ap_proxy_date_canon(ap_pool_t *p, const char *x)
ap_proxy_date_canon(apr_pool_t *p, const char *x)
{
int wk, mday, year, hour, min, sec, mon;
char *q, month[4], zone[4], week[4];
@@ -359,8 +359,8 @@ const char *
if (mon == 12)
return x;
q = ap_palloc(p, 30);
ap_snprintf(q, 30, "%s, %.2d %s %d %.2d:%.2d:%.2d GMT", ap_day_snames[wk], mday,
q = apr_palloc(p, 30);
apr_snprintf(q, 30, "%s, %.2d %s %d %.2d:%.2d:%.2d GMT", ap_day_snames[wk], mday,
ap_month_snames[mon], year, hour, min, sec);
return q;
}
@@ -430,14 +430,14 @@ static int proxy_getline(char *s, int n, BUFF *in, int fold)
* @@@: XXX: FIXME: currently the headers are passed thru un-merged.
* Is that okay, or should they be collapsed where possible?
*/
ap_table_t *ap_proxy_read_headers(request_rec *r, char *buffer, int size, BUFF *f)
apr_table_t *ap_proxy_read_headers(request_rec *r, char *buffer, int size, BUFF *f)
{
ap_table_t *resp_hdrs;
apr_table_t *resp_hdrs;
int len;
char *value, *end;
char field[MAX_STRING_LEN];
resp_hdrs = ap_make_table(r->pool, 20);
resp_hdrs = apr_make_table(r->pool, 20);
/*
* Read header lines until we get the empty separator line, a read error,
@@ -476,7 +476,7 @@ ap_table_t *ap_proxy_read_headers(request_rec *r, char *buffer, int size, BUFF *
for (end = &value[strlen(value)-1]; end > value && ap_isspace(*end); --end)
*end = '\0';
ap_table_add(resp_hdrs, buffer, value);
apr_table_add(resp_hdrs, buffer, value);
/* the header was too long; at the least we should skip extra data */
if (len >= size - 1) {
@@ -496,7 +496,7 @@ long int ap_proxy_send_fb(proxy_completion *completion, BUFF *f, request_rec *r,
int ok;
char buf[IOBUFSIZE];
long total_bytes_rcvd, in_buffer;
ap_ssize_t cntr;
apr_ssize_t cntr;
register int n, o;
conn_rec *con = r->connection;
int alternate_timeouts = 1; /* 1 if we alternate between soft & hard timeouts */
@@ -603,18 +603,18 @@ long int ap_proxy_send_fb(proxy_completion *completion, BUFF *f, request_rec *r,
*
* A timeout should be set before calling this routine.
*/
void ap_proxy_send_headers(request_rec *r, const char *respline, ap_table_t *t)
void ap_proxy_send_headers(request_rec *r, const char *respline, apr_table_t *t)
{
int i;
BUFF *fp = r->connection->client;
ap_table_entry_t *elts = (ap_table_entry_t *) ap_table_elts(t)->elts;
apr_table_entry_t *elts = (apr_table_entry_t *) ap_table_elts(t)->elts;
ap_bvputs(fp, respline, CRLF, NULL);
for (i = 0; i < ap_table_elts(t)->nelts; ++i) {
if (elts[i].key != NULL) {
ap_bvputs(fp, elts[i].key, ": ", elts[i].val, CRLF, NULL);
ap_table_addn(r->headers_out, elts[i].key, elts[i].val);
apr_table_addn(r->headers_out, elts[i].key, elts[i].val);
}
}
@@ -712,8 +712,8 @@ void ap_proxy_cache_error(ap_cache_el **c)
int ap_proxyerror(request_rec *r, int statuscode, const char *message)
{
ap_table_setn(r->notes, "error-notes",
ap_pstrcat(r->pool,
apr_table_setn(r->notes, "error-notes",
apr_pstrcat(r->pool,
"The proxy server could not handle the request "
"<EM><A HREF=\"", ap_escape_uri(r->pool, r->uri),
"\">", ap_escape_html(r->pool, r->method),
@@ -724,9 +724,9 @@ int ap_proxyerror(request_rec *r, int statuscode, const char *message)
"</STRONG>", NULL));
/* Allow "error-notes" string to be printed by ap_send_error_response() */
ap_table_setn(r->notes, "verbose-error-to", ap_pstrdup(r->pool, "*"));
apr_table_setn(r->notes, "verbose-error-to", apr_pstrdup(r->pool, "*"));
r->status_line = ap_psprintf(r->pool, "%3.3u Proxy Error", statuscode);
r->status_line = apr_psprintf(r->pool, "%3.3u Proxy Error", statuscode);
return statuscode;
}
@@ -784,7 +784,7 @@ static const char *
|| url[1] != '/' || url[2] != '/')
return NULL;
url = ap_pstrdup(r->pool, &url[1]); /* make it point to "//", which is what proxy_canon_netloc expects */
url = apr_pstrdup(r->pool, &url[1]); /* make it point to "//", which is what proxy_canon_netloc expects */
err = ap_proxy_canon_netloc(r->pool, &url, &user, &password, &host, &port);
@@ -798,7 +798,7 @@ static const char *
}
/* Return TRUE if addr represents an IP address (or an IP network address) */
int ap_proxy_is_ipaddr(struct dirconn_entry *This, ap_pool_t *p)
int ap_proxy_is_ipaddr(struct dirconn_entry *This, apr_pool_t *p)
{
const char *addr = This->name;
long ip_addr[4];
@@ -994,7 +994,7 @@ static int proxy_match_ipaddr(struct dirconn_entry *This, request_rec *r)
}
/* Return TRUE if addr represents a domain name */
int ap_proxy_is_domainname(struct dirconn_entry *This, ap_pool_t *p)
int ap_proxy_is_domainname(struct dirconn_entry *This, apr_pool_t *p)
{
char *addr = This->name;
int i;
@@ -1048,7 +1048,7 @@ static int proxy_match_domainname(struct dirconn_entry *This, request_rec *r)
}
/* Return TRUE if addr represents a host name */
int ap_proxy_is_hostname(struct dirconn_entry *This, ap_pool_t *p)
int ap_proxy_is_hostname(struct dirconn_entry *This, apr_pool_t *p)
{
struct hostent host;
char *addr = This->name;
@@ -1115,7 +1115,7 @@ static int proxy_match_hostname(struct dirconn_entry *This, request_rec *r)
}
/* Return TRUE if addr is to be matched as a word */
int ap_proxy_is_word(struct dirconn_entry *This, ap_pool_t *p)
int ap_proxy_is_word(struct dirconn_entry *This, apr_pool_t *p)
{
This->matcher = proxy_match_word;
return 1;
@@ -1128,21 +1128,21 @@ static int proxy_match_word(struct dirconn_entry *This, request_rec *r)
return host != NULL && strstr(host, This->name) != NULL;
}
int ap_proxy_doconnect(ap_socket_t *sock, char *host, ap_uint32_t port, request_rec *r)
int ap_proxy_doconnect(apr_socket_t *sock, char *host, apr_uint32_t port, request_rec *r)
{
int i;
for (i = 0; host[i] != '\0'; i++)
if (!ap_isdigit(host[i]) && host[i] != '.')
break;
ap_set_remote_port(sock, port);
apr_set_remote_port(sock, port);
if (host[i] == '\0') {
ap_set_remote_ipaddr(sock, host);
apr_set_remote_ipaddr(sock, host);
host = NULL;
}
for(;;)
{
switch(ap_connect(sock, host))
switch(apr_connect(sock, host))
{
case APR_EINTR:
continue;
@@ -1156,7 +1156,7 @@ int ap_proxy_doconnect(ap_socket_t *sock, char *host, ap_uint32_t port, request_
return -1;
}
/* This function is called by ap_table_do() for all header lines */
/* This function is called by apr_table_do() for all header lines */
/* (from proxy_http.c and proxy_ftp.c) */
/* It is passed a table_do_args struct pointer and a MIME field and value pair */
int ap_proxy_send_hdr_line(void *p, const char *key, const char *value)
@@ -1166,7 +1166,7 @@ int ap_proxy_send_hdr_line(void *p, const char *key, const char *value)
return 1;
if (!r->assbackwards)
ap_rvputs(r, key, ": ", value, CRLF, NULL);
return 1; /* tell ap_table_do() to continue calling us for more headers */
return 1; /* tell apr_table_do() to continue calling us for more headers */
}
/* send a text line to one or two BUFF's; return line length */
@@ -1201,9 +1201,9 @@ int ap_proxy_cache_send(request_rec *r, ap_cache_el *c)
return OK;
}
int ap_proxy_cache_should_cache(request_rec *r, ap_table_t *resp_hdrs, const int is_HTTP1)
int ap_proxy_cache_should_cache(request_rec *r, apr_table_t *resp_hdrs, const int is_HTTP1)
{
const char *expire = ap_table_get(resp_hdrs, "Expires");
const char *expire = apr_table_get(resp_hdrs, "Expires");
time_t expc;
if (expire != NULL)
expc = ap_parseHTTPdate(expire);
@@ -1212,9 +1212,9 @@ int ap_proxy_cache_should_cache(request_rec *r, ap_table_t *resp_hdrs, const int
if((r->status != HTTP_OK && r->status != HTTP_MOVED_PERMANENTLY && r->status != HTTP_NOT_MODIFIED) ||
(r->status == HTTP_NOT_MODIFIED) ||
r->header_only ||
ap_table_get(r->headers_in, "Authorization") != NULL ||
apr_table_get(r->headers_in, "Authorization") != NULL ||
(expire != NULL && expc == BAD_DATE) ||
(r->status == HTTP_OK && !ap_table_get(resp_hdrs, "Last-Modified") && is_HTTP1))
(r->status == HTTP_OK && !apr_table_get(resp_hdrs, "Last-Modified") && is_HTTP1))
{
ap_log_error(APLOG_MARK, APLOG_DEBUG|APLOG_NOERRNO, 0, NULL,
"proxy: Response is not cacheable: %s", r->unparsed_uri);

View File

@@ -167,7 +167,7 @@ module rndchunk_module = {
NULL, /* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server config */
NULL, /* command ap_table_t */
NULL, /* command apr_table_t */
rndchunk_handlers, /* handlers */
NULL, /* filename translation */
NULL, /* check_user_id */

View File

@@ -67,7 +67,7 @@
* SetHandler test-util-uri
* </Location>
*
* Then make a request to /test-util-uri. An html ap_table_t of errors will
* Then make a request to /test-util-uri. An html apr_table_t of errors will
* be output... and a total count of errors.
*/
@@ -139,7 +139,7 @@ static char *my_stpcpy(char *d, const char *s)
static unsigned iterate_pieces(request_rec *r, const test_uri_t *pieces, int row)
{
unsigned u;
ap_pool_t *sub;
apr_pool_t *sub;
char *input_uri;
char *strp;
uri_components result;
@@ -149,7 +149,7 @@ static unsigned iterate_pieces(request_rec *r, const test_uri_t *pieces, int row
failures = 0;
input_uri = ap_palloc(r->pool,
input_uri = apr_palloc(r->pool,
strlen(pieces->scheme) + 3
+ strlen(pieces->user) + 1
+ strlen(pieces->password) + 1
@@ -207,7 +207,7 @@ static unsigned iterate_pieces(request_rec *r, const test_uri_t *pieces, int row
}
*strp = 0;
sub = ap_make_sub_pool(r->pool);
sub = apr_make_sub_pool(r->pool);
status = ap_parse_uri_components(sub, input_uri, &result);
if (status == HTTP_OK) {
#define CHECK(f) \
@@ -255,7 +255,7 @@ static unsigned iterate_pieces(request_rec *r, const test_uri_t *pieces, int row
ap_rputs("</tr>\n", r);
++failures;
}
ap_destroy_pool(sub);
apr_destroy_pool(sub);
}
return failures;
}
@@ -342,7 +342,7 @@ module test_util_uri_module = {
NULL, /* dir merger --- default is to override */
NULL, /* server config */
NULL, /* merge server config */
NULL, /* command ap_table_t */
NULL, /* command apr_table_t */
test_util_uri_handlers, /* handlers */
NULL, /* filename translation */
NULL, /* check_user_id */

View File

@@ -85,7 +85,7 @@ void beosd_detach(void)
char buf[120];
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0, NULL,
"%s: unable to replace stdin with /dev/null: %s",
ap_server_argv0, ap_strerror(errno, buf, sizeof(buf)));
ap_server_argv0, apr_strerror(errno, buf, sizeof(buf)));
/* continue anyhow -- note we can't close out descriptor 0 because we
* have nothing to replace it with, and if we didn't have a descriptor
* 0 the next file would be created with that value ... leading to
@@ -96,7 +96,7 @@ void beosd_detach(void)
char buf[120];
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0, NULL,
"%s: unable to replace stdout with /dev/null: %s",
ap_server_argv0, ap_strerror(errno, buf, sizeof(buf)));
ap_server_argv0, apr_strerror(errno, buf, sizeof(buf)));
}
/* stderr is a tricky one, we really want it to be the error_log,
* but we haven't opened that yet. So leave it alone for now and it'll

View File

@@ -169,11 +169,11 @@ static bs2_ForkType os_forktype(void)
/* This routine is called by http_core for the BS2000Account directive */
/* It stores the account name for later use */
const char *os_set_account(ap_pool_t *p, const char *account)
const char *os_set_account(apr_pool_t *p, const char *account)
{
char account_temp[ACCT_LEN+1];
ap_cpystrn(account_temp, account, sizeof account_temp);
apr_cpystrn(account_temp, account, sizeof account_temp);
/* Make account all upper case */
ap_str_toupper(account_temp);
@@ -181,7 +181,7 @@ const char *os_set_account(ap_pool_t *p, const char *account)
/* Pad to length 8 */
ap_pad(account_temp, sizeof account_temp, ' ');
bs2000_account = ap_pstrdup(p, account_temp);
bs2000_account = apr_pstrdup(p, account_temp);
return NULL;
}
@@ -226,7 +226,7 @@ int os_init_job_environment(server_rec *server, const char *user_name, int one_p
exit(APEXIT_CHILDFATAL);
}
ap_cpystrn(username, user_name, sizeof username);
apr_cpystrn(username, user_name, sizeof username);
/* Make user name all upper case */
ap_str_toupper(username);
@@ -269,7 +269,7 @@ pid_t os_fork(const char *user)
break;
case bs2_UFORK:
ap_cpystrn(username, user, sizeof username);
apr_cpystrn(username, user, sizeof username);
/* Make user name all upper case - for some versions of ufork() */
ap_str_toupper(username);

View File

@@ -67,7 +67,7 @@ Within the POSIX subsystem, the same character set was chosen as in
"native BS2000", namely EBCDIC.
EBCDIC Table. (Yes, in EBCDIC, the letters 'a'..'z' are not contiguous!)
This ap_table_t is bijective, i.e. there are no ambigous or duplicate characters
This apr_table_t is bijective, i.e. there are no ambigous or duplicate characters
00 00 01 02 03 85 09 86 7f 87 8d 8e 0b 0c 0d 0e 0f *................*
10 10 11 12 13 8f 0a 08 97 18 19 9c 9d 1c 1d 1e 1f *................*
20 80 81 82 83 84 92 17 1b 88 89 8a 8b 8c 05 06 07 *................*
@@ -122,17 +122,17 @@ const unsigned char os_toascii_strictly[256] = {
0x38, 0x39, 0xb3, 0x7b, 0xdc, 0x7d, 0xda, 0x7e /*0123456789.{.}.~*/
};
/* This ap_table_t is (almost) identical to the previous one. The only difference
/* This apr_table_t is (almost) identical to the previous one. The only difference
* is the fact that it maps every EBCDIC *except 0x0A* to its ASCII
* equivalent. The reason for this ap_table_t is simple: Throughout the
* equivalent. The reason for this apr_table_t is simple: Throughout the
* server, protocol strings are used in the form
* "Content-Type: text/plain\015\012". Now all the characters in the string
* are stored as EBCDIC, only the semantics of \012 is completely
* different from LF (look it up in the ap_table_t above). \015 happens to be
* different from LF (look it up in the apr_table_t above). \015 happens to be
* mapped to \015 anyway, so there's no special case for it.
*
* In THIS table, EBCDIC-\012 is mapped to ASCII-\012.
* This ap_table_t is therefore used wherever an EBCDIC to ASCII conversion is
* This apr_table_t is therefore used wherever an EBCDIC to ASCII conversion is
* needed in the server.
*/
/* ebcdic-to-ascii with \012 mapped to ASCII-\n */

View File

@@ -89,7 +89,7 @@ int ap_checkconv(struct request_rec *r)
strncasecmp(type, "message/", 8) == 0)) {
if (strncasecmp(type, ASCIITEXT_MAGIC_TYPE_PREFIX,
sizeof(ASCIITEXT_MAGIC_TYPE_PREFIX)-1) == 0)
r->content_type = ap_pstrcat(r->pool, "text/",
r->content_type = apr_pstrcat(r->pool, "text/",
type+sizeof(ASCIITEXT_MAGIC_TYPE_PREFIX)-1,
NULL);
else

View File

@@ -89,9 +89,9 @@ INLINE int ap_os_is_path_absolute(const char *file);
extern int ap_os_is_path_absolute(const char *file);
#endif
char *ap_os_canonical_filename(ap_pool_t *p, const char *file);
char *ap_os_case_canonical_filename(ap_pool_t *p, const char *szFile);
char *ap_os_systemcase_filename(ap_pool_t *p, const char *szFile);
char *ap_os_canonical_filename(apr_pool_t *p, const char *file);
char *ap_os_case_canonical_filename(apr_pool_t *p, const char *szFile);
char *ap_os_systemcase_filename(apr_pool_t *p, const char *szFile);
/* FIXME: the following should be implemented on this platform */
#define ap_os_is_filename_valid(f) (1)

View File

@@ -69,7 +69,7 @@
#include <string.h>
API_EXPORT(char *)ap_os_case_canonical_filename(ap_pool_t *pPool, const char *szFile)
API_EXPORT(char *)ap_os_case_canonical_filename(apr_pool_t *pPool, const char *szFile)
{
char buf[HUGE_STRING_LEN];
char buf2[HUGE_STRING_LEN];
@@ -88,9 +88,9 @@ API_EXPORT(char *)ap_os_case_canonical_filename(ap_pool_t *pPool, const char *sz
if (rc) {
if ( rc != ERROR_INVALID_NAME ) {
ap_log_error(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, 0, NULL, "OS/2 error %d for file %s", rc, szFile);
return ap_pstrdup(pPool, "");
return apr_pstrdup(pPool, "");
} else {
return ap_pstrdup(pPool, szFile);
return apr_pstrdup(pPool, szFile);
}
}
@@ -99,7 +99,7 @@ API_EXPORT(char *)ap_os_case_canonical_filename(ap_pool_t *pPool, const char *sz
if (*pos == '\\')
*pos = '/';
return ap_pstrdup(pPool, buf2);
return apr_pstrdup(pPool, buf2);
}
@@ -119,7 +119,7 @@ static void fix_component(char *path, char *lastcomp)
char *ap_os_systemcase_canonical_filename(ap_pool_t *pPool, const char *szFile)
char *ap_os_systemcase_canonical_filename(apr_pool_t *pPool, const char *szFile)
{
char *szCanonicalFile = ap_os_case_canonical_filename(pPool, szFile);
int startslash = 2, slashnum=0;
@@ -149,7 +149,7 @@ char *ap_os_systemcase_canonical_filename(ap_pool_t *pPool, const char *szFile)
char *ap_os_canonical_filename(ap_pool_t *pPool, const char *szFile)
char *ap_os_canonical_filename(apr_pool_t *pPool, const char *szFile)
{
char *szCanonicalFile = ap_os_systemcase_canonical_filename(pPool, szFile);
strlwr(szCanonicalFile);

View File

@@ -67,7 +67,7 @@ the BS2000 (apache/src/os/bs2000/ebcdic.c).
/*
Bijective EBCDIC (character set IBM-1047) to US-ASCII table:
This ap_table_t is bijective - there are no ambigous or duplicate characters.
This apr_table_t is bijective - there are no ambigous or duplicate characters.
*/
const unsigned char os_toascii_strictly[256] = {
0x00, 0x01, 0x02, 0x03, 0x85, 0x09, 0x86, 0x7f, /* 00-0f: */
@@ -106,7 +106,7 @@ const unsigned char os_toascii_strictly[256] = {
/*
Server EBCDIC (character set IBM-1047) to US-ASCII table:
This ap_table_t is a copy of the os_toascii_strictly bijective ap_table_t above.
This apr_table_t is a copy of the os_toascii_strictly bijective apr_table_t above.
The only change is that hex 0a (\012 octal) is mapped to hex 0a
(ASCII's line feed) instead of hex 8e. This is done because throughout
Apache, protocol string definitions hardcode the linefeed as \012 (octal):
@@ -150,7 +150,7 @@ const unsigned char os_toascii[256] = {
/*
The US-ASCII to EBCDIC (character set IBM-1047) table:
This ap_table_t is bijective (no ambiguous or duplicate characters)
This apr_table_t is bijective (no ambiguous or duplicate characters)
*/
const unsigned char os_toebcdic[256] = {
0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, /* 00-0f: */

View File

@@ -94,7 +94,7 @@ int ap_checkconv(struct request_rec *r)
strncasecmp(type, "message/", 8) == 0)) {
if (strncasecmp(type, ASCIITEXT_MAGIC_TYPE_PREFIX,
sizeof(ASCIITEXT_MAGIC_TYPE_PREFIX)-1) == 0){
r->content_type = ap_pstrcat(r->pool, "text/",
r->content_type = apr_pstrcat(r->pool, "text/",
type+sizeof(ASCIITEXT_MAGIC_TYPE_PREFIX)-1, NULL);
if (r->method_number == M_PUT)
ap_bsetflag(r->connection->client, B_ASCII2EBCDIC, 0);
@@ -212,7 +212,7 @@ int execvp(const char *file, char *const argv[])
int ap_tpf_spawn_child(ap_pool_t *p, int (*func) (void *, child_info *),
int ap_tpf_spawn_child(apr_pool_t *p, int (*func) (void *, child_info *),
void *data, enum kill_conditions kill_how,
int *pipe_in, int *pipe_out, int *pipe_err,
int out_fds[], int in_fds[], int err_fds[])
@@ -223,7 +223,7 @@ int ap_tpf_spawn_child(ap_pool_t *p, int (*func) (void *, child_info *),
int fd_flags_out, fd_flags_in, fd_flags_err;
struct tpf_fork_input fork_input;
TPF_FORK_CHILD *cld = (TPF_FORK_CHILD *) data;
ap_array_header_t *env_arr = ap_table_elts ((array_header *) cld->subprocess_env);
apr_array_header_t *env_arr = ap_table_elts ((array_header *) cld->subprocess_env);
table_entry *elts = (table_entry *) env_arr->elts;
@@ -323,7 +323,7 @@ int ap_tpf_spawn_child(ap_pool_t *p, int (*func) (void *, child_info *),
if (pid) {
ap_note_subprocess(p, pid, kill_how);
apr_note_subprocess(p, pid, kill_how);
if (pipe_out) {
*pipe_out = out_fds[0];
@@ -396,7 +396,7 @@ int os_check_server(char *server) {
return 0;
}
void os_note_additional_cleanups(ap_pool_t *p, int sd) {
void os_note_additional_cleanups(apr_pool_t *p, int sd) {
char sockfilename[50];
/* write the socket to file so that TPF socket device driver will close socket in case
we happen to abend. */

View File

@@ -349,7 +349,7 @@ API_EXPORT(void) unixd_set_rlimit(cmd_parms *cmd, struct rlimit **plimit,
rlim_t cur = 0;
rlim_t max = 0;
*plimit = (struct rlimit *)ap_pcalloc(cmd->pool, sizeof(**plimit));
*plimit = (struct rlimit *)apr_pcalloc(cmd->pool, sizeof(**plimit));
limit = *plimit;
if ((getrlimit(type, limit)) != 0) {
*plimit = NULL;

View File

@@ -144,12 +144,12 @@ typedef struct {
PFN_HSE_IO_COMPLETION completion;
PVOID completion_arg;
HANDLE complete;
ap_status_t retval;
apr_status_t retval;
} isapi_cid;
ap_status_t isapi_handler (request_rec *r)
apr_status_t isapi_handler (request_rec *r)
{
ap_table_t *e = r->subprocess_env;
apr_table_t *e = r->subprocess_env;
isapi_loaded *isa;
isapi_cid *cid;
@@ -177,8 +177,8 @@ ap_status_t isapi_handler (request_rec *r)
* should only be performed on the first isapi dll invocation,
* not with every HttpExtensionProc()
*/
isa = ap_pcalloc(r->pool, sizeof(isapi_module));
isa->pVer = ap_pcalloc(r->pool, sizeof(HSE_VERSION_INFO));
isa = apr_pcalloc(r->pool, sizeof(isapi_module));
isa->pVer = apr_pcalloc(r->pool, sizeof(HSE_VERSION_INFO));
isa->refcount = 0;
/* TODO: These may need to become overrideable, so that we
@@ -239,8 +239,8 @@ ap_status_t isapi_handler (request_rec *r)
ap_add_cgi_vars(r);
/* Set up connection structure and ecb */
cid = ap_pcalloc(r->pool, sizeof(isapi_cid));
cid->ecb = ap_pcalloc(r->pool, sizeof(struct _EXTENSION_CONTROL_BLOCK));
cid = apr_pcalloc(r->pool, sizeof(isapi_cid));
cid->ecb = apr_pcalloc(r->pool, sizeof(struct _EXTENSION_CONTROL_BLOCK));
cid->ecb->ConnID = (HCONN)cid;
/* TODO: Critical section */
++isa->refcount;
@@ -256,15 +256,15 @@ ap_status_t isapi_handler (request_rec *r)
cid->ecb->dwHttpStatusCode = 0;
strcpy(cid->ecb->lpszLogData, "");
// TODO: are copies really needed here?
cid->ecb->lpszMethod = ap_pstrdup(r->pool, (char*) r->method);
cid->ecb->lpszQueryString = ap_pstrdup(r->pool,
(char*) ap_table_get(e, "QUERY_STRING"));
cid->ecb->lpszPathInfo = ap_pstrdup(r->pool,
(char*) ap_table_get(e, "PATH_INFO"));
cid->ecb->lpszPathTranslated = ap_pstrdup(r->pool,
(char*) ap_table_get(e, "PATH_TRANSLATED"));
cid->ecb->lpszContentType = ap_pstrdup(r->pool,
(char*) ap_table_get(e, "CONTENT_TYPE"));
cid->ecb->lpszMethod = apr_pstrdup(r->pool, (char*) r->method);
cid->ecb->lpszQueryString = apr_pstrdup(r->pool,
(char*) apr_table_get(e, "QUERY_STRING"));
cid->ecb->lpszPathInfo = apr_pstrdup(r->pool,
(char*) apr_table_get(e, "PATH_INFO"));
cid->ecb->lpszPathTranslated = apr_pstrdup(r->pool,
(char*) apr_table_get(e, "PATH_TRANSLATED"));
cid->ecb->lpszContentType = apr_pstrdup(r->pool,
(char*) apr_table_get(e, "CONTENT_TYPE"));
/* Set up the callbacks */
cid->ecb->GetServerVariable = &GetServerVariable;
cid->ecb->WriteClient = &WriteClient;
@@ -291,7 +291,7 @@ ap_status_t isapi_handler (request_rec *r)
* But we can be smarter and read up to our 48k and then allow
* the ISAPI app to read further blocks as desired.
*/
long to_read = atol(ap_table_get(e, "CONTENT_LENGTH"));
long to_read = atol(apr_table_get(e, "CONTENT_LENGTH"));
long read;
/* Actually, let's cap it at 48k, until we figure out what
@@ -306,7 +306,7 @@ ap_status_t isapi_handler (request_rec *r)
return HTTP_REQUEST_ENTITY_TOO_LARGE;
}
cid->ecb->lpbData = ap_pcalloc(r->pool, 1 + to_read);
cid->ecb->lpbData = apr_pcalloc(r->pool, 1 + to_read);
if ((read = ap_get_client_block(r, cid->ecb->lpbData, to_read)) < 0) {
if (isa->TerminateExtension)
@@ -417,7 +417,7 @@ BOOL WINAPI GetServerVariable (HCONN hConn, LPSTR lpszVariableName,
LPVOID lpvBuffer, LPDWORD lpdwSizeofBuffer)
{
request_rec *r = ((isapi_cid *)hConn)->r;
ap_table_t *e = r->subprocess_env;
apr_table_t *e = r->subprocess_env;
const char *result;
/* Mostly, we just grab it from the environment, but there are
@@ -428,7 +428,7 @@ BOOL WINAPI GetServerVariable (HCONN hConn, LPSTR lpszVariableName,
/* We don't support NT users, so this is always the same as
* REMOTE_USER
*/
result = ap_table_get(e, "REMOTE_USER");
result = apr_table_get(e, "REMOTE_USER");
}
else if (!strcasecmp(lpszVariableName, "SERVER_PORT_SECURE")) {
/* Apache doesn't support secure requests inherently, so
@@ -441,7 +441,7 @@ BOOL WINAPI GetServerVariable (HCONN hConn, LPSTR lpszVariableName,
result = r->uri;
}
else {
result = ap_table_get(e, lpszVariableName);
result = apr_table_get(e, lpszVariableName);
}
if (result) {
@@ -549,21 +549,21 @@ static char* ComposeHeaders(request_rec *r, char* data)
while (endp > value && ap_isspace(*endp))
*endp-- = '\0';
tmp = ap_pstrdup (r->pool, value);
tmp = apr_pstrdup (r->pool, value);
ap_str_tolower(tmp);
r->content_type = tmp;
}
else if (!strcasecmp(data, "Content-Length")) {
ap_table_set(r->headers_out, data, value);
apr_table_set(r->headers_out, data, value);
}
else if (!strcasecmp(data, "Transfer-Encoding")) {
ap_table_set(r->headers_out, data, value);
apr_table_set(r->headers_out, data, value);
}
else if (!strcasecmp(data, "Set-Cookie")) {
ap_table_add(r->err_headers_out, data, value);
apr_table_add(r->err_headers_out, data, value);
}
else {
ap_table_merge(r->err_headers_out, data, value);
apr_table_merge(r->err_headers_out, data, value);
}
/* Reset data */
@@ -594,7 +594,7 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
/* Set the status to be returned when the HttpExtensionProc()
* is done.
*/
ap_table_set (r->headers_out, "Location", lpvBuffer);
apr_table_set (r->headers_out, "Location", lpvBuffer);
cid->r->status = cid->ecb->dwHttpStatusCode
= HTTP_MOVED_TEMPORARILY;
return TRUE;
@@ -609,17 +609,17 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
}
/* Reset the method to GET */
r->method = ap_pstrdup(r->pool, "GET");
r->method = apr_pstrdup(r->pool, "GET");
r->method_number = M_GET;
/* Don't let anyone think there's still data */
ap_table_unset(r->headers_in, "Content-Length");
apr_table_unset(r->headers_in, "Content-Length");
ap_internal_redirect((char *)lpvBuffer, r);
return TRUE;
case HSE_REQ_SEND_RESPONSE_HEADER:
r->status_line = lpvBuffer ? lpvBuffer : ap_pstrdup(r->pool, "200 OK");
r->status_line = lpvBuffer ? lpvBuffer : apr_pstrdup(r->pool, "200 OK");
sscanf(r->status_line, "%d", &r->status);
cid->ecb->dwHttpStatusCode = r->status;
@@ -636,7 +636,7 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
}
/* Make a copy - don't disturb the original */
data = ap_pstrdup(r->pool, (char *)lpdwDataType);
data = apr_pstrdup(r->pool, (char *)lpdwDataType);
/* Parse them out, or die trying */
data = ComposeHeaders(r, data);
@@ -661,7 +661,7 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
case HSE_REQ_MAP_URL_TO_PATH:
/* Map a URL to a filename */
subreq = ap_sub_req_lookup_uri(ap_pstrndup(r->pool, (char *)lpvBuffer,
subreq = ap_sub_req_lookup_uri(apr_pstrndup(r->pool, (char *)lpvBuffer,
*lpdwSize), r);
GetFullPathName(subreq->filename, *lpdwSize - 1, (char *)lpvBuffer, NULL);
@@ -738,7 +738,7 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
/* TODO: Not quite ready for prime time yet */
/* Map a URL to a filename */
subreq = ap_sub_req_lookup_uri(ap_pstrndup(r->pool, (char *)lpvBuffer,
subreq = ap_sub_req_lookup_uri(apr_pstrndup(r->pool, (char *)lpvBuffer,
*lpdwSize), r);
GetFullPathName(subreq->filename, *lpdwSize - 1, (char *)lpvBuffer, NULL);
@@ -752,7 +752,7 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
((char *)lpvBuffer)[l + 1] = '\0';
}
lpdwDataType = (LPDWORD) ap_palloc(r->pool, sizeof(HSE_URL_MAPEX_INFO));
lpdwDataType = (LPDWORD) apr_palloc(r->pool, sizeof(HSE_URL_MAPEX_INFO));
strncpy(((LPHSE_URL_MAPEX_INFO)lpdwDataType)->lpszPath,
(char *) lpvBuffer, MAX_PATH);
((LPHSE_URL_MAPEX_INFO)lpdwDataType)->dwFlags = 0;
@@ -790,12 +790,12 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
if (((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->pszStatus
&& ((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->cchStatus) {
r->status_line = ap_pstrndup(r->pool,
r->status_line = apr_pstrndup(r->pool,
((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->pszStatus,
((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->cchStatus);
}
else {
r->status_line = ap_pstrdup(r->pool, "200 OK");
r->status_line = apr_pstrdup(r->pool, "200 OK");
}
sscanf(r->status_line, "%d", &r->status);
cid->ecb->dwHttpStatusCode = r->status;
@@ -804,7 +804,7 @@ BOOL WINAPI ServerSupportFunction (HCONN hConn, DWORD dwHSERequest,
&& ((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->cchHeader)
{
/* Make a copy - don't disturb the original */
data = ap_pstrndup(r->pool,
data = apr_pstrndup(r->pool,
((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->pszHeader,
((LPHSE_SEND_HEADER_EX_INFO)lpvBuffer)->cchHeader);
@@ -864,7 +864,7 @@ module isapi_module = {
NULL, /* merge per-dir config */
NULL, /* server config */
NULL, /* merge server config */
NULL, /* command ap_table_t */
NULL, /* command apr_table_t */
isapi_handlers, /* handlers */
NULL /* register hooks */
};

View File

@@ -143,9 +143,9 @@ __inline int ap_os_is_path_absolute(const char *file)
}
/* OS-dependent filename routines in util_win32.c */
API_EXPORT(char *) ap_os_canonical_filename(ap_pool_t *p, const char *file);
API_EXPORT(char *) ap_os_case_canonical_filename(ap_pool_t *pPool, const char *szFile);
API_EXPORT(char *) ap_os_systemcase_filename(ap_pool_t *pPool, const char *szFile);
API_EXPORT(char *) ap_os_canonical_filename(apr_pool_t *p, const char *file);
API_EXPORT(char *) ap_os_case_canonical_filename(apr_pool_t *pPool, const char *szFile);
API_EXPORT(char *) ap_os_systemcase_filename(apr_pool_t *pPool, const char *szFile);
API_EXPORT(int) ap_os_is_filename_valid(const char *file);
#define ap_os_dso_error() "" /* for now */

View File

@@ -86,7 +86,7 @@ static BOOL OnlyDots(char *pString)
* is present on the existing path. This routine also
* converts alias names to long names.
*/
API_EXPORT(char *) ap_os_systemcase_filename(ap_pool_t *pPool,
API_EXPORT(char *) ap_os_systemcase_filename(apr_pool_t *pPool,
const char *szFile)
{
char buf[HUGE_STRING_LEN];
@@ -98,10 +98,10 @@ API_EXPORT(char *) ap_os_systemcase_filename(ap_pool_t *pPool,
WIN32_FIND_DATA wfd;
if (!szFile || strlen(szFile) == 0 || strlen(szFile) >= sizeof(buf))
return ap_pstrdup(pPool, "");
return apr_pstrdup(pPool, "");
buf[0] = '\0';
pInputName = ap_pstrdup(pPool, szFile);
pInputName = apr_pstrdup(pPool, szFile);
/* First convert all slashes to \ so Win32 calls work OK */
for (p = pInputName; *p; p++) {
@@ -199,14 +199,14 @@ API_EXPORT(char *) ap_os_systemcase_filename(ap_pool_t *pPool,
*p = '/';
}
return ap_pstrdup(pPool, buf);
return apr_pstrdup(pPool, buf);
}
/* Perform canonicalization with the exception that the
* input case is preserved.
*/
API_EXPORT(char *) ap_os_case_canonical_filename(ap_pool_t *pPool,
API_EXPORT(char *) ap_os_case_canonical_filename(apr_pool_t *pPool,
const char *szFile)
{
char *pNewStr;
@@ -215,9 +215,9 @@ API_EXPORT(char *) ap_os_case_canonical_filename(ap_pool_t *pPool,
char *q;
if (szFile == NULL || strlen(szFile) == 0)
return ap_pstrdup(pPool, "");
return apr_pstrdup(pPool, "");
pNewStr = ap_pstrdup(pPool, szFile);
pNewStr = apr_pstrdup(pPool, szFile);
/* Change all '\' characters to '/' characters.
* While doing this, remove any trailing '.'.
@@ -315,7 +315,7 @@ API_EXPORT(char *) ap_os_case_canonical_filename(ap_pool_t *pPool,
} while (p != NULL);
pNewStr = ap_pstrdup(pPool, buf);
pNewStr = apr_pstrdup(pPool, buf);
}
}
@@ -325,7 +325,7 @@ API_EXPORT(char *) ap_os_case_canonical_filename(ap_pool_t *pPool,
/* Perform complete canonicalization.
*/
API_EXPORT(char *) ap_os_canonical_filename(ap_pool_t *pPool, const char *szFile)
API_EXPORT(char *) ap_os_canonical_filename(apr_pool_t *pPool, const char *szFile)
{
char *pNewName;
pNewName = ap_os_case_canonical_filename(pPool, szFile);

View File

@@ -96,9 +96,9 @@ API_VAR_EXPORT const char *ap_server_argv0;
API_VAR_EXPORT const char *ap_server_root;
API_VAR_EXPORT ap_array_header_t *ap_server_pre_read_config;
API_VAR_EXPORT ap_array_header_t *ap_server_post_read_config;
API_VAR_EXPORT ap_array_header_t *ap_server_config_defines;
API_VAR_EXPORT apr_array_header_t *ap_server_pre_read_config;
API_VAR_EXPORT apr_array_header_t *ap_server_post_read_config;
API_VAR_EXPORT apr_array_header_t *ap_server_config_defines;
AP_HOOK_STRUCT(
AP_HOOK_LINK(header_parser)
@@ -111,16 +111,16 @@ AP_HOOK_STRUCT(
AP_IMPLEMENT_HOOK_RUN_ALL(int,header_parser,
(request_rec *r),(r),OK,DECLINED)
AP_IMPLEMENT_HOOK_VOID(pre_config,
(ap_pool_t *pconf, ap_pool_t *plog, ap_pool_t *ptemp),
(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp),
(pconf,plog,ptemp))
AP_IMPLEMENT_HOOK_VOID(post_config,
(ap_pool_t *pconf, ap_pool_t *plog, ap_pool_t *ptemp,
(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp,
server_rec *s),(pconf,plog,ptemp,s))
AP_IMPLEMENT_HOOK_VOID(open_logs,
(ap_pool_t *pconf, ap_pool_t *plog, ap_pool_t *ptemp,
(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp,
server_rec *s),(pconf,plog,ptemp,s))
AP_IMPLEMENT_HOOK_VOID(child_init,
(ap_pool_t *pchild, server_rec *s),(pchild,s))
(apr_pool_t *pchild, server_rec *s),(pchild,s))
/****************************************************************
*
@@ -141,8 +141,8 @@ API_VAR_EXPORT module *top_module = NULL;
API_VAR_EXPORT module **ap_loaded_modules=NULL;
typedef int (*handler_func) (request_rec *);
typedef void *(*dir_maker_func) (ap_pool_t *, char *);
typedef void *(*merger_func) (ap_pool_t *, void *, void *);
typedef void *(*dir_maker_func) (apr_pool_t *, char *);
typedef void *(*merger_func) (apr_pool_t *, void *, void *);
/* Dealing with config vectors. These are associated with per-directory,
* per-server, and per-request configuration, and have a void* pointer for
@@ -171,16 +171,16 @@ API_EXPORT(void) ap_set_module_config(void *conf_vector, module *m, void *val)
}
#endif
static void *create_empty_config(ap_pool_t *p)
static void *create_empty_config(apr_pool_t *p)
{
void **conf_vector = (void **) ap_pcalloc(p, sizeof(void *) *
void **conf_vector = (void **) apr_pcalloc(p, sizeof(void *) *
(total_modules + DYNAMIC_MODULE_LIMIT));
return (void *) conf_vector;
}
static void *create_default_per_dir_config(ap_pool_t *p)
static void *create_default_per_dir_config(apr_pool_t *p)
{
void **conf_vector = (void **) ap_pcalloc(p, sizeof(void *) * (total_modules + DYNAMIC_MODULE_LIMIT));
void **conf_vector = (void **) apr_pcalloc(p, sizeof(void *) * (total_modules + DYNAMIC_MODULE_LIMIT));
module *modp;
for (modp = top_module; modp; modp = modp->next) {
@@ -194,9 +194,9 @@ static void *create_default_per_dir_config(ap_pool_t *p)
}
void *
ap_merge_per_dir_configs(ap_pool_t *p, void *base, void *new)
ap_merge_per_dir_configs(apr_pool_t *p, void *base, void *new)
{
void **conf_vector = (void **) ap_palloc(p, sizeof(void *) * total_modules);
void **conf_vector = (void **) apr_palloc(p, sizeof(void *) * total_modules);
void **base_vector = (void **) base;
void **new_vector = (void **) new;
module *modp;
@@ -214,9 +214,9 @@ void *
return (void *) conf_vector;
}
static void *create_server_config(ap_pool_t *p, server_rec *s)
static void *create_server_config(apr_pool_t *p, server_rec *s)
{
void **conf_vector = (void **) ap_pcalloc(p, sizeof(void *) * (total_modules + DYNAMIC_MODULE_LIMIT));
void **conf_vector = (void **) apr_pcalloc(p, sizeof(void *) * (total_modules + DYNAMIC_MODULE_LIMIT));
module *modp;
for (modp = top_module; modp; modp = modp->next) {
@@ -227,7 +227,7 @@ static void *create_server_config(ap_pool_t *p, server_rec *s)
return (void *) conf_vector;
}
static void merge_server_configs(ap_pool_t *p, void *base, void *virt)
static void merge_server_configs(apr_pool_t *p, void *base, void *virt)
{
/* Can reuse the 'virt' vector for the spine of it, since we don't
* have to deal with the moral equivalent of .htaccess files here...
@@ -248,17 +248,17 @@ static void merge_server_configs(ap_pool_t *p, void *base, void *virt)
}
}
void *ap_create_request_config(ap_pool_t *p)
void *ap_create_request_config(apr_pool_t *p)
{
return create_empty_config(p);
}
void *ap_create_conn_config(ap_pool_t *p)
void *ap_create_conn_config(apr_pool_t *p)
{
return create_empty_config(p);
}
CORE_EXPORT(void *) ap_create_per_dir_config(ap_pool_t *p)
CORE_EXPORT(void *) ap_create_per_dir_config(apr_pool_t *p)
{
return create_empty_config(p);
}
@@ -277,7 +277,7 @@ typedef struct {
static fast_handler_rec *handlers;
static fast_handler_rec *wildhandlers;
static void init_handlers(ap_pool_t *p)
static void init_handlers(apr_pool_t *p)
{
module *modp;
int nhandlers = 0;
@@ -297,8 +297,8 @@ static void init_handlers(ap_pool_t *p)
}
}
}
ph = handlers = ap_palloc(p, sizeof(*ph)*(nhandlers + 1));
pw = wildhandlers = ap_palloc(p, sizeof(*pw)*(nwildhandlers + 1));
ph = handlers = apr_palloc(p, sizeof(*ph)*(nhandlers + 1));
pw = wildhandlers = apr_palloc(p, sizeof(*pw)*(nwildhandlers + 1));
for (modp = top_module; modp; modp = modp->next) {
if (!modp->handlers)
continue;
@@ -563,7 +563,7 @@ API_EXPORT(void) ap_setup_prelinked_modules(process_rec *process)
/*
* Initialise list of loaded modules
*/
ap_loaded_modules = (module **)ap_palloc(process->pool,
ap_loaded_modules = (module **)apr_palloc(process->pool,
sizeof(module *)*(total_modules+DYNAMIC_MODULE_LIMIT+1));
if (ap_loaded_modules == NULL) {
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0, NULL,
@@ -649,7 +649,7 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms,
const char *errmsg;
if ((parms->override & cmd->req_override) == 0)
return ap_pstrcat(parms->pool, cmd->name, " not allowed here", NULL);
return apr_pstrcat(parms->pool, cmd->name, " not allowed here", NULL);
parms->info = cmd->cmd_data;
parms->cmd = cmd;
@@ -663,7 +663,7 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms,
case NO_ARGS:
if (*args != 0)
return ap_pstrcat(parms->pool, cmd->name, " takes no arguments",
return apr_pstrcat(parms->pool, cmd->name, " takes no arguments",
NULL);
return cmd->AP_NO_ARGS(parms, mconfig);
@@ -672,7 +672,7 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms,
w = ap_getword_conf(parms->pool, &args);
if (*w == '\0' || *args != 0)
return ap_pstrcat(parms->pool, cmd->name, " takes one argument",
return apr_pstrcat(parms->pool, cmd->name, " takes one argument",
cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
return cmd->AP_TAKE1(parms, mconfig, w);
@@ -682,7 +682,7 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms,
w2 = ap_getword_conf(parms->pool, &args);
if (*w == '\0' || *w2 == '\0' || *args != 0)
return ap_pstrcat(parms->pool, cmd->name, " takes two arguments",
return apr_pstrcat(parms->pool, cmd->name, " takes two arguments",
cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
return cmd->AP_TAKE2(parms, mconfig, w, w2);
@@ -693,7 +693,7 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms,
w2 = ap_getword_conf(parms->pool, &args);
if (*w == '\0' || *args != 0)
return ap_pstrcat(parms->pool, cmd->name, " takes 1-2 arguments",
return apr_pstrcat(parms->pool, cmd->name, " takes 1-2 arguments",
cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
return cmd->AP_TAKE2(parms, mconfig, w, *w2 ? w2 : NULL);
@@ -705,7 +705,7 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms,
w3 = ap_getword_conf(parms->pool, &args);
if (*w == '\0' || *w2 == '\0' || *w3 == '\0' || *args != 0)
return ap_pstrcat(parms->pool, cmd->name, " takes three arguments",
return apr_pstrcat(parms->pool, cmd->name, " takes three arguments",
cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
return cmd->AP_TAKE3(parms, mconfig, w, w2, w3);
@@ -717,7 +717,7 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms,
w3 = *args ? ap_getword_conf(parms->pool, &args) : NULL;
if (*w == '\0' || *w2 == '\0' || *args != 0)
return ap_pstrcat(parms->pool, cmd->name,
return apr_pstrcat(parms->pool, cmd->name,
" takes two or three arguments",
cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
@@ -730,7 +730,7 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms,
w3 = *args ? ap_getword_conf(parms->pool, &args) : NULL;
if (*w == '\0' || *args != 0)
return ap_pstrcat(parms->pool, cmd->name,
return apr_pstrcat(parms->pool, cmd->name,
" takes one, two or three arguments",
cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
@@ -743,7 +743,7 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms,
w3 = *args ? ap_getword_conf(parms->pool, &args) : NULL;
if (*w == '\0' || (w2 && *w2 && !w3) || *args != 0)
return ap_pstrcat(parms->pool, cmd->name,
return apr_pstrcat(parms->pool, cmd->name,
" takes one or three arguments",
cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
@@ -764,7 +764,7 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms,
w = ap_getword_conf(parms->pool, &args);
if (*w == '\0' || *args == 0)
return ap_pstrcat(parms->pool, cmd->name,
return apr_pstrcat(parms->pool, cmd->name,
" requires at least two arguments",
cmd->errmsg ? ", " : NULL, cmd->errmsg, NULL);
@@ -781,14 +781,14 @@ static const char *invoke_cmd(const command_rec *cmd, cmd_parms *parms,
w = ap_getword_conf(parms->pool, &args);
if (*w == '\0' || (strcasecmp(w, "on") && strcasecmp(w, "off")))
return ap_pstrcat(parms->pool, cmd->name, " must be On or Off",
return apr_pstrcat(parms->pool, cmd->name, " must be On or Off",
NULL);
return cmd->AP_FLAG(parms, mconfig, strcasecmp(w, "off") != 0);
default:
return ap_pstrcat(parms->pool, cmd->name,
return apr_pstrcat(parms->pool, cmd->name,
" is improperly configured internally (server bug)",
NULL);
}
@@ -837,10 +837,10 @@ CORE_EXPORT(void *) ap_set_config_vectors(cmd_parms *parms, void *config, module
}
static const char *execute_now(char *cmd_line, const char *args, cmd_parms *parms,
ap_pool_t *p, ap_pool_t *ptemp,
apr_pool_t *p, apr_pool_t *ptemp,
ap_directive_t **sub_tree, ap_directive_t *parent);
static const char * ap_build_config_sub(ap_pool_t *p, ap_pool_t *temp_pool,
static const char * ap_build_config_sub(apr_pool_t *p, apr_pool_t *temp_pool,
const char *l, cmd_parms *parms,
ap_directive_t **current,
ap_directive_t **curr_parent)
@@ -867,11 +867,11 @@ static const char * ap_build_config_sub(ap_pool_t *p, ap_pool_t *temp_pool,
return NULL;
}
newdir = ap_pcalloc(p, sizeof(ap_directive_t));
newdir = apr_pcalloc(p, sizeof(ap_directive_t));
newdir->filename = parms->config_file->name;
newdir->line_num = parms->config_file->line_number;
newdir->directive = cmd_name;
newdir->args = ap_pstrdup(p, args);
newdir->args = apr_pstrdup(p, args);
if ((cmd = ap_find_command_in_modules(cmd_name, &mod)) != NULL) {
if (cmd->req_override & EXEC_ON_READ) {
@@ -909,7 +909,7 @@ static const char * ap_build_config_sub(ap_pool_t *p, ap_pool_t *temp_pool,
}
else if (*curr_parent == NULL) {
parms->err_directive = newdir;
return ap_pstrcat(p, cmd_name,
return apr_pstrcat(p, cmd_name,
" without matching <", cmd_name + 2,
" section", NULL);
}
@@ -917,13 +917,13 @@ static const char * ap_build_config_sub(ap_pool_t *p, ap_pool_t *temp_pool,
char *bracket = cmd_name + strlen(cmd_name) - 1;
if (*bracket != '>') {
return ap_pstrcat(p, cmd_name,
return apr_pstrcat(p, cmd_name,
"> directive missing closing '>'", NULL);
}
*bracket = '\0';
if (strcasecmp(cmd_name + 2,
(*curr_parent)->directive + 1) != 0) {
return ap_pstrcat(p, "Expected </",
return apr_pstrcat(p, "Expected </",
(*curr_parent)->directive + 1, "> but saw ",
cmd_name, ">", NULL);
}
@@ -941,7 +941,7 @@ static const char * ap_build_config_sub(ap_pool_t *p, ap_pool_t *temp_pool,
return NULL;
}
const char * ap_build_cont_config(ap_pool_t *p, ap_pool_t *temp_pool,
const char * ap_build_cont_config(apr_pool_t *p, apr_pool_t *temp_pool,
cmd_parms *parms,
ap_directive_t **current,
ap_directive_t **curr_parent,
@@ -952,7 +952,7 @@ const char * ap_build_cont_config(ap_pool_t *p, ap_pool_t *temp_pool,
const char *retval;
ap_directive_t *conftree = NULL;
bracket = ap_pstrcat(p, orig_directive + 1, ">", NULL);
bracket = apr_pstrcat(p, orig_directive + 1, ">", NULL);
while(!(ap_cfg_getline(l, MAX_STRING_LEN, parms->config_file))) {
if ((strcasecmp(l + 2, bracket) == 0) &&
(*curr_parent == NULL)) {
@@ -983,7 +983,7 @@ static const char *ap_walk_config_sub(const ap_directive_t *current,
if (!(cmd = ap_find_command_in_modules(current->directive, &mod))) {
parms->err_directive = current;
return ap_pstrcat(parms->pool, "Invalid command '",
return apr_pstrcat(parms->pool, "Invalid command '",
current->directive,
"', perhaps mis-spelled or defined by a module "
"not included in the server configuration",
@@ -1043,7 +1043,7 @@ API_EXPORT(const char *) ap_walk_config(ap_directive_t *current,
API_EXPORT(const char *) ap_build_config(cmd_parms *parms,
ap_pool_t *p, ap_pool_t *temp_pool,
apr_pool_t *p, apr_pool_t *temp_pool,
ap_directive_t **conftree)
{
ap_directive_t *current = *conftree;
@@ -1075,7 +1075,7 @@ API_EXPORT(const char *) ap_build_config(cmd_parms *parms,
if (curr_parent != NULL) {
errmsg = "";
while (curr_parent != NULL) {
errmsg = ap_psprintf(p, "%s%s%s:%u: %s> was not closed.",
errmsg = apr_psprintf(p, "%s%s%s:%u: %s> was not closed.",
errmsg,
*errmsg == '\0' ? "" : APR_EOL_STR,
curr_parent->filename,
@@ -1109,7 +1109,7 @@ API_EXPORT_NONSTD(const char *) ap_set_string_slot_lower(cmd_parms *cmd,
const char *arg_)
{
/* This one's pretty generic... */
char *arg=ap_pstrdup(cmd->pool,arg_);
char *arg=apr_pstrdup(cmd->pool,arg_);
int offset = (int) (long) cmd->info;
ap_str_tolower(arg);
@@ -1137,7 +1137,7 @@ API_EXPORT_NONSTD(const char *) ap_set_file_slot(cmd_parms *cmd, char *struct_pt
char *p;
int offset = (int) (long) cmd->info;
if (ap_os_is_path_absolute(arg))
p = ap_pstrdup(cmd->pool, arg);
p = apr_pstrdup(cmd->pool, arg);
else
p = ap_make_full_path(cmd->pool, ap_server_root, arg);
*(char **) (struct_ptr + offset) = p;
@@ -1152,7 +1152,7 @@ API_EXPORT_NONSTD(const char *) ap_set_file_slot(cmd_parms *cmd, char *struct_pt
static cmd_parms default_parms =
{NULL, 0, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
API_EXPORT(const char *) ap_server_root_relative(ap_pool_t *p, const char *file)
API_EXPORT(const char *) ap_server_root_relative(apr_pool_t *p, const char *file)
{
if(ap_os_is_path_absolute(file))
return file;
@@ -1176,7 +1176,7 @@ API_EXPORT(const char *) ap_soak_end_container(cmd_parms *cmd, char *directive)
if (cmd_name[1] == '/') {
cmd_name[strlen(cmd_name) - 1] = '\0';
if (strcasecmp(cmd_name + 2, directive + 1) != 0) {
return ap_pstrcat(cmd->pool, "Expected </",
return apr_pstrcat(cmd->pool, "Expected </",
directive + 1, "> but saw ",
cmd_name, ">", NULL);
}
@@ -1191,14 +1191,14 @@ API_EXPORT(const char *) ap_soak_end_container(cmd_parms *cmd, char *directive)
}
static const char *execute_now(char *cmd_line, const char *args, cmd_parms *parms,
ap_pool_t *p, ap_pool_t *ptemp,
apr_pool_t *p, apr_pool_t *ptemp,
ap_directive_t **sub_tree, ap_directive_t *parent)
{
module *mod = top_module;
const command_rec *cmd;
if (!(cmd = ap_find_command_in_modules(cmd_line, &mod))) {
return ap_pstrcat(parms->pool, "Invalid command '",
return apr_pstrcat(parms->pool, "Invalid command '",
cmd_line,
"', perhaps mis-spelled or defined by a module "
"not included in the server configuration",
@@ -1217,10 +1217,10 @@ static const char *execute_now(char *cmd_line, const char *args, cmd_parms *parm
/* Structure to be passed to cfg_open_custom(): it contains an
* index which is incremented from 0 to nelts on each call to
* cfg_getline() (which in turn calls arr_elts_getstr())
* and an ap_array_header_t pointer for the string array.
* and an apr_array_header_t pointer for the string array.
*/
typedef struct {
ap_array_header_t *array;
apr_array_header_t *array;
int curr_idx;
} arr_elts_param_t;
@@ -1235,7 +1235,7 @@ static void *arr_elts_getstr(void *buf, size_t bufsiz, void *param)
return NULL;
/* return the line */
ap_cpystrn(buf, ((char **) arr_param->array->elts)[arr_param->curr_idx - 1], bufsiz);
apr_cpystrn(buf, ((char **) arr_param->array->elts)[arr_param->curr_idx - 1], bufsiz);
return buf;
}
@@ -1249,9 +1249,9 @@ static int arr_elts_close(void *param)
return 0;
}
static void process_command_config(server_rec *s, ap_array_header_t *arr,
ap_directive_t **conftree, ap_pool_t *p,
ap_pool_t *ptemp)
static void process_command_config(server_rec *s, apr_array_header_t *arr,
ap_directive_t **conftree, apr_pool_t *p,
apr_pool_t *ptemp)
{
const char *errmsg;
cmd_parms parms;
@@ -1282,11 +1282,11 @@ static void process_command_config(server_rec *s, ap_array_header_t *arr,
}
void ap_process_resource_config(server_rec *s, const char *fname,
ap_directive_t **conftree, ap_pool_t *p,
ap_pool_t *ptemp)
ap_directive_t **conftree, apr_pool_t *p,
apr_pool_t *ptemp)
{
cmd_parms parms;
ap_finfo_t finfo;
apr_finfo_t finfo;
const char *errmsg;
configfile_t *cfp;
@@ -1295,7 +1295,7 @@ void ap_process_resource_config(server_rec *s, const char *fname,
/* don't require conf/httpd.conf if we have a -C or -c switch */
if((ap_server_pre_read_config->nelts || ap_server_post_read_config->nelts) &&
!(strcmp(fname, ap_server_root_relative(p, SERVER_CONFIG_FILE)))) {
if (ap_stat(&finfo, fname, p) != APR_SUCCESS)
if (apr_stat(&finfo, fname, p) != APR_SUCCESS)
return;
}
@@ -1332,7 +1332,7 @@ void ap_process_resource_config(server_rec *s, const char *fname,
}
API_EXPORT(void)ap_process_config_tree(server_rec *s, ap_directive_t *conftree,
ap_pool_t *p, ap_pool_t *ptemp)
apr_pool_t *p, apr_pool_t *ptemp)
{
const char *errmsg;
cmd_parms parms;
@@ -1364,7 +1364,7 @@ int ap_parse_htaccess(void **result, request_rec *r, int override,
const struct htaccess_result *cache;
struct htaccess_result *new;
void *dc = NULL;
ap_status_t status;
apr_status_t status;
/* firstly, search cache */
for (cache = r->htaccess; cache != NULL; cache = cache->next)
@@ -1379,7 +1379,7 @@ int ap_parse_htaccess(void **result, request_rec *r, int override,
parms.pool = r->pool;
parms.temp_pool = r->pool;
parms.server = r->server;
parms.path = ap_pstrdup(r->pool, d);
parms.path = apr_pstrdup(r->pool, d);
/* loop through the access names and find the first one */
@@ -1409,14 +1409,14 @@ int ap_parse_htaccess(void **result, request_rec *r, int override,
*result = dc;
break;
} else {
ap_status_t cerr = ap_canonical_error(status);
apr_status_t cerr = apr_canonical_error(status);
if (cerr != APR_ENOENT && cerr != APR_ENOTDIR) {
ap_log_rerror(APLOG_MARK, APLOG_CRIT, status, r,
"%s pcfg_openfile: unable to check htaccess file, "
"ensure it is readable",
filename);
ap_table_setn(r->notes, "error-notes",
apr_table_setn(r->notes, "error-notes",
"Server unable to read htaccess file, denying "
"access to be safe");
return HTTP_FORBIDDEN;
@@ -1425,7 +1425,7 @@ int ap_parse_htaccess(void **result, request_rec *r, int override,
}
/* cache it */
new = ap_palloc(r->pool, sizeof(struct htaccess_result));
new = apr_palloc(r->pool, sizeof(struct htaccess_result));
new->dir = parms.path;
new->override = override;
new->htaccess = dc;
@@ -1437,10 +1437,10 @@ int ap_parse_htaccess(void **result, request_rec *r, int override,
}
CORE_EXPORT(const char *) ap_init_virtual_host(ap_pool_t *p, const char *hostname,
CORE_EXPORT(const char *) ap_init_virtual_host(apr_pool_t *p, const char *hostname,
server_rec *main_server, server_rec **ps)
{
server_rec *s = (server_rec *) ap_pcalloc(p, sizeof(server_rec));
server_rec *s = (server_rec *) apr_pcalloc(p, sizeof(server_rec));
/* TODO: this crap belongs in http_core */
s->process = main_server->process;
@@ -1458,8 +1458,8 @@ CORE_EXPORT(const char *) ap_init_virtual_host(ap_pool_t *p, const char *hostnam
s->next = NULL;
s->is_virtual = 1;
s->names = ap_make_array(p, 4, sizeof(char **));
s->wild_names = ap_make_array(p, 4, sizeof(char **));
s->names = apr_make_array(p, 4, sizeof(char **));
s->wild_names = apr_make_array(p, 4, sizeof(char **));
s->module_config = create_empty_config(p);
s->lookup_defaults = ap_create_per_dir_config(p);
@@ -1479,7 +1479,7 @@ CORE_EXPORT(const char *) ap_init_virtual_host(ap_pool_t *p, const char *hostnam
}
API_EXPORT(void) ap_fixup_virtual_hosts(ap_pool_t *p, server_rec *main_server)
API_EXPORT(void) ap_fixup_virtual_hosts(apr_pool_t *p, server_rec *main_server)
{
server_rec *virt;
@@ -1518,17 +1518,17 @@ API_EXPORT(void) ap_fixup_virtual_hosts(ap_pool_t *p, server_rec *main_server)
* Getting *everything* configured...
*/
static void init_config_globals(ap_pool_t *p)
static void init_config_globals(apr_pool_t *p)
{
/* Global virtual host hash bucket pointers. Init to null. */
ap_init_vhost_config(p);
}
static server_rec *init_server_config(process_rec *process, ap_pool_t *p)
static server_rec *init_server_config(process_rec *process, apr_pool_t *p)
{
server_rec *s = (server_rec *) ap_pcalloc(p, sizeof(server_rec));
server_rec *s = (server_rec *) apr_pcalloc(p, sizeof(server_rec));
ap_open_stderr(&s->error_log, p);
apr_open_stderr(&s->error_log, p);
s->process = process;
s->port = 0;
s->server_admin = DEFAULT_ADMIN;
@@ -1543,7 +1543,7 @@ static server_rec *init_server_config(process_rec *process, ap_pool_t *p)
s->keep_alive_max = DEFAULT_KEEPALIVE;
s->keep_alive = 1;
s->next = NULL;
s->addrs = ap_pcalloc(p, sizeof(server_addr_rec));
s->addrs = apr_pcalloc(p, sizeof(server_addr_rec));
/* NOT virtual host; don't match any real network interface */
s->addrs->host_addr.s_addr = htonl(INADDR_ANY);
s->addrs->host_port = 0; /* matches any port */
@@ -1557,11 +1557,11 @@ static server_rec *init_server_config(process_rec *process, ap_pool_t *p)
}
API_EXPORT(server_rec*) ap_read_config(process_rec *process, ap_pool_t *ptemp,
API_EXPORT(server_rec*) ap_read_config(process_rec *process, apr_pool_t *ptemp,
const char *confname,
ap_directive_t **conftree)
{
ap_pool_t *p = process->pconf;
apr_pool_t *p = process->pconf;
server_rec *s = init_server_config(process, p);
init_config_globals(p);
@@ -1579,7 +1579,7 @@ API_EXPORT(server_rec*) ap_read_config(process_rec *process, ap_pool_t *ptemp,
return s;
}
void ap_single_module_configure(ap_pool_t *p, server_rec *s, module *m)
void ap_single_module_configure(apr_pool_t *p, server_rec *s, module *m)
{
if (m->create_server_config)
ap_set_module_config(s->module_config, m,
@@ -1598,13 +1598,13 @@ API_EXPORT(void) ap_run_rewrite_args(process_rec *process)
(*m->rewrite_args) (process);
}
API_EXPORT(void) ap_post_config_hook(ap_pool_t *pconf, ap_pool_t *plog, ap_pool_t *ptemp, server_rec *s)
API_EXPORT(void) ap_post_config_hook(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
{
ap_run_post_config(pconf,plog,ptemp,s);
init_handlers(pconf);
}
void ap_child_init_hook(ap_pool_t *pchild, server_rec *s)
void ap_child_init_hook(apr_pool_t *pchild, server_rec *s)
{
/* TODO: uh this seems ugly, is there a better way? */
/*ap_child_init_alloc(); PUT THIS BACK IN XXXXX */

View File

@@ -143,9 +143,9 @@ static void sock_enable_linger(int s)
void ap_lingering_close(conn_rec *c)
{
char dummybuf[512];
ap_time_t start;
ap_ssize_t nbytes;
ap_status_t rc;
apr_time_t start;
apr_ssize_t nbytes;
apr_status_t rc;
int timeout;
#ifdef NO_LINGCLOSE
@@ -184,7 +184,7 @@ void ap_lingering_close(conn_rec *c)
* from peer) or we've exceeded our overall timeout.
*/
start = ap_now();
start = apr_now();
timeout = MAX_SECS_TO_LINGER;
for (;;) {
ap_bsetopt(c->client, BO_TIMEOUT, &timeout);
@@ -193,7 +193,7 @@ void ap_lingering_close(conn_rec *c)
if (rc != APR_SUCCESS || nbytes == 0) break;
/* how much time has elapsed? */
timeout = (int)((ap_now() - start) / AP_USEC_PER_SEC);
timeout = (int)((apr_now() - start) / AP_USEC_PER_SEC);
if (timeout >= MAX_SECS_TO_LINGER) break;
/* figure out the new timeout */
@@ -235,7 +235,7 @@ int ap_process_http_connection(conn_rec *c)
break;
ap_update_connection_status(c->id, "Status", "Keepalive");
ap_destroy_pool(r->pool);
apr_destroy_pool(r->pool);
if (ap_graceful_stop_signalled())
break;
@@ -249,28 +249,28 @@ int ap_process_http_connection(conn_rec *c)
structure, but for now...
*/
conn_rec *ap_new_connection(ap_pool_t *p, server_rec *server, BUFF *inout,
conn_rec *ap_new_connection(apr_pool_t *p, server_rec *server, BUFF *inout,
const struct sockaddr_in *remaddr,
const struct sockaddr_in *saddr, long id)
{
conn_rec *conn = (conn_rec *) ap_pcalloc(p, sizeof(conn_rec));
conn_rec *conn = (conn_rec *) apr_pcalloc(p, sizeof(conn_rec));
/* Got a connection structure, so initialize what fields we can
* (the rest are zeroed out by pcalloc).
*/
conn->conn_config=ap_create_conn_config(p);
conn->notes = ap_make_table(p, 5);
conn->notes = apr_make_table(p, 5);
conn->pool = p;
conn->local_addr = *saddr;
conn->local_ip = ap_pstrdup(conn->pool,
conn->local_ip = apr_pstrdup(conn->pool,
inet_ntoa(conn->local_addr.sin_addr));
conn->base_server = server;
conn->client = inout;
conn->remote_addr = *remaddr;
conn->remote_ip = ap_pstrdup(conn->pool,
conn->remote_ip = apr_pstrdup(conn->pool,
inet_ntoa(conn->remote_addr.sin_addr));
conn->id = id;
@@ -280,12 +280,12 @@ conn_rec *ap_new_connection(ap_pool_t *p, server_rec *server, BUFF *inout,
conn_rec *ap_new_apr_connection(ap_pool_t *p, server_rec *server, BUFF *inout,
ap_socket_t *conn_socket, long id)
conn_rec *ap_new_apr_connection(apr_pool_t *p, server_rec *server, BUFF *inout,
apr_socket_t *conn_socket, long id)
{
struct sockaddr_in *sa_local, *sa_remote;
ap_get_local_name(&sa_local, conn_socket);
ap_get_remote_name(&sa_remote, conn_socket);
apr_get_local_name(&sa_local, conn_socket);
apr_get_remote_name(&sa_remote, conn_socket);
return ap_new_connection(p, server, inout, sa_remote, sa_local, id);
}

View File

@@ -58,7 +58,7 @@
#include <stdio.h>
/* generate a ap_table_t of 256 values, where certain characters are
/* generate a apr_table_t of 256 values, where certain characters are
* marked "interesting"... for the uri parsing process.
*/

View File

@@ -76,33 +76,33 @@ static int ap_listenbacklog;
static int send_buffer_size;
/* TODO: make_sock is just begging and screaming for APR abstraction */
static ap_status_t make_sock(ap_pool_t *p, ap_listen_rec *server)
static apr_status_t make_sock(apr_pool_t *p, ap_listen_rec *server)
{
ap_socket_t *s = server->sd;
apr_socket_t *s = server->sd;
int one = 1;
char addr[512];
ap_status_t stat;
ap_uint32_t port;
apr_status_t stat;
apr_uint32_t port;
char *ipaddr;
ap_get_local_port(&port,s);
ap_get_local_ipaddr(&ipaddr,s);
ap_snprintf(addr, sizeof(addr), "address %s port %u", ipaddr,
apr_get_local_port(&port,s);
apr_get_local_ipaddr(&ipaddr,s);
apr_snprintf(addr, sizeof(addr), "address %s port %u", ipaddr,
(unsigned) port);
stat = ap_setsocketopt(s, APR_SO_REUSEADDR, one);
stat = apr_setsocketopt(s, APR_SO_REUSEADDR, one);
if (stat != APR_SUCCESS && stat != APR_ENOTIMPL) {
ap_log_error(APLOG_MARK, APLOG_CRIT, stat, NULL,
"make_sock: for %s, setsockopt: (SO_REUSEADDR)", addr);
ap_close_socket(s);
apr_close_socket(s);
return stat;
}
stat = ap_setsocketopt(s, APR_SO_KEEPALIVE, one);
stat = apr_setsocketopt(s, APR_SO_KEEPALIVE, one);
if (stat != APR_SUCCESS && stat != APR_ENOTIMPL) {
ap_log_error(APLOG_MARK, APLOG_CRIT, stat, NULL,
"make_sock: for %s, setsockopt: (SO_KEEPALIVE)", addr);
ap_close_socket(s);
apr_close_socket(s);
return stat;
}
@@ -126,7 +126,7 @@ static ap_status_t make_sock(ap_pool_t *p, ap_listen_rec *server)
* If no size is specified, use the kernel default.
*/
if (send_buffer_size) {
stat = ap_setsocketopt(s, APR_SO_SNDBUF, send_buffer_size);
stat = apr_setsocketopt(s, APR_SO_SNDBUF, send_buffer_size);
if (stat != APR_SUCCESS && stat != APR_ENOTIMPL) {
ap_log_error(APLOG_MARK, APLOG_WARNING, stat, NULL,
"make_sock: failed to set SendBufferSize for %s, "
@@ -135,17 +135,17 @@ static ap_status_t make_sock(ap_pool_t *p, ap_listen_rec *server)
}
}
if ((stat = ap_bind(s)) != APR_SUCCESS) {
if ((stat = apr_bind(s)) != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_CRIT, stat, NULL,
"make_sock: could not bind to %s", addr);
ap_close_socket(s);
apr_close_socket(s);
return stat;
}
if ((stat = ap_listen(s, ap_listenbacklog)) != APR_SUCCESS) {
if ((stat = apr_listen(s, ap_listenbacklog)) != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_ERR, stat, NULL,
"make_sock: unable to listen for connections on %s", addr);
ap_close_socket(s);
apr_close_socket(s);
return stat;
}
@@ -155,12 +155,12 @@ static ap_status_t make_sock(ap_pool_t *p, ap_listen_rec *server)
}
static ap_status_t close_listeners_on_exec(void *v)
static apr_status_t close_listeners_on_exec(void *v)
{
ap_listen_rec *lr;
for (lr = ap_listeners; lr; lr = lr->next) {
ap_close_socket(lr->sd);
apr_close_socket(lr->sd);
lr->active = 0;
}
return APR_SUCCESS;
@@ -171,14 +171,14 @@ static void alloc_listener(process_rec *process, char *addr, unsigned int port)
{
ap_listen_rec **walk;
ap_listen_rec *new;
ap_status_t status;
apr_status_t status;
char *oldaddr;
unsigned int oldport;
/* see if we've got an old listener for this address:port */
for (walk = &old_listeners; *walk; walk = &(*walk)->next) {
ap_get_local_port(&oldport, (*walk)->sd);
ap_get_local_ipaddr(&oldaddr,(*walk)->sd);
apr_get_local_port(&oldport, (*walk)->sd);
apr_get_local_ipaddr(&oldaddr,(*walk)->sd);
if (!strcmp(oldaddr, addr) && port == oldport) {
/* re-use existing record */
new = *walk;
@@ -190,15 +190,15 @@ static void alloc_listener(process_rec *process, char *addr, unsigned int port)
}
/* this has to survive restarts */
new = ap_palloc(process->pool, sizeof(ap_listen_rec));
new = apr_palloc(process->pool, sizeof(ap_listen_rec));
new->active = 0;
if ((status = ap_create_tcp_socket(&new->sd, process->pool)) != APR_SUCCESS) {
if ((status = apr_create_tcp_socket(&new->sd, process->pool)) != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_CRIT, status, NULL,
"make_sock: failed to get a socket for %s", addr);
return;
}
ap_set_local_port(new->sd, port);
ap_set_local_ipaddr(new->sd, addr);
apr_set_local_port(new->sd, port);
apr_set_local_ipaddr(new->sd, addr);
new->next = ap_listeners;
ap_listeners = new;
}
@@ -208,7 +208,7 @@ static
#endif
int ap_listen_open(process_rec *process, unsigned port)
{
ap_pool_t *pconf = process->pconf;
apr_pool_t *pconf = process->pconf;
ap_listen_rec *lr;
ap_listen_rec *next;
int num_open;
@@ -233,14 +233,14 @@ int ap_listen_open(process_rec *process, unsigned port)
/* close the old listeners */
for (lr = old_listeners; lr; lr = next) {
ap_close_socket(lr->sd);
apr_close_socket(lr->sd);
lr->active = 0;
next = lr->next;
/* free(lr);*/
}
old_listeners = NULL;
ap_register_cleanup(pconf, NULL, ap_null_cleanup, close_listeners_on_exec);
apr_register_cleanup(pconf, NULL, apr_null_cleanup, close_listeners_on_exec);
return num_open ? 0 : -1;
}
@@ -270,7 +270,7 @@ void ap_listen_pre_config(void)
const char *ap_set_listener(cmd_parms *cmd, void *dummy, const char *ips_)
{
char *ips=ap_pstrdup(cmd->pool, ips_);
char *ips=apr_pstrdup(cmd->pool, ips_);
char *ports;
unsigned short port;

View File

@@ -65,7 +65,7 @@
#define CORE_PRIVATE
#include "apr.h" /* for ap_signal */
#include "apr.h" /* for apr_signal */
#include "ap_config.h"
#include "apr_strings.h"
#include "apr_lib.h"
@@ -165,24 +165,24 @@ static const TRANS priorities[] = {
{NULL, -1},
};
static int log_child(ap_pool_t *p, const char *progname,
ap_file_t **fpin)
static int log_child(apr_pool_t *p, const char *progname,
apr_file_t **fpin)
{
/* Child process code for 'ErrorLog "|..."';
* may want a common framework for this, since I expect it will
* be common for other foo-loggers to want this sort of thing...
*/
int rc = -1;
ap_procattr_t *procattr;
ap_proc_t *procnew;
apr_procattr_t *procattr;
apr_proc_t *procnew;
#ifdef SIGHUP
/* No concept of a child process on Win32 */
ap_signal(SIGHUP, SIG_IGN);
apr_signal(SIGHUP, SIG_IGN);
#endif /* ndef SIGHUP */
if ((ap_createprocattr_init(&procattr, p) != APR_SUCCESS) ||
(ap_setprocattr_io(procattr,
if ((apr_createprocattr_init(&procattr, p) != APR_SUCCESS) ||
(apr_setprocattr_io(procattr,
APR_FULL_BLOCK,
APR_NO_PIPE,
APR_NO_PIPE) != APR_SUCCESS)) {
@@ -193,13 +193,13 @@ static int log_child(ap_pool_t *p, const char *progname,
char **args;
const char *pname;
ap_tokenize_to_argv(progname, &args, p);
pname = ap_pstrdup(p, args[0]);
procnew = (ap_proc_t *) ap_palloc(p, sizeof(*procnew));
rc = ap_create_process(procnew, pname, args, NULL, procattr, p);
apr_tokenize_to_argv(progname, &args, p);
pname = apr_pstrdup(p, args[0]);
procnew = (apr_proc_t *) apr_palloc(p, sizeof(*procnew));
rc = apr_create_process(procnew, pname, args, NULL, procattr, p);
if (rc == APR_SUCCESS) {
ap_note_subprocess(p, procnew, kill_after_timeout);
apr_note_subprocess(p, procnew, kill_after_timeout);
(*fpin) = procnew->in;
}
}
@@ -207,13 +207,13 @@ static int log_child(ap_pool_t *p, const char *progname,
return(rc);
}
static void open_error_log(server_rec *s, ap_pool_t *p)
static void open_error_log(server_rec *s, apr_pool_t *p)
{
const char *fname;
int rc;
if (*s->error_fname == '|') {
ap_file_t *dummy = NULL;
apr_file_t *dummy = NULL;
/* This starts a new process... */
rc = log_child (p, s->error_fname+1, &dummy);
@@ -251,7 +251,7 @@ static void open_error_log(server_rec *s, ap_pool_t *p)
else {
fname = ap_server_root_relative(p, s->error_fname);
/* Change to AP funcs. */
if (ap_open(&s->error_log, fname, APR_APPEND |
if (apr_open(&s->error_log, fname, APR_APPEND |
APR_READ | APR_WRITE | APR_CREATE, APR_OS_DEFAULT, p) != APR_SUCCESS) {
perror("fopen");
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0, NULL,
@@ -262,21 +262,21 @@ static void open_error_log(server_rec *s, ap_pool_t *p)
}
}
void ap_open_logs(server_rec *s_main, ap_pool_t *p)
void ap_open_logs(server_rec *s_main, apr_pool_t *p)
{
ap_status_t rc = APR_SUCCESS;
apr_status_t rc = APR_SUCCESS;
server_rec *virt, *q;
int replace_stderr;
ap_file_t *errfile = NULL;
apr_file_t *errfile = NULL;
open_error_log(s_main, p);
replace_stderr = 1;
if (s_main->error_log) {
/* replace stderr with this new log */
ap_flush(s_main->error_log);
ap_open_stderr(&errfile, p);
if ((rc = ap_dupfile(&errfile, s_main->error_log, NULL)) != APR_SUCCESS) {
apr_flush(s_main->error_log);
apr_open_stderr(&errfile, p);
if ((rc = apr_dupfile(&errfile, s_main->error_log, NULL)) != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_CRIT, rc, s_main,
"unable to replace stderr with error_log");
} else {
@@ -309,22 +309,22 @@ void ap_open_logs(server_rec *s_main, ap_pool_t *p)
}
API_EXPORT(void) ap_error_log2stderr(server_rec *s) {
ap_file_t *errfile = NULL;
apr_file_t *errfile = NULL;
ap_open_stderr(&errfile, s->process->pool);
apr_open_stderr(&errfile, s->process->pool);
if (s->error_log != NULL) {
ap_dupfile(&(s->error_log), errfile, s->process->pool);
apr_dupfile(&(s->error_log), errfile, s->process->pool);
}
}
static void log_error_core(const char *file, int line, int level,
ap_status_t status, const server_rec *s,
const request_rec *r, ap_pool_t *pool,
apr_status_t status, const server_rec *s,
const request_rec *r, apr_pool_t *pool,
const char *fmt, va_list args)
{
char errstr[MAX_STRING_LEN];
size_t len;
ap_file_t *logf = NULL;
apr_file_t *logf = NULL;
if (s == NULL) {
/*
@@ -335,7 +335,7 @@ static void log_error_core(const char *file, int line, int level,
if (((level & APLOG_LEVELMASK) != APLOG_NOTICE) &&
((level & APLOG_LEVELMASK) > DEFAULT_LOGLEVEL))
return;
ap_open_stderr(&logf, NULL);
apr_open_stderr(&logf, NULL);
}
else if (s->error_log) {
/*
@@ -371,7 +371,7 @@ static void log_error_core(const char *file, int line, int level,
if (logf && ((level & APLOG_STARTUP) != APLOG_STARTUP)) {
errstr[0] = '[';
ap_ctime(errstr + 1, ap_now());
apr_ctime(errstr + 1, apr_now());
errstr[1 + AP_CTIME_LEN - 1] = ']';
errstr[1 + AP_CTIME_LEN ] = ' ';
len = 1 + AP_CTIME_LEN + 1;
@@ -380,7 +380,7 @@ static void log_error_core(const char *file, int line, int level,
}
if ((level & APLOG_STARTUP) != APLOG_STARTUP) {
len += ap_snprintf(errstr + len, MAX_STRING_LEN - len,
len += apr_snprintf(errstr + len, MAX_STRING_LEN - len,
"[%s] ", priorities[level & APLOG_LEVELMASK].t_name);
}
#ifndef TPF
@@ -396,14 +396,14 @@ static void log_error_core(const char *file, int line, int level,
* down to the basename.
*/
if (e != NULL && e[1] != '\0') {
ap_snprintf(tmp, sizeof(tmp), "%s", &e[1]);
apr_snprintf(tmp, sizeof(tmp), "%s", &e[1]);
e = &tmp[strlen(tmp)-1];
if (*e == ')')
*e = '\0';
file = tmp;
}
#endif /*_OSD_POSIX*/
len += ap_snprintf(errstr + len, MAX_STRING_LEN - len,
len += apr_snprintf(errstr + len, MAX_STRING_LEN - len,
"%s(%d): ", file, line);
}
#endif /* TPF */
@@ -413,26 +413,26 @@ static void log_error_core(const char *file, int line, int level,
* quad is the most secure, which is why I'm implementing it
* first. -djg
*/
len += ap_snprintf(errstr + len, MAX_STRING_LEN - len,
len += apr_snprintf(errstr + len, MAX_STRING_LEN - len,
"[client %s] ", r->connection->remote_ip);
}
if (!(level & APLOG_NOERRNO)
&& (status != 0)) {
char buf[120];
len += ap_snprintf(errstr + len, MAX_STRING_LEN - len,
"(%d)%s: ", status, ap_strerror(status, buf, sizeof(buf)));
len += apr_snprintf(errstr + len, MAX_STRING_LEN - len,
"(%d)%s: ", status, apr_strerror(status, buf, sizeof(buf)));
}
len += ap_vsnprintf(errstr + len, MAX_STRING_LEN - len, fmt, args);
len += apr_vsnprintf(errstr + len, MAX_STRING_LEN - len, fmt, args);
/* NULL if we are logging to syslog */
if (logf) {
/* Truncate for the terminator (as ap_snprintf does) */
/* Truncate for the terminator (as apr_snprintf does) */
if (len > MAX_STRING_LEN - sizeof(APR_EOL_STR))
len = MAX_STRING_LEN - sizeof(APR_EOL_STR);
strcpy(errstr + len, APR_EOL_STR);
ap_puts(errstr, logf);
ap_flush(logf);
apr_puts(errstr, logf);
apr_flush(logf);
}
#ifdef HAVE_SYSLOG
else {
@@ -442,7 +442,7 @@ static void log_error_core(const char *file, int line, int level,
}
API_EXPORT(void) ap_log_error(const char *file, int line, int level,
ap_status_t status, const server_rec *s,
apr_status_t status, const server_rec *s,
const char *fmt, ...)
{
va_list args;
@@ -453,7 +453,7 @@ API_EXPORT(void) ap_log_error(const char *file, int line, int level,
}
API_EXPORT(void) ap_log_perror(const char *file, int line, int level,
ap_status_t status, ap_pool_t *p,
apr_status_t status, apr_pool_t *p,
const char *fmt, ...)
{
va_list args;
@@ -464,7 +464,7 @@ API_EXPORT(void) ap_log_perror(const char *file, int line, int level,
}
API_EXPORT(void) ap_log_rerror(const char *file, int line, int level,
ap_status_t status, const request_rec *r,
apr_status_t status, const request_rec *r,
const char *fmt, ...)
{
va_list args;
@@ -482,28 +482,28 @@ API_EXPORT(void) ap_log_rerror(const char *file, int line, int level,
va_end(args);
va_start(args,fmt);
if (((level & APLOG_LEVELMASK) <= APLOG_WARNING)
&& (ap_table_get(r->notes, "error-notes") == NULL)) {
ap_table_setn(r->notes, "error-notes",
ap_escape_html(r->pool, ap_pvsprintf(r->pool, fmt,
&& (apr_table_get(r->notes, "error-notes") == NULL)) {
apr_table_setn(r->notes, "error-notes",
ap_escape_html(r->pool, apr_pvsprintf(r->pool, fmt,
args)));
}
va_end(args);
}
void ap_log_pid(ap_pool_t *p, const char *fname)
void ap_log_pid(apr_pool_t *p, const char *fname)
{
ap_file_t *pid_file = NULL;
ap_finfo_t finfo;
apr_file_t *pid_file = NULL;
apr_finfo_t finfo;
static pid_t saved_pid = -1;
pid_t mypid;
ap_status_t rv;
apr_status_t rv;
if (!fname)
return;
fname = ap_server_root_relative(p, fname);
mypid = getpid();
if (mypid != saved_pid && ap_stat(&finfo, fname, p) == APR_SUCCESS) {
if (mypid != saved_pid && apr_stat(&finfo, fname, p) == APR_SUCCESS) {
/* WINCH and HUP call this on each restart.
* Only warn on first time through for this pid.
*
@@ -512,13 +512,13 @@ void ap_log_pid(ap_pool_t *p, const char *fname)
* based on the last modification time of the pid file.
*/
ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, 0, NULL,
ap_psprintf(p,
apr_psprintf(p,
"pid file %s overwritten -- Unclean shutdown of previous Apache run?",
fname)
);
}
if ((rv = ap_open(&pid_file, fname, APR_WRITE | APR_CREATE | APR_TRUNCATE,
if ((rv = apr_open(&pid_file, fname, APR_WRITE | APR_CREATE | APR_TRUNCATE,
APR_UREAD | APR_UWRITE | APR_GREAD | APR_WREAD, p)) != APR_SUCCESS) {
ap_log_error(APLOG_MARK, APLOG_ERR, rv, NULL,
"could not create %s", fname);
@@ -527,8 +527,8 @@ void ap_log_pid(ap_pool_t *p, const char *fname)
ap_server_argv0, fname);
exit(1);
}
ap_fprintf(pid_file, "%ld" APR_EOL_STR, (long)mypid);
ap_close(pid_file);
apr_fprintf(pid_file, "%ld" APR_EOL_STR, (long)mypid);
apr_close(pid_file);
saved_pid = mypid;
}
@@ -565,7 +565,7 @@ API_EXPORT(void) ap_log_assert(const char *szExp, const char *szFile, int nLine)
{
char time_str[AP_CTIME_LEN];
ap_ctime(time_str, ap_now());
apr_ctime(time_str, apr_now());
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0, NULL,
"[%s] file %s, line %d, assertion \"%s\" failed",
time_str, szFile, nLine, szExp);
@@ -586,40 +586,40 @@ static void piped_log_maintenance(int reason, void *data, ap_wait_t status);
static int piped_log_spawn(piped_log *pl)
{
int rc;
ap_procattr_t *procattr;
ap_proc_t *procnew;
ap_status_t status;
apr_procattr_t *procattr;
apr_proc_t *procnew;
apr_status_t status;
#ifdef SIGHUP
ap_signal(SIGHUP, SIG_IGN);
apr_signal(SIGHUP, SIG_IGN);
#endif
if (((status = ap_createprocattr_init(&procattr, pl->p)) != APR_SUCCESS) ||
((status = ap_setprocattr_childin(procattr, ap_piped_log_read_fd(pl),
if (((status = apr_createprocattr_init(&procattr, pl->p)) != APR_SUCCESS) ||
((status = apr_setprocattr_childin(procattr, ap_piped_log_read_fd(pl),
ap_piped_log_write_fd(pl))) != APR_SUCCESS)) {
char buf[120];
/* Something bad happened, give up and go away. */
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0, NULL,
"piped_log_spawn: unable to setup child process '%s': %s",
pl->program, ap_strerror(status, buf, sizeof(buf)));
pl->program, apr_strerror(status, buf, sizeof(buf)));
rc = -1;
}
else {
char **args;
const char *pname;
ap_tokenize_to_argv(pl->program, &args, pl->p);
pname = ap_pstrdup(pl->p, args[0]);
procnew = (ap_proc_t *) ap_palloc(pl->p, sizeof(*procnew));
rc = ap_create_process(procnew, pname, args, NULL, procattr, pl->p);
apr_tokenize_to_argv(pl->program, &args, pl->p);
pname = apr_pstrdup(pl->p, args[0]);
procnew = (apr_proc_t *) apr_palloc(pl->p, sizeof(*procnew));
rc = apr_create_process(procnew, pname, args, NULL, procattr, pl->p);
if (rc == APR_SUCCESS) {
/* pjr - This no longer happens inside the child, */
/* I am assuming that if ap_create_process was */
/* I am assuming that if apr_create_process was */
/* successful that the child is running. */
RAISE_SIGSTOP(PIPED_LOG_SPAWN);
pl->pid = procnew;
ap_piped_log_write_fd(pl) = procnew->in;
ap_register_other_child(procnew, piped_log_maintenance, pl,
apr_register_other_child(procnew, piped_log_maintenance, pl,
ap_piped_log_write_fd(pl), pl->p);
}
}
@@ -631,12 +631,12 @@ static int piped_log_spawn(piped_log *pl)
static void piped_log_maintenance(int reason, void *data, ap_wait_t status)
{
piped_log *pl = data;
ap_status_t stats;
apr_status_t stats;
switch (reason) {
case APR_OC_REASON_DEATH:
pl->pid = NULL;
ap_unregister_other_child(pl);
apr_unregister_other_child(pl);
if (pl->program == NULL) {
/* during a restart */
break;
@@ -644,7 +644,7 @@ static void piped_log_maintenance(int reason, void *data, ap_wait_t status)
break;
case APR_OC_REASON_LOST:
pl->pid = NULL;
ap_unregister_other_child(pl);
apr_unregister_other_child(pl);
if (pl->program == NULL) {
/* during a restart */
break;
@@ -655,20 +655,20 @@ static void piped_log_maintenance(int reason, void *data, ap_wait_t status)
char buf[120];
ap_log_error(APLOG_MARK, APLOG_STARTUP | APLOG_NOERRNO, 0, NULL,
"piped_log_maintenance: unable to respawn '%s': %s",
pl->program, ap_strerror(stats, buf, sizeof(buf)));
pl->program, apr_strerror(stats, buf, sizeof(buf)));
}
break;
case APR_OC_REASON_UNWRITABLE:
if (pl->pid != NULL) {
ap_kill(pl->pid, SIGTERM);
apr_kill(pl->pid, SIGTERM);
}
break;
case APR_OC_REASON_RESTART:
pl->program = NULL;
if (pl->pid != NULL) {
ap_kill(pl->pid, SIGTERM);
apr_kill(pl->pid, SIGTERM);
}
break;
@@ -678,46 +678,46 @@ static void piped_log_maintenance(int reason, void *data, ap_wait_t status)
}
static ap_status_t piped_log_cleanup(void *data)
static apr_status_t piped_log_cleanup(void *data)
{
piped_log *pl = data;
if (pl->pid != NULL) {
ap_kill(pl->pid, SIGTERM);
apr_kill(pl->pid, SIGTERM);
}
ap_unregister_other_child(pl);
ap_close(ap_piped_log_read_fd(pl));
ap_close(ap_piped_log_write_fd(pl));
apr_unregister_other_child(pl);
apr_close(ap_piped_log_read_fd(pl));
apr_close(ap_piped_log_write_fd(pl));
return APR_SUCCESS;
}
static ap_status_t piped_log_cleanup_for_exec(void *data)
static apr_status_t piped_log_cleanup_for_exec(void *data)
{
piped_log *pl = data;
ap_close(ap_piped_log_read_fd(pl));
ap_close(ap_piped_log_write_fd(pl));
apr_close(ap_piped_log_read_fd(pl));
apr_close(ap_piped_log_write_fd(pl));
return APR_SUCCESS;
}
API_EXPORT(piped_log *) ap_open_piped_log(ap_pool_t *p, const char *program)
API_EXPORT(piped_log *) ap_open_piped_log(apr_pool_t *p, const char *program)
{
piped_log *pl;
pl = ap_palloc(p, sizeof (*pl));
pl = apr_palloc(p, sizeof (*pl));
pl->p = p;
pl->program = ap_pstrdup(p, program);
pl->program = apr_pstrdup(p, program);
pl->pid = NULL;
if (ap_create_pipe(&ap_piped_log_read_fd(pl), &ap_piped_log_write_fd(pl), p) != APR_SUCCESS) {
if (apr_create_pipe(&ap_piped_log_read_fd(pl), &ap_piped_log_write_fd(pl), p) != APR_SUCCESS) {
return NULL;
}
ap_register_cleanup(p, pl, piped_log_cleanup, piped_log_cleanup_for_exec);
apr_register_cleanup(p, pl, piped_log_cleanup, piped_log_cleanup_for_exec);
if (piped_log_spawn(pl) == -1) {
int save_errno = errno;
ap_kill_cleanup(p, pl, piped_log_cleanup);
ap_close(ap_piped_log_read_fd(pl));
ap_close(ap_piped_log_write_fd(pl));
apr_kill_cleanup(p, pl, piped_log_cleanup);
apr_close(ap_piped_log_read_fd(pl));
apr_close(ap_piped_log_write_fd(pl));
errno = save_errno;
return NULL;
}
@@ -726,18 +726,18 @@ API_EXPORT(piped_log *) ap_open_piped_log(ap_pool_t *p, const char *program)
#else
static ap_status_t piped_log_cleanup(void *data)
static apr_status_t piped_log_cleanup(void *data)
{
piped_log *pl = data;
ap_close(ap_piped_log_write_fd(pl));
apr_close(ap_piped_log_write_fd(pl));
return APR_SUCCESS;
}
API_EXPORT(piped_log *) ap_open_piped_log(ap_pool_t *p, const char *program)
API_EXPORT(piped_log *) ap_open_piped_log(apr_pool_t *p, const char *program)
{
piped_log *pl;
ap_file_t *dummy = NULL;
apr_file_t *dummy = NULL;
int rc;
rc = log_child(p, program, &dummy);
@@ -748,11 +748,11 @@ API_EXPORT(piped_log *) ap_open_piped_log(ap_pool_t *p, const char *program)
exit (1);
}
pl = ap_palloc(p, sizeof (*pl));
pl = apr_palloc(p, sizeof (*pl));
pl->p = p;
ap_piped_log_read_fd(pl) = NULL;
ap_piped_log_write_fd(pl) = dummy;
ap_register_cleanup(p, pl, piped_log_cleanup, piped_log_cleanup);
apr_register_cleanup(p, pl, piped_log_cleanup, piped_log_cleanup);
return pl;
}
@@ -761,6 +761,6 @@ API_EXPORT(piped_log *) ap_open_piped_log(ap_pool_t *p, const char *program)
API_EXPORT(void) ap_close_piped_log(piped_log *pl)
{
ap_run_cleanup(pl->p, pl, piped_log_cleanup);
apr_run_cleanup(pl->p, pl, piped_log_cleanup);
}

Some files were not shown because too many files have changed in this diff Show More