You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Geoffrey Young <gy...@laserlink.net> on 2001/01/03 16:25:00 UTC
server config directory patch
hi all...
here's a little patch that avoids parsing .files when loading up server
config directories.
At least on Linux, vi creates .file.swp when file is edited, which then
prevents the server from starting/restarting (since .file.swp is funky).
Not that you can't spend 3 seconds and remove the file, but I was thinking
that maybe avoiding .files was a good idea in general...
The regex looks for /. in the path+file, which is unix specific, but I don't
think windows assigns the same meaning to .files, so it may be a non-issue
for them.
anyway, I realize it's late to get it into 1.3.15 (if anyone is interested
at all, that is - it's really no biggie) so I'm just offering it up for what
it's worth. I'm not a C programmer at all, and I wasn't sure whether I
needed to call ap_pregfree() explicitly, so feel free to clean it up as
necessary...
--Geoff
BTW, http://dev.apache.org/from-cvs/ is 404, which is why this patch is
against 1.3.14 and not cvs, sorry :)
--- http_config.c.old Tue Oct 3 12:39:40 2000
+++ http_config.c Wed Jan 3 09:23:41 2001
@@ -1204,6 +1204,7 @@
const char *errmsg;
cmd_parms parms;
struct stat finfo;
+ regex_t *r = NULL;
fname = ap_server_root_relative(p, fname);
@@ -1269,8 +1270,17 @@
*/
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);
+ /*
+ * use regex to skip .files
+ */
+ r = ap_pregcomp(p, "/\\.", REG_EXTENDED);
+ if (!ap_regexec(r, fnew->fname, 0, NULL, 0)) {
+ fprintf(stderr, " Skipping config file: %s\n",
fnew->fname);
+ }
+ else {
+ fprintf(stderr, " Processing config file: %s\n",
fnew->fname);
+ ap_process_resource_config(s, fnew->fname, p, ptemp);
+ }
}
}
return;