cvs commit: apache-1.3/src/main http_log.c
rse 98/09/09 23:58:19 Modified:src CHANGES src/main http_log.c Log: Fix the ap_log_error_old(), ap_log_unixerr() and ap_log_printf() functions: First all three functions no longer fail on strings containing % chars and second ap_log_printf() no longer does a double-formatting (instead it directly passes through the message to be formatted to the real internal formatting function). PR: 2941 Revision ChangesPath 1.1049+6 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1048 retrieving revision 1.1049 diff -u -r1.1048 -r1.1049 --- CHANGES 1998/09/09 22:05:23 1.1048 +++ CHANGES 1998/09/10 06:58:17 1.1049 @@ -1,5 +1,11 @@ Changes with Apache 1.3.2 + *) Fix the ap_log_error_old(), ap_log_unixerr() and ap_log_printf() + functions: First all three functions no longer fail on strings containing + % chars and second ap_log_printf() no longer does a double-formatting + (instead it directly passes through the message to be formatted to the + real internal formatting function). [Ralf S. Engelschall] PR#2941 + *) Allow Include directives anywhere in the server config files (but not .htaccess files). [Ken Coar] PR#2727 1.65 +3 -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.64 retrieving revision 1.65 diff -u -r1.64 -r1.65 --- http_log.c1998/08/10 16:17:54 1.64 +++ http_log.c1998/09/10 06:58:19 1.65 @@ -460,23 +460,21 @@ API_EXPORT(void) ap_log_error_old (const char *err, server_rec *s) { -ap_log_error(APLOG_MARK, APLOG_ERR, s, err); +ap_log_error(APLOG_MARK, APLOG_ERR, s, %s, err); } API_EXPORT(void) ap_log_unixerr (const char *routine, const char *file, const char *msg, server_rec *s) { -ap_log_error(file, 0, APLOG_ERR, s, msg); +ap_log_error(file, 0, APLOG_ERR, s, %s, msg); } API_EXPORT(void) ap_log_printf (const server_rec *s, const char *fmt, ...) { -char buf[MAX_STRING_LEN]; va_list args; va_start(args, fmt); -ap_vsnprintf(buf, sizeof(buf), fmt, args); -ap_log_error(APLOG_MARK, APLOG_ERR, s, buf); +log_error_core(APLOG_MARK, APLOG_ERR, s, NULL, fmt, args); va_end(args); }
cvs commit: apache-1.3/htdocs/manual/mod mod_proxy.html
rse 98/09/10 00:30:51 Modified:src CHANGES htdocs/manual/mod mod_proxy.html Log: Fix documentation of ProxyPass/ProxyPassReverse according to the trailing slash problem. Submitted by: Jon Drukman [EMAIL PROTECTED] Reviewed by: Ralf S. Engelschall PR: 2933 Revision ChangesPath 1.1051+3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1050 retrieving revision 1.1051 diff -u -r1.1050 -r1.1051 --- CHANGES 1998/09/10 07:16:32 1.1050 +++ CHANGES 1998/09/10 07:30:49 1.1051 @@ -1,4 +1,7 @@ Changes with Apache 1.3.2 + + *) Fix documentation of ProxyPass/ProxyPassReverse according to the + trailing slash problem. [Jon Drukman [EMAIL PROTECTED]] PR#2933 *) Remove `-msym' option from LDFLAGS_SHLIB for the OSF1 platform, because it's only supported under OSF1 4.0 and higher. But because our GuessOS is 1.46 +3 -3 apache-1.3/htdocs/manual/mod/mod_proxy.html Index: mod_proxy.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_proxy.html,v retrieving revision 1.45 retrieving revision 1.46 diff -u -r1.45 -r1.46 --- mod_proxy.html1998/09/08 21:15:53 1.45 +++ mod_proxy.html1998/09/10 07:30:51 1.46 @@ -196,7 +196,7 @@ P Suppose the local server has address SAMPhttp://wibble.org//SAMP; then PRE - ProxyPass /mirror/foo http://foo.com + ProxyPass /mirror/foo/ http://foo.com/ /PRE will cause a local request for the lt;SAMPhttp://wibble.org/mirror/foo/bar/SAMPgt; to be @@ -248,8 +248,8 @@ Example:BR Suppose the local server has address SAMPhttp://wibble.org//SAMP; then PRE - ProxyPass /mirror/foo http://foo.com - ProxyPassReverse /mirror/foo http://foo.com + ProxyPass /mirror/foo/ http://foo.com/ + ProxyPassReverse /mirror/foo/ http://foo.com/ /PRE will not only cause a local request for the lt;SAMPhttp://wibble.org/mirror/foo/bar/SAMPgt; to be internally
cvs commit: apache-1.3/src CHANGES
rse 98/09/10 00:40:46 Modified:.INSTALL htdocs/manual dso.html new_features_1_3.html src CHANGES Log: Rename some references in the docs from the old OSF1 term to the official term Digital UNIX. Submitted by: Robert Urban [EMAIL PROTECTED] Revision ChangesPath 1.39 +1 -1 apache-1.3/INSTALL Index: INSTALL === RCS file: /export/home/cvs/apache-1.3/INSTALL,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- INSTALL 1998/07/25 08:13:16 1.38 +++ INSTALL 1998/09/10 07:40:42 1.39 @@ -81,7 +81,7 @@ o Out-of-the-box supported platforms are: - Linux - IRIX - FreeBSD - HPUX - - OpenBSD - OSF1 + - OpenBSD - Digital UNIX - NetBSD- UnixWare - SunOS - AIX - Solaris - SCO 1.8 +1 -1 apache-1.3/htdocs/manual/dso.html Index: dso.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/dso.html,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- dso.html 1998/08/03 08:44:10 1.7 +++ dso.html 1998/09/10 07:40:43 1.8 @@ -180,7 +180,7 @@ o Linux (Debian/1.3.1, RedHat/4.2) o Solaris(2.4, 2.5.1, 2.6) o SunOS (4.1.3) -o OSF1 (4.0) +o Digital UNIX (4.0) o IRIX (6.2) o HP/UX (10.20) o UnixWare (2.01, 2.1.2) 1.71 +2 -1 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.70 retrieving revision 1.71 diff -u -r1.70 -r1.71 --- new_features_1_3.html 1998/09/08 21:15:54 1.70 +++ new_features_1_3.html 1998/09/10 07:40:44 1.71 @@ -37,7 +37,8 @@ modules can be loaded into the server process space only when necessary, thus overall memory usage by Apache will be significantly reduced. DSO currently is supported on FreeBSD, OpenBSD, NetBSD, Linux, Solaris, SunOS, -OSF1, IRIX, HP/UX, UnixWare, AIX, ReliantUnix and generic SVR4 platforms. +Digital UNIX, IRIX, HP/UX, UnixWare, AIX, ReliantUnix and generic SVR4 +platforms. DTSTRONGA HREF=windows.htmlSupport for Windows NT/95/A/STRONG DDApache now experimentally supports the Windows NT and Windows 95 1.1052+6 -6 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1051 retrieving revision 1.1052 diff -u -r1.1051 -r1.1052 --- CHANGES 1998/09/10 07:30:49 1.1051 +++ CHANGES 1998/09/10 07:40:45 1.1052 @@ -3,11 +3,11 @@ *) Fix documentation of ProxyPass/ProxyPassReverse according to the trailing slash problem. [Jon Drukman [EMAIL PROTECTED]] PR#2933 - *) Remove `-msym' option from LDFLAGS_SHLIB for the OSF1 platform, because - it's only supported under OSF1 4.0 and higher. But because our GuessOS is - still unaware of OSF1 versions and the -msym is just to optimize the DSO - statup time a little bit it's safe and best when we leave it out now. - [Ralf S. Engelschall] PR#2969 + *) Remove `-msym' option from LDFLAGS_SHLIB for the Digital UNIX (OSF/1) + platform, because it's only supported under version 4.0 and higher. But + because our GuessOS is still unaware of Digital UNIX versions and the + -msym is just to optimize the DSO statup time a little bit it's safe and + best when we leave it out now. [Ralf S. Engelschall] PR#2969 *) Fix the ap_log_error_old(), ap_log_unixerr() and ap_log_printf() functions: First all three functions no longer fail on strings containing @@ -357,7 +357,7 @@ [Ralf S. Engelschall] *) Add conservative ticks around more egrep arguments in top-level configure - to avoid problems under brain-dead platforms like Digital Unix (OSF1). + to avoid problems under brain-dead platforms like Digital UNIX (OSF1). [Ralf S. Engelschall] PR#2596 *) mod_rewrite created RewriteLock files under the UID of the parent
cvs commit: apache-1.3/src CHANGES Configure
rse 98/09/10 01:58:44 Modified:src CHANGES Configure Log: Add some more LIBS for the SCO5 platform which are needed for the already used -lprot. It's actually a bug in SCO5, of course. The background is this feedback from R.Record after I replied to him: ``Third, i still find the addition of -lx -ltinfo -lm to be necessary on OpenServer. It's no doubt a bug or at least incorrectly documented, but any time -lprot is used you also need -lx and -ltinfo to get nap(), cur_term(), setup_term() and others. I've informed our development system guys and this may be fixed in a later release but for now these libs are necessary. FYI, libx is the SCO Xenix enhancements which have been carried forward since time immemorial while libtinfo is the terminfo library. It looks like libprot is supposed to setup its own curses stuff but isn't built correctly'' BTW, the following he also mentioned: ``First, a kernel bug in OpenServer 5.0.0 and 5.0.2 made it necessary to build Apache with USE_FCNTL_SERIALIZED_ACCEPT. That bug was fixed in 5.0.4 and a patch made available for 5.0.0/5.0.2 systems. Further, i have created an installation script which detects what release you are installing on and whether you need to apply the Network Maintenance Supplement. Therefore, i can now build Apache without the USE_FCNTL_SERIALIZED_ACCEPT which gets me much better performance. So, as long as you get Apache for OpenServer from _me_ (that is, the SCO Skunkware CD-ROM or web site), you're ok. If you build it yourself, you'd better know whether you need to apply the appropriate support supplement.'' But I still think it's not really good to remove the USE_FCNTL_SERIALIZED_ACCEPT. The only correct solution would be to dispatch for 5.0.0 and 5.0.2 and avoid it only for = 5.0.4. Submitted by: Ronald Record [EMAIL PROTECTED] PR: 2533 Revision ChangesPath 1.1053+4 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1052 retrieving revision 1.1053 diff -u -r1.1052 -r1.1053 --- CHANGES 1998/09/10 07:40:45 1.1052 +++ CHANGES 1998/09/10 08:58:40 1.1053 @@ -1,5 +1,9 @@ Changes with Apache 1.3.2 + *) Add some more LIBS for the SCO5 platform which are needed for the already + used -lprot. It's actually a bug in SCO5, of course. + [Ronald Record [EMAIL PROTECTED]] PR#2533 + *) Fix documentation of ProxyPass/ProxyPassReverse according to the trailing slash problem. [Jon Drukman [EMAIL PROTECTED]] PR#2933 1.287 +1 -1 apache-1.3/src/Configure Index: Configure === RCS file: /export/home/cvs/apache-1.3/src/Configure,v retrieving revision 1.286 retrieving revision 1.287 diff -u -r1.286 -r1.287 --- Configure 1998/09/10 07:16:33 1.286 +++ Configure 1998/09/10 08:58:42 1.287 @@ -532,7 +532,7 @@ *-sco5*) OS='SCO 5' CFLAGS=$CFLAGS -DSCO5 - LIBS=$LIBS -lsocket -lmalloc -lprot + LIBS=$LIBS -lsocket -lmalloc -lprot -ltinfo -lx -lm DEF_WANTHSREGEX=no ;; *-sco_sv*|*-SCO_SV*)
cvs commit: apache-1.3/src/support suexec.c
rse 98/09/10 02:23:59 Modified:src CHANGES src/support suexec.c Log: Fix possible buffer overflow situation in suexec.c. PS: The PR#2790 provides a few more fixes for problematic things in suexec.c. Because we have to be very carefully here, other should review them, too. That's why I commit only some of the fixes from this patch. The other problem we _really_ have to fix is the docroot-check at line 428. But here the patch from the PR submitter seems to introduce a new problem: It accesses cwd[dlen] which can be out of memory bounds. Here memory bounds have to checked first. So, I would appreciate when someothers look at PR#2790, please. At least the docroot-check _has_ to be fixed by us! But correctly, i.e. without introducing new problems, of course ;_) Submitted by: Jeff Stewart [EMAIL PROTECTED] Reviewed by: Ralf S. Engelschall PR: 2790 Revision ChangesPath 1.1054+3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.1053 retrieving revision 1.1054 diff -u -r1.1053 -r1.1054 --- CHANGES 1998/09/10 08:58:40 1.1053 +++ CHANGES 1998/09/10 09:23:57 1.1054 @@ -1,5 +1,8 @@ Changes with Apache 1.3.2 + *) Fix possible buffer overflow situation in suexec.c. + [Jeff Stewart [EMAIL PROTECTED]] PR#2790 + *) Add some more LIBS for the SCO5 platform which are needed for the already used -lprot. It's actually a bug in SCO5, of course. [Ronald Record [EMAIL PROTECTED]] PR#2533 1.45 +6 -4 apache-1.3/src/support/suexec.c Index: suexec.c === RCS file: /export/home/cvs/apache-1.3/src/support/suexec.c,v retrieving revision 1.44 retrieving revision 1.45 diff -u -r1.44 -r1.45 --- suexec.c 1998/07/13 11:32:59 1.44 +++ suexec.c 1998/09/10 09:23:59 1.45 @@ -209,7 +209,11 @@ exit(120); } -for (ep = environ; *ep cidx AP_ENVBUF; ep++) { +sprintf(pathbuf, PATH=%s, SAFE_PATH); +cleanenv[cidx] = strdup(pathbuf); +cidx++ + +for (ep = environ; *ep cidx AP_ENVBUF-1; ep++) { if (!strncmp(*ep, HTTP_, 5)) { cleanenv[cidx] = *ep; cidx++; @@ -226,9 +230,7 @@ } } -sprintf(pathbuf, PATH=%s, SAFE_PATH); -cleanenv[cidx] = strdup(pathbuf); -cleanenv[++cidx] = NULL; +cleanenv[cidx] = NULL; environ = cleanenv; }
cvs commit: apache-1.3/src/main http_core.c
stoddard98/09/10 10:36:16 Modified:src/main http_core.c Log: Remove NT 64 thread limit. Submitted by: Ken Parzygnat, Bill Stoddard Reviewed by: Bill Stoddard Revision ChangesPath 1.229 +11 -4 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.228 retrieving revision 1.229 diff -u -r1.228 -r1.229 --- http_core.c 1998/09/09 22:05:29 1.228 +++ http_core.c 1998/09/10 17:36:15 1.229 @@ -1991,11 +1991,18 @@ } ap_threads_per_child = atoi(arg); -#ifdef WIN32 -if (ap_threads_per_child 64) { - return Can't have more than 64 threads in Windows (for now); +if (ap_threads_per_child HARD_SERVER_LIMIT) { +fprintf(stderr, WARNING: ThreadsPerChild of %d exceeds compile time limit +of %d threads,\n, ap_threads_per_child, HARD_SERVER_LIMIT); +fprintf(stderr, lowering ThreadsPerChild to %d. To increase, please +see the\n, HARD_SERVER_LIMIT); +fprintf(stderr, HARD_SERVER_LIMIT define in src/include/httpd.h.\n); +ap_threads_per_child = HARD_SERVER_LIMIT; +} +else if (ap_threads_per_child 1) { + fprintf(stderr, WARNING: Require ThreadsPerChild 0, setting to 1\n); + ap_threads_per_child = 1; } -#endif return NULL; }
cvs commit: apache-1.3/src/main http_main.c
stoddard98/09/10 10:38:02 Modified:src/main http_main.c Log: Remove NT 64 thread limit. Submitted by: Ken Parzygnat, Bill Stoddard Reviewed by: Bill Stoddard Revision ChangesPath 1.389 +43 -3 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.388 retrieving revision 1.389 diff -u -r1.388 -r1.389 --- http_main.c 1998/08/26 20:01:22 1.388 +++ http_main.c 1998/09/10 17:38:00 1.389 @@ -4919,7 +4919,46 @@ handles[i] = handles[i + 1]; (*thread_cnt)--; } - +#ifdef WIN32 +/* + * The Win32 call WaitForMultipleObjects will only allow you to wait for + * a maximum of MAXIMUM_WAIT_OBJECTS (current 64). Since the threading + * model in the multithreaded version of apache wants to use this call, + * we are restricted to a maximum of 64 threads. This is a simplistic + * routine that will increase this size. + */ +DWORD wait_for_many_objects(DWORD nCount, CONST HANDLE *lpHandles, +DWORD dwSeconds) +{ +time_t tStopTime; +DWORD dwRet = WAIT_TIMEOUT; +DWORD dwIndex=0; +BOOL bFirst = TRUE; + +tStopTime = time(NULL) + dwSeconds; + +do { +if (!bFirst) +Sleep(1000); +else +bFirst = FALSE; + +for (dwIndex = 0; dwIndex * MAXIMUM_WAIT_OBJECTS nCount; dwIndex++) { +dwRet = WaitForMultipleObjects( +min(MAXIMUM_WAIT_OBJECTS, +nCount - (dwIndex * MAXIMUM_WAIT_OBJECTS)), +lpHandles + (dwIndex * MAXIMUM_WAIT_OBJECTS), +0, 0); + +if (dwRet != WAIT_TIMEOUT) { + break; +} +} +} while((time(NULL) tStopTime) (dwRet == WAIT_TIMEOUT)); + +return dwRet; +} +#endif /* * Executive routines. */ @@ -5074,7 +5113,7 @@ /* Lets not break yet - we may have threads to clean up */ /* break;*/ } - rv = WaitForMultipleObjects(nthreads, child_handles, 0, 0); + rv = wait_for_many_objects(nthreads, child_handles, 0); ap_assert(rv != WAIT_FAILED); if (rv != WAIT_TIMEOUT) { rv = rv - WAIT_OBJECT_0; @@ -5185,7 +5224,8 @@ /* Wait for all your children */ end_time = time(NULL) + 180; while (nthreads) { - rv = WaitForMultipleObjects(nthreads, child_handles, 0, (end_time - time(NULL)) * 1000); +rv = wait_for_many_objects(nthreads, child_handles, + end_time - time(NULL)); if (rv != WAIT_TIMEOUT) { rv = rv - WAIT_OBJECT_0; ap_assert((rv = 0) (rv nthreads));
cvs commit: apache-1.3 STATUS
stoddard98/09/10 10:45:05 Modified:.STATUS Log: These patches have been committed. Revision ChangesPath 1.463 +0 -21 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.462 retrieving revision 1.463 diff -u -r1.462 -r1.463 --- STATUS1998/09/09 14:08:03 1.462 +++ STATUS1998/09/10 17:45:05 1.463 @@ -81,27 +81,6 @@ Message-ID: [EMAIL PROTECTED] Status: Ralf +1, Lars +1 -* Bill Stoddard's [PATCH] PR2356 - SSI exec - This is an update of a patch I sent in earlier. There are 13 new - lines of code to detect and handle shellcmd. COMMAND.COM is used - to exec the script on Win95, CMD.EXE on NT. - Message-ID: [EMAIL PROTECTED] - Status: Ken +1 (on concept), Lars +1 (on concept), - Martin +1 (on concept; is the OS/2 exec code similar enough -to share parts of it?) - -* Filenames containing whitespace characters caused problems for directives - Bill Stoddard [EMAIL PROTECTED] - Message-ID: [EMAIL PROTECTED] - -* Bill Stoddard's patch to make some structural changes to ap_call_exec to - make it more readable and friendly to a couple of patches that will - follow (capability to query the Win32 registry for interpreter name - and a fix for mod_include exec=cmd processing). This patch does not - change the function of ap_call_exec. - Message-ID: [EMAIL PROTECTED] - Status: Ken +1 (on concept), Lars +1 (on concept) - * Configure tweaks to support building outside the source tree, and add more customizeability for installation layout, by Wilfredo Sanchez [EMAIL PROTECTED]