cvs commit: apache-1.3/src/support suexec.c
coar98/06/18 12:06:57 Modified:src/support suexec.c Log: A wee bit of cleanup (cosmetic only). Revision ChangesPath 1.39 +8 -7 apache-1.3/src/support/suexec.c Index: suexec.c === RCS file: /export/home/cvs/apache-1.3/src/support/suexec.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- suexec.c 1998/04/21 20:14:06 1.38 +++ suexec.c 1998/06/18 19:06:56 1.39 @@ -161,12 +161,13 @@ time_t timevar; struct tm *lt; -if (!log) +if (!log) { if ((log = fopen(LOG_EXEC, "a")) == NULL) { fprintf(stderr, "failed to open log file\n"); perror("fopen"); exit(1); } +} time(&timevar); lt = localtime(&timevar); @@ -215,7 +216,8 @@ } else { for (idx = 0; safe_env_lst[idx]; idx++) { - if (!strncmp(*ep, safe_env_lst[idx], strlen(safe_env_lst[idx]))) { + if (!strncmp(*ep, safe_env_lst[idx], + strlen(safe_env_lst[idx]))) { cleanenv[cidx] = *ep; cidx++; break; @@ -239,8 +241,8 @@ char *target_uname; /* target user name */ char *target_gname; /* target group name */ char *target_homedir;/* target home directory */ -char *actual_uname; /* actual user name*/ -char *actual_gname; /* actual group name */ +char *actual_uname; /* actual user name */ +char *actual_gname; /* actual group name */ char *prog; /* name of this program */ char *cmd; /* command to be executed*/ char cwd[AP_MAXPATH];/* current working directory */ @@ -250,8 +252,6 @@ struct stat dir_info;/* directory info holder */ struct stat prg_info;/* program info holder */ - - /* * If there are a proper number of arguments, set * all of them to variables. Otherwise, error out. @@ -476,7 +476,8 @@ (gid != dir_info.st_gid) || (uid != prg_info.st_uid) || (gid != prg_info.st_gid)) { - log_err("target uid/gid (%ld/%ld) mismatch with directory (%ld/%ld) or program (%ld/%ld)\n", + log_err("target uid/gid (%ld/%ld) mismatch " + "with directory (%ld/%ld) or program (%ld/%ld)\n", uid, gid, dir_info.st_uid, dir_info.st_gid, prg_info.st_uid, prg_info.st_gid);
cvs commit: apache-1.3/src/modules/standard mod_autoindex.c
coar98/06/19 06:31:31 Modified:src CHANGES src/modules/standard mod_autoindex.c Log: IndexIgnore was looking for an exact match of the filename against the pattern, even though on Win32 README.html, Readme.html, and readme.html are all the same file. PR: 2455 Revision ChangesPath 1.926 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.925 retrieving revision 1.926 diff -u -r1.925 -r1.926 --- CHANGES 1998/06/17 13:33:59 1.925 +++ CHANGES 1998/06/19 13:31:28 1.926 @@ -1,5 +1,8 @@ Changes with Apache 1.3.1 + *) IndexIgnore should be case-blind on Win32 (and any other case-aware + but case-insensitive platforms). [Ken Coar] PR#2455 + *) Enable DSO support for OpenBSD in general, not only for 2.x, because it also works for OpenBSD 1.x. [Ralf S. Engelschall] 1.83 +10 -0 apache-1.3/src/modules/standard/mod_autoindex.c Index: mod_autoindex.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_autoindex.c,v retrieving revision 1.82 retrieving revision 1.83 diff -u -r1.82 -r1.83 --- mod_autoindex.c 1998/06/16 03:40:13 1.82 +++ mod_autoindex.c 1998/06/19 13:31:30 1.83 @@ -534,10 +534,20 @@ ap++; } +#ifndef WIN32 if (!ap_strcmp_match(path, p->apply_path) && !ap_strcmp_match(tt, ap)) { return 1; } +#else /* !WIN32 */ + /* + * On Win32, the match must be case-blind. + */ + if (!ap_strcasecmp_match(path, p->apply_path) + && !ap_strcasecmp_match(tt, ap)) { + return 1; + } +#endif /* !WIN32 */ } return 0; }
cvs commit: apache-devsite index.html mailing-lists.html
coar98/06/19 08:26:56 Modified:.index.html mailing-lists.html Log: Add apache-announce to the list and do some HTML cleanup. Revision ChangesPath 1.23 +57 -66apache-devsite/index.html Index: index.html === RCS file: /export/home/cvs/apache-devsite/index.html,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- index.html1998/05/04 02:57:05 1.22 +++ index.html1998/06/19 15:26:54 1.23 @@ -20,7 +20,7 @@ Note that a lot of these documents may not be entirely up-to-date. Some may have been superseded by other references, and some may just be waiting for someone to get around to updating them. - + User Feedback @@ -29,75 +29,71 @@ http://bugs.apache.org/private/";>Developer access (submit, query and edit) to the -Apache Bug Report Database. +database of Apache bug reports. Requires authorisation. + + Information about the various Apache + mailing lists. - - Information - about the available Apache Mailing Lists. - - -Archives - of the Apache Mailing Lists. + Archives of the Apache mailing lists. -How to contribute code patches to Apache. + How to contribute code patches to Apache. + General Developer Guidelines The latest draft of the -Apache project plan -(last modified on ) - - Apache Project Guidelines. -(last modified on ) - - The Apache coding style guide -(last modified on ) + Apache project plan + + (last modified on ) + + Apache Project Guidelines. + (last modified on ) + + The Apache coding style guide + + (last modified on ) + + Some notes on the API + + (last modified on ) + + Some notes on debugging + +(last modified on ) - Some notes on the API -(last modified on ) - - Some notes on debugging -(last modified on ) - Source Repository Guidelines Apache Development Notes about - using CVS and maintaining the Apache site. -(last modified on ) + using CVS and maintaining the Apache site. + + (last modified on ) Instructions - on developer access to the repository via Anonymous CVS. -(last modified on ) - - http://www.engelschall.com/pw/apache/cvsguide/";>Instructions - on developer access to the repository via CVSup. + on developer access to the repository via Anonymous CVS. + + (last modified on ) + + http://www.engelschall.com/pw/apache/cvsguide/";>Instructions + on developer access to the repository via CVSup. + + CVS and SSH for NT users, useful for + NT developers. + + The to-do list of the Apache developers. + + (last modified on ) - CVS and SSH for NT users, useful for - NT developers. - - The -to-do list of the Apache developers. -(last modified on ) - Record of changes to the -module magic number -(last modified on ) + module magic number + + (last modified on ) @@ -105,17 +101,15 @@ Source Repository Access A Web-based view of the -http://www.apache.org/websrc/cvsweb.cgi"; ->CVS history -of the development effort + http://www.apache.org/websrc/cvsweb.cgi";>CVS history + of the development effort The latest source tree pulled from the CVS repository, packaged with tar, and compressed with gzip. Not guaranteed to do anything, especially not compile or work. - Doug MacEachern wrote a perl script + Doug MacEachern wrote a Perl script which you can use to automate fetching from the above from-cvs location. @@ -125,25 +119,22 @@ Release Guidelines Instructions for -rolling the release tarballs -(last modified on ) + rolling the release tarballs + + (last modified on ) How to -build binary distributions -(last modified on ) + build binary distributions + + (last modified on ) - A shell script to build a binary release. + A shell script to build a binary release. Historical Documents - Old voting guidelines + Old voting guidelines - 1.4 +36 -15apache-devsite/mailing-lists.html Index: mailing-lists.html ==
cvs commit: apache-1.3/src/main util.c
coar98/06/19 14:02:44 Modified:src CHANGES src/ap Makefile.tmpl src/include ap.h httpd.h src/main util.c Removed: src/ap ap_strings.c Log: Move ap_escape_quotes(), with its use of pools, out of libap. Reviewed by: Dean Gaudet Revision ChangesPath 1.927 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.926 retrieving revision 1.927 diff -u -r1.926 -r1.927 --- CHANGES 1998/06/19 13:31:28 1.926 +++ CHANGES 1998/06/19 21:02:30 1.927 @@ -1,5 +1,9 @@ Changes with Apache 1.3.1 + *) Move ap_escape_quotes() from src/ap to src/main/util.c; it uses + pools and thus pollutes libap (until the pool stuff is moved there). + [Ken Coar] + *) IndexIgnore should be case-blind on Win32 (and any other case-aware but case-insensitive platforms). [Ken Coar] PR#2455 1.24 +1 -4 apache-1.3/src/ap/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apache-1.3/src/ap/Makefile.tmpl,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- Makefile.tmpl 1998/05/10 13:04:30 1.23 +++ Makefile.tmpl 1998/06/19 21:02:33 1.24 @@ -6,7 +6,7 @@ LIB=libap.a OBJS=ap_execve.o ap_cpystrn.o ap_signal.o \ - ap_slack.o ap_snprintf.o ap_strings.o + ap_slack.o ap_snprintf.o .c.o: $(CC) -c $(INCLUDES) $(CFLAGS) $< @@ -52,8 +52,5 @@ $(OSDIR)/os.h $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ $(INCDIR)/util_uri.h $(INCDIR)/http_log.h ap_snprintf.o: ap_snprintf.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ - $(OSDIR)/os.h $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ - $(INCDIR)/util_uri.h -ap_strings.o: ap_strings.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ $(OSDIR)/os.h $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ $(INCDIR)/util_uri.h 1.17 +0 -1 apache-1.3/src/include/ap.h Index: ap.h === RCS file: /export/home/cvs/apache-1.3/src/include/ap.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- ap.h 1998/05/11 20:42:35 1.16 +++ ap.h 1998/06/19 21:02:36 1.17 @@ -67,7 +67,6 @@ API_EXPORT(char *) ap_cpystrn(char *, const char *, size_t); int ap_slack(int, int); -API_EXPORT(char *) ap_escape_quotes(pool *, const char *); API_EXPORT(int) ap_snprintf(char *, size_t, const char *, ...); API_EXPORT(int) ap_vsnprintf(char *, size_t, const char *, va_list ap); int ap_execle(const char *, const char *, ...); 1.225 +2 -0 apache-1.3/src/include/httpd.h Index: httpd.h === RCS file: /export/home/cvs/apache-1.3/src/include/httpd.h,v retrieving revision 1.224 retrieving revision 1.225 diff -u -r1.224 -r1.225 --- httpd.h 1998/06/13 15:22:49 1.224 +++ httpd.h 1998/06/19 21:02:37 1.225 @@ -992,6 +992,8 @@ #define AP_SLACK_HIGH2 #endif +API_EXPORT(char *) ap_escape_quotes(pool *p, const char *instr); + /* * Redefine assert() to something more useful for an Apache... */ 1.122 +50 -0 apache-1.3/src/main/util.c Index: util.c === RCS file: /export/home/cvs/apache-1.3/src/main/util.c,v retrieving revision 1.121 retrieving revision 1.122 diff -u -r1.121 -r1.122 --- util.c1998/06/13 15:22:54 1.121 +++ util.c1998/06/19 21:02:42 1.122 @@ -1805,3 +1805,53 @@ *semi = ';'; } } + +/* + * Given a string, replace any bare " with \" . + */ +API_EXPORT(char *) ap_escape_quotes (pool *p, const char *instring) +{ +int newlen = 0; +const char *inchr = instring; +char *outchr, *outstring; + +/* + * Look through the input string, jogging the length of the output + * string up by an extra byte each time we find an unescaped ". + */ +while (*inchr != '\0') { + newlen++; +if (*inchr == '"') { + newlen++; + } + /* + * If we find a slosh, and it's not the last byte in the string, + * it's escaping something - advance past both bytes. + */ + if ((*inchr == '\\') && (inchr[1] != '\0')) { + inchr++; + } + inchr++; +} +outstring = ap_palloc(p, newlen + 1); +inchr = instring; +outchr = outstring; +/* + * Now copy the input string to the o
cvs commit: apache-1.3/src/support Makefile.tmpl suexec.c
coar98/06/20 04:07:39 Modified:src/support Makefile.tmpl suexec.c Log: Let's not be unnecessarily cryptic in our logs; it interferes with debugging problems and doesn't really protect anything. Revision ChangesPath 1.23 +1 -1 apache-1.3/src/support/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apache-1.3/src/support/Makefile.tmpl,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- Makefile.tmpl 1998/05/29 18:21:15 1.22 +++ Makefile.tmpl 1998/06/20 11:07:38 1.23 @@ -68,4 +68,4 @@ htpasswd.o: htpasswd.c $(INCDIR)/conf.h $(OSDIR)/os.h logresolve.o: logresolve.c $(INCDIR)/conf.h $(OSDIR)/os.h rotatelogs.o: rotatelogs.c $(INCDIR)/conf.h $(OSDIR)/os.h -suexec.o: suexec.c $(INCDIR)/conf.h $(OSDIR)/os.h suexec.h +suexec.o: suexec.c $(INCDIR)/conf.h $(INCDIR)/ap.h $(OSDIR)/os.h suexec.h 1.40 +13 -5 apache-1.3/src/support/suexec.c Index: suexec.c === RCS file: /export/home/cvs/apache-1.3/src/support/suexec.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- suexec.c 1998/06/18 19:06:56 1.39 +++ suexec.c 1998/06/20 11:07:38 1.40 @@ -72,6 +72,7 @@ */ #include "conf.h" +#include "ap.h" #include #include #include @@ -205,7 +206,7 @@ if ((cleanenv = (char **) calloc(AP_ENVBUF, sizeof(char *))) == NULL) { - log_err("failed to malloc env mem\n"); + log_err("failed to malloc memory for environment\n"); exit(120); } @@ -258,7 +259,14 @@ */ prog = argv[0]; if (argc < 4) { - log_err("too few arguments\n"); +char msgbuf[2048]; + int i; + + ap_snprintf(msgbuf, sizeof(msgbuf), "too few (%d) arguments:", argc); + for (i = 0; i < argc; i++) { + ap_snprintf(msgbuf, sizeof(msgbuf), "%s [%s]", msgbuf, argv[i]); + } + log_err("%s\n", msgbuf); exit(101); } target_uname = argv[1]; @@ -283,12 +291,12 @@ #ifdef _OSD_POSIX /* User name comparisons are case insensitive on BS2000/OSD */ if (strcasecmp(HTTPD_USER, pw->pw_name)) { - log_err("user mismatch (%s)\n", pw->pw_name); + log_err("user mismatch (%s instead of %s)\n", pw->pw_name, HTTPD_USER); exit(103); } #else /*_OSD_POSIX*/ if (strcmp(HTTPD_USER, pw->pw_name)) { - log_err("user mismatch (%s)\n", pw->pw_name); + log_err("user mismatch (%s instead of %s)\n", pw->pw_name, HTTPD_USER); exit(103); } #endif /*_OSD_POSIX*/ @@ -350,7 +358,7 @@ * Log the transaction here to be sure we have an open log * before we setuid(). */ -log_err("uid: (%s/%s) gid: (%s/%s) %s\n", +log_err("uid: (%s/%s) gid: (%s/%s) cmd: %s\n", target_uname, actual_uname, target_gname, actual_gname, cmd);
cvs commit: apache-1.3/src/os/win32 os.h
coar98/06/20 04:20:40 Modified:src CHANGES src/include conf.h src/modules/standard mod_autoindex.c src/os/win32 os.h Log: Whoops, IndexIgnore has the same issues on OS/2 case-aware filesystems as on Win32. Add a new define so any other platforms can set it as needed. This stuff in mod_autoindex is still not as good as having some OS-aware routine do filename pattern matching, but it at least fixes the problem for now. Revision ChangesPath 1.928 +2 -1 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.927 retrieving revision 1.928 diff -u -r1.927 -r1.928 --- CHANGES 1998/06/19 21:02:30 1.927 +++ CHANGES 1998/06/20 11:20:36 1.928 @@ -5,7 +5,8 @@ [Ken Coar] *) IndexIgnore should be case-blind on Win32 (and any other case-aware - but case-insensitive platforms). [Ken Coar] PR#2455 + but case-insensitive platforms). New #define for this added to conf.h + (CASE_BLIND_FILESYSTEM). [Ken Coar] PR#2455 *) Enable DSO support for OpenBSD in general, not only for 2.x, because it also works for OpenBSD 1.x. [Ralf S. Engelschall] 1.217 +1 -0 apache-1.3/src/include/conf.h Index: conf.h === RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v retrieving revision 1.216 retrieving revision 1.217 diff -u -r1.216 -r1.217 --- conf.h1998/06/17 07:10:42 1.216 +++ conf.h1998/06/20 11:20:38 1.217 @@ -690,6 +690,7 @@ #define NEED_STRNCASECMP #define NO_SETSID #define NO_TIMES +#define CASE_BLIND_FILESYSTEM /* Add some drive name support */ #define chdir _chdir2 #include 1.84 +6 -4 apache-1.3/src/modules/standard/mod_autoindex.c Index: mod_autoindex.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_autoindex.c,v retrieving revision 1.83 retrieving revision 1.84 diff -u -r1.83 -r1.84 --- mod_autoindex.c 1998/06/19 13:31:30 1.83 +++ mod_autoindex.c 1998/06/20 11:20:39 1.84 @@ -534,20 +534,22 @@ ap++; } -#ifndef WIN32 +#ifndef CASE_BLIND_FILESYSTEM if (!ap_strcmp_match(path, p->apply_path) && !ap_strcmp_match(tt, ap)) { return 1; } -#else /* !WIN32 */ +#else /* !CASE_BLIND_FILESYSTEM */ /* - * On Win32, the match must be case-blind. + * On some platforms, the match must be case-blind. This is really + * a factor of the filesystem involved, but we can't detect that + * reliably - so we have to granularise at the OS level. */ if (!ap_strcasecmp_match(path, p->apply_path) && !ap_strcasecmp_match(tt, ap)) { return 1; } -#endif /* !WIN32 */ +#endif /* !CASE_BLIND_FILESYSTEM */ } return 0; } 1.19 +1 -0 apache-1.3/src/os/win32/os.h Index: os.h === RCS file: /export/home/cvs/apache-1.3/src/os/win32/os.h,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- os.h 1998/05/07 12:24:31 1.18 +++ os.h 1998/06/20 11:20:40 1.19 @@ -22,6 +22,7 @@ #ifndef STRICT #define STRICT #endif +#define CASE_BLIND_FILESYSTEM #define NO_UNISTD_H #define NO_WRITEV #define NO_SETSID
cvs commit: apache-1.3/src/main fnmatch.c
coar98/06/20 06:12:36 Modified:src/main fnmatch.c Log: Sincethis has been modified for Apache, modify it some more (cosmetically) to meet our style guide. Revision ChangesPath 1.10 +50 -36apache-1.3/src/main/fnmatch.c Index: fnmatch.c === RCS file: /export/home/cvs/apache-1.3/src/main/fnmatch.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- fnmatch.c 1998/04/11 12:00:28 1.9 +++ fnmatch.c 1998/06/20 13:12:36 1.10 @@ -51,76 +51,84 @@ static const char *rangematch(const char *, int, int); -API_EXPORT(int) ap_fnmatch(pattern, string, flags) - const char *pattern, *string; - int flags; +API_EXPORT(int) ap_fnmatch(const char *pattern, const char *string, int flags) { const char *stringstart; char c, test; -for (stringstart = string;;) +for (stringstart = string;;) { switch (c = *pattern++) { case EOS: return (*string == EOS ? 0 : FNM_NOMATCH); case '?': - if (*string == EOS) + if (*string == EOS) { return (FNM_NOMATCH); - if (*string == '/' && (flags & FNM_PATHNAME)) + } + if (*string == '/' && (flags & FNM_PATHNAME)) { return (FNM_NOMATCH); + } if (*string == '.' && (flags & FNM_PERIOD) && (string == stringstart || - ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) + ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) { return (FNM_NOMATCH); + } ++string; break; case '*': c = *pattern; /* Collapse multiple stars. */ - while (c == '*') + while (c == '*') { c = *++pattern; + } if (*string == '.' && (flags & FNM_PERIOD) && (string == stringstart || - ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) + ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) { return (FNM_NOMATCH); + } /* Optimize for pattern with * at end or before /. */ if (c == EOS) { if (flags & FNM_PATHNAME) { - return (strchr(string, '/') == NULL ? - 0 : FNM_NOMATCH); + return (strchr(string, '/') == NULL ? 0 : FNM_NOMATCH); } else { return (0); } } else if (c == '/' && flags & FNM_PATHNAME) { - if ((string = strchr(string, '/')) == NULL) + if ((string = strchr(string, '/')) == NULL) { return (FNM_NOMATCH); + } break; } /* General case, use recursion. */ while ((test = *string) != EOS) { - if (!ap_fnmatch(pattern, string, flags & ~FNM_PERIOD)) + if (!ap_fnmatch(pattern, string, flags & ~FNM_PERIOD)) { return (0); - if (test == '/' && flags & FNM_PATHNAME) + } + if (test == '/' && flags & FNM_PATHNAME) { break; + } ++string; } return (FNM_NOMATCH); case '[': - if (*string == EOS) + if (*string == EOS) { return (FNM_NOMATCH); - if (*string == '/' && flags & FNM_PATHNAME) + } + if (*string == '/' && flags & FNM_PATHNAME) { return (FNM_NOMATCH); + } if (*string == '.' && (flags & FNM_PERIOD) && (string == stringstart || - ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) - return (FNM_NOMATCH); - if ((pattern = - rangematch(pattern, *string, flags)) == NULL) + ((flags & FNM_PATHNAME) && *(string - 1) == '/'))) { + return (FNM_NOMATCH); + } + if ((pattern = rangematch(pattern, *string, flags)) == NULL) { return (FNM_NOMATCH); + } ++string; break; case '\\': @@ -131,18 +139,17 @@ } } /* FALLTHROUGH */ - default: - if (c !=
cvs commit: apache-1.3 INSTALL
coar98/06/22 21:21:56 Modified:.INSTALL Log: Fix typographical errors. Submitted by: Jonathan Leffler <[EMAIL PROTECTED]> Reviewed by: Ken Coar Revision ChangesPath 1.32 +2 -2 apache-1.3/INSTALL Index: INSTALL === RCS file: /export/home/cvs/apache-1.3/INSTALL,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- INSTALL 1998/06/17 12:55:14 1.31 +++ INSTALL 1998/06/23 04:21:54 1.32 @@ -100,11 +100,11 @@ 3. Configuring the source tree --- - NOTE: Although we'll often advice you to read the src/Configuration.tmpl + NOTE: Although we'll often advise you to read the src/Configuration.tmpl file parts to better understand the various options in this section, there is _AT NO TIME_ any need to _EDIT_ this file. The _COMPLETE_ configuration takes place via command line arguments and - loal shell variables for the ./configure script. The + local shell variables for the ./configure script. The src/Configuration.tmpl file is just a _READ-ONLY_ resource, here. Introduction:
cvs commit: apache-1.3/src/main util_script.c
coar98/06/23 16:14:08 Modified:src/main util_script.c Log: Provide for warning of non-executable file in a script directory. Submitted by: W G Stoddard <[EMAIL PROTECTED]> Reviewed by: Brian Behlendorf, Ken Coar Revision ChangesPath 1.119 +10 -2 apache-1.3/src/main/util_script.c Index: util_script.c === RCS file: /export/home/cvs/apache-1.3/src/main/util_script.c,v retrieving revision 1.118 retrieving revision 1.119 diff -u -r1.118 -r1.119 --- util_script.c 1998/06/15 16:27:55 1.118 +++ util_script.c 1998/06/23 23:14:07 1.119 @@ -790,6 +790,7 @@ memset(&pi, 0, sizeof(pi)); interpreter[0] = 0; + pid = -1; exename = strrchr(r->filename, '/'); if (!exename) { @@ -848,6 +849,14 @@ } } } +/* Bail out if we haven't figured out what kind of + * file this is by now.. + */ +if (!is_exe && !is_script && !is_binary) { +ap_log_error(APLOG_MARK, APLOG_ERR, r->server, + "%s is not executable", r->filename); +return (pid); + } /* * Make child process use hPipeOutputWrite as standard out, @@ -859,8 +868,7 @@ si.hStdInput = pinfo->hPipeInputRead; si.hStdOutput = pinfo->hPipeOutputWrite; si.hStdError = pinfo->hPipeErrorWrite; - - pid = -1; + if ((!r->args) || (!r->args[0]) || strchr(r->args, '=')) { if (is_exe || is_binary) { /*
cvs commit: apache-1.3/src CHANGES
coar98/06/23 16:41:13 Modified:src CHANGES Log: Bill's fix for non-executable script files on Win32. Submitted by: W G Stoddard <[EMAIL PROTECTED]> Revision ChangesPath 1.930 +5 -2 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.929 retrieving revision 1.930 diff -u -r1.929 -r1.930 --- CHANGES 1998/06/23 19:53:29 1.929 +++ CHANGES 1998/06/23 23:41:11 1.930 @@ -1,9 +1,12 @@ Changes with Apache 1.3.1 + *) Win32: If we can't figure out how to execute a file in a script + directory, bail out of the request with an error message. [W G Stoddard] + *) Win32 (security): Eliminate directories consisting of three or more dots; these are treated by Win32 as if they are ".." but are not detected by - other machinery within Apache. This is something of a kludge but eliminates - a security hole. [Ben Laurie] + other machinery within Apache. This is something of a kludge but + eliminates a security hole. [Ben Laurie] *) Move ap_escape_quotes() from src/ap to src/main/util.c; it uses pools and thus pollutes libap (until the pool stuff is moved there).
cvs commit: apache-site in_the_news.html
coar98/06/24 03:56:49 Modified:.in_the_news.html Log: Yerk. I don't think they're based in the U.S. Deep South.. Revision ChangesPath 1.37 +1 -1 apache-site/in_the_news.html Index: in_the_news.html === RCS file: /export/home/cvs/apache-site/in_the_news.html,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- in_the_news.html 1998/06/24 07:14:56 1.36 +++ in_the_news.html 1998/06/24 10:56:48 1.37 @@ -64,7 +64,7 @@ -Perfomance Computing, May 1998: +Performance Computing, May 1998: http://www.performancecomputing.com/columns/web/9805.shtml";> The Apache HTTP Server
cvs commit: apache-site/info in_the_news_1997.html
coar98/06/25 08:29:01 Modified:.awards.html in_the_news.html info in_the_news_1997.html Log: Add a 1997 in-the-news reference, and make the 1998 ones comply a *little* better with standard reference and citation syntax. Oh, and update the awards page (not yet published) with a couple more. Revision ChangesPath 1.3 +17 -1 apache-site/awards.html Index: awards.html === RCS file: /export/home/cvs/apache-site/awards.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- awards.html 1998/06/18 11:38:04 1.2 +++ awards.html 1998/06/25 15:28:58 1.3 @@ -16,7 +16,7 @@ Awards Won by the Apache Web Server Software - + http://newmedia.com/NewMedia/98/03/feature/web.html"; >http://newmedia.com/NewMedia/98/03/feature/images/award.gif"; @@ -25,6 +25,22 @@ http://serverwatch.internet.com/"; > + + Network Magazine + +1998 Product of the Year + +(http://www.networkmagazine.com/magazine/archive/1998/04/9804poy.htm#Web_Server"; + >Web Server) + + + + C|Net + +Award for Internet Excellence + +(http://www.cnet.com/Content/Reviews/Special/Iawards98/ss02.html"; + >Web server software) 1.39 +294 -223 apache-site/in_the_news.html Index: in_the_news.html === RCS file: /export/home/cvs/apache-site/in_the_news.html,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- in_the_news.html 1998/06/25 02:52:28 1.38 +++ in_the_news.html 1998/06/25 15:28:59 1.39 @@ -1,7 +1,9 @@ - - -Apache in the News - +http://www.w3.org/TR/REC-html40/loose.dtd";> + + + Apache in the News + Apache in the News + Since becoming the #1 Web server, Apache has featured in a number of reviews and articles. If you have seen a story about Apache on the Web or in the press -mailto:[EMAIL PROTECTED]">let us know so that we can include it here. - -Articles in 1996 and 1997 +mailto:[EMAIL PROTECTED]">let us know +so that we can include it here. + + + Articles in 1996 and 1997 + + + + IBM News, 22 June 1998: + "http://www.ibm.com/News/1998/06/223.phtml"; + >IBM ... Bundles leading-edge tools and technologies from + Apache and NetObjects into IBM WebSphere Application Server" + + + "IBM will ship the Apache HTTP server with the IBM WebSphere Application + Server, helping current Apache users to evolve to e-business solutions. + As part of the WebSphere Application Server package, IBM will provide + commercial, enterprise-level support for the Apache HTTP Server. In addition, + IBM will be a full participant in the Apache HTTP Server Project, + a collaborative development effort, and will make contributions to + enhance the capabilities of the Apache HTTP Server." + -IBM News, 22 June 1998: -http://www.ibm.com/News/1998/06/223.phtml";> -IBM ... Bundles leading-edge tools and technologies from -Apache and NetObjects into IBM WebSphere Application Server - -"IBM will ship the Apache HTTP server with the IBM WebSphere Application -Server, helping current Apache users to evolve to e-business solutions. -As part of the WebSphere Application Server package, IBM will provide -commercial, enterprise-level support for the Apache HTTP Server. In addition, -IBM will be a full participant in the Apache HTTP Server Project, -a collaborative development effort, and will make contributions to -enhance the capabilities of the Apache HTTP Server." - Other press about this announcement: + -Apache Group press release -http://www.thestandard.net/articles/article_display/0,1449,720,00.html?01";> -The Industry Standard: IBM to Adopt Apache as Preferred E-commerce Server -http://www.zdnet.com/pcweek/news/0615/19mibm.html";>PC Week: IBM backs freeware Apachein new app server -http://www.wired.com/news/news/business/story/13117.html";>Wired News: IBM Picks Apache -http://www.news.com/News/Item/0,4,23364,00.html?st.ne.fd.gif.f";>CNet's News.com: IBM fuels "freeware" efforts + Apache Group press release + + The Industry Standard: + "http://www.thestandard.net/articles/article_display/0,1449,720,00.html?01"; + >IBM to Adopt Apache as Preferred E-commerce Web Server" + + PC Week: + "http://www.zdnet.com/pcweek/news/0615/19mibm.html"; + >IBM backs freeware Apache in new app server" + + W
cvs commit: apache-1.3/src/main fnmatch.c
coar98/06/28 07:43:19 Modified:src CHANGES src/include fnmatch.h src/main fnmatch.c Log: ap_fnmatch() only did case-exact matching. With the addition of the FNM_CASE_BLIND flag bit, it can now be told to ignore case. Considering the case-sensitivity issues cropping up on Win32, this seemed an appropriate addition even though nothing uses it yet. Reviewed by: Dean Guadet Revision ChangesPath 1.936 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.935 retrieving revision 1.936 diff -u -r1.935 -r1.936 --- CHANGES 1998/06/27 17:58:38 1.935 +++ CHANGES 1998/06/28 14:43:16 1.936 @@ -1,5 +1,8 @@ Changes with Apache 1.3.1 + *) Add a flag so ap_fnmatch() can be used for case-blind pattern matching. + [Ken Coar, Dean Gaudet] + *) Win32: Don't collapse multiple slashes in PATH_INFO. [Ben Laurie, Bill Stoddard <[EMAIL PROTECTED]>] PR#2274 1.6 +2 -0 apache-1.3/src/include/fnmatch.h Index: fnmatch.h === RCS file: /export/home/cvs/apache-1.3/src/include/fnmatch.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- fnmatch.h 1998/05/03 17:31:08 1.5 +++ fnmatch.h 1998/06/28 14:43:18 1.6 @@ -49,6 +49,8 @@ #define FNM_NOESCAPE0x01/* Disable backslash escaping. */ #define FNM_PATHNAME0x02/* Slash must be matched by slash. */ #define FNM_PERIOD 0x04/* Period must be matched by period. */ +/* This flag is an Apache addition */ +#define FNM_CASE_BLIND 0x08/* Compare characters case-insensitively. */ API_EXPORT(int) ap_fnmatch(const char *, const char *, int); 1.11 +11 -3 apache-1.3/src/main/fnmatch.c Index: fnmatch.c === RCS file: /export/home/cvs/apache-1.3/src/main/fnmatch.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- fnmatch.c 1998/06/20 13:12:36 1.10 +++ fnmatch.c 1998/06/28 14:43:19 1.11 @@ -140,9 +140,12 @@ } /* FALLTHROUGH */ default: - if (c != *string++) { + if ((c != *string) + || ((flags & FNM_CASE_BLIND) + && (toupper(c) != toupper(*string { return (FNM_NOMATCH); } + string++; break; } /* NOTREACHED */ @@ -180,11 +183,16 @@ if (c2 == EOS) { return (NULL); } - if (c <= test && test <= c2) { + if ((c <= test && test <= c2) + || ((flags & FNM_CASE_BLIND) + && ((toupper(c) <= toupper(test)) + && (toupper(test) <= toupper(c2) { ok = 1; } } - else if (c == test) { + else if ((c == test) + || ((flags & FNM_CASE_BLIND) + && (toupper(c) == toupper(test { ok = 1; } }
cvs commit: apache-site/dist HEADER.html
coar98/06/29 06:30:35 Modified:dist HEADER.html Log: Hopefully shut up the clamour until we've got a Win32 binary. Revision ChangesPath 1.2 +5 -0 apache-site/dist/HEADER.html Index: HEADER.html === RCS file: /export/home/cvs/apache-site/dist/HEADER.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- HEADER.html 1997/10/18 13:33:14 1.1 +++ HEADER.html 1998/06/29 13:30:35 1.2 @@ -4,3 +4,8 @@ If you're having trouble accessing these files, there's probably a closer mirror to you. http://www.apache.org/dyn/closer.cgi";>Go here to find it. + + Apache 1.3.0 for Win32 is NOT YET AVAILABLE! + + Please be patient! +
cvs commit: apache-1.3/src/main fnmatch.c
coar98/06/29 19:11:36 Modified:src/main fnmatch.c Log: Logic error.. resulted in case-blind byte-for-byte matches not. Revision ChangesPath 1.12 +7 -4 apache-1.3/src/main/fnmatch.c Index: fnmatch.c === RCS file: /export/home/cvs/apache-1.3/src/main/fnmatch.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- fnmatch.c 1998/06/28 14:43:19 1.11 +++ fnmatch.c 1998/06/30 02:11:34 1.12 @@ -140,10 +140,13 @@ } /* FALLTHROUGH */ default: - if ((c != *string) - || ((flags & FNM_CASE_BLIND) - && (toupper(c) != toupper(*string { - return (FNM_NOMATCH); + if (flags & FNM_CASE_BLIND) { + if (toupper(c) != toupper(*string)) { + return (FNM_NOMATCH); + } + } + else if (c != *string) { + return (FNM_NOMATCH); } string++; break;
cvs commit: apache-1.3/src/main fnmatch.c
coar98/06/30 03:56:17 Modified:src/main fnmatch.c Log: Change toupper()s to tolower() as used elsewhere in the code. Revision ChangesPath 1.13 +4 -4 apache-1.3/src/main/fnmatch.c Index: fnmatch.c === RCS file: /export/home/cvs/apache-1.3/src/main/fnmatch.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- fnmatch.c 1998/06/30 02:11:34 1.12 +++ fnmatch.c 1998/06/30 10:56:16 1.13 @@ -141,7 +141,7 @@ /* FALLTHROUGH */ default: if (flags & FNM_CASE_BLIND) { - if (toupper(c) != toupper(*string)) { + if (tolower(c) != tolower(*string)) { return (FNM_NOMATCH); } } @@ -188,14 +188,14 @@ } if ((c <= test && test <= c2) || ((flags & FNM_CASE_BLIND) - && ((toupper(c) <= toupper(test)) - && (toupper(test) <= toupper(c2) { + && ((tolower(c) <= tolower(test)) + && (tolower(test) <= tolower(c2) { ok = 1; } } else if ((c == test) || ((flags & FNM_CASE_BLIND) - && (toupper(c) == toupper(test { + && (tolower(c) == tolower(test { ok = 1; } }
cvs commit: apache-1.3/src/main http_core.c
coar98/07/03 09:47:30 Modified:src/main http_core.c Log: Cosmetic style-guide cleanup. I'm about halfway through, but chickened out when I saw how much had already accumulated.. No thirty. Revision ChangesPath 1.206 +796 -467 apache-1.3/src/main/http_core.c Index: http_core.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v retrieving revision 1.205 retrieving revision 1.206 diff -u -r1.205 -r1.206 --- http_core.c 1998/07/01 21:19:53 1.205 +++ http_core.c 1998/07/03 16:47:29 1.206 @@ -104,17 +104,23 @@ * the http_conf_globals. */ -static void *create_core_dir_config (pool *a, char *dir) +static void *create_core_dir_config(pool *a, char *dir) { -core_dir_config *conf = - (core_dir_config *)ap_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); -else conf->d = ap_pstrcat (a, dir, "/", NULL); -conf->d_is_fnmatch = conf->d ? (ap_is_fnmatch (conf->d) != 0) : 0; -conf->d_components = conf->d ? ap_count_dirs (conf->d) : 0; +core_dir_config *conf; +conf = (core_dir_config *)ap_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); +} +else { +conf->d = ap_pstrcat(a, dir, "/", NULL); +} +conf->d_is_fnmatch = conf->d ? (ap_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; conf->opts_add = conf->opts_remove = OPT_NONE; conf->override = dir ? OR_UNSET : OR_UNSET|OR_ALL; @@ -124,7 +130,7 @@ conf->use_canonical_name = 1 | 2;/* 2 = unset, default on */ conf->hostname_lookups = HOSTNAME_LOOKUP_UNSET; -conf->do_rfc1413 = DEFAULT_RFC1413 | 2; /* set bit 1 to indicate default */ +conf->do_rfc1413 = DEFAULT_RFC1413 | 2; /* set bit 1 to indicate default */ conf->satisfy = SATISFY_NOSPEC; #ifdef RLIMIT_CPU @@ -137,25 +143,26 @@ conf->limit_nproc = NULL; #endif -conf->sec = ap_make_array (a, 2, sizeof(void *)); +conf->sec = ap_make_array(a, 2, sizeof(void *)); return (void *)conf; } -static void *merge_core_dir_configs (pool *a, void *basev, void *newv) +static void *merge_core_dir_configs(pool *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 = - (core_dir_config *)ap_palloc (a, sizeof(core_dir_config)); +core_dir_config *conf; int i; -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) * RESPONSE_CODES ); - memcpy( conf->response_code_strings, base->response_code_strings, - sizeof(*conf->response_code_strings) * RESPONSE_CODES ); +conf = (core_dir_config *)ap_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) + * RESPONSE_CODES); + memcpy(conf->response_code_strings, base->response_code_strings, +sizeof(*conf->response_code_strings) * RESPONSE_CODES); } conf->d = new->d; @@ -168,10 +175,12 @@ * preserve the invariant (opts_add & opts_remove) == 0 */ conf->opts_add = (conf->opts_add & ~new->opts_remove) | new->opts_add; - conf->opts_remove = (conf->opts_remove & ~new->opts_add) | new->opts_remove; + conf->opts_remove = (conf->opts_remove & ~new->opts_add) + | new->opts_remove; conf->opts = (conf->opts & ~conf->opts_remove) | conf->opts_add; -if ((base->opts & OPT_INCNOEXEC) && (new->opts & OPT_INCLUDES)) - conf->opts = (conf->opts & ~OPT_INCNOEXEC) | OPT_INCLUDES; +if ((base->opts & OPT_INCNOEXEC) && (new->opts & OPT_INCLUDES)) { +conf->opts = (conf->opts & ~OPT_INCNOEXEC) | OPT_INCLUDES; + } }
cvs commit: apache-1.3/src/main http_core.c
coar98/07/03 13:06:02 Modified:src CHANGES src/main http_core.c Log: Fix parsing; "GET" and "get" are distinct methods. Revision ChangesPath 1.944 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.943 retrieving revision 1.944 diff -u -r1.943 -r1.944 --- CHANGES 1998/07/01 18:18:23 1.943 +++ CHANGES 1998/07/03 20:05:58 1.944 @@ -1,5 +1,8 @@ Changes with Apache 1.3.1 + *) The parsing routine was incorrectly treating methods in + a case-insensitive way. [Ken Coar] + *) The ap_bprintf() code neglected to test if there was an error on the connection. ap_bflush() misdiagnosed a failure as a success. [Dean Gaudet] 1.207 +9 -8 apache-1.3/src/main/http_core.c Index: http_core.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v retrieving revision 1.206 retrieving revision 1.207 diff -u -r1.206 -r1.207 --- http_core.c 1998/07/03 16:47:29 1.206 +++ http_core.c 1998/07/03 20:06:00 1.207 @@ -1019,27 +1019,28 @@ */ while (limited_methods[0]) { -char *method = ap_getword_conf (cmd->pool, &limited_methods); - if (!strcasecmp(method, "GET")) { +char *method = ap_getword_conf(cmd->pool, &limited_methods); + if (!strcmp(method, "GET")) { limited |= (1 << M_GET); } - else if (!strcasecmp(method, "PUT")) { + else if (!strcmp(method, "PUT")) { limited |= (1 << M_PUT); } - else if (!strcasecmp(method, "POST")) { + else if (!strcmp(method, "POST")) { limited |= (1 << M_POST); } - else if (!strcasecmp(method, "DELETE")) { + else if (!strcmp(method, "DELETE")) { limited |= (1 << M_DELETE); } -else if (!strcasecmp(method, "CONNECT")) { +else if (!strcmp(method, "CONNECT")) { limited |= (1 << M_CONNECT); } - else if (!strcasecmp(method, "OPTIONS")) { + else if (!strcmp(method, "OPTIONS")) { limited |= (1 << M_OPTIONS); } else { - return "unknown method in "; + return ap_pstrcat(cmd->pool, "unknown method \"", + method, "\" in ", NULL); } }
cvs commit: apache-1.3/htdocs/manual/mod core.html
coar98/07/03 13:12:35 Modified:htdocs/manual sections.html htdocs/manual/mod core.html Log: Clarify some sectional concerns. Submitted by: Lars Eilebrecht <[EMAIL PROTECTED]>, Ken Coar Revision ChangesPath 1.8 +34 -7 apache-1.3/htdocs/manual/sections.html Index: sections.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/sections.html,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- sections.html 1998/05/20 14:22:33 1.7 +++ sections.html 1998/07/03 20:12:34 1.8 @@ -30,10 +30,10 @@ Everything that is syntactically allowed in <Directory> is also allowed in <Location> (except a sub-<Files> -section, but the code doesn't test for that, Lars has an open bug -report on that). Semantically however some things, and the most -notable is AllowOverride, make no sense in -<Location>. The same for +section). Semantically however some things, and the most +notable are AllowOverride and the two options +FollowSymLinks and SymLinksIfOwnerMatch, +make no sense in <Location>. The same for <Files> -- syntactically everything is fine, but semantically some things are different. @@ -118,13 +118,40 @@ -Note also that modifying .htaccess parsing during Location doesn't do -anything because .htaccess parsing has already occurred. + +Note about .htaccess parsing: + + + +Modifying .htaccess parsing during Location doesn't do +anything because .htaccess parsing has already occurred. + + + +<Location> and symbolic links: + + + +It is not possible to use "Options FollowSymLinks" +or "Options SymLinksIfOwnerMatch" inside a +<Location>/<LocationMatch> section +(the options are simply ignored). +Using the options in question is only possible inside a +<Directory> section (or a .htaccess file). + +<Files> and Options: + + + +Apache won't check for it, but using an Options +directive inside a <Files> section has no effect. + -Another note: +Another note: + 1.126 +11 -2 apache-1.3/htdocs/manual/mod/core.html Index: core.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/core.html,v retrieving revision 1.125 retrieving revision 1.126 diff -u -r1.125 -r1.126 --- core.html 1998/06/16 03:37:15 1.125 +++ core.html 1998/07/03 20:12:34 1.126 @@ -1321,7 +1321,8 @@ If an access control directive appears outside a <Limit> directive, then it applies to all access methods. The method names listed can be one or more of: GET, POST, PUT, DELETE, CONNECT or -OPTIONS. If GET is used it will also restrict HEAD requests. +OPTIONS. The method name is case-sensitive. +If GET is used it will also restrict HEAD requests. If you wish to limit all methods, do not include any <Limit> directive at all. @@ -1889,7 +1890,7 @@ the extra features are enabled, or one or more of the following: All -All options except for MultiViews. +All options except for MultiViews. This is the default setting. ExecCGI @@ -1898,10 +1899,15 @@ The server will follow symbolic links in this directory. + Note: even though the server follows the symlink it does not change the pathname used to match against <Directory> sections. + +Note: this option gets ignored if set inside a +<Location> section. + Includes @@ -1927,6 +1933,9 @@ The server will only follow symbolic links for which the target file or directory is owned by the same user id as the link. + +Note: this option gets ignored if set inside a +<Location> section. Normally, if multiple Options could apply to a directory,
cvs commit: apache-1.3/src/main http_core.c
coar98/07/03 15:15:57 Modified:src/main http_core.c Log: More cosmetic cleanups.. There's still more to do, but I'm kinda tired. Maybe I will and maybe I won't.. Revision ChangesPath 1.208 +264 -187 apache-1.3/src/main/http_core.c Index: http_core.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v retrieving revision 1.207 retrieving revision 1.208 diff -u -r1.207 -r1.208 --- http_core.c 1998/07/03 20:06:00 1.207 +++ http_core.c 1998/07/03 22:15:56 1.208 @@ -214,7 +214,8 @@ sizeof(*conf->response_code_strings) * RESPONSE_CODES); memcpy(conf->response_code_strings, new->response_code_strings, sizeof(*conf->response_code_strings) * RESPONSE_CODES); - } else { + } + else { for (i = 0; i < RESPONSE_CODES; ++i) { if (new->response_code_strings[i] != NULL) { conf->response_code_strings[i] @@ -401,7 +402,7 @@ elts = (void **)sec->elts; /* build our sorting space */ -sortbin = ap_palloc(p, sec->nelts * sizeof (*sortbin)); +sortbin = ap_palloc(p, sec->nelts * sizeof(*sortbin)); for (i = 0; i < nelts; ++i) { sortbin[i].orig_index = i; sortbin[i].elt = elts[i]; @@ -410,7 +411,7 @@ qsort(sortbin, nelts, sizeof(*sortbin), reorder_sorter); /* and now build a new array */ -sec = ap_make_array(p, nelts, sizeof (void *)); +sec = ap_make_array(p, nelts, sizeof(void *)); for (i = 0; i < nelts; ++i) { *(void **)ap_push_array(sec) = sortbin[i].elt; } @@ -426,7 +427,7 @@ * here... */ -API_EXPORT(int) ap_allow_options (request_rec *r) +API_EXPORT(int) ap_allow_options(request_rec *r) { core_dir_config *conf = (core_dir_config *)ap_get_module_config(r->per_dir_config, &core_module); @@ -566,7 +567,8 @@ if (hostname_lookups == HOSTNAME_LOOKUP_UNSET) { hostname_lookups = HOSTNAME_LOOKUP_OFF; } -} else { +} +else { /* the default */ hostname_lookups = HOSTNAME_LOOKUP_OFF; } @@ -586,7 +588,7 @@ ap_str_tolower(conn->remote_host); if (hostname_lookups == HOSTNAME_LOOKUP_DOUBLE) { - do_double_reverse (conn); + do_double_reverse(conn); if (conn->double_reverse != 1) { conn->remote_host = NULL; } @@ -598,7 +600,7 @@ } } if (type == REMOTE_DOUBLE_REV) { - do_double_reverse (conn); + do_double_reverse(conn); if (conn->double_reverse == -1) { return NULL; } @@ -770,7 +772,7 @@ return NULL; } -static const char *set_access_name (cmd_parms *cmd, void *dummy, char *arg) +static const char *set_access_name(cmd_parms *cmd, void *dummy, char *arg) { void *sconf = cmd->server->module_config; core_server_config *conf = ap_get_module_config(sconf, &core_module); @@ -785,7 +787,7 @@ return NULL; } -static const char *set_document_root (cmd_parms *cmd, void *dummy, char *arg) +static const char *set_document_root(cmd_parms *cmd, void *dummy, char *arg) { void *sconf = cmd->server->module_config; core_server_config *conf = ap_get_module_config(sconf, &core_module); @@ -797,7 +799,7 @@ } arg = ap_os_canonical_filename(cmd->pool, arg); -if (!ap_is_directory (arg)) { +if (!ap_is_directory(arg)) { if (cmd->server->is_virtual) { fprintf(stderr, "Warning: DocumentRoot [%s] does not exist\n", arg); @@ -811,8 +813,8 @@ return NULL; } -static const char *set_error_document (cmd_parms *cmd, core_dir_config *conf, -char *line) +static const char *set_error_document(cmd_parms *cmd, core_dir_config *conf, + char *line) { int error_number, index_number, idx500; char *w; @@ -953,7 +955,7 @@ opt = OPT_ALL; } else { - return ap_pstrcat (cmd->pool, "Illegal option ", w, NULL); + return ap_pstrcat(cmd->pool, "Illegal option ", w, NULL); } /* we ensure the invariant (d->opts_add & d->opts_remove) == 0 */ @@ -1005,7 +1007,7 @@ CORE_EXPORT_NONSTD(const char *) ap_limit_section(cmd_parms *cmd, void *dummy, const char *arg) { -const char *limited_methods = ap_getword(cmd->pool,&arg,'>'); +const char *limited_methods = ap_getword(cmd->pool, &a
cvs commit: apache-1.3/htdocs/manual upgrading_to_1_3.html
coar98/07/04 07:59:57 Modified:htdocs/manual upgrading_to_1_3.html Log: Add a note about the new case-sensitivity of . Revision ChangesPath 1.26 +19 -0 apache-1.3/htdocs/manual/upgrading_to_1_3.html Index: upgrading_to_1_3.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/upgrading_to_1_3.html,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- upgrading_to_1_3.html 1998/06/16 00:23:38 1.25 +++ upgrading_to_1_3.html 1998/07/04 14:59:56 1.26 @@ -88,6 +88,25 @@ This change was made for consistency in the config language. + As of Apache 1.3.1, methods listed in <Limit> +directives must be uppercase. Method names, such as +GET, POST, and PUT are +defined as being case-sensitive. That is, a GET +request is different from a get request. Prior +to Apache 1.3.1, the <Limit> directive +parser incorrectly treated both of these as being the same. +Apache's built-in method limit processing currently only understands +uppercase method names, so if you've used clauses such as +"<Limit Get post>" in your configuration +files, you need to correct them to use uppercase names. + +Unrecognised method names in the server configuration files will +result in the server logging an error message and failing to start. +In .htaccess files, unknown methods will cause the +server to log an error to its error log and return an 'Internal +Server Error' page to the client. + + The default Apache ServerRoot directory changed from the NCSA-compatible /usr/local/etc/httpd/ to /usr/local/apache/. This change covers only the default
cvs commit: apache-1.3/htdocs/manual upgrading_to_1_3.html
coar98/07/04 08:10:51 Modified:htdocs/manual upgrading_to_1_3.html Log: Add a note about the change to REMOTE_HOST (making it compliant with the erstwhile CGI specification). PR: 2546 Revision ChangesPath 1.27 +12 -0 apache-1.3/htdocs/manual/upgrading_to_1_3.html Index: upgrading_to_1_3.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/upgrading_to_1_3.html,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- upgrading_to_1_3.html 1998/07/04 14:59:56 1.26 +++ upgrading_to_1_3.html 1998/07/04 15:10:50 1.27 @@ -131,6 +131,18 @@ HostnameLookups defaults to Off. + REMOTE_HOST CGI variable changed. +In Apache 1.2 and earlier, the REMOTE_HOST environment +variable made available to CGI scripts was set to either the +full DNS name of the client, or else to the client's IP address +if the name was not known. This behaviour differed from that +specified by the CGI specification, which defines this variable as being +NULL if the name isn't known. In Apache 1.3, we have made this correction. +REMOTE_ADDR always contains the client's IP address, +but REMOTE_HOST is only defined when the server has +been able to determine the client's DNS name. + + The undocumented mod_access syntax "allow user-agents" was removed. The replacement is the
cvs commit: apache-site in_the_news.html
coar98/07/04 12:32:07 Modified:.in_the_news.html Log: Another pieces of the ZD circular filing system.. but the words are a little different. Revision ChangesPath 1.40 +4 -0 apache-site/in_the_news.html Index: in_the_news.html === RCS file: /export/home/cvs/apache-site/in_the_news.html,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- in_the_news.html 1998/06/25 15:28:59 1.39 +++ in_the_news.html 1998/07/04 19:32:05 1.40 @@ -66,6 +66,10 @@ "http://www.news.com/News/Item/0,4,23364,00.html?st.ne.fd.gif.f"; >IBM fuels 'freeware' efforts" + Jesse Berst's AnchorDesk: + "http://www.zdnet.com/anchordesk/story/story_2240.html"; + >Freeware Gains Momentum with IBM Support" +
cvs commit: apache-1.3/htdocs/manual/misc compat_notes.html
coar98/07/04 14:38:11 Modified:htdocs/manual/misc compat_notes.html Log: Add a note about the case-sensitivity of as pointed out by Dean. Revision ChangesPath 1.22 +13 -3 apache-1.3/htdocs/manual/misc/compat_notes.html Index: compat_notes.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/compat_notes.html,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- compat_notes.html 1998/05/12 05:23:22 1.21 +++ compat_notes.html 1998/07/04 21:38:10 1.22 @@ -1,6 +1,8 @@ - - -Apache HTTP Server: Compatibility Notes with NCSA's Server +http://www.w3.org/TR/REC-html40/loose.dtd";> + + +Apache HTTP Server: Notes about Compatibility with NCSA's Server page. +As of Apache 1.3.1, methods named in a +<Limit> +section must be listed in upper-case. Lower- or mixed-case +method names will result in a configuration error. + + + + The basic mod_auth AuthGroupFile-specified group file format allows commas between user names - Apache does not.
cvs commit: apache-1.3/src/support suexec.c
coar98/07/07 16:19:24 Modified:src CHANGES src/support suexec.c Log: Put back the bits that aren't controversial. :-) Revision ChangesPath 1.950 +2 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.949 retrieving revision 1.950 diff -u -r1.949 -r1.950 --- CHANGES 1998/07/07 17:23:19 1.949 +++ CHANGES 1998/07/07 23:19:22 1.950 @@ -1,5 +1,7 @@ Changes with Apache 1.3.1 + *) suexec's error messages have been clarified a little bit. [Ken Coar] + *) PORT: Apache is not 8-bit clean in many settings, a problem we're aware of and intend to fix properly. But a temporary workaround which should work for many folks is to tell the C compiler to use 1.43 +4 -4 apache-1.3/src/support/suexec.c Index: suexec.c === RCS file: /export/home/cvs/apache-1.3/src/support/suexec.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- suexec.c 1998/07/07 17:04:19 1.42 +++ suexec.c 1998/07/07 23:19:24 1.43 @@ -205,7 +205,7 @@ if ((cleanenv = (char **) calloc(AP_ENVBUF, sizeof(char *))) == NULL) { - log_err("failed to malloc env mem\n"); +log_err("failed to malloc memory for environment\n"); exit(120); } @@ -283,12 +283,12 @@ #ifdef _OSD_POSIX /* User name comparisons are case insensitive on BS2000/OSD */ if (strcasecmp(HTTPD_USER, pw->pw_name)) { - log_err("user mismatch (%s)\n", pw->pw_name); +log_err("user mismatch (%s instead of %s)\n", pw->pw_name, HTTPD_USER); exit(103); } #else /*_OSD_POSIX*/ if (strcmp(HTTPD_USER, pw->pw_name)) { - log_err("user mismatch (%s)\n", pw->pw_name); +log_err("user mismatch (%s instead of %s)\n", pw->pw_name, HTTPD_USER); exit(103); } #endif /*_OSD_POSIX*/ @@ -350,7 +350,7 @@ * Log the transaction here to be sure we have an open log * before we setuid(). */ -log_err("uid: (%s/%s) gid: (%s/%s) %s\n", +log_err("uid: (%s/%s) gid: (%s/%s) cmd: %s\n", target_uname, actual_uname, target_gname, actual_gname, cmd);
cvs commit: apache-1.3/conf magic
coar98/07/09 04:24:56 Modified:src CHANGES conf magic Log: Add the " Reviewed by: Ken Coar Revision ChangesPath 1.955 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.954 retrieving revision 1.955 diff -u -r1.954 -r1.955 --- CHANGES 1998/07/08 17:46:53 1.954 +++ CHANGES 1998/07/09 11:24:54 1.955 @@ -1,5 +1,9 @@ Changes with Apache 1.3.1 + *) Add the "] + *) Fix yet another signal-based race condition involving nested timers. Signals suck. [Dean Gaudet] 1.2 +3 -0 apache-1.3/conf/magic Index: magic === RCS file: /export/home/cvs/apache-1.3/conf/magic,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- magic 1997/07/07 18:18:36 1.1 +++ magic 1998/07/09 11:24:56 1.2 @@ -170,7 +170,10 @@ # html: file(1) magic for HTML (HyperText Markup Language) docs # # from Daniel Quinlan <[EMAIL PROTECTED]> +# and Anna Shergold <[EMAIL PROTECTED]> # +0string \
cvs commit: apache-1.3/htdocs/manual/misc FAQ.html
coar98/07/09 17:25:36 Modified:htdocs/manual/misc FAQ.html Log: Add a note to the FAQ about increasing file descriptor limits [sic] on Win95. Does this have any effect on WinNT? Submitted by: "The Smiths" <[EMAIL PROTECTED]> Reviewed by: Ken Coar Revision ChangesPath 1.123 +13 -1 apache-1.3/htdocs/manual/misc/FAQ.html Index: FAQ.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/FAQ.html,v retrieving revision 1.122 retrieving revision 1.123 diff -u -r1.122 -r1.123 --- FAQ.html 1998/07/09 22:02:54 1.122 +++ FAQ.html 1998/07/10 00:25:35 1.123 @@ -14,7 +14,7 @@ Apache Server Frequently Asked Questions - $Revision: 1.122 $ ($Date: 1998/07/09 22:02:54 $) + $Revision: 1.123 $ ($Date: 1998/07/10 00:25:35 $) The latest version of this FAQ is always available from the main @@ -909,6 +909,18 @@ how to do this is available in the performance hints page. There is a specific note for FreeBSD below. + +For Windows 95, try modifying your C:\CONFIG.SYS file to +include a line like + + + FILES=300 + + + +Remember that you'll need to reboot your Windows 95 system in order +for the new value to take effect. + "Don't do that" - try to run with fewer virtual hosts
cvs commit: apache-1.3/src/modules/standard mod_setenvif.c
coar98/07/09 17:54:18 Modified:src/modules/standard mod_setenvif.c Log: Yes, I know this is style-guide/indent stuff, but I'm tracking down a possible bug and want to have a clean basis for any changes. I.e., I'm not just being capricious.. Revision ChangesPath 1.24 +31 -27apache-1.3/src/modules/standard/mod_setenvif.c Index: mod_setenvif.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_setenvif.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- mod_setenvif.c1998/06/27 18:09:33 1.23 +++ mod_setenvif.c1998/07/10 00:54:17 1.24 @@ -158,21 +158,21 @@ sei_cfg_rec *base = basev, *overrides = overridesv; a->conditionals = ap_append_arrays(p, base->conditionals, -overrides->conditionals); +overrides->conditionals); return a; } -/* any non-NULL magic constant will do... used to indicate if REG_ICASE should be - * used */ +/* any non-NULL magic constant will do... used to indicate if REG_ICASE should + * be used */ #define ICASE_MAGIC ((void *)(&setenvif_module)) static const char *add_setenvif_core(cmd_parms *cmd, void *mconfig, -char *fname, const char *args) + char *fname, const char *args) { char *regex; const char *feature; sei_cfg_rec *sconf = ap_get_module_config(cmd->server->module_config, - &setenvif_module); + &setenvif_module); sei_entry *new, *entries = (sei_entry *) sconf->conditionals->elts; char *var; int i; @@ -183,7 +183,7 @@ regex = ap_getword_conf(cmd->pool, &args); if (!*regex) { return ap_pstrcat(cmd->pool, "Missing regular expression for ", -cmd->cmd->name, NULL); + cmd->cmd->name, NULL); } /* @@ -217,11 +217,11 @@ new->regex = regex; new->icase = icase; new->preg = ap_pregcomp(cmd->pool, regex, - (REG_EXTENDED | REG_NOSUB - | (icase ? REG_ICASE : 0))); + (REG_EXTENDED | REG_NOSUB + | (icase ? REG_ICASE : 0))); if (new->preg == NULL) { return ap_pstrcat(cmd->pool, cmd->cmd->name, - " regex could not be compiled.", NULL); + " regex could not be compiled.", NULL); } new->features = ap_make_table(cmd->pool, 2); @@ -248,10 +248,11 @@ new = &entries[i]; } -for (;;) { +for ( ; ; ) { feature = ap_getword_conf(cmd->pool, &args); - if(!*feature) + if (!*feature) { break; + } beenhere++; var = ap_getword(cmd->pool, &feature, '='); @@ -268,13 +269,14 @@ if (!beenhere) { return ap_pstrcat(cmd->pool, "Missing envariable expression for ", -cmd->cmd->name, NULL); + cmd->cmd->name, NULL); } return NULL; } -static const char *add_setenvif(cmd_parms *cmd, void *mconfig, const char *args) +static const char *add_setenvif(cmd_parms *cmd, void *mconfig, + const char *args) { char *fname; @@ -282,7 +284,7 @@ fname = ap_getword_conf(cmd->pool, &args); if (!*fname) { return ap_pstrcat(cmd->pool, "Missing header-field name for ", -cmd->cmd->name, NULL); + cmd->cmd->name, NULL); } return add_setenvif_core(cmd, mconfig, fname, args); } @@ -299,28 +301,30 @@ static const command_rec setenvif_module_cmds[] = { -{"SetEnvIf", add_setenvif, NULL, - RSRC_CONF, RAW_ARGS, "A header-name, regex and a list of variables."}, -{"SetEnvIfNoCase", add_setenvif, ICASE_MAGIC, - RSRC_CONF, RAW_ARGS, "a header-name, regex and a list of variables."}, -{"BrowserMatch", add_browser, NULL, - RSRC_CONF, RAW_ARGS, "A browser regex and a list of variables."}, -{"BrowserMatchNoCase", add_browser, ICASE_MAGIC, - RSRC_CONF, RAW_ARGS, "A browser regex and a list of variables."}, -{NULL}, +{ "SetEnvIf", add_setenvif, NULL, + RSRC_CONF, RAW_ARGS, "A header-name, regex and a list of variables."
cvs commit: apache-1.3/src/modules/standard mod_setenvif.c
coar98/07/10 05:58:56 Modified:src CHANGES src/modules/standard mod_setenvif.c Log: Make mod_setenvif work like mod_rewrite - namely, let it use "^$" to match missing fields. Revision ChangesPath 1.957 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.956 retrieving revision 1.957 diff -u -r1.956 -r1.957 --- CHANGES 1998/07/09 20:37:12 1.956 +++ CHANGES 1998/07/10 12:58:54 1.957 @@ -1,5 +1,8 @@ Changes with Apache 1.3.1 + *) mod_setenvif (BrowserMatch* and friends) will now match a missing + field with "^$". [Ken Coar] + *) Cache a proxied request in the event that the client cancels the transfer, provided that the configured percentage of the file has already been transfered. It works for http transfers only. The 1.25 +10 -3 apache-1.3/src/modules/standard/mod_setenvif.c Index: mod_setenvif.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_setenvif.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- mod_setenvif.c1998/07/10 00:54:17 1.24 +++ mod_setenvif.c1998/07/10 12:58:56 1.25 @@ -163,7 +163,8 @@ } /* any non-NULL magic constant will do... used to indicate if REG_ICASE should - * be used */ + * be used + */ #define ICASE_MAGIC ((void *)(&setenvif_module)) static const char *add_setenvif_core(cmd_parms *cmd, void *mconfig, @@ -360,8 +361,14 @@ } } -if (!val) { -continue; + /* + * A NULL value indicates that the header field or special entity + * wasn't present or is undefined. Represent that as an empty string + * so that REs like "^$" will work and allow envariable setting + * based on missing or empty field. + */ +if (val == NULL) { +val = ""; } if (!regexec(b->preg, val, 0, NULL, 0)) {
cvs commit: apache-1.3/htdocs/manual/mod mod_mime.html
coar98/07/10 06:33:10 Modified:htdocs/manual/mod mod_mime.html Log: Add a missing 'Override' clause. PR: 2582 Submitted by: Andrew Gillespie <[EMAIL PROTECTED]> Reviewed by: Ken Coar Revision ChangesPath 1.22 +4 -0 apache-1.3/htdocs/manual/mod/mod_mime.html Index: mod_mime.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_mime.html,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- mod_mime.html 1998/05/20 14:12:58 1.21 +++ mod_mime.html 1998/07/10 13:33:09 1.22 @@ -144,6 +144,10 @@ REL="Help" >Context: server config, virtual host, directory, .htaccess Override: FileInfo +Status: Base
cvs commit: apache-2.0 STATUS
coar98/07/12 11:48:20 Modified:.STATUS Log: Another issue for future work.. Revision ChangesPath 1.40 +4 -0 apache-2.0/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-2.0/STATUS,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- STATUS1998/06/11 10:01:30 1.39 +++ STATUS1998/07/12 18:48:19 1.40 @@ -36,6 +36,10 @@ If we do this, it needs to be *mandatory* in the style guide. +1: Ken + * Really, really comply with 2068 (or whatever Roy says is the right +document). Like handling Vary response fields properly and reliably. + +1: Ken + * Improve mod_include SSI handling, perhaps by caching offsets to directives. Also, clean up the conditional syntax to allow formats that bear a faint resemblance to other usages (such
cvs commit: apache-1.3/conf srm.conf-dist srm.conf-dist-win
coar98/07/15 07:50:29 Modified:conf srm.conf-dist srm.conf-dist-win Log: Add explicit TypesConfig directives so people changing their default directory structure won't get bitten by not finding references to 'conf' in the .conf-dist* files. PR: 2616 Revision ChangesPath 1.23 +5 -0 apache-1.3/conf/srm.conf-dist Index: srm.conf-dist === RCS file: /export/home/cvs/apache-1.3/conf/srm.conf-dist,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- srm.conf-dist 1998/05/21 18:01:58 1.22 +++ srm.conf-dist 1998/07/15 14:50:28 1.23 @@ -91,6 +91,11 @@ AccessFileName .htaccess +# TypesConfig describes where the mime.types file (or equivalent) is +# to be found. + +TypesConfig conf/mime.types + # DefaultType is the default MIME type for documents which the server # cannot find the type of from filename extensions. 1.13 +5 -0 apache-1.3/conf/srm.conf-dist-win Index: srm.conf-dist-win === RCS file: /export/home/cvs/apache-1.3/conf/srm.conf-dist-win,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- srm.conf-dist-win 1998/06/08 14:37:26 1.12 +++ srm.conf-dist-win 1998/07/15 14:50:28 1.13 @@ -99,6 +99,11 @@ AccessFileName .htaccess +# TypesConfig describes where the mime.types file (or equivalent) is +# to be found. + +TypesConfig conf/mime.types + # DefaultType is the default MIME type for documents which the server # cannot find the type of from filename extensions.
cvs commit: apache-site/info apache_books.html
coar98/07/15 13:06:26 Modified:info apache_books.html Log: Gah! I have no idea from where IDG got that stuff. Since my experience indicates getting it changed is unlikely, I'm pointing the link at Amazon - where at least they fix things when I tell them about mistakes. (Lower price, too.) Revision ChangesPath 1.7 +4 -1 apache-site/info/apache_books.html Index: apache_books.html === RCS file: /export/home/cvs/apache-site/info/apache_books.html,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- apache_books.html 1998/07/12 19:11:18 1.6 +++ apache_books.html 1998/07/15 20:06:25 1.7 @@ -44,7 +44,10 @@ - http://www.dummies.com/cgi/fill_out_template.pl?book:0-7645-0291-3:book-Dummies+Press";>Apache Server for Dummies + +http://www.amazon.com/exec/obidos/ISBN=0764502913/meepzorconsultin/"; +>Apache Server for Dummies Author: Ken Coar
cvs commit: apache-1.3 STATUS
coar98/07/20 16:38:35 Modified:.STATUS Log: Some 80-col cleanups and votes. Revision ChangesPath 1.445 +27 -20apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.444 retrieving revision 1.445 diff -u -r1.444 -r1.445 --- STATUS1998/07/20 17:16:40 1.444 +++ STATUS1998/07/20 23:38:34 1.445 @@ -21,68 +21,74 @@ Documentation that needs writing: * Need a document explaining mod_rewrite/"UseCanonicalName off" based - virtualhosting. (If it exists already I can't find it easily.) + virtualhosting. (If it exists already I can't find it easily.) Available Patches: -* [PATCH] PR2356 - SSI exec - Message-ID: <[EMAIL PROTECTED]> +* Bill Stoddard's [PATCH] PR2356 - SSI exec This is an update of a patch I sent in earlier. There are 13 new lines of code to detect and handle shellcmd. COMMAND.COM is used to exec the script on Win95, CMD.EXE on NT. + Message-ID: <[EMAIL PROTECTED]> + Status: Ken +1 (on concept) * "[PATCH] Link DSO modules against possible libraries from $(LIBS)" - Message-ID: <[EMAIL PROTECTED]> In the configuration process we already determine the variable LDFLAGS and LIBS. They hold -L and -l options for linking executables. We parse these options and separate them into three classes: OBJ, PIC and DSO. And then we re-assemble a LIBS_SHLIB variable from only the options in classes PIC and DSO. This variable is then used on the build command for mod_xxx.so. - Status: Ralf +1 + Message-ID: <[EMAIL PROTECTED]> + Status: Ralf +1 * Filenames containing whitespace characters caused problems for directives Bill Stoddard <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> -* PR#2483 reports that RewriteMap program still don't work under Win32 because - of a SIGSEGV. The reporter is right, ap_spawn_child_core() calls the child - function with NULL while in the child function the file handles have to be - available. I've assembled the above patch from the reporters description/patch - for testing by our Win32 folks. (I cannot test it myself). +* PR#2483 reports that RewriteMap program still don't work under Win32 + because of a SIGSEGV. The reporter is right, ap_spawn_child_core() + calls the child function with NULL while in the child function the + file handles have to be available. I've assembled the above patch + from the reporters description/patch for testing by our Win32 folks. + (I cannot test it myself). "Ralf S. Engelschall" <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> Status: Ralf +1 -* This patch makes some structural changes to ap_call_exec to make it more - readable and friendly to a couple of patches that will follow (capability to - query the Win32 registry for interpreter name and a fix for mod_include - exec=cmd processing). This patch does not change the function of ap_call_exec. - W G Stoddard <[EMAIL PROTECTED]> +* Bill Stoddard's patch to make some structural changes to ap_call_exec to + make it more readable and friendly to a couple of patches that will + follow (capability to query the Win32 registry for interpreter name + and a fix for mod_include exec=cmd processing). This patch does not + change the function of ap_call_exec. Message-ID: <[EMAIL PROTECTED]> + Status: Ken +1 (on concept) * Configure tweaks to support building outside the source tree, and add more customizeability for installation layout, by Wilfredo Sanchez <[EMAIL PROTECTED]> Message-Id: <[EMAIL PROTECTED]> - Status: Ralf -1 (because it is too huge, has to be cleaned up and splitted) + Status: Ralf -1 (because it is too huge, has to be cleaned up and + split) * Rhapsody port, by Wilfredo Sanchez <[EMAIL PROTECTED]> Message-Id: <[EMAIL PROTECTED]> + Status: Ken +1 (on concept) * Ralf's "[PATCH] Fix module init" This fixes the mod_so/mod_perl problems described under "FINAL RELEASE SHOWSTOPPERS" by doing a more correct init of the modules after loading through two new core API functions. - <[EMAIL PROTECTED]> - Status: Ralf +1 + Message-ID: <[EMAIL PROTECTED]> + Status: Ralf +1 * Paul's patch to add integrated restart/shutdown sig
cvs commit: apache-1.3/src/main http_core.c
coar98/07/23 03:46:25 Modified:src/main http_core.c Log: Add a comment explaining the initially astonishing use of '!=' in what otherwise looks like it should be a string comparison. Revision ChangesPath 1.213 +9 -3 apache-1.3/src/main/http_core.c Index: http_core.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v retrieving revision 1.212 retrieving revision 1.213 diff -u -r1.212 -r1.213 --- http_core.c 1998/07/13 11:32:39 1.212 +++ http_core.c 1998/07/23 10:46:23 1.213 @@ -1087,12 +1087,18 @@ static const char *end_nested_section(cmd_parms *cmd, void *dummy) { if (cmd->end_token == NULL) { - return ap_pstrcat(cmd->pool, cmd->cmd->name, - " without matching <", cmd->cmd->name + 2, " section", NULL); +return ap_pstrcat(cmd->pool, cmd->cmd->name, + " without matching <", cmd->cmd->name + 2, + " section", NULL); } +/* + * This '!=' may look weird on a string comparison, but it's correct -- + * it's been set up so that checking for two pointers to the same datum + * is valid here. And faster. + */ if (cmd->cmd->name != cmd->end_token) { return ap_pstrcat(cmd->pool, "Expected ", cmd->end_token, " but saw ", - cmd->cmd->name, NULL); + cmd->cmd->name, NULL); } return cmd->end_token; }
cvs commit: apache-1.3/src/modules/standard mod_rewrite.c mod_rewrite.h
coar98/07/23 04:34:02 Modified:src/modules/standard mod_rewrite.c mod_rewrite.h Log: Add some capability for setting the Vary response field when mod_rewrite makes changes based upon request fields. This is by no means a complete treatment of the problem (redirects don't inherit the Vary at the moment, for instance), but at least we're not ignoring Vary here completely any more. PR: 1644 Reviewed by: Ralf Engelschall Revision ChangesPath 1.126 +20 -0 apache-1.3/src/modules/standard/mod_rewrite.c Index: mod_rewrite.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_rewrite.c,v retrieving revision 1.125 retrieving revision 1.126 diff -u -r1.125 -r1.126 --- mod_rewrite.c 1998/07/18 15:30:46 1.125 +++ mod_rewrite.c 1998/07/23 11:34:00 1.126 @@ -1728,6 +1728,7 @@ { char *uri; char *output; +const char *vary; char newuri[MAX_STRING_LEN]; char env[MAX_STRING_LEN]; regex_t *regexp; @@ -1841,6 +1842,7 @@ /* One condition is false, but another can be * still true, so we have to continue... */ + ap_table_unset(r->notes, VARY_KEY_THIS); continue; } else { @@ -1866,13 +1868,30 @@ break; } } + vary = ap_table_get(r->notes, VARY_KEY_THIS); + if (vary != NULL) { + ap_table_merge(r->notes, VARY_KEY, vary); + ap_table_unset(r->notes, VARY_KEY_THIS); + } } /* if any condition fails the complete rule fails */ if (failed) { +ap_table_unset(r->notes, VARY_KEY); +ap_table_unset(r->notes, VARY_KEY_THIS); return 0; } /* + * Regardless of what we do next, we've found a match. Check to see + * if any of the request header fields were involved, and add them + * to the Vary field of the response. + */ +if ((vary = ap_table_get(r->notes, VARY_KEY)) != NULL) { +ap_table_merge(r->headers_out, "Vary", vary); + ap_table_unset(r->notes, VARY_KEY); +} + +/* * If this is a pure matching rule (`RewriteRule -') * we stop processing and return immediately. The only thing * we have not to forget are the environment variables @@ -3718,6 +3737,7 @@ continue; } if (strcasecmp(hdrs[i].key, name) == 0) { + ap_table_merge(r->notes, VARY_KEY_THIS, name); return hdrs[i].val; } } 1.56 +7 -0 apache-1.3/src/modules/standard/mod_rewrite.h Index: mod_rewrite.h === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_rewrite.h,v retrieving revision 1.55 retrieving revision 1.56 diff -u -r1.55 -r1.56 --- mod_rewrite.h 1998/07/13 11:32:46 1.55 +++ mod_rewrite.h 1998/07/23 11:34:01 1.56 @@ -113,6 +113,13 @@ #include "http_log.h" #include "http_vhost.h" +/* + * The key in the r->notes table wherein we store our accumulated + * Vary values, and the one used for per-condition checks in a chain. + */ +#define VARY_KEY "rewrite-Vary" +#define VARY_KEY_THIS "rewrite-Vary-this" + /* The NDBM support: * We support only NDBM files. * But we have to stat the file for the mtime,
cvs commit: apache-1.3/src CHANGES
coar98/07/23 06:45:45 Modified:src CHANGES Log: I always forget this.. PR: 1644 Revision ChangesPath 1.978 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.977 retrieving revision 1.978 diff -u -r1.977 -r1.978 --- CHANGES 1998/07/22 13:20:51 1.977 +++ CHANGES 1998/07/23 13:45:42 1.978 @@ -1,5 +1,8 @@ Changes with Apache 1.3.2 + *) Modify mod_rewrite to update the Vary response field if it Does + Anything based upon request fields. [Ken Coar] PR#1644 + *) Document the special APACI behavior for installation paths where ``/apache'' is appended to paths under some (well defined, of course) situations to prevent pollution of system locations with Apache files.
cvs commit: apache-site/websrc cvsweb.cgi
coar98/07/23 17:53:21 Modified:websrc cvsweb.cgi Log: Changed to look for *exactly* 77 '=' characters alone on a line for the empirical RCS division mark. We were getting hosed by strings of '==' in the CVS log text. Revision ChangesPath 1.3 +9 -3 apache-site/websrc/cvsweb.cgi Index: cvsweb.cgi === RCS file: /export/home/cvs/apache-site/websrc/cvsweb.cgi,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- cvsweb.cgi1997/07/01 21:59:39 1.2 +++ cvsweb.cgi1998/07/24 00:53:21 1.3 @@ -5,6 +5,12 @@ # Written by Bill Fenner <[EMAIL PROTECTED]> on his own time. # Insert BSD copyright here. # +# Modified: +# 1998-07-23 Ken Coar +# Changed to look for *exactly* 77 '=' characters alone on a line for the +# empirical RCS division mark. We were getting hosed by strings of '==' +# in the CVS log text. +# #HTTP_USER_AGENT: Mozilla/1.1N (X11; I; SunOS 4.1.3_U1 sun4m) via proxy gateway CERN-HTTPD/3.0 libwww/2.17 #SERVER_NAME: www.freebsd.org #QUERY_STRING: baz @@ -165,12 +171,12 @@ # log info # logentry: - while (!/^=/) { + while (!/^={77}$/) { $_ = ; print "R:", $_ if ($verbose); if (/^revision ([\d\.]+)/) { $rev = $1; - } elsif (/^/ || /^$/) { + } elsif (/^={77}$/ || /^$/) { next logentry; } else { &fatal("500 Internal Error","Error parsing RCS output: $_"); @@ -192,7 +198,7 @@ while () { print "L:", $_ if ($verbose); next line if (/^branches:\s/); - last line if (/^$/ || /^=/); + last line if (/^$/ || /^={77}$/); $log{$rev} .= $_; } print "E:", $_ if ($verbose);
cvs commit: apache-site bugdb.cgi
coar98/07/27 15:39:26 Modified:.bugdb.cgi Log: Change the default search state from "open" to "any". Revision ChangesPath 1.32 +2 -1 apache-site/bugdb.cgi Index: bugdb.cgi === RCS file: /export/home/cvs/apache-site/bugdb.cgi,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- bugdb.cgi 1998/05/28 10:56:55 1.31 +++ bugdb.cgi 1998/07/27 22:39:25 1.32 @@ -126,6 +126,7 @@ #for editors without full domain names. # 05/28/1998 Ken Coar - Change the 'still alive?' standard response to include #a request for retesting under the latest sotware. +# 07/27/1998 Ken Coar - Change the default search state from "open" to "any". # ### End Modification log @@ -183,7 +184,7 @@ "Responsible", "any", #"Originator", "any", "Class", "any", - "State", "open", + "State", "any", ); # Defines order of quick output restrictions @quickrestr = (
cvs commit: apache-1.3/src/support suexec.c
coar98/07/01 03:34:21 Modified:src/support suexec.c Log: Redo the 'too few arguments' error reporting in a way that doesn't do excessive unsafe string copying (which Marc pointed out was a flaw in the last edit). Revision ChangesPath 1.41 +27 -1 apache-1.3/src/support/suexec.c Index: suexec.c === RCS file: /export/home/cvs/apache-1.3/src/support/suexec.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- suexec.c 1998/06/20 11:07:38 1.40 +++ suexec.c 1998/07/01 10:34:20 1.41 @@ -261,10 +261,36 @@ if (argc < 4) { char msgbuf[2048]; int i; + int clen; + static char *omsg = " {buffer overflow}"; + int olen = strlen(omsg); ap_snprintf(msgbuf, sizeof(msgbuf), "too few (%d) arguments:", argc); + clen = strlen(msgbuf); for (i = 0; i < argc; i++) { - ap_snprintf(msgbuf, sizeof(msgbuf), "%s [%s]", msgbuf, argv[i]); + int alen = strlen(argv[i]) + 4; + int rlen = sizeof(msgbuf) - clen - 1; + int oflow = (alen > rlen); + + alen = oflow ? rlen : alen; + if (rlen > 1) { + msgbuf[clen++] = ' '; + alen--; + } + if (rlen > 2) { + msgbuf[clen++] = '['; + alen--; + } + ap_cpystrn(&msgbuf[clen], argv[i], alen); + if (oflow) { + ap_cpystrn(&msgbuf[sizeof(msgbuf) - olen - 1], omsg, olen + 1); + break; + } + else { + clen += alen - 2; + msgbuf[clen++] = ']'; + msgbuf[clen] = '\0'; + } } log_err("%s\n", msgbuf); exit(101);
cvs commit: apache-devsite bugdb-policies.html index.html
coar98/08/03 07:48:28 Modified:.index.html Added: .bugdb-policies.html Log: Add a rough draft of 'how to edit PRs,' and point to it. Revision ChangesPath 1.24 +6 -2 apache-devsite/index.html Index: index.html === RCS file: /export/home/cvs/apache-devsite/index.html,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- index.html1998/06/19 15:26:54 1.23 +++ index.html1998/08/03 14:48:27 1.24 @@ -25,12 +25,16 @@ User Feedback http://bugs.apache.org/";>User access (submit and query) - to the Apache Bug Report Database. + to the Apache Bug Report Database. http://bugs.apache.org/private/";>Developer access (submit, query and edit) to the database of Apache bug reports. Requires authorisation. + +Guidelines for editing PRs. + + Information about the various Apache mailing lists. @@ -62,7 +66,7 @@ Some notes on debugging -(last modified on ) + (last modified on ) 1.1 apache-devsite/bugdb-policies.html Index: bugdb-policies.html === http://www.w3.org/TR/REC-html40/loose.dtd";> Apache Bug Database Policies for Developers Apache Bug Database Policies for Developers This document defines the rules and policies that govern the handling of Apache problem reports (PRs). Underlying Principles General Guidelines PR States open analyzed feedback suspended closed PR State Transitions Date Thresholds Out-of-Band PR Information Underlying Principles The single most critical resource we have is developer time. Anything that can be done to reduce the amount of time developer's spend in dealing with PRs, as opposed to actually developing or fixing problems, is highly desirable. This means that it is reasonable to push back on PR submitters to test fixes in their own environments rather than have developers reproduce the environment locally. If a newer version of the software has been released, it is reasonable to ask the submitter to try upgrading -- even if it's not clear whether the relevant areas of the code were touched. Submitters should almost always be encouraged to run the latest version, at least to test whether their issues have been addressed. Obviously this is subject to case-by-case exceptions at the discretion of individual developers, but the principle remains the basis for the policies that follow. General Guidelines Some general guidelines for developers working on problem reports: Before working on a PR, check to see if anyone else has touched it recently. If so, contact the other developer first, since there may be some out-of-band communication going on in private email and your jumping in may confuse matters. Don't change the ownership of PRs to yourself unless you intend to really follow through unto closure. The bugdb sends mail whenever PRs are modified; if the owner is "apache" the mail will be sent to the <[EMAIL PROTECTED]> mailing list. If the owner is anyone else, mail is sent only to the submitter and that person -- so change notices won't be sent to the group. Be sure to update a PR's state when mail from the submitter gets attached to it. When the bugdb system attaches mail messages, it doesn't change the state or make any other changes to a PR. Since mail has been sent, "feedback" is almost certainly not the correct state, so it should be changed. See the state transitions section for more information about the correct new state. PR States A problem report can be in any of the following states. The ones in which most PRs should reside are: open, feedback, and closed. The "open" state implies that a PR needs developer attention, so one of the main goals is to move PRs into "feedback," "suspended," or "closed." open New PRs start in this state. Being "open" indicates that a solution is not yet known, or that no-one has looked at the problem yet. It can also mean that someone was working on it but had to stop. a
cvs commit: apache-site bugdb.cgi
coar98/08/03 20:48:31 Modified:.bugdb.cgi Log: Add some more minimal niceties, like PR counts. Revision ChangesPath 1.34 +16 -8 apache-site/bugdb.cgi Index: bugdb.cgi === RCS file: /export/home/cvs/apache-site/bugdb.cgi,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- bugdb.cgi 1998/08/01 09:45:57 1.33 +++ bugdb.cgi 1998/08/04 03:48:30 1.34 @@ -134,6 +134,8 @@ # 08/01/1998 Ken Coar - Break summary listing into 100-row tables for #faster rendering and add 'don't send attachments' clause to the #how-to-reply text. +# 08/03/1998 Ken Coar - Add counts for matching PRs and position within +#multi-table reports. # ### End Modification log @@ -271,7 +273,7 @@ ### Main menu } elsif ($PATH_INFO eq "") { &main_menu(); -print "Version: 01 August 1998Authors: ", +print "Version: 03 August 1998Authors: ", "http://alumni.caltech.edu/~dank/gnats.html\";>Dan Kegel ", "and Huy Le, ", "with revamp work by ", @@ -525,8 +527,8 @@ &emit_preamble (0); print <Apache: New Problem Report submission -New Problem Report form: +New Problem Report form: @@ -1183,9 +1185,9 @@ # Print title &emit_preamble (0); -print "Quick summary of PR's -Quick summary of PR's: +print "Quick Summary of Problem Reports +Quick Summary of Problem Reports "; local($opts); local(@prs); @@ -1261,11 +1263,13 @@ close(PIPE); } @prs = sort numerically (@prs); -if (@prs == 0) { +local ($nprs) = scalar(@prs); +if ($nprs == 0) { print "No bugs match your query.\n"; return; } -&qf_tabletop (%field); +printf ("Total of %d PR%s found\n", $nprs, + ($nprs == 1) ? "" : "s"); local ($nrows) = 0; # Print each PR in result as link to full text foreach (@prs) { @@ -1303,7 +1307,9 @@ } if (($nrows % 100) == 0) { print "\n\n\n" if ($nrows != 0); - &qf_tabletop (%field); + &qf_tabletop ($nrows + 1, + (($nrows + 100) < $nprs) ? $nrows + 100 : $nprs, + $nprs, %field); } $nrows++; print "\n"; @@ -1318,9 +1324,11 @@ } sub qf_tabletop { -local (%field) = @_; +local ($firstnum, $lastnum, $highnum, %field) = @_; local ($QUICKFMT, $WIDTH, $fstring, $str); +printf ("Reports matching your query: %d through %d of %d\n", + $firstnum, $lastnum, $highnum); print "\n\n"; # Print field headers. $fstring = "PR#";
cvs commit: apache-2.0/docs api-middle.txt
coar98/08/04 05:29:39 Added: docs api-middle.txt Log: Add Simon Spero's thoughts about the API and the 'middle end'. Revision ChangesPath 1.1 apache-2.0/docs/api-middle.txt Index: api-middle.txt === Subject: 2.0: Thoughts on the Module API/Middle End Date: Tue, 04 Aug 1998 00:00:41 -0400 From: Simon Spero <[EMAIL PROTECTED]> Reply-To: new-httpd@apache.org To: [EMAIL PROTECTED] I've been meaning to post some thoughts about the design of the module API , but I've been sick and busy, so I thought I'd just throws some ideas up for people to rip to shreds.Sorry if a lot of this is incoherent. I'd like to blame it all on voice recognition, but it's really my fault First of all, some stuff that should be non-controversial. 1. The current API is too HTTP specific, and too procedural in nature. It is ill-defined, and inflexible when it comes to adding extra functions. It is very hard to predict how modules from different developers will interact with each other, or two used to modules providing the same type of service at the same time (for example, using two different authentication modules to get user information from two different places). 2. Back-end vs. middle-end, objects vs. names. this may be controversial, I like to think of the things that are managed by the back end of the server as being objects; these objects may have state, provided by a filesystem or a database, and can be accessed by invoking many different methods. The implementation of these methods could potentially come from code provided by many different modules; it is the job of the middle end to work out which methods go with which object. Methods can be grouped together to form interfaces (like in Java or CORBA). Use different types of Interfaces. Each type of activity should be defined by a different interface; it should be possible to implement several different interfaces in the same module; it should also be possible to only implement part of an interface, with the remaining implementations coming from different sources. Use Late binding. Interfaces should be flexible and late bound; module should only provide a single symbol, which would be a standard function identifying the methods and interfaces provided by this module. This identification the should be done using strings instead of locations within structs to avoid problems caused by adding methods to an interface. Provide fast method invocation Method indications should be fast; on the order of a jump to a function pointer, instead of a linear search. It should be possible to use this invocation method to provide basic services to other modules (for example, then might be a database interface). It should be possible to take modules which use a carefully limited set of system services, and automatically load them into the kernel, or access them from a kernel module. Object VTABLES can be pieced together at run time. The process of constructing an object might start with name resolution; For example, a database based implementation of a meta- information interface might be bound to /. A filesystem based implementation of the name resolution interface could then be bound to /files. Control of the name resolution processing would then be passed in to that implementation of the name resolution interface, which would do further construction of the object, including handling tasks like content-negotiation. This can be combined with other mechanisms for locating appropriate implementations to use with this object. VTABLES should be mostly pre-computed. the important thing is that it should be possible to statically evaluate as much of the resolution process as possible to build cached vtables for the common-path. This could be done through a method in the name resolution interface which would return a list of tuples of name prefixes and vtables. It should be possible to quickly combine vtables for cases where dynamic processing is necessary. This might involve links rather than copying. Method Combination Should Be Predicatable And Controllable. It should be possible to control how methods are combined. This might involve e.g. making a pointer to the next function to call available to the invokes method, in the style of LISP or Dylan; or trying all methods until one succeeds, all succeed, etc. . The main constraint is that it should be easy to see what sort of method combination is being used without having to read every single piece of code involved. Object/VTABLE Construction Should Be Customisable The process of name resolution and method combination must be customizable as an interface; this a
cvs commit: apache-1.3/src/main Makefile.tmpl fnmatch.c
coar98/08/04 06:32:21 Modified:src/ap Makefile.tmpl src/main Makefile.tmpl Removed: src/main fnmatch.c Log: Move the httpd-neutral ap_fnmatch() stuff out of main and into libap. Revision ChangesPath 1.28 +4 -1 apache-1.3/src/ap/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apache-1.3/src/ap/Makefile.tmpl,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- Makefile.tmpl 1998/07/13 11:32:32 1.27 +++ Makefile.tmpl 1998/08/04 13:32:19 1.28 @@ -6,7 +6,7 @@ LIB=libap.a OBJS=ap_execve.o ap_cpystrn.o ap_signal.o \ - ap_slack.o ap_snprintf.o + ap_slack.o ap_snprintf.o ap_fnmatch.o .c.o: $(CC) -c $(INCLUDES) $(CFLAGS) $< @@ -59,3 +59,6 @@ $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h $(INCDIR)/ap_ctype.h \ $(INCDIR)/hsregex.h $(INCDIR)/alloc.h $(INCDIR)/buff.h \ $(INCDIR)/ap.h $(INCDIR)/util_uri.h +ap_fnmatch.o: ap_fnmatch.c $(INCDIR)/ap_config.h \ + $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h $(INCDIR)/ap_ctype.h \ + $(INCDIR)/hsregex.h $(INCDIR)/fnmatch.h 1.32 +1 -4 apache-1.3/src/main/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apache-1.3/src/main/Makefile.tmpl,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- Makefile.tmpl 1998/07/13 11:32:38 1.31 +++ Makefile.tmpl 1998/08/04 13:32:20 1.32 @@ -11,7 +11,7 @@ http_config.o http_core.o http_log.o \ http_main.o http_protocol.o http_request.o http_vhost.o \ util.o util_date.o util_script.o util_uri.o util_md5.o \ - md5c.o rfc1413.o fnmatch.o + md5c.o rfc1413.o .c.o: $(CC) -c $(INCLUDES) $(CFLAGS) $< @@ -68,9 +68,6 @@ $(INCDIR)/hsregex.h $(INCDIR)/alloc.h $(INCDIR)/buff.h \ $(INCDIR)/ap.h $(INCDIR)/util_uri.h $(INCDIR)/http_main.h \ $(INCDIR)/http_log.h -fnmatch.o: fnmatch.c $(INCDIR)/ap_config.h \ - $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h $(INCDIR)/ap_ctype.h \ - $(INCDIR)/hsregex.h $(INCDIR)/fnmatch.h gen_test_char.o: gen_test_char.c $(INCDIR)/httpd.h \ $(INCDIR)/ap_config.h $(INCDIR)/ap_config_auto.h $(OSDIR)/os.h \ $(INCDIR)/ap_ctype.h $(INCDIR)/hsregex.h $(INCDIR)/alloc.h \
cvs commit: apache-1.3/src/main util.c
coar98/08/04 18:36:42 Modified:src CHANGES src/main util.c Log: ap_cfg_getline() was wont to remove leading and trailing whitespace and compressing multiple tabs and spaces to a single space. The former two are fine, but the last really hoses quoted strings in config files - so out it goes. If this breaks anything (nothing noticed yet), we can just revert it.. PR: 1645 Reviewed by: Ralf Engelschall, Brian Behlendorf Revision ChangesPath 1.1002+4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1001 retrieving revision 1.1002 diff -u -r1.1001 -r1.1002 --- CHANGES 1998/08/03 21:51:37 1.1001 +++ CHANGES 1998/08/05 01:36:35 1.1002 @@ -1,5 +1,9 @@ Changes with Apache 1.3.2 + *) Cure ap_cfg_getline() of its nasty habit of compressing internal + whitespace in input lines -- including within quoted strings. + [Ken Coar] + *) Cleanup of the PrintPath/PrintPathOS2 helper functions. Avoid the ugly use of an env. variable and use command-line args for alternate $PATH. Make more like advanced 'type's as well. 1.127 +3 -15 apache-1.3/src/main/util.c Index: util.c === RCS file: /export/home/cvs/apache-1.3/src/main/util.c,v retrieving revision 1.126 retrieving revision 1.127 diff -u -r1.126 -r1.127 --- util.c1998/08/03 09:15:00 1.126 +++ util.c1998/08/05 01:36:40 1.127 @@ -863,26 +863,14 @@ break; } - /* Compress the line, reducing all blanks and tabs to one space. + /* * Leading and trailing white space is eliminated completely */ - src = dst = buf; + src = buf; while (ap_isspace(*src)) ++src; - while (*src != '\0') - { - /* Copy words */ - while (!ap_isspace(*dst = *src) && *src != '\0') { - ++src; - ++dst; - } - if (*src == '\0') break; - *dst++ = ' '; - while (ap_isspace(*src)) - ++src; - } - *dst = '\0'; /* blast trailing whitespace */ + dst = &src[strlen(src)]; while (--dst >= buf && ap_isspace(*dst)) *dst = '\0';
cvs commit: apache-1.3/src/ap ap.dsp ap.mak
coar98/08/05 15:15:08 Modified:src ApacheCore.dsp ApacheCore.mak src/ap ap.dsp ap.mak Log: Update the ApacheCore.{dsp,mak} and ap/ap.{dsp,mak} files due to the move of fnmatch.c.. (1st time I've done this, hope it works!). Revision ChangesPath 1.28 +4 -8 apache-1.3/src/ApacheCore.dsp Index: ApacheCore.dsp === RCS file: /export/home/cvs/apache-1.3/src/ApacheCore.dsp,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- ApacheCore.dsp1998/05/29 18:20:34 1.27 +++ ApacheCore.dsp1998/08/05 22:15:01 1.28 @@ -110,10 +110,6 @@ # End Source File # Begin Source File -SOURCE=.\main\fnmatch.c -# End Source File -# Begin Source File - SOURCE=.\os\win32\getopt.c # End Source File # Begin Source File @@ -282,6 +278,10 @@ # End Source File # Begin Source File +SOURCE=.\include\ap_md5.h +# End Source File +# Begin Source File + SOURCE=.\include\buff.h # End Source File # Begin Source File @@ -339,10 +339,6 @@ # Begin Source File SOURCE=.\include\httpd.h -# End Source File -# Begin Source File - -SOURCE=.\include\ap_md5.h # End Source File # Begin Source File 1.38 +176 -232 apache-1.3/src/ApacheCore.mak Index: ApacheCore.mak === RCS file: /export/home/cvs/apache-1.3/src/ApacheCore.mak,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- ApacheCore.mak1998/05/29 18:20:34 1.37 +++ ApacheCore.mak1998/08/05 22:15:02 1.38 @@ -54,7 +54,6 @@ [EMAIL PROTECTED] "$(INTDIR)\alloc.obj" [EMAIL PROTECTED] "$(INTDIR)\buff.obj" [EMAIL PROTECTED] "$(INTDIR)\buildmark.obj" - [EMAIL PROTECTED] "$(INTDIR)\fnmatch.obj" [EMAIL PROTECTED] "$(INTDIR)\getopt.obj" [EMAIL PROTECTED] "$(INTDIR)\http_config.obj" [EMAIL PROTECTED] "$(INTDIR)\http_core.obj" @@ -125,7 +124,6 @@ "$(INTDIR)\alloc.obj" \ "$(INTDIR)\buff.obj" \ "$(INTDIR)\buildmark.obj" \ - "$(INTDIR)\fnmatch.obj" \ "$(INTDIR)\getopt.obj" \ "$(INTDIR)\http_config.obj" \ "$(INTDIR)\http_core.obj" \ @@ -196,8 +194,6 @@ [EMAIL PROTECTED] "$(INTDIR)\buff.sbr" [EMAIL PROTECTED] "$(INTDIR)\buildmark.obj" [EMAIL PROTECTED] "$(INTDIR)\buildmark.sbr" - [EMAIL PROTECTED] "$(INTDIR)\fnmatch.obj" - [EMAIL PROTECTED] "$(INTDIR)\fnmatch.sbr" [EMAIL PROTECTED] "$(INTDIR)\getopt.obj" [EMAIL PROTECTED] "$(INTDIR)\getopt.sbr" [EMAIL PROTECTED] "$(INTDIR)\http_config.obj" @@ -300,7 +296,6 @@ "$(INTDIR)\alloc.sbr" \ "$(INTDIR)\buff.sbr" \ "$(INTDIR)\buildmark.sbr" \ - "$(INTDIR)\fnmatch.sbr" \ "$(INTDIR)\getopt.sbr" \ "$(INTDIR)\http_config.sbr" \ "$(INTDIR)\http_core.sbr" \ @@ -359,7 +354,6 @@ "$(INTDIR)\alloc.obj" \ "$(INTDIR)\buff.obj" \ "$(INTDIR)\buildmark.obj" \ - "$(INTDIR)\fnmatch.obj" \ "$(INTDIR)\getopt.obj" \ "$(INTDIR)\http_config.obj" \ "$(INTDIR)\http_core.obj" \ @@ -457,6 +451,9 @@ ".\os\win32\os.h"\ ".\os\win32\readdir.h"\ +NODEP_CPP_ALLOC=\ + ".\include\apctype.h"\ + "$(INTDIR)\alloc.obj" : $(SOURCE) $(DEP_CPP_ALLOC) "$(INTDIR)" $(CPP) $(CPP_PROJ) $(SOURCE) @@ -477,6 +474,9 @@ ".\os\win32\os.h"\ ".\os\win32\readdir.h"\ +NODEP_CPP_ALLOC=\ + ".\include\hide.h"\ + "$(INTDIR)\alloc.obj""$(INTDIR)\alloc.sbr" : $(SOURCE) $(DEP_CPP_ALLOC)\ "$(INTDIR)" @@ -502,6 +502,9 @@ ".\os\win32\os.h"\ ".\os\win32\readdir.h"\ +NODEP_CPP_BUFF_=\ + ".\include\apctype.h"\ + "$(INTDIR)\buff.obj" : $(SOURCE) $(DEP_CPP_BUFF_) "$(INTDIR)" $(CPP) $(CPP_PROJ) $(SOURCE) @@ -522,6 +525,9 @@ ".\os\win32\os.h"\ ".\os\win32\readdir.h"\ +NODEP_CPP_BUFF_=\ + ".\include\hide.h"\ + "$(INTDIR)\buff.obj" "$(INTDIR)\buff.sbr" : $(SOURCE) $(DEP_CPP_BUFF_)\ "$(INTDIR)" @@ -544,13 +550,9 @@ ".\include
cvs commit: apache-1.3/src/main util.c
coar98/08/05 18:09:31 Modified:src/main util.c Log: There's no point in going further back than the starting point we just reset.. Revision ChangesPath 1.129 +1 -1 apache-1.3/src/main/util.c Index: util.c === RCS file: /export/home/cvs/apache-1.3/src/main/util.c,v retrieving revision 1.128 retrieving revision 1.129 diff -u -r1.128 -r1.129 --- util.c1998/08/06 00:10:38 1.128 +++ util.c1998/08/06 01:09:30 1.129 @@ -871,7 +871,7 @@ ++src; /* blast trailing whitespace */ dst = &src[strlen(src)]; - while (--dst >= buf && ap_isspace(*dst)) + while (--dst >= src && ap_isspace(*dst)) *dst = '\0'; /* Zap leading whitespace by shifting */ if (src != buf)
cvs commit: apache-1.3/src/modules/standard mod_speling.c
coar98/08/05 19:38:11 Modified:src/modules/standard mod_speling.c Log: Stylistic cleanup, since I think I may be doing some work in here soon. If this breaks any outstanding mods anyone has.. well, mod_speling??? Revision ChangesPath 1.22 +98 -53apache-1.3/src/modules/standard/mod_speling.c Index: mod_speling.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_speling.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- mod_speling.c 1998/07/08 17:47:18 1.21 +++ mod_speling.c 1998/08/06 02:38:10 1.22 @@ -68,7 +68,8 @@ * capitalizations. If it finds a match, it sends a redirect. * * 08-Aug-1997 <[EMAIL PROTECTED]> - * o Upgraded module interface to apache_1.3a2-dev API (more NULL's in speling_module). + * o Upgraded module interface to apache_1.3a2-dev API (more NULL's in + * speling_module). * o Integrated tcsh's "spelling correction" routine which allows one * misspelling (character insertion/omission/typo/transposition). * Rewrote it to ignore case as well. This ought to catch the majority @@ -84,7 +85,8 @@ MODULE_VAR_EXPORT module speling_module; -/* We use the "unconventional" mod_userdir approach here. And heck, +/* + * We use the "unconventional" mod_userdir approach here. And heck, * here it's just one int! */ @@ -98,7 +100,8 @@ void *server_conf = cmd->server->module_config; /* any non-NULL pointer means speling is enabled */ -ap_set_module_config(server_conf, &speling_module, arg ? (void *) &speling_module : NULL); +ap_set_module_config(server_conf, &speling_module, + arg ? (void *) &speling_module : NULL); return NULL; } @@ -156,22 +159,29 @@ static sp_reason spdist(const char *s, const char *t) { -for (; ap_tolower(*s) == ap_tolower(*t); t++, s++) -if (*t == '\0') +for (; ap_tolower(*s) == ap_tolower(*t); t++, s++) { +if (*t == '\0') { return SP_MISCAPITALIZED; /* exact match (sans case) */ + } +} if (*s) { if (*t) { -if (s[1] && t[1] && ap_tolower(*s) == ap_tolower(t[1]) && - ap_tolower(*t) == ap_tolower(s[1]) && strcasecmp(s + 2, t + 2) == 0) +if (s[1] && t[1] && ap_tolower(*s) == ap_tolower(t[1]) + && ap_tolower(*t) == ap_tolower(s[1]) + && strcasecmp(s + 2, t + 2) == 0) { return SP_TRANSPOSITION;/* transposition */ -if (strcasecmp(s + 1, t + 1) == 0) + } +if (strcasecmp(s + 1, t + 1) == 0) { return SP_SIMPLETYPO; /* 1 char mismatch */ + } } -if (strcasecmp(s + 1, t) == 0) +if (strcasecmp(s + 1, t) == 0) { return SP_EXTRACHAR;/* extra character */ + } } -if (*t && strcasecmp(s, t + 1) == 0) +if (*t && strcasecmp(s, t + 1) == 0) { return SP_MISSINGCHAR; /* missing character */ +} return SP_VERYDIFFERENT;/* distance too large to fix. */ } @@ -190,20 +200,24 @@ struct DIR_TYPE *dir_entry; array_header *candidates = NULL; -if (!ap_get_module_config(server_conf, &speling_module)) +if (!ap_get_module_config(server_conf, &speling_module)) { return DECLINED; +} /* We only want to worry about GETs */ -if (r->method_number != M_GET) +if (r->method_number != M_GET) { return DECLINED; +} /* We've already got a file of some kind or another */ -if (r->proxyreq || (r->finfo.st_mode != 0)) +if (r->proxyreq || (r->finfo.st_mode != 0)) { return DECLINED; +} /* This is a sub request - don't mess with it */ -if (r->main) +if (r->main) { return DECLINED; +} /* * The request should end up looking like this: @@ -214,9 +228,13 @@ */ filoc = ap_rind(r->filename, '/'); -/* Don't do anything if the request doesn't contain a slash, or requests "/" */ -if (filoc == -1 || strcmp(r->uri, "/") == 0) +/* + * Don't do anything if the request doesn't contain a slash, or + * requests "/" + */ +if (filoc == -1 || strcmp(r->uri, "/") == 0) { return DECLINED; +} /* good = /correct-file */ good = ap_pstrndup(r->pool, r->filename, filoc);
cvs commit: apache-1.3/src CHANGES
coar98/08/06 16:32:03 Modified:htdocs/manual/mod mod_speling.html src/modules/standard mod_speling.c src CHANGES Log: Allow CheckSpelling to be used anywhere, not just at the server level. Revision ChangesPath 1.9 +27 -12apache-1.3/htdocs/manual/mod/mod_speling.html Index: mod_speling.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_speling.html,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- mod_speling.html 1998/05/20 14:12:59 1.8 +++ mod_speling.html 1998/08/06 23:31:55 1.9 @@ -70,8 +70,14 @@ Context: server config, virtual host + >Context: server config, virtual host, + directory, .htaccess Override: Options + + Status: Base @@ -85,20 +91,29 @@ >Compatibility: CheckSpelling was available as a separately available module for Apache 1.1, but was limited to miscapitalizations. - As of Apache 1.3, it is part of the Apache distribution. - + As of Apache 1.3, it is part of the Apache distribution. Prior to + Apache 1.3.2, the CheckSpelling directive was only available + in the "server" and "virtual host" contexts. + This directive enables or disables the spelling module. When enabled, keep in mind that + - the directory scan which is necessary for the spelling - correction will have an impact on the server's performance - when many spelling corrections have to be performed at the same time. - the document trees should not contain sensitive files which could - be matched inadvertently, by a spelling "correction". - the module is unable to correct misspelled user names - (as in http://my.host/~apahce/), just file names or - directory names. + the directory scan which is necessary for the spelling + correction will have an impact on the server's performance + when many spelling corrections have to be performed at the same time. + + the document trees should not contain sensitive files which could + be matched inadvertently by a spelling "correction". + + the module is unable to correct misspelled user names + (as in http://my.host/~apahce/), just file names or + directory names. + + spelling corrections apply strictly to existing files, so a request for + the <Location /status> may get incorrectly treated + as the negotiated file "/stats.html". + 1.24 +47 -14apache-1.3/src/modules/standard/mod_speling.c Index: mod_speling.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_speling.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- mod_speling.c 1998/08/06 17:31:11 1.23 +++ mod_speling.c 1998/08/06 23:31:59 1.24 @@ -85,31 +85,64 @@ MODULE_VAR_EXPORT module speling_module; +typedef struct { +int enabled; +} spconfig; + +/* + * Create a configuration specific to this module for a server or directory + * location, and fill it with the default settings. + * + * The API says that in the absence of a merge function, the record for the + * closest ancestor is used exclusively. That's what we want, so we don't + * bother to have such a function. + */ + +static void *mkconfig(pool *p) +{ +spconfig *cfg = ap_pcalloc(p, sizeof(spconfig)); + +cfg->enabled = 0; +return cfg; +} + /* - * We use the "unconventional" mod_userdir approach here. And heck, - * here it's just one int! + * Respond to a callback to create configuration record for a server or + * vhost environment. */ +static void *create_mconfig_for_server(pool *p, server_rec *s) +{ +return mkconfig(p); +} -static void *create_speling_config(pool *dummy, server_rec *s) +/* + * Respond to a callback to create a config record for a specific directory. + */ +static void *create_mconfig_for_directory(pool *p, char *dir) { -return (void *) 0; +return mkconfig(p); } -static const char *set_speling(cmd_parms *cmd, void *dummy, int arg) +/* + * Handler for the CheckSpelling directive, which is FLAG. + */ +static const char *set_speling(cmd_parms *cmd, void *mconfig, int arg) { -void *server_conf = cmd->server->module_config; +spconfig *cfg = (spconfig *) mconfig; -/* any non-NULL pointer means speling is enabled */ -ap_set_module_config(server_conf, &speling_module, - arg ? (void *) &speling_module : NULL); +cfg->enabled = arg; return NU
cvs commit: apache-devsite bugdb-policies.html
coar98/08/07 02:16:51 Modified:.bugdb-policies.html Log: Downsize the typeface inside the tables for better readability and printability. Reviewed by: Ralf Engelschall Revision ChangesPath 1.2 +159 -143 apache-devsite/bugdb-policies.html Index: bugdb-policies.html === RCS file: /export/home/cvs/apache-devsite/bugdb-policies.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- bugdb-policies.html 1998/08/03 14:48:27 1.1 +++ bugdb-policies.html 1998/08/07 09:16:49 1.2 @@ -4,6 +4,11 @@ Apache Bug Database Policies for Developers + + <!-- + TD { font-size: smaller } + --> + - - - -open -analyzed -feedback -suspended -closed - - -open - - - - Either the submitter or a responding developer has determined what the - problem cause is. - - - A question has been posed to the submitter, such as asking for more - detail or requesting an experiment. - - - The PR describes a request for a change or functionality that is - reasonable or interesting, but isn't appropriate to the current - version under development, or to the current plans or work effort - available. - - - The PR deals with a non-issue, one that has already been solved, or is - already being tracked. Or almost any case in which further attention - is inappropriate. - - - -analyzed - - It turns out that the analysis was incorrect and the cause really isn't - known after all. - - - - - The submitter is being asked for more information or experimentation. - - - The issue described by the PR should be deferred until some later version. - - - The decision has been made to not address the PR, - possibly because the behaviour is not considered a bug. This usually - follows discussion amongst the developers. - - - -feedback - - The requested information has been supplied by the submitter, but - doesn't really explain the behaviour. (It may be more appropriate to - move the PR to "analyzed" instead.) - - - The response from the submitter has provided the necessary information - to determine the cause, if not the solution, of the issue. - - - - - Additional information from the submitter allows the determination to - be made that the issue should be addressed in some future version. - - - - Additional information supplied by the submitter has explained the - cause, and the solution is provided in the closure text. - - The PR has 'timed out' due to lack of response - from the submitter. - - - - - -suspended - - - The time has come for the issue described by the PR to be considered - for inclusion in the project. - - The PR describes a genuine bug rather than a change or enhancement. - It may be more appropriate to move the PR to "analyzed" instead. - - - - - - The time has come for the issue described by the PR to be considered - for inclusion in the project. - - The issue described by the PR is a genuine bug or problem, and the - circumstances are tolerably well understood. - - - - - The PR's issue wasn't clearly understood, and it really is a bug - report. More information from the submitter has been requested. - (This typically follows out-of-band email - exchanges between the submitter and a developer.) - - - - - The issue was discussed by the developers, and the decision was made - to not invest in the necessary effort. The PR submitter can, and perhaps - should, be encouraged to develop the solution personally and supply it - to the project for possible inclusion. - - - -closed - - The report was closed prematurely, probably due to insufficient detail - in the PR or perhaps because the developer didn't understand the - issue as described. It may be more appropriate for the PR to have - been moved to "analyzed" or "feedback" instead. - - - The PR was closed prematurely, but the issue is now clarified and - understood -- though not yet solved. - - - The PR was closed prematurely, but additional information has been -
cvs commit: apache-1.3/src CHANGES
coar98/08/09 17:10:20 Modified:src CHANGES Log: Correct spelling of mod_spelling in update notice.. Submitted by: "Singly Bertrand de (X1995)" <[EMAIL PROTECTED]> Revision ChangesPath 1.1014+1 -1 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1013 retrieving revision 1.1014 diff -u -r1.1013 -r1.1014 --- CHANGES 1998/08/09 16:52:29 1.1013 +++ CHANGES 1998/08/10 00:10:18 1.1014 @@ -14,7 +14,7 @@ *) Fix a problem with the new OS/2 mutexes. [Brian Havard] - *) Enhance mod_spelling so that CheckSpelling can be used in + *) Enhance mod_speling so that CheckSpelling can be used in containers and .htaccess files. [Ken Coar] *) API: new ap_custom_response() function for hooking into the
cvs commit: apache-1.3/conf srm.conf-dist srm.conf-dist-win
coar98/08/29 19:51:42 Modified:conf srm.conf-dist srm.conf-dist-win Log: Protect .htaccess files by default. PR: 2795 Revision ChangesPath 1.24 +12 -0 apache-1.3/conf/srm.conf-dist Index: srm.conf-dist === RCS file: /export/home/cvs/apache-1.3/conf/srm.conf-dist,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- srm.conf-dist 1998/07/15 14:50:28 1.23 +++ srm.conf-dist 1998/08/30 02:51:42 1.24 @@ -91,6 +91,18 @@ AccessFileName .htaccess +# The following lines prevent .htaccess files from being viewed by +# Web clients. Since .htaccess files often contain authorization +# information, access is disallowed for security reasons. Comment +# these lines out if you want Web visitors to see the contents of +# .htaccess files. If you change the AccessFileName directive above, +# be sure to make the corresponding changes here. + + +Order allow,deny +Deny from all + + # TypesConfig describes where the mime.types file (or equivalent) is # to be found. 1.15 +12 -0 apache-1.3/conf/srm.conf-dist-win Index: srm.conf-dist-win === RCS file: /export/home/cvs/apache-1.3/conf/srm.conf-dist-win,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- srm.conf-dist-win 1998/08/23 17:54:03 1.14 +++ srm.conf-dist-win 1998/08/30 02:51:42 1.15 @@ -99,6 +99,18 @@ AccessFileName .htaccess +# The following lines prevent .htaccess files from being viewed by +# Web clients. Since .htaccess files often contain authorization +# information, access is disallowed for security reasons. Comment +# these lines out if you want Web visitors to see the contents of +# .htaccess files. If you change the AccessFileName directive above, +# be sure to make the corresponding changes here. + + +Order allow,deny +Deny from all + + # TypesConfig describes where the mime.types file (or equivalent) is # to be found.
cvs commit: apache-1.3/conf srm.conf-dist srm.conf-dist-win
coar98/08/30 11:09:08 Modified:conf srm.conf-dist srm.conf-dist-win Log: D'oh! Brain-fart; use rather than . Revision ChangesPath 1.25 +2 -2 apache-1.3/conf/srm.conf-dist Index: srm.conf-dist === RCS file: /export/home/cvs/apache-1.3/conf/srm.conf-dist,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- srm.conf-dist 1998/08/30 02:51:42 1.24 +++ srm.conf-dist 1998/08/30 18:09:06 1.25 @@ -98,10 +98,10 @@ # .htaccess files. If you change the AccessFileName directive above, # be sure to make the corresponding changes here. - + Order allow,deny Deny from all - + # TypesConfig describes where the mime.types file (or equivalent) is # to be found. 1.16 +2 -2 apache-1.3/conf/srm.conf-dist-win Index: srm.conf-dist-win === RCS file: /export/home/cvs/apache-1.3/conf/srm.conf-dist-win,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- srm.conf-dist-win 1998/08/30 02:51:42 1.15 +++ srm.conf-dist-win 1998/08/30 18:09:07 1.16 @@ -106,10 +106,10 @@ # .htaccess files. If you change the AccessFileName directive above, # be sure to make the corresponding changes here. - + Order allow,deny Deny from all - + # TypesConfig describes where the mime.types file (or equivalent) is # to be found.
cvs commit: apache-1.3/src/modules/standard mod_autoindex.c
coar98/08/30 18:18:55 Modified:htdocs/manual new_features_1_3.html upgrading_to_1_3.html htdocs/manual/mod mod_autoindex.html src CHANGES src/modules/standard mod_autoindex.c Log: Clean up mod_autoindex's storage of the IndexOptions settings. They are per-directory, not per-filename, so keeping them in an array is confusing and pointless. They're now stored in an int in the module config record. Also (finally!) fix the FancyIndexing directive so it gets merged into any IndexOptions settings for the current directory, rather than replacing them. Revision ChangesPath 1.68 +6 -0 apache-1.3/htdocs/manual/new_features_1_3.html Index: new_features_1_3.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/new_features_1_3.html,v retrieving revision 1.67 retrieving revision 1.68 diff -u -r1.67 -r1.68 --- new_features_1_3.html 1998/07/20 00:18:18 1.67 +++ new_features_1_3.html 1998/08/31 01:18:45 1.68 @@ -268,6 +268,12 @@ height and width attributes to the <IMG> tag in directory listings. +The FancyIndexing directive now correctly has +the same impact as IndexOptions FancyIndexing + without replacing the effect of any existing IndexOptions + directive. + Less Buffering of CGI Script Output 1.28 +4 -0 apache-1.3/htdocs/manual/upgrading_to_1_3.html Index: upgrading_to_1_3.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/upgrading_to_1_3.html,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- upgrading_to_1_3.html 1998/07/04 15:10:50 1.27 +++ upgrading_to_1_3.html 1998/08/31 01:18:45 1.28 @@ -72,6 +72,10 @@ Run-Time Configuration Changes + Standalone FancyIndexing directives +are now combined with the settings of any IndexOptions +directive already in effect, rather than replacing them. + AuthName strings will need to be quoted in .htaccess or server configuration files if they contain blank characters (like spaces). For example, if you use 1.20 +6 -2 apache-1.3/htdocs/manual/mod/mod_autoindex.html Index: mod_autoindex.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_autoindex.html,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- mod_autoindex.html1998/05/20 14:12:54 1.19 +++ mod_autoindex.html1998/08/31 01:18:48 1.20 @@ -373,10 +373,14 @@ preference. - Note that the FancyIndexing and + Note that in versions of Apache prior to 1.3.2, the + FancyIndexing and IndexOptions directives will override each other. You should use IndexOptions FancyIndexing in preference - to the standalone FancyIndexing directive. + to the standalone FancyIndexing directive. + As of Apache 1.3.2, a standalone FancyIndexing directive + is combined with any IndexOptions directive already + specified for the current scope. 1.1040+5 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1039 retrieving revision 1.1040 diff -u -r1.1039 -r1.1040 --- CHANGES 1998/08/28 11:27:19 1.1039 +++ CHANGES 1998/08/31 01:18:51 1.1040 @@ -1,5 +1,10 @@ Changes with Apache 1.3.2 + *) Simplify handling of IndexOptions in mod_autoindex -- and BTW + cause the standalone FancyIndexing directive to logically OR + into any existing IndexOptions settings rather than wiping + them out. [Ken Coar] + *) Changes in ftp proxy: make URL parsing simpler by using the parsed_uri stuff. + Add display of the "current directory" in cases where it's 1.90 +28 -39apache-1.3/src/modules/standard/mod_autoindex.c Index: mod_autoindex.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_autoindex.c,v retrieving revision 1.89 retrieving revision 1.90 diff -u -r1.89 -r1.90 --- mod_autoindex.c 1998/08/29 18:27:10 1.89 +++ mod_autoindex.c 1998/08/31 01:18:53 1.90 @@ -121,11 +121,12 @@ typedef struct autoindex_config_struct { char *default_icon; +int opts; int icon_width; int icon_height; array_header *icon_list, *alt_list, *desc_list, *ign_list; -array_header *hdr_list, *rdme_list, *opts_list; +arr
cvs commit: apache-site bugdb.cgi
coar98/08/01 02:45:58 Modified:.bugdb.cgi Log: For large summaries, the rendering of the page needed to wait until the entire page was received; for slow links this was a pain. So, as Paul suggested, the output is now broken up into 100-row tables. I also added a note about 'don't send attachments, twit!' to the how-to-reply section; attachments don't mix so well with non-MIME tools like GNATS.. Revision ChangesPath 1.33 +35 -16apache-site/bugdb.cgi Index: bugdb.cgi === RCS file: /export/home/cvs/apache-site/bugdb.cgi,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- bugdb.cgi 1998/07/27 22:39:25 1.32 +++ bugdb.cgi 1998/08/01 09:45:57 1.33 @@ -19,6 +19,10 @@ [you need to include <[EMAIL PROTECTED]> in the Cc line ] [and leave the subject line UNCHANGED. This is not done] [automatically because of the potential for mail loops. ] +[If you do not include this Cc, your reply may be ig- ] +[nored unless you are responding to an explicit request ] +[from a developer. ] +[Reply only with text; DO NOT SEND ATTACHMENTS! ] EOT # @@ -127,6 +131,9 @@ # 05/28/1998 Ken Coar - Change the 'still alive?' standard response to include #a request for retesting under the latest sotware. # 07/27/1998 Ken Coar - Change the default search state from "open" to "any". +# 08/01/1998 Ken Coar - Break summary listing into 100-row tables for +#faster rendering and add 'don't send attachments' clause to the +#how-to-reply text. # ### End Modification log @@ -264,7 +271,7 @@ ### Main menu } elsif ($PATH_INFO eq "") { &main_menu(); -print "Version: 28 May 1998Authors: ", +print "Version: 01 August 1998Authors: ", "http://alumni.caltech.edu/~dank/gnats.html\";>Dan Kegel ", "and Huy Le, ", "with revamp work by ", @@ -1258,21 +1265,8 @@ print "No bugs match your query.\n"; return; } -print "\n\n"; -# Print field headers. -local($QUICKFMT, $WIDTH, $fstring, $str); -$fstring = "PR#"; -foreach (@field) { - ($QUICKFMT, $WIDTH)=split(/:/,$field{$_}); - if ($QUICKFMT <= $quickfmt) { -#$fstring .= &truncstr($_, $WIDTH) . " "; - $fstring .= "$_ "; - } -} -if ($#field > 4) { - $fstring .= "PR#"; -} -print "$fstring\n"; +&qf_tabletop (%field); +local ($nrows) = 0; # Print each PR in result as link to full text foreach (@prs) { s/\s*\|\s*/|/go; @@ -1307,6 +1301,11 @@ $fstring .= "" . &html_escape($str) . ""; } } + if (($nrows % 100) == 0) { + print "\n\n\n" if ($nrows != 0); + &qf_tabletop (%field); + } + $nrows++; print "\n"; print " $NUMBER "; print "$fstring\n"; @@ -1316,6 +1315,26 @@ print "\n\n"; } print "\n"; +} + +sub qf_tabletop { +local (%field) = @_; +local ($QUICKFMT, $WIDTH, $fstring, $str); + +print "\n\n"; +# Print field headers. +$fstring = "PR#"; +foreach (@field) { + ($QUICKFMT, $WIDTH) = split(/:/, $field{$_}); + if ($QUICKFMT <= $quickfmt) { +#$fstring .= &truncstr($_, $WIDTH) . " "; + $fstring .= "$_ "; + } +} +if ($#field > 4) { + $fstring .= "PR#"; +} +print "$fstring\n"; } sub query_summary {
cvs commit: apache-devsite mailing-lists.html
coar98/09/02 09:09:42 Modified:.mailing-lists.html Log: Add a pointer to the modules registry and distribution list to the mailing-list page. Revision ChangesPath 1.5 +14 -0 apache-devsite/mailing-lists.html Index: mailing-lists.html === RCS file: /export/home/cvs/apache-devsite/mailing-lists.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- mailing-lists.html1998/06/19 15:26:54 1.4 +++ mailing-lists.html1998/09/02 16:09:42 1.5 @@ -47,6 +47,20 @@ are announced here. + The http://modules.apache.org/subscribe"; + >Apache modules mailing list + +If you are interested in news about Apache modules, or want to +write or publish your own, you should join the apache-modules +mailing list. This is run on a different system than the other +mailing lists on this page; check out +<http://modules.apache.org/"; + >http://modules.apache.org/> +for additional information about the list and the Apache Modules +Registry. + + mailto:[EMAIL PROTECTED]&body=subscribe%20apache-bugdb%0Dend" >apache-bugdb
cvs commit: apache-1.3/src/modules/standard mod_autoindex.c
coar98/09/02 14:04:43 Modified:htdocs/manual/mod mod_autoindex.html src CHANGES src/modules/standard mod_autoindex.c Log: Update the filname column width-sizing piece of mod_autoindex so that it's customisable with a NameLength keyword on the IndexOptions directive. A value of '*' means 'as wide as the longest filename,' which was the default effect of the last patch in this area. PR: 1949, 2324 Revision ChangesPath 1.21 +12 -2 apache-1.3/htdocs/manual/mod/mod_autoindex.html Index: mod_autoindex.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_autoindex.html,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- mod_autoindex.html1998/08/31 01:18:48 1.20 +++ mod_autoindex.html1998/09/02 21:04:39 1.21 @@ -482,10 +482,14 @@ This turns on fancy indexing of directories. - Note that the FancyIndexing and + Note that in versions of Apache prior to 1.3.2, the + FancyIndexing and IndexOptions directives will override each other. You should use IndexOptions FancyIndexing in preference - to the standalone FancyIndexing directive. + to the standalone FancyIndexing directive. + As of Apache 1.3.2, a standalone FancyIndexing directive + is combined with any IndexOptions directive already + specified for the current scope. IconHeight[=pixels] (Apache 1.3 and later) @@ -512,6 +516,12 @@ images have been loaded. If no value is given for the option, it defaults to the standard width of the icons supplied with the Apache software. +NameLength=[n | *] (Apache 1.3.2 and later) + +The NameLength keyword allows you to specify the width of the +filename column in bytes. If the keyword value is '*', +then the column is automatically sized to the length of the longest +filename in the display. ScanHTMLTitles This enables the extraction of the title from HTML documents for fancy 1.1044+4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1043 retrieving revision 1.1044 diff -u -r1.1043 -r1.1044 --- CHANGES 1998/09/01 17:21:11 1.1043 +++ CHANGES 1998/09/02 21:04:40 1.1044 @@ -1,5 +1,9 @@ Changes with Apache 1.3.2 + *) Add NameWidth keyword to IndexOptions directive so that the + width of the filename column is customisable. [Ken Coar, Dean Gaudet] + PR#1949, 2324. + *) Recognize lowercase _and_ uppercase `uname' results under SCO OpenServer. [David Coelho <[EMAIL PROTECTED]>] 1.91 +103 -11 apache-1.3/src/modules/standard/mod_autoindex.c Index: mod_autoindex.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_autoindex.c,v retrieving revision 1.90 retrieving revision 1.91 diff -u -r1.90 -r1.91 --- mod_autoindex.c 1998/08/31 01:18:53 1.90 +++ mod_autoindex.c 1998/09/02 21:04:41 1.91 @@ -94,6 +94,9 @@ #define SUPPRESS_PREAMBLE 64 #define SUPPRESS_COLSORT 128 +#define K_PAD 1 +#define K_NOPAD 0 + /* * Define keys for sorting. */ @@ -111,6 +114,11 @@ #define DEFAULT_ICON_WIDTH 20 #define DEFAULT_ICON_HEIGHT 22 +/* + * Other default dimensions. + */ +#define DEFAULT_NAME_WIDTH 23 + struct item { char *type; char *apply_to; @@ -122,6 +130,8 @@ char *default_icon; int opts; +int name_width; +int name_adjust; int icon_width; int icon_height; @@ -335,6 +345,19 @@ else if (!strncasecmp(w, "IconHeight=", 11)) { d_cfg->icon_height = atoi(&w[11]); } + else if (!strncasecmp(w, "NameWidth=", 10)) { + if (w[10] == '*') { + d_cfg->name_adjust = 1; + } + else { + int width = atoi(&w[10]); + + if (width < 1) { + return "NameWidth value must be greater than 1"; + } + d_cfg->name_width = width; + } + } else { return "Invalid directory indexing option"; } @@ -382,6 +405,8 @@ new->icon_width = 0; new->icon_height = 0; +new->name_width = DEFAULT_NAME_WIDTH; +new->name_adjust = 0; 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(struct item)); @@
cvs commit: apache-1.3/src/main http_config.c
coar98/09/03 11:01:44 Modified:src/main http_config.c Log: If any sort of error is encountered in .htaccess file processing, make the details available to any ErrorDocument scripts that might field the error. Revision ChangesPath 1.126 +4 -0 apache-1.3/src/main/http_config.c Index: http_config.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_config.c,v retrieving revision 1.125 retrieving revision 1.126 diff -u -r1.125 -r1.126 --- http_config.c 1998/08/13 01:55:06 1.125 +++ http_config.c 1998/09/03 18:01:43 1.126 @@ -1240,6 +1240,7 @@ if (errmsg) { ap_log_rerror(APLOG_MARK, APLOG_ALERT|APLOG_NOERRNO, r, "%s: %s", filename, errmsg); + ap_table_setn(r->notes, "error-notes", errmsg); return HTTP_INTERNAL_SERVER_ERROR; } @@ -1252,6 +1253,9 @@ ap_log_rerror(APLOG_MARK, APLOG_CRIT, r, "%s pcfg_openfile: unable to check htaccess file, ensure it is readable", filename); + ap_table_setn(r->notes, "error-notes", + "Server unable to read htaccess file, denying " + "access to be safe"); return HTTP_FORBIDDEN; } }
cvs commit: apache-1.3/src/modules/standard mod_cgi.c
coar98/09/03 15:40:43 Modified:src CHANGES src/main util_script.c src/modules/standard mod_cgi.c Log: Put an explanation of *why* the "500 Server Error" condition occurred during CGI processing into the *ERROR_NOTES envariable so ErrorDocument scripts can be more descriptive if they so desire. PR: 1291 Revision ChangesPath 1.1045+5 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1044 retrieving revision 1.1045 diff -u -r1.1044 -r1.1045 --- CHANGES 1998/09/02 21:04:40 1.1044 +++ CHANGES 1998/09/03 22:40:39 1.1045 @@ -1,5 +1,10 @@ Changes with Apache 1.3.2 + *) Problems encountered during .htaccess parsing or CGI execution + that lead to a "500 Server Error" condition now provide explanatory + text (in the *ERROR_NOTES envariable) to ErrorDocument 500 scripts. + [Ken Coar] PR#1291 + *) Add NameWidth keyword to IndexOptions directive so that the width of the filename column is customisable. [Ken Coar, Dean Gaudet] PR#1949, 2324. 1.130 +8 -4 apache-1.3/src/main/util_script.c Index: util_script.c === RCS file: /export/home/cvs/apache-1.3/src/main/util_script.c,v retrieving revision 1.129 retrieving revision 1.130 diff -u -r1.129 -r1.130 --- util_script.c 1998/08/14 02:49:51 1.129 +++ util_script.c 1998/09/03 22:40:41 1.130 @@ -457,8 +457,10 @@ if ((*getsfunc) (w, MAX_STRING_LEN - 1, getsfunc_data) == 0) { ap_kill_timeout(r); ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, - "Premature end of script headers: %s", r->filename); - return SERVER_ERROR; + "Premature end of script headers: %s", r->filename); + ap_table_setn(r->notes, "error-notes", + "Premature end of script headers"); + return HTTP_INTERNAL_SERVER_ERROR; } /* Delete terminal (CR?)LF */ @@ -519,8 +521,10 @@ ap_kill_timeout(r); ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, - "%s: %s", malformed, r->filename); - return SERVER_ERROR; + "%s: %s", malformed, r->filename); + ap_table_setn(r->notes, "error-notes", + ap_pstrdup(r->pool, malformed)); + return HTTP_INTERNAL_SERVER_ERROR; } *l++ = '\0'; 1.85 +2 -1 apache-1.3/src/modules/standard/mod_cgi.c Index: mod_cgi.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_cgi.c,v retrieving revision 1.84 retrieving revision 1.85 diff -u -r1.84 -r1.85 --- mod_cgi.c 1998/08/06 17:30:57 1.84 +++ mod_cgi.c 1998/09/03 22:40:42 1.85 @@ -433,7 +433,8 @@ &script_out, &script_in, &script_err)) { ap_log_rerror(APLOG_MARK, APLOG_ERR, r, "couldn't spawn child process: %s", r->filename); - return SERVER_ERROR; + ap_table_setn(r->notes, "error-notes", "Couldn't spawn child process"); + return HTTP_INTERNAL_SERVER_ERROR; } /* Transfer any put/post args, CERN style...
cvs commit: apache-1.3/src/os/win32 util_win32.c
coar98/09/04 13:17:47 Modified:src/os/win32 util_win32.c Log: Fix Win32 problems with , , and . PR: 2915, 2953 Submitted by: Ken Parzygnat <[EMAIL PROTECTED]> Reviewed by: Ken Coar Revision ChangesPath 1.23 +47 -17apache-1.3/src/os/win32/util_win32.c Index: util_win32.c === RCS file: /export/home/cvs/apache-1.3/src/os/win32/util_win32.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- util_win32.c 1998/07/13 07:06:16 1.22 +++ util_win32.c 1998/09/04 20:17:47 1.23 @@ -6,7 +6,7 @@ #include "http_log.h" /* Returns TRUE if the path is real, FALSE if it is PATH_INFO */ -static BOOL sub_canonical_filename(char *szCanon, unsigned nCanon, const char *szFile) +static BOOL sub_canonical_filename(char *szCanon, unsigned nCanon, const char *szInFile) { char buf[HUGE_STRING_LEN]; int n; @@ -15,7 +15,9 @@ int nSlashes; WIN32_FIND_DATA d; HANDLE h; +const char *szFile; +szFile = szInFile; s=strrchr(szFile,'\\'); for(nSlashes=0 ; s > szFile && s[-1] == '\\' ; ++nSlashes,--s) ; @@ -24,6 +26,20 @@ ap_assert(n); ap_assert(n < sizeof buf); +/* + * There is an implicit assumption that szInFile will contain a '\'. If this + * is not true (as in the case of or ) we would + * assert in some of the code below. Therefore, if we don't get any '\' in + * the file name, then use the file name we get from GetFullPathName, because + * it will have at least one '\'. If there is no '\' in szInFile, it must + * just be a file name, so it should be valid to use the name from GetFullPathName. + * Be sure to adjust the 's' variable so the rest of the code functions normally. + */ +if (!s) { +szFile = buf; +s=strrchr(szFile,'\\'); +} + /* If we have \\machine\share, convert to \\machine\share\ */ if (buf[0] == '\\' && buf[1] == '\\') { char *s=strchr(buf+2,'\\'); @@ -106,7 +122,7 @@ char b2[HUGE_STRING_LEN]; const char *s; char *d; -int nSlashes; +int nSlashes=0; ap_assert(strlen(szFile) < sizeof b2); @@ -116,22 +132,36 @@ Simultaneously, rewrite / to \. This is a bit of a kludge - Ben. */ -for(s=szFile,d=b2 ; (*d=*s) ; ++d,++s) { - if(*s == '/') - *d='\\'; - if(*s == '.' && (s[1] == '/' || s[1] == '\\' || !s[1])) { - while(*d == '.') - --d; - if(*d == '\\') - --d; - } - } -// Finally, a trailing slash(es) screws thing, so blow them away -for(nSlashes=0 ; d > b2 && d[-1] == '\\' ; --d,++nSlashes) - ; -/* this breaks '/' and 'c:/' cases */ -*d='\0'; +if (strlen(szFile) == 1) { +/* + * If the file is only one char (like in the case of / or .) then just pass + * that through to sub_canonical_filename. Convert a '/' to '\\' if necessary. + */ +if (szFile[0] == '/') +b2[0] = '\\'; +else +b2[0] = szFile[0]; +b2[1] = '\0'; +} +else { +for(s=szFile,d=b2 ; (*d=*s) ; ++d,++s) { + if(*s == '/') + *d='\\'; + if(*s == '.' && (s[1] == '/' || s[1] == '\\' || !s[1])) { + while(*d == '.') + --d; + if(*d == '\\') + --d; + } + } + +// Finally, a trailing slash(es) screws thing, so blow them away +for(nSlashes=0 ; d > b2 && d[-1] == '\\' ; --d,++nSlashes) + ; +/* this breaks '/' and 'c:/' cases */ +*d='\0'; +} sub_canonical_filename(buf, sizeof buf, b2); buf[0]=ap_tolower(buf[0]);
cvs commit: apache-1.3/src/os/win32 util_win32.c
coar98/09/04 13:30:57 Modified:src/os/win32 util_win32.c Log: Just some cosmetic cleanup, fixing some loong lines. Revision ChangesPath 1.24 +27 -20apache-1.3/src/os/win32/util_win32.c Index: util_win32.c === RCS file: /export/home/cvs/apache-1.3/src/os/win32/util_win32.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- util_win32.c 1998/09/04 20:17:47 1.23 +++ util_win32.c 1998/09/04 20:30:57 1.24 @@ -6,7 +6,8 @@ #include "http_log.h" /* Returns TRUE if the path is real, FALSE if it is PATH_INFO */ -static BOOL sub_canonical_filename(char *szCanon, unsigned nCanon, const char *szInFile) +static BOOL sub_canonical_filename(char *szCanon, unsigned nCanon, +const char *szInFile) { char buf[HUGE_STRING_LEN]; int n; @@ -27,13 +28,14 @@ ap_assert(n < sizeof buf); /* - * There is an implicit assumption that szInFile will contain a '\'. If this - * is not true (as in the case of or ) we would - * assert in some of the code below. Therefore, if we don't get any '\' in - * the file name, then use the file name we get from GetFullPathName, because - * it will have at least one '\'. If there is no '\' in szInFile, it must - * just be a file name, so it should be valid to use the name from GetFullPathName. - * Be sure to adjust the 's' variable so the rest of the code functions normally. + * There is an implicit assumption that szInFile will contain a '\'. + * If this is not true (as in the case of or + * ) we would assert in some of the code below. Therefore, + * if we don't get any '\' in the file name, then use the file name we get + * from GetFullPathName, because it will have at least one '\'. If there + * is no '\' in szInFile, it must just be a file name, so it should be + * valid to use the name from GetFullPathName. Be sure to adjust the + * 's' variable so the rest of the code functions normally. */ if (!s) { szFile = buf; @@ -59,7 +61,8 @@ if (szFilePart < buf+3) { ap_assert(strlen(buf) < nCanon); strcpy(szCanon, buf); - if(szCanon[0] != '\\') { /* a \ at the start means it is UNC, otherwise it is x: */ + /* a \ at the start means it is UNC, otherwise it is x: */ + if(szCanon[0] != '\\') { ap_assert(ap_isalpha(szCanon[0])); ap_assert(szCanon[1] == ':'); szCanon[2] = '/'; @@ -84,7 +87,7 @@ memcpy(b3,szFile,s-szFile); b3[s-szFile]='\0'; -//szFilePart[-1]='\0'; +/*szFilePart[-1]='\0'; */ sub_canonical_filename(b2, sizeof b2, b3); ap_assert(strlen(b2)+1 < nCanon); @@ -127,15 +130,16 @@ ap_assert(strlen(szFile) < sizeof b2); /* Eliminate directories consisting of three or more dots. - These act like ".." but are not detected by other machinery. - Also get rid of trailing .s on any path component, which are ignored by the filesystem. - Simultaneously, rewrite / to \. - This is a bit of a kludge - Ben. -*/ + * These act like ".." but are not detected by other machinery. + * Also get rid of trailing .s on any path component, which are ignored + * by the filesystem. Simultaneously, rewrite / to \. + * This is a bit of a kludge - Ben. + */ if (strlen(szFile) == 1) { /* - * If the file is only one char (like in the case of / or .) then just pass - * that through to sub_canonical_filename. Convert a '/' to '\\' if necessary. + * If the file is only one char (like in the case of / or .) then + * just pass that through to sub_canonical_filename. Convert a + * '/' to '\\' if necessary. */ if (szFile[0] == '/') b2[0] = '\\'; @@ -208,7 +212,8 @@ *s='\\'; ++nSlashes; } - if(nSlashes == 3) /* then we need to add one more to get \\machine\share\ */ + /* then we need to add one more to get \\machine\share\ */ + if(nSlashes == 3) *s++='\\'; *s='\0'; return stat(buf,pStat); @@ -234,7 +239,8 @@ */ #undef _spawnv -API_EXPORT(int) os_spawnv(int mode, const char *cmdname, const char *const *argv) +API_EXPORT(int) os_spawnv(int mode, const char *cmdname,
cvs commit: apache-1.3/src/os/win32 util_win32.c
coar98/09/04 14:20:42 Modified:src/os/win32 util_win32.c Log: A rash of stylistic cleanup. (Good thing Dean doesn't do Win32 ;-) Revision ChangesPath 1.25 +104 -81 apache-1.3/src/os/win32/util_win32.c Index: util_win32.c === RCS file: /export/home/cvs/apache-1.3/src/os/win32/util_win32.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- util_win32.c 1998/09/04 20:30:57 1.24 +++ util_win32.c 1998/09/04 21:20:40 1.25 @@ -19,8 +19,8 @@ const char *szFile; szFile = szInFile; -s=strrchr(szFile,'\\'); -for(nSlashes=0 ; s > szFile && s[-1] == '\\' ; ++nSlashes,--s) +s = strrchr(szFile, '\\'); +for (nSlashes = 0; s > szFile && s[-1] == '\\'; ++nSlashes, --s) ; n = GetFullPathName(szFile, sizeof buf, buf, &szFilePart); @@ -39,30 +39,32 @@ */ if (!s) { szFile = buf; -s=strrchr(szFile,'\\'); +s = strrchr(szFile, '\\'); } /* If we have \\machine\share, convert to \\machine\share\ */ if (buf[0] == '\\' && buf[1] == '\\') { - char *s=strchr(buf+2,'\\'); - if(s && !strchr(s+1,'\\')) - strcat(s+1,"\\"); + char *s = strchr(buf + 2, '\\'); + if (s && !strchr(s + 1, '\\')) { + strcat(s + 1, "\\"); + } } if (!strchr(buf, '*') && !strchr(buf, '?')) { h = FindFirstFile(buf, &d); -if(h != INVALID_HANDLE_VALUE) +if (h != INVALID_HANDLE_VALUE) { FindClose(h); + } } else { -h=INVALID_HANDLE_VALUE; +h = INVALID_HANDLE_VALUE; } -if (szFilePart < buf+3) { +if (szFilePart < buf + 3) { ap_assert(strlen(buf) < nCanon); strcpy(szCanon, buf); /* a \ at the start means it is UNC, otherwise it is x: */ - if(szCanon[0] != '\\') { + if (szCanon[0] != '\\') { ap_assert(ap_isalpha(szCanon[0])); ap_assert(szCanon[1] == ':'); szCanon[2] = '/'; @@ -71,23 +73,25 @@ char *s; ap_assert(szCanon[1] == '\\'); - for(s=szCanon ; *s ; ++s) - if(*s == '\\') - *s='/'; + for (s = szCanon; *s; ++s) { + if (*s == '\\') { + *s = '/'; + } + } } return TRUE; } -if (szFilePart != buf+3) { +if (szFilePart != buf + 3) { char b2[_MAX_PATH]; char b3[_MAX_PATH]; -ap_assert(szFilePart > buf+3); +ap_assert(szFilePart > buf + 3); /* avoid SEGVs on things like "Directory *" */ ap_assert(s >= szFile && "this is a known bug"); - memcpy(b3,szFile,s-szFile); - b3[s-szFile]='\0'; + memcpy(b3, szFile, s - szFile); + b3[s - szFile] = '\0'; -/*szFilePart[-1]='\0'; */ +/*szFilePart[-1] = '\0'; */ sub_canonical_filename(b2, sizeof b2, b3); ap_assert(strlen(b2)+1 < nCanon); @@ -101,9 +105,10 @@ szCanon[3] = '\0'; } if (h == INVALID_HANDLE_VALUE) { - ap_assert(strlen(szCanon)+strlen(szFilePart)+nSlashes < nCanon); - for(n=0 ; n < nSlashes ; ++n) + ap_assert(strlen(szCanon) + strlen(szFilePart) + nSlashes < nCanon); + for (n = 0; n < nSlashes; ++n) { strcat(szCanon, "/"); + } strcat(szCanon, szFilePart); return FALSE; } @@ -125,7 +130,7 @@ char b2[HUGE_STRING_LEN]; const char *s; char *d; -int nSlashes=0; +int nSlashes = 0; ap_assert(strlen(szFile) < sizeof b2); @@ -141,38 +146,44 @@ * just pass that through to sub_canonical_filename. Convert a * '/' to '\\' if necessary. */ -if (szFile[0] == '/') +if (szFile[0] == '/') { b2[0] = '\\'; -else + } +else { b2[0] = szFile[0]; + } b2[1] = '\0'; } else { -for(s=szFile,d=b2 ; (*d=*s) ; ++d,++s) { - if(*s == '/') - *d='\\'; - if(*s == '.' && (s[1] == '/' ||
cvs commit: apache-1.3/src/main http_core.c
coar98/09/09 05:34:37 Modified:src/main http_core.c Log: Add another case of providing 'why' info through *ERROR_NOTES: the default handler's 'file not found' report. Revision ChangesPath 1.227 +12 -6 apache-1.3/src/main/http_core.c Index: http_core.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v retrieving revision 1.226 retrieving revision 1.227 diff -u -r1.226 -r1.227 --- http_core.c 1998/08/31 13:33:51 1.226 +++ http_core.c 1998/09/09 12:34:36 1.227 @@ -2726,12 +2726,18 @@ } if (r->finfo.st_mode == 0 || (r->path_info && *r->path_info)) { - ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, r, -"File does not exist: %s", - r->path_info - ? ap_pstrcat(r->pool, r->filename, r->path_info, NULL) - : r->filename); - return NOT_FOUND; + char *emsg; + + emsg = "File does not exist: "; + if (r->path_info == NULL) { + emsg = ap_pstrcat(r->pool, emsg, r->filename, NULL); + } + else { + emsg = ap_pstrcat(r->pool, emsg, r->filename, r->path_info, NULL); + } + ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, r, emsg); + ap_table_setn(r->notes, "error-notes", emsg); + return HTTP_NOT_FOUND; } if (r->method_number != M_GET) { return METHOD_NOT_ALLOWED;
cvs commit: apache-site bugdb.cgi
coar98/09/09 05:42:21 Modified:.bugdb.cgi Log: I'm tired of people replying to 'PR is stale' messages without Ccing the bugdb. If they don't, and their reply doesn't go in, and we subsequently close the PR, hard cheese for them -- they were told. Revision ChangesPath 1.35 +4 -1 apache-site/bugdb.cgi Index: bugdb.cgi === RCS file: /export/home/cvs/apache-site/bugdb.cgi,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- bugdb.cgi 1998/08/04 03:48:30 1.34 +++ bugdb.cgi 1998/09/09 12:42:21 1.35 @@ -41,7 +41,10 @@ "no outstanding questions, please consider this a request\n" . "to try to reproduce the problem with the latest software\n" . "release, if one has been made since last contact. If we\n" . -"don't hear from you, this report will be closed."; +"don't hear from you, this report will be closed.\n" . +"If you have information to add, BE SURE to reply to this\n" . +"message and include the [EMAIL PROTECTED] address so it\n" . +"will be attached to the problem report!"; $CANNED_TEXT{"Stale"} = "[This is a standard response.]\n" . "No response from submitter, assuming issue has been resolved.";
cvs commit: apache-site bugdb.cgi
coar98/09/09 05:53:57 Modified:.bugdb.cgi Log: Argh. Revision ChangesPath 1.36 +1 -1 apache-site/bugdb.cgi Index: bugdb.cgi === RCS file: /export/home/cvs/apache-site/bugdb.cgi,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- bugdb.cgi 1998/09/09 12:42:21 1.35 +++ bugdb.cgi 1998/09/09 12:53:57 1.36 @@ -43,7 +43,7 @@ "release, if one has been made since last contact. If we\n" . "don't hear from you, this report will be closed.\n" . "If you have information to add, BE SURE to reply to this\n" . -"message and include the [EMAIL PROTECTED] address so it\n" . +"message and include the [EMAIL PROTECTED] address so it\n" . "will be attached to the problem report!"; $CANNED_TEXT{"Stale"} = "[This is a standard response.]\n" .
cvs commit: apache-1.3 STATUS
coar98/09/09 07:08:05 Modified:.STATUS Log: Add a note about patch for *ERROR_NOTES default needing votes. Revision ChangesPath 1.462 +8 -2 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.461 retrieving revision 1.462 diff -u -r1.461 -r1.462 --- STATUS1998/09/07 20:03:11 1.461 +++ STATUS1998/09/09 14:08:03 1.462 @@ -53,10 +53,16 @@ * Need a document explaining mod_rewrite/"UseCanonicalName off" based virtualhosting. (If it exists already I can't find it easily.) => It still doesn't exists but I've already assembled the relevant - information and config snippets. We just have to write a vhost-xxx.html - document out of it. -- rse + information and config snippets. We just have to write a + vhost-xxx.html document out of it. -- rse Available Patches: + +* Ken's patch to set *ERROR_NOTES by default in ap_log_rerror() + Avoids special-casing the setting everywhere, and allows sensitive + error_log-only messages to be kept out of *ERROR_NOTES. + Message-ID: <[EMAIL PROTECTED]> + Status: Ken +1 * Patches for the DSO/mod_perl problem (see below for description):
cvs commit: apache-1.3/src/main http_core.c
coar98/09/09 15:05:32 Modified:src CHANGES src/main http_core.c Log: The Include directive added during the 1.3 beta cycle was only valid in the server config files outside and containers. Ease that restriction a bit and allow it inside them (but not in .htaccess files until we figure out the security ramifications). PR: 2727 Revision ChangesPath 1.1048+3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1047 retrieving revision 1.1048 diff -u -r1.1047 -r1.1048 --- CHANGES 1998/09/08 21:15:47 1.1047 +++ CHANGES 1998/09/09 22:05:23 1.1048 @@ -1,5 +1,8 @@ Changes with Apache 1.3.2 + *) Allow "Include" directives anywhere in the server config + files (but not .htaccess files). [Ken Coar] PR#2727 + *) The proxy was refusing to serve CONNECT requests except to port 443 (https://) and 563 (snews://). The new AllowCONNECT directive allows the configuration of the ports to which a 1.228 +1 -1 apache-1.3/src/main/http_core.c Index: http_core.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v retrieving revision 1.227 retrieving revision 1.228 diff -u -r1.227 -r1.228 --- http_core.c 1998/09/09 12:34:36 1.227 +++ http_core.c 1998/09/09 22:05:29 1.228 @@ -2610,7 +2610,7 @@ "Maximum length of the queue of pending connections, as used by listen(2)" }, { "CoreDumpDirectory", set_coredumpdir, NULL, RSRC_CONF, TAKE1, "The location of the directory Apache changes to before dumping core" }, -{ "Include", include_config, NULL, RSRC_CONF, TAKE1, +{ "Include", include_config, NULL, (RSRC_CONF | ACCESS_CONF), TAKE1, "Name of the config file to be included" }, { "LogLevel", set_loglevel, NULL, RSRC_CONF, TAKE1, "Level of verbosity in error logging" },
cvs commit: apache-1.3/htdocs/manual/mod mod_cgi.html
coar98/09/13 03:03:58 Modified:htdocs/manual/mod mod_cgi.html Log: Fix 'resource config' to be 'server config.' PR: 2997 Revision ChangesPath 1.17 +3 -3 apache-1.3/htdocs/manual/mod/mod_cgi.html Index: mod_cgi.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_cgi.html,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- mod_cgi.html 1998/05/29 20:49:28 1.16 +++ mod_cgi.html 1998/09/13 10:03:57 1.17 @@ -131,7 +131,7 @@ Context: resource config +>Context: server config Context: resource config +>Context: server config Context: resource config +>Context: server config
cvs commit: apache-1.3/htdocs/manual/mod core.html mod_actions.html mod_alias.html mod_auth_dbm.html mod_autoindex.html mod_expires.html mod_include.html mod_mime.html mod_negotiation.html mod_rewrite.html
coar98/09/17 05:06:43 Modified:htdocs/manual content-negotiation.html htdocs/manual/mod core.html mod_actions.html mod_alias.html mod_auth_dbm.html mod_autoindex.html mod_expires.html mod_include.html mod_mime.html mod_negotiation.html mod_rewrite.html Log: Fix some typos and inaccuracies and incorrectnesses. PR: 3016 Submitted by: Youichirou Koga <[EMAIL PROTECTED]> Revision ChangesPath 1.16 +3 -3 apache-1.3/htdocs/manual/content-negotiation.html Index: content-negotiation.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/content-negotiation.html,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- content-negotiation.html 1998/05/20 14:22:27 1.15 +++ content-negotiation.html 1998/09/17 12:06:38 1.16 @@ -422,7 +422,7 @@ extension, and the order of the extensions is normally irrelevant (see mod_mime documentation for details). -A typical file has a mime-type extension (e.g. html), +A typical file has a MIME-type extension (e.g. html), maybe an encoding extension (e.g. gz and of course a language extension (e.g. en) when we have different language variants of this file. @@ -496,9 +496,9 @@ hyperlink references. -If you want to continue to use a mime-type in your hyperlinks (e.g. +If you want to continue to use a MIME-type in your hyperlinks (e.g. foo.html) the language extension (including an encoding extension -if there is one) must be on the right hand side of the mime-type extension +if there is one) must be on the right hand side of the MIME-type extension (e.g. foo.html.en). 1.135 +4 -4 apache-1.3/htdocs/manual/mod/core.html Index: core.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/core.html,v retrieving revision 1.134 retrieving revision 1.135 diff -u -r1.134 -r1.135 --- core.html 1998/09/07 08:31:45 1.134 +++ core.html 1998/09/17 12:06:39 1.135 @@ -513,7 +513,7 @@ Syntax: DefaultType mime-type +>Syntax: DefaultType MIME-type Include directive -Syntax: (Apache 1.2) Include filename +Syntax: Include filename See also: Apache Virtual Host documentation - + Options directive - + StartServers directive Syntax: Action mime-type cgi-script +>Syntax: Action MIME-type cgi-script This directive adds an action, which will activate cgi-script when -a file of content type mime-type is requested. It sends the +a file of content type MIME-type is requested. It sends the URL and file path of the requested document using the standard CGI PATH_INFO and PATH_TRANSLATED environment variables. 1.21 +2 -1 apache-1.3/htdocs/manual/mod/mod_alias.html Index: mod_alias.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_alias.html,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- mod_alias.html1998/05/20 14:12:53 1.20 +++ mod_alias.html1998/09/17 12:06:39 1.21 @@ -211,7 +211,8 @@ Syntax: RedirectMatch [status regex url +>Syntax: +RedirectMatch [status] regex url -AuthDbmGroupFile - +AuthDBMGroupFile + Syntax: AddIconByEncoding icon mime-encoding mime-encoding +>Syntax: AddIconByEncoding icon MIME-encoding MIME-encoding ... Module: mod_autoindex This sets the icon to display next to files with -mime-encoding for FancyIndexing. +MIME-encoding for FancyIndexing. Icon is either a (%-escaped) relative URL to the icon, or of the format (alttext,url) where alttext is the text tag given for an icon for non-graphical browsers. @@ -285,7 +285,7 @@ Syntax: AddIconByType icon mime-type mime-type ... +>Syntax: AddIconByType icon MIME-type MIME-type ... Module: mod_autoindex -This sets the icon to display next to files of type mime-type for +This sets the icon to display next to files of type MIME-type for FancyIndexing. Icon is either a (%-escaped) relative URL to the icon, or of the format (alttext,url) where alttext is the text tag given 1.12 +1 -1 apache-1.3/htdocs/manual/mod/mod_expires.html Index: mod_expires.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_expires.html,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- mod_expires.html 1998/09/04 18:15:45 1.11 +++ mod_expires.html 1998/09/17 12:06:40 1.12 @@ -116,7 +116,7 @@ Syntax: Ex
cvs commit: apache-1.3/htdocs/manual/vhosts host.html name-based.html
coar98/09/17 05:33:12 Modified:htdocs/manual content-negotiation.html install.html new_features_1_1.html new_features_1_2.html sourcereorg.html upgrading_to_1_3.html windows.html htdocs/manual/misc FAQ.html client_block_api.html compat_notes.html descriptors.html known_client_problems.html perf-dec.html perf-tuning.html htdocs/manual/mod core.html mod_access.html mod_actions.html mod_auth_db.html mod_log_config.html mod_mime.html mod_mime_magic.html mod_proxy.html mod_rewrite.html mod_unique_id.html htdocs/manual/vhosts host.html name-based.html Log: The semi-regular HTML cleanup of the documentation. There are some HTML errors (incorrect anchor nesting, primarily) coming in another commit. Revision ChangesPath 1.17 +5 -5 apache-1.3/htdocs/manual/content-negotiation.html Index: content-negotiation.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/content-negotiation.html,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- content-negotiation.html 1998/09/17 12:06:38 1.16 +++ content-negotiation.html 1998/09/17 12:32:58 1.17 @@ -422,9 +422,9 @@ extension, and the order of the extensions is normally irrelevant (see mod_mime documentation for details). -A typical file has a MIME-type extension (e.g. html), -maybe an encoding extension (e.g. gz and of course a -language extension (e.g. en) when we have different +A typical file has a MIME-type extension (e.g., html), +maybe an encoding extension (e.g., gz), and of course a +language extension (e.g., en) when we have different language variants of this file. @@ -489,7 +489,7 @@ Looking at the table above you will notice that it is always possible to -use the name without any extensions in an hyperlink (e.g. foo). +use the name without any extensions in an hyperlink (e.g., foo). The advantage is that you can hide the actual type of a document rsp. file and can change it later, e.g. from html to shtml or cgi without changing any @@ -499,7 +499,7 @@ If you want to continue to use a MIME-type in your hyperlinks (e.g. foo.html) the language extension (including an encoding extension if there is one) must be on the right hand side of the MIME-type extension -(e.g. foo.html.en). +(e.g., foo.html.en). Note on Caching 1.23 +1 -1 apache-1.3/htdocs/manual/install.html Index: install.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/install.html,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- install.html 1998/05/20 14:22:31 1.22 +++ install.html 1998/09/17 12:32:58 1.23 @@ -65,7 +65,7 @@ Configure Apache for your operating system. Normally you can just type run the Configure script as given below. However - if this fails or you have any special requirements (e.g. to include + if this fails or you have any special requirements (e.g., to include an additional library required by an optional module) you might need to edit one or more of the following options in the Configuration file: 1.14 +1 -1 apache-1.3/htdocs/manual/new_features_1_1.html Index: new_features_1_1.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/new_features_1_1.html,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- new_features_1_1.html 1998/05/20 14:22:32 1.13 +++ new_features_1_1.html 1998/09/17 12:32:58 1.14 @@ -161,7 +161,7 @@ This new directive, in <Directory> sections or .htaccess files, allows you to override the filename extensions and -force a single content type. (e.g. ForceType +force a single content type. (e.g., ForceType application/octet-stream) File Owner Available to Included CGI Scripts 1.37 +1 -1 apache-1.3/htdocs/manual/new_features_1_2.html Index: new_features_1_2.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/new_features_1_2.html,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- new_features_1_2.html 1998/05/20 14:22:32 1.36 +++ new_features_1_2.html 1998/09/17 12:32:58 1.37 @@ -139,7 +139,7 @@ Resource Limits for CGI Scripts New directives allow the limiting of resources used by CGI scripts -(e.g. max CPU time)
cvs commit: apache-1.3/htdocs/manual/vhosts details.html examples.html host.html
coar98/09/17 07:15:03 Modified:htdocs/manual content-negotiation.html custom-error.html dso.html ebcdic.html install.html invoking.html new_features_1_3.html sourcereorg.html upgrading_to_1_3.html windows.html htdocs/manual/misc API.html FAQ.html compat_notes.html custom_errordocs.html fin_wait_2.html howto.html nopgp.html perf-bsd44.html perf.html security_tips.html vif-info.html htdocs/manual/mod core.html mod_actions.html mod_asis.html mod_auth_anon.html mod_autoindex.html mod_isapi.html mod_mmap_static.html mod_proxy.html mod_rewrite.html htdocs/manual/vhosts details.html examples.html host.html Log: More documentation consistency cleanup for 1.3.2. Revision ChangesPath 1.18 +5 -5 apache-1.3/htdocs/manual/content-negotiation.html Index: content-negotiation.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/content-negotiation.html,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- content-negotiation.html 1998/09/17 12:32:58 1.17 +++ content-negotiation.html 1998/09/17 14:14:47 1.18 @@ -85,7 +85,7 @@ ways: - Using a type map (i.e., a *.var file) which + Using a type map (i.e., a *.var file) which names the files containing the variants explicitly Or using a 'MultiViews' search, where the server does an implicit filename pattern match, and chooses from among the results. @@ -167,8 +167,8 @@ text/html; level=3. Content-language: The languages of the variant, specified as an Internet standard - language code (e.g., en for English, - kr for Korean, etc.). + language code (e.g., en for English, + kr for Korean, etc.). Content-encoding: If the file is compressed, or otherwise encoded, rather than containing the actual raw data, this says how that was done. @@ -491,12 +491,12 @@ Looking at the table above you will notice that it is always possible to use the name without any extensions in an hyperlink (e.g., foo). The advantage is that you can hide the actual type of a -document rsp. file and can change it later, e.g. from html +document rsp. file and can change it later, e.g., from html to shtml or cgi without changing any hyperlink references. -If you want to continue to use a MIME-type in your hyperlinks (e.g. +If you want to continue to use a MIME-type in your hyperlinks (e.g. foo.html) the language extension (including an encoding extension if there is one) must be on the right hand side of the MIME-type extension (e.g., foo.html.en). 1.14 +2 -2 apache-1.3/htdocs/manual/custom-error.html Index: custom-error.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/custom-error.html,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- custom-error.html 1998/05/20 14:22:27 1.13 +++ custom-error.html 1998/09/17 14:14:47 1.14 @@ -54,7 +54,7 @@ more clearly. To achieve this, Apache will define new CGI-like environment - variables, e.g. + variables, e.g. REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap, image/jpeg @@ -145,7 +145,7 @@ prefix REDIRECT_. REDIRECT_ environment variables are created from the CGI environment variables which existed prior to the redirect, they are renamed with a REDIRECT_ -prefix, i.e. HTTP_USER_AGENT becomes +prefix, i.e., HTTP_USER_AGENT becomes REDIRECT_HTTP_USER_AGENT. In addition to these new variables, Apache will define REDIRECT_URL and REDIRECT_STATUS to help the script trace its origin. 1.9 +4 -4 apache-1.3/htdocs/manual/dso.html Index: dso.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/dso.html,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- dso.html 1998/09/10 07:40:43 1.8 +++ dso.html 1998/09/17 14:14:48 1.9 @@ -77,7 +77,7 @@ Finally, to take advantage of the DSO's API the executable program has to resolve particular symbols from the DSO via dlsym() for later use -inside dispatch tables etc. In other words: The executable program has to +inside dispatch tables etc. In other words: The executable program has to manually resolve every symbol it needs to be able to use it. The advantage of such a mechanism is that optional program parts need not be loaded (and thus do n
cvs commit: apache-1.3/htdocs/manual/vhosts details.html host.html virtual-host.html
coar98/09/17 07:52:04 Modified:htdocs/manual suexec.html upgrading_to_1_3.html htdocs/manual/misc howto.html htdocs/manual/vhosts details.html host.html virtual-host.html Log: Some more consistency (cgi -> CGI) fixes, and shortened long lines. (There are about 200 more >80 lines in the dos, but I haven't the time now to fix 'em. Oh well.) Revision ChangesPath 1.21 +2 -1 apache-1.3/htdocs/manual/suexec.html Index: suexec.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/suexec.html,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- suexec.html 1998/07/30 16:42:47 1.20 +++ suexec.html 1998/09/17 14:52:01 1.21 @@ -400,7 +400,8 @@ If your installation requires location of the wrapper program in a different -directory, either add -DSUEXEC_BIN=\"</your/path/to/suexec>\" +directory, either add +-DSUEXEC_BIN=\"</your/path/to/suexec>\" to your CFLAGS (or edit src/include/httpd.h) and recompile your Apache server. See Compiling and Installing Apache (and the INSTALL file in the source distribution) 1.32 +2 -1 apache-1.3/htdocs/manual/upgrading_to_1_3.html Index: upgrading_to_1_3.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/upgrading_to_1_3.html,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- upgrading_to_1_3.html 1998/09/17 14:14:49 1.31 +++ upgrading_to_1_3.html 1998/09/17 14:52:01 1.32 @@ -233,7 +233,8 @@ To avoid symbol clashes with third-party code compiled into the server, the general prefix `ap_' was globally applied to the following classes of symbols: Apache provided general functions (e.g., - ap_cpystrn), public API functions (e.g., palloc, + ap_cpystrn), public API functions (e.g., + palloc, bgets) and private functions which can't be made static (because of cross-object usage) but should be (e.g., new_connection). For backward source compatibility with 1.9 +6 -4 apache-1.3/htdocs/manual/misc/howto.html Index: howto.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/howto.html,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- howto.html1998/09/17 14:14:53 1.8 +++ howto.html1998/09/17 14:52:02 1.9 @@ -60,13 +60,14 @@ "http://www.apache.org";. The second option is to set up a ScriptAlias pointing to -a cgi script which outputs a 301 or 302 status and the +a CGI script which outputs a 301 or 302 status and the location of the other server. -By using a cgi-script you can intercept various requests +By using a CGI script you can intercept various requests and -treat them specially, e.g., you might want to intercept POST +treat them specially, e.g., you might want to intercept +POST requests, so that the client isn't redirected to a script on the other server which expects POST information (a redirect will lose the POST information.) You might also want to use a CGI script if you don't @@ -108,7 +109,8 @@ The correct procedure is to move the logfile, then signal Apache to tell it to reopen the logfiles. -Apache is signaled using the SIGHUP (-1) signal. e.g. +Apache is signaled using the SIGHUP (-1) signal. +e.g. mv access_log access_log.old kill -1 `cat httpd.pid` 1.9 +3 -2 apache-1.3/htdocs/manual/vhosts/details.html Index: details.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/vhosts/details.html,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- details.html 1998/09/17 14:15:02 1.8 +++ details.html 1998/09/17 14:52:03 1.9 @@ -307,7 +307,7 @@ number for the request. The request is only caught if the port number to which the client sent the request matches the port number of your _default_ vhost which is your standard Port -by default. A wildcard port can be specified (i.e. +by default. A wildcard port can be specified (i.e., _default_:*) to catch requests to any available port. @@ -322,7 +322,8 @@ A _default_ vhost or the main_server is never matched for a request with an unknown or missing Host: header field if the client connected to an address (and port) which is used -for name-based vhosts, e.g., in a NameVirtualHost directive. +for name-bas
cvs commit: apache-1.3/src/main http_log.c
coar98/09/17 21:29:08 Modified:.STATUS src CHANGES src/main http_log.c Log: In ap_log_rerror(), set the "error-notes" special entry in r->notes to the error message, unless it's already set to something else. This makes the actual error available to ErrorDocument scripts and the like, while allowing it to be overridden by storing a "" value in that entry. Reviewed by: Doug MacEachern Revision ChangesPath 1.469 +0 -6 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.468 retrieving revision 1.469 diff -u -r1.468 -r1.469 --- STATUS1998/09/17 16:30:46 1.468 +++ STATUS1998/09/18 04:29:05 1.469 @@ -63,12 +63,6 @@ Available Patches: -* Ken's patch to set *ERROR_NOTES by default in ap_log_rerror() - Avoids special-casing the setting everywhere, and allows sensitive - error_log-only messages to be kept out of *ERROR_NOTES. - Message-ID: <[EMAIL PROTECTED]> - Status: Ken +1, Doug +1 - * Patches for the DSO/mod_perl problem (see below for description): Doug MacEachern's "[PATCH] fix for dso/mod_perl" 1.1068+3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1067 retrieving revision 1.1068 diff -u -r1.1067 -r1.1068 --- CHANGES 1998/09/17 20:23:47 1.1067 +++ CHANGES 1998/09/18 04:29:06 1.1068 @@ -1,5 +1,8 @@ Changes with Apache 1.3.2 + *) When using ap_log_rerror(), make the error message available to the + *ERROR_NOTES envariables by default. [Ken Coar] + *) BS2000 platform only: get rid of the nasty BS2000AuthFile. You now must define a BS2000Account name for the server User. This has fewer security implications than the old approach. 1.67 +8 -2 apache-1.3/src/main/http_log.c Index: http_log.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_log.c,v retrieving revision 1.66 retrieving revision 1.67 diff -u -r1.66 -r1.67 --- http_log.c1998/09/15 00:15:18 1.66 +++ http_log.c1998/09/18 04:29:07 1.67 @@ -433,13 +433,19 @@ va_end(args); } -API_EXPORT(void) ap_log_rerror (const char *file, int line, int level, - const request_rec *r, const char *fmt, ...) +API_EXPORT(void) ap_log_rerror(const char *file, int line, int level, +const request_rec *r, const char *fmt, ...) { va_list args; va_start(args, fmt); log_error_core(file, line, level, r->server, r, fmt, args); +if (ap_table_get(r->notes, "error-notes") != NULL) { + char errstr[MAX_STRING_LEN]; + + ap_snprintf(errstr, sizeof(errstr), fmt, args); + ap_table_set(r->notes, "error-notes", errstr); +} va_end(args); }
cvs commit: apache-1.3/src/modules/standard mod_speling.c
coar98/09/19 05:16:39 Modified:src/modules/standard mod_speling.c Log: When CheckSpelling was made .htaccess-ible, I forgot to correctly update the checking of the directive setting in the actual spellcheck code. Submitted by: Ryan Bloom <[EMAIL PROTECTED]> Revision ChangesPath 1.26 +3 -2 apache-1.3/src/modules/standard/mod_speling.c Index: mod_speling.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_speling.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- mod_speling.c 1998/09/04 20:45:41 1.25 +++ mod_speling.c 1998/09/19 12:16:38 1.26 @@ -226,14 +226,15 @@ static int check_speling(request_rec *r) { -void *server_conf = r->server->module_config; +spconfig *cfg; char *good, *bad, *postgood, *url; int filoc, dotloc, urlen, pglen; DIR *dirp; struct DIR_TYPE *dir_entry; array_header *candidates = NULL; -if (!ap_get_module_config(server_conf, &speling_module)) { +cfg = ap_get_module_config(r->per_dir_config, &speling_module); +if (!cfg->enabled) { return DECLINED; }
cvs commit: apache-1.3 STATUS
coar98/09/19 08:29:10 Modified:.STATUS Log: Okey on RH 4.2 Linux. Revision ChangesPath 1.478 +7 -3 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.477 retrieving revision 1.478 diff -u -r1.477 -r1.478 --- STATUS1998/09/19 13:01:14 1.477 +++ STATUS1998/09/19 15:29:10 1.478 @@ -4,18 +4,21 @@ 1.3.2: In preparation for a release. - Tarball rolling proposed for Monday, September 21th, 1998 - - Release and announcement proposed for Wednesday, September 23th, 1998 + - Release and announcement proposed for Wednesday, September 23th, + 1998 - Ralf is the release manager. Current test status: o FreeBSD 2.2.6 .. Ok (Ralf S. Engelschall) o FreeBSD 2.2.7 .. Ok (Jim Jagielski) o Debian GNU/Linux 1.3 ... Ok (Ralf S. Engelschall) + o RedHat 4.2 . Ok (Ken Coar) o RedHat 5.1 . Ok (Shane Owenby) o HPUX 10.20 . Ok (Ralf S. Engelschall) o AIX 4.1.5 .. Ok (Jens-Uwe Mager) o AIX 4.1.5 / gcc 2.7.2.2 Ok (Shane Owenby) - o AIX 4.1.5 / xlC 3.6.4 .. Fails (Shane Owenby) [KNOWN PROBLEM] + o AIX 4.1.5 / xlC 3.6.4 .. Fails (Shane Owenby) + [KNOWN PROBLEM] o AIX 4.2.1 .. Ok (Bill Stoddard) o AIX 4.2.1 / xlC 3.1.4 .. Ok (Shane Owenby) o AIX 4.3.1 / xlC 3.1.4 .. Ok (Shane Owenby) @@ -29,7 +32,8 @@ o IRIX 6.2 ... Ok (Dan Jacobowitz) o OS\2 ... Ok (Brian Havard) o Windows NT (general) Ok (Bill Stoddard) - o Netwinder .. Fails (Rasmus Lerdorf) [NOT CRITICAL] + o Netwinder .. Fails (Rasmus Lerdorf) + [NOT CRITICAL] o A/UX 3.1.1 . Ok (Jim Jagielski) 1.3.1: Tagged and rolled on July 19. Announced and released.
cvs commit: apache-1.3/src/modules/standard mod_cgi.c
coar98/09/21 14:09:52 Modified:src/main http_config.c http_core.c util_script.c src/modules/standard mod_cgi.c Log: Now that *ERROR_NOTES is set by ap_log_rerror(), remove some cases that manually set it to the same string after the call. Revision ChangesPath 1.128 +4 -4 apache-1.3/src/main/http_config.c Index: http_config.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_config.c,v retrieving revision 1.127 retrieving revision 1.128 diff -u -r1.127 -r1.128 --- http_config.c 1998/09/19 21:54:57 1.127 +++ http_config.c 1998/09/21 21:09:47 1.128 @@ -1240,8 +1240,7 @@ if (errmsg) { ap_log_rerror(APLOG_MARK, APLOG_ALERT|APLOG_NOERRNO, r, "%s: %s", -filename, errmsg); - ap_table_setn(r->notes, "error-notes", errmsg); + filename, errmsg); return HTTP_INTERNAL_SERVER_ERROR; } @@ -1252,8 +1251,9 @@ dc = NULL; else { ap_log_rerror(APLOG_MARK, APLOG_CRIT, r, - "%s pcfg_openfile: unable to check htaccess file, ensure it is readable", - filename); + "%s pcfg_openfile: unable to check htaccess file, " + "ensure it is readable", + filename); ap_table_setn(r->notes, "error-notes", "Server unable to read htaccess file, denying " "access to be safe"); 1.231 +0 -1 apache-1.3/src/main/http_core.c Index: http_core.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_core.c,v retrieving revision 1.230 retrieving revision 1.231 diff -u -r1.230 -r1.231 --- http_core.c 1998/09/17 20:23:45 1.230 +++ http_core.c 1998/09/21 21:09:48 1.231 @@ -2743,7 +2743,6 @@ emsg = ap_pstrcat(r->pool, emsg, r->filename, r->path_info, NULL); } ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_NOERRNO, r, emsg); - ap_table_setn(r->notes, "error-notes", emsg); return HTTP_NOT_FOUND; } if (r->method_number != M_GET) { 1.132 +0 -4 apache-1.3/src/main/util_script.c Index: util_script.c === RCS file: /export/home/cvs/apache-1.3/src/main/util_script.c,v retrieving revision 1.131 retrieving revision 1.132 diff -u -r1.131 -r1.132 --- util_script.c 1998/09/14 16:10:22 1.131 +++ util_script.c 1998/09/21 21:09:48 1.132 @@ -458,8 +458,6 @@ ap_kill_timeout(r); ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, "Premature end of script headers: %s", r->filename); - ap_table_setn(r->notes, "error-notes", - "Premature end of script headers"); return HTTP_INTERNAL_SERVER_ERROR; } @@ -543,8 +541,6 @@ ap_kill_timeout(r); ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r, "%s: %s", malformed, r->filename); - ap_table_setn(r->notes, "error-notes", - ap_pstrdup(r->pool, malformed)); return HTTP_INTERNAL_SERVER_ERROR; } 1.86 +0 -1 apache-1.3/src/modules/standard/mod_cgi.c Index: mod_cgi.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_cgi.c,v retrieving revision 1.85 retrieving revision 1.86 diff -u -r1.85 -r1.86 --- mod_cgi.c 1998/09/03 22:40:42 1.85 +++ mod_cgi.c 1998/09/21 21:09:51 1.86 @@ -433,7 +433,6 @@ &script_out, &script_in, &script_err)) { ap_log_rerror(APLOG_MARK, APLOG_ERR, r, "couldn't spawn child process: %s", r->filename); - ap_table_setn(r->notes, "error-notes", "Couldn't spawn child process"); return HTTP_INTERNAL_SERVER_ERROR; }
cvs commit: apache-site/dist .htaccess
coar98/09/22 08:14:21 Modified:dist .htaccess Log: Autosize the filename column; we've got some long ones here. Revision ChangesPath 1.8 +1 -0 apache-site/dist/.htaccess Index: .htaccess === RCS file: /export/home/cvs/apache-site/dist/.htaccess,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- .htaccess 1998/07/22 21:03:49 1.7 +++ .htaccess 1998/09/22 15:14:21 1.8 @@ -1,3 +1,4 @@ +IndexOptions FancyIndexing NameWidth=* AddDescription "1.3b3 Win32 binary" apache_1.3b3_win32.exe AddDescription "1.3b3 Win32 docs & icons" apache_1.3b3_win32_ext.exe AddDescription "1.3b3 gzipped source" apache_1.3b3.tar.gz
cvs commit: apache-site/dist .htaccess
coar98/09/22 08:16:48 Modified:dist .htaccess Log: Aw, crap. www.apache.org is running a not-too-recent version of 1.3.2-dev.. too old for the IndexOptions change. Uncomment this when it gets updated. Revision ChangesPath 1.9 +1 -1 apache-site/dist/.htaccess Index: .htaccess === RCS file: /export/home/cvs/apache-site/dist/.htaccess,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- .htaccess 1998/09/22 15:14:21 1.8 +++ .htaccess 1998/09/22 15:16:47 1.9 @@ -1,4 +1,4 @@ -IndexOptions FancyIndexing NameWidth=* +#IndexOptions FancyIndexing NameWidth=* AddDescription "1.3b3 Win32 binary" apache_1.3b3_win32.exe AddDescription "1.3b3 Win32 docs & icons" apache_1.3b3_win32_ext.exe AddDescription "1.3b3 gzipped source" apache_1.3b3.tar.gz
cvs commit: apache-1.3 STATUS
coar98/09/22 11:26:53 Modified:.STATUS Log: The change from __EMX__ to OS2 as the #define name has already happened. Revision ChangesPath 1.488 +0 -2 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.487 retrieving revision 1.488 diff -u -r1.487 -r1.488 --- STATUS1998/09/21 19:59:35 1.487 +++ STATUS1998/09/22 18:26:52 1.488 @@ -466,8 +466,6 @@ 3) byte range error handling 4) update the Accept-Encoding parser to allow q-values -* #ifdef __EMX__ --> #ifdef OS2. - * use of spawnvp in uncompress_child in mod_mime_magic - doesn't use the new child_info structure, is this still safe? Needs to be looked at.
cvs commit: apache-site/dist .htaccess
coar98/09/22 11:52:31 Modified:dist .htaccess Log: Okey, www.apache.org's up to the latest HEAD, so we can enable the long file names. Also clean up some of the AddDescription lines. (Thanks, Brian! :-) Revision ChangesPath 1.10 +5 -12 apache-site/dist/.htaccess Index: .htaccess === RCS file: /export/home/cvs/apache-site/dist/.htaccess,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- .htaccess 1998/09/22 15:16:47 1.9 +++ .htaccess 1998/09/22 18:52:30 1.10 @@ -1,21 +1,14 @@ -#IndexOptions FancyIndexing NameWidth=* -AddDescription "1.3b3 Win32 binary" apache_1.3b3_win32.exe -AddDescription "1.3b3 Win32 docs & icons" apache_1.3b3_win32_ext.exe -AddDescription "1.3b3 gzipped source" apache_1.3b3.tar.gz -AddDescription "1.3b5 gzipped source" apache_1.3b5.tar.gz -AddDescription "1.3b5 compressed source" apache_1.3b5.tar.Z -AddDescription "1.3b6 compressed source" apache_1.3b6.tar.Z -AddDescription "1.3b6 gzipped source" apache_1.3b6.tar.gz -AddDescription "1.3b6 Win32 binary" apache_1_3b6_1.exe -AddDescription "1.2.5 compressed source" apache_1.2.5.tar.Z -AddDescription "1.2.5 gzipped source" apache_1.2.5.tar.gz +IndexOptions FancyIndexing NameWidth=* ScanHTMLTitles +AddDescription "1.2.6 compressed source" apache_1.2.6.tar.Z +AddDescription "1.2.6 gzipped source" apache_1.2.6.tar.gz AddDescription "1.3.1 compressed source" apache_1.3.1.tar.Z AddDescription "1.3.1 gzipped source" apache_1.3.1.tar.gz AddDescription "1.3.1 Win32 binary" apache_1_3_1.exe -AddDescription "List of changes in 1.3" /export/pub/apache/dist/CHANGES +AddDescription "List of changes in 1.3" /export/pub/apache/dist/CHANGES_1.3 AddDescription "List of changes in 1.2" /export/pub/apache/dist/CHANGES_1.2 AddDescription "Developer PGP keys" /export/pub/apache/dist/KEYS AddDescription "PGP signature" *.asc +AddDescription "Apache 1.3.1 Released" Announcement.txt AddDescription "Binary distributions" /export/pub/apache/dist/binaries AddDescription "Contributed software" /export/pub/apache/dist/contrib AddDescription "Old source & binaries" /export/pub/apache/dist/old
cvs commit: apache-site/dist .htaccess
coar98/09/23 04:20:14 Modified:dist .htaccess Log: Put the 1.3.1 descriptions back in, since they're inherited by the subdirectories. Revision ChangesPath 1.13 +3 -0 apache-site/dist/.htaccess Index: .htaccess === RCS file: /export/home/cvs/apache-site/dist/.htaccess,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- .htaccess 1998/09/23 10:20:31 1.12 +++ .htaccess 1998/09/23 11:20:13 1.13 @@ -1,6 +1,9 @@ IndexOptions FancyIndexing NameWidth=* ScanHTMLTitles AddDescription "1.2.6 compressed source" apache_1.2.6.tar.Z AddDescription "1.2.6 gzipped source" apache_1.2.6.tar.gz +AddDescription "1.3.1 compressed source" apache_1.3.1.tar.Z +AddDescription "1.3.1 gzipped source" apache_1.3.1.tar.gz +AddDescription "1.3.1 Win32 binary" apache_1_3_1.exe AddDescription "1.3.2 compressed source" apache_1.3.2.tar.Z AddDescription "1.3.2 gzipped source" apache_1.3.2.tar.gz AddDescription "1.3.2 Win32 binary" apache_1_3_2_win32_1.exe
cvs commit: apache-site/dist .htaccess
coar98/09/23 04:25:14 Modified:dist .htaccess Log: Rename the Win32 installer binary as Paul requested. (Good sense, although I wish we'd settle on a consistent naming scheme for these.) Revision ChangesPath 1.14 +1 -1 apache-site/dist/.htaccess Index: .htaccess === RCS file: /export/home/cvs/apache-site/dist/.htaccess,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- .htaccess 1998/09/23 11:20:13 1.13 +++ .htaccess 1998/09/23 11:25:14 1.14 @@ -6,7 +6,7 @@ AddDescription "1.3.1 Win32 binary" apache_1_3_1.exe AddDescription "1.3.2 compressed source" apache_1.3.2.tar.Z AddDescription "1.3.2 gzipped source" apache_1.3.2.tar.gz -AddDescription "1.3.2 Win32 binary" apache_1_3_2_win32_1.exe +AddDescription "1.3.2 Win32 binary" apache_1_3_2_win32.exe AddDescription "List of changes in 1.3" /export/pub/apache/dist/CHANGES_1.3 AddDescription "List of changes in 1.2" /export/pub/apache/dist/CHANGES_1.2 AddDescription "Developer PGP keys" /export/pub/apache/dist/KEYS
cvs commit: apache-site bug_report.html security_report.html
coar98/09/23 08:42:42 Modified:.bug_report.html security_report.html Log: The CERT points to our bug-report page, so make it clear how to let us know about security issues. Revision ChangesPath 1.19 +8 -5 apache-site/bug_report.html Index: bug_report.html === RCS file: /export/home/cvs/apache-site/bug_report.html,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- bug_report.html 1998/08/11 03:19:15 1.18 +++ bug_report.html 1998/09/23 15:42:40 1.19 @@ -12,9 +12,15 @@ > -Apache Bug Reporting Page +Apache Bug Reporting Page -Welcome to the Apache Bug Reporting Page! If you are having trouble + +Reports of security issues should not be reported here. +Please see the security report page +if you have concerns or think you have discovered a security hole in +the Apache Web server software. + +If you are having trouble with Apache, please fill out a problem report form and submit it. Before you do that, though, make sure you have done all of the following: @@ -96,9 +102,6 @@ Do NOT send configuration questions or requests for help debugging CGI! - -Folks wishing to report a security/denial of service bug may want to -visit this page. 1.3 +1 -1 apache-site/security_report.html Index: security_report.html === RCS file: /export/home/cvs/apache-site/security_report.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- security_report.html 1998/09/07 03:22:04 1.2 +++ security_report.html 1998/09/23 15:42:41 1.3 @@ -22,7 +22,7 @@ We cannot accept regular bug reports or other queries at this address, we ask that you use our bug reporting page for those. All mail sent to -this address that is not reporting a security hole will be ignored. +this address that does not relate to security issues will be ignored. Note that all networked servers are subject to denial of service
cvs commit: apache-site ABOUT_APACHE.html
coar98/09/24 03:06:41 Modified:.ABOUT_APACHE.html Log: Remove a redundancy and correct my address. Submitted by: Andrew Wilson <[EMAIL PROTECTED]> Revision ChangesPath 1.22 +1 -5 apache-site/ABOUT_APACHE.html Index: ABOUT_APACHE.html === RCS file: /export/home/cvs/apache-site/ABOUT_APACHE.html,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- ABOUT_APACHE.html 1998/09/16 21:09:38 1.21 +++ ABOUT_APACHE.html 1998/09/24 10:06:41 1.22 @@ -150,7 +150,7 @@ Ken Coar - MeepZor Consulting, New England, USA + IBM Corporation, Research Triangle Park, NC, USA @@ -435,10 +435,6 @@ In most cases, this "new" member has been actively contributing to the group's work for over six months, so it's usually an easy decision. - Anyone on the mailing list can vote on a particular issue, but we only - count those made by active members or people who are known to be experts - on that part of the server. Vetoes must be accompanied by a convincing - explanation. The above describes our past and current (as of January 1998) guidelines,
cvs commit: apache-site/contributors index.html
coar98/09/24 03:11:01 Modified:contributors index.html Log: More address corrections. Revision ChangesPath 1.52 +4 -4 apache-site/contributors/index.html Index: index.html === RCS file: /export/home/cvs/apache-site/contributors/index.html,v retrieving revision 1.51 retrieving revision 1.52 diff -u -r1.51 -r1.52 --- index.html1998/09/16 21:09:39 1.51 +++ index.html1998/09/24 10:11:00 1.52 @@ -164,11 +164,11 @@ Name: Ken Coar -Email: mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED] -URL: http://www.golux.com/coar/";>http://www.golux.com/coar/ -Organization: MeepZor Consulting +Email: mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED] +URL: http://Web.Golux.Com/coar/";>http://Web.Golux.Com/coar/ +Organization: IBM Corporation Occupation: Software & Web development -Location: Mostly in New England, USA +Location: Research Triangle Park, North Carolina, USA Comments: HTML pedant, FAQ editor, UI perfectionist, bugdb script hacker OS Expertise: Digital UNIX, OpenVMS
cvs commit: apache-1.3 ABOUT_APACHE
coar98/09/24 03:32:09 Modified:.ABOUT_APACHE Log: {Sigh} Another one.. Revision ChangesPath 1.21 +4 -3 apache-1.3/ABOUT_APACHE Index: ABOUT_APACHE === RCS file: /export/home/cvs/apache-1.3/ABOUT_APACHE,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- ABOUT_APACHE 1998/07/22 04:02:59 1.20 +++ ABOUT_APACHE 1998/09/24 10:32:08 1.21 @@ -3,7 +3,7 @@ http://www.apache.org/ - July 1998 + September 1998 The Apache Project is a collaborative software development effort aimed at creating a robust, commercial-grade, featureful, and freely-available @@ -67,10 +67,10 @@ -Current Apache Group in alphabetical order as of 14 July 1998: +Current Apache Group in alphabetical order as of 23 September 1998: Brian Behlendorf Organic Online, California - Ken Coar MeepZor Consulting, New England, USA + Ken Coar IBM Corporation, Research Triangle Park, NC, USA Mark J. CoxC2Net Europe, UK Lars EilebrechtKreuztal, Germany Ralf S. EngelschallMunich, Germany. @@ -87,6 +87,7 @@ Sameer Parekh C2Net, California Marc SlemkoCanada Cliff Skolnick Freelance, California + Bill Stoddard IBM Corp., Research Triangle Park, NC Paul SuttonC2Net Europe, UK Randy Terbush Zyzzyva ISP, Nebraska Dirk-Willem van Gulik Freelance Consultant, Italy
cvs commit: apache-1.3/src/modules/standard mod_autoindex.c
coar98/09/24 03:41:56 Modified:src/modules/standard mod_autoindex.c Log: Oops. Logical NOT used instead of bitwise. Submitted by: Ben Yoshino <[EMAIL PROTECTED]> Reviewed by: Ken Coar Revision ChangesPath 1.92 +1 -1 apache-1.3/src/modules/standard/mod_autoindex.c Index: mod_autoindex.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_autoindex.c,v retrieving revision 1.91 retrieving revision 1.92 diff -u -r1.91 -r1.92 --- mod_autoindex.c 1998/09/02 21:04:41 1.91 +++ mod_autoindex.c 1998/09/24 10:41:55 1.92 @@ -293,7 +293,7 @@ cfg = (autoindex_config_rec *) d; curopts = cfg->opts; -newopts = (arg ? (curopts | FANCY_INDEXING) : (curopts & !FANCY_INDEXING)); +newopts = (arg ? (curopts | FANCY_INDEXING) : (curopts & ~FANCY_INDEXING)); cfg->opts = newopts; return NULL; }
cvs commit: apache-1.3/htdocs/manual/mod mod_autoindex.html
coar98/09/24 08:27:53 Modified:htdocs/manual/mod mod_autoindex.html Log: Correct name for IndexOptions keyword. PR: 3066 Revision ChangesPath 1.24 +2 -2 apache-1.3/htdocs/manual/mod/mod_autoindex.html Index: mod_autoindex.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_autoindex.html,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- mod_autoindex.html1998/09/17 14:14:57 1.23 +++ mod_autoindex.html1998/09/24 15:27:52 1.24 @@ -530,9 +530,9 @@ images have been loaded. If no value is given for the option, it defaults to the standard width of the icons supplied with the Apache software. -NameLength=[n | *] (Apache 1.3.2 and later) +NameWidth=[n | *] (Apache 1.3.2 and later) -The NameLength keyword allows you to specify the width of the +The NameWidth keyword allows you to specify the width of the filename column in bytes. If the keyword value is '*', then the column is automatically sized to the length of the longest filename in the display.
cvs commit: apache-1.3/src/modules/standard mod_autoindex.c
coar98/09/24 08:53:41 Modified:src/modules/standard mod_autoindex.c Log: mod_autoindex wasn't inheriting options from parent directories properly; the use of any other mod_autoindex directives in a .htaccess that didn't also include IndexOptions would wipe out any IndexOptions settings. PR: 3061 Revision ChangesPath 1.93 +11 -2 apache-1.3/src/modules/standard/mod_autoindex.c Index: mod_autoindex.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_autoindex.c,v retrieving revision 1.92 retrieving revision 1.93 diff -u -r1.92 -r1.93 --- mod_autoindex.c 1998/09/24 10:41:55 1.92 +++ mod_autoindex.c 1998/09/24 15:53:40 1.93 @@ -93,6 +93,7 @@ #define SUPPRESS_DESC 32 #define SUPPRESS_PREAMBLE 64 #define SUPPRESS_COLSORT 128 +#define NO_OPTIONS 256 #define K_PAD 1 #define K_NOPAD 0 @@ -331,7 +332,7 @@ opts |= SUPPRESS_COLSORT; } else if (!strcasecmp(w, "None")) { - opts = 0; + opts = NO_OPTIONS; } else if (!strcasecmp(w, "IconWidth")) { d_cfg->icon_width = DEFAULT_ICON_WIDTH; @@ -362,6 +363,9 @@ return "Invalid directory indexing option"; } } +if ((opts & NO_OPTIONS) && (opts & ~NO_OPTIONS)) { + return "Cannot combine other IndexOptions keywords with 'None'"; +} d_cfg->opts = opts; return NULL; } @@ -436,7 +440,12 @@ 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->opts = add->opts; +if (add->opts & NO_OPTIONS) { + new->opts = NO_OPTIONS; +} +else { + new->opts = base->opts | add->opts; +} new->name_width = add->name_width; new->name_adjust = add->name_adjust;
cvs commit: apache-1.3 STATUS
coar98/09/24 14:40:18 Modified:.STATUS Log: New patch available to deal with the error-notes nastiness. Anyone else notice taz mail being slow to-day? Revision ChangesPath 1.490 +9 -0 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.489 retrieving revision 1.490 diff -u -r1.489 -r1.490 --- STATUS1998/09/23 23:12:40 1.489 +++ STATUS1998/09/24 21:40:17 1.490 @@ -25,6 +25,15 @@ Available Patches: +* Ken's fix for error pages and error-notes + Take references to error-notes out of ap_send_error_response(); + leave its use for page customisation to ErrorDocuments. + Only copy ap_log_rerror() text into error-notes if the + level is 'warning' or more severe AND there's not already + something stored there. + Message-ID: <[EMAIL PROTECTED]> + Status: Ken +1 + * Earle Ake: Apache 1.3.1 port to Pyramid DC/OSx <[EMAIL PROTECTED]>
cvs commit: apache-1.3 STATUS
coar98/09/24 14:44:52 Modified:.STATUS Log: Wow, that was fast. :-) Revision ChangesPath 1.491 +1 -1 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.490 retrieving revision 1.491 diff -u -r1.490 -r1.491 --- STATUS1998/09/24 21:40:17 1.490 +++ STATUS1998/09/24 21:44:51 1.491 @@ -32,7 +32,7 @@ level is 'warning' or more severe AND there's not already something stored there. Message-ID: <[EMAIL PROTECTED]> - Status: Ken +1 + Status: Ken +1, Roy -1 * Earle Ake: Apache 1.3.1 port to Pyramid DC/OSx <[EMAIL PROTECTED]>
cvs commit: apache-1.3 STATUS
coar98/09/24 15:01:09 Modified:.STATUS Log: Round 2 of the error-notes fix biz. Probably the last for to-night.. Revision ChangesPath 1.492 +5 -4 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.491 retrieving revision 1.492 diff -u -r1.491 -r1.492 --- STATUS1998/09/24 21:44:51 1.491 +++ STATUS1998/09/24 22:01:08 1.492 @@ -25,14 +25,15 @@ Available Patches: -* Ken's fix for error pages and error-notes - Take references to error-notes out of ap_send_error_response(); +* Ken's fix for error pages and error-notes (#2) + Take references to error-notes out of ap_send_error_response() + except for internal HTTP_BAD_REQUEST uses. Otherwise, leave its use for page customisation to ErrorDocuments. Only copy ap_log_rerror() text into error-notes if the level is 'warning' or more severe AND there's not already something stored there. - Message-ID: <[EMAIL PROTECTED]> - Status: Ken +1, Roy -1 + Message-ID: <[EMAIL PROTECTED]> + Status: Ken +1 * Earle Ake: Apache 1.3.1 port to Pyramid DC/OSx <[EMAIL PROTECTED]>
cvs commit: apache-1.3/src/main http_log.c http_protocol.c
coar98/09/25 05:27:06 Modified:.STATUS src/main http_log.c http_protocol.c Log: Put back the default server status pages, with no inclusion of error-notes, except for HTTP_INTERNAL_SERVER_ERROR, LENGTH_REQUIRED, and HTTP_BAD_REQUEST. Also only store ap_log_rerror() text in error-notes if the severity is 'warning' or worse. PR: 3071 Reviewed by: Roy Fielding Revision ChangesPath 1.493 +0 -10 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.492 retrieving revision 1.493 diff -u -r1.492 -r1.493 --- STATUS1998/09/24 22:01:08 1.492 +++ STATUS1998/09/25 12:27:04 1.493 @@ -25,16 +25,6 @@ Available Patches: -* Ken's fix for error pages and error-notes (#2) - Take references to error-notes out of ap_send_error_response() - except for internal HTTP_BAD_REQUEST uses. Otherwise, - leave its use for page customisation to ErrorDocuments. - Only copy ap_log_rerror() text into error-notes if the - level is 'warning' or more severe AND there's not already - something stored there. - Message-ID: <[EMAIL PROTECTED]> - Status: Ken +1 - * Earle Ake: Apache 1.3.1 port to Pyramid DC/OSx <[EMAIL PROTECTED]> 1.70 +11 -2 apache-1.3/src/main/http_log.c Index: http_log.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_log.c,v retrieving revision 1.69 retrieving revision 1.70 diff -u -r1.69 -r1.70 --- http_log.c1998/09/22 15:43:42 1.69 +++ http_log.c1998/09/25 12:27:05 1.70 @@ -440,9 +440,18 @@ va_start(args, fmt); log_error_core(file, line, level, r->server, r, fmt, args); -if (ap_table_get(r->notes, "error-notes") == NULL) { +/* + * IF the error level is 'warning' or more severe, + * AND there isn't already error text associated with this request, + * THEN make the message text available to ErrorDocument and + * other error processors. This can be disabled by stuffing + * something, even an empty string, into the "error-notes" cell + * before calling this routine. + */ +if (((level & APLOG_LEVELMASK) <= APLOG_WARNING) + && (ap_table_get(r->notes, "error-notes") == NULL)) { ap_table_setn(r->notes, "error-notes", - ap_pvsprintf(r->pool, fmt, args)); + ap_pvsprintf(r->pool, fmt, args)); } va_end(args); } 1.240 +141 -126 apache-1.3/src/main/http_protocol.c Index: http_protocol.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_protocol.c,v retrieving revision 1.239 retrieving revision 1.240 diff -u -r1.239 -r1.240 --- http_protocol.c 1998/08/25 09:15:31 1.239 +++ http_protocol.c 1998/09/25 12:27:05 1.240 @@ -2127,132 +2127,147 @@ "\n\n", h1, "\n", NULL); -if ((error_notes = ap_table_get(r->notes, "error-notes"))) { -ap_bputs(error_notes, fd); -} -else -switch (status) { -case REDIRECT: -case MOVED: -ap_bvputs(fd, "The document has moved pool, location), "\">here.\n", NULL); -break; -case HTTP_SEE_OTHER: -ap_bvputs(fd, "The answer to your request is located pool, location), "\">here.\n", NULL); -break; -case HTTP_USE_PROXY: -ap_bvputs(fd, "This resource is only accessible through the proxy\n", -ap_escape_html(r->pool, location), "\nYou will need to ", - "configure your client to use that proxy.\n", NULL); -break; -case HTTP_PROXY_AUTHENTICATION_REQUIRED: -case AUTH_REQUIRED: -ap_bputs("This server could not verify that you\n", fd); -ap_bputs("are authorized to access the document you\n", fd); -ap_bputs("requested. Either you supplied the wrong\n", fd); -ap_bputs("credentials (e.g., bad password), or your\n", fd); -ap_bputs("browser doesn't understand how to supply\n", fd); -ap_bputs("the credentials required.\n", fd); -break;
cvs commit: apache-1.3 STATUS
coar98/09/25 12:33:39 Modified:.STATUS Log: Add notice of an available patch for +/- keywords on IndexOptions. Revision ChangesPath 1.494 +4 -0 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.493 retrieving revision 1.494 diff -u -r1.493 -r1.494 --- STATUS1998/09/25 12:27:04 1.493 +++ STATUS1998/09/25 19:33:38 1.494 @@ -25,6 +25,10 @@ Available Patches: +* Ken's "[PATCH] Add '+' and '-' to IndexOptions keywords" + Message-ID: <[EMAIL PROTECTED]> + Status: Ken +1 + * Earle Ake: Apache 1.3.1 port to Pyramid DC/OSx <[EMAIL PROTECTED]>
cvs commit: apache-2.0 STATUS
coar98/09/25 12:45:01 Modified:.STATUS Log: Add another item for 2.0, that Great White Hope for Whirled Peas. Revision ChangesPath 1.41 +7 -1 apache-2.0/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-2.0/STATUS,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- STATUS1998/07/12 18:48:19 1.40 +++ STATUS1998/09/25 19:44:59 1.41 @@ -10,7 +10,7 @@ should add them to the repository now. Use a descriptive filename. -Other code will be copied over when 1.3.0 is finished. +Other code will be copied over when 1.3.? is finished. Showstoppers: Committed Code Changes: @@ -30,11 +30,17 @@ * "Apache ports" project - simple-to-install (a la CPAN) one-off tools, scripts (such as counters, guest books, et cetera) +1: Roy, Paul, Ken, Ralf, Martin + David Southwell has volunteered to work on this. * Embed API documentation in the source, a la Java docs, so a script can extract the parameters and description and build a dictionary. If we do this, it needs to be *mandatory* in the style guide. +1: Ken + + * Abstract the '+/-' capabilities of the Options keyword so other +directives can use it without re-inventing the square peg. + +1: Ken + Status: Ken has volunteered to work on this. * Really, really comply with 2068 (or whatever Roy says is the right document). Like handling Vary response fields properly and reliably.
cvs commit: apache-1.3/htdocs/manual/misc FAQ.html
coar98/09/27 10:36:13 Modified:htdocs/manual/misc FAQ.html Log: Add the AIX compiler bug to the FAQ. PR: 2312, 2534, 2664, 2853, 3042 Revision ChangesPath 1.130 +50 -21apache-1.3/htdocs/manual/misc/FAQ.html Index: FAQ.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/FAQ.html,v retrieving revision 1.129 retrieving revision 1.130 diff -u -r1.129 -r1.130 --- FAQ.html 1998/09/17 14:14:52 1.129 +++ FAQ.html 1998/09/27 17:36:12 1.130 @@ -14,7 +14,7 @@ Apache Server Frequently Asked Questions - $Revision: 1.129 $ ($Date: 1998/09/17 14:14:52 $) + $Revision: 1.130 $ ($Date: 1998/09/27 17:36:12 $) The latest version of this FAQ is always available from the main @@ -296,6 +296,8 @@ How do I submit a patch to the Apache Group? + Why am I getting "Expected </Directory> +but saw </Directory>" when I try to start Apache? @@ -2277,30 +2279,35 @@ let you apply certain attributes against collections of files or resources in very flexible ways - for example, all .gif and .jpg files under any "images" directory could be written as /.*\/images\/.*[jpg|gif]/. - - The best overview around is probably the one which comes with + + + The best overview around is probably the one which comes with Perl. We implement a simple subset of Perl's regexp support, but it's still a good way to learn what they mean. You can start by - going to the http://www.perl.com/CPAN-local/doc/manual/html/pod/perlre.html#Version_8_Regular_Expresions";>CPAN - page on regular expressions, and branching out from there. - + going to the + http://www.perl.com/CPAN-local/doc/manual/html/pod/perlre.html#Version_8_Regular_Expresions"; + >CPAN page on regular expressions, and branching out from there. + I'm using gcc and I get some compilation errors, what is wrong? - GCC parses your system header files and produces a modified subset which + +GCC parses your system header files and produces a modified subset which it uses for compiling. This behaviour ties GCC tightly to the version of your operating system. So, for example, if you were running IRIX 5.3 when you built GCC and then upgrade to IRIX 6.2 later, you will have to rebuild GCC. Similarly for Solaris 2.4, 2.5, or 2.5.1 when you upgrade to 2.6. Sometimes you can type "gcc -v" and it will tell you the version of the operating system it was built against. + If you fail to do this, then it is very likely that Apache will fail to build. One of the most common errors is with readv, writev, or uio.h. This is not a bug with Apache. You will need to re-install GCC. + @@ -2313,33 +2320,55 @@ it covers the directory you are trying to use the .htaccess file in. This is normally accomplished by ensuring it is inside the proper Directory container. + How do I submit a patch to the Apache Group? - The Apache Group encourages patches from outside developers. There are 2 main "types" - of patches: small bugfixes and general improvements. Bugfixes should be sent to the + The Apache Group encourages patches from outside developers. There are 2 + main "types" + of patches: small bugfixes and general improvements. Bugfixes should be + submitting using the Apache http://www.apache.org/bug_report.html";>bug report page. - Improvements, modifications and additions should follow these instructions. + Improvements, modifications, and additions should follow the instructions + below. + In general, the first course of action is to be a member of the - new-httpd@apache.org mailing list. This indicates to the Group that - you are closely following the latest Apache developments. Your patch file should be - generated using either 'diff -c' or 'diff -u' against the - latest CVS tree. To submit your patch, send Email to new-httpd@apache.org - with a Subject: line that starts with [PATCH] and + new-httpd@apache.org mailing list. This indicates to the Group + that + you are closely following the latest Apache developments. Your patch file + should be + generated using either 'diff -c' or + 'diff -u' against the + latest CVS tree. To submit your patch, send email to + new-httpd@apache.org + with a Subject: line that starts with [PATCH] and includes a general description of the patch. In the body of the message,
cvs commit: apache-devsite bugdb-policies.html
coar98/09/28 07:49:47 Modified:.bugdb-policies.html Log: Add descriptions of the various editing fields and how to use them. Revision ChangesPath 1.3 +186 -6apache-devsite/bugdb-policies.html Index: bugdb-policies.html === RCS file: /export/home/cvs/apache-devsite/bugdb-policies.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- bugdb-policies.html 1998/08/07 09:16:49 1.2 +++ bugdb-policies.html 1998/09/28 14:49:46 1.3 @@ -7,7 +7,7 @@ <!-- TD { font-size: smaller } - --> + // --> @@ -30,6 +30,8 @@ General Guidelines + PR Fields + PR States open @@ -103,6 +105,184 @@ + PR Fields + + The PR editing form has a number of different fields on it. Some are + pull-down lists, some are free-form text boxes, and some are buttons or + checkboxes. Here's a description of what they are and how to use + them. + + + When filling in free-form text boxes, use the Enter or Return + key to insert hard newlines in order to keep the line-length short! + Try to keep the horizintal scrollbar inactive. + + + DO NOT send mail about this change + + + +Just as you might expect, this controls whether the update to the +bugdb will also result in a mail message. This should ordinarily be +left 'off'; only check this box if you are making cosmetic changes +that don't need attention (such as changing the 'release' field). + + + Editor (you) + + + +This field should initially contain your username or email address. +Don't change it. If it's blank, put in your username (if you have +an account on Taz) or your email address. Whatever value you +enter must match your access name to the bugdb. + + + New synopsis + + + +The synopsis is a one-line abstract of the PR. Only change +this field if the original synopsis is incorrect or unclear. + + + Originator + + + +This field contains the email address of the PR's submitter. This +ordinarily doesn't need to be changed unless you're correcting +an invalid pending-category entry. + + + Class + + + +This pull-down list identifies the class of problem being described by +the PR. The canonical value is sw-bug; the next most +common is change-request. When editing a PR, verify that +the value actually applies to the report, and change it if necessary. + + + Release + + + +In almost all cases, this should simply contain the Apache release +version, without any embellishments. "1.3.2", "1.1.3", "1.3b6-dev" +are all acceptable. The only time more text is really appropriate +in this field is if the PR refers to one of the non-Apache projects, +such as mod_jserv. When editing a PR, try to shorten +this field if possible, since it widens the PR summary display +unnecessarily. + + + Severity + + + +Possible values for this are "critical," "serious," and "non-critical." +Make a judgment call about whether the current setting is truly +appropriate before changing the value. A PR that has been in "feedback" +state for several weeks, for instance, is definitely a candidate +for downgrade from "critical." If it were truly critical, +the submitter would have responded. + + + New state + + + +If you are modifying the state of a PR, this is where you do it. +See the next section for information about +possible values and state transitions. Note that if you change the +state of a PR, you must add an explanation in the +next field. + + + If state changed, give the reason here. To add a comment +to the case, enter text here without changing the state + + + +Any time the state of a PR is changed, the alteration must be accompanied +by an explanation. This is a free-form text box, so you can word things +however you like. It's recommended that you start with a blank line +and end with a newline, as well as inserting hard newlines to keep each +line of text short. This will make the resulting mail message much easier +to read. + + +If you merely want to annotate a PR without changing its state, just +enter the annotation text in this field. It will be recorded as a +comment
cvs commit: apache-1.3 README.configure
coar98/09/28 08:46:40 Modified:.README.configure Log: Correct some hyphen/underbar confusions. PR: 3075 Submitted by: Ryan Bloom <[EMAIL PROTECTED]> Reviewed by: Ken Coar Revision ChangesPath 1.14 +8 -8 apache-1.3/README.configure Index: README.configure === RCS file: /export/home/cvs/apache-1.3/README.configure,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- README.configure 1998/06/28 15:42:21 1.13 +++ README.configure 1998/09/28 15:46:39 1.14 @@ -13,7 +13,7 @@ The basic goal is to provide the following commonly known and expected procedure for out-of-the-box building and installing a package like Apache: -$ gunzip
cvs commit: apache-1.3 INSTALL
coar98/09/28 12:28:02 Modified:.INSTALL Log: Correct typo in mod_autoindex's name. PR: 3092 Submitted by: Hakan Lindholm <[EMAIL PROTECTED]> Revision ChangesPath 1.43 +1 -1 apache-1.3/INSTALL Index: INSTALL === RCS file: /export/home/cvs/apache-1.3/INSTALL,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- INSTALL 1998/09/19 13:06:40 1.42 +++ INSTALL 1998/09/28 19:28:01 1.43 @@ -271,7 +271,7 @@ (-) mod_speling .. Correction of misspelled URLs Directory Handling (+) mod_dir .. Directory and directory default file handling - (+) mod_auto_index ... Automated directory index file generation + (+) mod_autoindex Automated directory index file generation Access Control (+) mod_access ... Access Control (user, host, network) (+) mod_auth . HTTP Basic Authentication (user, passwd)
cvs commit: apache-1.3/src/modules/standard mod_autoindex.c
coar98/09/28 15:32:13 Modified:.STATUS htdocs/manual/mod mod_autoindex.html src CHANGES src/modules/standard mod_autoindex.c Log: There appear to be no dissenters (other than for brand-new and incompatible syntaxes) after three days, and I want to get this in for 1.3.3. It can always be modified or reverted later. Add +/- prefixes to IndexOptions keywords, allow merging of multiple occurrences, and document the changes. Revision ChangesPath 1.495 +0 -4 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.494 retrieving revision 1.495 diff -u -r1.494 -r1.495 --- STATUS1998/09/25 19:33:38 1.494 +++ STATUS1998/09/28 22:32:09 1.495 @@ -25,10 +25,6 @@ Available Patches: -* Ken's "[PATCH] Add '+' and '-' to IndexOptions keywords" - Message-ID: <[EMAIL PROTECTED]> - Status: Ken +1 - * Earle Ake: Apache 1.3.1 port to Pyramid DC/OSx <[EMAIL PROTECTED]> 1.25 +78 -4 apache-1.3/htdocs/manual/mod/mod_autoindex.html Index: mod_autoindex.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_autoindex.html,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- mod_autoindex.html1998/09/24 15:27:52 1.24 +++ mod_autoindex.html1998/09/28 22:32:10 1.25 @@ -470,8 +470,17 @@ Syntax: IndexOptions option option ... +>Syntax: IndexOptions option option ... + (Apache 1.3.2 and earlier) + Syntax: IndexOptions [+|-]option [+|-]option + ... + (Apache 1.3.3 and later) + +Context: server config, virtual host, directory, @@ -487,7 +496,15 @@ Module: mod_autoindex +>Module: mod_autoindex + +Compatibility: '+/-' syntax and merging of multiple + IndexOptions directives is only available with + Apache 1.3.3 and later + The IndexOptions directive specifies the behavior of the directory indexing. Option can be one of @@ -577,7 +594,15 @@ This will suppress the file size in fancy indexing listings. -This default is that no options are enabled. If multiple IndexOptions + +There are some noticeable differences in the behaviour of this +directive in recent (post-1.3.0) versions of Apache. + + +Apache 1.3.2 and earlier: + + +The default is that no options are enabled. If multiple IndexOptions could apply to a directory, then the most specific one is taken complete; the options are not merged. For example: @@ -589,7 +614,56 @@ </Directory> then only ScanHTMLTitles will be set for the /web/docs/spec -directory. +directory. + + +Apache 1.3.3 and later: + + +Apache 1.3.3 introduced some significant changes in the handling of +IndexOptions directives. In particular, + + + Multiple IndexOptions directives for a single + directory are now merged together. The result of the example above + will now be the equivalent of + IndexOptions FancyIndexing ScanHTMLTitles. + + The addition of the incremental syntax (i.e., prefixing + keywords with '+' or '-'). + + + +Whenever a '+' or '-' prefixed keyword is encountered, it is applied +to the current IndexOptions settings (which may have been +inherited from an upper-level directory). However, whenever an unprefixed +keyword is processed, it clears all incremental settings. Consider +the following example: + +IndexOptions +ScanHTMLTitles -IconsAreLinks FancyIndexing + +IndexOptions +SuppressSize + + + +The net effect is equivalent to +IndexOptions FancyIndexing +SuppressSize, because +the unprefixed FancyIndexing discarded the incremental +keywords before it, but allowed them to start accumulating again +afterward. + + +To unconditionally set the IndexOptions for a +particular directory, clearing the inherited settings, use + + +IndexOptions None + +IndexOptions new-setting ... + + + + ReadmeName 1.1083+3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1082 retrieving revision 1.1083 diff -u -r1.1082 -r1.1083 --- CHANGES 1998/09/28 20:04:33 1.1082 +++ CHANGES 1998/09/28 22:32:10 1.1083 @@ -1,5 +1,8 @@ Changes with Apache 1.3.3 + *) Add +/- incremental prefixes to IndexOptions keywords, and + enable merging of multiple IndexOptions directives. [Ken Coar] + *) PORT: Allow Gues