cvs commit: apache-1.3/src/main http_main.c http_protocol.c
fielding98/02/08 16:45:59 Modified:src/main http_main.c http_protocol.c Log: Reverse last change. Vetoed because they are warnings and because APLOG_NOTICE is always logged regardless of log level. Revision ChangesPath 1.285 +1 -1 apache-1.3/src/main/http_main.c Index: http_main.c === RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v retrieving revision 1.284 retrieving revision 1.285 diff -u -r1.284 -r1.285 --- http_main.c 1998/02/08 18:16:01 1.284 +++ http_main.c 1998/02/09 00:45:56 1.285 @@ -845,7 +845,7 @@ } if (!current_conn-keptalive) - aplog_error(APLOG_MARK, APLOG_NOERRNO|APLOG_NOTICE, + aplog_error(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, current_conn-server, errstr); if (timeout_req) { 1.187 +3 -3 apache-1.3/src/main/http_protocol.c Index: http_protocol.c === RCS file: /home/cvs/apache-1.3/src/main/http_protocol.c,v retrieving revision 1.186 retrieving revision 1.187 diff -u -r1.186 -r1.187 --- http_protocol.c 1998/02/07 02:29:18 1.186 +++ http_protocol.c 1998/02/09 00:45:57 1.187 @@ -1688,7 +1688,7 @@ else if (errno == EAGAIN) continue; else { -aplog_error(APLOG_MARK, APLOG_NOTICE, r-server, +aplog_error(APLOG_MARK, APLOG_WARNING, r-server, send body lost connection to %s, get_remote_host(r-connection, r-per_dir_config, @@ -1777,7 +1777,7 @@ else if (errno == EAGAIN) continue; else { -aplog_error(APLOG_MARK, APLOG_NOTICE, r-server, +aplog_error(APLOG_MARK, APLOG_WARNING, r-server, send body lost connection to %s, get_remote_host(r-connection, r-per_dir_config, @@ -1845,7 +1845,7 @@ else if (errno == EAGAIN) continue; else { -aplog_error(APLOG_MARK, APLOG_NOTICE, r-server, +aplog_error(APLOG_MARK, APLOG_WARNING, r-server, send mmap lost connection to %s, get_remote_host(r-connection, r-per_dir_config,
cvs commit: apache-1.3/src/main http_main.c http_protocol.c
fielding98/02/08 17:09:42 Modified:src CHANGES src/main http_main.c http_protocol.c Log: Improve the error_log message for lost connection so that clueless wankers won't automatically think the server is at fault. Revision ChangesPath 1.624 +3 -0 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.623 retrieving revision 1.624 diff -u -r1.623 -r1.624 --- CHANGES 1998/02/08 20:50:57 1.623 +++ CHANGES 1998/02/09 01:09:37 1.624 @@ -186,6 +186,9 @@ *) File does not exist error message was erroneously including the errno. [Marc Slemko] + *) Improve the warning message generated when a client drops the + connection (hits stop button, etc.) during a send. [Roy Fielding] + *) Defining GPROF will disable profiling in the parent and enable it in the children. If you're profiling under Linux this is pretty much necessary because SIGPROF is lost across a fork(). [Dean Gaudet] 1.286 +4 -3 apache-1.3/src/main/http_main.c Index: http_main.c === RCS file: /home/cvs/apache-1.3/src/main/http_main.c,v retrieving revision 1.285 retrieving revision 1.286 diff -u -r1.285 -r1.286 --- http_main.c 1998/02/09 00:45:56 1.285 +++ http_main.c 1998/02/09 01:09:39 1.286 @@ -834,9 +834,10 @@ else dirconf = current_conn-server-lookup_defaults; if (sig == SIGPIPE) { - ap_snprintf(errstr, sizeof(errstr), %s lost connection to %s, - timeout_name ? timeout_name : request, - get_remote_host(current_conn, dirconf, REMOTE_NAME)); + ap_snprintf(errstr, sizeof(errstr), + %s client stopped connection before %s completed, + get_remote_host(current_conn, dirconf, REMOTE_NAME), + timeout_name ? timeout_name : request); } else { ap_snprintf(errstr, sizeof(errstr), %s timed out for %s, 1.188 +3 -3 apache-1.3/src/main/http_protocol.c Index: http_protocol.c === RCS file: /home/cvs/apache-1.3/src/main/http_protocol.c,v retrieving revision 1.187 retrieving revision 1.188 diff -u -r1.187 -r1.188 --- http_protocol.c 1998/02/09 00:45:57 1.187 +++ http_protocol.c 1998/02/09 01:09:40 1.188 @@ -1689,7 +1689,7 @@ continue; else { aplog_error(APLOG_MARK, APLOG_WARNING, r-server, -send body lost connection to %s, + %s client stopped connection before send body completed, get_remote_host(r-connection, r-per_dir_config, REMOTE_NAME)); @@ -1778,7 +1778,7 @@ continue; else { aplog_error(APLOG_MARK, APLOG_WARNING, r-server, -send body lost connection to %s, + %s client stopped connection before send body completed, get_remote_host(r-connection, r-per_dir_config, REMOTE_NAME)); @@ -1846,7 +1846,7 @@ continue; else { aplog_error(APLOG_MARK, APLOG_WARNING, r-server, -send mmap lost connection to %s, + %s client stopped connection before send mmap completed, get_remote_host(r-connection, r-per_dir_config, REMOTE_NAME));
cvs commit: apache-devsite how-to-release.html
rse 98/02/09 01:27:30 Modified:.how-to-release.html Log: - a few cosmetics: made the windows part equal to the unix part, added a document article-style header, added paragraph tags to make the look consistent again - added command to remove src/INDENT because we already remove STATUS and src/INDENT is of the same type so both should be removed Revision ChangesPath 1.23 +70 -25apache-devsite/how-to-release.html Index: how-to-release.html === RCS file: /export/home/cvs/apache-devsite/how-to-release.html,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- how-to-release.html 1998/02/08 15:23:36 1.22 +++ how-to-release.html 1998/02/09 09:27:29 1.23 @@ -14,12 +14,35 @@ !--#include virtual=header.html -- P +BR -h1Announcing a New Release/h1 +div align=center +H1How to build a release of Apache/H1 +Alexei Kosut lt;[EMAIL PROTECTED]gt;br +Ralf S. Engelschall lt;[EMAIL PROTECTED]gt;br +Jim Jagielski lt;[EMAIL PROTECTED]gt; +/div + +blockquote +blockquote +blockquote +This document describes the typical release cycle the release manager has to +step through when creating a new Apache release. It is written down as a +step-by-step instruction list and should be followed exactly as specified to +avoid problems or inconsistencies both in the created tarballs and the source +repository. +/blockquote +/blockquote +/blockquote + +p +br +h2Announcing a New Release/h2 pOnce a release is built (A HREF=#tarballsee below/A), it is time to announce it to the world. Ideally, the Announcement -should be composed before the Release is actually built. +should be composed strongbefore/strong the Release is actually built. So +we describe these steps at the beginning. ol hr @@ -31,15 +54,21 @@ to reflect the current state of affairs concerning the release. For example, the Release Version should reflect what is actually being announced. Also, the key enhancements - of the Release should be noted. - licodecommit/code the changes. - + of the Release should be noted.br + codeb$ cvs checkout apache-1.3/b/codebr + codeb$ cd apache-1.3/b/codebr + codeb$ vi Announcement/b/codebr + codeb$ cvs commit Announcement/b/code + p hr - - b[ Posting the Announcement ]/bbr + b[ Building the source release ]/bbr p liFirst, build the source release (A HREF=#tarballsee below/A) if not already done. + p + hr + b[ Posting the Announcement ]/bbr + p liOnce built, codeAnnouncement/code should be posted to the following places: ul @@ -59,14 +88,15 @@ licode[EMAIL PROTECTED]/code /ul /ul + p liBask in the glow /ol P +BR -hr +h2A NAME=tarballHow to build an Apache Unix release/A/h2 -H1A NAME=tarballHow to build a release of Apache/A/H1 PFONT COLOR=redNote:/FONT The below assumes that you are using codessh/code to login to your codedev.apache.org/code account. If you are rolling the tarball remotely, the differences @@ -80,6 +110,8 @@ LI cd into the codeapache-1.3/code CVS tree.br codeb$ cd apache-1.3/b/code P + +hr b[ Only for final releases, not for internal pre-releases ]/bbr P LI Change codeSERVER_VERSION/code in ttsrc/main/httpd.h/tt @@ -99,7 +131,6 @@ HR b[ For all releases ]/bbr P -P LI Make an export version of the distribution:br codeb$ cd ../b/codebr codeb$ umask 022/b/codebr @@ -118,8 +149,9 @@ LI Create codesrc/Configuration/code file:br codeb$ cp src/Configuration.tmpl src/Configuration/b/code P -LI Remove codeSTATUS/code and codeRULES.CVS/code file and various code.cvsignore/code files:br - codeb$ rm STATUS RULES.CVS/b/codebr +LI Remove codeSTATUS/code, codeRULES.CVS/code and + codesrc/INDENT/codefile and various code.cvsignore/code files:br + codeb$ rm STATUS RULES.CVS src/INDENT/b/codebr codeb$ find . -name .cvsignore -exec rm {} \;/b/code UL LIFONT COLOR=redNote:/FONT If you needed to do a @@ -154,9 +186,12 @@ codeb$ rm -rf apache_1.X.Y/b/code P LI Sign the distribution files:br - (emnote: be sure your PGP key is already in the codeKEYS/code file/em!)br codeb$ pgp -sba apache_1.X.Y.tar.gz/b/codebr codeb$ pgp -sba apache_1.X.Y.tar.Z/b/codebr + UL + LIFONT COLOR=redNote:/FONT Be sure your PGP key is already in the + codeKEYS/code file/em!)br + /UL P LI Make the tarball available for testing purposes:br codeb$ cp apache_1.X.Y.tar.gz /pub/httpd/dist/b/codebr @@ -169,9 +204,15 @@ in codedev.apache.org/code in the code/pub/httpd/dist/code
cvs commit: apache-2.0/docs stacked_io
dgaudet 98/02/09 01:30:01 Added: docs stacked_io Log: Ed's latest stacked i/o proposal Revision ChangesPath 1.1 apache-2.0/docs/stacked_io Index: stacked_io === This past summer, Alexei and I wrote a spec for an I/O Filters API... this proposal addresses one part of that -- 'stacked' I/O with buff.c. We have a couple of options for stacked I/O: we can either use existing code, such as sfio, or we can rewrite buff.c to do it. We've gone over the first possibility at length, though, and there were problems with each implemenation which was mentioned (licensing and compatibility, specifically); so far as I know, those remain issues. Btw -- sfio will be supported w/in this model... it just wouldn't be the basis for the model's implementation. -- Ed Korthof| Web Server Engineer -- -- [EMAIL PROTECTED]| Organic Online, Inc -- -- (415) 278-5676| Fax: (415) 284-6891 -- --- Stacked I/O With BUFFs Sections: 1.) Overview 2.) The API User-supplied structures API functions 3.) Detailed Description The bfilter structure The bbottomfilter structure The BUFF structure Public functions in buff.c 4.) Efficiency Considerations Buffering Memory copies Function chaining writev 5.) Code in buff.c Default Functions Heuristics for writev Writing Reading Flushing data Closing stacks and filters Flags and Options * Overview The intention of this API is to make Apache's BUFF structure modular while retaining high efficiency. Basically, it involves rewriting buff.c to provide 'stacked' I/O -- where the data passed through a series of 'filters', which may modify it. There are two parts to this, the core code for BUFF structures, and the filters used to implement new behavior. filter is used to refer to both the sets of 5 functions, as shown in the bfilter structure in the next section, and to BUFFs which are created using a specific bfliter. These will also be occasionally refered to as user-supplied, though the Apache core will need to use these as well for basic functions. The user-supplied functions should use only the public BUFF API, rather than any internal details or functions. One thing which may not be clear is that in the core BUFF functions, the BUFF pointer passed in refers to the BUFF on which the operation will happen. OTOH, in the user-supplied code, the BUFF passed in is the next buffer down the chain, not the current one. * The API User-supplied structures First, the bfilter structure is used in all filters: typedef struct { int (*writev)(BUFF *, void *, struct iovect *, int); int (*read)(BUFF *, void *, char *, int); int (*write)(BUFF *, void *, const char *, int); int (*flush)(BUFF *, void *, const char *, int, bfilter *); int (*transmitfile)(BUFF *, void *, file_info_ptr *); void (*close)(BUFF *, void *); } bfilter; bfilters are placed into a BUFF structure along with a user-supplied void * pointer. Second, the following structure is for use with a filter which can sit at the bottom of the stack: typedef struct { void *(*bgetfileinfo)(BUFF *, void *); void (*bpushfileinfo)(BUFF *, void *, void *); } bbottomfilter; BUFF API functions The following functions are new BUFF API functions: For filters: BUFF * bcreatestack(pool *p, int flags, struct bfilter *, struct bbottomfilter *, void *); BUFF * bpushfilter (BUFF *, struct bfilter *, void *); BUFF * bpushbuffer (BUFF *, BUFF *); BUFF * bpopfilter(BUFF *); BUFF * bpopbuffer(BUFF *); void bclosestack(BUFF *); For BUFFs in general: int btransmitfile(BUFF *, file_info_ptr *); int bsetstackopts(BUFF *, int, const void *); int bsetstackflags(BUFF *, int, int); Note that a new flag is needed for bsetstackflags: B_MAXBUFFERING The current bcreate should become BUFF * bcreatebuffer (pool *p, int flags, struct bfilter *, void *); * Detailed Explanation bfilter structure The void * pointer used in all these functions, as well as those in the
cvs commit: apache-2.0 STATUS
pcs 98/02/09 03:10:32 Modified:.STATUS Log: What a surprise more votes! Revision ChangesPath 1.20 +11 -11apache-2.0/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-2.0/STATUS,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- STATUS1998/02/08 12:05:54 1.19 +++ STATUS1998/02/09 11:10:31 1.20 @@ -30,7 +30,7 @@ varies from the above such that if it's shown that the autoconf toolset can do what we want, with less headache than what we have, then we go for it) - Status: Jim +1, Ken +1, Marc +1, MarkC +1, Ben +1 + Status: Jim +1, Ken +1, Marc +1, MarkC +1, Ben +1, Paul +1 * The autoconf toolset should include all three: autoconf, automake, and libtool. @@ -51,7 +51,7 @@ * revamped process model (Dean's proposal) Dean says: it's hard to do the multithreading work cleanly without considering a bunch of this - Status: Marc +1 on much of it; threads aren't enough for perf. MarkC +1 + Status: Marc +1 on much of it; threads aren't enough for perf. MarkC +1, Paul +1 * new layered I/O. Status: Brian +1, Ken +1, Dean +1, Jim +1, Paul +1, Sameer +1, Marc +1, Ralf +1, MarkC +1, Ben +1 @@ -73,7 +73,7 @@ can get zero-copy in the user space, which is a big win for caching modules of all sorts. You can also support the traditional slow style of stdio, which adds an extra user space copy.) - Status: Dean +1, Marc +1, Ben +1 + Status: Dean +1, Marc +1, Ben +1, Paul +1 * API work @@ -81,7 +81,7 @@ Status: Ken +1 . documented API - Status: Ken +1, Sameer +1, Marc +1, Ralf +1 + Status: Ken +1, Sameer +1, Marc +1, Ralf +1, Paul +1 . just new API phases Status: Brian +1, Jim +1, Sameer +1 (just the gaping holes), @@ -89,29 +89,29 @@ . change API 'phase' model to use module-registered hooks rather than a fixed static structure - Status: Ken +1, Ralf +1, MarkC +1 + Status: Ken +1, Ralf +1, MarkC +1, Paul +1 . use virtual functions for module hooks - Status: Ben +1 + Status: Ben +1, Paul -1 . clearly identify API functions by renaming them - Status: Ken +1, Ralf +1, Ben +1 + Status: Ken +1, Ralf +1, Ben +1, Paul +1 (plus back compat.) . backward compatibility with 1.3 (just require a recompile) if functions get renamed, old names retained as wrappers - Status: Paul +1, Sameer +1, Marc +1, Ralf +1, MarkC +1 + Status: Paul +1, Sameer +1, Marc +1, Ralf +1, MarkC +1, Paul +1 . make API call syntax rational (e.g., all r*() routines list r as their first argument, et cetera) - Status: Ken +1, Ralf +0 + Status: Ken +1, Ralf +0, Paul +0 * new configuration language - Status: Dean +1, Marc +1, Ralf +0, Ben +1 + Status: Dean +1, Marc +1, Ralf +0, Ben +1, Paul +0 * rewrite in C++ . Yes: Ben +1 . doesn't like the idea, but is open to it: Marc +1, Ralf +1 - . No way ever: MarkC +1 + . No way ever: MarkC +1, Paul +1 Closed issues:
cvs commit: apache-1.3/src/include httpd.h
jim 98/02/09 05:25:43 Modified:.STATUS src CHANGES src/include httpd.h Log: Get up to date... Note that 1.3b4 was never released; that we are now in 1.3b5 and that a code freeze is in effect Revision ChangesPath 1.147 +3 -2 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.146 retrieving revision 1.147 diff -u -r1.146 -r1.147 --- STATUS1998/02/07 15:48:08 1.146 +++ STATUS1998/02/09 13:25:38 1.147 @@ -4,13 +4,14 @@ 2.0 : In pre-alpha development see: http://www.arctic.org/~dgaudet/apache/2.0/process-model -1.3b4: In development, maybe a release early Feb 98? Jim is RM +1.3b5: In development, a release is planned for the week of 2/9/98 +1.3b4: Internal version... not tagged or released. 1.3b3: Released and announced 1.3b1: There is no 1.3b1 Current Modes: -* CODE FREEZE in effect for 1.3b4. NO COMMITS! +* CODE FREEZE in effect for 1.3b5. NO COMMITS! o Commit-Then-Review (see http://dev.apache.org/guidelines.html#ctr Plan: 1.625 +3 -1 apache-1.3/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.624 retrieving revision 1.625 diff -u -r1.624 -r1.625 --- CHANGES 1998/02/09 01:09:37 1.624 +++ CHANGES 1998/02/09 13:25:40 1.625 @@ -1,4 +1,4 @@ -Changes with Apache 1.3b4 +Changes with Apache 1.3b5 *) WIN32: Append a '.' to extensionless executables in spawn[lv]e* replacements, which makes them work. @@ -6,6 +6,8 @@ *) Sort out problems with canonical filename handling happening too late. [Dean Gaudet, Ben Laurie] + +Changes with Apache 1.3b4 *) The module structure was modified to include a *dynamic_load_handle in the STANDARD_MODULE_STUFF portion, and the MODULE_MAGIC_NUMBER 1.184 +2 -2 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.183 retrieving revision 1.184 diff -u -r1.183 -r1.184 --- httpd.h 1998/02/08 20:46:18 1.183 +++ httpd.h 1998/02/09 13:25:42 1.184 @@ -356,7 +356,7 @@ * Example: Apache/1.1.0 MrWidget/0.1-alpha */ -#define SERVER_BASEVERSION Apache/1.3b4-dev/* SEE COMMENTS ABOVE */ +#define SERVER_BASEVERSION Apache/1.3b5-dev/* SEE COMMENTS ABOVE */ #ifdef SERVER_SUBVERSION #define SERVER_VERSION SERVER_BASEVERSION SERVER_SUBVERSION #else @@ -367,7 +367,7 @@ /* Numeric release version identifier: major minor bugfix betaseq * Always increases along the same track as the source branch. */ -#define APACHE_RELEASE 1030004 +#define APACHE_RELEASE 1030005 #define SERVER_PROTOCOL HTTP/1.1 #ifndef SERVER_SUPPORT
cvs commit: apache-devsite how-to-release.html
jim 98/02/09 05:30:11 Modified:.how-to-release.html Log: Formalize the 'tarball is bad' rules Revision ChangesPath 1.24 +5 -0 apache-devsite/how-to-release.html Index: how-to-release.html === RCS file: /export/home/cvs/apache-devsite/how-to-release.html,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- how-to-release.html 1998/02/09 09:27:29 1.23 +++ how-to-release.html 1998/02/09 13:30:10 1.24 @@ -102,6 +102,11 @@ account. If you are rolling the tarball remotely, the differences will be noted. +PFONT COLOR=redImportant:/FONT Once tagged and the tarball +is rolled, there is no going back. If there are problems with +the tarball, the version number (either the rev-level or beta-level) +EMmust/EM be bumped resulting in a new tag, tarball and release. + OL HR LI Checkout the Apache source if needed into a scratch directory:br
cvs commit: apache-1.3/htdocs/manual/misc known_bugs.html
sameer 98/02/09 10:32:34 Modified:htdocs/manual/misc known_bugs.html Log: Update version on sunfreeware.com Revision ChangesPath 1.42 +1 -1 apache-1.3/htdocs/manual/misc/known_bugs.html Index: known_bugs.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/misc/known_bugs.html,v retrieving revision 1.41 retrieving revision 1.42 diff -c -u -r1.41 -r1.42 /usr/bin/diff: conflicting specifications of output style --- known_bugs.html 1998/01/26 16:53:51 1.41 +++ known_bugs.html 1998/02/09 18:32:33 1.42 @@ -56,7 +56,7 @@ gcc. As is frequently the case with gcc compilation troubles, this is the result of an improperly built gcc. The gcc for solaris 2.6 found at A HREF=http://www.sunfreeware.com/;www.sunfreeware.com/A -was built with a beta version of solaris 2.6. The release version +is now built with the release version of solaris 2.6. The release version of solaris 2.6 changed a few header files enough that the beta-built gcc won't work with it. There are two workarounds mentioned in A HREF=http://bugs.apache.org/index/full/1336;PR#1336/A.