From: Jim Jagielski Date: Mon, 8 May 2006 19:26:00 +0000 (+0000) Subject: Back out 396294. This keeps HEAD in a non-regression state X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=59b993b40959f631e1cb2cde901f390631f2d48a;p=thirdparty%2Fapache%2Fhttpd.git Back out 396294. This keeps HEAD in a non-regression state and allows us to re-add/fix the functionality "later on" git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@405142 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/CHANGES b/src/CHANGES index 7dfc86bc5d3..fa15681fa10 100644 --- a/src/CHANGES +++ b/src/CHANGES @@ -1,5 +1,7 @@ Changes with Apache 1.3.36 + *) Reverted SVN rev #396294 due to unwanted regression. + (http://svn.apache.org/viewcvs?rev=396294&view=rev) Changes with Apache 1.3.35 diff --git a/src/include/http_config.h b/src/include/http_config.h index ec43fa5febb..c2f9f40bf76 100644 --- a/src/include/http_config.h +++ b/src/include/http_config.h @@ -330,8 +330,6 @@ CORE_EXPORT(int) ap_parse_htaccess(void **result, request_rec *r, int override, CORE_EXPORT(const char *) ap_init_virtual_host(pool *p, const char *hostname, server_rec *main_server, server_rec **); CORE_EXPORT(void) ap_process_resource_config(server_rec *s, char *fname, pool *p, pool *ptemp); -CORE_EXPORT(void) ap_process_include_config(server_rec *s, char *fname, pool *p, pool *ptemp, - cmd_parms *parms); /* ap_check_cmd_context() definitions: */ API_EXPORT(const char *) ap_check_cmd_context(cmd_parms *cmd, unsigned forbidden); diff --git a/src/main/http_config.c b/src/main/http_config.c index 6071e0b8818..6f56d4971c9 100644 --- a/src/main/http_config.c +++ b/src/main/http_config.c @@ -1164,101 +1164,6 @@ static int fname_alphasort(const void *fn1, const void *fn2) return strcmp(f1->fname,f2->fname); } -CORE_EXPORT(void) ap_process_include_config(server_rec *s, char *fname, pool *p, pool *ptemp, - cmd_parms *parms) -{ - const char *errmsg; - struct stat finfo; - - fname = ap_server_root_relative(p, fname); - - if (stat(fname, &finfo) == -1) - return; - - /* - * here we want to check if the candidate file is really a - * directory, and most definitely NOT a symlink (to prevent - * horrible loops). If so, let's recurse and toss it back into - * the function. - */ - if (ap_is_rdirectory(fname)) { - DIR *dirp; - struct DIR_TYPE *dir_entry; - int current; - array_header *candidates = NULL; - fnames *fnew; - - /* - * first course of business is to grok all the directory - * entries here and store 'em away. Recall we need full pathnames - * for this. - */ - fprintf(stderr, "Processing config directory: %s\n", fname); - dirp = ap_popendir(p, fname); - if (dirp == NULL) { - perror("fopen"); - fprintf(stderr, "%s: could not open config directory %s\n", - ap_server_argv0, fname); -#ifdef NETWARE - clean_parent_exit(1); -#else - exit(1); -#endif - } - candidates = ap_make_array(p, 1, sizeof(fnames)); - while ((dir_entry = readdir(dirp)) != NULL) { - /* strip out '.' and '..' */ - if (strcmp(dir_entry->d_name, ".") && - strcmp(dir_entry->d_name, "..")) { - fnew = (fnames *) ap_push_array(candidates); - fnew->fname = ap_make_full_path(p, fname, dir_entry->d_name); - } - } - ap_pclosedir(p, dirp); - if (candidates->nelts != 0) { - qsort((void *) candidates->elts, candidates->nelts, - sizeof(fnames), fname_alphasort); - /* - * Now recurse these... we handle errors and subdirectories - * via the recursion, which is nice - */ - for (current = 0; current < candidates->nelts; ++current) { - fnew = &((fnames *) candidates->elts)[current]; - fprintf(stderr, " Processing config file: %s\n", fnew->fname); - ap_process_resource_config(s, fnew->fname, p, ptemp); - } - } - return; - } - - if (!(parms->config_file = ap_pcfg_openfile(p,fname))) { - perror("fopen"); - fprintf(stderr, "%s: could not open document config file %s\n", - ap_server_argv0, fname); -#ifdef NETWARE - clean_parent_exit(1); -#else - exit(1); -#endif - } - - errmsg = ap_srm_command_loop(parms, s->lookup_defaults); - - if (errmsg) { - fprintf(stderr, "Syntax error on line %d of %s:\n", - parms->config_file->line_number, parms->config_file->name); - fprintf(stderr, "%s\n", errmsg); -#ifdef NETWARE - clean_parent_exit(1); -#else - exit(1); -#endif - } - - ap_cfg_closefile(parms->config_file); -} - - CORE_EXPORT(void) ap_process_resource_config(server_rec *s, char *fname, pool *p, pool *ptemp) { const char *errmsg; diff --git a/src/main/http_core.c b/src/main/http_core.c index 28dba44abe9..752530d86c2 100644 --- a/src/main/http_core.c +++ b/src/main/http_core.c @@ -2770,12 +2770,9 @@ static const char *set_coredumpdir (cmd_parms *cmd, void *dummy, char *arg) static const char *include_config (cmd_parms *cmd, void *dummy, char *name) { - static cmd_parms parms; name = ap_server_root_relative(cmd->pool, name); - - memcpy(&parms, cmd, sizeof(parms)); - ap_process_include_config(cmd->server, name, cmd->pool, cmd->temp_pool, &parms); + ap_process_resource_config(cmd->server, name, cmd->pool, cmd->temp_pool); return NULL; }