You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Jim Jagielski <ji...@jaguNET.com> on 2003/02/19 21:28:52 UTC
Time for 1.3.28?
I'm considering releasing 1.3.28 soonish... comments?
--
===========================================================================
Jim Jagielski [|] jim@jaguNET.com [|] http://www.jaguNET.com/
"A society that will trade a little liberty for a little order
will lose both and deserve neither" - T.Jefferson
Re: [PATCH] Re: Time for 1.3.28?
Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
At 04:15 PM 2/19/2003, Mike Cramer wrote:
>Jim Jagielski wrote:
>>I'm considering releasing 1.3.28 soonish... comments?
>
>The patch attached to bugzilla 14648 (and this message) fixes a long standing mod_proxy/mod_rewrite/mod_include problem. The same bug is in the old bug db several times: PR2074, PR5338, PR6804.
>- request_rec *rr = ap_sub_req_lookup_uri(name_ptr, r);
>+ request_rec *rr = ap_sub_req_lookup_file(name_ptr, r);
This change would break existing usages and the documented
behavior ...
http://httpd.apache.org/docs/mod/mod_dir.html#directoryindex
where /cgi-bin/index.php would no longer process the directory index.
It makes this patch unacceptable.
It would be nice to allow some file:/xxxx syntax or something that lets
the user include absolute files. But we can't break the existing config
language, even if it is the band-aid to another bug.
I don't know anything about the following change so I can't comment;
>- p->flags & RULEFLAG_PROXY ||
Anyways, I'm +1 to moving out .28, so we are that much closer to releasing
a .29 point release for further bug fixes perhaps three months down the road.
Development on 1.3 isn't dead - it's simply lethargic because 1.3 simply
works so well for the 99.99/.01 (as opposed to 80/20) rule.
Bill
[PATCH] Re: Time for 1.3.28?
Posted by Mike Cramer <cr...@webkist.com>.
Jim Jagielski wrote:
> I'm considering releasing 1.3.28 soonish... comments?
The patch attached to bugzilla 14648 (and this message) fixes a long
standing mod_proxy/mod_rewrite/mod_include problem. The same bug is in
the old bug db several times: PR2074, PR5338, PR6804.
--
Mike Cramer
http://www.webkist.com/
Re: Time for 1.3.28?
Posted by Jim Jagielski <ji...@apache.org>.
Colm =?unknown-8bit?Q?MacC=E1rthaigh?= wrote:
>On Wed, Feb 19, 2003 at 03:28:52PM -0500, Jim Jagielski wrote:
>> I'm considering releasing 1.3.28 soonish... comments?
>
>Here's a patch that makes Include config directives work recursively,
>posted it months ago, but I never chased it up :/
>
>Months old but should apply :)
>
This will likely not make it into 1.3.28, but will be noted for
1.3.29.
--
===========================================================================
Jim Jagielski [|] jim@jaguNET.com [|] http://www.jaguNET.com/
"A society that will trade a little liberty for a little order
will lose both and deserve neither" - T.Jefferson
Re: Time for 1.3.28?
Posted by Colm MacC�rthaigh <co...@stdlib.net>.
On Wed, Feb 19, 2003 at 03:28:52PM -0500, Jim Jagielski wrote:
> I'm considering releasing 1.3.28 soonish... comments?
Here's a patch that makes Include config directives work recursively,
posted it months ago, but I never chased it up :/
Months old but should apply :)
Index: src/include/http_config.h
===================================================================
RCS file: /home/cvspublic/apache-1.3/src/include/http_config.h,v
retrieving revision 1.108
diff -u -r1.108 http_config.h
--- src/include/http_config.h 13 Mar 2002 21:05:29 -0000 1.108
+++ src/include/http_config.h 28 May 2002 17:15:11 -0000
@@ -373,6 +373,8 @@
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);
Index: src/main/http_config.c
===================================================================
RCS file: /home/cvspublic/apache-1.3/src/main/http_config.c,v
retrieving revision 1.163
diff -u -r1.163 http_config.c
--- src/main/http_config.c 13 Mar 2002 21:05:30 -0000 1.163
+++ src/main/http_config.c 28 May 2002 17:15:12 -0000
@@ -1206,6 +1206,101 @@
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;
Index: src/main/http_core.c
===================================================================
RCS file: /home/cvspublic/apache-1.3/src/main/http_core.c,v
retrieving revision 1.312
diff -u -r1.312 http_core.c
--- src/main/http_core.c 17 May 2002 18:01:57 -0000 1.312
+++ src/main/http_core.c 28 May 2002 17:15:12 -0000
@@ -2674,9 +2674,12 @@
static const char *include_config (cmd_parms *cmd, void *dummy, char *name)
{
+ cmd_parms parms;
name = ap_server_root_relative(cmd->pool, name);
+
+ memcpy(&parms, cmd, sizeof(parms));
- ap_process_resource_config(cmd->server, name, cmd->pool, cmd->temp_pool);
+ ap_process_include_config(cmd->server, name, cmd->pool, cmd->temp_pool, &parms);
return NULL;
}
--
Colm MacC�rthaigh Public Key: colm+pgp@stdlib.net
colm@stdlib.net http://www.stdlib.net/
Re: Time for 1.3.28?
Posted by Justin Erenkrantz <ju...@erenkrantz.com>.
Jim Jagielski wrote:
> I'm considering releasing 1.3.28 soonish... comments?
I'd like to get André's apxs patch which does the
LoadModule/AddModule fixes in for 1.3.28. It probably just needs to
be reviewed (already applied to httpd-2.0 HEAD), but I think it's
worthy conceptually. =) -- justin
Re: Time for 1.3.28?
Posted by Jeff Trawick <tr...@attglobal.net>.
Jim Jagielski wrote:
> I'm considering releasing 1.3.28 soonish... comments?
+1