From lauren93@example.org Fri Dec 01 14:02:58 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 7768 invoked by uid 500); 1 Dec 2000 14:02:55 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 7739 invoked by uid 500); 1 Dec 2000 14:02:54 -0000 Delivered-To: lauren93@example.org Date: 1 Dec 2000 14:02:51 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-2.0/src/main http_main.c trawick 00/12/01 06:02:50 Modified: src/main http_main.c Log: Add "-D PROCESS_LOCK_IS_GLOBAL" to the httpd -V output when appropriate. Revision Changes Path 1.75 +3 -0 apache-2.0/src/main/http_main.c Index: http_main.c =================================================================== RCS file: /home/cvs/apache-2.0/src/main/http_main.c,v retrieving revision 1.74 retrieving revision 1.75 diff -u -r1.74 -r1.75 --- http_main.c 2000/11/29 17:32:53 1.74 +++ http_main.c 2000/12/01 14:02:49 1.75 @@ -135,6 +135,9 @@ #if APR_USE_PTHREAD_SERIALIZE printf(" -D APR_USE_PTHREAD_SERIALIZE\n"); #endif +#if APR_PROCESS_LOCK_IS_GLOBAL + printf(" -D APR_PROCESS_LOCK_IS_GLOBAL\n"); +#endif #ifdef SINGLE_LISTEN_UNSERIALIZED_ACCEPT printf(" -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT\n"); #endif From lauren93@example.org Fri Dec 01 14:45:54 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 49095 invoked by uid 500); 1 Dec 2000 14:45:52 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 49030 invoked by uid 500); 1 Dec 2000 14:45:50 -0000 Delivered-To: lauren93@example.org Date: 1 Dec 2000 14:45:49 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-1.3 STATUS rbb 00/12/01 06:45:48 Modified: . STATUS Log: Update the proposed date for rolling 1.3.15 Revision Changes Path 1.863 +2 -2 apache-1.3/STATUS Index: STATUS =================================================================== RCS file: /home/cvs/apache-1.3/STATUS,v retrieving revision 1.862 retrieving revision 1.863 diff -u -r1.862 -r1.863 --- STATUS 2000/11/30 05:20:29 1.862 +++ STATUS 2000/12/01 14:45:46 1.863 @@ -1,9 +1,9 @@ 1.3 STATUS: - Last modified at [$Date: 2000/11/30 05:20:29 $] + Last modified at [$Date: 2000/12/01 14:45:46 $] Release: - 1.3.15-dev: rbb offers to be RM, proposes rolling 12/4 + 1.3.15-dev: rbb offers to be RM, proposes rolling 12/6 1.3.14: Tagged & Rolled Oct 10, 2000. Released and announced Oct 13, 2000. 1.3.13: Not released. Pulled in the "first minutes" due to From lauren93@example.org Fri Dec 01 15:45:22 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 7621 invoked by uid 500); 1 Dec 2000 15:45:21 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 7582 invoked by uid 500); 1 Dec 2000 15:45:19 -0000 Delivered-To: lauren93@example.org Date: 1 Dec 2000 15:45:19 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-1.3 STATUS jim 00/12/01 07:45:18 Modified: . STATUS Log: Some minor cleanup... tomorrow I will be *really* cleaning this out! Any patches/notes/whatever with no real comments or things like a single +0 vote will be removed. So if there are things that people don't want touched, let me know :) :) Revision Changes Path 1.864 +1 -9 apache-1.3/STATUS Index: STATUS =================================================================== RCS file: /home/cvs/apache-1.3/STATUS,v retrieving revision 1.863 retrieving revision 1.864 diff -u -r1.863 -r1.864 --- STATUS 2000/12/01 14:45:46 1.863 +++ STATUS 2000/12/01 15:45:17 1.864 @@ -1,5 +1,5 @@ 1.3 STATUS: - Last modified at [$Date: 2000/12/01 14:45:46 $] + Last modified at [$Date: 2000/12/01 15:45:17 $] Release: @@ -57,11 +57,6 @@ PR: 6475 Status: - * Dan Astoorian <lauren93@example.org>'s patch to fix mod_include RE - tokenisation - PR: 5898 - Status: Jim: Still appropriate? - * Gerd Knorr <lauren93@example.org>'s patch to enable mod_auth_digest to handle both Digest *and* Basic authentication modes. PR: 5879 @@ -131,9 +126,6 @@ Randy +1 (please choose name other than "hook") Doug +1 on concept (untested), Lars +1 on concept, Martin +1 (untested), Fred +1, - Jim -1 (I really don't think it makes sense to - add this right now this late in the release cycle - for 1.3.13. I am +1 for 1.3.14) Greg -0 for 1.3 series. * Brian Havard's patch to remove dependency of mod_auth_dbm on mod_auth. From lauren93@example.org Fri Dec 01 17:41:35 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 10349 invoked by uid 500); 1 Dec 2000 17:41:32 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 10299 invoked by uid 500); 1 Dec 2000 17:41:30 -0000 Delivered-To: lauren93@example.org Date: 1 Dec 2000 17:41:29 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-2.0/src/modules/mpm/prefork prefork.c trawick 00/12/01 09:41:28 Modified: src/modules/mpm/prefork prefork.c Log: If apr_lock() or apr_unlock() fail, write a log message before bailing out. Revision Changes Path 1.137 +8 -2 apache-2.0/src/modules/mpm/prefork/prefork.c Index: prefork.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/mpm/prefork/prefork.c,v retrieving revision 1.136 retrieving revision 1.137 diff -u -r1.136 -r1.137 --- prefork.c 2000/11/26 04:47:41 1.136 +++ prefork.c 2000/12/01 17:41:26 1.137 @@ -291,13 +291,19 @@ static void accept_mutex_on(void) { apr_status_t rv = apr_lock(accept_lock); - ap_assert(!rv); + if (rv != APR_SUCCESS) { + ap_log_error(APLOG_MARK, APLOG_EMERG, rv, NULL, "couldn't grab the accept mutex"); + exit(APEXIT_CHILDFATAL); + } } static void accept_mutex_off(void) { apr_status_t rv = apr_unlock(accept_lock); - ap_assert(!rv); + if (rv != APR_SUCCESS) { + ap_log_error(APLOG_MARK, APLOG_EMERG, rv, NULL, "couldn't release the accept mutex"); + exit(APEXIT_CHILDFATAL); + } } /* On some architectures it's safe to do unserialized accept()s in the single From lauren93@example.org Fri Dec 01 17:50:07 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 21592 invoked by uid 500); 1 Dec 2000 17:50:04 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 21548 invoked by uid 500); 1 Dec 2000 17:50:04 -0000 Delivered-To: lauren93@example.org Date: Fri, 1 Dec 2000 09:52:06 -0800 (PST) From: lauren93@example.org X-Sender: lauren93@example.org To: lauren93@example.org cc: lauren93@example.org Subject: Re: cvs commit: apache-2.0/src/modules/mpm/prefork prefork.c In-Reply-To: <lauren93@example.org> Message-ID: <lauren93@example.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N On 1 Dec 2000 lauren93@example.org wrote: > trawick 00/12/01 09:41:28 > > Modified: src/modules/mpm/prefork prefork.c > Log: > If apr_lock() or apr_unlock() fail, write a log message before bailing > out. Woah. You just took a debug only check, and turned it into a run-time check that happens every time. I'm not saying this is bad, but it should be noted in the log. :-) +1 for the change, just wanted a clearer log message someplace. Ryan _______________________________________________________________________________ Ryan Bloom lauren93@example.org 406 29th St. San Francisco, CA 94131 ------------------------------------------------------------------------------- From lauren93@example.org Fri Dec 01 18:49:58 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 86793 invoked by uid 500); 1 Dec 2000 18:49:56 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 86698 invoked by uid 500); 1 Dec 2000 18:49:55 -0000 Delivered-To: lauren93@example.org Date: 1 Dec 2000 18:49:54 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-2.0/src/support httpd.exp trawick 00/12/01 10:49:52 Modified: src/main http_connection.c src/support httpd.exp Log: Stop referencing apr_get_socket_inaddr(), apr_get_remote_name(), and apr_get_local_name(). They have been removed. Revision Changes Path 1.64 +5 -4 apache-2.0/src/main/http_connection.c Index: http_connection.c =================================================================== RCS file: /home/cvs/apache-2.0/src/main/http_connection.c,v retrieving revision 1.63 retrieving revision 1.64 diff -u -r1.63 -r1.64 --- http_connection.c 2000/11/21 19:10:16 1.63 +++ http_connection.c 2000/12/01 18:49:51 1.64 @@ -303,9 +303,10 @@ conn_rec *ap_new_apr_connection(apr_pool_t *p, server_rec *server, apr_socket_t *conn_socket, long id) { - struct sockaddr_in *sa_local, *sa_remote; + apr_sockaddr_t *sa_local, *sa_remote; - apr_get_local_name(&sa_local, conn_socket); - apr_get_remote_name(&sa_remote, conn_socket); - return ap_new_connection(p, server, conn_socket, sa_remote, sa_local, id); + apr_get_sockaddr(&sa_local, APR_LOCAL, conn_socket); + apr_get_sockaddr(&sa_remote, APR_REMOTE, conn_socket); + return ap_new_connection(p, server, conn_socket, + &sa_remote->sa.sin, &sa_local->sa.sin, id); } 1.16 +0 -3 apache-2.0/src/support/httpd.exp Index: httpd.exp =================================================================== RCS file: /home/cvs/apache-2.0/src/support/httpd.exp,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- httpd.exp 2000/11/29 10:27:53 1.15 +++ httpd.exp 2000/12/01 18:49:52 1.16 @@ -409,7 +409,6 @@ apr_get_hostname apr_get_inaddr apr_get_ipaddr -apr_get_local_name apr_get_lockdata apr_get_os_dir apr_get_os_exp_time @@ -422,10 +421,8 @@ apr_get_pipe_timeout apr_get_polldata apr_get_port -apr_get_remote_name apr_get_revents apr_get_sockaddr -apr_get_socket_inaddr apr_get_socketdata apr_get_thread_private apr_get_threaddata From lauren93@example.org Fri Dec 01 21:31:52 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 16761 invoked by uid 500); 1 Dec 2000 21:31:51 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 16750 invoked by uid 500); 1 Dec 2000 21:31:50 -0000 Delivered-To: lauren93@example.org Date: 1 Dec 2000 21:31:49 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-2.0/src/modules/mpm/mpmt_pthread mpmt_pthread.c gregames 00/12/01 13:31:49 Modified: src/modules/mpm/dexter dexter.c src/modules/mpm/mpmt_pthread mpmt_pthread.c Log: Use APR_LOCKALL in dexter and mpmt_pthread to serialize poll and accept. This allows APR to optimize when a platform has locks that work for both threads and processes. Revision Changes Path 1.131 +8 -16 apache-2.0/src/modules/mpm/dexter/dexter.c Index: dexter.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/mpm/dexter/dexter.c,v retrieving revision 1.130 retrieving revision 1.131 diff -u -r1.130 -r1.131 --- dexter.c 2000/11/10 19:01:31 1.130 +++ dexter.c 2000/12/01 21:31:44 1.131 @@ -168,10 +168,9 @@ #define SAFE_ACCEPT(stmt) APR_SUCCESS #else #define SAFE_ACCEPT(stmt) (stmt) -static apr_lock_t *process_accept_mutex; +static apr_lock_t *accept_mutex; #endif /* NO_SERIALIZED_ACCEPT */ static const char *lock_fname; -static pthread_mutex_t thread_accept_mutex = PTHREAD_MUTEX_INITIALIZER; AP_DECLARE(int) ap_get_max_daemons(void) { @@ -516,7 +515,7 @@ for(n=0 ; n <= num_listenfds ; ++n) apr_add_poll_socket(pollset, listenfds[n], APR_POLLIN); - while (!workers_may_exit) { + while (1) { workers_may_exit |= (max_requests_per_child != 0) && (requests_this_child <= 0); if (workers_may_exit) break; if (!thread_just_started) { @@ -533,12 +532,7 @@ else { thread_just_started = 0; } - pthread_mutex_lock(&thread_accept_mutex); - if (workers_may_exit) { - pthread_mutex_unlock(&thread_accept_mutex); - break; - } - if ((rv = SAFE_ACCEPT(apr_lock(process_accept_mutex))) + if ((rv = SAFE_ACCEPT(apr_lock(accept_mutex))) != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, rv, ap_server_conf, "apr_lock failed. Attempting to shutdown " @@ -599,14 +593,13 @@ csd = NULL; ap_log_error(APLOG_MARK, APLOG_ERR, rv, ap_server_conf, "apr_accept"); } - if ((rv = SAFE_ACCEPT(apr_unlock(process_accept_mutex))) + if ((rv = SAFE_ACCEPT(apr_unlock(accept_mutex))) != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, rv, ap_server_conf, "apr_unlock failed. Attempting to shutdown " "process gracefully."); workers_may_exit = 1; } - pthread_mutex_unlock(&thread_accept_mutex); pthread_mutex_lock(&idle_thread_count_mutex); if (idle_thread_count > min_spare_threads) { idle_thread_count--; @@ -622,14 +615,13 @@ requests_this_child--; } } else { - if ((rv = SAFE_ACCEPT(apr_unlock(process_accept_mutex))) + if ((rv = SAFE_ACCEPT(apr_unlock(accept_mutex))) != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, rv, ap_server_conf, "apr_unlock failed. Attempting to shutdown " "process gracefully."); workers_may_exit = 1; } - pthread_mutex_unlock(&thread_accept_mutex); pthread_mutex_lock(&idle_thread_count_mutex); idle_thread_count--; pthread_mutex_unlock(&idle_thread_count_mutex); @@ -668,7 +660,7 @@ /*stuff to do before we switch id's, so we have permissions.*/ - rv = SAFE_ACCEPT(apr_child_init_lock(&process_accept_mutex, lock_fname, + rv = SAFE_ACCEPT(apr_child_init_lock(&accept_mutex, lock_fname, pchild)); if (rv != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, rv, ap_server_conf, @@ -1007,8 +999,8 @@ lock_fname = apr_psprintf(_pconf, "%s.%u", ap_server_root_relative(_pconf, lock_fname), my_pid); - rv = SAFE_ACCEPT(apr_create_lock(&process_accept_mutex, APR_MUTEX, - APR_CROSS_PROCESS, lock_fname, _pconf)); + rv = SAFE_ACCEPT(apr_create_lock(&accept_mutex, APR_MUTEX, + APR_LOCKALL, lock_fname, _pconf)); if (rv != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, rv, s, "Couldn't create cross-process lock"); 1.126 +8 -16 apache-2.0/src/modules/mpm/mpmt_pthread/mpmt_pthread.c Index: mpmt_pthread.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/mpm/mpmt_pthread/mpmt_pthread.c,v retrieving revision 1.125 retrieving revision 1.126 diff -u -r1.125 -r1.126 --- mpmt_pthread.c 2000/11/10 19:01:31 1.125 +++ mpmt_pthread.c 2000/12/01 21:31:47 1.126 @@ -158,8 +158,7 @@ static pthread_mutex_t worker_thread_count_mutex; /* Locks for accept serialization */ -static pthread_mutex_t thread_accept_mutex = PTHREAD_MUTEX_INITIALIZER; -static apr_lock_t *process_accept_mutex; +static apr_lock_t *accept_mutex; static const char *lock_fname; #ifdef NO_SERIALIZED_ACCEPT @@ -470,18 +469,13 @@ /* TODO: Switch to a system where threads reuse the results from earlier poll calls - manoj */ - while (!workers_may_exit) { + while (1) { workers_may_exit |= (ap_max_requests_per_child != 0) && (requests_this_child <= 0); if (workers_may_exit) break; (void) ap_update_child_status(process_slot, thread_slot, SERVER_READY, (request_rec *) NULL); - pthread_mutex_lock(&thread_accept_mutex); - if (workers_may_exit) { - pthread_mutex_unlock(&thread_accept_mutex); - break; - } - if ((rv = SAFE_ACCEPT(apr_lock(process_accept_mutex))) + if ((rv = SAFE_ACCEPT(apr_lock(accept_mutex))) != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, rv, ap_server_conf, "apr_lock failed. Attempting to shutdown " @@ -545,28 +539,26 @@ ap_log_error(APLOG_MARK, APLOG_ERR, rv, ap_server_conf, "apr_accept"); } - if ((rv = SAFE_ACCEPT(apr_unlock(process_accept_mutex))) + if ((rv = SAFE_ACCEPT(apr_unlock(accept_mutex))) != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, rv, ap_server_conf, "apr_unlock failed. Attempting to shutdown " "process gracefully."); workers_may_exit = 1; } - pthread_mutex_unlock(&thread_accept_mutex); if (csd != NULL) { process_socket(ptrans, csd, process_slot, thread_slot); requests_this_child--; } } else { - if ((rv = SAFE_ACCEPT(apr_unlock(process_accept_mutex))) + if ((rv = SAFE_ACCEPT(apr_unlock(accept_mutex))) != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, rv, ap_server_conf, "apr_unlock failed. Attempting to shutdown " "process gracefully."); workers_may_exit = 1; } - pthread_mutex_unlock(&thread_accept_mutex); break; } apr_clear_pool(ptrans); @@ -607,7 +599,7 @@ /*stuff to do before we switch id's, so we have permissions.*/ reopen_scoreboard(pchild); - rv = SAFE_ACCEPT(apr_child_init_lock(&process_accept_mutex, lock_fname, + rv = SAFE_ACCEPT(apr_child_init_lock(&accept_mutex, lock_fname, pchild)); if (rv != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, rv, ap_server_conf, @@ -1029,11 +1021,11 @@ lock_fname = apr_psprintf(_pconf, "%s.%u", ap_server_root_relative(_pconf, lock_fname), ap_my_pid); - rv = apr_create_lock(&process_accept_mutex, APR_MUTEX, APR_CROSS_PROCESS, + rv = apr_create_lock(&accept_mutex, APR_MUTEX, APR_LOCKALL, lock_fname, _pconf); if (rv != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, rv, s, - "Couldn't create cross-process lock"); + "Couldn't create accept lock"); return 1; } From lauren93@example.org Fri Dec 01 21:49:34 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 29111 invoked by uid 500); 1 Dec 2000 21:49:33 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 29099 invoked by uid 500); 1 Dec 2000 21:49:32 -0000 Delivered-To: lauren93@example.org Date: 1 Dec 2000 21:49:31 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-2.0/src/modules/standard mod_cern_meta.c mod_expires.c mod_headers.c mod_rewrite.c mod_speling.c mod_usertrack.c mod_vhost_alias.c trawick 00/12/01 13:49:31 Modified: src/main util_filter.c src/modules/standard mod_cern_meta.c mod_expires.c mod_headers.c mod_rewrite.c mod_speling.c mod_usertrack.c mod_vhost_alias.c Log: include <strings.h> for the strcasecmp() and strncasecmp() prototypes; AIX doesn't have prototypes for these in string.h Revision Changes Path 1.41 +4 -0 apache-2.0/src/main/util_filter.c Index: util_filter.c =================================================================== RCS file: /home/cvs/apache-2.0/src/main/util_filter.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- util_filter.c 2000/11/18 20:03:16 1.40 +++ util_filter.c 2000/12/01 21:49:24 1.41 @@ -56,6 +56,10 @@ #include "http_log.h" #include "util_filter.h" +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif + /* ### make this visible for direct manipulation? * ### use a hash table */ 1.25 +3 -0 apache-2.0/src/modules/standard/mod_cern_meta.c Index: mod_cern_meta.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_cern_meta.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- mod_cern_meta.c 2000/11/23 13:03:37 1.24 +++ mod_cern_meta.c 2000/12/01 21:49:25 1.25 @@ -160,6 +160,9 @@ #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif #define DIR_CMD_PERMS OR_INDEXES 1.24 +3 -0 apache-2.0/src/modules/standard/mod_expires.c Index: mod_expires.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_expires.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- mod_expires.c 2000/10/16 06:05:05 1.23 +++ mod_expires.c 2000/12/01 21:49:25 1.24 @@ -197,6 +197,9 @@ #ifdef HAVE_CTYPE_H #include <ctype.h> #endif +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif #include "httpd.h" #include "http_config.h" #include "http_log.h" 1.14 +4 -0 apache-2.0/src/modules/standard/mod_headers.c Index: mod_headers.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_headers.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- mod_headers.c 2000/10/16 06:05:06 1.13 +++ mod_headers.c 2000/12/01 21:49:25 1.14 @@ -107,6 +107,10 @@ #include "http_config.h" #include "http_request.h" +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif + typedef enum { hdr_add = 'a', /* add header (could mean multiple hdrs) */ hdr_set = 's', /* set (replace old value) */ 1.55 +3 -0 apache-2.0/src/modules/standard/mod_rewrite.c Index: mod_rewrite.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_rewrite.c,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- mod_rewrite.c 2000/11/27 16:40:13 1.54 +++ mod_rewrite.c 2000/12/01 21:49:25 1.55 @@ -122,6 +122,9 @@ #ifdef HAVE_UNISTD_H #include <unistd.h> #endif +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif /* ** +-------------------------------------------------------+ 1.21 +4 -0 apache-2.0/src/modules/standard/mod_speling.c Index: mod_speling.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_speling.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- mod_speling.c 2000/10/16 06:05:07 1.20 +++ mod_speling.c 2000/12/01 21:49:25 1.21 @@ -66,6 +66,10 @@ #include "apr_file_io.h" #include "apr_strings.h" +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif + /* mod_speling.c - by Alexei Kosut <lauren93@example.org> June, 1996 * * This module is transparent, and simple. It attempts to correct 1.22 +4 -0 apache-2.0/src/modules/standard/mod_usertrack.c Index: mod_usertrack.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_usertrack.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- mod_usertrack.c 2000/10/16 06:05:07 1.21 +++ mod_usertrack.c 2000/12/01 21:49:26 1.22 @@ -106,6 +106,10 @@ #include "http_request.h" #include "apr_strings.h" +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif + module AP_MODULE_DECLARE_DATA usertrack_module; typedef struct { 1.18 +3 -0 apache-2.0/src/modules/standard/mod_vhost_alias.c Index: mod_vhost_alias.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_vhost_alias.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- mod_vhost_alias.c 2000/11/15 02:54:48 1.17 +++ mod_vhost_alias.c 2000/12/01 21:49:26 1.18 @@ -82,6 +82,9 @@ #include "http_core.h" #include "http_request.h" /* for ap_hook_translate_name */ +#ifdef HAVE_STRINGS_H +#include <strings.h> +#endif module AP_MODULE_DECLARE_DATA vhost_alias_module; From lauren93@example.org Fri Dec 01 21:51:56 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 31969 invoked by uid 500); 1 Dec 2000 21:51:55 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 31927 invoked by uid 500); 1 Dec 2000 21:51:54 -0000 Delivered-To: lauren93@example.org Date: 1 Dec 2000 21:51:53 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-2.0/src/support ab.c trawick 00/12/01 13:51:52 Modified: src/support ab.c Log: use APR_SIZE_T_FMT to avoid a warning on AIX Revision Changes Path 1.40 +3 -3 apache-2.0/src/support/ab.c Index: ab.c =================================================================== RCS file: /home/cvs/apache-2.0/src/support/ab.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- ab.c 2000/11/29 17:32:57 1.39 +++ ab.c 2000/12/01 21:51:51 1.40 @@ -791,7 +791,7 @@ "%s" "%s" "%s" "Host: %s\r\n" "Accept: */*\r\n" - "Content-length: %d\r\n" + "Content-length: %" APR_SIZE_T_FMT "\r\n" "Content-type: %s\r\n" "%s" "\r\n", @@ -893,14 +893,14 @@ static void copyright(void) { if (!use_html) { - printf("This is ApacheBench, Version %s\n", AB_VERSION " <$Revision: 1.39 $> apache-2.0"); + printf("This is ApacheBench, Version %s\n", AB_VERSION " <$Revision: 1.40 $> apache-2.0"); printf("Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/\n"); printf("Copyright (c) 1998-2000 The Apache Software Foundation, http://www.apache.org/\n"); printf("\n"); } else { printf("<p>\n"); - printf(" This is ApacheBench, Version %s <i>&lt;%s&gt;</i> apache-2.0<br>\n", AB_VERSION, "$Revision: 1.39 $"); + printf(" This is ApacheBench, Version %s <i>&lt;%s&gt;</i> apache-2.0<br>\n", AB_VERSION, "$Revision: 1.40 $"); printf(" Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/<br>\n"); printf(" Copyright (c) 1998-2000 The Apache Software Foundation, http://www.apache.org/<br>\n"); printf("</p>\n<p>\n"); From lauren93@example.org Fri Dec 01 22:56:50 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 83492 invoked by uid 500); 1 Dec 2000 22:56:49 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 83439 invoked by uid 500); 1 Dec 2000 22:56:49 -0000 Delivered-To: lauren93@example.org Date: 1 Dec 2000 22:56:48 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-2.0 STATUS rbb 00/12/01 14:56:48 Modified: . STATUS Log: Clear and sunny outside Revision Changes Path 1.160 +6 -1 apache-2.0/STATUS Index: STATUS =================================================================== RCS file: /home/cvs/apache-2.0/STATUS,v retrieving revision 1.159 retrieving revision 1.160 diff -u -r1.159 -r1.160 --- STATUS 2000/11/29 11:30:19 1.159 +++ STATUS 2000/12/01 22:56:47 1.160 @@ -1,5 +1,5 @@ Apache 2.0 STATUS: -Last modified at [$Date: 2000/11/29 11:30:19 $] +Last modified at [$Date: 2000/12/01 22:56:47 $] Release: @@ -14,6 +14,11 @@ 2.0a1 : released March 10, 2000 RELEASE SHOWSTOPPERS: + * Perchild MPM doesn't build anymore. This is still relying on the + BUFF code, which is no longer there. This should just be modified + to do the passing in an input filter instead of relying on the + post_read_request phase. + Status: Ryan Volunteers * Root all file systems with <Directory /> for WIN32/OS2/NW permissions Status: patch brought forward from 1.3.14 From lauren93@example.org Fri Dec 01 23:26:06 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 29468 invoked by uid 500); 1 Dec 2000 23:26:05 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 29443 invoked by uid 500); 1 Dec 2000 23:26:04 -0000 Delivered-To: lauren93@example.org Delivered-To: lauren93@example.org Date: 1 Dec 2000 23:26:04 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-2.0/src/include ap_listen.h rbb 00/12/01 15:26:04 Modified: src/include ap_listen.h Log: Remove an unnecessary header file. Revision Changes Path 1.21 +0 -1 apache-2.0/src/include/ap_listen.h Index: ap_listen.h =================================================================== RCS file: /home/cvs/apache-2.0/src/include/ap_listen.h,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- ap_listen.h 2000/11/08 11:42:21 1.20 +++ ap_listen.h 2000/12/01 23:26:04 1.21 @@ -57,7 +57,6 @@ #include "apr_network_io.h" #include "http_config.h" -#include "mpm.h" /** * @package Apache Listeners Library From lauren93@example.org Sat Dec 02 07:08:16 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 81114 invoked by uid 500); 2 Dec 2000 07:08:14 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 81103 invoked by uid 500); 2 Dec 2000 07:08:14 -0000 Delivered-To: lauren93@example.org Date: 2 Dec 2000 07:08:13 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-2.0/src/modules/mpm/prefork prefork.c rbb 00/12/01 23:08:12 Modified: src CHANGES . CHANGES shmem/unix shmem.c shmem/unix/mm mm.h mm_alloc.c mm_global.c mm_test.c src/modules/mpm/dexter scoreboard.c src/modules/mpm/mpmt_pthread scoreboard.c src/modules/mpm/perchild scoreboard.c src/modules/mpm/prefork prefork.c Log: MPMs that require multiple segments of shared memory now just use two shared memory blocks to ensure that all of the memory is available. This removes the hack that added 80 bytes to each shared memory block. We end up needing two apr_shmem_t variables, because it is difficult to determine exactly how much memory will be needed. MM automatically tries to align the shared memory allocations, so we either need to pad the shared memory segments, or just use two different segments. This also changes APR and MM to take into account whatever memory those packages need to allocate when creating a shared memory segment. Any memory that APR and MM need is automatically added to the size requested by the program. Revision Changes Path 1.353 +11 -0 apache-2.0/src/CHANGES Index: CHANGES =================================================================== RCS file: /home/cvs/apache-2.0/src/CHANGES,v retrieving revision 1.352 retrieving revision 1.353 diff -u -r1.352 -r1.353 --- CHANGES 2000/12/01 07:32:09 1.352 +++ CHANGES 2000/12/02 07:07:57 1.353 @@ -1,4 +1,15 @@ Changes with Apache 2.0a9 + *) The MPMs that need multiple segments of shared memory now create + two apr_shmem_t variables, one for each shared memory allocation. + the problem is that we can't determine how much memory will be required + for shared memory allocations once we try to allocate more than one + variable. The MM code automatically aligns the shared memory allocations, + so we end up needing to pad the amount of shared memory we want based + on how many variables will be allocated out of the shared memory segment. + It is just easier to create a second apr_shmem_t variable, and two + shmem memory blocks. + [Ryan Bloom] + *) Cleanup the export list a bit. This creates a single unified list of functions exported by APR. The export list is generated at configure time, and that list is then used to generate the exports.c file. 1.13 +5 -0 apr/CHANGES Index: CHANGES =================================================================== RCS file: /home/cvs/apr/CHANGES,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- CHANGES 2000/12/01 21:33:57 1.12 +++ CHANGES 2000/12/02 07:08:00 1.13 @@ -1,4 +1,9 @@ Changes with APR a9 + *) Make APR's shared memory routines always allocate enough memory + for the requested segment, the MM internal types, and the APR + internal types. + [Ryan Bloom] + *) Add APR_SIZE_T_FMT. Get the other APR_xx_T_FMT variables defined properly on AIX. [Jeff Trawick] 1.15 +1 -1 apr/shmem/unix/shmem.c Index: shmem.c =================================================================== RCS file: /home/cvs/apr/shmem/unix/shmem.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- shmem.c 2000/08/02 05:26:33 1.14 +++ shmem.c 2000/12/02 07:08:04 1.15 @@ -63,7 +63,7 @@ apr_status_t apr_shm_init(struct shmem_t **m, apr_size_t reqsize, const char *file, apr_pool_t *cont) { - MM *newmm = mm_create(reqsize, file); + MM *newmm = mm_create(reqsize + sizeof(*newmm), file, MM_ALLOCATE_ENOUGH); if (newmm == NULL) { return errno; } 1.9 +4 -1 apr/shmem/unix/mm/mm.h Index: mm.h =================================================================== RCS file: /home/cvs/apr/shmem/unix/mm/mm.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- mm.h 2000/05/03 17:15:49 1.8 +++ mm.h 2000/12/02 07:08:06 1.9 @@ -66,6 +66,9 @@ MM_LOCK_RD, MM_LOCK_RW } mm_lock_mode; +#define MM_ALLOCATE_ENOUGH 1 +#define MM_ALLOCATE_EXACT 2 + /* ** ____ Private Part of the API ___________________________ */ @@ -339,7 +342,7 @@ char *MM_error(void); /* Standard Malloc-Style API */ -MM *mm_create(size_t size, const char *file); +MM *mm_create(size_t size, const char *file, int flag); int mm_permission(MM *mm, mode_t mode, uid_t owner, gid_t group); void mm_destroy(MM *mm); int mm_lock(MM *mm, mm_lock_mode mode); 1.7 +5 -1 apr/shmem/unix/mm/mm_alloc.c Index: mm_alloc.c =================================================================== RCS file: /home/cvs/apr/shmem/unix/mm/mm_alloc.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- mm_alloc.c 2000/05/03 17:15:49 1.6 +++ mm_alloc.c 2000/12/02 07:08:06 1.7 @@ -50,7 +50,7 @@ /* * Create a memory pool */ -MM *mm_create(size_t usize, const char *file) +MM *mm_create(size_t usize, const char *file, int flag) { MM *mm = NULL; void *core; @@ -65,6 +65,10 @@ usize = maxsize; if (usize < MM_ALLOC_MINSIZE) usize = MM_ALLOC_MINSIZE; + + if (flag & MM_ALLOCATE_ENOUGH) { + usize += sizeof(*mm); + } /* determine size */ size = usize+SIZEOF_mem_pool; 1.5 +1 -1 apr/shmem/unix/mm/mm_global.c Index: mm_global.c =================================================================== RCS file: /home/cvs/apr/shmem/unix/mm/mm_global.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- mm_global.c 2000/05/03 17:15:49 1.4 +++ mm_global.c 2000/12/02 07:08:07 1.5 @@ -53,7 +53,7 @@ { if (mm_global != NULL) return FALSE; - if ((mm_global = mm_create(size, file)) == NULL) + if ((mm_global = mm_create(size, file, MM_ALLOCATE_EXACT)) == NULL) return FALSE; return TRUE; } 1.4 +1 -1 apr/shmem/unix/mm/mm_test.c Index: mm_test.c =================================================================== RCS file: /home/cvs/apr/shmem/unix/mm/mm_test.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mm_test.c 2000/05/03 17:15:49 1.3 +++ mm_test.c 2000/12/02 07:08:07 1.4 @@ -197,7 +197,7 @@ size = mm_maxsize(); if (size > 1024*1024*1) size = 1024*1024*1; - mm = mm_create(size, NULL); + mm = mm_create(size, NULL, MM_ALLOCATE_EXACT); FAILED_IF(mm == NULL) mm_display_info(mm); s = mm_available(mm); 1.23 +1 -1 apache-2.0/src/modules/mpm/dexter/scoreboard.c Index: scoreboard.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/mpm/dexter/scoreboard.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- scoreboard.c 2000/11/10 21:51:08 1.22 +++ scoreboard.c 2000/12/02 07:08:08 1.23 @@ -102,7 +102,7 @@ const char *fname; fname = ap_server_root_relative(p, ap_scoreboard_fname); - if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE + 80, fname, p) != APR_SUCCESS) { + if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE, fname, p) != APR_SUCCESS) { apr_snprintf(buf, sizeof(buf), "%s: could not open(create) scoreboard", ap_server_argv0); perror(buf); 1.43 +13 -2 apache-2.0/src/modules/mpm/mpmt_pthread/scoreboard.c Index: scoreboard.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/mpm/mpmt_pthread/scoreboard.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- scoreboard.c 2000/11/10 21:51:09 1.42 +++ scoreboard.c 2000/12/02 07:08:09 1.43 @@ -89,12 +89,16 @@ #include "apr_shmem.h" static apr_shmem_t *scoreboard_shm = NULL; +static apr_shmem_t *status_shm = NULL; apr_status_t ap_cleanup_shared_mem(void *d) { apr_shm_free(scoreboard_shm, ap_scoreboard_image); + apr_shm_free(status_shm, ap_new_scoreboard_image); ap_scoreboard_image = NULL; + ap_new_scoreboard_image = NULL; apr_shm_destroy(scoreboard_shm); + apr_shm_destroy(status_shm); return APR_SUCCESS; } @@ -105,19 +109,26 @@ const char *fname; fname = ap_server_root_relative(p, ap_scoreboard_fname); - if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE + NEW_SCOREBOARD_SIZE + 80, fname, p) != APR_SUCCESS) { + if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE, fname, p) != APR_SUCCESS) { apr_snprintf(buf, sizeof(buf), "%s: could not open(create) scoreboard", ap_server_argv0); perror(buf); exit(APEXIT_INIT); } ap_scoreboard_image = apr_shm_malloc(scoreboard_shm, SCOREBOARD_SIZE); - ap_new_scoreboard_image = apr_shm_malloc(scoreboard_shm, NEW_SCOREBOARD_SIZE); + if (apr_shm_init(&status_shm, NEW_SCOREBOARD_SIZE, fname, p) != APR_SUCCESS) { + apr_snprintf(buf, sizeof(buf), "%s: could not open(create) scoreboard", + ap_server_argv0); + perror(buf); + exit(APEXIT_INIT); + } + ap_new_scoreboard_image = apr_shm_malloc(status_shm, NEW_SCOREBOARD_SIZE); if (ap_scoreboard_image == NULL || ap_new_scoreboard_image == NULL) { apr_snprintf(buf, sizeof(buf), "%s: cannot allocate scoreboard", ap_server_argv0); perror(buf); apr_shm_destroy(scoreboard_shm); + apr_shm_destroy(status_shm); exit(APEXIT_INIT); } apr_register_cleanup(p, NULL, ap_cleanup_shared_mem, apr_null_cleanup); 1.5 +1 -1 apache-2.0/src/modules/mpm/perchild/scoreboard.c Index: scoreboard.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/mpm/perchild/scoreboard.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- scoreboard.c 2000/11/10 21:51:10 1.4 +++ scoreboard.c 2000/12/02 07:08:11 1.5 @@ -102,7 +102,7 @@ const char *fname; fname = ap_server_root_relative(p, ap_scoreboard_fname); - if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE + 80, fname, p) != APR_SUCCESS) { + if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE, fname, p) != APR_SUCCESS) { apr_snprintf(buf, sizeof(buf), "%s: could not open(create) scoreboard", ap_server_argv0); perror(buf); 1.138 +16 -5 apache-2.0/src/modules/mpm/prefork/prefork.c Index: prefork.c =================================================================== RCS file: /home/cvs/apache-2.0/src/modules/mpm/prefork/prefork.c,v retrieving revision 1.137 retrieving revision 1.138 diff -u -r1.137 -r1.138 --- prefork.c 2000/12/01 17:41:26 1.137 +++ prefork.c 2000/12/02 07:08:12 1.138 @@ -321,12 +321,16 @@ #include "apr_shmem.h" static apr_shmem_t *scoreboard_shm = NULL; +static apr_shmem_t *status_shm = NULL; static apr_status_t cleanup_shared_mem(void *d) { apr_shm_free(scoreboard_shm, ap_scoreboard_image); + apr_shm_free(status_shm, ap_new_scoreboard_image); ap_scoreboard_image = NULL; + ap_new_scoreboard_image = NULL; apr_shm_destroy(scoreboard_shm); + apr_shm_destroy(status_shm); return APR_SUCCESS; } @@ -336,20 +340,27 @@ const char *fname; fname = ap_server_root_relative(p, ap_scoreboard_fname); - if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE + NEW_SCOREBOARD_SIZE + 80, fname, p) != APR_SUCCESS) { + if (apr_shm_init(&scoreboard_shm, SCOREBOARD_SIZE, fname, p) != APR_SUCCESS) { apr_snprintf(buf, sizeof(buf), "%s: could not open(create) scoreboard", ap_server_argv0); perror(buf); exit(APEXIT_INIT); } ap_scoreboard_image = apr_shm_malloc(scoreboard_shm, SCOREBOARD_SIZE); - ap_new_scoreboard_image = apr_shm_malloc(scoreboard_shm, NEW_SCOREBOARD_SIZE); - if (ap_scoreboard_image == NULL) { - apr_snprintf(buf, sizeof(buf), "%s: cannot allocate scoreboard", + if (apr_shm_init(&status_shm, NEW_SCOREBOARD_SIZE, fname, p) != APR_SUCCESS) { + apr_snprintf(buf, sizeof(buf), "%s: could not open(create) scoreboard", ap_server_argv0); perror(buf); - apr_shm_destroy(scoreboard_shm); exit(APEXIT_INIT); + } + ap_new_scoreboard_image = apr_shm_malloc(status_shm, NEW_SCOREBOARD_SIZE); + if (ap_scoreboard_image == NULL || ap_new_scoreboard_image == NULL) { + apr_snprintf(buf, sizeof(buf), "%s: cannot allocate scoreboard", + ap_server_argv0); + perror(buf); + apr_shm_destroy(scoreboard_shm); + apr_shm_destroy(status_shm); + exit(APEXIT_INIT); } apr_register_cleanup(p, NULL, cleanup_shared_mem, apr_null_cleanup); ap_scoreboard_image->global.running_generation = 0; From lauren93@example.org Sat Dec 02 07:16:13 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 82707 invoked by uid 500); 2 Dec 2000 07:16:13 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 82695 invoked by uid 500); 2 Dec 2000 07:16:12 -0000 Delivered-To: lauren93@example.org Date: 2 Dec 2000 07:16:11 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-2.0 STATUS rbb 00/12/01 23:15:44 Modified: . STATUS Log: Note the patch submitted today by Jon Travis about cleaning up inet_ntoa. This patch is waiting until IPv6 is settled, and we can really see what we are left with. I don't want us to forget that inet_ntoa has thread- safeness issues, so I am noting this patch here. Revision Changes Path 1.161 +6 -1 apache-2.0/STATUS Index: STATUS =================================================================== RCS file: /home/cvs/apache-2.0/STATUS,v retrieving revision 1.160 retrieving revision 1.161 diff -u -r1.160 -r1.161 --- STATUS 2000/12/01 22:56:47 1.160 +++ STATUS 2000/12/02 07:15:32 1.161 @@ -1,5 +1,5 @@ Apache 2.0 STATUS: -Last modified at [$Date: 2000/12/01 22:56:47 $] +Last modified at [$Date: 2000/12/02 07:15:32 $] Release: @@ -647,6 +647,11 @@ does not show the contents of new files until later. Available Patches: + + * Jon Travis's <lauren93@example.org> patch to deal with thread-safe + issues with inet_ntoa. See message <lauren93@example.org> + Status: This is being set aside until the IPv6 work is finished + so that we know exactly what is required. * Martin Sojka <lauren93@example.org>'s patch to add error reporting for failed htpasswd actions due to a full /tmp volume (other programs may have From lauren93@example.org Sat Dec 02 13:07:47 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 70159 invoked by uid 500); 2 Dec 2000 13:07:46 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 70139 invoked by uid 500); 2 Dec 2000 13:07:46 -0000 Delivered-To: lauren93@example.org Delivered-To: lauren93@example.org Date: 2 Dec 2000 13:07:45 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-2.0/src/include httpd.h dreid 00/12/02 05:07:45 Modified: src/include httpd.h Log: Fix a couple of small typo's Not raining today... Revision Changes Path 1.121 +1 -1 apache-2.0/src/include/httpd.h Index: httpd.h =================================================================== RCS file: /home/cvs/apache-2.0/src/include/httpd.h,v retrieving revision 1.120 retrieving revision 1.121 diff -u -r1.120 -r1.121 --- httpd.h 2000/11/29 17:32:44 1.120 +++ httpd.h 2000/12/02 13:07:45 1.121 @@ -1627,7 +1627,7 @@ /* The C library has functions that allow const to be silently dropped ... these macros detect the drop in maintainer mode, but use the native - methods far narmal builds + methods for normal builds */ #ifdef AP_DEBUG From lauren93@example.org Sat Dec 02 13:33:33 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 75447 invoked by uid 500); 2 Dec 2000 13:33:32 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 75428 invoked by uid 500); 2 Dec 2000 13:33:32 -0000 Delivered-To: lauren93@example.org Date: 2 Dec 2000 13:33:32 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: apache-2.0/src/os/beos os.c dreid 00/12/02 05:33:31 Modified: src/os/beos os.c Log: More changes to get BeOS building once more... Revision Changes Path 1.9 +3 -0 apache-2.0/src/os/beos/os.c Index: os.c =================================================================== RCS file: /home/cvs/apache-2.0/src/os/beos/os.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- os.c 2000/11/26 04:47:32 1.8 +++ os.c 2000/12/02 13:33:31 1.9 @@ -64,6 +64,9 @@ #include "ap_config.h" #include "os.h" #include "httpd.h" +#include "apr_thread_proc.h" +#include "ap_mpm.h" /* needed for definition of + * ap_os_create_privileged_process */ int ap_os_is_path_absolute(const char *file) { From lauren93@example.org Sat Dec 02 20:56:54 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 48288 invoked by uid 500); 2 Dec 2000 20:56:53 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 48274 invoked by uid 500); 2 Dec 2000 20:56:52 -0000 Delivered-To: lauren93@example.org Delivered-To: lauren93@example.org Date: 2 Dec 2000 20:56:52 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: httpd-docs-1.3/htdocs/manual/mod mod_mime.html slive 00/12/02 12:56:52 Modified: htdocs/manual/mod mod_mime.html Log: Set a new documentation policy: All file extension examples will include the leading dot. Also, mention in the directives that take extensions, that they are case-insensitive and can be specified with or without the dot. Revision Changes Path 1.44 +33 -5 httpd-docs-1.3/htdocs/manual/mod/mod_mime.html Index: mod_mime.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/mod/mod_mime.html,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -b -u -r1.43 -r1.44 --- mod_mime.html 2000/11/22 03:36:17 1.43 +++ mod_mime.html 2000/12/02 20:56:52 1.44 @@ -170,6 +170,10 @@ the server returns one from several documents based on the client's charset preference. </P> + +<p>The <em>extension</em> argument is case-insensitive, and can +be specified with or without a leading dot.</p> + <P> <STRONG>See also</STRONG>: <A HREF="mod_negotiation.html">mod_negotiation</A> </P> @@ -206,7 +210,9 @@ for the same <EM>extension</EM>. Example: -<BLOCKQUOTE><CODE> AddEncoding x-gzip gz<BR> AddEncoding x-compress Z +<BLOCKQUOTE><CODE> +AddEncoding x-gzip .gz<BR> +AddEncoding x-compress .Z </CODE></BLOCKQUOTE> This will cause filenames containing the .gz extension to be marked as @@ -225,6 +231,9 @@ for these two specific encodings. More recent encodings, such as <CODE>deflate</CODE> should be specified without the <CODE>x-</CODE>. +<p>The <em>extension</em> argument is case-insensitive, and can +be specified with or without a leading dot.</p> + <P> <STRONG>See also</STRONG>: <A HREF="#multipleext">Files with @@ -268,13 +277,16 @@ For example, to activate CGI scripts with the file extension "<CODE>.cgi</CODE>", you might use: <PRE> - AddHandler cgi-script cgi + AddHandler cgi-script .cgi </PRE> <P>Once that has been put into your srm.conf or httpd.conf file, any file containing the "<CODE>.cgi</CODE>" extension will be treated as a CGI program.</P> +<p>The <em>extension</em> argument is case-insensitive, and can +be specified with or without a leading dot.</p> + <P> <STRONG>See also</STRONG>: <A HREF="#multipleext">Files with @@ -306,7 +318,7 @@ ><STRONG>Module:</STRONG></A> mod_mime <P> -The AddLanguage directive maps the given filename extension tos the +The AddLanguage directive maps the given filename extension to the specified content language. <EM>MIME-lang</EM> is the MIME language of filenames containing <EM>extension</EM>. This mapping is added to any already in force, overriding any mappings that already exist for the @@ -316,7 +328,7 @@ Example: </p> <BLOCKQUOTE><CODE> -AddEncoding x-compress Z<BR> AddLanguage en .en<BR> AddLanguage fr +AddEncoding x-compress .Z<BR> AddLanguage en .en<BR> AddLanguage fr .fr<BR> </CODE></BLOCKQUOTE> <P> @@ -343,6 +355,10 @@ documents with the extension "<CODE>.en</CODE>" would be treated as being "<CODE>en-us</CODE>". </P> + +<p>The <em>extension</em> argument is case-insensitive, and can +be specified with or without a leading dot.</p> + <P> <STRONG>See also</STRONG>: <A HREF="#multipleext">Files with multiple extensions</A> @@ -386,13 +402,16 @@ Example: <BLOCKQUOTE><CODE> -AddType image/gif GIF +AddType image/gif .gif </CODE></BLOCKQUOTE> It is recommended that new MIME types be added using the AddType directive rather than changing the <A HREF="#typesconfig">TypesConfig</A> file.<P> Note that, unlike the NCSA httpd, this directive cannot be used to set the type of particular files.<P> +<p>The <em>extension</em> argument is case-insensitive, and can +be specified with or without a leading dot.</p> + <P> <STRONG>See also</STRONG>: <A HREF="#multipleext">Files with @@ -544,6 +563,9 @@ AddEncoding directives, so it is possible they may undo the effects of the latter if both occur within the same directory configuration. </p> +<p>The <em>extension</em> argument is case-insensitive, and can +be specified with or without a leading dot.</p> + <HR> <H2><A NAME="removehandler">RemoveHandler</A> directive</H2> @@ -589,6 +611,9 @@ files, rather than as candidates for parsing (see the <A HREF="mod_include.html"><SAMP>mod_include</SAMP></A> module). </P> +<p>The <em>extension</em> argument is case-insensitive, and can +be specified with or without a leading dot.</p> + <HR> <H2><A NAME="removetype">RemoveType</A> directive</H2> @@ -636,6 +661,9 @@ <code>AddType</code> directives, so it is possible they may undo the effects of the latter if both occur within the same directory configuration. </p> +<p>The <em>extension</em> argument is case-insensitive, and can +be specified with or without a leading dot.</p> + <HR> <H2><A NAME="sethandler">SetHandler</A> directive</H2> From lauren93@example.org Sat Dec 02 21:18:19 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 60156 invoked by uid 500); 2 Dec 2000 21:18:18 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 60138 invoked by uid 500); 2 Dec 2000 21:18:17 -0000 Delivered-To: lauren93@example.org Delivered-To: lauren93@example.org Date: 2 Dec 2000 21:18:17 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: httpd-docs-1.3/htdocs/manual/misc FAQ-F.html slive 00/12/02 13:18:16 Modified: htdocs/manual/mod mod_isapi.html htdocs/manual content-negotiation.html handler.html htdocs/manual/misc FAQ-F.html Log: Update all the examples I can find to use the leading dot when specifying extensions. Revision Changes Path 1.10 +109 -104 httpd-docs-1.3/htdocs/manual/mod/mod_isapi.html Index: mod_isapi.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/mod/mod_isapi.html,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -b -u -r1.9 -r1.10 --- mod_isapi.html 2000/10/08 06:26:10 1.9 +++ mod_isapi.html 2000/12/02 21:18:15 1.10 @@ -51,6 +51,14 @@ problems running their ISAPI extention. <STRONG>Please <EM>do not</EM> post such problems to Apache's lists or bug reporting pages.</STRONG></P> +<H2>Directives</H2> +<UL> +<LI><A HREF="#isapireadaheadbuffer">ISAPIReadAheadBuffer</A> +<LI><A HREF="#isapilognotsupported">ISAPILogNotSupported</A> +<LI><A HREF="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</A> +<LI><A HREF="#isapiappendlogtoquery">ISAPIAppendLogToQuery</A> +</UL> + <H2>Usage</H2> <P>In the server configuration file, use the AddHandler directive to @@ -60,24 +68,117 @@ following line:</P> <PRE> - AddHandler isapi-isa dll + AddHandler isapi-isa .dll </PRE> <P>ISAPI extensions are governed by the same permissions and restrictions as CGI scripts. That is, <CODE>Options ExecCGI</CODE> must be set for the directory that contains the ISAPI .dll file.</P> +<P>Now place an ISAPI .dll file into this web directory, with the + <CODE>Options ExecCGI</CODE> set properly, and it will be loaded and + executed when requested by its URL.</P> + <P>Review the <A HREF="#notes">Additional Notes</A> and the <A HREF="#journal">Programmer's Journal</A> for additional details and clarification of the specific ISAPI support offered by mod_isapi.</P> -<H2>Directives</H2> -<UL> -<LI><A HREF="#isapireadaheadbuffer">ISAPIReadAheadBuffer</A> -<LI><A HREF="#isapilognotsupported">ISAPILogNotSupported</A> -<LI><A HREF="#isapiappendlogtoerrors">ISAPIAppendLogToErrors</A> -<LI><A HREF="#isapiappendlogtoquery">ISAPIAppendLogToQuery</A> -</UL> +<H2><A NAME="notes">Additional Notes</A></H2> + +<P>Apache's ISAPI implementation conforms to all of the ISAPI 2.0 + specification, except for the "Microsoft-specific" extensions dealing + with asynchronous I/O. Apache's I/O model does not allow asynchronous + reading and writing in a manner that the ISAPI could access. If an ISA + tries to access unsupported features, including async I/O, a message is + placed in the error log to help with debugging. Since these messages + can become a flood, a new directive; + <CODE>ISAPILogNotSupported Off</CODE>, is introduced in Apache 1.3.13.</P> + +<P>Some servers, like Microsoft IIS, load the ISA into the server, and + keep it loaded until memory usage is too high, or specific configuration + options are used. Apache currently loads and unloads the ISA for each + request. This is inefficient, but Apache's request model makes this + method the only method that currently works. Apache 2.0 is expected to + support more effective loading and caching methods, with more precise + control over individual ISAPI modules and directories.</P> + +<P>Also, remember that while Apache supports ISAPI Extensions, it + <STRONG>does not support ISAPI Filters.</STRONG> Support for filters may + be added at a later date, but no support is planned at this time.</P> + +<H2><A NAME="journal">Programmer's Journal</A></H2> + +<P>If you are programming Apache 1.3 mod_isapi modules, you must limit your + calls to ServerSupportFunction to the following directives:</P> + +<DL> + <DT>HSE_REQ_SEND_URL_REDIRECT_RESP + <DD>Redirect the user to another location.<BR> + This must be a fully qualified URL (e.g. http://server/location). + <DT>HSE_REQ_SEND_URL + <DD>Redirect the user to another location.<BR> + This cannot be a fully qualified URL, you are not allowed + to pass the protocol or a server name (e.g. simply /location).<BR> + This redirection is handled by the server, not the browser.<BR> + <STRONG>Warning:</STRONG> in their recent documentation, Microsoft + appears to have abandoned the distinction between the two + HSE_REQ_SEND_URL functions. Apache continues to treat them as two + distinct functions with different requirements and behaviors. + <DT>HSE_REQ_SEND_RESPONSE_HEADER + <DD>Apache accepts a response body following the header if it follows + the blank line (two consecutive newlines) in the headers string + argument. This body cannot contain NULLs, since the headers + argument is NULL terminated. + <DT>HSE_REQ_DONE_WITH_SESSION + <DD>Apache considers this a no-op, since the session will be finished + when the ISAPI returns from processing. + <DT>HSE_REQ_MAP_URL_TO_PATH + <DD>Apache will translate a virtual name to a physical name. + <DT>HSE_APPEND_LOG_PARAMETER <EM>Apache 1.3.13 and later</EM> + <DD>This logged message may be captured in any of the following logs: + <UL> + <LI>in the \"%{isapi-parameter}n\" component in a CustomLog directive + <LI>in the %q log component with the ISAPIAppendLogToQuery On directive + <LI>in the error log with the ISAPIAppendLogToErrors On directive + </UL> + The first option, the %{isapi-parameter}n component, is always available + and prefered. + <DT>HSE_REQ_IS_KEEP_CONN <EM>Apache 1.3.13 and later</EM> + <DD>Will return the negotiated Keep-Alive status. + <DT>HSE_REQ_SEND_RESPONSE_HEADER_EX <EM>Apache 1.3.13 and later</EM> + <DD>Will behave as documented, although the fKeepConn flag is ignored. + <DT>HSE_REQ_IS_CONNECTED <EM>Apache 1.3.13 and later</EM> + <DD>Will report false if the request has been aborted. +</DL> + +<P>Apache returns FALSE to any unsupported call to ServerSupportFunction, and + sets the GetLastError value to ERROR_INVALID_PARAMETER.</P> + +<P>Prior to Apache 1.3.13, ReadClient was a noop, and any request with a request + body greater than 48kb was rejected by mod_isapi. As of Apache 1.3.13, + ReadClient now retrieves the request body exceeding the initial buffer + (defined by ISAPIReadAheadBuffer). Based on the ISAPIReadAheadBuffer + setting (number of bytes to buffer prior to calling the ISAPI handler) + shorter requests are sent complete to the extension when it is invoked. + If the request is longer, the ISAPI extension must use ReadClient to + retrieve the remaining request body.</P> + +<P>WriteClient is supported, but only with the HSE_IO_SYNC flag or + no option flag (value of 0). Any other WriteClient request will + be rejected with a return value of FALSE, and a GetLastError + value of ERROR_INVALID_PARAMETER.</P> + +<P>GetServerVariable is supported, although extended server variables do not + exist (as defined by other servers.) All the usual Apache CGI environment + variables are available from GetServerVariable. As of Apache 1.3.13, + the ALL_HTTP and ALL_RAW and variables are now available.</P> + +<P>Apache 2.0 mod_isapi may support additional features introduced in later + versions of the ISAPI specification, as well as limited emulation of + async I/O and the TransmitFile semantics. Apache 2.0 may also support + caching of ISAPI .dlls for performance. No further enhancements to the + Apache 1.3 mod_isapi features are anticipated.</P> + <HR> <H2><A NAME="isapireadaheadbuffer">ISAPIReadAheadBuffer directive</A></H2> @@ -229,103 +330,7 @@ Record HSE_APPEND_LOG_PARAMETER requests from ISAPI extentions to the query field (appended to the CustomLog %q component). <P> -<HR> - -<H2><A NAME="notes">Additional Notes</A></H2> - -<P>Apache's ISAPI implementation conforms to all of the ISAPI 2.0 - specification, except for the "Microsoft-specific" extensions dealing - with asynchronous I/O. Apache's I/O model does not allow asynchronous - reading and writing in a manner that the ISAPI could access. If an ISA - tries to access unsupported features, including async I/O, a message is - placed in the error log to help with debugging. Since these messages - can become a flood, a new directive; - <CODE>ISAPILogNotSupported Off</CODE>, is introduced in Apache 1.3.13.</P> - -<P>Some servers, like Microsoft IIS, load the ISA into the server, and - keep it loaded until memory usage is too high, or specific configuration - options are used. Apache currently loads and unloads the ISA for each - request. This is inefficient, but Apache's request model makes this - method the only method that currently works. Apache 2.0 is expected to - support more effective loading and caching methods, with more precise - control over individual ISAPI modules and directories.</P> - -<P>Also, remember that while Apache supports ISAPI Extensions, it - <STRONG>does not support ISAPI Filters.</STRONG> Support for filters may - be added at a later date, but no support is planned at this time.</P> - -<H2><A NAME="journal">Programmer's Journal</A></H2> - -<P>If you are programming Apache 1.3 mod_isapi modules, you must limit your - calls to ServerSupportFunction to the following directives:</P> - -<DL> - <DT>HSE_REQ_SEND_URL_REDIRECT_RESP - <DD>Redirect the user to another location.<BR> - This must be a fully qualified URL (e.g. http://server/location). - <DT>HSE_REQ_SEND_URL - <DD>Redirect the user to another location.<BR> - This cannot be a fully qualified URL, you are not allowed - to pass the protocol or a server name (e.g. simply /location).<BR> - This redirection is handled by the server, not the browser.<BR> - <STRONG>Warning:</STRONG> in their recent documentation, Microsoft - appears to have abandoned the distinction between the two - HSE_REQ_SEND_URL functions. Apache continues to treat them as two - distinct functions with different requirements and behaviors. - <DT>HSE_REQ_SEND_RESPONSE_HEADER - <DD>Apache accepts a response body following the header if it follows - the blank line (two consecutive newlines) in the headers string - argument. This body cannot contain NULLs, since the headers - argument is NULL terminated. - <DT>HSE_REQ_DONE_WITH_SESSION - <DD>Apache considers this a no-op, since the session will be finished - when the ISAPI returns from processing. - <DT>HSE_REQ_MAP_URL_TO_PATH - <DD>Apache will translate a virtual name to a physical name. - <DT>HSE_APPEND_LOG_PARAMETER <EM>Apache 1.3.13 and later</EM> - <DD>This logged message may be captured in any of the following logs: - <UL> - <LI>in the \"%{isapi-parameter}n\" component in a CustomLog directive - <LI>in the %q log component with the ISAPIAppendLogToQuery On directive - <LI>in the error log with the ISAPIAppendLogToErrors On directive - </UL> - The first option, the %{isapi-parameter}n component, is always available - and prefered. - <DT>HSE_REQ_IS_KEEP_CONN <EM>Apache 1.3.13 and later</EM> - <DD>Will return the negotiated Keep-Alive status. - <DT>HSE_REQ_SEND_RESPONSE_HEADER_EX <EM>Apache 1.3.13 and later</EM> - <DD>Will behave as documented, although the fKeepConn flag is ignored. - <DT>HSE_REQ_IS_CONNECTED <EM>Apache 1.3.13 and later</EM> - <DD>Will report false if the request has been aborted. -</DL> -<P>Apache returns FALSE to any unsupported call to ServerSupportFunction, and - sets the GetLastError value to ERROR_INVALID_PARAMETER.</P> - -<P>Prior to Apache 1.3.13, ReadClient was a noop, and any request with a request - body greater than 48kb was rejected by mod_isapi. As of Apache 1.3.13, - ReadClient now retrieves the request body exceeding the initial buffer - (defined by ISAPIReadAheadBuffer). Based on the ISAPIReadAheadBuffer - setting (number of bytes to buffer prior to calling the ISAPI handler) - shorter requests are sent complete to the extension when it is invoked. - If the request is longer, the ISAPI extension must use ReadClient to - retrieve the remaining request body.</P> - -<P>WriteClient is supported, but only with the HSE_IO_SYNC flag or - no option flag (value of 0). Any other WriteClient request will - be rejected with a return value of FALSE, and a GetLastError - value of ERROR_INVALID_PARAMETER.</P> - -<P>GetServerVariable is supported, although extended server variables do not - exist (as defined by other servers.) All the usual Apache CGI environment - variables are available from GetServerVariable. As of Apache 1.3.13, - the ALL_HTTP and ALL_RAW and variables are now available.</P> - -<P>Apache 2.0 mod_isapi may support additional features introduced in later - versions of the ISAPI specification, as well as limited emulation of - async I/O and the TransmitFile semantics. Apache 2.0 may also support - caching of ISAPI .dlls for performance. No further enhancements to the - Apache 1.3 mod_isapi features are anticipated.</P> <!--#include virtual="footer.html" --> </BODY> </HTML> 1.25 +1 -1 httpd-docs-1.3/htdocs/manual/content-negotiation.html Index: content-negotiation.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/content-negotiation.html,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -b -u -r1.24 -r1.25 --- content-negotiation.html 2000/11/22 20:47:56 1.24 +++ content-negotiation.html 2000/12/02 21:18:16 1.25 @@ -111,7 +111,7 @@ file suffix as <CODE>type-map</CODE>; this is best done with a <PRE> - AddHandler type-map var + AddHandler type-map .var </PRE> in the server configuration file. See the comments in the sample config 1.21 +1 -1 httpd-docs-1.3/htdocs/manual/handler.html Index: handler.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/handler.html,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -b -u -r1.20 -r1.21 --- handler.html 2000/11/16 22:20:08 1.20 +++ handler.html 2000/12/02 21:18:16 1.21 @@ -108,7 +108,7 @@ <pre> Action add-footer /cgi-bin/footer.pl - AddHandler add-footer html + AddHandler add-footer .html </pre> <p>Then the CGI script is responsible for sending the originally 1.8 +2 -2 httpd-docs-1.3/htdocs/manual/misc/FAQ-F.html Index: FAQ-F.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/misc/FAQ-F.html,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -b -u -r1.7 -r1.8 --- FAQ-F.html 2000/11/12 00:25:31 1.7 +++ FAQ-F.html 2000/12/02 21:18:16 1.8 @@ -31,7 +31,7 @@ <!--#include virtual="header.html" --> <H1 ALIGN="CENTER">Apache Server Frequently Asked Questions</H1> <P> - $Revision: 1.7 $ ($Date: 2000/11/12 00:25:31 $) + $Revision: 1.8 $ ($Date: 2000/12/02 21:18:16 $) </P> <P> The latest version of this FAQ is always available from the main @@ -148,7 +148,7 @@ a line such as <P> <DL> - <DD><CODE>AddHandler cgi-script cgi</CODE> + <DD><CODE>AddHandler cgi-script .cgi</CODE> </DD> </DL> <P></P> From lauren93@example.org Sat Dec 02 21:27:03 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 62863 invoked by uid 500); 2 Dec 2000 21:27:00 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 62844 invoked by uid 500); 2 Dec 2000 21:26:59 -0000 Delivered-To: lauren93@example.org Delivered-To: lauren93@example.org Date: 2 Dec 2000 21:26:59 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: httpd-docs-1.3/htdocs/manual/mod mod_isapi.html slive 00/12/02 13:26:58 Modified: htdocs/manual/mod mod_isapi.html Log: I accidentally committed some other changes in mod_isapi.html. This reverses an accidental reversal. Revision Changes Path 1.11 +0 -4 httpd-docs-1.3/htdocs/manual/mod/mod_isapi.html Index: mod_isapi.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/mod/mod_isapi.html,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -b -u -r1.10 -r1.11 --- mod_isapi.html 2000/12/02 21:18:15 1.10 +++ mod_isapi.html 2000/12/02 21:26:58 1.11 @@ -75,10 +75,6 @@ as CGI scripts. That is, <CODE>Options ExecCGI</CODE> must be set for the directory that contains the ISAPI .dll file.</P> -<P>Now place an ISAPI .dll file into this web directory, with the - <CODE>Options ExecCGI</CODE> set properly, and it will be loaded and - executed when requested by its URL.</P> - <P>Review the <A HREF="#notes">Additional Notes</A> and the <A HREF="#journal">Programmer's Journal</A> for additional details and clarification of the specific ISAPI support offered by mod_isapi.</P> From lauren93@example.org Sat Dec 02 21:39:05 2000 Return-Path: <lauren93@example.org> Delivered-To: lauren93@example.org Received: (qmail 64192 invoked by uid 500); 2 Dec 2000 21:39:04 -0000 Mailing-List: contact lauren93@example.org; run by ezmlm Precedence: bulk Reply-To: lauren93@example.org list-help: <mailto:lauren93@example.org> list-unsubscribe: <mailto:lauren93@example.org> list-post: <mailto:lauren93@example.org> Delivered-To: mailing list lauren93@example.org Received: (qmail 64174 invoked by uid 500); 2 Dec 2000 21:39:04 -0000 Delivered-To: lauren93@example.org Delivered-To: lauren93@example.org Date: 2 Dec 2000 21:39:03 -0000 Message-ID: <lauren93@example.org> From: lauren93@example.org To: lauren93@example.org Subject: cvs commit: httpd-docs-2.0/htdocs/manual/misc FAQ-F.html slive 00/12/02 13:39:03 Modified: htdocs/manual/mod mod_mime.html mod_isapi.html htdocs/manual content-negotiation.html handler.html htdocs/manual/misc FAQ-F.html Log: Consistency enforcement for directives that take extensions and a reformat of mod_isapi.html
{'source': 'Apache Software Foundation Public Mail Archives'}