cvs commit: apachen/src CHANGES
martin 97/11/11 16:05:57 Modified:src CHANGES Log: Lars Eilebrecht wrote a whole new set of Apache Vhost Internals documentation, examples, explanations and caveats. They live in a new subdirectory htdocs/manual/vhost/. [Lars Eilebrecht [EMAIL PROTECTED]] Submitted by: Lars Eilebrecht [EMAIL PROTECTED] Revision ChangesPath 1.503 +4 -0 apachen/src/CHANGES Index: CHANGES === RCS file: /home/cvs/apachen/src/CHANGES,v retrieving revision 1.502 retrieving revision 1.503 diff -u -u -r1.502 -r1.503 --- CHANGES 1997/11/11 19:52:16 1.502 +++ CHANGES 1997/11/12 00:05:55 1.503 @@ -1,5 +1,9 @@ Changes with Apache 1.3b3 + *) Lars Eilebrecht wrote a whole new set of Apache Vhost Internals + documentation, examples, explanations and caveats. They live in a new + subdirectory htdocs/manual/vhost/. [Lars Eilebrecht [EMAIL PROTECTED]] + *) If ap_slack fails to allocate above the low slack line it's a good indication that further problems will occur; it's a better indication than many external libraries give us when we actually run out of
cvs commit: apachen/src/main util_script.c
ben 97/11/11 16:50:45 Modified:src/main util_script.c Log: Hopefully fix winsock in CGI problems. Submitted by: Frank Faubert [EMAIL PROTECTED] Revision ChangesPath 1.83 +12 -1 apachen/src/main/util_script.c Index: util_script.c === RCS file: /export/home/cvs/apachen/src/main/util_script.c,v retrieving revision 1.82 retrieving revision 1.83 diff -u -r1.82 -r1.83 --- util_script.c 1997/10/24 15:40:55 1.82 +++ util_script.c 1997/11/12 00:50:44 1.83 @@ -161,8 +161,10 @@ server_rec *s = r-server; conn_rec *c = r-connection; const char *rem_logname; - char port[40], *env_path; +#ifdef WIN32 +char *env_temp; +#endif array_header *hdrs_arr = table_elts(r-headers_in); table_entry *hdrs = (table_entry *) hdrs_arr-elts; @@ -196,6 +198,15 @@ if (!(env_path = getenv(PATH))) env_path = DEFAULT_PATH; + +#ifdef WIN32 +if (env_temp = getenv(SystemRoot)) +table_set(e, SystemRoot, env_temp); +if (env_temp = getenv(COMSPEC)) +table_set(e, COMSPEC, env_temp); +if (env_temp = getenv(WINDIR)) +table_set(e, WINDIR, env_temp); +#endif table_set(e, PATH, env_path); table_set(e, SERVER_SOFTWARE, SERVER_VERSION);
cvs commit: apachen/htdocs/manual/mod mod_cookies.html
dgaudet 97/11/11 17:50:04 Modified:htdocs/manual/mod mod_cookies.html Log: typo Revision ChangesPath 1.6 +1 -1 apachen/htdocs/manual/mod/mod_cookies.html Index: mod_cookies.html === RCS file: /export/home/cvs/apachen/htdocs/manual/mod/mod_cookies.html,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- mod_cookies.html 1997/11/11 22:38:36 1.5 +++ mod_cookies.html 1997/11/12 01:50:04 1.6 @@ -15,7 +15,7 @@ !--#include virtual=header.html -- H1 ALIGN=CENTERModule mod_cookies/h1 -STRONGFONT COLOR=redThis modules is obsolete. As of version +STRONGFONT COLOR=redThis module is obsolete. As of version 1.2 of Apache, it has been replaced with A HREF=mod_usertrack.html mod_usertrack/A. /FONT/STRONG
cvs commit: apachen/src/modules/standard mod_rewrite.c mod_rewrite.h
rse 97/11/12 02:46:57 Modified:src CHANGES src/modules/standard mod_rewrite.c mod_rewrite.h Log: The mod_rewrite ``Break Its Heart'' patch: - the rewriting engine now is really very well documented, so all Apache developers should be able to understand it now ;_) Try it out: look at the new apply_rewrite_list and apply_rewrite_rule functions and try to understand it... - the rewriting engine no longer contains any redundant stuff for the proxy-throughput, redirection and per-dir cases. This makes it even more clear to understand and avoid future bugs like the following: - fixed the query string bug recently discovered by Mark: | RewriteRule ^foo/bar?query [R] | RewriteRule ^foo http://host/bar?query [R] where the second rule's query string was escaped. (fixed by avoiding this as an extra case ;_) - fixed the nasty redirection bug recently discovered in c.i.w.s.u | RewriteRule ^(.*[^/])(.*) ${vhost:$1|$1}$2 [R,L] where the expansion of ${vhost} to http://... was too late for the rewriting engine to accept it as a redirect. (fixed by new and more accurate evaluation order) - split out the fully-qualification of URLs into own named function fully_qualify_uri(r). This avoid redundancy, too. Also incorporate updated APACHE_SSL #ifdef'edchanges to mod_rewrite.c from Ben's latest 1.2.4+ssl_1.11 patch - make cmd_rewriterule static (this was left over from old days of the mod_rewrite_compat which never found its way into the core distribution) Submitted by: Ralf S. Engelschall Reviewed by:Roy T. Fielding, Jim Jagielski, Ralf S. Engelschall Revision ChangesPath 1.504 +12 -0 apachen/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.503 retrieving revision 1.504 diff -u -r1.503 -r1.504 --- CHANGES 1997/11/12 00:05:55 1.503 +++ CHANGES 1997/11/12 10:46:52 1.504 @@ -1,5 +1,17 @@ Changes with Apache 1.3b3 + *) Complete rewrite ;_) of mod_rewrite's URL rewriting engine: + Now the rewriting engine (the heart of mod_rewrite) is organized more + straight-forward, first time well documented and reduced to the really + essential parts. All redundant cases were stripped off and processing now + is the same for both per-server and per-directory context with only a + minimum difference (the prefix stripping in per-dir context). As a + side-effect some subtle restrictions and two recently discovered problems + are gone: Wrong escaping of QUERY_STRING on redirects in per-directory + context and restrictions on the substitution URL on redirects. + Additionally some minor source cleanups were done. + [Ralf S. Engelschall] + *) Lars Eilebrecht wrote a whole new set of Apache Vhost Internals documentation, examples, explanations and caveats. They live in a new subdirectory htdocs/manual/vhost/. [Lars Eilebrecht [EMAIL PROTECTED]] 1.56 +380 -244 apachen/src/modules/standard/mod_rewrite.c Index: mod_rewrite.c === RCS file: /export/home/cvs/apachen/src/modules/standard/mod_rewrite.c,v retrieving revision 1.55 retrieving revision 1.56 diff -u -r1.55 -r1.56 --- mod_rewrite.c 1997/10/27 19:15:35 1.55 +++ mod_rewrite.c 1997/11/12 10:46:55 1.56 @@ -235,7 +235,7 @@ static int proxy_available; /* maximum nmatch parameter for regexec */ -#define MAX_NMATCH (10) +#define MAX_NMATCH (10) /* the txt mapfile parsing stuff */ #define MAPFILE_PATTERN ^([^ \t]+)[ \t]+([^ \t]+).*$ @@ -637,9 +637,8 @@ return NULL; } -/* NON static */ -const char *cmd_rewriterule(cmd_parms *cmd, rewrite_perdir_conf *dconf, -char *str) +static const char *cmd_rewriterule(cmd_parms *cmd, rewrite_perdir_conf *dconf, + char *str) { rewrite_server_conf *sconf; rewriterule_entry *new; @@ -1447,11 +1446,15 @@ /* ** +---+ ** | | -** | rewriting engine +** | the rewriting engine ** | | ** +---+ */ +/* + * Apply a complete rule set, + * i.e. a list of rewrite rules + */ static int apply_rewrite_list(request_rec *r, array_header *rewriterules, char *perdir) { @@ -1462,14 +1465,19 @@ int rc; int s; +/* + *
cvs commit: apachen/htdocs/manual/vhosts host.html vhosts-in-depth.html virtual-host.html
martin 97/11/12 05:37:55 Added: htdocs/manual/vhosts host.html vhosts-in-depth.html virtual-host.html Log: Citing Lars: Hi, the attachment includes a reworked Apache manual with the new virtual host documentation. As Dean suggested I created a new directory named 'vhosts' and moved the updated vhosts-in-depth etc. documents into the new directory, renamed them and updated all other documents which refered to the old docs (at least I tried to find all documents...). Submitted by: Lars Eilebrecht [EMAIL PROTECTED] Reviewed by: Martin Kraemer Revision ChangesPath 1.1 apachen/htdocs/manual/vhosts/host.html Index: host.html === !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 3.2 Final//EN htmlhead titleApache non-IP Virtual Hosts/title /head !-- Background white, links blue (unvisited), navy (visited), red (active) -- BODY BGCOLOR=#FF TEXT=#00 LINK=#FF VLINK=#80 ALINK=#FF !--#include virtual=header.html -- h1 ALIGN=CENTERApache non-IP Virtual Hosts/h1 strongSee Also:/strong a href=virtual-host.htmlVirtual Host Support/a hr h2What is a Virtual Host/h2 pThe Virtual Host refers to the practice of maintaining more than one server on one machine, as differentiated by their apparent hostname. For example, it is often desirable for companies sharing a web server to have their own domains, with web servers accessible as codewww.company1.com/code and codewww.company2.com/code, without requiring the user to know any extra path information./p pApache was one of the first servers to support virtual hosts right out of the box, but since the base codeHTTP/code (HyperText Transport Protocol) standard does not allow any method for the server to determine the hostname it is being addressed as, Apache's virtual host support has required a separate IP address for each server. Documentation on using this approach (which still works very well) a href=virtual-host.htmlis available/a. pWhile the approach described above works, with the available IP address space growing smaller, and the number of domains increasing, it is not the most elegant solution, and is hard to implement on some machines. The codeHTTP/1.1/code protocol contains a method for the server to identify what name it is being addressed as. Apache 1.1 and later support this approach as well as the traditional IP-address-per-hostname method./p pThe benefits of using the new virtual host support is a practically unlimited number of servers, ease of configuration and use, and requires no additional hardware or software. The main disadvantage is that the user's browser must support this part of the protocol. The latest versions of many browsers (including Netscape Navigator 2.0 and later) do, but many browsers, especially older ones, do not. This can cause problems, although a possible solution is addressed below./p h2Using non-IP Virtual Hosts/h2 pUsing the new virtual hosts is quite easy, and superficially looks like the old method. You simply add to one of the Apache configuration files (most likely codehttpd.conf/code or codesrm.conf/code) code similar to the following:/p pre lt;VirtualHost www.apache.orggt; ServerName www.apache.org DocumentRoot /usr/web/apache lt;/VirtualHostgt; /pre pOf course, any additional directives can (and should) be placed into the codelt;VirtualHostgt;/code section. To make this work, all that is needed is to make sure that the codewww.apache.org/code DNS entry points to the same IP address as the main server. Optionally, you could simply use that IP address in the lt;VirtualHostgt; entry./p pAdditionally, many servers may wish to be accessible by more than one name. For example, the Apache server might want to be accessible as codeapache.org/code, or codeftp.apache.org/code, assuming the IP addresses pointed to the same server. In fact, one might want it so that all addresses at codeapache.org/code were picked up by the server. This is possible with the codeServerAlias/code directive, placed inside the lt;VirtualHostgt; section. For example:/p pre ServerAlias apache.org *.apache.org /pre pNote that you can use code*/code and code?/code as wild-card characters./p pYou also might need ServerAlias if you are serving local users who do not always include the domain name. For example, if local users are familiar with typing www or www.physics then you will need to add codeServerAlias www www.physics/code. It isn't possible for the server to know what domain the client uses for their name resolution because the client doesn't provide that information in the request./p h2Security Considerations/h2 Apache allows all virtual
cvs commit: apachen/htdocs/manual/vhosts footer.html
martin 97/11/12 05:54:27 Modified:htdocs/manual/vhosts footer.html Log: Sorry, I added the wrong header/footer files Revision ChangesPath 1.3 +6 -4 apachen/htdocs/manual/vhosts/footer.html Index: footer.html === RCS file: /home/cvs/apachen/htdocs/manual/vhosts/footer.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -u -r1.2 -r1.3 --- footer.html 1997/11/12 13:53:15 1.2 +++ footer.html 1997/11/12 13:54:26 1.3 @@ -1,6 +1,8 @@ HR - H3 ALIGN=CENTER - Apache HTTP Server Version 1.3 - /H3 -A HREF=../IMG SRC=../images/index.gif ALT=Index/A +H3 ALIGN=CENTER + Apache HTTP Server Version 1.3 +/H3 + +A HREF=./IMG SRC=../images/index.gif ALT=Index/A +A HREF=../IMG SRC=../images/home.gif ALT=Home/A
Re: cvs commit: apachen/htdocs/manual/vhosts footer.html
[EMAIL PROTECTED] wrote,... martin 97/11/12 05:54:27 Modified:htdocs/manual/vhosts footer.html Log: Sorry, I added the wrong header/footer files Yep, I did -- and when I committed the corrected versions, I hit ^C too early - but the cvsdiff-mailing-script isn't interrupt safe. If you are subscribed to the [EMAIL PROTECTED] mailing list you should therefore simply cd apachen/htdocs/manual/vhosts/ cp ../mod/{header,footer}.html . to get the current CVS state. Sorry for any inconveniences. Martin -- | S I E M E N S | [EMAIL PROTECTED] | Siemens Nixdorf | - | Voice: +49-89-636-46021 | Informationssysteme AG | N I X D O R F | FAX: +49-89-636-44994 | 81730 Munich, Germany My opinions only, of course; pgp key available on request
cvs commit: apachen/htdocs/manual/mod mod_speling.html
martin 97/11/12 08:29:47 Modified:htdocs/manual invoking.html new_features_1_3.html upgrading_to_1_3.html htdocs/manual/mod mod_speling.html Log: Correct Typos; Add new -V switch; add paragraph about new ServerRoot=/usr/local/apache; Revision ChangesPath 1.14 +7 -1 apachen/htdocs/manual/invoking.html Index: invoking.html === RCS file: /home/cvs/apachen/htdocs/manual/invoking.html,v retrieving revision 1.13 retrieving revision 1.14 diff -u -u -r1.13 -r1.14 --- invoking.html 1997/10/25 22:35:08 1.13 +++ invoking.html 1997/11/12 16:29:44 1.14 @@ -44,7 +44,13 @@ use this mode to provide ordinary web service. dtcode-v/code -ddPrint the version of httpd, and then exit. +ddPrint the version of httpd and its build date, and then exit. + +dta name=versioncode-V/code/a +ddPrint the base version of httpd, its sub-version if defined, its +build date, and a list of compile time settings which influence the +behavior and performance of the apache server (e.g., SAMP-D USE_MMAP_FILES/SAMP), +then exit. dta name=helpcode-h/code/a ddGive a list of directives together with expected arguments and 1.32 +11 -1 apachen/htdocs/manual/new_features_1_3.html Index: new_features_1_3.html === RCS file: /home/cvs/apachen/htdocs/manual/new_features_1_3.html,v retrieving revision 1.31 retrieving revision 1.32 diff -u -u -r1.31 -r1.32 --- new_features_1_3.html 1997/11/11 23:46:50 1.31 +++ new_features_1_3.html 1997/11/12 16:29:44 1.32 @@ -94,6 +94,16 @@ easier for users to add their module. /LI LIA + HREF=install.html#install +STRONGDefault Apache directory path changed to SAMP/usr/local/apache//SAMP/STRONG/A + BR + The default directory for the apache ServerRoot changed from the NCSA-compatible + SAMP/usr/local/etc/httpd//SAMP to SAMP/usr/local/apache//SAMP. + This change covers only the default setting (and the documentation); it + is of course possible to override it using the A HREF=invoking.html + -d EMServerRoot/EM and -f EMhttpd.conf/EM/A switches when starting apache. +/LI +LIA HREF=mod/mod_autoindex.html STRONGSortable Directory Listings/STRONG/A BR @@ -446,7 +456,7 @@ A HREF=mod/mod_include.html SAMPmod_include/SAMP/A - has been modified todisplay the year using four digits rather than the + has been modified to display the year using four digits rather than the two-digit format used previously. The A HREF=mod/mod_autoindex.html 1.5 +7 -0 apachen/htdocs/manual/upgrading_to_1_3.html Index: upgrading_to_1_3.html === RCS file: /home/cvs/apachen/htdocs/manual/upgrading_to_1_3.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -u -r1.4 -r1.5 --- upgrading_to_1_3.html 1997/11/11 23:46:50 1.4 +++ upgrading_to_1_3.html 1997/11/12 16:29:45 1.5 @@ -63,6 +63,13 @@ h3Run-Time Configuration Changes/h3 ul + LISTRONGThe default Apache ServerRoot directory changed/STRONG +from the NCSA-compatible SAMP/usr/local/etc/httpd//SAMP to +SAMP/usr/local/apache//SAMP. This change covers only the default +setting (and the documentation); it is of course possible to override it +using the EM-d ServerRoot/EM and EM-f httpd.conf/EM switches +when starting apache. + liFolks using HTTP/1.1-style virtual hosting will need to list the ip:port pairs that are supposed to have HTTP/1.1-style virtual hosting via the a href=mod/core.html#namevirtualhostcode 1.2 +1 -1 apachen/htdocs/manual/mod/mod_speling.html Index: mod_speling.html === RCS file: /home/cvs/apachen/htdocs/manual/mod/mod_speling.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -u -r1.1 -r1.2 --- mod_speling.html 1997/09/11 18:50:30 1.1 +++ mod_speling.html 1997/11/12 16:29:46 1.2 @@ -16,7 +16,7 @@ P This module is contained in the codemod_speling.c/code file, and is strongnot/strong compiled in by default. - It attemps to correct mispellings of + It attemps to correct misspellings of URLs that users might have entered, by ignoring capitalization and by allowing up to one misspelling.br This catches the majority of misspelled requests. An automatic
cvs commit: apache-devsite index.html
rse 97/11/12 09:35:59 Modified:.index.html Log: Add URL to my document which describes developer access to the repository via CVSup. When its more complete we can checkin a copy of this to apache-devsite. For now, a hyperlink is good enough. Revision ChangesPath 1.11 +3 -0 apache-devsite/index.html Index: index.html === RCS file: /export/home/cvs/apache-devsite/index.html,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- index.html1997/10/20 21:09:21 1.10 +++ index.html1997/11/12 17:35:58 1.11 @@ -94,6 +94,9 @@ LIa href=anoncvs.txtInstructions/a on using anonymous CVS to access the development repository. /LI + LIa href=http://www.engelschall.com/pw/private/apacherepos/;Instructions/a + on developer access to the repository via CVSup. + /LI LIA Web-based view of the A HREF=http://www.apache.org/websrc/cvsweb.cgi;
cvs commit: apachen/htdocs/manual/vhosts ip-based.html
dgaudet 97/11/12 12:54:23 Modified:htdocs/manual/vhosts ip-based.html Log: addition Revision ChangesPath 1.2 +3 -1 apachen/htdocs/manual/vhosts/ip-based.html Index: ip-based.html === RCS file: /export/home/cvs/apachen/htdocs/manual/vhosts/ip-based.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ip-based.html 1997/11/11 23:47:21 1.1 +++ ip-based.html 1997/11/12 20:54:22 1.2 @@ -25,7 +25,9 @@ different IP address for each IP-based virtual host/strong. This can be achieved by the machine having several physical network connections, or by use of virtual interfaces which are supported by most modern -operating systems (see system documentation for details). +operating systems (see system documentation for details, these are +frequently called ip aliases, and the ifconfig command +is most commonly used to set them up). h2How to set up Apache/h2 There are two ways of configuring apache to support multiple hosts.
cvs commit: apachen/htdocs/manual/vhosts ip-based.html name-based.html
dgaudet 97/11/12 13:11:59 Modified:htdocs/manual/vhosts ip-based.html name-based.html Log: Language tweaks. Expand on the common reason why you would want to run multiple daemons. Revision ChangesPath 1.3 +19 -10apachen/htdocs/manual/vhosts/ip-based.html Index: ip-based.html === RCS file: /export/home/cvs/apachen/htdocs/manual/vhosts/ip-based.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ip-based.html 1997/11/12 20:54:22 1.2 +++ ip-based.html 1997/11/12 21:11:58 1.3 @@ -36,13 +36,22 @@ p Use multiple daemons when: ul -liThe different virtual hosts need very different httpd configurations, such - as different values for: A HREF=../mod/core.html#servertypeServerType/A, - A HREF=../mod/core.html#userUser/A, - A HREF=../mod/core.html#groupGroup/A, - A HREF=../mod/mod_mime.html#typesconfigTypesConfig/A or - A HREF=../mod/core.html#serverrootServerRoot/A. -liThe machine does not process a very high request rate. +liThere are security partitioning issues, such as company1 does not want +anyone at company2 to be able to read their data except via the web. +In this case you would need two daemons, each running with different +A HREF=../mod/core.html#userUser/A, +A HREF=../mod/core.html#groupGroup/A, +A HREF=../mod/core.html#listenListen/A, and +A HREF=../mod/core.html#serverrootServerRoot/A settings. +liYou can afford the memory and +a href=../misc/descriptors.htmlfile descriptor requirements/a of +listening to every IP alias on the machine. It's only possible to +A HREF=../mod/core.html#listenListen/A +to the wildcard address, or to specific addresses. So if you have +a need to listen to a specific address for whatever reason, then you +will need to listen to all specific addresses. (Although one httpd +could listen to N-1 of the addresses, and another could listen to +the remaining address.) /ul Use a single daemon when: ul @@ -61,7 +70,7 @@ Listen www.smallco.com:80 /pre It is recommended that you use an IP address instead of a hostname -(see A HREF=../dns-caveats.htmlDNS page/A). +(see A HREF=../dns-caveats.htmlDNS caveats/A). h2Setting up a single daemon with virtual hosts/h2 For this case, a single httpd will service requests for the main server @@ -95,7 +104,7 @@ /pre It is recommended that you use an IP address instead of a hostname -(see A HREF=../dns-caveats.htmlDNS page/A). +(see A HREF=../dns-caveats.htmlDNS caveats/A). P @@ -114,7 +123,7 @@ A HREF=../mod/core.html#namevirtualhostNameVirtualHost/A. P A HREF=../mod/core.html#userUser/A and -A HREF=../mod/core.html#groupGroup/A maybe used inside a VirtualHost +A HREF=../mod/core.html#groupGroup/A may be used inside a VirtualHost directive if the A HREF=../suexec.htmlsuEXEC wrapper/A is used. P 1.2 +2 -2 apachen/htdocs/manual/vhosts/name-based.html Index: name-based.html === RCS file: /export/home/cvs/apachen/htdocs/manual/vhosts/name-based.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- name-based.html 1997/11/11 23:47:21 1.1 +++ name-based.html 1997/11/12 21:11:59 1.2 @@ -21,7 +21,7 @@ h2Name-based vs. IP-based virtual hosts/h2 -pWhile the approach with IP-based virtual hosts works still very well, +pWhile the approach with IP-based virtual hosts works very well, it is not the most elegant solution, because a dedicated IP address is needed for every virtual host and it is hard to implement on some machines. The codeHTTP/1.1/code protocol contains a method for the @@ -55,7 +55,7 @@ pThe notable difference between IP-based and name-based virtual host configuration is the A HREF=../mod/core.html#namevirtualhostcodeNameVirtualHost/code/A -directive which specifies any IP address that should be used as a target for +directive which specifies an IP address that should be used as a target for name-based virtual hosts. pOf course, any additional directives can (and should) be placed
cvs commit: apachen/src/modules/standard mod_autoindex.c
coar97/11/12 13:37:46 Modified:src CHANGES src/modules/standard mod_autoindex.c Log: Fix mod_autoindex so it displays the ReadmeName file under all circumstances, as it already handled the HeaderName file that way. PR: 1373 Reviewed by: Dean Gaudet, Martin Kraemer Revision ChangesPath 1.506 +6 -0 apachen/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.505 retrieving revision 1.506 diff -u -r1.505 -r1.506 --- CHANGES 1997/11/12 20:42:06 1.505 +++ CHANGES 1997/11/12 21:37:43 1.506 @@ -1,5 +1,11 @@ Changes with Apache 1.3b3 + *) mod_autoindex wasn't displaying the ReadmeName file at the bottom + unless it was also doing FancyIndexes, but it displayed the + HeaderName file at the top under all circumstances. It now shows + the ReadmeName file for simple indices, too, as it should. PR#1373 + [Ken Coar] + *) http_core was mmap()ing even in cases where it wasn't going to read the file. [Ben Hyde [EMAIL PROTECTED]] 1.56 +4 -6 apachen/src/modules/standard/mod_autoindex.c Index: mod_autoindex.c === RCS file: /export/home/cvs/apachen/src/modules/standard/mod_autoindex.c,v retrieving revision 1.55 retrieving revision 1.56 diff -u -r1.55 -r1.56 --- mod_autoindex.c 1997/11/09 20:40:33 1.55 +++ mod_autoindex.c 1997/11/12 21:37:45 1.56 @@ -1100,12 +1100,10 @@ direction); pclosedir(r-pool, d); -if (autoindex_opts FANCY_INDEXING) { - if ((tmp = find_readme(autoindex_conf, r))) - insert_readme(name, tmp, , HRULE, END_MATTER, r); - else { - rputs(/UL, r); - } +if ((tmp = find_readme(autoindex_conf, r))) { + insert_readme(name, tmp, , + ((autoindex_opts FANCY_INDEXING) ? HRULE : NO_HRULE), + END_MATTER, r); } rputs(/BODY/HTML\n, r);
cvs commit: apachen/src/main alloc.c alloc.h http_main.c
dgaudet 97/11/12 15:22:09 Modified:src CHANGES src/main alloc.c alloc.h http_main.c Log: Create the pchild pool which is created before child_init and destroyed after child_exit. This fixes a bug with reliable piped logs. Reviewed by: Jim Jagielski, Roy Fielding Revision ChangesPath 1.507 +8 -0 apachen/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.506 retrieving revision 1.507 diff -u -r1.506 -r1.507 --- CHANGES 1997/11/12 21:37:43 1.506 +++ CHANGES 1997/11/12 23:22:03 1.507 @@ -1,5 +1,13 @@ Changes with Apache 1.3b3 + *) It was necessary to distinguish between resources which are + allocated in the parent, for cleanup in the parent, and resources + which are allocated in each child, for cleanup in each child. + A new pool was created which is passed to the module child_init + and child_exit functions; modules are free to register per-child + cleanups there. This fixes a bug with reliable piped logs. + [Dean Gaudet] + *) mod_autoindex wasn't displaying the ReadmeName file at the bottom unless it was also doing FancyIndexes, but it displayed the HeaderName file at the top under all circumstances. It now shows 1.58 +5 -0 apachen/src/main/alloc.c Index: alloc.c === RCS file: /export/home/cvs/apachen/src/main/alloc.c,v retrieving revision 1.57 retrieving revision 1.58 diff -u -r1.57 -r1.58 --- alloc.c 1997/11/06 21:54:07 1.57 +++ alloc.c 1997/11/12 23:22:05 1.58 @@ -936,6 +936,11 @@ #endif /* ndef WIN32 */ } +API_EXPORT(void) null_cleanup(void *data) +{ +/* do nothing cleanup routine */ +} + /* * * Files and file descriptors; these are just an application of the 1.37 +4 -0 apachen/src/main/alloc.h Index: alloc.h === RCS file: /export/home/cvs/apachen/src/main/alloc.h,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- alloc.h 1997/10/26 21:14:16 1.36 +++ alloc.h 1997/11/12 23:22:06 1.37 @@ -194,6 +194,10 @@ API_EXPORT(void) kill_cleanup(pool *p, void *data, void (*plain_cleanup) (void *)); API_EXPORT(void) run_cleanup(pool *p, void *data, void (*cleanup) (void *)); +/* A do-nothing cleanup, for register_cleanup; it's faster to do + * things this way than to test for NULL. */ +API_EXPORT(void) null_cleanup(void *data); + /* The time between when a resource is actually allocated, and when it * its cleanup is registered is a critical section, during which the * resource could leak if we got interrupted or timed out. So, anything 1.249 +55 -61apachen/src/main/http_main.c Index: http_main.c === RCS file: /export/home/cvs/apachen/src/main/http_main.c,v retrieving revision 1.248 retrieving revision 1.249 diff -u -r1.248 -r1.249 --- http_main.c 1997/11/11 22:50:13 1.248 +++ http_main.c 1997/11/12 23:22:07 1.249 @@ -240,8 +240,9 @@ static other_child_rec *other_children; #endif -pool *pconf; /* Pool for config stuff */ -pool *ptrans;/* Pool for per-transaction stuff */ +static pool *pconf; /* Pool for config stuff */ +static pool *ptrans; /* Pool for per-transaction stuff */ +static pool *pchild; /* Pool for httpd child stuff */ int APACHE_TLS my_pid; /* it seems silly to call getpid all the time */ #ifndef MULTITHREAD @@ -278,8 +279,6 @@ static ulock_t uslock = NULL; -#define accept_mutex_cleanup() - #define accept_mutex_child_init(x) static void accept_mutex_init(pool *p) @@ -351,7 +350,7 @@ static sigset_t accept_block_mask; static sigset_t accept_previous_mask; -static void accept_mutex_child_cleanup(void *data) +static void accept_mutex_child_cleanup(void *foo) { if (accept_mutex != (void *)(caddr_t)-1 have_accept_mutex) { @@ -359,7 +358,12 @@ } } -static void accept_mutex_cleanup(void) +static void accept_mutex_child_init(pool *p) +{ +register_cleanup(p, NULL, accept_mutex_child_cleanup, null_cleanup); +} + +static void accept_mutex_cleanup(void *foo) { if (accept_mutex != (void *)(caddr_t)-1 munmap((caddr_t) accept_mutex, sizeof(*accept_mutex))) { @@ -368,8 +372,6 @@ accept_mutex = (void *)(caddr_t)-1; } -#define accept_mutex_child_init(x) - static void accept_mutex_init(pool
cvs commit: apachen/src/main conf.h
dgaudet 97/11/12 15:26:14 Modified:src CHANGES src/main conf.h Log: Always define SUNOS_LIB_PROTOTYPES under SUNOS. Submitted by: Ben Hyde Reviewed by: Dean Gaudet, Martin Kraemer Revision ChangesPath 1.508 +4 -0 apachen/src/CHANGES Index: CHANGES === RCS file: /export/home/cvs/apachen/src/CHANGES,v retrieving revision 1.507 retrieving revision 1.508 diff -u -r1.507 -r1.508 --- CHANGES 1997/11/12 23:22:03 1.507 +++ CHANGES 1997/11/12 23:26:12 1.508 @@ -1,5 +1,9 @@ Changes with Apache 1.3b3 + *) PORT: SUNOS now always defines SUNOS_LIB_PROTOTYPES because a + recent change elsewhere left us without definitions for fgetc() + and fgets() breaking compilation. [Martin Kraemer, Ben Hyde] + *) It was necessary to distinguish between resources which are allocated in the parent, for cleanup in the parent, and resources which are allocated in each child, for cleanup in each child. 1.158 +5 -4 apachen/src/main/conf.h Index: conf.h === RCS file: /export/home/cvs/apachen/src/main/conf.h,v retrieving revision 1.157 retrieving revision 1.158 diff -u -r1.157 -r1.158 --- conf.h1997/11/11 23:04:15 1.157 +++ conf.h1997/11/12 23:26:14 1.158 @@ -117,6 +117,7 @@ #define USE_FLOCK_SERIALIZED_ACCEPT #define NEED_DIFFTIME #define HAVE_SYSLOG +#define SUNOS_LIB_PROTOTYPES #elif defined(SOLARIS2) #undef HAVE_GMTOFF @@ -923,8 +924,8 @@ int getopt(int, char **, char *); -int strcasecmp(char *, char *); -int strncasecmp(char *, char *, int); +int strcasecmp(const char *, const char *); +int strncasecmp(const char *, const char *, int); int toupper(int); int tolower(int); @@ -945,7 +946,7 @@ void perror(char *); time_t time(time_t *); -int strftime(char *, int, char *, struct tm *); +int strftime(char *, int, const char *, struct tm *); int initgroups(char *, int); int wait3(int *, int, void *); /* Close enough for us... */ @@ -969,7 +970,7 @@ void syslog(int, char *,...); char *mktemp(char *); -long vfprintf(FILE *, char *, va_list); +long vfprintf(FILE *, const char *, va_list); #endif /* SUNOS_LIB_PROTOTYPES */
cvs commit: apachen/htdocs/manual new_features_1_3.html
dgaudet 97/11/12 15:29:22 Modified:htdocs/manual new_features_1_3.html Log: document pchild change Revision ChangesPath 1.33 +6 -1 apachen/htdocs/manual/new_features_1_3.html Index: new_features_1_3.html === RCS file: /export/home/cvs/apachen/htdocs/manual/new_features_1_3.html,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- new_features_1_3.html 1997/11/12 16:29:44 1.32 +++ new_features_1_3.html 1997/11/12 23:29:18 1.33 @@ -376,7 +376,12 @@ listrongcodechild_exit/code function for module API/strongbr A new phase called once per heavy-weight process, when it is terminating. Note that it can't be called in some fatal cases (such -as segfaults and kill -9). +as segfaults and kill -9). The codechild_init/code and +codechild_exit/code functions are passed a pool whose lifetime is +the same as the lifetime of the child (modulo completely fatal +events in which apache has no hope of recovering). In contrast, +the module codeinit/code function is passed a pool whose lifetime +ends when the parent exits or restarts. listrongcodechild_terminate/code/strongbr Used in the child to indicate the child should exit after finishing