cvs commit: apache-1.3 STATUS
fielding98/04/06 18:26:39 Modified:.STATUS Log: A good way to ensure that we never come to a decision is to change the voting options without carrying-over the votes already cast, as was done when this was split into mutually contradictory alternatives. Merge them together so people can see what is the actual status. Revision ChangesPath 1.267 +38 -27apache-1.3/STATUS Index: STATUS === RCS file: /home/cvs/apache-1.3/STATUS,v retrieving revision 1.266 retrieving revision 1.267 diff -u -r1.266 -r1.267 --- STATUS1998/04/06 08:31:40 1.266 +++ STATUS1998/04/07 01:26:38 1.267 @@ -153,7 +153,13 @@ * The proposed steps for the big symbol renaming change: + NOTE: Roy won't even start down this path until there is at least +three +1 votes for the prefix option(s) applied (see below). + Step 1: Roy +- completely remove HIDE stuff from + src/Configure, include/*, APACI, etc. + - tag the source tree $ cd apache-1.3 $ cvs tag PRE_AP_PREFIX_RENAME . @@ -164,7 +170,6 @@ $ cd apache-1.3 $ ./configure --prefix=/tmp/apache --enable-module=most ---disable-rule=HIDE - check symbols $ cd apache-1.3/src $ nm -g httpd |more @@ -177,7 +182,6 @@ $ ./configure --prefix=/tmp/apache --enable-module=most --enable-shared=max ---disable-rule=HIDE - check symbols $ cd apache-1.3/src $ nm -g httpd | egrep -v '_modules?$' | egrep -v 'apx?_' | grep -v '.o$' @@ -204,12 +208,12 @@ the prefix in rename.cf) and adjust/simplify src/Configure, mod_so.c accordingly etc. These APM_ symbols were commented in rename.cf for Roys step. + [Roy doesn't think this step is necessary] 2. change the prelinked_modules and preloaded_modules symbols to APX_ variants manually and adjust src/Configure accordingly. These APX_ symbols were commented in rename.cf for Roys step because these cannot be done automatically. - 3. completely remove HIDE stuff because that's now obsolete: - src/Configure, include/*, APACI, etc. + [Roy might do this himself if the changes are clear] - compile entire server (static variant) $ cd apache-1.3 $ ./configure --prefix=/tmp/apache @@ -273,30 +277,31 @@ * Cleanup the symbol space now in the source for 1.3b6 and thus for the 1.3.x release branch via the apache-1.3/src/test/rename/rename.cf file as the configuration for the - renaming. The used prefix or prefixes are configureable in the file, - too. But we have to additionally vote on them in the next point. - Votes: +1: Ralf, Jim, Roy - 0: Marc + renaming. The used prefix or prefixes are configureable in the file. + +1: Ralf, Jim, Roy +0: Marc [thinks this is the wrong time for such a big change] -* Use consistant prefixes for the renaming; suggestions: +* What prefixes to use for the renaming: - o Different prefixes to distinguish between -the type of functions: - - Apache provided general functions (e.g., ap_cpystrn) -ap_xxx: +0: Ken, Brian, Ralf, Martin, Paul, Roy, Jim +ap_xxx:+1: Ken, Brian, Ralf, Martin, Paul, Roy, Jim, Randy + - Public API functions (e.g., palloc) -ap_xxx: +1 Ralf, Roy +ap_xxx:+1: Ralf, Roy, Dean, Randy, Martin, Brian apapi_xxx: +1: Ken, Paul, Jim + - Private functions which we can't make static (because of cross-object usage) but should be (e.g., new_connection) -apx_xxx +1: Ralf, Roy, Jim -appri_xxx +1: Paul, Ken +ap_xxx:+1: Roy, Dean, Randy, Martin, Brian +apx_xxx: +1: Ralf, Roy, Jim +appri_xxx: +1: Paul, Ken + - Public API module structure variables (e.g., status_module) which are used special in Configure, mod_so, etc and have to be exported: -ap_xxx +1: -apm_xxx +1: Ralf, Roy, Jim +..._module:+1: Roy [status quo] +ap_xxx:+1: +apm_xxx: +1: Ralf, Jim Notes: - Ralf: My opinion for my decisions are the following ones: @@ -337,22 +342,17 @@ the user while still providing the private symbolspace. - o Alternate
cvs commit: apache-1.3 STATUS
fielding98/04/06 19:47:10 Modified:.STATUS Log: After testing, apx_whatever is too ugly for me to +1 it. Revision ChangesPath 1.268 +1 -1 apache-1.3/STATUS Index: STATUS === RCS file: /home/cvs/apache-1.3/STATUS,v retrieving revision 1.267 retrieving revision 1.268 diff -u -r1.267 -r1.268 --- STATUS1998/04/07 01:26:38 1.267 +++ STATUS1998/04/07 02:47:10 1.268 @@ -293,7 +293,7 @@ - Private functions which we can't make static (because of cross-object usage) but should be (e.g., new_connection) ap_xxx:+1: Roy, Dean, Randy, Martin, Brian -apx_xxx: +1: Ralf, Roy, Jim +apx_xxx: +1: Ralf, Jim appri_xxx: +1: Paul, Ken - Public API module structure variables (e.g.,
cvs commit: apache-1.3 STATUS
dgaudet 98/04/06 23:59:05 Modified:.STATUS Log: screw that, it breaks existing modules in an annoying manner Revision ChangesPath 1.271 +1 -2 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.270 retrieving revision 1.271 diff -u -r1.270 -r1.271 --- STATUS1998/04/07 06:56:52 1.270 +++ STATUS1998/04/07 06:59:03 1.271 @@ -314,10 +314,9 @@ - Public API module structure variables (e.g., status_module) which are used special in Configure, mod_so, etc and have to be exported: -..._module:+1: Roy [status quo] +..._module:+1: Roy [status quo], Dean ap_xxx:+1: apm_xxx: +1: Ralf, Jim - ap_mod_xxx:+1: Dean Notes: - Ralf: My opinion for my decisions are the following ones:
cvs commit: apache-1.3/htdocs/manual/mod mod_mmap_static.html
dgaudet 98/04/07 00:13:24 Modified:htdocs/manual/mod mod_mmap_static.html Log: tweak Revision ChangesPath 1.2 +23 -10apache-1.3/htdocs/manual/mod/mod_mmap_static.html Index: mod_mmap_static.html === RCS file: /export/home/cvs/apache-1.3/htdocs/manual/mod/mod_mmap_static.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- mod_mmap_static.html 1998/04/03 16:07:15 1.1 +++ mod_mmap_static.html 1998/04/07 07:13:23 1.2 @@ -28,25 +28,27 @@ H2Summary/H2 P This is an STRONGexperimental/STRONG module and should be used with - care. It maps a list of statically configured files (via + care. You can easily create a broken site using this module, read this + document carefully. + codemod_mmap_static/code maps a list of statically configured files (via CODEMMapFile/CODE directives in the main server configuration) into - memory through the system call CODEmmap()/CODE. Although this system - call is not available on every platform, most of the modern Unix derivates - provide it. At least those ones conforming to the POSIX.4 definition. The - size of the mapable files usually has to be less then 2GB. But this is no - real restriction for documents on a webserver. + memory through the system call CODEmmap()/CODE. This system + call is available on most modern Unix derivates, but not on all. There + are sometimes system-specific limits on the size and number of files that + can be mmap()d, experimentation is probably the easiest way to find out. /P P This mmap()ing is done once at server start or restart, only. So whenever one of the mapped files changes on the filesystem you EMhave/EM to - restart the server by at least sending it a HUP or USR1 signal. To + restart the server by at least sending it a HUP or USR1 signal (see the + a href=../stopping.htmlStopping and Restarting/a documentation). To reiterate that point: if the files are modified EMin place/EM without restarting the server you may end up serving requests that are completely bogus. You should update files by unlinking the old copy and putting a new copy in place. Most tools such as CODErdist/CODE and CODEmv/CODE do this. The reason why this modules doesn't take care of changes to the files is that this check would need an extra CODEstat()/CODE every time which - is a waste and against the intend of I/O reduction. + is a waste and against the intent of I/O reduction. /P H2Directives/H2 @@ -107,9 +109,11 @@ match the filesystem path Apache's URL-to-filename translation handlers create. We cannot compare inodes or other stuff to match paths through symbolic links etc. because that again would cost extra CODEstat()/CODE - system calls which is not acceptable. + system calls which is not acceptable. This module may or may not work + with filenames rewritten by codemod_alias/code or + codemod_rewrite/code... it is an experiment after all. /P - + P Notice: You cannot use this for speeding up CGI programs or other files which are served by special content handlers. It can only be used for @@ -121,6 +125,15 @@ PRE MMapFile /usr/local/apache/htdocs/index.html /PRE + + P + bNote/b: don't bother asking for a for a codeMMapDir/code directive which + recursively maps all the files in a directory. Use Unix the way it was + meant to be used. For example, see the + a href=core.html#includeInclude/a directive, and consider this command: + blockquotepre + find /www/htdocs -type f -print | sed -e 's/.*/mmapfile /' /www/conf/mmap.conf + /pre/blockquote !--#include virtual=footer.html -- /BODY
cvs commit: apache-1.3/src Configuration.tmpl
dgaudet 98/04/07 00:16:48 Modified:src Configuration.tmpl Log: be more explicit about mod_mmap_static Revision ChangesPath 1.95 +4 -6 apache-1.3/src/Configuration.tmpl Index: Configuration.tmpl === RCS file: /export/home/cvs/apache-1.3/src/Configuration.tmpl,v retrieving revision 1.94 retrieving revision 1.95 diff -u -r1.94 -r1.95 --- Configuration.tmpl1998/04/06 11:30:48 1.94 +++ Configuration.tmpl1998/04/07 07:16:47 1.95 @@ -347,12 +347,10 @@ # AddModule modules/standard/mod_so.o -## mod_mmap_static lets you speedup the serving of a list of files -## by mmap()ing them at server startup-time into memory and thus -## avoiding a lot of I/O which is required on normal file serving. -## This is an experimental feature. USE IT WITH CARE AND ALWAYS -## REMEMBER THAT WHENEVER ONE OF THESE FILES CHANGES THE SERVER HAS -## TO BE RESTARTED MANUALLY TO SYNC WITH THE CHANGED FILE CONTENTS. +## mod_mmap_static is an experimental module, you almost certainly +## don't need it. It can make some webservers faster. No further +## documentation is provided here because you'd be foolish +## to use mod_mmap_static without reading the full documentation. # AddModule modules/experimental/mod_mmap_static.o
cvs commit: apache-1.3 STATUS
jim 98/04/07 05:36:27 Modified:.STATUS Log: Why even bother... remove my votes and comments Revision ChangesPath 1.272 +4 -14 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.271 retrieving revision 1.272 diff -u -r1.271 -r1.272 --- STATUS1998/04/07 06:59:03 1.271 +++ STATUS1998/04/07 12:36:26 1.272 @@ -299,16 +299,16 @@ * What prefixes to use for the renaming: - Apache provided general functions (e.g., ap_cpystrn) -ap_xxx:+1: Ken, Brian, Ralf, Martin, Paul, Roy, Jim, Randy +ap_xxx:+1: Ken, Brian, Ralf, Martin, Paul, Roy, Randy - Public API functions (e.g., palloc) ap_xxx:+1: Ralf, Roy, Dean, Randy, Martin, Brian -apapi_xxx: +1: Ken, Paul, Jim +apapi_xxx: +1: Ken, Paul - Private functions which we can't make static (because of cross-object usage) but should be (e.g., new_connection) ap_xxx:+1: Roy, Dean, Randy, Martin, Brian -apx_xxx: +1: Ralf, Jim +apx_xxx: +1: Ralf appri_xxx: +1: Paul, Ken - Public API module structure variables (e.g., @@ -316,7 +316,7 @@ mod_so, etc and have to be exported: ..._module:+1: Roy [status quo], Dean ap_xxx:+1: -apm_xxx: +1: Ralf, Jim +apm_xxx: +1: Ralf Notes: - Ralf: My opinion for my decisions are the following ones: @@ -386,16 +386,6 @@ - Randy: I agree with Dean 100%. The work created to keep this straight far outweighs any gain this could give. - -- Jim: We should make some sort of logical effort to - keep things straight and organized. This does nothing - to indicate in the code what is API, and what - isn't. In my mind, we should use prefixed not JUST - to prevent namespace collisions, but also to - define the type function. The very fact that we - _have_ the above different types of functions - indicates to me that we should have some logical - namespace for them. - Ralf: I agree with Jim that although the short ap_ prefix is good for API functions, it shouldn't be
cvs commit: apache-1.3 STATUS
coar98/04/07 06:18:02 Modified:.STATUS Log: Votes and vetos. Revision ChangesPath 1.273 +20 -2 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.272 retrieving revision 1.273 diff -u -r1.272 -r1.273 --- STATUS1998/04/07 12:36:26 1.272 +++ STATUS1998/04/07 13:18:01 1.273 @@ -15,9 +15,10 @@ or not, and if not, what changes are needed to make it right. Approve guidelines as written: - +1: Roy, Dean, Paul, Jim, Martin, Ralf, Randy, Brian + +1: Roy, Dean, Paul, Jim, Martin, Ralf, Randy, Brian, Ken +0: -1: + (Ken: 'lazy consensus' needs to be defined.) Plan: @@ -293,7 +294,8 @@ 1.3b6 and thus for the 1.3.x release branch via the apache-1.3/src/test/rename/rename.cf file as the configuration for the renaming. The used prefix or prefixes are configureable in the file. - +1: Ralf, Jim, Roy + +1: Ralf, Jim, Roy, Ken [only because collisions won't be addressed any +other way, apparently - otherwise agrees with Marc] 0: Marc [thinks this is the wrong time for such a big change] * What prefixes to use for the renaming: @@ -308,6 +310,7 @@ - Private functions which we can't make static (because of cross-object usage) but should be (e.g., new_connection) ap_xxx:+1: Roy, Dean, Randy, Martin, Brian +-1: Ken apx_xxx: +1: Ralf appri_xxx: +1: Paul, Ken @@ -319,6 +322,17 @@ apm_xxx: +1: Ralf Notes: + - Ken: I'm vetoing the 'same prefix for everything' idea + because it means that everything is part of the API, and + every single change - even to things which aren't supposed + to be used by modules - will require a bump to MMN. Either + we do it right, and distinguish by name between what's for + public consumption and what's not, or we don't do a global + rename at this point. I feel this distinction is necessary + because of our 'glass house' (full source availability) + environment. Saying 'look at the [nonexistent] documentation' + is a cop-out if we're going to do it right. + - Ralf: My opinion for my decisions are the following ones: 1. The short ap_ prefix is a good idea because its a handy prefix while still Apache specific, so I @@ -414,6 +428,10 @@ mod_auth_db at this time, and I'm pretty sure it was to deal with this issue. But I think I still ran into troubles if I automatically looked for gdbm. + +* The binary should have the same name on Win32 and UNIX. + +1: Ken + -1: * What do we call the binary: apache or httpd? Under UNIX it's httpd, under Win32 it's apache. Maybe rename it
cvs commit: apache-1.3 STATUS
coar98/04/07 06:27:08 Modified:.STATUS Log: Let's be clear: this is a proposed patch, not just an idea, and therefore a veto is binding. Revision ChangesPath 1.274 +2 -2 apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.273 retrieving revision 1.274 diff -u -r1.273 -r1.274 --- STATUS1998/04/07 13:18:01 1.273 +++ STATUS1998/04/07 13:27:07 1.274 @@ -322,8 +322,8 @@ apm_xxx: +1: Ralf Notes: - - Ken: I'm vetoing the 'same prefix for everything' idea - because it means that everything is part of the API, and + - Ken: I'm vetoing the 'same prefix for everything' proposed + patch because it means that everything is part of the API, and every single change - even to things which aren't supposed to be used by modules - will require a bump to MMN. Either we do it right, and distinguish by name between what's for
cvs commit: apache-1.3 STATUS
rse 98/04/07 08:15:18 Modified:.STATUS Log: The renaming debate gets more and more worse and I dislike it really how Jim and Kens opinions get silently ignored Hmmm... but ok, I've done my technical work by preparing both the renaming scripts and the HIDE-remove-path for Roy, so I've done my part (for which no one has asked me to do it ;-). The remaining decisions and commits are not my job... I hate political discussions, so I'm now concentrating on more useful stuff IMHO: Working on the DSO-support for SVR4-platforms. Revision ChangesPath 1.275 +34 -55apache-1.3/STATUS Index: STATUS === RCS file: /export/home/cvs/apache-1.3/STATUS,v retrieving revision 1.274 retrieving revision 1.275 diff -u -r1.274 -r1.275 --- STATUS1998/04/07 13:27:07 1.274 +++ STATUS1998/04/07 15:15:17 1.275 @@ -18,8 +18,23 @@ +1: Roy, Dean, Paul, Jim, Martin, Ralf, Randy, Brian, Ken +0: -1: - (Ken: 'lazy consensus' needs to be defined.) + Notes: + - Ken: 'lazy consensus' needs to be defined. + - Ralf: At least the following points should be added: + 1. A statement that really everyone has the equal right to veto + in general and that only the one can rescind a veto who has + done it originally. + 2. The statements that although a veto can be done at any point + if it gets done more then approximately two weeks after some + stuff already went in or was changed, the guy who vetoes + really _HAS_ to provide a reasonable alternative solution + idea _AND_ at least someone (not really the guy who vetoes) + who wants to volunteer for this alternative solution. Or + the veto will not make much sense IMHO at this stage and + always just creates flamewars! I think only this way it's + fair. + Plan: Showstoppers: @@ -152,12 +167,11 @@ In progress: -* The proposed steps for the big symbol renaming change: +* The proposed steps of Roy for the big symbol renaming change: NOTE: Roy won't even start down this path until there is at least three +1 votes for the prefix option(s) applied (see below). - Step 1: Roy - completely remove HIDE stuff from src/Configure, include/*, APACI, etc. @@ -198,54 +212,6 @@ $ cd apache-1.3 $ cvs tag POST_AP_PREFIX_RENAME . - Step 2: Ralf -- tag the source tree - $ cd apache-1.3 - $ cvs tag PRE_AP_PREFIX_RENAME_CLEANUP . -- manual editing the source tree for the remaining - changes which cannot be automated: - 1. change exported module structure symbols from - mod_abc_def.c from def_abc_module to APM_abc_def (where APM_ is - the prefix in rename.cf) and adjust/simplify src/Configure, - mod_so.c accordingly etc. These APM_ symbols were commented - in rename.cf for Roys step. - [Roy doesn't think this step is necessary] - 2. change the prelinked_modules and preloaded_modules symbols - to APX_ variants manually and adjust src/Configure accordingly. - These APX_ symbols were commented in rename.cf for Roys step - because these cannot be done automatically. - [Roy might do this himself if the changes are clear] -- compile entire server (static variant) - $ cd apache-1.3 - $ ./configure --prefix=/tmp/apache ---enable-module=most -- check symbols - $ cd apache-1.3/src - $ nm -g httpd |more -- check operation of server - $ cd apache-1.3 - $ make install - $ /tmp/apache/sbin/apachectl start -- compile entire server (shared variant) - $ cd apache-1.3 - $ ./configure --prefix=/tmp/apache ---enable-module=most ---enable-shared=max -- check symbols - $ cd apache-1.3/src - $ nm -g httpd | egrep -v 'ap(x|m)?_' | grep -v '.o$' - $ nm -g httpd | more -- check operation of server - $ cd apache-1.3 - $ make install - $ /tmp/apache/sbin/apachectl start -- commit - $ cd apache-1.3/src - $ cvs commit . -- tag the source tree - $ cd apache-1.3 - $ cvs tag POST_AP_PREFIX_RENAME_CLEANUP . - * Ralf's and Martin's enhancement to the DSO support in Apache to be able to support DSO under