cvs commit: apache-1.3 STATUS
dgaudet 98/03/28 04:01:42 Modified:.STATUS Log: the why Revision ChangesPath 1.229 +10 -0 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.228 retrieving revision 1.229 diff -u -r1.228 -r1.229 --- STATUS1998/03/28 11:58:11 1.228 +++ STATUS1998/03/28 12:01:41 1.229 @@ -442,6 +442,16 @@ having real fits keeping it alive on a dual processor machine. Could be OS problems.. + * vformatter TODO: +- double check logic in apapi_vformatter(), and especially psprintf() +- fix ALLOC_USE_MALLOC, make sure ALLOC_DEBUG and POOL_DEBUG still work +- add in and use the inaddr formatting codes that started the whole + debate last october +- ... so that we can finally start fixing all the log messages that + were previously log_reason(), which included the client address, + but now using aplog_error() they're without the client address, and + that sucks + Win32 specific issues: Open issues:
cvs commit: apache-1.3 STATUS
dgaudet 98/03/28 04:03:45 Modified:.STATUS Log: oh yeah almost forgot Revision ChangesPath 1.230 +1 -0 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.229 retrieving revision 1.230 diff -u -r1.229 -r1.230 --- STATUS1998/03/28 12:01:41 1.229 +++ STATUS1998/03/28 12:03:44 1.230 @@ -451,6 +451,7 @@ were previously log_reason(), which included the client address, but now using aplog_error() they're without the client address, and that sucks +- bump mmn and make it official (wanna make sure the api is right first) Win32 specific issues:
cvs commit: apache-1.3/src/modules/experimental Makefile.tmpl
dgaudet 98/03/28 04:06:55 Modified:src CHANGES src/ap Makefile.tmpl src/modules/experimental Makefile.tmpl Log: a few cleanups after apapi_vformatter Revision ChangesPath 1.742 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.741 retrieving revision 1.742 diff -u -r1.741 -r1.742 --- CHANGES 1998/03/28 11:58:13 1.741 +++ CHANGES 1998/03/28 12:06:52 1.742 @@ -8,6 +8,10 @@ various bits of code which used ap_snprintf()/pstrdup(). [Dean Gaudet] + *) PORT: HAVE_SNPRINTF doesn't do anything any longer. This is because + ap_snprintf() has different semantics and formatting codes than + snprintf(). [Dean Gaudet] + *) SIGXCPU and SIGXFSZ are now reset to SIG_DFL at boot-time. This is necessary on at least Solaris where the /etc/rc?.d scripts are run with these signals ignored, and SIG_IGN settings are 1.18 +4 -2 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.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- Makefile.tmpl 1998/03/17 15:42:26 1.17 +++ Makefile.tmpl 1998/03/28 12:06:54 1.18 @@ -51,8 +51,10 @@ ../os/unix/os.h $(INCDIR)/hide.h $(INCDIR)/hsregex.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)/conf.h ../os/unix/os.h \ - $(INCDIR)/hide.h $(INCDIR)/hsregex.h +ap_snprintf.o: ap_snprintf.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ + ../os/unix/os.h $(INCDIR)/hide.h $(INCDIR)/hsregex.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 \ ../os/unix/os.h $(INCDIR)/hide.h $(INCDIR)/hsregex.h \ $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ 1.6 +2 -1 apache-1.3/src/modules/experimental/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apache-1.3/src/modules/experimental/Makefile.tmpl,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Makefile.tmpl 1998/03/17 15:42:29 1.5 +++ Makefile.tmpl 1998/03/28 12:06:55 1.6 @@ -20,4 +20,5 @@ $(INCDIR)/hsregex.h $(INCDIR)/alloc.h $(INCDIR)/buff.h \ $(INCDIR)/ap.h $(INCDIR)/util_uri.h \ $(INCDIR)/http_config.h $(INCDIR)/http_log.h \ - $(INCDIR)/http_protocol.h $(INCDIR)/http_request.h + $(INCDIR)/http_protocol.h $(INCDIR)/http_request.h \ + $(INCDIR)/http_core.h
cvs commit: apache-1.3/src/main http_core.c
dgaudet 98/03/28 12:57:10 Modified:htdocs/manual/mod core.html src CHANGES src/main http_core.c Log: Options +Includes wasn't corrently merged if +IncludesNoExec was defined in a parent directory. Submitted by: Lars Eilebrecht Revision ChangesPath 1.107 +3 -0 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.106 retrieving revision 1.107 diff -u -r1.106 -r1.107 --- core.html 1998/03/21 22:31:53 1.106 +++ core.html 1998/03/28 20:57:04 1.107 @@ -1818,6 +1818,9 @@ then the options CODEFollowSymLinks/CODE and CODEIncludes/CODE are set for the /web/docs/spec directory.P +STRONGNote:/STRONG Using CODE-IncludesNOEXEC/CODE or CODE-Includes/CODE +disables server-side includes completely regardless of the previous setting.P + The default in the absence of any other settings is CODEAll/CODE.P HR 1.743 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.742 retrieving revision 1.743 diff -u -r1.742 -r1.743 --- CHANGES 1998/03/28 12:06:52 1.742 +++ CHANGES 1998/03/28 20:57:07 1.743 @@ -1,5 +1,8 @@ Changes with Apache 1.3b6 + *) Options +Includes wasn't corrently merged if +IncludesNoExec + was defined in a parent directory. [Lars Eilebrecht] + *) API: ap_snprintf() code mutated into apapi_vformatter(), which is a generic printf-style routine that can call arbitrary output routines. Use this to replace http_bprintf.c. Add new routines 1.179 +2 -0 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.178 retrieving revision 1.179 diff -u -r1.178 -r1.179 --- http_core.c 1998/03/28 11:58:23 1.178 +++ http_core.c 1998/03/28 20:57:10 1.179 @@ -166,6 +166,8 @@ 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 = (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; } else { /* otherwise we just copy, because an explicit opts setting
cvs commit: apache-1.3/src/main alloc.c
dgaudet 98/03/28 13:35:42 Modified:.STATUS src/include alloc.h src/main alloc.c Log: alloc debugging stuff works with psprintf Revision ChangesPath 1.231 +0 -1 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.230 retrieving revision 1.231 diff -u -r1.230 -r1.231 --- STATUS1998/03/28 12:03:44 1.230 +++ STATUS1998/03/28 21:35:37 1.231 @@ -444,7 +444,6 @@ * vformatter TODO: - double check logic in apapi_vformatter(), and especially psprintf() -- fix ALLOC_USE_MALLOC, make sure ALLOC_DEBUG and POOL_DEBUG still work - add in and use the inaddr formatting codes that started the whole debate last october - ... so that we can finally start fixing all the log messages that 1.51 +2 -0 apache-1.3/src/include/alloc.h Index: alloc.h === RCS file: /export/home/cvs/apache-1.3/src/include/alloc.h,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- alloc.h 1998/03/28 11:58:16 1.50 +++ alloc.h 1998/03/28 21:35:38 1.51 @@ -97,6 +97,8 @@ #define pool_join(a,b) #else API_EXPORT(void) pool_join(pool *p, pool *sub); +API_EXPORT(pool *) find_pool(const void *ts); +API_EXPORT(int) pool_is_ancestor(pool *a, pool *b); #endif /* Clearing out EVERYTHING in an pool... destroys any sub-pools */ 1.81 +48 -8 apache-1.3/src/main/alloc.c Index: alloc.c === RCS file: /export/home/cvs/apache-1.3/src/main/alloc.c,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- alloc.c 1998/03/28 11:58:21 1.80 +++ alloc.c 1998/03/28 21:35:41 1.81 @@ -219,7 +219,7 @@ -#ifdef ALLOC_DEBUG +#if defined(ALLOC_DEBUG) !defined(ALLOC_USE_MALLOC) static void chk_on_blk_list(union block_hdr *blok, union block_hdr *free_blk) { while (free_blk) { @@ -535,7 +535,7 @@ /* Find the pool that ts belongs to, return NULL if it doesn't * belong to any pool. */ -pool *find_pool(const void *ts) +API_EXPORT(pool *) find_pool(const void *ts) { const char *s = ts; union block_hdr **pb; @@ -582,7 +582,7 @@ /* return TRUE iff a is an ancestor of b * NULL is considered an ancestor of all pools */ -int pool_is_ancestor(pool *a, pool *b) +API_EXPORT(int) pool_is_ancestor(pool *a, pool *b) { if (a == NULL) { return 1; @@ -771,11 +771,6 @@ return res; } -/* XXX */ -#ifdef ALLOC_USE_MALLOC -#error psprintf does not support ALLOC_USE_MALLOC yet... -#endif - /* psprintf is implemented by writing directly into the current * block of the pool, starting right at first_avail. If there's * insufficient room, then a new block is allocated and the earlier @@ -785,13 +780,36 @@ struct psprintf_data { pool *p; +#ifdef ALLOC_USE_MALLOC +char *base; +size_t len; +#else union block_hdr *blok; char *strp; int got_a_new_block; +#endif }; static int psprintf_write(void *vdata, const char *inp, size_t len) { +#ifdef ALLOC_USE_MALLOC +struct psprintf_data *ps; +int size; +char *ptr; + +ps = vdata; + +size = ps-len + len + 1; +ptr = realloc(ps-base, size); +if (ptr == NULL) { + fputs(Ouch! Out of memory!\n, stderr); + exit(1); +} +ps-base = ptr; +memcpy(ptr + ps-len, inp, len); +ps-len += len; +return 0; +#else struct psprintf_data *ps; union block_hdr *blok; union block_hdr *nblok; @@ -837,10 +855,31 @@ ps-blok = nblok; ps-got_a_new_block = 1; return 0; +#endif } API_EXPORT(char *) pvsprintf(pool *p, const char *fmt, va_list ap) { +#ifdef ALLOC_USE_MALLOC +struct psprintf_data ps; +void *ptr; + +block_alarms(); +ps.p = p; +ps.base = NULL; +ps.len = CLICK_SZ; /* need room at beginning for allocation_list */ +apapi_vformatter(psprintf_write, ps, fmt, ap); +ptr = ps.base; +if (ptr == NULL) { + unblock_alarms(); + return pstrdup(p, ); +} +*((char *)ptr + ps.len) = '\0'; /* room was saved for this */ +*(void **)ptr = p-allocation_list; +p-allocation_list = ptr; +unblock_alarms(); +return (char *)ptr + CLICK_SZ; +#else struct psprintf_data ps; char *strp; int size; @@ -870,6 +909,7 @@ } return strp; +#endif } API_EXPORT_NONSTD(char *) psprintf(pool *p, const char *fmt, ...)
cvs commit: apache-1.3/src/include conf.h
dgaudet 98/03/28 13:58:40 Modified:src CHANGES src/ap ap_snprintf.c src/include conf.h Log: ap_cvt and its ilk weren't threadsafe remove HAVE_CVT because we need threadsafe functions Revision ChangesPath 1.745 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.744 retrieving revision 1.745 diff -u -r1.744 -r1.745 --- CHANGES 1998/03/28 21:33:40 1.744 +++ CHANGES 1998/03/28 21:58:36 1.745 @@ -1,5 +1,9 @@ Changes with Apache 1.3b6 + *) The floating point ap_snprintf code wasn't threadsafe. + Had to remove the HAVE_CVT macro in order to do threadsafe + calling of the ?cvt() floating point routines. [Dean Gaudet] + *) PORT: Add the SCO_SV port. [Jim Jagielski] PR#1962 *) PORT: IRIX needs the -n32 flag iff using the 'cc' compiler 1.15 +18 -26apache-1.3/src/ap/ap_snprintf.c Index: ap_snprintf.c === RCS file: /export/home/cvs/apache-1.3/src/ap/ap_snprintf.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- ap_snprintf.c 1998/03/28 11:58:15 1.14 +++ ap_snprintf.c 1998/03/28 21:58:38 1.15 @@ -64,17 +64,9 @@ #include stdlib.h #include math.h -#ifdef HAVE_CVT - -#define ap_ecvt ecvt -#define ap_fcvt fcvt -#define ap_gcvt gcvt - -#else - /* * cvt.c - IEEE floating point formatting routines for FreeBSD - * from GNU libc-4.6.27 + * from GNU libc-4.6.27. Modified to be thread safe. */ /* @@ -86,12 +78,12 @@ #define NDIG80 -static char *ap_cvt(double arg, int ndigits, int *decpt, int *sign, int eflag) +/* buf must have at least NDIG bytes */ +static char *ap_cvt(double arg, int ndigits, int *decpt, int *sign, int eflag, char *buf) { register int r2; double fi, fj; register char *p, *p1; -static char buf[NDIG]; if (ndigits = NDIG - 1) ndigits = NDIG - 2; @@ -160,14 +152,14 @@ return (buf); } -static char *ap_ecvt(double arg, int ndigits, int *decpt, int *sign) +static char *ap_ecvt(double arg, int ndigits, int *decpt, int *sign, char *buf) { -return (ap_cvt(arg, ndigits, decpt, sign, 1)); +return (ap_cvt(arg, ndigits, decpt, sign, 1, buf)); } -static char *ap_fcvt(double arg, int ndigits, int *decpt, int *sign) +static char *ap_fcvt(double arg, int ndigits, int *decpt, int *sign, char *buf) { -return (ap_cvt(arg, ndigits, decpt, sign, 0)); +return (ap_cvt(arg, ndigits, decpt, sign, 0, buf)); } /* @@ -180,8 +172,9 @@ int sign, decpt; register char *p1, *p2; register int i; +char buf1[NDIG]; -p1 = ap_ecvt(number, ndigit, decpt, sign); +p1 = ap_ecvt(number, ndigit, decpt, sign, buf1); p2 = buf; if (sign) *p2++ = '-'; @@ -233,8 +226,6 @@ return (buf); } -#endif /* HAVE_CVT */ - typedef enum { NO = 0, YES = 1 } boolean_e; @@ -394,18 +385,19 @@ * The sign is returned in the is_negative argument (and is not placed * in buf). */ -static char * - conv_fp(register char format, register double num, -boolean_e add_dp, int precision, bool_int *is_negative, char *buf, int *len) +static char *conv_fp(register char format, register double num, +boolean_e add_dp, int precision, bool_int *is_negative, +char *buf, int *len) { register char *s = buf; register char *p; int decimal_point; +char buf1[NDIG]; if (format == 'f') - p = ap_fcvt(num, precision, decimal_point, is_negative); + p = ap_fcvt(num, precision, decimal_point, is_negative, buf1); else /* either e or E format */ - p = ap_ecvt(num, precision + 1, decimal_point, is_negative); + p = ap_ecvt(num, precision + 1, decimal_point, is_negative, buf1); /* * Check for Infinity and NaN @@ -493,9 +485,9 @@ { register int mask = (1 nbits) - 1; register char *p = buf_end; -static char low_digits[] = 0123456789abcdef; -static char upper_digits[] = 0123456789ABCDEF; -register char *digits = (format == 'X') ? upper_digits : low_digits; +static const char low_digits[] = 0123456789abcdef; +static const char upper_digits[] = 0123456789ABCDEF; +register const char *digits = (format == 'X') ? upper_digits : low_digits; do { *--p = digits[num mask]; 1.198 +0 -1 apache-1.3/src/include/conf.h Index: conf.h === RCS file: /export/home/cvs/apache-1.3/src/include/conf.h,v
cvs commit: apache-1.3 STATUS
dgaudet 98/03/28 14:36:46 Modified:.STATUS Log: sunny sunny weather Revision ChangesPath 1.232 +2 -0 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.231 retrieving revision 1.232 diff -u -r1.231 -r1.232 --- STATUS1998/03/28 21:35:37 1.231 +++ STATUS1998/03/28 22:36:45 1.232 @@ -451,6 +451,8 @@ but now using aplog_error() they're without the client address, and that sucks - bump mmn and make it official (wanna make sure the api is right first) + - actually no it's not the right api -- it involves an extra copy of +everything... I'll whip up a more efficient api tomorrow Win32 specific issues:
cvs commit: apache-1.3/src CHANGES
dgaudet 98/03/28 18:32:37 Modified:src CHANGES Log: typo Revision ChangesPath 1.746 +1 -1 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.745 retrieving revision 1.746 diff -u -r1.745 -r1.746 --- CHANGES 1998/03/28 21:58:36 1.745 +++ CHANGES 1998/03/29 02:32:35 1.746 @@ -12,7 +12,7 @@ *) BUG: Configure was using TCC and CC inconsistantly. Make sure Configure knows which CC we are using. [Jim Jagielski] - *) Options +Includes wasn't corrently merged if +IncludesNoExec + *) Options +Includes wasn't correctly merged if +IncludesNoExec was defined in a parent directory. [Lars Eilebrecht] *) API: ap_snprintf() code mutated into apapi_vformatter(), which is
cvs commit: apache-1.3/src/main rfc1413.c
dgaudet 98/03/29 01:33:25 Modified:src/main rfc1413.c Log: a little more efficient Revision ChangesPath 1.21 +3 -2 apache-1.3/src/main/rfc1413.c Index: rfc1413.c === RCS file: /export/home/cvs/apache-1.3/src/main/rfc1413.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- rfc1413.c 1998/03/17 08:21:03 1.20 +++ rfc1413.c 1998/03/29 09:33:24 1.21 @@ -106,6 +106,7 @@ int i; char *cp; char buffer[RFC1413_MAXDATA + 1]; +int buflen; /* * Bind the local and remote ends of the query socket to the same @@ -137,10 +138,10 @@ return -1; /* send the data */ -ap_snprintf(buffer, sizeof(buffer), %u,%u\r\n, ntohs(rmt_sin-sin_port), +buflen = ap_snprintf(buffer, sizeof(buffer), %u,%u\r\n, ntohs(rmt_sin-sin_port), ntohs(our_sin-sin_port)); do - i = write(sock, buffer, strlen(buffer)); + i = write(sock, buffer, buflen); while (i == -1 errno == EINTR); if (i == -1) { aplog_error(APLOG_MARK, APLOG_CRIT, srv,
cvs commit: apache-1.3/conf httpd.conf-dist httpd.conf-dist-win
dgaudet 98/03/29 11:11:58 Modified:src CHANGES conf httpd.conf-dist httpd.conf-dist-win Log: give CustlomLog examples rather than examples of the old directives Submitted by: Lars Eilebrecht Revision ChangesPath 1.748 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.747 retrieving revision 1.748 diff -u -r1.747 -r1.748 --- CHANGES 1998/03/29 12:27:31 1.747 +++ CHANGES 1998/03/29 19:11:54 1.748 @@ -1,5 +1,9 @@ Changes with Apache 1.3b6 + *) Modify the log directives in httpd.conf-dist files to use CustomLog + so that users have examples of how CustomLog can be used. + [Lars Eilebrecht] + *) Add the new Apache Autoconf-style Interface (APACI) for the top-level of the Apache distribution tree. Until Apache 1.3 there was no real out-of-the-box batch-capable build and installation procedure for the 1.24 +22 -3 apache-1.3/conf/httpd.conf-dist Index: httpd.conf-dist === RCS file: /export/home/cvs/apache-1.3/conf/httpd.conf-dist,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- httpd.conf-dist 1998/03/27 11:00:22 1.23 +++ httpd.conf-dist 1998/03/29 19:11:57 1.24 @@ -74,10 +74,29 @@ LogLevel warn -# TransferLog: The location of the transfer log file. If this does not -# start with /, ServerRoot is prepended to it. +# The following directives define some format nicknames for use with +# a CustomLog directive (see below). -TransferLog logs/access_log +LogFormat %h %l %u %t \%r\ %s %b \%{Referer}i\ \%{User-Agent}i\ combined +LogFormat %h %l %u %t \%r\ %s %b common +LogFormat %{Referer}i - %U referer +LogFormat %{User-agent}i agent + +# The location of the access logfile (Common Logfile Format). +# If this does not start with /, ServerRoot is prepended to it. + +CustomLog logs/access_log common + +# If you would like to have an agent and referer logfile uncomment the +# following directives. + +#CustomLog logs/referer_log referer +#CustomLog logs/agent_log agent + +# If you prefer a single logfile with access, agent and referer information +# (Combined Logfile Format) you can use the following directive. + +#CustomLog logs/access_log combined # PidFile: The file the server should log its pid to PidFile logs/httpd.pid 1.12 +22 -3 apache-1.3/conf/httpd.conf-dist-win Index: httpd.conf-dist-win === RCS file: /export/home/cvs/apache-1.3/conf/httpd.conf-dist-win,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- httpd.conf-dist-win 1998/03/21 17:34:04 1.11 +++ httpd.conf-dist-win 1998/03/29 19:11:57 1.12 @@ -79,10 +79,29 @@ LogLevel warn -# TransferLog: The location of the transfer log file. If this does not -# start with /, ServerRoot is prepended to it. +# The following directives define some format nicknames for use with +# a CustomLog directive (see below). -TransferLog logs/access_log +LogFormat %h %l %u %t \%r\ %s %b \%{Referer}i\ \%{User-Agent}i\ combined +LogFormat %h %l %u %t \%r\ %s %b common +LogFormat %{Referer}i - %U referer +LogFormat %{User-agent}i agent + +# The location of the access logfile (Common Logfile Format). +# If this does not start with /, ServerRoot is prepended to it. + +CustomLog logs/access_log common + +# If you would like to have an agent and referer logfile uncomment the +# following directives. + +#CustomLog logs/referer_log referer +#CustomLog logs/agent_log agent + +# If you prefer a single logfile with access, agent and referer information +# (Combined Logfile Format) you can use the following directive. + +#CustomLog logs/access_log combined # PidFile: The file the server should log its pid to PidFile logs/httpd.pid
cvs commit: apache-1.3 STATUS
dgaudet 98/03/29 17:14:35 Modified:.STATUS Log: damnit all Revision ChangesPath 1.236 +10 -2 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.235 retrieving revision 1.236 diff -u -r1.235 -r1.236 --- STATUS1998/03/29 12:27:26 1.235 +++ STATUS1998/03/30 01:14:34 1.236 @@ -169,16 +169,24 @@ ap_xxx: +1: Ken, Brian, Ralf, Martin, Paul, Roy, Jim Public API functions (e.g., palloc) - apapi_xxx: +1: Ken, Brian, Ralf, Martin, Paul, Dean, Roy, Jim + apapi_xxx: +1: Ken, Brian, Ralf, Martin, Paul, Roy, Jim appublic_xxx: appub_xxx: Private functions which we can't make static but should be (e.g., new_connection) apprivate_xxx: - appri_xxx: +1: Brian, Dean, Roy, Paul, Jim + appri_xxx: +1: Brian, Roy, Paul, Jim httpd_xxx: +1: Ken apint_xxx: +1: Ralf (int = internal) + + Alternate proposal: + Everything should be ap_: +1 Dean + Why? Because it's far easier to type, and damn it, I + type these things far too much. Just using apapi_ for + the few hours I did while writing apapi_vformatter is + making me puke. So many extra characters, so much wasted + screen width, and keystrokes. -Dean * Paul would like to see a 'gdbm' option because he uses it a lot. Dean notes that 'gdbm' include 'db' support
cvs commit: apache-1.3/src/main alloc.c buff.c
dgaudet 98/03/29 17:22:53 Modified:.STATUS src CHANGES src/ap ap_snprintf.c src/include ap.h src/main alloc.c buff.c Log: Satisfy the naming police. I prefer ap_ anyhow. I would be a lot happier with a single prefix as already noted in STATUS. Revision ChangesPath 1.237 +2 -2 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.236 retrieving revision 1.237 diff -u -r1.236 -r1.237 --- STATUS1998/03/30 01:14:34 1.236 +++ STATUS1998/03/30 01:22:43 1.237 @@ -119,7 +119,7 @@ * Fix for symlink check in mod_rewrite's ``RewriteCond ... -l'', PR#2010 * Fix: SIGXCPU and SIGXFSZ are now reset to SIG_DFL at boot-time * Dean's remove of HAVE_SNPRINTF -* Dean's mutation of ap_snprintf() code into apapi_vformatter() +* Dean's mutation of ap_snprintf() code into ap_vformatter() * Lars' fix for Options +Includes and +IncludesNoExec merging * Jim's fix for inconsistent usage of TCC and CC in Configure * Jim's fix for IRIX which needs the -n32 flag iff using 'cc', PR#1901 @@ -285,7 +285,7 @@ machine. Could be OS problems.. * vformatter TODO: -- double check logic in apapi_vformatter(), and especially psprintf() +- double check logic in ap_vformatter(), and especially psprintf() - add in and use the inaddr formatting codes that started the whole debate last october - ... so that we can finally start fixing all the log messages that 1.749 +1 -1 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.748 retrieving revision 1.749 diff -u -r1.748 -r1.749 --- CHANGES 1998/03/29 19:11:54 1.748 +++ CHANGES 1998/03/30 01:22:45 1.749 @@ -30,7 +30,7 @@ *) Options +Includes wasn't correctly merged if +IncludesNoExec was defined in a parent directory. [Lars Eilebrecht] - *) API: ap_snprintf() code mutated into apapi_vformatter(), which is + *) API: ap_snprintf() code mutated into ap_vformatter(), which is a generic printf-style routine that can call arbitrary output routines. Use this to replace http_bprintf.c. Add new routines psprintf(), pvsprintf() which allocate the exact amount of memory 1.17 +7 -7 apache-1.3/src/ap/ap_snprintf.c Index: ap_snprintf.c === RCS file: /export/home/cvs/apache-1.3/src/ap/ap_snprintf.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- ap_snprintf.c 1998/03/29 09:35:40 1.16 +++ ap_snprintf.c 1998/03/30 01:22:47 1.17 @@ -504,8 +504,8 @@ /* * Do format conversion placing the output in buffer */ -API_EXPORT(int) apapi_vformatter(int (*flush_func)(apapi_vformatter_buff *), -apapi_vformatter_buff *vbuff, const char *fmt, va_list ap) +API_EXPORT(int) ap_vformatter(int (*flush_func)(ap_vformatter_buff *), +ap_vformatter_buff *vbuff, const char *fmt, va_list ap) { register char *sp; register char *bep; @@ -878,7 +878,7 @@ } -static int snprintf_flush(apapi_vformatter_buff *vbuff) +static int snprintf_flush(ap_vformatter_buff *vbuff) { return -1; } @@ -888,7 +888,7 @@ { int cc; va_list ap; -apapi_vformatter_buff vbuff; +ap_vformatter_buff vbuff; if (len == 0) return 0; @@ -897,7 +897,7 @@ vbuff.curpos = buf; vbuff.endpos = buf + len - 1; va_start(ap, format); -cc = apapi_vformatter(snprintf_flush, vbuff, format, ap); +cc = ap_vformatter(snprintf_flush, vbuff, format, ap); va_end(ap); *vbuff.curpos = '\0'; return (cc == -1) ? len : cc; @@ -908,7 +908,7 @@ va_list ap) { int cc; -apapi_vformatter_buff vbuff; +ap_vformatter_buff vbuff; if (len == 0) return 0; @@ -916,7 +916,7 @@ /* save one byte for nul terminator */ vbuff.curpos = buf; vbuff.endpos = buf + len - 1; -cc = apapi_vformatter(snprintf_flush, vbuff, format, ap); +cc = ap_vformatter(snprintf_flush, vbuff, format, ap); *vbuff.curpos = '\0'; return (cc == -1) ? len : cc; } 1.10 +10 -10apache-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.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- ap.h 1998/03/29 09:35:41 1.9 +++ ap.h
cvs commit: apache-1.3 STATUS
dgaudet 98/03/29 19:18:02 Modified:.STATUS Log: veto Revision ChangesPath 1.241 +1 -1 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.240 retrieving revision 1.241 diff -u -r1.240 -r1.241 --- STATUS1998/03/30 02:36:19 1.240 +++ STATUS1998/03/30 03:18:01 1.241 @@ -138,7 +138,7 @@ * Ken's change to helpers/UpdateHide and include/hide.h to adopt appri_ as the concealed private interface prefix (replacing the placeholder AP_) - Status: Ken +1 + Status: Ken +1, Dean -1 In progress:
cvs commit: apache-1.3 STATUS
dgaudet 98/03/30 10:29:08 Modified:.STATUS Log: that patch is already in the server, part of the test_char stuff in util.c Revision ChangesPath 1.246 +0 -4 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.245 retrieving revision 1.246 diff -u -r1.245 -r1.246 --- STATUS1998/03/30 15:31:37 1.245 +++ STATUS1998/03/30 18:29:07 1.246 @@ -137,10 +137,6 @@ Chuck +1, MarkC +1, Ralf +1, Sameer +1, Martin +1, Dean +1 Brian +1 -* Dean's patch to speed up os_escape_path - [EMAIL PROTECTED] - Status: Brian +1 - In progress: * Ken's IndexFormat enhancement to mod_autoindex to allow
cvs commit: apache-1.2/src CHANGES http_protocol.c
dgaudet 98/04/01 03:48:13 Modified:src CHANGES http_protocol.c Log: parse_uri didn't test for nul properly PR: 2019 Submitted by: Patrick Bihan-Faou [EMAIL PROTECTED] Revision ChangesPath 1.305 +3 -0 apache-1.2/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.2/src/CHANGES,v retrieving revision 1.304 retrieving revision 1.305 diff -u -r1.304 -r1.305 --- CHANGES 1998/03/26 21:27:44 1.304 +++ CHANGES 1998/04/01 11:48:11 1.305 @@ -1,5 +1,8 @@ Changes with Apache 1.2.7 + *) Fix a typo in url parsing code that could cause it to read past + end of buffer. [Patrick Bihan-Faou [EMAIL PROTECTED]] PR#2019 + *) Fixed a bug in URL parsing that caused a wrong decoding of URLs with empty paths. [Alvaro MartÃnez EchevarrÃa [EMAIL PROTECTED]] 1.134 +1 -1 apache-1.2/src/http_protocol.c Index: http_protocol.c === RCS file: /export/home/cvs/apache-1.2/src/http_protocol.c,v retrieving revision 1.133 retrieving revision 1.134 diff -u -r1.133 -r1.134 --- http_protocol.c 1998/03/26 21:27:45 1.133 +++ http_protocol.c 1998/04/01 11:48:12 1.134 @@ -512,7 +512,7 @@ #endif /* A proxy request contains a ':' early on, but not as first character */ -for (s=uri; s != '\0'; s++) +for (s=uri; *s != '\0'; s++) if (!isalnum(*s) *s != '+' *s != '-' *s != '.') break; if (*s == ':' s != uri)
cvs commit: apache-1.3/src/main http_protocol.c
dgaudet 98/04/01 12:53:17 Modified:src/main http_protocol.c Log: Yup it's safe to remove the extra method_number stuff Martin. It's not used for subrequests. Revision ChangesPath 1.207 +0 -21 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.206 retrieving revision 1.207 diff -u -r1.206 -r1.207 --- http_protocol.c 1998/04/01 14:41:34 1.206 +++ http_protocol.c 1998/04/01 20:53:16 1.207 @@ -797,27 +797,6 @@ conn-keptalive = 0;/* We now have a request to play with */ -if (!strcmp(r-method, HEAD)) { -r-header_only = 1; -r-method_number = M_GET; -} -else if (!strcmp(r-method, GET)) -r-method_number = M_GET; -else if (!strcmp(r-method, POST)) -r-method_number = M_POST; -else if (!strcmp(r-method, PUT)) -r-method_number = M_PUT; -else if (!strcmp(r-method, DELETE)) -r-method_number = M_DELETE; -else if (!strcmp(r-method, CONNECT)) -r-method_number = M_CONNECT; -else if (!strcmp(r-method, OPTIONS)) -r-method_number = M_OPTIONS; -else if (!strcmp(r-method, TRACE)) -r-method_number = M_TRACE; -else -r-method_number = M_INVALID; /* Will eventually croak. */ - if ((access_status = run_post_read_request(r))) { die(access_status, r); return NULL;
cvs commit: apache-1.3/src CHANGES Configure
dgaudet 98/04/05 14:34:39 Modified:src CHANGES Configure Log: OS/2 tweak to deal with multiple .exe targets. Submitted by: Brian Havard Revision ChangesPath 1.756 +2 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.755 retrieving revision 1.756 diff -u -r1.755 -r1.756 --- CHANGES 1998/04/03 16:07:11 1.755 +++ CHANGES 1998/04/05 21:34:37 1.756 @@ -1,4 +1,6 @@ Changes with Apache 1.3b6 + + *) PORT: OS/2 tweak to deal with multiple .exe targets. [Brian Havard] *) Add documentation file and src/Configuration.tmpl entry for the experimental mod_mmap_static module. Because although it is and marked as 1.228 +1 -1 apache-1.3/src/Configure Index: Configure === RCS file: /export/home/cvs/apache-1.3/src/Configure,v retrieving revision 1.227 retrieving revision 1.228 diff -u -r1.227 -r1.228 --- Configure 1998/04/04 16:42:45 1.227 +++ Configure 1998/04/05 21:34:38 1.228 @@ -317,9 +317,9 @@ DEF_WANTHSREGEX=yes OS='EMX OS/2' CFLAGS=$CFLAGS -Zbsd-signals -Zbin-files -DTCPIPV4 -g + LDFLAGS=$LDFLAGS -Zexe LIBS=$LIBS -lsocket -lufc -lbsd DBM_LIB=-lgdbm - TARGET=httpd.exe SHELL=sh PRINTPATH=PrintPathOS2 ;;
cvs commit: apache-1.3 STATUS
dgaudet 98/04/06 23:59:05 Modified:.STATUS Log: screw that, it breaks existing modules in an annoying manner Revision ChangesPath 1.271 +1 -2 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.270 retrieving revision 1.271 diff -u -r1.270 -r1.271 --- STATUS1998/04/07 06:56:52 1.270 +++ STATUS1998/04/07 06:59:03 1.271 @@ -314,10 +314,9 @@ - Public API module structure variables (e.g., status_module) which are used special in Configure, mod_so, etc and have to be exported: -..._module:+1: Roy [status quo] +..._module:+1: Roy [status quo], Dean ap_xxx:+1: apm_xxx: +1: Ralf, Jim - ap_mod_xxx:+1: Dean Notes: - Ralf: My opinion for my decisions are the following ones:
cvs commit: apache-1.3/htdocs/manual/mod mod_mmap_static.html
dgaudet 98/04/07 00:13:24 Modified:htdocs/manual/mod mod_mmap_static.html Log: tweak Revision ChangesPath 1.2 +23 -10apache-1.3/htdocs/manual/mod/mod_mmap_static.html Index: mod_mmap_static.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_mmap_static.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- mod_mmap_static.html 1998/04/03 16:07:15 1.1 +++ mod_mmap_static.html 1998/04/07 07:13:23 1.2 @@ -28,25 +28,27 @@ H2Summary/H2 P This is an STRONGexperimental/STRONG module and should be used with - care. It maps a list of statically configured files (via + care. You can easily create a broken site using this module, read this + document carefully. + codemod_mmap_static/code maps a list of statically configured files (via CODEMMapFile/CODE directives in the main server configuration) into - memory through the system call CODEmmap()/CODE. Although this system - call is not available on every platform, most of the modern Unix derivates - provide it. At least those ones conforming to the POSIX.4 definition. The - size of the mapable files usually has to be less then 2GB. But this is no - real restriction for documents on a webserver. + memory through the system call CODEmmap()/CODE. This system + call is available on most modern Unix derivates, but not on all. There + are sometimes system-specific limits on the size and number of files that + can be mmap()d, experimentation is probably the easiest way to find out. /P P This mmap()ing is done once at server start or restart, only. So whenever one of the mapped files changes on the filesystem you EMhave/EM to - restart the server by at least sending it a HUP or USR1 signal. To + restart the server by at least sending it a HUP or USR1 signal (see the + a href=../stopping.htmlStopping and Restarting/a documentation). To reiterate that point: if the files are modified EMin place/EM without restarting the server you may end up serving requests that are completely bogus. You should update files by unlinking the old copy and putting a new copy in place. Most tools such as CODErdist/CODE and CODEmv/CODE do this. The reason why this modules doesn't take care of changes to the files is that this check would need an extra CODEstat()/CODE every time which - is a waste and against the intend of I/O reduction. + is a waste and against the intent of I/O reduction. /P H2Directives/H2 @@ -107,9 +109,11 @@ match the filesystem path Apache's URL-to-filename translation handlers create. We cannot compare inodes or other stuff to match paths through symbolic links etc. because that again would cost extra CODEstat()/CODE - system calls which is not acceptable. + system calls which is not acceptable. This module may or may not work + with filenames rewritten by codemod_alias/code or + codemod_rewrite/code... it is an experiment after all. /P - + P Notice: You cannot use this for speeding up CGI programs or other files which are served by special content handlers. It can only be used for @@ -121,6 +125,15 @@ PRE MMapFile /usr/local/apache/htdocs/index.html /PRE + + P + bNote/b: don't bother asking for a for a codeMMapDir/code directive which + recursively maps all the files in a directory. Use Unix the way it was + meant to be used. For example, see the + a href=core.html#includeInclude/a directive, and consider this command: + blockquotepre + find /www/htdocs -type f -print | sed -e 's/.*/mmapfile /' /www/conf/mmap.conf + /pre/blockquote !--#include virtual=footer.html -- /BODY
cvs commit: apache-1.3/src Configuration.tmpl
dgaudet 98/04/07 00:16:48 Modified:src Configuration.tmpl Log: be more explicit about mod_mmap_static Revision ChangesPath 1.95 +4 -6 apache-1.3/src/Configuration.tmpl Index: Configuration.tmpl === RCS file: /export/home/cvs/apache-1.3/src/Configuration.tmpl,v retrieving revision 1.94 retrieving revision 1.95 diff -u -r1.94 -r1.95 --- Configuration.tmpl1998/04/06 11:30:48 1.94 +++ Configuration.tmpl1998/04/07 07:16:47 1.95 @@ -347,12 +347,10 @@ # AddModule modules/standard/mod_so.o -## mod_mmap_static lets you speedup the serving of a list of files -## by mmap()ing them at server startup-time into memory and thus -## avoiding a lot of I/O which is required on normal file serving. -## This is an experimental feature. USE IT WITH CARE AND ALWAYS -## REMEMBER THAT WHENEVER ONE OF THESE FILES CHANGES THE SERVER HAS -## TO BE RESTARTED MANUALLY TO SYNC WITH THE CHANGED FILE CONTENTS. +## mod_mmap_static is an experimental module, you almost certainly +## don't need it. It can make some webservers faster. No further +## documentation is provided here because you'd be foolish +## to use mod_mmap_static without reading the full documentation. # AddModule modules/experimental/mod_mmap_static.o
cvs commit: apache-1.3 STATUS
dgaudet 98/04/08 18:28:58 Modified:.STATUS Log: I, too, retract my votes, opinions, and plans regarding 1.3. Revision ChangesPath 1.282 +14 -52apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.281 retrieving revision 1.282 diff -u -r1.281 -r1.282 --- STATUS1998/04/09 00:42:54 1.281 +++ STATUS1998/04/09 01:28:57 1.282 @@ -15,7 +15,7 @@ or not, and if not, what changes are needed to make it right. Approve guidelines as written: - +1: Dean, Paul, Jim, Martin, Ralf, Randy, Brian, Ken + +1: Paul, Jim, Martin, Ralf, Randy, Brian, Ken +0: -1: @@ -195,15 +195,12 @@ Needs patch: -* Dean's locale project - See [EMAIL PROTECTED] - * Documentation for: 1) htdocs/manual/sourcereorg.html and other files should mention new mod_so capabilities. 2) windows.html should be cleaned up. -* uri issues (dean will do unless someone else wants 'em): +* uri issues - RFC2068 requires a server to recognize its own IP addr(s) in dot notation, we do this fine if the user follows the dns-caveats documentation... we should handle it in the case the user doesn't ever @@ -233,11 +230,11 @@ ap_xxx:+1: Ken, Brian, Ralf, Martin, Paul, Randy - Public API functions (e.g., palloc) -ap_xxx:+1: Ralf, Dean, Randy, Martin, Brian, Paul +ap_xxx:+1: Ralf, Randy, Martin, Brian, Paul - Private functions which we can't make static (because of cross-object usage) but should be (e.g., new_connection) -ap_xxx:+1: Dean, Randy, Martin, Brian, Paul +ap_xxx:+1: Randy, Martin, Brian, Paul -0: Ralf apx_xxx: +1: Ralf appri_xxx: +0: Ralf @@ -246,7 +243,7 @@ status_module) which are used special in Configure, mod_so, etc and have to be exported: [CANNOT BE DONE AUTOMATICALLY BY RENAME.PL!] -..._module:+1: Dean +..._module:+1: +0: Ralf ap_xxx:+1: -0: Ralf @@ -293,32 +290,6 @@ the user while still providing the private symbolspace. -- Dean: [Use ap_ only] Why? Because it's far easier to type, - and damn it, I type these things far too much. Just using - apapi_ for the few hours I did while writing - apapi_vformatter is making me puke. So many extra - characters, so much wasted screen width, and - keystrokes. - - Furthermore, nobody has explained just what happens when - functions which are part of the API, such as palloc - suddenly get moved to libap and are no longer part of - the API. Calling it apapi_palloc is foolish. The name - ap_palloc has two prefixes for those not paying attention, - the first ap_ protects apache's namespace. The next, - p indicates it is a pool function. Similarly we would - have ap_table_get. There's no need to waste space with - apapi_table_get, the api part is just redundant. - - If folks can't figure out what is in the api and what - isn't THEN IT'S IS A DOCUMENTATION PROBLEM. It's not - a code problem. They have to look in header files or - other docs anyhow to learn how to use a function, so why - should they repeatedly type apapi ? - - ap_ is a name space protection mechanism, it is not a - documentation mechanism. - - Randy: I agree with Dean 100%. The work created to keep this straight far outweighs any gain this could give. @@ -342,14 +313,7 @@ background of our cognitive model of the source code). * Paul would like to see a 'gdbm' option because he uses - it a lot. Dean notes that 'gdbm' include 'db' support - so we need to watch the library ordering. - - Dean notes: Check rev 1.72 - rev 1.73 of - src/Configuration.tmpl. I re-ordered mod_auth_dbm and - mod_auth_db at this time, and I'm pretty sure it was to - deal with this issue. But I think I still ran into - troubles if I automatically looked for gdbm. + it a lot. * The binary should have the same name on Win32 and UNIX. +1: Ken @@ -362,15 +326,15 @@ * Maybe a http_paths.h file? See [EMAIL PROTECTED] - +1: Dean, Brian, Paul, Ralf, Martin + +1: Brian
cvs commit: apache-1.3/src CHANGES Configure
dgaudet 98/04/09 12:31:00 Modified:src CHANGES Configure Log: build the libraries before the tools Submitted by: Ben Hyde Revision ChangesPath 1.763 +2 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.762 retrieving revision 1.763 diff -u -r1.762 -r1.763 --- CHANGES 1998/04/09 10:22:49 1.762 +++ CHANGES 1998/04/09 19:30:58 1.763 @@ -1,5 +1,7 @@ Changes with Apache 1.3b6 + *) Build the libraries before building the rest of the tools. [Ben Hyde] + *) Add distclean target to src/-Makefiles to provide make distclean also inside the src subtree (i.e. for non-APACI users). Following GNU Makefile conventions while clean removes only stuff created by all targets, 1.232 +2 -2 apache-1.3/src/Configure Index: Configure === RCS file: /export/home/cvs/apache-1.3/src/Configure,v retrieving revision 1.231 retrieving revision 1.232 diff -u -r1.231 -r1.232 --- Configure 1998/04/09 10:22:49 1.231 +++ Configure 1998/04/09 19:30:58 1.232 @@ -90,7 +90,7 @@ tmpfile3=$tmpfile.3 awkfile=$tmpfile.4 tmpconfig=$tmpfile.5 -SUBDIRS='$(OSDIR) main ap modules' +SUBDIRS='$(OSDIR) ap main modules' ## Now handle any arguments, which, for now, is -file @@ -1142,7 +1142,7 @@ ## if [ $RULE_WANTHSREGEX = yes ]; then REGLIB=regex/libregex.a -SUBDIRS=$SUBDIRS regex +SUBDIRS=regex $SUBDIRS CFLAGS=$CFLAGS -DUSE_HSREGEX fi
cvs commit: apache-1.3/src/main http_log.c
dgaudet 98/04/11 11:51:35 Modified:src/main http_log.c Log: overzealous renaming Revision ChangesPath 1.52 +5 -5 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.51 retrieving revision 1.52 diff -u -r1.51 -r1.52 --- http_log.c1998/04/11 12:00:29 1.51 +++ http_log.c1998/04/11 18:51:34 1.52 @@ -389,15 +389,15 @@ } -void ap_log_pid (pool *p, char *ap_pid_fname) +void ap_log_pid (pool *p, char *fname) { FILE *pid_file; -if (!ap_pid_fname) return; -ap_pid_fname = ap_server_root_relative (p, ap_pid_fname); -if(!(pid_file = fopen(ap_pid_fname,w))) { +if (!fname) return; +fname = ap_server_root_relative (p, fname); +if(!(pid_file = fopen(fname,w))) { perror(fopen); -fprintf(stderr,httpd: could not log pid to file %s\n, ap_pid_fname); +fprintf(stderr,httpd: could not log pid to file %s\n, fname); exit(1); } fprintf(pid_file,%ld\n,(long)getpid());
cvs commit: apache-devsite mmn.txt
dgaudet 98/04/13 11:22:17 Modified:.mmn.txt Log: ap_vformatter Revision ChangesPath 1.19 +1 -0 apache-devsite/mmn.txt Index: mmn.txt === RCS file: /export/home/cvs/apache-devsite/mmn.txt,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- mmn.txt 1998/04/13 18:14:51 1.18 +++ mmn.txt 1998/04/13 18:22:16 1.19 @@ -51,3 +51,4 @@ 19980324 (1.3b6-dev) - API_EXPORT(index_of_response) 19980413 (1.3b6-dev) - The BIG SYMBOL RENAMING: general ap_ prefix (see src/include/compat.h for more details) + - ap_vformatter() API, see src/include/ap.h
cvs commit: apache-1.3/src CHANGES Configure
dgaudet 98/04/15 10:10:20 Modified:src CHANGES Configure Log: clean up warnings on hpux 10.01 Submitted by: Ben Hyde Revision ChangesPath 1.769 +1 -1 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.768 retrieving revision 1.769 diff -u -r1.768 -r1.769 --- CHANGES 1998/04/15 17:09:25 1.768 +++ CHANGES 1998/04/15 17:10:17 1.769 @@ -1,6 +1,6 @@ Changes with Apache 1.3b6 - *) PORT: Clean up warnings on Ultrix. [Ben Hyde] + *) PORT: Clean up warnings on Ultrix and HPUX. [Ben Hyde] *) Adding DSO support for the HP/UX platform by emulating the dlopen-style interface via the similar but proprietary HP/UX shl_xxx-style system 1.238 +7 -0 apache-1.3/src/Configure Index: Configure === RCS file: /export/home/cvs/apache-1.3/src/Configure,v retrieving revision 1.237 retrieving revision 1.238 diff -u -r1.237 -r1.238 --- Configure 1998/04/12 15:49:26 1.237 +++ Configure 1998/04/15 17:10:18 1.238 @@ -341,6 +341,13 @@ *-hp-hpux10.*) OS='HP-UX 10' CFLAGS=$CFLAGS -DHPUX10 + case $PLAT in + *-hp-hpux10.01) +# We know this is a problem in 10.01. + # Not a problem in 10.20. Otherwise, who knows? + CFLAGS=$CFLAGS -DSELECT_NEEDS_CAST + ;; + esac DEF_WANTHSREGEX=yes ;; *-hp-hpux*)
cvs commit: apache-devsite todo.html project-plan.html
dgaudet 98/04/15 10:15:48 Modified:.todo.html project-plan.html Log: these are out of date Revision ChangesPath 1.4 +12 -0 apache-devsite/todo.html Index: todo.html === RCS file: /export/home/cvs/apache-devsite/todo.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- todo.html 1998/02/12 14:39:24 1.3 +++ todo.html 1998/04/15 17:15:47 1.4 @@ -4,6 +4,18 @@ H2Apache Bugs List / To Do List / Wish List/H2 +hr +pstrongTHIS LIST IS COMPLETELY AND UTTERLY OUT OF DATE. But nobody +ever gets around to cleaning it up... because we've got an entirely +different method of tracking these things. The real todo lists are +in STATUS messages regularly posted to the new-httpd mailing list, +and available in the STATUS file in the root of each development +tree (1.2, 1.3, and 2.0). The todo also includes various bugs in +the a href=http://bugs.apache.org/;bug database/a./strong +phr + +strongYou've been warned!/strongp + STRONGBUGS/STRONG UL 1.4 +7 -0 apache-devsite/project-plan.html Index: project-plan.html === RCS file: /export/home/cvs/apache-devsite/project-plan.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- project-plan.html 1998/01/12 14:20:46 1.3 +++ project-plan.html 1998/04/15 17:15:47 1.4 @@ -4,6 +4,13 @@ BODY H1Apache Server Project Plan/H1 +hr +pstrongTHIS DOCUMENT IS COMPLETELY AND UTTERLY OUT OF DATE. But nobody +ever gets around to cleaning it up... there is no well defined plan +for apache 1.3 and beyond./strong +phr + +strongYou've been warned!/strongp This document aims to encapsulate our plans for world domination, uh, I mean, further work on the Apache web server. This is simply a
cvs commit: apache-1.3 STATUS
dgaudet 98/04/15 11:29:26 Modified:.STATUS Log: someone else needs to do this. Revision ChangesPath 1.297 +5 -10 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.296 retrieving revision 1.297 diff -u -r1.296 -r1.297 --- STATUS1998/04/15 17:50:22 1.296 +++ STATUS1998/04/15 18:29:25 1.297 @@ -195,6 +195,11 @@ * proxy security fixes from 1.2.5 need to be brought forward +* Someone other than Dean has to do a security/correctness review on + psprintf(), bprintf(), and ap_snprintf(). In particular these routines + do lots of fun pointer manipulations and such and possibly have overflow + errors. The respective flush_funcs also need to be exercised. + Needs patch: * Documentation for: @@ -285,16 +290,6 @@ Randy: I would also argue that 1.3b6 is _not_ stable. I've been having real fits keeping it alive on a dual processor machine. Could be OS problems.. - - * vformatter TODO: -- double check logic in ap_vformatter(), and especially psprintf() -- add in and use the inaddr formatting codes that started the whole - debate last october -- ... so that we can finally start fixing all the log messages that - were previously log_reason(), which included the client address, - but now using aplog_error() they're without the client address, and - that sucks -- bump mmn and make it official (wanna make sure the api is right first) Win32 specific issues:
cvs commit: apache-1.3/src/test tcpdumpscii.txt
dgaudet 98/04/17 15:11:57 Added: src/test tcpdumpscii.txt Log: script for decoding ascii in tcpdump output Revision ChangesPath 1.1 apache-1.3/src/test/tcpdumpscii.txt Index: tcpdumpscii.txt === From [EMAIL PROTECTED] Fri Apr 17 15:16:16 1998 Date: Sat, 22 Nov 1997 20:44:10 -0700 (MST) From: Marc Slemko [EMAIL PROTECTED] To: TLOSAP new-httpd@apache.org Subject: Re: Getting ethernet packets content under FreeBSD? (fwd) Reply-To: new-httpd@apache.org Anyone too lazy to hack tcpdump (eg. my tcpdump has a -X option to display the data in ASCII) can use something like the below to grab HTTP headers when debugging broken clients. Nothing complicated, but handy. -- Forwarded message -- Date: Sat, 22 Nov 1997 14:35:23 PST From: Bill Fenner [EMAIL PROTECTED] To: Nate Williams [EMAIL PROTECTED] Cc: [EMAIL PROTECTED], [EMAIL PROTECTED] Subject: Re: Getting ethernet packets content under FreeBSD? I usually just use this perl script, which I call tcpdumpscii. Then run tcpdumpscii -s 1500 -x [other tcpdump args]. Bill #!/import/misc/bin/perl # # open(TCPDUMP,tcpdump -l @ARGV|); while (TCPDUMP) { if (/^\s+(\S\S)+/) { $sav = $_; $asc = ; while (s/\s*(\S\S)\s*//) { $i = hex($1); if ($i 32 || $i 126) { $asc .= .; } else { $asc .= pack(C,hex($1)); } } $foo = . x length($asc); $_ = $sav; s/\t//g; s/^$foo/$asc/; } print; }
cvs commit: apache-1.3 STATUS
dgaudet 98/04/18 00:40:38 Modified:.STATUS Log: there, now I've only got 25 messages in my apache inbox Revision ChangesPath 1.303 +14 -0 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.302 retrieving revision 1.303 diff -u -r1.302 -r1.303 --- STATUS1998/04/18 01:57:34 1.302 +++ STATUS1998/04/18 07:40:37 1.303 @@ -58,6 +58,14 @@ 414 responses. [EMAIL PROTECTED] +* Ronald Tschalaer's Accept-Encoding patch + [EMAIL PROTECTED] + Status: Dean +1 + +* Dean's patch for OPTIMIZE_TIMEOUTS to remove rare race + [EMAIL PROTECTED] + Status: Dean +0 + In progress: * Ken's IndexFormat enhancement to mod_autoindex to allow @@ -71,6 +79,12 @@ psprintf(), bprintf(), and ap_snprintf(). In particular these routines do lots of fun pointer manipulations and such and possibly have overflow errors. The respective flush_funcs also need to be exercised. + +* The fatal errors that the children detect and fill up the log with + (such as bogus group id) need to be stopped. The proposed fix is to + make the child exit with a special code when a fatal error occurs; the + parent would then abort. See + [EMAIL PROTECTED] Documentation that needs writing:
cvs commit: apache-1.3/src/modules/standard mod_access.c
dgaudet 98/04/19 12:19:39 Modified:src CHANGES src/ap ap_snprintf.c src/include ap.h src/modules/standard mod_access.c Log: add %pA, %pI, and %pp format codes Reviewed by: Martin Kraemer Revision ChangesPath 1.776 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.775 retrieving revision 1.776 diff -u -r1.775 -r1.776 --- CHANGES 1998/04/19 16:03:40 1.775 +++ CHANGES 1998/04/19 19:19:35 1.776 @@ -1,5 +1,9 @@ Changes with Apache 1.3b7 + *) Add %pA, %pI, and %pp codes to ap_vformatter (and hence ap_bprintf, + ap_snprintf, and ap_psprintf). See include/ap.h for docs. + [Dean Gaudet] + *) Because /usr/local/apache is the default prefix the ``configure --compat'' option no longer has to set prefix, again. This way the --compat option honors a leading --prefix option. [Lars Eilebrecht] 1.19 +119 -37 apache-1.3/src/ap/ap_snprintf.c Index: ap_snprintf.c === RCS file: /export/home/cvs/apache-1.3/src/ap/ap_snprintf.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- ap_snprintf.c 1998/03/31 12:52:13 1.18 +++ ap_snprintf.c 1998/04/19 19:19:36 1.19 @@ -384,6 +384,43 @@ +static char *conv_in_addr(struct in_addr *ia, char *buf_end, int *len) +{ +unsigned addr = ntohl(ia-s_addr); +char *p = buf_end; +bool_int is_negative; +int sub_len; + +p = conv_10((addr 0x00FF) , TRUE, is_negative, p, sub_len); +*--p = '.'; +p = conv_10((addr 0xFF00) 8, TRUE, is_negative, p, sub_len); +*--p = '.'; +p = conv_10((addr 0x00FF) 16, TRUE, is_negative, p, sub_len); +*--p = '.'; +p = conv_10((addr 0xFF00) 24, TRUE, is_negative, p, sub_len); + +*len = buf_end - p; +return (p); +} + + + +static char *conv_sockaddr_in(struct sockaddr_in *si, char *buf_end, int *len) +{ +char *p = buf_end; +bool_int is_negative; +int sub_len; + +p = conv_10(ntohs(si-sin_port), TRUE, is_negative, p, sub_len); +*--p = ':'; +p = conv_in_addr(si-sin_addr, p, sub_len); + +*len = buf_end - p; +return (p); +} + + + /* * Convert a floating point number to a string formats 'f', 'e' or 'E'. * The result is placed in buf, and len denotes the length of the string @@ -660,33 +697,27 @@ i_num = va_arg(ap, u_wide_int); else i_num = (wide_int) va_arg(ap, unsigned int); - /* - * The rest also applies to other integer formats, so fall - * into that case. - */ + s = conv_10(i_num, 1, is_negative, + num_buf[NUM_BUF_SIZE], s_len); + FIX_PRECISION(adjust_precision, precision, s, s_len); + break; + case 'd': case 'i': - /* - * Get the arg if we haven't already. - */ - if ((*fmt) != 'u') { - if (is_long) - i_num = va_arg(ap, wide_int); - else - i_num = (wide_int) va_arg(ap, int); - }; - s = conv_10(i_num, (*fmt) == 'u', is_negative, + if (is_long) + i_num = va_arg(ap, wide_int); + else + i_num = (wide_int) va_arg(ap, int); + s = conv_10(i_num, 0, is_negative, num_buf[NUM_BUF_SIZE], s_len); FIX_PRECISION(adjust_precision, precision, s, s_len); - if (*fmt != 'u') { - if (is_negative) - prefix_char = '-'; - else if (print_sign) - prefix_char = '+'; - else if (print_blank) - prefix_char = ' '; - } + if (is_negative) + prefix_char = '-'; + else if (print_sign) + prefix_char = '+'; + else if (print_blank) + prefix_char = ' '; break; @@ -801,26 +832,77 @@ break; /* - * Always extract the argument as a char * pointer. We - * should be using void * but there are still machines - * that don't understand it. - * If the pointer size is equal to the size of an unsigned - * integer we convert the pointer to a hex number, otherwise - * we print %p to indicate
cvs commit: apache-1.3/src/support httpd.8
dgaudet 98/04/19 13:10:49 Modified:htdocs/manual invoking.html new_features_1_3.html htdocs/manual/vhosts index.html src CHANGES src/include http_conf_globals.h httpd.h src/main http_core.c http_main.c http_vhost.c src/support httpd.8 Log: This should help folks trying to understand vhosts. It adds the command line option -S which dumps a description of how apache parsed the vhost directives. In particular it'd really help the folks who recently ran into /etc/hosts mismatches with DNS. Revision ChangesPath 1.18 +4 -0 apache-1.3/htdocs/manual/invoking.html Index: invoking.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/invoking.html,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- invoking.html 1998/02/05 20:04:10 1.17 +++ invoking.html 1998/04/19 20:10:41 1.18 @@ -59,6 +59,10 @@ DTCODE-l/CODE DDGive a list of all modules compiled into the server. +DTCODE-S/CODE +DDShow the settings as parsed from the config file (currently only +shows a breakdown of the vhost settings). + DTCODE-?/CODE DDPrint a list of the httpd options, and then exit. /DL 1.53 +7 -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.52 retrieving revision 1.53 diff -u -r1.52 -r1.53 --- new_features_1_3.html 1998/04/01 12:23:13 1.52 +++ new_features_1_3.html 1998/04/19 20:10:42 1.53 @@ -626,6 +626,13 @@ outside the Apache source tree. To achieve this APACI installs the Apache C header files together with the CODEapxs/CODE tool. /LI + listrong-S command line option for debugging vhost setup/strong + br + If Apache is invoked with the code-S/code command line option it will + dump out information regarding how it parsed the codeVirtualHost/code + sections. This is useful for folks trying to debug their virtual host + configuration. + /li /UL !--#include virtual=footer.html -- 1.3 +6 -0 apache-1.3/htdocs/manual/vhosts/index.html Index: index.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/vhosts/index.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- index.html1998/01/26 16:54:34 1.2 +++ index.html1998/04/19 20:10:43 1.3 @@ -53,6 +53,12 @@ LIA HREF=../mod/core.html#serverpathServerPath/A /UL +pFolks trying to debug their virtual host configuration may find the +Apache code-S/code command line switch useful. It will dump out a +description of how Apache parsed the configuration file. Careful +examination of the IP addresses and server names may help uncover +configuration mistakes. + !--#include virtual=footer.html -- /BODY /HTML 1.777 +5 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.776 retrieving revision 1.777 diff -u -r1.776 -r1.777 --- CHANGES 1998/04/19 19:19:35 1.776 +++ CHANGES 1998/04/19 20:10:43 1.777 @@ -1,5 +1,10 @@ Changes with Apache 1.3b7 + *) If you start apache with the -S command line option it will dump + out the parsed vhost settings. This is useful for folks trying + to figure out what is wrong with their vhost configuration. + (Other dumps may be added in the future.) [Dean Gaudet] + *) Add %pA, %pI, and %pp codes to ap_vformatter (and hence ap_bprintf, ap_snprintf, and ap_psprintf). See include/ap.h for docs. [Dean Gaudet] 1.28 +1 -0 apache-1.3/src/include/http_conf_globals.h Index: http_conf_globals.h === RCS file: /export/home/cvs/apache-1.3/src/include/http_conf_globals.h,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- http_conf_globals.h 1998/04/11 12:00:19 1.27 +++ http_conf_globals.h 1998/04/19 20:10:44 1.28 @@ -80,6 +80,7 @@ extern int ap_daemons_limit; extern MODULE_VAR_EXPORT int ap_suexec_enabled; extern int ap_listenbacklog; +extern int ap_dump_settings; extern char *ap_pid_fname; extern char *ap_scoreboard_fname; 1.206 +4 -0 apache-1.3/src/include/httpd.h Index: httpd.h === RCS file: /export/home/cvs/apache-1.3/src/include
cvs commit: apache-1.3 STATUS
dgaudet 98/04/21 13:47:14 Modified:.STATUS Log: retract that patch Revision ChangesPath 1.321 +0 -4 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.320 retrieving revision 1.321 diff -u -r1.320 -r1.321 --- STATUS1998/04/21 17:33:58 1.320 +++ STATUS1998/04/21 20:47:13 1.321 @@ -79,10 +79,6 @@ [EMAIL PROTECTED] Status: Dean +1 -* Dean's patch for OPTIMIZE_TIMEOUTS to remove rare race - [EMAIL PROTECTED] - Status: Dean +0 - * Wilfredo Sanchez's port to Rhapsody 5.1 for 1.2.6 - forward port to 1.3? [EMAIL PROTECTED]
cvs commit: apache-site/contributors index.html
dgaudet 98/04/25 01:47:54 Modified:.ABOUT_APACHE.html contributors index.html Log: martin isn't emeritae... he's still quite active! Revision ChangesPath 1.15 +6 -6 apache-site/ABOUT_APACHE.html Index: ABOUT_APACHE.html === RCS file: /export/home/cvs/apache-site/ABOUT_APACHE.html,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- ABOUT_APACHE.html 1998/04/23 23:36:24 1.14 +++ ABOUT_APACHE.html 1998/04/25 08:47:52 1.15 @@ -193,6 +193,12 @@ /TD /TR TR + TDMartin Kraemernbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; + /TD + TDMunich, Germany + /TD + /TR + TR TDBen Laurienbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; /TD @@ -262,12 +268,6 @@ TDRoy T. Fieldingnbsp;nbsp;nbsp;nbsp;nbsp;nbsp; /TD TDUC Irvine, California - /TD - /TR - TR - TDMartin Kraemernbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; - /TD - TDMunich, Germany /TD /TR TR 1.36 +2 -2 apache-site/contributors/index.html Index: index.html === RCS file: /export/home/cvs/apache-site/contributors/index.html,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- index.html1998/04/23 23:36:28 1.35 +++ index.html1998/04/25 08:47:53 1.36 @@ -50,6 +50,8 @@ TR VALIGN=TOP TDBA HREF=#kosutAlexei Kosut/A/B TR VALIGN=TOP +TDBA HREF=#kraemerMartin Kraemer/A/B +TR VALIGN=TOP TDBA HREF=#laurieBen Laurie/A/B TDSCO and QNX porting, Apache-SSL author, pedant. TR VALIGN=TOP @@ -80,8 +82,6 @@ TR VALIGN=TOP TDBA HREF=#fieldingRoy T. Fielding/A/B TDStandards Cop. -TR VALIGN=TOP -TDBA HREF=#kraemerMartin Kraemer/A/B TR VALIGN=TOP TDBA HREF=#murckoChuck Murcko/A/B TDUnixWare, IRIX, BSD porting.
cvs commit: apache-1.3 ABOUT_APACHE
dgaudet 98/04/25 01:49:41 Modified:.ABOUT_APACHE Log: restore Martin to the current group, Brian must have goofed Revision ChangesPath 1.16 +1 -1 apache-1.3/ABOUT_APACHE Index: ABOUT_APACHE === RCS file: /export/home/cvs/apache-1.3/ABOUT_APACHE,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- ABOUT_APACHE 1998/04/23 23:38:22 1.15 +++ ABOUT_APACHE 1998/04/25 08:49:41 1.16 @@ -77,6 +77,7 @@ Rob HartillInternet Movie DB, UK Jim Jagielski jaguNET ISP, Maryland Alexei Kosut Stanford University, California + Martin Kraemer Munich, Germany Ben Laurie Freelance Consultant, UK Doug MacEachernTOG Research Institute, Massachusetts Aram W. Mirzadeh Qosina Corporation, New York @@ -90,7 +91,6 @@ Apache Emeritae (old group members now off doing other things) Roy T. FieldingUC Irvine, California - Martin Kraemer Munich, Germany Chuck Murcko The Topsail Group, Pennsylvania David Robinson Cambridge University, UK Robert S. Thau MIT, Massachusetts
cvs commit: apache-1.3/src/modules/standard mod_log_config.c
dgaudet 98/04/29 16:46:03 Modified:src/modules/standard mod_log_config.c Log: don't call strlen twice with the same arg Revision ChangesPath 1.55 +3 -1 apache-1.3/src/modules/standard/mod_log_config.c Index: mod_log_config.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_log_config.c,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- mod_log_config.c 1998/04/27 06:59:36 1.54 +++ mod_log_config.c 1998/04/29 23:46:03 1.55 @@ -379,13 +379,15 @@ } else { /* CLF format */ char sign = (timz 0 ? '-' : '+'); + size_t l; if (timz 0) { timz = -timz; } strftime(tstr, MAX_STRING_LEN, [%d/%b/%Y:%H:%M:%S , t); -ap_snprintf(tstr + strlen(tstr), sizeof(tstr) - strlen(tstr), + l = strlen(tstr); +ap_snprintf(tstr + l, sizeof(tstr) - l, %c%.2d%.2d], sign, timz / 60, timz % 60); }
cvs commit: apache-1.3 STATUS
dgaudet 98/05/01 11:42:42 Modified:.STATUS Log: overcast Revision ChangesPath 1.346 +7 -0 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.345 retrieving revision 1.346 diff -u -r1.345 -r1.346 --- STATUS1998/05/01 13:25:36 1.345 +++ STATUS1998/05/01 18:42:41 1.346 @@ -110,6 +110,8 @@ * MIME type case sensitivity disparity between 1.2.6 and 1.3b6 (PR #2112) Jim: Is the suggested change in find_title() not sufficient? Or is the fix to remap all mimes to lowercase? + Dean: all mime types are already lowercase everywhere else in the +server * proxy security fixes from 1.2.5 need to be brought forward Jim: What are these? @@ -134,6 +136,11 @@ like a bad lockfile... some I would have no idea. I'll generate a list of what I think are these Abort errors and ask for feedback. + Dean: Yep. It's a serious reliability difference between 1.2 and + 1.3 -- for some errors, such as the bogus group id, 1.2 would + have exited immediately. 1.3 will consume all system resources, + it will spawn 32 children per second, and every one of them will + write a log entry. Besides it's an easy fix. * The DoS issue about symlinks to /dev/zero is still present. A device checker patch had been sent to the list a while ago.
cvs commit: apache-1.3 STATUS
dgaudet 98/05/02 19:57:46 Modified:.STATUS Log: Revision ChangesPath 1.349 +2 -1 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.348 retrieving revision 1.349 diff -u -r1.348 -r1.349 --- STATUS1998/05/03 00:44:06 1.348 +++ STATUS1998/05/03 02:57:45 1.349 @@ -84,7 +84,7 @@ * Michael Anderson's [EMAIL PROTECTED] C++ friendly patch [EMAIL PROTECTED] - Status: Ben, Jim +1 + Status: Ben, Jim +1, Dean +1 * Arnt Gulbrandsen [EMAIL PROTECTED] 03 Apr 1998 21:28:17 +0200 [EMAIL PROTECTED] mod_usertrack.c patch: @@ -131,6 +131,7 @@ parent would then abort. See [EMAIL PROTECTED] Jim: Possible patch: [EMAIL PROTECTED] + Dean +1 * The DoS issue about symlinks to /dev/zero is still present. A device checker patch had been sent to the list a while ago.
cvs commit: apache-1.3/src/main alloc.c
dgaudet 98/05/05 23:09:21 Modified:src/main alloc.c Log: psprintf: fix a memory leak -- need to block alarms the whole time the block is being abused... easier to do that than it is to massage p-last each time we have to get a new block. fix a bug in psprintf_flush, it wouldn't copy properly when moving to a new block fix compile errors when compiling with ALLOC_USE_MALLOC Revision ChangesPath 1.89 +7 -11 apache-1.3/src/main/alloc.c Index: alloc.c === RCS file: /export/home/cvs/apache-1.3/src/main/alloc.c,v retrieving revision 1.88 retrieving revision 1.89 diff -u -r1.88 -r1.89 --- alloc.c 1998/04/15 17:09:28 1.88 +++ alloc.c 1998/05/06 06:09:20 1.89 @@ -55,7 +55,6 @@ * */ - /* * Resource allocation code... the code here is responsible for making * sure that nothing leaks. @@ -799,7 +798,7 @@ int size; char *ptr; -size = ps-vbuff.curpos - ps-base; +size = (char *)ps-vbuff.curpos - ps-base; ptr = realloc(ps-base, 2*size); if (ptr == NULL) { fputs(Ouch! Out of memory!\n, stderr); @@ -820,25 +819,20 @@ cur_len = strp - blok-h.first_avail; /* must try another blok */ -ap_block_alarms(); (void) ap_acquire_mutex(alloc_mutex); nblok = new_block(2 * cur_len); (void) ap_release_mutex(alloc_mutex); -ap_unblock_alarms(); -memcpy(nblok-h.first_avail, strp, cur_len); -strp = nblok-h.first_avail + cur_len; -ps-vbuff.curpos = strp; +memcpy(nblok-h.first_avail, blok-h.first_avail, cur_len); +ps-vbuff.curpos = nblok-h.first_avail + cur_len; ps-vbuff.endpos = nblok-h.endp - 1; /* did we allocate the current blok? if so free it up */ if (ps-got_a_new_block) { debug_fill(blok-h.first_avail, blok-h.endp - blok-h.first_avail); - ap_block_alarms(); (void) ap_acquire_mutex(alloc_mutex); blok-h.next = block_freelist; block_freelist = blok; (void) ap_release_mutex(alloc_mutex); - ap_unblock_alarms(); } ps-blok = nblok; ps-got_a_new_block = 1; @@ -865,7 +859,7 @@ *ps.vbuff.curpos++ = '\0'; ptr = ps.base; /* shrink */ -ptr = realloc(ptr, ps.vbuff.curpos - ptr); +ptr = realloc(ptr, (char *)ps.vbuff.curpos - (char *)ptr); if (ptr == NULL) { fputs(Ouch! Out of memory!\n, stderr); exit(1); @@ -879,9 +873,10 @@ char *strp; int size; +ap_block_alarms(); ps.blok = p-last; ps.vbuff.curpos = ps.blok-h.first_avail; -ps.vbuff.endpos = ps.blok-h.endp - 1; +ps.vbuff.endpos = ps.blok-h.endp - 1; /* save one for NUL */ ps.got_a_new_block = 0; ap_vformatter(psprintf_flush, ps.vbuff, fmt, ap); @@ -902,6 +897,7 @@ ps.blok-h.owning_pool = p; #endif } +ap_unblock_alarms(); return strp; #endif
cvs commit: apache-1.3/src/main alloc.c
dgaudet 98/05/05 23:26:18 Modified:src/main alloc.c Log: Add a bit more sanity checking for ALLOC_DEBUG -- test the space past the end of a block to be sure it hasn't been overwritten. Revision ChangesPath 1.90 +13 -4 apache-1.3/src/main/alloc.c Index: alloc.c === RCS file: /export/home/cvs/apache-1.3/src/main/alloc.c,v retrieving revision 1.89 retrieving revision 1.90 diff -u -r1.89 -r1.90 --- alloc.c 1998/05/06 06:09:20 1.89 +++ alloc.c 1998/05/06 06:26:17 1.90 @@ -200,9 +200,15 @@ static union block_hdr *malloc_block(int size) { -union block_hdr *blok = - (union block_hdr *) malloc(size + sizeof(union block_hdr)); +union block_hdr *blok; +#ifdef ALLOC_DEBUG +/* make some room at the end which we'll fill and expect to be + * always filled + */ +size += CLICK_SZ; +#endif +blok = (union block_hdr *) malloc(size + sizeof(union block_hdr)); if (blok == NULL) { fprintf(stderr, Ouch! malloc failed in malloc_block()\n); exit(1); @@ -211,6 +217,9 @@ blok-h.next = NULL; blok-h.first_avail = (char *) (blok + 1); blok-h.endp = size + blok-h.first_avail; +#ifdef ALLOC_DEBUG +blok-h.endp -= CLICK_SZ; +#endif #ifdef POOL_DEBUG blok-h.global_next = global_block_list; global_block_list = blok; @@ -225,6 +234,8 @@ #if defined(ALLOC_DEBUG) !defined(ALLOC_USE_MALLOC) static void chk_on_blk_list(union block_hdr *blok, union block_hdr *free_blk) { +debug_verify_filled(blok-h.endp, blok-h.endp + CLICK_SZ, + Ouch! Someone trounced the padding at the end of a block!\n); while (free_blk) { if (free_blk == blok) { fprintf(stderr, Ouch! Freeing free block\n); @@ -326,8 +337,6 @@ min_size += BLOCK_MINFREE; blok = malloc_block((min_size BLOCK_MINALLOC) ? min_size : BLOCK_MINALLOC); -debug_verify_filled(blok-h.first_avail, blok-h.endp, - Ouch! Someone trounced a block on the free list!\n); return blok; }
cvs commit: apache-1.3/src/main util.c
dgaudet 98/05/06 12:47:09 Modified:src/main util.c Log: fix a -Wshadow warning fix an off-by-1 error and fix the indentation Revision ChangesPath 1.114 +27 -27apache-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.113 retrieving revision 1.114 diff -u -r1.113 -r1.114 --- util.c1998/05/06 02:29:59 1.113 +++ util.c1998/05/06 19:47:08 1.114 @@ -127,37 +127,37 @@ tms = (gmt ? gmtime(t) : localtime(t)); if(gmt) { - /* Convert %Z to GMT and %z to +; - * on hosts that do not have a time zone string in struct tm, - * strftime must assume its argument is local time. - */ - const char *f; - char *p; - for(p = tf, f = fmt; p tf + sizeof tf - 5 (*p = *f); f++, p++) { - if(*f == '%') - switch(f[1]) - { + /* Convert %Z to GMT and %z to +; + * on hosts that do not have a time zone string in struct tm, + * strftime must assume its argument is local time. + */ + const char *f; + char *strp; + for(strp = tf, f = fmt; strp tf + sizeof(tf) - 6 (*strp = *f) + ; f++, strp++) { + if (*f != '%') continue; + switch (f[1]) { case '%': - *++p = *++f; - break; + *++strp = *++f; + break; case 'Z': - *p++ = 'G'; - *p++ = 'M'; - *p = 'T'; - f++; - break; + *strp++ = 'G'; + *strp++ = 'M'; + *strp = 'T'; + f++; + break; case 'z': /* common extension */ - *p++ = '+'; - *p++ = '0'; - *p++ = '0'; - *p++ = '0'; - *p = '0'; - f++; - break; + *strp++ = '+'; + *strp++ = '0'; + *strp++ = '0'; + *strp++ = '0'; + *strp = '0'; + f++; + break; } - } - *p = '\0'; - fmt = tf; + } + *strp = '\0'; + fmt = tf; } /* check return code? */
cvs commit: apache-1.3/src/main alloc.c
dgaudet 98/05/06 12:49:52 Modified:src/ap ap_snprintf.c src/include ap.h src/main alloc.c Log: add various comments based on comments from Martin to me Revision ChangesPath 1.20 +3 -0 apache-1.3/src/ap/ap_snprintf.c Index: ap_snprintf.c === RCS file: /export/home/cvs/apache-1.3/src/ap/ap_snprintf.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- ap_snprintf.c 1998/04/19 19:19:36 1.19 +++ ap_snprintf.c 1998/05/06 19:49:46 1.20 @@ -966,6 +966,9 @@ static int snprintf_flush(ap_vformatter_buff *vbuff) { +/* if the buffer fills we have to abort immediately, there is no way + * to flush an ap_snprintf... there's nowhere to flush it to. + */ return -1; } 1.14 +11 -0 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.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- ap.h 1998/05/03 17:31:06 1.13 +++ ap.h 1998/05/06 19:49:48 1.14 @@ -121,6 +121,17 @@ * example, it's possible when the output exactly matches the buffer * space available that curpos == endpos will be true when * ap_vformatter returns. + * + * ap_vformatter does not call out to any other code, it is entirely + * self-contained. This allows the callers to do things which are + * otherwise unsafe. For example, ap_psprintf uses the scratch + * space at the unallocated end of a block, and doesn't actually + * complete the allocation until ap_vformatter returns. ap_psprintf + * would be completely broken if ap_vformatter were to call anything + * that used a pool. Similarly http_bprintf() uses the scratch + * space at the end of its output buffer, and doesn't actually note + * that the space is in use until it either has to flush the buffer + * or until ap_vformatter returns. */ typedef struct { 1.91 +12 -1 apache-1.3/src/main/alloc.c Index: alloc.c === RCS file: /export/home/cvs/apache-1.3/src/main/alloc.c,v retrieving revision 1.90 retrieving revision 1.91 diff -u -r1.90 -r1.91 --- alloc.c 1998/05/06 06:26:17 1.90 +++ alloc.c 1998/05/06 19:49:50 1.91 @@ -783,11 +783,17 @@ return res; } -/* psprintf is implemented by writing directly into the current +/* ap_psprintf is implemented by writing directly into the current * block of the pool, starting right at first_avail. If there's * insufficient room, then a new block is allocated and the earlier * output is copied over. The new block isn't linked into the pool * until all the output is done. + * + * Note that this is completely safe because nothing else can + * allocate in this pool while ap_psprintf is running. alarms are + * blocked, and the only thing outside of alloc.c that's invoked + * is ap_vformatter -- which was purposefully written to be + * self-contained with no callouts. */ struct psprintf_data { @@ -833,6 +839,7 @@ (void) ap_release_mutex(alloc_mutex); memcpy(nblok-h.first_avail, blok-h.first_avail, cur_len); ps-vbuff.curpos = nblok-h.first_avail + cur_len; +/* save a byte for the NUL terminator */ ps-vbuff.endpos = nblok-h.endp - 1; /* did we allocate the current blok? if so free it up */ @@ -845,6 +852,10 @@ } ps-blok = nblok; ps-got_a_new_block = 1; +/* note that we've deliberately not linked the new block onto + * the pool yet... because we may need to flush again later, and + * we'd have to spend more effort trying to unlink the block. + */ return 0; #endif }
cvs commit: apache-1.3 STATUS
dgaudet 98/05/08 12:06:09 Modified:.STATUS Log: sorry ken, I changed my mind... radically. Revision ChangesPath 1.388 +10 -0 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.387 retrieving revision 1.388 diff -u -r1.387 -r1.388 --- STATUS1998/05/08 16:31:09 1.387 +++ STATUS1998/05/08 19:06:08 1.388 @@ -22,6 +22,7 @@ A device checker patch had been sent to the list a while ago. PATCH: [EMAIL PROTECTED] Status: Jim +1 +Dean: -0 I really don't like the API change. WIN32 1.3 FINAL RELEASE SHOWSTOPPERS: @@ -137,6 +138,15 @@ STATUS: o Scrap it now that modules can use ap_add_version_component Jim +1 (make sure this is clear :) ), Brian +1, Ken +1 + Dean: -1, and I am also vetoing the new AddVersionComponent + directive. My reason is: if a module is significant then + it will ap_add_version_component(); if a patch is + significant then it can modify SERVER_SUBVERSION. There are + no other *code* changes possible that the admin should be + noting. If folks really want to play the customized server + version game they can recompile, or build a module to do it. + If we put it in the default server we'll end up seeing lots of + funny (read: annoying) false things start to appear. * Paul would like to see a 'gdbm' option because he uses it a lot.
cvs commit: apache-1.3/htdocs/manual/misc perf-tuning.html
dgaudet 98/05/09 17:11:14 Modified:htdocs/manual/misc perf-tuning.html Log: update with a few more links Revision ChangesPath 1.10 +35 -4 apache-1.3/htdocs/manual/misc/perf-tuning.html Index: perf-tuning.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/perf-tuning.html,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- perf-tuning.html 1998/03/03 01:21:56 1.9 +++ perf-tuning.html 1998/05/10 00:11:14 1.10 @@ -238,7 +238,7 @@ web server uses multiple CODEListen/CODE statements to listen on either multiple ports or multiple addresses. In order to test each socket to see if a connection is ready Apache uses CODEselect(2)/CODE. -CODEselect(2)/CODE indicates that a socket has EMnone/EM or +CODEselect(2)/CODE indicates that a socket has EMzero/EM or EMat least one/EM connection waiting on it. Apache's model includes multiple children, and all the idle ones test for new connections at the same time. A naive implementation looks something like this @@ -647,7 +647,8 @@ properly implement the HTTP protocol. The second occurs because the Common Log Format dictates that the log record include a timestamp of the end of the request. A custom logging module could eliminate one of the -calls. +calls. Or you can use a method which moves the time into shared memory, +see the a href=#patchespatches section below/a. PAs described earlier, CODERule STATUS=yes/CODE causes two CODEgettimeofday/CODE calls and a call to CODEtimes/CODE: @@ -782,6 +783,29 @@ That's 19 system calls, of which 4 remain relatively easy to remove, but don't seem worth the effort. +h3a name=patchesAppendix: Patches Available/a/h3 + +There are +a href=http://www.arctic.org/~dgaudet/apache/1.3/; +several performance patches available for 1.3./a But they may +be slightly out of date by the time Apache 1.3.0 has been released, +it shouldn't be difficult for someone with a little C knowledge to +update them. In particular: + +ul +liA +a href=http://www.arctic.org/~dgaudet/apache/1.3/shared_time.patch; +patch/a to remove all codetime(2)/code system calls. +liA +a href=http://www.arctic.org/~dgaudet/apache/1.3/mod_include_speedups.patch; +patch/a to remove various system calls from codemod_include/code, +these calls are used by few sites but required for backwards compatibility. +liA +a href=http://www.arctic.org/~dgaudet/apache/1.3/top_fuel.patch; +patch/a which integrates the above two plus a few other speedups at the +cost of removing some functionality. +/ul + H3Appendix: The Pre-Forking Model/H3 PApache (on Unix) is a EMpre-forking/EM model server. The @@ -819,9 +843,16 @@ PApache's core code is already multithread aware, and Apache version 1.3 is multithreaded on NT. There have been at least two other experimental -implementations of threaded Apache (one using the 1.3 code base on DCE, +implementations of threaded Apache, one using the 1.3 code base on DCE, and one using a custom user-level threads package and the 1.0 code base, -neither are available publically). Part of our redesign for version 2.0 +neither are available publically. There is also an experimental port of +Apache 1.3 to a href=http://www.mozilla.org/docs/refList/refNSPR/; +Netscape's Portable Run Time/a, which +a href=http://www.arctic.org/~dgaudet/apache/2.0/;is available/a +(but you're encouraged to join the +a href=http://dev.apache.org/mailing-lists;new-httpd mailing list/a +if you intend to use it). +Part of our redesign for version 2.0 of Apache will include abstractions of the server model so that we can continue to support the pre-forking model, and also support various threaded models.
cvs commit: apache-1.3/src/ap ap_snprintf.c
dgaudet 98/05/11 10:49:21 Modified:src/ap ap_snprintf.c Log: Martin found the core dumping bug... it was my fault. psprintf() could possibly set curpos == endpos + 1... and the old test for sp == bep would never find this case. As a result it would waltz past the end of a block. When I wrote the sp == bep thing I thought it's the caller's responsibility to guarantee this! ... er, program defensively Dean, it doesn't cost any more in this case. Revision ChangesPath 1.24 +1 -1 apache-1.3/src/ap/ap_snprintf.c Index: ap_snprintf.c === RCS file: /export/home/cvs/apache-1.3/src/ap/ap_snprintf.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- ap_snprintf.c 1998/05/07 13:13:53 1.23 +++ ap_snprintf.c 1998/05/11 17:49:21 1.24 @@ -269,7 +269,7 @@ */ #define INS_CHAR(c, sp, bep, cc) \ { \ - if (sp == bep) {\ + if (sp = bep) {\ vbuff-curpos = sp; \ if (flush_func(vbuff)) \ return -1; \
cvs commit: apache-1.3/src/main http_protocol.c
dgaudet 98/05/25 15:55:40 Modified:src/main http_protocol.c Log: - style correction - eliminate an unneeded extra MAX_STRING_LEN buffer - add some XXX comments Revision ChangesPath 1.215 +25 -19apache-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.214 retrieving revision 1.215 diff -u -r1.214 -r1.215 --- http_protocol.c 1998/05/21 04:11:27 1.214 +++ http_protocol.c 1998/05/25 22:55:39 1.215 @@ -662,8 +662,9 @@ request failed for %s, reason: URI too long, ap_get_remote_host(r-connection, r-per_dir_config, REMOTE_NAME)); /* hack to deal with the HTTP_REQUEST_TIME_OUT setting up above: */ - if (r-status == HTTP_REQUEST_TIME_OUT) - r-status = HTTP_OK; + if (r-status == HTTP_REQUEST_TIME_OUT) { + r-status = HTTP_OK; + } r-request_time = time(NULL); ap_die (HTTP_REQUEST_URI_TOO_LARGE, r); return 0; @@ -718,38 +719,42 @@ /* * Read header lines until we get the empty separator line, a read error, - * the connection closes (EOF), or we timeout. Should we also check for - * overflow (len == MAX_STRING_LEN-1)? + * the connection closes (EOF), or we timeout. */ while ((len = getline(field, MAX_STRING_LEN, c-client, 1)) 0) { char *copy = ap_palloc(r-pool, len + 1); memcpy(copy, field, len + 1); if (!(value = strchr(copy, ':'))) { /* Find the colon separator */ - /* if there's none, this request is screwed up. -* a hack to deal with how we set HTTP_REQUEST_TIME_OUT earlier.*/ - if (r-status == HTTP_REQUEST_TIME_OUT) - r-status = HTTP_OK; - - ap_die (HTTP_BAD_REQUEST, r); - return; + /* if there's none, this request is screwed up. + * a hack to deal with how we set HTTP_REQUEST_TIME_OUT earlier.*/ + if (r-status == HTTP_REQUEST_TIME_OUT) + r-status = HTTP_OK; + + ap_die (HTTP_BAD_REQUEST, r); + return; } *value = '\0'; ++value; + /* XXX: RFC2068 defines only SP and HT as whitespace, this test is + * wrong... and so are many others probably. + */ while (isspace(*value)) ++value;/* Skip to start of value */ + /* XXX: should strip trailing whitespace as well */ + ap_table_mergen(r-headers_in, copy, value); /* the header was too long; at the least we should skip extra data */ if (len = MAX_STRING_LEN - 1) { - char junk[MAX_STRING_LEN]; - while ((len = getline(junk, MAX_STRING_LEN, c-client, 1)) - = MAX_STRING_LEN - 1) /* soak up the extra data */ - ; - if (len == 0) /* time to exit the larger loop as well */ - break; + while ((len = getline(field, MAX_STRING_LEN, c-client, 1)) + = MAX_STRING_LEN - 1) { + /* soak up the extra data */ + } + if (len == 0) /* time to exit the larger loop as well */ + break; } } } @@ -798,8 +803,10 @@ ap_keepalive_timeout(read request line, r); if (!read_request_line(r)) { ap_kill_timeout(r); - if (r-status != HTTP_REQUEST_TIME_OUT) /* we must have had an error.*/ + if (r-status != HTTP_REQUEST_TIME_OUT) { + /* we must have had an error.*/ ap_log_transaction(r); + } return NULL; } if (!r-assbackwards) { @@ -832,7 +839,6 @@ if ((access_status = ap_run_post_read_request(r))) { ap_die(access_status, r); ap_log_transaction(r); - return NULL; }
cvs commit: apache-1.3/src/main http_core.c
dgaudet 98/05/25 16:37:46 Modified:src/main http_core.c Log: another style tweak Revision ChangesPath 1.201 +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.200 retrieving revision 1.201 diff -u -r1.200 -r1.201 --- http_core.c 1998/05/11 20:08:08 1.200 +++ http_core.c 1998/05/25 23:37:45 1.201 @@ -710,7 +710,7 @@ const char *err = ap_check_cmd_context(cmd, NOT_IN_DIR_LOC_FILE|NOT_IN_LIMIT); if (err != NULL) return err; -arg=ap_os_canonical_filename (cmd-pool, arg); +arg = ap_os_canonical_filename(cmd-pool, arg); if (!ap_is_directory (arg)) { if (cmd-server-is_virtual) { fprintf (stderr, Warning: DocumentRoot [%s] does not exist\n, arg);
cvs commit: apache-1.3/src/modules/standard mod_include.c
dgaudet 98/05/25 17:54:08 Modified:src CHANGES src/modules/standard mod_include.c Log: $ followed by non alnum should expand to $... I broke this in 1.2.5 security stuff. PR: 1921, 2249 Revision ChangesPath 1.862 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.861 retrieving revision 1.862 diff -u -r1.861 -r1.862 --- CHANGES 1998/05/25 17:58:16 1.861 +++ CHANGES 1998/05/26 00:54:06 1.862 @@ -1,5 +1,9 @@ Changes with Apache 1.3b8 + *) A zero-length name after a $ in an SSI document should cause + just the $ to be in the expansion. This was broken during the + security fixes in 1.2.5. [Dean Gaudet] PR#1921, 2249 + *) Call ap_destroy_sub_req() in ap_add_cgi_vars() to reclaim some memory. [Rob Saccoccio [EMAIL PROTECTED]] PR#2252 1.92 +17 -11apache-1.3/src/modules/standard/mod_include.c Index: mod_include.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_include.c,v retrieving revision 1.91 retrieving revision 1.92 diff -u -r1.91 -r1.92 --- mod_include.c 1998/05/20 19:41:11 1.91 +++ mod_include.c 1998/05/26 00:54:07 1.92 @@ -532,20 +532,26 @@ /* what a pain, too bad there's no table_getn where you can * pass a non-nul terminated string */ l = end_of_var_name - start_of_var_name; - l = (l sizeof(var) - 1) ? (sizeof(var) - 1) : l; - memcpy(var, start_of_var_name, l); - var[l] = '\0'; + if (l != 0) { + l = (l sizeof(var) - 1) ? (sizeof(var) - 1) : l; + memcpy(var, start_of_var_name, l); + var[l] = '\0'; - val = ap_table_get(r-subprocess_env, var); - if (val) { - expansion = val; - l = strlen(expansion); + val = ap_table_get(r-subprocess_env, var); + if (val) { + expansion = val; + l = strlen(expansion); + } + else if (leave_name) { + l = in - expansion; + } + else { + break; /* no expansion to be done */ + } } - else if (leave_name) { - l = in - expansion; - } else { - break; /* no expansion to be done */ + /* zero-length variable name causes just the $ to be copied */ + l = 1; } l = (l end_out - next) ? (end_out - next) : l; memcpy(next, expansion, l);
cvs commit: apache-1.2/src CHANGES mod_include.c
dgaudet 98/05/25 17:55:30 Modified:src CHANGES mod_include.c Log: $ followed by non alnum should expand to $... I broke this in 1.2.5 security stuff. PR: 1921, 2249 Revision ChangesPath 1.312 +4 -0 apache-1.2/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.2/src/CHANGES,v retrieving revision 1.311 retrieving revision 1.312 diff -u -r1.311 -r1.312 --- CHANGES 1998/05/25 18:07:31 1.311 +++ CHANGES 1998/05/26 00:55:28 1.312 @@ -1,5 +1,9 @@ Changes with Apache 1.2.7 + *) A zero-length name after a $ in an SSI document should cause + just the $ to be in the expansion. This was broken during the + security fixes in 1.2.5. [Dean Gaudet] PR#1921, 2249 + *) Call ap_destroy_sub_req() in ap_add_cgi_vars() to reclaim some memory. [Rob Saccoccio [EMAIL PROTECTED]] PR#2252 1.41 +17 -11apache-1.2/src/mod_include.c Index: mod_include.c === RCS file: /export/home/cvs/apache-1.2/src/mod_include.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- mod_include.c 1998/04/13 11:45:45 1.40 +++ mod_include.c 1998/05/26 00:55:29 1.41 @@ -527,20 +527,26 @@ /* what a pain, too bad there's no table_getn where you can * pass a non-nul terminated string */ l = end_of_var_name - start_of_var_name; - l = (l sizeof(var) - 1) ? (sizeof(var) - 1) : l; - memcpy(var, start_of_var_name, l); - var[l] = '\0'; + if (l != 0) { + l = (l sizeof(var) - 1) ? (sizeof(var) - 1) : l; + memcpy(var, start_of_var_name, l); + var[l] = '\0'; - val = table_get(r-subprocess_env, var); - if (val) { - expansion = val; - l = strlen(expansion); + val = table_get(r-subprocess_env, var); + if (val) { + expansion = val; + l = strlen(expansion); + } + else if (leave_name) { + l = in - expansion; + } + else { + break; /* no expansion to be done */ + } } - else if (leave_name) { - l = in - expansion; - } else { - break; /* no expansion to be done */ + /* zero-length variable name causes just the $ to be copied */ + l = 1; } l = (l end_out - next) ? (end_out - next) : l; memcpy(next, expansion, l);
cvs commit: apache-1.3/src/main util.c
dgaudet 98/05/28 12:57:12 Modified:src/include httpd.h src/main util.c Log: poolfile_t is a private implementation detail, don't put it in a public structure. Revision ChangesPath 1.217 +0 -6 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.216 retrieving revision 1.217 diff -u -r1.216 -r1.217 --- httpd.h 1998/05/28 11:32:43 1.216 +++ httpd.h 1998/05/28 19:57:07 1.217 @@ -907,12 +907,6 @@ unsigned line_number;/* current line number, starting at 1 */ } configfile_t; -/* Common structure that holds the file and pool for ap_pcfg_openfile */ -typedef struct { -struct pool *pool; -FILE *file; -} poolfile_t; - /* Open a configfile_t as FILE, return open configfile_t struct pointer */ API_EXPORT(configfile_t *) ap_pcfg_openfile(pool *p, const char *name); 1.117 +6 -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.116 retrieving revision 1.117 diff -u -r1.116 -r1.117 --- util.c1998/05/27 14:01:35 1.116 +++ util.c1998/05/28 19:57:11 1.117 @@ -706,6 +706,12 @@ return (cfp-close == NULL) ? 0 : cfp-close(cfp-param); } +/* Common structure that holds the file and pool for ap_pcfg_openfile */ +typedef struct { +struct pool *pool; +FILE *file; +} poolfile_t; + static int cfg_close(void *param) { poolfile_t *cfp = (poolfile_t *) param;
cvs commit: apache-1.3/src/include conf.h
dgaudet 98/05/28 16:59:40 Modified:src CHANGES src/main http_main.c src/include conf.h Log: PORT: QNX needed a #include sys/mman.h; and now it uses flock serialized accept to handle multiple sockets. PR: 2295, 2296 Submitted by: Rob Saccoccio [EMAIL PROTECTED] Revision ChangesPath 1.872 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.871 retrieving revision 1.872 diff -u -r1.871 -r1.872 --- CHANGES 1998/05/28 23:27:59 1.871 +++ CHANGES 1998/05/28 23:59:33 1.872 @@ -1,5 +1,9 @@ Changes with Apache 1.3b8 + *) PORT: QNX needed a #include sys/mman.h; and now it uses flock + serialized accept to handle multiple sockets. + [Rob Saccoccio [EMAIL PROTECTED]] PR#2295, 2296 + *) Have NT properly set the directory for CGI scripts ( other spawned children) [W G Stoddard [EMAIL PROTECTED]] 1.355 +1 -0 apache-1.3/src/main/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v retrieving revision 1.354 retrieving revision 1.355 diff -u -r1.354 -r1.355 --- http_main.c 1998/05/21 04:07:21 1.354 +++ http_main.c 1998/05/28 23:59:35 1.355 @@ -1518,6 +1518,7 @@ } #elif defined(USE_POSIX_SCOREBOARD) +#include sys/mman.h /* * POSIX 1003.4 style * 1.211 +2 -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.210 retrieving revision 1.211 diff -u -r1.210 -r1.211 --- conf.h1998/05/11 19:59:01 1.210 +++ conf.h1998/05/28 23:59:39 1.211 @@ -626,6 +626,8 @@ #include unix.h #define HAVE_MMAP 1 #define USE_POSIX_SCOREBOARD +#define USE_FLOCK_SERIALIZED_ACCEPT +#define SINGLE_LISTEN_UNSERIALIZED_ACCEPT #define HAVE_SYSLOG 1 #elif defined(LYNXOS)
cvs commit: apache-1.3/src/modules/standard mod_negotiation.c
dgaudet 98/05/30 12:15:39 Modified:src CHANGES src/modules/standard mod_negotiation.c Log: Using a type map file as a custom error document was not possible. PR: 1031 Submitted by: Lars Eilebrecht Revision ChangesPath 1.879 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.878 retrieving revision 1.879 diff -u -r1.878 -r1.879 --- CHANGES 1998/05/29 20:45:53 1.878 +++ CHANGES 1998/05/30 19:15:37 1.879 @@ -1,5 +1,8 @@ Changes with Apache 1.3b8 + *) Using a type map file as a custom error document was not possible. + [Lars Eilebrecht] PR#1031 + *) Avoid problems with braindead Awks by additionally searching for gawk and nawk in APACI's configure script. [Dave Dykstra [EMAIL PROTECTED], Ralf S. Engelschall] PR#2319 1.80 +3 -3 apache-1.3/src/modules/standard/mod_negotiation.c Index: mod_negotiation.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_negotiation.c,v retrieving revision 1.79 retrieving revision 1.80 diff -u -r1.79 -r1.80 --- mod_negotiation.c 1998/05/04 06:58:09 1.79 +++ mod_negotiation.c 1998/05/30 19:15:38 1.80 @@ -711,9 +711,6 @@ /* We are not using multiviews */ neg-count_multiviews_variants = 0; -if (rr-status != HTTP_OK) { -return rr-status; -} map = ap_pfopen(neg-pool, rr-filename, r); if (map == NULL) { ap_log_error(APLOG_MARK, APLOG_ERR, r-server, @@ -854,6 +851,9 @@ ap_pclosedir(neg-pool, dirp); neg-avail_vars-nelts = 0; + if (sub_req-status != HTTP_OK) { + return sub_req-status; + } return read_type_map(neg, sub_req); }
cvs commit: apache-1.3/src/include conf.h
dgaudet 98/06/03 10:54:46 Modified:src PORTING src/include conf.h Log: explain NET_SIZE_T and why it is a mess Revision ChangesPath 1.29 +2 -1 apache-1.3/src/PORTING Index: PORTING === RCS file: /export/home/cvs/apache-1.3/src/PORTING,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- PORTING 1998/05/09 03:25:41 1.28 +++ PORTING 1998/06/03 17:54:45 1.29 @@ -338,7 +338,8 @@ NET_SIZE_T: Some functions such as accept(), getsockname(), getpeername() take an int *len on some architectures and a size_t *len on others. - If left undefined apache will default it to int. + If left undefined apache will default it to int. See include/conf.h + for a description of NET_SIZE_T. NEED_HASHBANG_EMUL: The execve()/etc. functions on this platform do not deal with #!, 1.213 +19 -2 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.212 retrieving revision 1.213 diff -u -r1.212 -r1.213 --- conf.h1998/05/29 00:15:56 1.212 +++ conf.h1998/06/03 17:54:45 1.213 @@ -1066,8 +1066,25 @@ #define XtOffsetOf(s_type,field) XtOffset(s_type*,field) #endif -/* some architectures require size_t * pointers where others require int * - * pointers in functions such as accept(), getsockname(), getpeername() +/* + * NET_SIZE_T exists because of shortsightedness on the POSIX committee. BSD + * systems used int * as the parameter to accept(), getsockname(), + * getpeername() et al. Consequently many unixes took an int * for that + * parameter. The POSIX committee decided that int was just too generic and + * had to be replaced with size_t almost everywhere. There's no problem with + * that when you're passing by value. But when you're passing by reference + * this creates a gross source incompatibility with existing programs. On + * 32-bit architectures it creates only a warning. On 64-bit architectures it + * creates broken code -- because int * is a pointer to a 64-bit quantity and + * size_t * is frequently a pointer to a 32-bit quantity. + * + * Some Unixes adopted size_t * for the sake of POSIX compliance. Others + * ignored it because it was such a broken interface. Chaos ensued. POSIX + * finally woke up and decided that it was wrong and created a new type + * socklen_t. The only useful value for socklen_t is int, and that's how + * everyone who has a clue implements it. It is almost always the case that + * NET_SIZE_T should be defined to be an int, unless the system being compiled + * for was created in the window of POSIX madness. */ #ifndef NET_SIZE_T #define NET_SIZE_T int
cvs commit: apache-1.3/src/helpers GuessOS
dgaudet 98/06/04 12:49:28 Modified:src CHANGES src/helpers GuessOS Log: SVR4 v3.0.1 running on ncr S10 (3404) host. PR: 2310 Submitted by: juerg schreiner [EMAIL PROTECTED] Revision ChangesPath 1.883 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.882 retrieving revision 1.883 diff -u -r1.882 -r1.883 --- CHANGES 1998/06/03 12:12:10 1.882 +++ CHANGES 1998/06/04 19:49:25 1.883 @@ -1,5 +1,8 @@ Changes with Apache 1.3.1 + *) PORT: SVR4 v3.0.1 running on ncr S10 (3404) host. + [juerg schreiner [EMAIL PROTECTED]] PR#2310 + *) Fix recently introduced Win32 child spawning code in mod_rewrite.c which was broken because of invalid ap_pstrcat() - strcat() transformation. [Ralf S. Engelschall] 1.35 +1 -1 apache-1.3/src/helpers/GuessOS Index: GuessOS === RCS file: /export/home/cvs/apache-1.3/src/helpers/GuessOS,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- GuessOS 1998/02/21 15:00:41 1.34 +++ GuessOS 1998/06/04 19:49:27 1.35 @@ -189,7 +189,7 @@ echo ${MACHINE}-whatever-sysv4; exit 0 ;; -*:4.0:3.0:3[34]?? | *:4.0:3.0:3[34]??,*) +*:4.0:3.0:3[34]?? | *:4.0:3.0:3[34]??[/,]*) echo i486-ncr-sysv4; exit 0 ;;
cvs commit: apache-1.3/src/support htpasswd.c
dgaudet 98/06/04 13:28:31 Modified:src CHANGES src/support htpasswd.c Log: remove the system() call... PR: 2332 Submitted by: M.D.Parker [EMAIL PROTECTED] Revision ChangesPath 1.886 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.885 retrieving revision 1.886 diff -u -r1.885 -r1.886 --- CHANGES 1998/06/04 20:13:11 1.885 +++ CHANGES 1998/06/04 20:28:29 1.886 @@ -1,5 +1,8 @@ Changes with Apache 1.3.1 + *) Remove the system() call from htpasswd.c, which eliminates a system + dependancy. [M.D.Parker [EMAIL PROTECTED]] PR#2332 + *) PORT: Fix compilation failures on NEXTSTEP. [Rex Dieter [EMAIL PROTECTED]] PR#2293, 2316 1.16 +13 -9 apache-1.3/src/support/htpasswd.c Index: htpasswd.c === RCS file: /export/home/cvs/apache-1.3/src/support/htpasswd.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- htpasswd.c1998/04/21 20:14:06 1.15 +++ htpasswd.c1998/06/04 20:28:31 1.16 @@ -161,7 +161,7 @@ if (argc == 4) { if (strcmp(argv[1], -c)) usage(); - if (!(tfp = fopen(argv[2], w))) { + if (!(tfp = fopen(argv[2], w+))) { fprintf(stderr, Could not open passwd file %s for writing.\n, argv[2]); perror(fopen); @@ -176,12 +176,12 @@ usage(); tn = tmpnam(NULL); -if (!(tfp = fopen(tn, w))) { +if (!(tfp = fopen(tn, w+))) { fprintf(stderr, Could not open temp file.\n); exit(1); } -if (!(f = fopen(argv[1], r))) { +if (!(f = fopen(argv[1], r+))) { fprintf(stderr, Could not open passwd file %s for reading.\n, argv[1]); fprintf(stderr, Use -c option to create new one.\n); @@ -211,14 +211,18 @@ printf(Adding user %s\n, user); add_password(user, tfp); } +/* +* make a copy from the tmp file to the actual file +*/ +rewind(f); +rewind(tfp); +while ( fgets(command,MAX_STRING_LEN,tfp) != NULL) +{ +fputs(command,f); +} + fclose(f); fclose(tfp); -#if defined(__EMX__) || defined(WIN32) -sprintf(command, copy \%s\ \%s\, tn, argv[1]); -#else -sprintf(command, cp %s %s, tn, argv[1]); -#endif -system(command); unlink(tn); exit(0); }
cvs commit: apache-1.3/src/main http_main.c http_protocol.c util.c
dgaudet 98/06/06 12:30:53 Modified:src CHANGES Configure src/include conf.h src/main http_main.c http_protocol.c util.c Log: Updated support for UTS 2.1.2. PR: 2320 Submitted by: Dave Dykstra [EMAIL PROTECTED] Revision ChangesPath 1.890 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.889 retrieving revision 1.890 diff -u -r1.889 -r1.890 --- CHANGES 1998/06/06 19:21:20 1.889 +++ CHANGES 1998/06/06 19:30:38 1.890 @@ -1,5 +1,8 @@ Changes with Apache 1.3.1 + *) PORT: Updated support for UTS 2.1.2. + [Dave Dykstra [EMAIL PROTECTED]] PR#2320 + *) Fix symbol export list (src/support/httpd.exp) after recent API changes in the child spawning area. [Jens-Uwe Mager [EMAIL PROTECTED]] 1.263 +2 -1 apache-1.3/src/Configure Index: Configure === RCS file: /export/home/cvs/apache-1.3/src/Configure,v retrieving revision 1.262 retrieving revision 1.263 diff -u -r1.262 -r1.263 --- Configure 1998/06/04 20:13:12 1.262 +++ Configure 1998/06/06 19:30:39 1.263 @@ -629,8 +629,9 @@ ;; *-uts*) OS='Amdahl UTS' - CFLAGS=$CFLAGS -Xa -eft -DUTS21 + CFLAGS=$CFLAGS -Xa -eft -DUTS21 -DUSEBCOPY LIBS=$LIBS -lsocket -lbsd -la + DEF_WANTHSREGEX=yes ;; *-ultrix) OS='ULTRIX' 1.215 +12 -1 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.214 retrieving revision 1.215 diff -u -r1.214 -r1.215 --- conf.h1998/06/04 20:13:17 1.214 +++ conf.h1998/06/06 19:30:46 1.215 @@ -573,13 +573,24 @@ #undef NO_KILLPG #define NO_SETSID #define NEED_WAITPID -#define NO_OTHER_CHILD #define STDIN_FILENO 0 #define STDOUT_FILENO 1 #define STDERR_FILENO 2 #define HAVE_SYSLOG 1 +#define USE_LONGJMP +#define JMP_BUF jmp_buf +#define NO_USE_SIGACTION +#define NEED_STRERROR +#define NEED_STRSTR +#define NEED_HASHBANG_EMUL +#define NDELAY_PIPE_RETURNS_ZERO +#define NO_DATA NO_ADDRESS +#define ap_wait_t union wait +#define WEXITSTATUS(status) (int)((status).w_retcode) +#define WTERMSIG(status) (int)((status).w_termsig) #define strftime(buf,bufsize,fmt,tm)ascftime(buf,fmt,tm) #include sys/types.h +#include sys/time.h #elif defined(APOLLO) #undef HAVE_GMTOFF 1.359 +17 -15apache-1.3/src/main/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v retrieving revision 1.358 retrieving revision 1.359 diff -u -r1.358 -r1.359 --- http_main.c 1998/06/04 20:13:19 1.358 +++ http_main.c 1998/06/06 19:30:47 1.359 @@ -2129,29 +2129,26 @@ } -#if defined(BROKEN_WAIT) || defined(NEED_WAITPID) +#if defined(NEED_WAITPID) /* - Some systems appear to fail to deliver dead children to wait() at times. - This sorts them out. In fact, this may have been caused by a race condition - in wait_or_timeout(). But this routine is still useful for systems with no - waitpid(). + Systems without a real waitpid sometimes lose a child's exit while waiting + for another. Search through the scoreboard for missing children. */ -int reap_children(void) +int reap_children(ap_wait_t *status) { -int status, n; -int ret = 0; +int n, pid; for (n = 0; n max_daemons_limit; ++n) { - if (ap_scoreboard_image-servers[n].status != SERVER_DEAD - waitpid(ap_scoreboard_image-parent[n].pid, status, WNOHANG) - == -1 - errno == ECHILD) { - ap_sync_scoreboard_image(); +ap_sync_scoreboard_image(); + if (ap_scoreboard_image-servers[n].status != SERVER_DEAD + kill((pid = ap_scoreboard_image-parent[n].pid), 0) == -1) { ap_update_child_status(n, SERVER_DEAD, NULL); - ret = 1; + /* just mark it as having a successful exit status */ + *status = 0; + return(pid); } } -return ret; +return 0; } #endif @@ -2214,6 +2211,11 @@ if (ret 0) { return ret; } +#ifdef NEED_WAITPID +if ((ret = reap_children(status)) 0) { + return ret; +} +#endif tv.tv_sec = SCOREBOARD_MAINTENANCE_INTERVAL / 100; tv.tv_usec = SCOREBOARD_MAINTENANCE_INTERVAL % 100; ap_select(0, NULL, NULL, NULL, tv); 1.218 +20
cvs commit: apache-1.3/conf access.conf-dist
dgaudet 98/06/06 12:47:00 Modified:src CHANGES conf access.conf-dist Log: Change Options None to Options FollowSymLinks in the default Directory / section... given that we already default to symlinks elsewhere it doesn't make sense to disallow them here... and it's slower to disallow them. Related to PR 2363. Revision ChangesPath 1.891 +5 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.890 retrieving revision 1.891 diff -u -r1.890 -r1.891 --- CHANGES 1998/06/06 19:30:38 1.890 +++ CHANGES 1998/06/06 19:46:58 1.891 @@ -1,5 +1,10 @@ Changes with Apache 1.3.1 + *) Change Options None to Options FollowSymLinks in the + Directory / section of the default access.conf-dist + (and -win even though it doesn't matter there). This has better + performance, and more intuitive semantics. [Dean Gaudet] + *) PORT: Updated support for UTS 2.1.2. [Dave Dykstra [EMAIL PROTECTED]] PR#2320 1.14 +1 -1 apache-1.3/conf/access.conf-dist Index: access.conf-dist === RCS file: /export/home/cvs/apache-1.3/conf/access.conf-dist,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- access.conf-dist 1998/05/29 01:27:49 1.13 +++ access.conf-dist 1998/06/06 19:46:59 1.14 @@ -14,7 +14,7 @@ # permissions. Directory / -Options None +Options FollowSymLinks AllowOverride None /Directory
cvs commit: apache-1.3/conf access.conf-dist-win
dgaudet 98/06/06 12:47:13 Modified:conf access.conf-dist-win Log: forgot this Revision ChangesPath 1.7 +1 -1 apache-1.3/conf/access.conf-dist-win Index: access.conf-dist-win === RCS file: /export/home/cvs/apache-1.3/conf/access.conf-dist-win,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- access.conf-dist-win 1998/05/30 14:46:49 1.6 +++ access.conf-dist-win 1998/06/06 19:47:13 1.7 @@ -19,7 +19,7 @@ # permissions. Directory / -Options None +Options FollowSymLinks AllowOverride None /Directory
cvs commit: apache-1.3/src/main http_main.c
dgaudet 98/06/06 13:48:55 Modified:src CHANGES Configure src/main http_main.c Log: define WORKAROUND_SOLARIS_BUG for NCR systems as well. PR: 1973 Submitted by: Klaus Weber [EMAIL PROTECTED] Revision ChangesPath 1.892 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.891 retrieving revision 1.892 diff -u -r1.891 -r1.892 --- CHANGES 1998/06/06 19:46:58 1.891 +++ CHANGES 1998/06/06 20:48:51 1.892 @@ -1,5 +1,9 @@ Changes with Apache 1.3.1 + *) PORT: NCR MPRAS systems have the same bug with SIGHUP restart that + Solaris systems experience. So define WORKAROUND_SOLARIS_BUG. + [Klaus Weber [EMAIL PROTECTED]] PR#1973 + *) Change Options None to Options FollowSymLinks in the Directory / section of the default access.conf-dist (and -win even though it doesn't matter there). This has better 1.264 +6 -0 apache-1.3/src/Configure Index: Configure === RCS file: /export/home/cvs/apache-1.3/src/Configure,v retrieving revision 1.263 retrieving revision 1.264 diff -u -r1.263 -r1.264 --- Configure 1998/06/06 19:30:39 1.263 +++ Configure 1998/06/06 20:48:52 1.264 @@ -616,6 +616,12 @@ LIBS=$LIBS -lsocket -lnsl DEF_WANTHSREGEX=yes ;; +i486-ncr-sysv4) + OS='NCR MP/RAS' + CFLAGS=$CFLAGS -DSVR4 -DMPRAS + LIBS=$LIBS -lsocket -lnsl -lc -L/usr/ucblib -lucb + DEF_WANTHSREGEX=yes + ;; *-sysv4*) OS='SVR4' CFLAGS=$CFLAGS -DSVR4 1.360 +5 -0 apache-1.3/src/main/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v retrieving revision 1.359 retrieving revision 1.360 diff -u -r1.359 -r1.360 --- http_main.c 1998/06/06 19:30:47 1.359 +++ http_main.c 1998/06/06 20:48:54 1.360 @@ -2843,6 +2843,11 @@ #define WORKAROUND_SOLARIS_BUG #endif +/* PR#1973 NCR SVR4 systems appear to have the same problem */ +#if defined (MPRAS) +#define WORKAROUND_SOLARIS_BUG +#endif + #ifndef WORKAROUND_SOLARIS_BUG s = ap_slack(s, AP_SLACK_HIGH);
cvs commit: apache-1.3/src/modules/standard mod_unique_id.c
dgaudet 98/06/07 22:32:24 Modified:src CHANGES src/modules/standard mod_unique_id.c Log: fix mod_unique_id to work with 64-bit time_t Submitted by: Alvaro Martinez Echevarria [EMAIL PROTECTED] Revision ChangesPath 1.894 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.893 retrieving revision 1.894 diff -u -r1.893 -r1.894 --- CHANGES 1998/06/07 13:16:40 1.893 +++ CHANGES 1998/06/08 05:32:22 1.894 @@ -1,5 +1,9 @@ Changes with Apache 1.3.1 + *) mod_unique_id did not work on alpha linux (in general on any + architecture that has 64-bit time_t). + [Alvaro Martinez Echevarria [EMAIL PROTECTED]] + *) PORT: Make SCO 5 (and probably 3) compile again. [Ben Laurie] *) PORT: NCR MPRAS systems have the same bug with SIGHUP restart that 1.16 +88 -45apache-1.3/src/modules/standard/mod_unique_id.c Index: mod_unique_id.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_unique_id.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- mod_unique_id.c 1998/04/11 12:00:53 1.15 +++ mod_unique_id.c 1998/06/08 05:32:24 1.16 @@ -59,6 +59,7 @@ * mod_unique_id.c: generate a unique identifier for each request * * Original author: Dean Gaudet [EMAIL PROTECTED] + * UUencoding modified by: Alvaro Martinez Echevarria [EMAIL PROTECTED] */ #include httpd.h @@ -71,11 +72,11 @@ #endif typedef struct { -time_t stamp; +unsigned int stamp; unsigned int in_addr; unsigned int pid; unsigned short counter; -} unique_id_rec; +} unique_id_rec; /* Comments: * @@ -125,11 +126,35 @@ * procedure will ensure that the new space of identifiers is completely unique * from the old space. (Since the first four unencoded bytes always differ.) */ +/* + * Sun Jun 7 05:43:49 CEST 1998 -- Alvaro + * More comments: + * 1) The UUencoding prodecure is now done in a general way, avoiding the problems + * with sizes and paddings that can arise depending on the architecture. Now the + * offsets and sizes of the elements of the unique_id_rec structure are calculated + * in unique_id_global_init; and then used to duplicate the structure without the + * paddings that might exist. The multithreaded server fix should be now very easy: + * just add a new tid field to the unique_id_rec structure, and increase by one + * UNIQUE_ID_REC_MAX. + * 2) unique_id_rec.stamp has been changed from time_t to unsigned int, because + * its size is 64bits on some platforms (linux/alpha), and this caused problems with + * htonl/ntohl. Well, this shouldn't be a problem till year 2106. + */ static unsigned global_in_addr; static APACHE_TLS unique_id_rec cur_unique_id; +/* + * Number of elements in the structure unique_id_rec. + */ +#define UNIQUE_ID_REC_MAX 4 + +static unsigned short unique_id_rec_offset[UNIQUE_ID_REC_MAX], + unique_id_rec_size[UNIQUE_ID_REC_MAX], + unique_id_rec_total_size, + unique_id_rec_size_uu; + static void unique_id_global_init(server_rec *s, pool *p) { #ifndef MAXHOSTNAMELEN @@ -142,18 +167,23 @@ #endif /* - * First of all, verify some assumptions that have been made about the - * contents of unique_id_rec. We do it this way because it isn't - * affected by trailing padding. + * Calculate the sizes and offsets in cur_unique_id. */ -if (XtOffsetOf(unique_id_rec, counter) + sizeof(cur_unique_id.counter) -!= 14) { -ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ALERT, s, -mod_unique_id: sorry the size assumptions are wrong -in mod_unique_id.c, please remove it from your server -or fix the code!); -exit(1); -} +unique_id_rec_offset[0] = XtOffsetOf(unique_id_rec, stamp); +unique_id_rec_size[0] = sizeof(cur_unique_id.stamp); +unique_id_rec_offset[1] = XtOffsetOf(unique_id_rec, in_addr); +unique_id_rec_size[1] = sizeof(cur_unique_id.in_addr); +unique_id_rec_offset[2] = XtOffsetOf(unique_id_rec, pid); +unique_id_rec_size[2] = sizeof(cur_unique_id.pid); +unique_id_rec_offset[3] = XtOffsetOf(unique_id_rec, counter); +unique_id_rec_size[3] = sizeof(cur_unique_id.counter); +unique_id_rec_total_size = unique_id_rec_size[0] + unique_id_rec_size[1] + + unique_id_rec_size[2] + unique_id_rec_size[3]; + +/* + * Calculate the size of the structure when uuencoded
cvs commit: apache-1.3/src/main alloc.c
dgaudet 98/06/07 22:39:56 Modified:src CHANGES src/main alloc.c Log: fix typo Submitted by: Alvaro Martinez Echevarria Revision ChangesPath 1.895 +2 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.894 retrieving revision 1.895 diff -u -r1.894 -r1.895 --- CHANGES 1998/06/08 05:32:22 1.894 +++ CHANGES 1998/06/08 05:39:53 1.895 @@ -1,5 +1,7 @@ Changes with Apache 1.3.1 + *) Fix a typo in pool debugging code. [Alvaro Martinez Echevarria] + *) mod_unique_id did not work on alpha linux (in general on any architecture that has 64-bit time_t). [Alvaro Martinez Echevarria [EMAIL PROTECTED]] 1.95 +1 -1 apache-1.3/src/main/alloc.c Index: alloc.c === RCS file: /export/home/cvs/apache-1.3/src/main/alloc.c,v retrieving revision 1.94 retrieving revision 1.95 diff -u -r1.94 -r1.95 --- alloc.c 1998/05/28 22:09:50 1.94 +++ alloc.c 1998/06/08 05:39:55 1.95 @@ -1178,7 +1178,7 @@ abort(); } if (!ap_pool_is_ancestor(ap_find_pool(val), t-a.pool)) { - fprintf(stderr, table_set: key not in ancestor pool of t\n); + fprintf(stderr, table_set: val not in ancestor pool of t\n); abort(); } }
cvs commit: apache-1.3/src/modules/standard mod_usertrack.c
dgaudet 98/06/07 23:09:53 Modified:src CHANGES src/modules/standard mod_usertrack.c Log: don't hammer the hostname... it's a constant string... note I changed the cookie format to include the FQDN, I don't see why it doesn't include the FQDN. PR: 2366 Revision ChangesPath 1.896 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.895 retrieving revision 1.896 diff -u -r1.895 -r1.896 --- CHANGES 1998/06/08 05:39:53 1.895 +++ CHANGES 1998/06/08 06:09:51 1.896 @@ -1,5 +1,9 @@ Changes with Apache 1.3.1 + *) mod_usertrack was corrupting the client hostname. As part of the + fix, the cookie values were slightly extended to include the + fully qualified hostname of the client. [Dean Gaudet] PR#2366 + *) Fix a typo in pool debugging code. [Alvaro Martinez Echevarria] *) mod_unique_id did not work on alpha linux (in general on any 1.35 +3 -7 apache-1.3/src/modules/standard/mod_usertrack.c Index: mod_usertrack.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_usertrack.c,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- mod_usertrack.c 1998/04/11 12:00:53 1.34 +++ mod_usertrack.c 1998/06/08 06:09:52 1.35 @@ -137,13 +137,9 @@ /* 1024 == hardcoded constant */ char cookiebuf[1024]; char *new_cookie; -char *dot; const char *rname = ap_get_remote_host(r-connection, r-per_dir_config, REMOTE_NAME); -if ((dot = strchr(rname, '.'))) -*dot = '\0';/* First bit of hostname */ - #if defined(NO_GETTIMEOFDAY) !defined(NO_TIMES) /* We lack gettimeofday(), so we must use time() to obtain the epoch seconds, and then times() to obtain CPU clock ticks (milliseconds). @@ -151,7 +147,7 @@ mpe_times = times(mpe_tms); -ap_snprintf(cookiebuf, sizeof(cookiebuf), %s%d%ld%ld, rname, (int) getpid(), +ap_snprintf(cookiebuf, sizeof(cookiebuf), %s.%d%ld%ld, rname, (int) getpid(), (long) r-request_time, (long) mpe_tms.tms_utime); #elif defined(WIN32) /* @@ -160,13 +156,13 @@ * was started. It should be relatively unique. */ -ap_snprintf(cookiebuf, sizeof(cookiebuf), %s%d%ld%ld, rname, (int) getpid(), +ap_snprintf(cookiebuf, sizeof(cookiebuf), %s.%d%ld%ld, rname, (int) getpid(), (long) r-request_time, (long) GetTickCount()); #else gettimeofday(tv, tz); -ap_snprintf(cookiebuf, sizeof(cookiebuf), %s%d%ld%d, rname, (int) getpid(), +ap_snprintf(cookiebuf, sizeof(cookiebuf), %s.%d%ld%d, rname, (int) getpid(), (long) tv.tv_sec, (int) tv.tv_usec / 1000); #endif
cvs commit: apache-1.3/src CHANGES
dgaudet 98/06/07 23:26:15 Modified:src CHANGES Log: PR#2229 same problem as 2366 Revision ChangesPath 1.897 +1 -1 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.896 retrieving revision 1.897 diff -u -r1.896 -r1.897 --- CHANGES 1998/06/08 06:09:51 1.896 +++ CHANGES 1998/06/08 06:26:14 1.897 @@ -2,7 +2,7 @@ *) mod_usertrack was corrupting the client hostname. As part of the fix, the cookie values were slightly extended to include the - fully qualified hostname of the client. [Dean Gaudet] PR#2366 + fully qualified hostname of the client. [Dean Gaudet] PR#2229, 2366 *) Fix a typo in pool debugging code. [Alvaro Martinez Echevarria]
cvs commit: apache-1.3/src Configure
dgaudet 98/06/08 11:06:47 Modified:src Configure Log: tsk tsk brian. update to take into account brian's latest change to ncr. Revision ChangesPath 1.265 +1 -1 apache-1.3/src/Configure Index: Configure === RCS file: /export/home/cvs/apache-1.3/src/Configure,v retrieving revision 1.264 retrieving revision 1.265 diff -u -r1.264 -r1.265 --- Configure 1998/06/06 20:48:52 1.264 +++ Configure 1998/06/08 18:06:43 1.265 @@ -616,7 +616,7 @@ LIBS=$LIBS -lsocket -lnsl DEF_WANTHSREGEX=yes ;; -i486-ncr-sysv4) +*-ncr-sysv4) OS='NCR MP/RAS' CFLAGS=$CFLAGS -DSVR4 -DMPRAS LIBS=$LIBS -lsocket -lnsl -lc -L/usr/ucblib -lucb
cvs commit: apache-1.3/src/main http_main.c
dgaudet 98/06/08 13:32:18 Modified:src/main http_main.c Log: another tiny bit of fallout from the int - ap_wait_t change. Submitted by: Dave Dykstra [EMAIL PROTECTED] Revision ChangesPath 1.362 +1 -1 apache-1.3/src/main/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v retrieving revision 1.361 retrieving revision 1.362 diff -u -r1.361 -r1.362 --- http_main.c 1998/06/07 13:16:41 1.361 +++ http_main.c 1998/06/08 20:32:16 1.362 @@ -2144,7 +2144,7 @@ kill((pid = ap_scoreboard_image-parent[n].pid), 0) == -1) { ap_update_child_status(n, SERVER_DEAD, NULL); /* just mark it as having a successful exit status */ - *status = 0; + bzero((char *) status, sizeof(ap_wait_t)); return(pid); } }
cvs commit: apache-1.3/src/helpers findprg.sh
dgaudet 98/06/08 13:36:17 Modified:src/helpers findprg.sh Log: tweak to ralf's recent change which looks for gawk/nawk... it did things in the wrong order -- so it would still use awk if it was in an earlier path rather than preferring gawk/nawk. PR: 2319 Submitted by: Dave Dykstra [EMAIL PROTECTED] Revision ChangesPath 1.2 +9 -8 apache-1.3/src/helpers/findprg.sh Index: findprg.sh === RCS file: /export/home/cvs/apache-1.3/src/helpers/findprg.sh,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- findprg.sh1998/06/05 07:15:19 1.1 +++ findprg.sh1998/06/08 20:36:16 1.2 @@ -43,14 +43,15 @@ fi rm -f $testfile -# iterate over paths -for path in `echo $pathlist |\ - sed -e 's/^:/.:/' \ - -e 's/::/:.:/g' \ - -e 's/:$/:./' \ - -e 's/:/ /g'`; do -# iterate over names -for name in $namelist; do +paths=`echo $pathlist |\ + sed -e 's/^:/.:/' \ + -e 's/::/:.:/g' \ + -e 's/:$/:./' \ + -e 's/:/ /g'` +# iterate over names +for name in $namelist; do +# iterate over paths +for path in $paths; do if [ $minusx $path/$name ] [ ! -d $path/$name ]; then if [ $silent != yes ]; then echo $path/$name
cvs commit: apache-1.3/src/modules/standard mod_log_config.c
dgaudet 98/06/08 21:36:47 Modified:src CHANGES src/modules/standard mod_log_config.c Log: fix the inheritance of log formats from main server to vhosts Submitted by: Christof Damian [EMAIL PROTECTED] Revision ChangesPath 1.898 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.897 retrieving revision 1.898 diff -u -r1.897 -r1.898 --- CHANGES 1998/06/08 06:26:14 1.897 +++ CHANGES 1998/06/09 04:36:44 1.898 @@ -1,5 +1,8 @@ Changes with Apache 1.3.1 + *) mod_log_config wouldn't let vhosts use log formats defined in the + main server. [Christof Damian [EMAIL PROTECTED]] + *) mod_usertrack was corrupting the client hostname. As part of the fix, the cookie values were slightly extended to include the fully qualified hostname of the client. [Dean Gaudet] PR#2229, 2366 1.60 +33 -13apache-1.3/src/modules/standard/mod_log_config.c Index: mod_log_config.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_log_config.c,v retrieving revision 1.59 retrieving revision 1.60 diff -u -r1.59 -r1.60 --- mod_log_config.c 1998/05/29 08:18:51 1.59 +++ mod_log_config.c 1998/06/09 04:36:47 1.60 @@ -215,6 +215,7 @@ */ typedef struct { +char *default_format_string; array_header *default_format; array_header *config_logs; array_header *server_config_logs; @@ -232,6 +233,7 @@ typedef struct { char *fname; +char *format_string; array_header *format; int log_fd; #ifdef BUFFERED_LOGS @@ -782,6 +784,7 @@ multi_log_state *mls = (multi_log_state *) ap_palloc(p, sizeof(multi_log_state)); mls-config_logs = ap_make_array(p, 1, sizeof(config_log_state)); +mls-default_format_string = NULL; mls-default_format = NULL; mls-server_config_logs = NULL; mls-formats = ap_make_table(p, 4); @@ -800,13 +803,39 @@ { multi_log_state *base = (multi_log_state *) basev; multi_log_state *add = (multi_log_state *) addv; +char *format; +const char *dummy; add-server_config_logs = base-config_logs; if (!add-default_format) { +add-default_format_string = base-default_format_string; add-default_format = base-default_format; } add-formats = ap_overlay_tables(p, base-formats, add-formats); +if (add-default_format_string) { + format = ap_table_get(add-formats, add-default_format_string); + if (format) { + add-default_format = parse_log_string(p, format, dummy); + } +} + +if (add-config_logs) { + config_log_state *clsarray = (config_log_state *) add-config_logs-elts; + int i; + + for (i = 0; i add-config_logs-nelts; ++i) { + config_log_state *cls = clsarray[i]; + + if (cls-format_string) { + format = ap_table_get(add-formats, cls-format_string); + if (format) { + cls-format = parse_log_string(p, format, dummy); + } + } + } +} + return add; } @@ -817,7 +846,6 @@ char *name) { const char *err_string = NULL; -char *format; multi_log_state *mls = ap_get_module_config(cmd-server-module_config, config_log_module); @@ -833,14 +861,8 @@ } } else { -/* - * See if we were given a name rather than a format string. - */ -format = ap_table_get(mls-formats, fmt); -if (format == NULL) { -format = fmt; -} -mls-default_format = parse_log_string(cmd-pool, format, err_string); +mls-default_format_string = fmt; +mls-default_format = parse_log_string(cmd-pool, fmt, err_string); } return err_string; } @@ -852,17 +874,15 @@ multi_log_state *mls = ap_get_module_config(cmd-server-module_config, config_log_module); config_log_state *cls; -char *format; cls = (config_log_state *) ap_push_array(mls-config_logs); cls-fname = fn; +cls-format_string = fmt; if (!fmt) { cls-format = NULL; } else { -format = ap_table_get(mls-formats, fmt); -format = (format != NULL) ? format : fmt; -cls-format = parse_log_string(cmd-pool, format, err_string); +cls-format = parse_log_string(cmd-pool, fmt, err_string); } cls-log_fd = -1;
cvs commit: apache-1.3/src/modules/standard mod_cern_meta.c
dgaudet 98/06/08 22:22:12 Modified:src CHANGES src/modules/standard mod_cern_meta.c Log: Missing usage for MetaFiles directive. PR: 2384 Submitted by: David MacKenzie [EMAIL PROTECTED] Revision ChangesPath 1.900 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.899 retrieving revision 1.900 diff -u -r1.899 -r1.900 --- CHANGES 1998/06/09 04:41:26 1.899 +++ CHANGES 1998/06/09 05:22:10 1.900 @@ -1,5 +1,8 @@ Changes with Apache 1.3.1 + *) Fix missing usage description for MetaFiles directive. + [David MacKenzie [EMAIL PROTECTED]] PR#2384 + *) mod_log_config wouldn't let vhosts use log formats defined in the main server. [Christof Damian [EMAIL PROTECTED]] PR#2090 1.29 +2 -1 apache-1.3/src/modules/standard/mod_cern_meta.c Index: mod_cern_meta.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_cern_meta.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- mod_cern_meta.c 1998/04/11 12:00:45 1.28 +++ mod_cern_meta.c 1998/06/09 05:22:11 1.29 @@ -217,7 +217,8 @@ static const command_rec cern_meta_cmds[] = { -{MetaFiles, set_metafiles, NULL, DIR_CMD_PERMS, FLAG, NULL}, +{MetaFiles, set_metafiles, NULL, DIR_CMD_PERMS, FLAG, +Limited to 'on' or 'off'}, {MetaDir, set_metadir, NULL, DIR_CMD_PERMS, TAKE1, the name of the directory containing meta files}, {MetaSuffix, set_metasuffix, NULL, DIR_CMD_PERMS, TAKE1,
cvs commit: apache-1.3/src/helpers GuessOS
dgaudet 98/06/10 01:15:11 Modified:src CHANGES src/helpers GuessOS Log: update to properly support 32-bit qnx PR: 2390 Submitted by: Sean Boudreau [EMAIL PROTECTED] Revision ChangesPath 1.905 +6 -2 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.904 retrieving revision 1.905 diff -u -r1.904 -r1.905 --- CHANGES 1998/06/09 12:59:18 1.904 +++ CHANGES 1998/06/10 08:15:09 1.905 @@ -1,5 +1,8 @@ Changes with Apache 1.3.1 - + + *) PORT: QNX update to properly guess 32-bit systems. + [Sean Boudreau [EMAIL PROTECTED]] PR#2390 + *) Make sure the DSO emulation code for HPUX finds the proprietary shl_xxx() functions which are in libdld under HPUX 9/10. [Ralf S. Engelschall] PR#2378 @@ -29,7 +32,8 @@ *) mod_usertrack was corrupting the client hostname. As part of the fix, the cookie values were slightly extended to include the - fully qualified hostname of the client. [Dean Gaudet] PR#2229, 2366 + fully qualified hostname of the client. + [Dean Gaudet] PR#2190, 2229, 2366 *) Fix a typo in pool debugging code. [Alvaro Martinez Echevarria] 1.41 +5 -8 apache-1.3/src/helpers/GuessOS Index: GuessOS === RCS file: /export/home/cvs/apache-1.3/src/helpers/GuessOS,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- GuessOS 1998/06/08 17:04:02 1.40 +++ GuessOS 1998/06/10 08:15:11 1.41 @@ -139,14 +139,11 @@ ;; QNX:*) - case $VERSION in - 423) - echo ${MACHINE}-qssl-qnx32 - ;; - *) - echo ${MACHINE}-qssl-qnx - ;; - esac + if [ $VERSION -gt 422 ]; then + echo ${MACHINE}-qssl-qnx32 + else + echo ${MACHINE}-qssl-qnx + fi exit 0 ;;
cvs commit: apache-1.3/src/modules/standard mod_cern_meta.c mod_mime_magic.c
dgaudet 98/06/10 02:02:15 Modified:src CHANGES src/include httpd.h src/main util.c util_script.c src/modules/standard mod_cern_meta.c mod_mime_magic.c Log: My all content-types must be lowercase change neglected param=value pairs... and would downcase the value, which is a case-sensitive thing. But, to be honest, the code prior to my changes neglected param=value pairs. Another case where we really should have some core parsing routines that understand HTTP rather than the hodge-podge we have now. PR: 2394 Revision ChangesPath 1.906 +5 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.905 retrieving revision 1.906 diff -u -r1.905 -r1.906 --- CHANGES 1998/06/10 08:15:09 1.905 +++ CHANGES 1998/06/10 09:01:58 1.906 @@ -1,5 +1,10 @@ Changes with Apache 1.3.1 + *) Apache would incorrectly downcase the entire Content-Type passed from + CGIs. This affected server-push scripts and such which use + multipart/x-mixed-replace;boundary=ThisRandomString. + [Dean Gaudet] PR#2394 + *) PORT: QNX update to properly guess 32-bit systems. [Sean Boudreau [EMAIL PROTECTED]] PR#2390 1.223 +1 -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.222 retrieving revision 1.223 diff -u -r1.222 -r1.223 --- httpd.h 1998/06/07 01:22:36 1.222 +++ httpd.h 1998/06/10 09:02:02 1.223 @@ -896,6 +896,7 @@ API_EXPORT(char *) ap_pregsub(pool *p, const char *input, const char *source, size_t nmatch, regmatch_t pmatch[]); +API_EXPORT(void) ap_content_type_tolower(char *); API_EXPORT(void) ap_str_tolower(char *); API_EXPORT(int) ap_ind(const char *, char); /* Sigh... */ API_EXPORT(int) ap_rind(const char *, char); 1.120 +24 -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.119 retrieving revision 1.120 diff -u -r1.119 -r1.120 --- util.c1998/06/06 19:30:48 1.119 +++ util.c1998/06/10 09:02:09 1.120 @@ -1781,3 +1781,27 @@ return (time1 - time0); } #endif + +/* we want to downcase the type/subtype for comparison purposes + * but nothing else because ;parameter=foo values are case sensitive. + * XXX: in truth we want to downcase parameter names... but really, + * apache has never handled parameters and such correctly. You + * also need to compress spaces and such to be able to compare + * properly. -djg + */ +API_EXPORT(void) ap_content_type_tolower(char *str) +{ +char *semi; + +semi = strchr(str, ';'); +if (semi) { + *semi = '\0'; +} +while (*str) { + *str = tolower(*str); + ++str; +} +if (semi) { + *semi = ';'; +} +} 1.116 +1 -1 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.115 retrieving revision 1.116 diff -u -r1.115 -r1.116 --- util_script.c 1998/05/28 23:26:41 1.115 +++ util_script.c 1998/06/10 09:02:09 1.116 @@ -466,7 +466,7 @@ *endp-- = '\0'; r-content_type = ap_pstrdup(r-pool, l); - ap_str_tolower(r-content_type); + ap_content_type_tolower(r-content_type); } /* * If the script returned a specific status, that's what 1.30 +1 -1 apache-1.3/src/modules/standard/mod_cern_meta.c Index: mod_cern_meta.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_cern_meta.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- mod_cern_meta.c 1998/06/09 05:22:11 1.29 +++ mod_cern_meta.c 1998/06/10 09:02:12 1.30 @@ -269,7 +269,7 @@ *endp-- = '\0'; r-content_type = ap_pstrdup(r-pool, l); - ap_str_tolower(r-content_type); + ap_content_type_tolower(r-content_type); } else if (!strcasecmp(w, Status)) { sscanf(l, %d, r-status); 1.34 +1 -1 apache-1.3/src/modules/standard/mod_mime_magic.c Index: mod_mime_magic.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_mime_magic.c
cvs commit: apache-1.3/src CHANGES
dgaudet 98/06/10 14:13:27 Modified:src CHANGES Log: wrong email addr for alvaro... but he already has his addr listed earlier so just remove it Revision ChangesPath 1.910 +1 -1 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.909 retrieving revision 1.910 diff -u -r1.909 -r1.910 --- CHANGES 1998/06/10 12:08:47 1.909 +++ CHANGES 1998/06/10 21:13:26 1.910 @@ -63,7 +63,7 @@ *) mod_unique_id did not work on alpha linux (in general on any architecture that has 64-bit time_t). - [Alvaro Martinez Echevarria [EMAIL PROTECTED]] + [Alvaro Martinez Echevarria] *) PORT: Make SCO 5 (and probably 3) compile again. [Ben Laurie]
cvs commit: apache-1.3/src/modules/standard mod_autoindex.c
dgaudet 98/06/12 10:42:43 Modified:src/modules/standard mod_autoindex.c Log: - It's not possible for name to be NULL. - It's not necessary to test name[0] == 0 because the next if will fail in that event anyhow. Ditto for name[1] == 0. Revision ChangesPath 1.80 +1 -13 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.79 retrieving revision 1.80 diff -u -r1.79 -r1.80 --- mod_autoindex.c 1998/06/12 15:53:23 1.79 +++ mod_autoindex.c 1998/06/12 17:42:42 1.80 @@ -140,20 +140,8 @@ * matches .. or ../). Hopefully this one call is significantly less * expensive than multiple strcmp() calls. */ -static int is_parent(const char *name) +static ap_inline int is_parent(const char *name) { -/* - * If it's no name at all, it isn't our parent. - */ -if (name == NULL) { -return 0; -} -/* - * Nor is it if the name isn't long enough. - */ -if ((name[0] == '\0') || (name[1] == '\0')) { -return 0; -} /* * Now, IFF the first two bytes are dots, and the third byte is either * EOS (\0) or a slash followed by EOS, we have a match.
cvs commit: apache-1.3/src/modules/standard mod_status.c
dgaudet 98/06/15 09:46:14 Modified:src CHANGES src/modules/standard mod_status.c Log: clean up a warning in mod_status for OS/2 Submitted by: Brian Havard Revision ChangesPath 1.916 +2 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.915 retrieving revision 1.916 diff -u -r1.915 -r1.916 --- CHANGES 1998/06/14 18:33:08 1.915 +++ CHANGES 1998/06/15 16:46:10 1.916 @@ -1,5 +1,7 @@ Changes with Apache 1.3.1 + *) PORT: clean up a warning in mod_status for OS/2. [Brian Havard] + *) Make table elements const. This may prevent obscure errors. [Ben Laurie] *) Fix parsing of FTP `SIZE' responses in proxy module: The newline was not 1.89 +1 -1 apache-1.3/src/modules/standard/mod_status.c Index: mod_status.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_status.c,v retrieving revision 1.88 retrieving revision 1.89 diff -u -r1.88 -r1.89 --- mod_status.c 1998/06/04 20:13:21 1.88 +++ mod_status.c 1998/06/15 16:46:13 1.89 @@ -232,7 +232,7 @@ long req_time; #if defined(NEXT) float tick = HZ; -#elif !defined(WIN32) +#elif !defined(NO_TIMES) float tick = sysconf(_SC_CLK_TCK); #endif #endif /* STATUS */
cvs commit: apache-1.3/src CHANGES
dgaudet 98/06/15 09:49:14 Modified:src CHANGES Log: I believe that PR#2367 is the same as PR#2412 Revision ChangesPath 1.917 +1 -1 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.916 retrieving revision 1.917 diff -u -r1.916 -r1.917 --- CHANGES 1998/06/15 16:46:10 1.916 +++ CHANGES 1998/06/15 16:49:11 1.917 @@ -6,7 +6,7 @@ *) Fix parsing of FTP `SIZE' responses in proxy module: The newline was not truncated which forced following HTTP headers to be data in the HTTP - reponse. [Ralf S. Engelschall, Charles Fu [EMAIL PROTECTED]] PR#2412 + reponse. [Ralf S. Engelschall, Charles Fu [EMAIL PROTECTED]] PR#2412, 2367 *) Portability fix for APACI shadow tree support: Swap order of awk and sed in top-level configure script to avoid sed fails on some platforms (for
cvs commit: apache-site related_projects.html
dgaudet 98/06/16 20:44:25 Modified:.related_projects.html Log: add link to redhat Revision ChangesPath 1.27 +1 -0 apache-site/related_projects.html Index: related_projects.html === RCS file: /export/home/cvs/apache-site/related_projects.html,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- related_projects.html 1998/05/04 18:58:35 1.26 +++ related_projects.html 1998/06/17 03:44:24 1.27 @@ -39,6 +39,7 @@ LIA HREF=#apacheweekApache Week/A (free weekly newsletter) LIA HREF=#ravenCovalent Raven/A LIA HREF=#matriceMatrice W3/A +LIA HREF=http://www.redhat.com/products/product-details.phtml?id=rhsa;Red Hat Secure Web Server/a LIA HREF=#strongholdStronghold/A LIA HREF=#tenonWebTen, a MacOS port of Apache/A /UL
cvs commit: apache-1.3/src/modules/standard mod_log_config.c
dgaudet 98/06/16 23:39:36 Modified:src/modules/standard mod_log_config.c Log: fix problem with previous fix to the log format stuff... it didn't work right in the main server. PR: 2090 Submitted by: Christof Damian [EMAIL PROTECTED] Revision ChangesPath 1.63 +22 -25apache-1.3/src/modules/standard/mod_log_config.c Index: mod_log_config.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_log_config.c,v retrieving revision 1.62 retrieving revision 1.63 diff -u -r1.62 -r1.63 --- mod_log_config.c 1998/06/14 21:10:27 1.62 +++ mod_log_config.c 1998/06/17 06:39:34 1.63 @@ -805,8 +805,6 @@ { multi_log_state *base = (multi_log_state *) basev; multi_log_state *add = (multi_log_state *) addv; -const char *format; -const char *dummy; add-server_config_logs = base-config_logs; if (!add-default_format) { @@ -815,29 +813,6 @@ } add-formats = ap_overlay_tables(p, base-formats, add-formats); -if (add-default_format_string) { - format = ap_table_get(add-formats, add-default_format_string); - if (format) { - add-default_format = parse_log_string(p, format, dummy); - } -} - -if (add-config_logs) { - config_log_state *clsarray = (config_log_state *) add-config_logs-elts; - int i; - - for (i = 0; i add-config_logs-nelts; ++i) { - config_log_state *cls = clsarray[i]; - - if (cls-format_string) { - format = ap_table_get(add-formats, cls-format_string); - if (format) { - cls-format = parse_log_string(p, format, dummy); - } - } - } -} - return add; } @@ -957,7 +932,15 @@ config_log_module); config_log_state *clsarray; const char *dummy; +const char *format; +if (mls-default_format_string) { + format = ap_table_get(mls-formats, mls-default_format_string); + if (format) { + mls-default_format = parse_log_string(p, format, dummy); + } +} + if (!mls-default_format) { mls-default_format = parse_log_string(p, DEFAULT_LOG_FORMAT, dummy); } @@ -967,6 +950,13 @@ for (i = 0; i mls-config_logs-nelts; ++i) { config_log_state *cls = clsarray[i]; + if (cls-format_string) { + format = ap_table_get(mls-formats, cls-format_string); + if (format) { + cls-format = parse_log_string(p, format, dummy); + } + } + cls = open_config_log(s, p, cls, mls-default_format); } } @@ -974,6 +964,13 @@ clsarray = (config_log_state *) mls-server_config_logs-elts; for (i = 0; i mls-server_config_logs-nelts; ++i) { config_log_state *cls = clsarray[i]; + + if (cls-format_string) { + format = ap_table_get(mls-formats, cls-format_string); + if (format) { + cls-format = parse_log_string(p, format, dummy); + } + } cls = open_config_log(s, p, cls, mls-default_format); }
cvs commit: apache-1.3/src/ap ap_slack.c
dgaudet 98/06/16 23:57:06 Modified:src/ap ap_slack.c Log: this is a warning not an error Revision ChangesPath 1.6 +1 -1 apache-1.3/src/ap/ap_slack.c Index: ap_slack.c === RCS file: /export/home/cvs/apache-1.3/src/ap/ap_slack.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ap_slack.c1998/04/11 12:00:17 1.5 +++ ap_slack.c1998/06/17 06:57:05 1.6 @@ -98,7 +98,7 @@ * the high line, because if it fails we'll eventually try * the low line... */ - ap_log_error(APLOG_MARK, APLOG_ERR, NULL, + ap_log_error(APLOG_MARK, APLOG_WARNING, NULL, unable to open a file descriptor above %u, you may need to increase the number of descriptors, LOW_SLACK_LINE);
cvs commit: apache-1.3/src/include conf.h
dgaudet 98/06/17 00:10:45 Modified:src CHANGES src/include conf.h Log: fix compilation on linux arm PR: 2443 Submitted by: Sam Kington [EMAIL PROTECTED] Revision ChangesPath 1.923 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.922 retrieving revision 1.923 diff -u -r1.922 -r1.923 --- CHANGES 1998/06/16 09:42:30 1.922 +++ CHANGES 1998/06/17 07:10:38 1.923 @@ -1,5 +1,8 @@ Changes with Apache 1.3.1 + *) PORT: Fix compilation problem on ARM Linux. + [Sam Kington [EMAIL PROTECTED]] PR#2443 + *) Let APACI's configure script determine some configuration parameters (Group, Port, ServerAdmin, ServerName) via some intelligent tests to remove some of the classical hurdles for new users when setting up 1.216 +1 -1 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.215 retrieving revision 1.216 diff -u -r1.215 -r1.216 --- conf.h1998/06/06 19:30:46 1.215 +++ conf.h1998/06/17 07:10:42 1.216 @@ -1056,7 +1056,7 @@ * so we don't have to. Sigh... */ -#if defined(CRAY) || defined(__arm) +#if defined(CRAY) || (defined(__arm) !defined(LINUX)) #ifdef __STDC__ #define XtOffset(p_type,field) _Offsetof(p_type,field) #else
cvs commit: apache-1.3/src/modules/standard mod_log_config.c
dgaudet 98/06/23 00:25:32 Modified:src/modules/standard mod_log_config.c Log: fix a multithreaded bug that I'm sure Ben didn't intend to introduce between rev 1.61 and 1.62 ;) Revision ChangesPath 1.64 +2 -2 apache-1.3/src/modules/standard/mod_log_config.c Index: mod_log_config.c === RCS file: /export/home/cvs/apache-1.3/src/modules/standard/mod_log_config.c,v retrieving revision 1.63 retrieving revision 1.64 diff -u -r1.63 -r1.64 --- mod_log_config.c 1998/06/17 06:39:34 1.63 +++ mod_log_config.c 1998/06/23 07:25:32 1.64 @@ -374,7 +374,7 @@ { int timz; struct tm *t; -static char tstr[MAX_STRING_LEN]; +char tstr[MAX_STRING_LEN]; t = ap_get_gmtoff(timz); @@ -395,7 +395,7 @@ %c%.2d%.2d], sign, timz / 60, timz % 60); } -return tstr; +return ap_pstrdup(r-pool, tstr); } static const char *log_request_duration(request_rec *r, char *a)
cvs commit: apache-1.3/src/modules/proxy proxy_http.c
dgaudet 98/06/23 00:31:10 Modified:src/modules/proxy proxy_http.c Log: Fix another bug that Ben's const char * changes identified... this fix is untested though. It's not correct to modify the return from ap_table_get under any circumstance, even if you are about to delete it from the table. Revision ChangesPath 1.50 +4 -7 apache-1.3/src/modules/proxy/proxy_http.c Index: proxy_http.c === RCS file: /export/home/cvs/apache-1.3/src/modules/proxy/proxy_http.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -r1.49 -r1.50 --- proxy_http.c 1998/06/13 15:23:01 1.49 +++ proxy_http.c 1998/06/23 07:31:08 1.50 @@ -134,13 +134,10 @@ } /* Clear all connection-based headers from the incoming headers table */ -static void clear_connection(table *headers) +static void clear_connection(pool *p, table *headers) { const char *name; -/* Although we shouldn't alter the return from ap_table_get, in this case - its OK, coz we're going to delete the entry anyway -*/ -char *next = (char *)ap_table_get(headers, Connection); +char *next = ap_pstrdup(p, ap_table_get(headers, Connection)); ap_table_unset(headers, Proxy-Connection); if (!next) @@ -296,7 +293,7 @@ strerror(errno), NULL)); } -clear_connection(r-headers_in); /* Strip connection-based headers */ +clear_connection(r-pool, r-headers_in);/* Strip connection-based headers */ f = ap_bcreate(p, B_RDWR | B_SOCKET); ap_bpushfd(f, sock, sock); @@ -362,7 +359,7 @@ resp_hdrs = ap_proxy_read_headers(p, buffer, HUGE_STRING_LEN, f); - clear_connection((table *) resp_hdrs); /* Strip Connection hdrs */ + clear_connection(p, (table *) resp_hdrs); /* Strip Connection hdrs */ } else { /* an http/0.9 response */
cvs commit: apache-2.0/docs page_io
dgaudet 98/06/24 20:52:12 Modified:docs page_io Log: add splice document Revision ChangesPath 1.9 +5 -0 apache-2.0/docs/page_io Index: page_io === RCS file: /export/home/cvs/apache-2.0/docs/page_io,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- page_io 1998/05/06 16:22:11 1.8 +++ page_io 1998/06/25 03:52:11 1.9 @@ -159,3 +159,8 @@ embedding SMUX (or whatever multiplexing is used) in the kernel to get around this stuff. There we go, Apache with a loadable kernel module. + + + +Larry McVoy's document for SGI regarding sendfile/TransmitFile: +ftp://ftp.bitmover.com/pub/splice.ps.gz
cvs commit: apache-1.3/src/support apachectl
dgaudet 98/06/25 12:14:47 Modified:src CHANGES src/support apachectl Log: use kill -0 $PID Revision ChangesPath 1.931 +5 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.930 retrieving revision 1.931 diff -u -r1.930 -r1.931 --- CHANGES 1998/06/23 23:41:11 1.930 +++ CHANGES 1998/06/25 19:14:40 1.931 @@ -1,5 +1,10 @@ Changes with Apache 1.3.1 + *) PORT: Change support/apachectl to use kill -0 $pid to test if the + httpd is running. This should be more portable than figuring out + which of three dozen different versions of ps are installed. + [a cast of dozens] + *) 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] 1.8 +4 -5 apache-1.3/src/support/apachectl Index: apachectl === RCS file: /export/home/cvs/apache-1.3/src/support/apachectl,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- apachectl 1998/06/10 12:08:51 1.7 +++ apachectl 1998/06/25 19:14:44 1.8 @@ -50,13 +50,12 @@ # check for pidfile if [ -f $PIDFILE ] ; then PID=`cat $PIDFILE` - PS=`ps -p $PID 2/dev/null | tail -1 | grep $PID` - if [ x$PS = x ]; then - STATUS=httpd (pid $PID?) not running - RUNNING=0 - else + if kill -0 $PID; then STATUS=httpd (pid $PID) running RUNNING=1 + else + STATUS=httpd (pid $PID?) not running + RUNNING=0 fi else STATUS=httpd (no pid file) not running
cvs commit: apache-1.3/src/main http_main.c
dgaudet 98/06/25 12:51:56 Modified:src CHANGES src/main http_main.c Log: remove broken MAP_FILE test Submitted by: Wilfredo Sanchez [EMAIL PROTECTED] Revision ChangesPath 1.932 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.931 retrieving revision 1.932 diff -u -r1.931 -r1.932 --- CHANGES 1998/06/25 19:14:40 1.931 +++ CHANGES 1998/06/25 19:51:53 1.932 @@ -1,5 +1,8 @@ Changes with Apache 1.3.1 + *) PORT: remove broken test for MAP_FILE in http_main.c. + [Wilfredo Sanchez [EMAIL PROTECTED]] + *) PORT: Change support/apachectl to use kill -0 $pid to test if the httpd is running. This should be more portable than figuring out which of three dozen different versions of ps are installed. 1.366 +1 -1 apache-1.3/src/main/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v retrieving revision 1.365 retrieving revision 1.366 diff -u -r1.365 -r1.366 --- http_main.c 1998/06/16 03:37:27 1.365 +++ http_main.c 1998/06/25 19:51:55 1.366 @@ -1593,7 +1593,7 @@ { caddr_t m; -#if defined(MAP_ANON) || defined(MAP_FILE) +#if defined(MAP_ANON) /* BSD style */ #ifdef CONVEXOS11 /*
cvs commit: apache-1.3/htdocs/manual/misc perf-tuning.html
dgaudet 98/07/01 10:25:56 Modified:htdocs/manual/misc perf-tuning.html Log: lmbench moved Revision ChangesPath 1.12 +1 -1 apache-1.3/htdocs/manual/misc/perf-tuning.html Index: perf-tuning.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/perf-tuning.html,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- perf-tuning.html 1998/05/20 14:22:42 1.11 +++ perf-tuning.html 1998/07/01 17:25:55 1.12 @@ -708,7 +708,7 @@ size required before using CODEmmap/CODE. By default it's set to 0 (except on SunOS4 where experimentation has shown 8192 to be a better value). Using a tool such as A -HREF=http://reality.sgi.com/lm_engr/lmbench/lmbench.html;lmbench/A you +HREF=http://www.bitmover.com/lmbench/;lmbench/A you can determine the optimal setting for your environment. PYou may also wish to experiment with CODEMMAP_SEGMENT_SIZE/CODE
cvs commit: apache-1.3/src/main buff.c
dgaudet 98/07/01 11:18:27 Modified:src CHANGES src/main buff.c Log: It's definately wrong to start ap_bprintf() on a connection that's got an error, or one which is not buffered. It's wrong for ap_bflush() to return 0 when B_EOUT is set -- B_EOUT can be set by timeout(), and it seems pointless for code everywhere to have to test for B_EOUT when they can simply test for a ap_bflush() failure. Revision ChangesPath 1.943 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.942 retrieving revision 1.943 diff -u -r1.942 -r1.943 --- CHANGES 1998/07/01 01:37:27 1.942 +++ CHANGES 1998/07/01 18:18:23 1.943 @@ -1,5 +1,9 @@ Changes with Apache 1.3.1 + *) 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] + *) add support for #perl arg interpolation in mod_include [Doug MacEachern] 1.78 +8 -1 apache-1.3/src/main/buff.c Index: buff.c === RCS file: /export/home/cvs/apache-1.3/src/main/buff.c,v retrieving revision 1.77 retrieving revision 1.78 diff -u -r1.77 -r1.78 --- buff.c1998/06/04 19:58:57 1.77 +++ buff.c1998/07/01 18:18:25 1.78 @@ -1193,6 +1193,7 @@ static char *cbuf = NULL; static int csize = 0; +/* XXX: martin don't you want to do this after the error tests below? */ if (bgetflag(fb, B_EBCDIC2ASCII)) { if (nbyte csize) { if (cbuf != NULL) @@ -1362,7 +1363,7 @@ int ret; if (!(fb-flags B_WR) || (fb-flags B_EOUT)) - return 0; + return -1; if (fb-flags B_WRERR) return -1; @@ -1523,6 +1524,9 @@ int res; struct bprintf_data b; +/* XXX: only works with buffered writes */ +if ((fb-flags (B_WRERR | B_EOUT | B_WR)) != B_WR) + return -1; b.vbuff.curpos = (char *)fb-outbase[fb-outcnt]; b.vbuff.endpos = (char *)fb-outbase[fb-bufsiz]; b.fb = fb; @@ -1547,6 +1551,9 @@ struct bprintf_data b; int res; +/* XXX: only works with buffered writes */ +if ((fb-flags (B_WRERR | B_EOUT | B_WR)) != B_WR) + return -1; b.vbuff.curpos = (char *)fb-outbase[fb-outcnt]; b.vbuff.endpos = (char *)fb-outbase[fb-bufsiz]; b.fb = fb;
cvs commit: apache-1.3/src/main buff.c
dgaudet 98/07/01 11:22:34 Modified:src/main buff.c Log: more efficient comparisons Revision ChangesPath 1.79 +2 -5 apache-1.3/src/main/buff.c Index: buff.c === RCS file: /export/home/cvs/apache-1.3/src/main/buff.c,v retrieving revision 1.78 retrieving revision 1.79 diff -u -r1.78 -r1.79 --- buff.c1998/07/01 18:18:25 1.78 +++ buff.c1998/07/01 18:22:33 1.79 @@ -433,7 +433,7 @@ /* already chunking */ return; } -if (!(fb-flags B_WR) || (fb-flags (B_WRERR | B_EOUT))) { +if ((fb-flags (B_WRERR | B_EOUT | B_WR)) != B_WR) { /* unbuffered writes */ return; } @@ -1362,10 +1362,7 @@ { int ret; -if (!(fb-flags B_WR) || (fb-flags B_EOUT)) - return -1; - -if (fb-flags B_WRERR) +if ((fb-flags (B_WRERR | B_EOUT | B_WR)) != B_WR) return -1; if (fb-flags B_CHUNK)
cvs commit: apache-1.3/src/main buff.c
dgaudet 98/07/04 11:22:12 Modified:src/main buff.c Log: fix comment pointed out by ben l. Revision ChangesPath 1.81 +2 -1 apache-1.3/src/main/buff.c Index: buff.c === RCS file: /export/home/cvs/apache-1.3/src/main/buff.c,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- buff.c1998/07/04 16:07:27 1.80 +++ buff.c1998/07/04 18:22:11 1.81 @@ -933,7 +933,8 @@ } /* - * Empty the buffer after putting a single character in it + * output a single character. Used by ap_bputs when the buffer + * is full... and so it'll cause the buffer to be flushed first. */ API_EXPORT(int) ap_bflsbuf(int c, BUFF *fb) {
cvs commit: apache-1.3/src/main http_config.c http_core.c
dgaudet 98/07/06 21:06:24 Modified:src CHANGES src/main http_config.c http_core.c Log: better solution for reporting handler not found errors PR: 2529 Submitted by: John Van Essen [EMAIL PROTECTED] Revision ChangesPath 1.948 +4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.947 retrieving revision 1.948 diff -u -r1.947 -r1.948 --- CHANGES 1998/07/06 11:54:27 1.947 +++ CHANGES 1998/07/07 04:06:17 1.948 @@ -1,4 +1,8 @@ Changes with Apache 1.3.1 + + *) The handler not found error was issued in cases where the handler + really did exist, but was just declining to serve the request. + [John Van Essen [EMAIL PROTECTED]] PR#2529 *) Add Dynamic Shared Object (DSO) support for SCO5 (OpenServer 5.0.x). [Ronald Record [EMAIL PROTECTED]] PR#2533 1.118 +8 -2 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.117 retrieving revision 1.118 diff -u -r1.117 -r1.118 --- http_config.c 1998/06/13 15:22:52 1.117 +++ http_config.c 1998/07/07 04:06:20 1.118 @@ -479,6 +479,7 @@ const char *handler; char *p; size_t handler_len; +int result = NOT_IMPLEMENTED; if (r-handler) { handler = r-handler; @@ -501,19 +502,24 @@ for (handp = handlers; handp-hr.content_type; ++handp) { if (handler_len == handp-len !strncmp(handler, handp-hr.content_type, handler_len)) { -int result = (*handp-hr.handler) (r); +result = (*handp-hr.handler) (r); if (result != DECLINED) return result; } } +if (result == NOT_IMPLEMENTED r-handler) { +ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, r-server, +handler \%s\ not found for: %s, r-handler, r-filename); +} + /* Pass two --- wildcard matches */ for (handp = wildhandlers; handp-hr.content_type; ++handp) { if (handler_len = handp-len !strncmp(handler, handp-hr.content_type, handp-len)) { - int result = (*handp-hr.handler) (r); + result = (*handp-hr.handler) (r); if (result != DECLINED) return result; 1.209 +0 -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.208 retrieving revision 1.209 diff -u -r1.208 -r1.209 --- http_core.c 1998/07/03 22:15:56 1.208 +++ http_core.c 1998/07/07 04:06:21 1.209 @@ -2548,12 +2548,6 @@ caddr_t mm; #endif -if (r-handler) { - ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, - r-server, handler \%s\ not found, using default - handler for: %s, r-handler, r-filename); -} - /* This handler has no use for a request body (yet), but we still * need to read and discard it if the client sent one. */
cvs commit: apache-1.3/src/modules/standard mod_autoindex.c
dgaudet 98/07/06 21:54:05 Modified:src/modules/standard mod_autoindex.c Log: - fix a gcc -Wall warning in dsortf() (Ken you should be using -Wall) - remove unnecessary complexity and verbiage (backport dsortf from apache-nspr) Revision ChangesPath 1.85 +21 -74apache-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.84 retrieving revision 1.85 diff -u -r1.84 -r1.85 --- mod_autoindex.c 1998/06/20 11:20:39 1.84 +++ mod_autoindex.c 1998/07/07 04:54:04 1.85 @@ -1017,12 +1017,9 @@ static int dsortf(struct ent **e1, struct ent **e2) { -char *s1; -char *s2; struct ent *c1; struct ent *c2; int result = 0; -int compare_by_string = 1; /* * First, see if either of the entries is for the parent directory. @@ -1040,87 +1037,37 @@ */ if ((*e1)-ascending) { c1 = *e1; - c2 = *e2; +c2 = *e2; } else { c1 = *e2; c2 = *e1; } -/* - * Choose the right values for the sort keys. - */ switch (c1-key) { case K_LAST_MOD: -/* - * Since the last-modified time is a monotonically increasing integer, - * we can short-circuit this process with a simple comparison. - */ -result = c1-lm - c2-lm; - if (result != 0) { - result = (result 0) ? 1 : -1; - } - compare_by_string = 0; - break; + if (c1-lm c2-lm) { +return 1; +} +else if (c1-lm c2-lm) { +return -1; +} +break; case K_SIZE: -/* - * We can pull the same trick with the size as with the mtime. - */ -result = c1-size - c2-size; - if (result != 0) { - result = (result 0) ? 1 : -1; - } - compare_by_string = 0; - break; +if (c1-size c2-size) { +return 1; +} +else if (c1-size c2-size) { +return -1; +} +break; case K_DESC: - s1 = c1-desc; - s2 = c2-desc; - break; -case K_NAME: -default: - s1 = c1-name; - s2 = c2-name; - break; -} - -if (compare_by_string) { -/* - * Take some care, here, in case one string or the other (or both) is - * NULL. - */ - -/* - * Two valid strings, compare normally. - */ -if ((s1 != NULL) (s2 != NULL)) { - result = strcmp(s1, s2); - } - /* - * Two NULL strings - primary keys are equal (fake it). - */ - else if ((s1 == NULL) (s2 == NULL)) { - result = 0; - } - /* - * s1 is NULL, but s2 is a string - so s2 wins. - */ - else if (s1 == NULL) { - result = -1; - } - /* - * Last case: s1 is a string and s2 is NULL, so s1 wins. - */ - else { - result = 1; - } -} -/* - * If the keys were equal, the file name is *always* the secondary key - - * in ascending order. - */ -if (!result) { - result = strcmp((*e1)-name, (*e2)-name); +result = strcmp(c1-desc ? c1-desc : , c2-desc ? c2-desc : ); +if (result) { +return result; +} +break; } -return result; +return strcmp(c1-name, c2-name); }
cvs commit: apache-1.3/src CHANGES Configure
dgaudet 98/07/07 10:23:22 Modified:src CHANGES Configure Log: Enable -funsigned-char for linux 2.x. Put a brief comment about work in progress into CHANGES. PR: 800, 2252, 2553 Revision ChangesPath 1.949 +8 -1 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.948 retrieving revision 1.949 diff -u -r1.948 -r1.949 --- CHANGES 1998/07/07 04:06:17 1.948 +++ CHANGES 1998/07/07 17:23:19 1.949 @@ -1,5 +1,12 @@ Changes with Apache 1.3.1 - + + *) 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 + unsigned chars. For gcc this means adding -funsigned-char. + -funsigned-char is the default now for Linux 2.x and FreeBSD + 2 and 3. [Dean Gaudet] PR#800, 2282, 2553 + *) The handler not found error was issued in cases where the handler really did exist, but was just declining to serve the request. [John Van Essen [EMAIL PROTECTED]] PR#2529 1.272 +1 -1 apache-1.3/src/Configure Index: Configure === RCS file: /export/home/cvs/apache-1.3/src/Configure,v retrieving revision 1.271 retrieving revision 1.272 diff -u -r1.271 -r1.272 --- Configure 1998/07/06 11:54:28 1.271 +++ Configure 1998/07/07 17:23:19 1.272 @@ -432,7 +432,7 @@ *-linux2) DEF_WANTHSREGEX=yes OS='Linux' - CFLAGS=$CFLAGS -DLINUX=2 + CFLAGS=$CFLAGS -DLINUX=2 -funsigned-char LIBS=$LIBS -lm ;; *-linux1)
cvs commit: apache-1.3/src/main http_main.c rfc1413.c
dgaudet 98/07/08 09:54:37 Modified:src CHANGES src/main http_main.c rfc1413.c Log: yet more signal race conditions Revision ChangesPath 1.953 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.952 retrieving revision 1.953 diff -u -r1.952 -r1.953 --- CHANGES 1998/07/08 00:46:03 1.952 +++ CHANGES 1998/07/08 16:54:31 1.953 @@ -1,5 +1,8 @@ Changes with Apache 1.3.1 + *) Fix yet another signal-based race condition involving nested timers. + Signals suck. [Dean Gaudet] + *) 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 1.370 +13 -5 apache-1.3/src/main/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v retrieving revision 1.369 retrieving revision 1.370 diff -u -r1.369 -r1.370 --- http_main.c 1998/06/29 11:41:48 1.369 +++ http_main.c 1998/07/08 16:54:34 1.370 @@ -953,7 +953,13 @@ */ request_rec *log_req = timeout_req; + request_rec *save_req = timeout_req; + /* avoid looping... if ap_log_transaction started another + * timer (say via rfc1413.c) we could loop... + */ + timeout_req = NULL; + while (log_req-main || log_req-prev) { /* Get back to original request... */ if (log_req-main) @@ -965,8 +971,8 @@ if (!current_conn-keptalive) ap_log_transaction(log_req); - ap_bsetflag(timeout_req-connection-client, B_EOUT, 1); - ap_bclose(timeout_req-connection-client); + ap_bsetflag(save_req-connection-client, B_EOUT, 1); + ap_bclose(save_req-connection-client); if (!ap_standalone) exit(0); @@ -975,6 +981,7 @@ } else { /* abort the connection */ ap_bsetflag(current_conn-client, B_EOUT, 1); + ap_bclose(current_conn-client); current_conn-aborted = 1; } } @@ -1045,9 +1052,11 @@ alarm_expiry_time = time(NULL) + x; } #else -if (x) { - alarm_fn = fn; +if (alarm_fn x fn != alarm_fn) { + ap_log_error(APLOG_MARK, APLOG_NOERRNO|APLOG_DEBUG, NULL, + ap_set_callback_and_alarm: possible nested timer!); } +alarm_fn = fn; #ifndef OPTIMIZE_TIMEOUTS old = alarm(x); #else @@ -3390,7 +3399,6 @@ */ ap_kill_timeout(0); /* Cancel any outstanding alarms. */ - timeout_req = NULL; /* No request in progress */ current_conn = NULL; ap_clear_pool(ptrans); 1.25 +1 -2 apache-1.3/src/main/rfc1413.c Index: rfc1413.c === RCS file: /export/home/cvs/apache-1.3/src/main/rfc1413.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- rfc1413.c 1998/05/18 21:56:11 1.24 +++ rfc1413.c 1998/07/08 16:54:34 1.25 @@ -229,9 +229,8 @@ if (get_rfc1413(sock, conn-local_addr, conn-remote_addr, user, srv) = 0) result = user; - - ap_set_callback_and_alarm(NULL, 0); } +ap_set_callback_and_alarm(NULL, 0); ap_pclosesocket(conn-pool, sock); conn-remote_logname = result;
cvs commit: apache-1.3/src/include hsregex.h
dgaudet 98/07/08 16:59:22 Modified:src/include hsregex.h Log: go with brian's change Revision ChangesPath 1.9 +0 -6 apache-1.3/src/include/hsregex.h Index: hsregex.h === RCS file: /export/home/cvs/apache-1.3/src/include/hsregex.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- hsregex.h 1998/07/08 17:47:00 1.8 +++ hsregex.h 1998/07/08 23:59:21 1.9 @@ -1,21 +1,15 @@ #ifndef _REGEX_H_ #define _REGEX_H_ /* never again */ - -/* for 8-bit ctype stuff */ -#include apctype.h - /* = begin header generated by ./mkh = */ #ifdef __cplusplus extern C { #endif /* === regex2.h === */ -#ifndef API_EXPORT #ifdef WIN32 #define API_EXPORT(type)__declspec(dllexport) type __stdcall #else #define API_EXPORT(type)type -#endif #endif typedef off_t regoff_t;
cvs commit: apache-1.3/src/include hsregex.h
dgaudet 98/07/08 17:04:57 Modified:src/regex mkh regex2.h src/include hsregex.h Log: at least I'm not the only one that was confused by this Revision ChangesPath 1.3 +2 -0 apache-1.3/src/regex/mkh Index: mkh === RCS file: /export/home/cvs/apache-1.3/src/regex/mkh,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- mkh 1997/11/05 12:48:25 1.2 +++ mkh 1998/07/09 00:04:56 1.3 @@ -48,6 +48,8 @@ esac done +echo /* DON'T EVEN THINK ABOUT EDITING THIS, go see regex/Makefile, +echo * search for mkh */ if test $ifndef != then echo #ifndef $ifndef 1.6 +2 -0 apache-1.3/src/regex/regex2.h Index: regex2.h === RCS file: /export/home/cvs/apache-1.3/src/regex/regex2.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- regex2.h 1998/07/08 17:47:27 1.5 +++ regex2.h 1998/07/09 00:04:56 1.6 @@ -1,9 +1,11 @@ /* * First, the stuff that ends up in the outside-world include file + = #ifndef API_EXPORT = #ifdef WIN32 = #define API_EXPORT(type)__declspec(dllexport) type __stdcall = #else = #define API_EXPORT(type)type + = #endif = #endif = = typedef off_t regoff_t; 1.10 +4 -0 apache-1.3/src/include/hsregex.h Index: hsregex.h === RCS file: /export/home/cvs/apache-1.3/src/include/hsregex.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- hsregex.h 1998/07/08 23:59:21 1.9 +++ hsregex.h 1998/07/09 00:04:57 1.10 @@ -1,3 +1,5 @@ +/* DON'T EVEN THINK ABOUT EDITING THIS, go see regex/Makefile, + * search for mkh */ #ifndef _REGEX_H_ #define _REGEX_H_ /* never again */ /* = begin header generated by ./mkh = */ @@ -6,10 +8,12 @@ #endif /* === regex2.h === */ +#ifndef API_EXPORT #ifdef WIN32 #define API_EXPORT(type)__declspec(dllexport) type __stdcall #else #define API_EXPORT(type)type +#endif #endif typedef off_t regoff_t;
cvs commit: apache-1.3/src/os/unix Makefile.tmpl
dgaudet 98/07/08 17:08:48 Modified:src Makefile.tmpl src/ap Makefile.tmpl src/main Makefile.tmpl src/modules/proxy Makefile.tmpl src/modules/standard Makefile.tmpl src/modules/test Makefile.tmpl src/os/unix Makefile.tmpl Log: update dependencies Revision ChangesPath 1.98 +5 -4 apache-1.3/src/Makefile.tmpl Index: Makefile.tmpl === RCS file: /export/home/cvs/apache-1.3/src/Makefile.tmpl,v retrieving revision 1.97 retrieving revision 1.98 diff -u -r1.97 -r1.98 --- Makefile.tmpl 1998/06/16 03:49:57 1.97 +++ Makefile.tmpl 1998/07/09 00:08:43 1.98 @@ -111,8 +111,9 @@ $(OBJS): Makefile # DO NOT REMOVE -buildmark.o: buildmark.c include/conf.h os/unix/os.h include/httpd.h \ - include/alloc.h include/buff.h include/ap.h include/util_uri.h +buildmark.o: buildmark.c include/conf.h os/unix/os.h include/apctype.h \ + include/hsregex.h include/httpd.h include/alloc.h include/buff.h \ + include/ap.h include/util_uri.h modules.o: modules.c include/httpd.h include/conf.h os/unix/os.h \ - include/alloc.h include/buff.h include/ap.h include/util_uri.h \ - include/http_config.h + include/apctype.h include/hsregex.h include/alloc.h include/buff.h \ + include/ap.h include/util_uri.h include/http_config.h 1.25 +10 -5 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.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- Makefile.tmpl 1998/06/19 21:02:33 1.24 +++ Makefile.tmpl 1998/07/09 00:08:43 1.25 @@ -40,17 +40,22 @@ # DO NOT REMOVE ap_cpystrn.o: ap_cpystrn.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ - $(OSDIR)/os.h $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ + $(OSDIR)/os.h $(INCDIR)/apctype.h $(INCDIR)/hsregex.h \ + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ $(INCDIR)/util_uri.h ap_execve.o: ap_execve.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ - $(OSDIR)/os.h $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ + $(OSDIR)/os.h $(INCDIR)/apctype.h $(INCDIR)/hsregex.h \ + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ $(INCDIR)/util_uri.h ap_signal.o: ap_signal.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ - $(OSDIR)/os.h $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ + $(OSDIR)/os.h $(INCDIR)/apctype.h $(INCDIR)/hsregex.h \ + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ $(INCDIR)/util_uri.h ap_slack.o: ap_slack.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ - $(OSDIR)/os.h $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ + $(OSDIR)/os.h $(INCDIR)/apctype.h $(INCDIR)/hsregex.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 \ + $(OSDIR)/os.h $(INCDIR)/apctype.h $(INCDIR)/hsregex.h \ + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ $(INCDIR)/util_uri.h 1.29 +37 -22apache-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.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- Makefile.tmpl 1998/05/29 18:20:54 1.28 +++ Makefile.tmpl 1998/07/09 00:08:44 1.29 @@ -59,25 +59,30 @@ # DO NOT REMOVE alloc.o: alloc.c $(INCDIR)/httpd.h $(INCDIR)/conf.h $(OSDIR)/os.h \ - $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ - $(INCDIR)/util_uri.h $(INCDIR)/multithread.h $(INCDIR)/http_log.h + $(INCDIR)/apctype.h $(INCDIR)/hsregex.h $(INCDIR)/alloc.h \ + $(INCDIR)/buff.h $(INCDIR)/ap.h $(INCDIR)/util_uri.h \ + $(INCDIR)/multithread.h $(INCDIR)/http_log.h buff.o: buff.c $(INCDIR)/httpd.h $(INCDIR)/conf.h $(OSDIR)/os.h \ - $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ - $(INCDIR)/util_uri.h $(INCDIR)/http_main.h $(INCDIR)/http_log.h + $(INCDIR)/apctype.h $(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)/conf.h $(OSDIR)/os.h \ - $(INCDIR)/fnmatch.h + $(INCDIR)/apctype.h $(INCDIR)/hsregex.h $(INCDIR)/fnmatch.h gen_test_char.o: gen_test_char.c $(INCDIR)/httpd.h $(INCDIR)/conf.h \ - $(OSDIR)/os.h $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ + $(OSDIR)/os.h $(INCDIR)/apctype.h $(INCDIR)/hsregex.h \ + $(INCDIR)/alloc.h $(INCDIR)/buff.h $(INCDIR)/ap.h \ $(INCDIR)/util_uri.h gen_uri_delims.o: gen_uri_delims.c http_config.o
cvs commit: apache-1.3/src/include http_config.h
dgaudet 98/07/08 17:09:22 Modified:src/include http_config.h Log: bump for ap_isfoo changes Revision ChangesPath 1.89 +1 -1 apache-1.3/src/include/http_config.h Index: http_config.h === RCS file: /export/home/cvs/apache-1.3/src/include/http_config.h,v retrieving revision 1.88 retrieving revision 1.89 diff -u -r1.88 -r1.89 --- http_config.h 1998/06/29 19:02:03 1.88 +++ http_config.h 1998/07/09 00:09:21 1.89 @@ -275,7 +275,7 @@ * handle it back-compatibly, or at least signal an error). */ -#define MODULE_MAGIC_NUMBER 19980627 +#define MODULE_MAGIC_NUMBER 19980708 #define STANDARD_MODULE_STUFF MODULE_MAGIC_NUMBER, -1, __FILE__, NULL, NULL /* Generic accessors for other modules to get at their own module-specific
cvs commit: apache-site/info how-to-mirror.html
dgaudet 98/07/09 16:36:10 Modified:info how-to-mirror.html Log: typos Revision ChangesPath 1.11 +2 -2 apache-site/info/how-to-mirror.html Index: how-to-mirror.html === RCS file: /export/home/cvs/apache-site/info/how-to-mirror.html,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- how-to-mirror.html1998/07/09 23:29:12 1.10 +++ how-to-mirror.html1998/07/09 23:36:09 1.11 @@ -94,8 +94,8 @@ LIUse the rsync 2.0 anonymous access option. Rsync is similar to cvsup, but (in theory) more widely ported, and uses hashes rather than CVS versions to watch for differences. You can find details on rsync -at A HREF=http:///samba.anu.edu.au/rsync; -http:///samba.anu.edu.au/rsync/A and A +at A HREF=http://samba.anu.edu.au/rsync; +http://samba.anu.edu.au/rsync/A and A HREF=http://sunsite.auc.dk/SunSITE/rsync; http://sunsite.auc.dk/SunSITE/rsync/A. You might want to call it using the following arguments:
cvs commit: apache-site/info how-to-mirror.html
dgaudet 98/07/09 17:11:32 Modified:info how-to-mirror.html Log: -a is unsafe, use -rt... and include the path Revision ChangesPath 1.12 +2 -2 apache-site/info/how-to-mirror.html Index: how-to-mirror.html === RCS file: /export/home/cvs/apache-site/info/how-to-mirror.html,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- how-to-mirror.html1998/07/09 23:36:09 1.11 +++ how-to-mirror.html1998/07/10 00:11:31 1.12 @@ -100,8 +100,8 @@ http://sunsite.auc.dk/SunSITE/rsync/A. You might want to call it using the following arguments: -PULCODErsync -avz --delete --exclude incoming -dev.apache.org::apache-site/CODE/UL +PULCODErsync -rtvz --delete --exclude incoming +dev.apache.org::apache-site /local/path/to/mirror/CODE/UL PYou can also just do a CODErsync dev.apache.org::/CODE to get a list of rsync modules available.
cvs commit: apache-1.3/src Configuration.tmpl
dgaudet 98/07/11 09:44:34 Modified:src Configuration.tmpl Log: mod_mmap_static is not supposed to be high priority, it is supposed to be the lowest priority Revision ChangesPath 1.106 +7 -7 apache-1.3/src/Configuration.tmpl Index: Configuration.tmpl === RCS file: /export/home/cvs/apache-1.3/src/Configuration.tmpl,v retrieving revision 1.105 retrieving revision 1.106 diff -u -r1.105 -r1.106 --- Configuration.tmpl1998/06/16 03:49:56 1.105 +++ Configuration.tmpl1998/07/11 16:44:33 1.106 @@ -188,6 +188,13 @@ # is and the more memory it will take, so if you are unlikely to use the # functionality of a particular module you might wish to leave it out. +## mod_mmap_static is an experimental module, you almost certainly +## don't need it. It can make some webservers faster. No further +## documentation is provided here because you'd be foolish +## to use mod_mmap_static without reading the full documentation. + +# AddModule modules/experimental/mod_mmap_static.o + ## ## Config manipulation modules ## @@ -364,13 +371,6 @@ ## Don't change this entry to a 'SharedModule' variant (Bootstrapping!) # AddModule modules/standard/mod_so.o - -## mod_mmap_static is an experimental module, you almost certainly -## don't need it. It can make some webservers faster. No further -## documentation is provided here because you'd be foolish -## to use mod_mmap_static without reading the full documentation. - -# AddModule modules/experimental/mod_mmap_static.o ## mod_setenvif lets you set environment variables based on the HTTP header ## fields in the request; this is useful for conditional HTML, for example.
cvs commit: apache-site/info apache_books.html
dgaudet 98/07/12 12:11:18 Modified:info apache_books.html Log: update from lars Submitted by: Lars Eilebrecht [EMAIL PROTECTED] Revision ChangesPath 1.6 +19 -4 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.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- apache_books.html 1998/05/20 15:20:50 1.5 +++ apache_books.html 1998/07/12 19:11:18 1.6 @@ -28,6 +28,22 @@ UL LI DL + DTA HREF=http://www.idgbooks.com/cgi-bin/db/fill_out_template.pl?idgbook:0-7645-3218-9:book-idg;STRONGApache Server Bible/STRONG/A + /DT + DDAuthor: Mohammed J. Kabir +BR +Published by: IDG Books Worldwide +BR +ISBN: 0-7645-3218-9 +BR +Language: English +BR +Note: includes CD-ROM + /DD + /DL + /LI + LI + DL DTA HREF=http://www.dummies.com/cgi/fill_out_template.pl?book:0-7645-0291-3:book-Dummies+Press;STRONGApache Server for Dummies/STRONG/A /DT DDAuthor: Ken Coar @@ -44,7 +60,7 @@ /LI LI DL - DTSTRONGApache Web-Server/STRONG + DTA HREF=http://www.itp.de/online/0438/0438.html;STRONGApache Web-Server/STRONG/A - 2SUPnd/SUP Edition /DT DDAuthor: Lars Eilebrecht @@ -107,8 +123,7 @@ UL LI DL - DTA HREF=http://merchant.superlibrary.com:8000/catalog/hg/PRODUCT/PAGE/07897/bud/0789707454.html; - STRONGRunning a Perfect Web Site With Apache/STRONG/A + DTSTRONGRunning a Perfect Web Site With Apache/STRONG /DT DDAuthors: Brian Behlendorf, David M. Chandler, Lee Brintle, Rich Casselberry @@ -144,7 +159,7 @@ HR -PSend additions to A HREF=mailto:[EMAIL PROTECTED]Lars Eilebrecht/A./P +PSend additions to A HREF=mailto:[EMAIL PROTECTED]Lars Eilebrecht/A./P HR P ALIGN=CENTER A HREF=/IMG SRC=../images/apache_home.gif ALT=Home/A
cvs commit: apache-1.3/htdocs/manual/misc perf.html
dgaudet 98/07/14 01:20:32 Modified:htdocs/manual/misc perf.html Log: eliminate incorrectness regarding linux... there is far more I could say if I had the energy Revision ChangesPath 1.23 +4 -5 apache-1.3/htdocs/manual/misc/perf.html Index: perf.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/perf.html,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- perf.html 1998/05/20 20:21:30 1.22 +++ perf.html 1998/07/14 08:20:31 1.23 @@ -74,11 +74,10 @@ Linux /A/H3 -The most common problem on Linux shows up on heavily-loaded systems -where the whole server will appear to freeze for a couple of minutes -at a time, and then come back to life. This has been traced to a -listen() queue overload - certain Linux implementations have a low -value set for the incoming connection queue which can cause problems. +There are no known problems with heavily loaded systems running Linux +kernels 2.0.32 or later. Earlier kernels have some problems, and an +upgrade to the latest 2.0.x is a good idea to eliminate various security +and denial of service attacks. PHR
cvs commit: apache-site related_projects.html
dgaudet 98/07/14 01:26:21 Modified:.related_projects.html Log: add blurb from Melissa London [EMAIL PROTECTED] Revision ChangesPath 1.29 +10 -1 apache-site/related_projects.html Index: related_projects.html === RCS file: /export/home/cvs/apache-site/related_projects.html,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- related_projects.html 1998/06/30 07:18:23 1.28 +++ related_projects.html 1998/07/14 08:26:20 1.29 @@ -40,7 +40,7 @@ LIA HREF=#apacheweekApache Week/A (free weekly newsletter) LIA HREF=#ravenCovalent Raven/A LIA HREF=#matriceMatrice W3/A -LIA HREF=http://www.redhat.com/products/product-details.phtml?id=rhsa;Red Hat Secure Web Server/a +LIA HREF=#redhatRed Hat Secure Server/a LIA HREF=#strongholdStronghold/A LIA HREF=#tenonWebTen, a MacOS port of Apache/A /UL @@ -180,6 +180,15 @@ end user's accesses to your site. Find out more at A HREF=http://www.matrice.it;Matrice's web site/A. /BLOCKQUOTE + +hr +h3a name=redhatRed Hat Secure Server/a/h3 +The A HREF=http://www.redhat.com/products/product-details.phtml?id=rhsa; +Red Hat Secure Server/a is an integration of the popular Apache web server +with the award-winning Red Hat Linux OS that has RSA key technology, and it's +the out-of-the-box answer to your secure web serving needs. Shop, sell, and +transact via the web without worry. Available only to customers in the United +States and Canada. HR H3A NAME=strongholdStronghold/A/H3