marc 97/04/30 22:27:20
Modified: htdocs index.html
htdocs/manual bind.html cgi_path.html
content-negotiation.html dns-caveats.html env.html
host.html install.html install_1_1.html
man-template.html process-model.html suexec.html
vhosts-in-depth.html virtual-host.html
htdocs/manual/misc API.html client_block_api.html
compat_notes.html fin_wait_2.html index.html
known_bugs.html perf-dec.html perf.html
vif-info.html
htdocs/manual/mod core.html mod_access.html mod_auth.html
mod_auth_db.html mod_auth_dbm.html
mod_auth_msql.html mod_browser.html
mod_cern_meta.html mod_cgi.html mod_cookies.html
mod_digest.html mod_dld.html mod_env.html
mod_example.html mod_expires.html mod_headers.html
mod_imap.html mod_include.html mod_log_agent.html
mod_log_common.html mod_log_config.html
mod_log_referer.html mod_mime.html
mod_negotiation.html mod_proxy.html
mod_rewrite.html mod_userdir.html
mod_usertrack.html
Log:
Big spelling and HTML cleanup of docs. Thanks go to weblint and ispell
and their authors.
Revision Changes Path
1.5 +1 -1 apache/htdocs/index.html
Index: index.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/index.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -C3 -r1.4 -r1.5
*** index.html 1996/12/02 16:59:44 1.4
--- index.html 1997/05/01 05:26:31 1.5
***************
*** 18,23 ****
server. Thanks for using Apache!
<P>
! <img src="apache_pb.gif">
</BODY></HTML>
--- 18,23 ----
server. Thanks for using Apache!
<P>
! <img src="apache_pb.gif" alt="">
</BODY></HTML>
1.6 +1 -2 apache/htdocs/manual/bind.html
Index: bind.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/bind.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -C3 -r1.5 -r1.6
*** bind.html 1997/03/20 23:30:44 1.5
--- bind.html 1997/05/01 05:26:32 1.6
***************
*** 75,81 ****
main server what addresses and ports to listen to. If no
<VirtualHost> directives are used, the server will behave the
same for all accepted requests. However, <VirtualHost> can be
! used to specify a different behavour for one or more of the addresses
and ports. To implement a VirtualHost, the server must first be told
to listen to the address and port to be used. Then a
<VirtualHost> section should be created for a specified address
--- 75,81 ----
main server what addresses and ports to listen to. If no
<VirtualHost> directives are used, the server will behave the
same for all accepted requests. However, <VirtualHost> can be
! used to specify a different behavior for one or more of the addresses
and ports. To implement a VirtualHost, the server must first be told
to listen to the address and port to be used. Then a
<VirtualHost> section should be created for a specified address
***************
*** 93,99 ****
<a href="dns-caveats.html">DNS Issues</a>
and
<a href="mod/core.html#virtualhost"><VirtualHost> section</a>.
- </ul>
<!--#include virtual="footer.html" -->
</BODY>
--- 93,98 ----
1.2 +6 -6 apache/htdocs/manual/cgi_path.html
Index: cgi_path.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/cgi_path.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -C3 -r1.1 -r1.2
*** cgi_path.html 1996/12/20 05:42:13 1.1
--- cgi_path.html 1997/05/01 05:26:33 1.2
***************
*** 11,17 ****
<p>As implemented in Apache 1.1.1 and earlier versions, the method
Apache used to create PATH_INFO in the CGI environment was
! counterintiutive, and could result in crashes in certain cases. In
Apache 1.2 and beyond, this behavior has changed. Although this
results in some compatibility problems with certain legacy CGI
applications, the Apache 1.2 behavior is still compatible with the
--- 11,17 ----
<p>As implemented in Apache 1.1.1 and earlier versions, the method
Apache used to create PATH_INFO in the CGI environment was
! counterintuitive, and could result in crashes in certain cases. In
Apache 1.2 and beyond, this behavior has changed. Although this
results in some compatibility problems with certain legacy CGI
applications, the Apache 1.2 behavior is still compatible with the
***************
*** 45,54 ****
example, PATH_INFO would be set to "<code>/script</code>", and
SCRIPT_NAME to "<code>/cgi-ralph</code>". This makes sense and results
in no server behavior problems. It also permits the script to be
! gauranteed that
"<code>http://$SERVER_NAME:$SERVER_PORT$SCRIPT_NAME$PATH_INFO</code>"
! will always be an accessable URL that points to the current script,
! something which was not neccessarily true with previous versions of
Apache.
<p>However, the "<code>/ralph</code>"
--- 45,54 ----
example, PATH_INFO would be set to "<code>/script</code>", and
SCRIPT_NAME to "<code>/cgi-ralph</code>". This makes sense and results
in no server behavior problems. It also permits the script to be
! guaranteed that
"<code>http://$SERVER_NAME:$SERVER_PORT$SCRIPT_NAME$PATH_INFO</code>"
! will always be an accessible URL that points to the current script,
! something which was not necessarily true with previous versions of
Apache.
<p>However, the "<code>/ralph</code>"
***************
*** 60,66 ****
<h2><a name="compat">Compatibility with Previous Servers</a></h2>
! <p>It may be neccessary for a script that was designed for earlier
versions of Apache or other servers to need the information that the
old PATH_INFO variable provided. For this purpose, Apache 1.2 (1.2b3
and later) sets an additional variable, FILEPATH_INFO. This
--- 60,66 ----
<h2><a name="compat">Compatibility with Previous Servers</a></h2>
! <p>It may be necessary for a script that was designed for earlier
versions of Apache or other servers to need the information that the
old PATH_INFO variable provided. For this purpose, Apache 1.2 (1.2b3
and later) sets an additional variable, FILEPATH_INFO. This
***************
*** 68,74 ****
with Apache 1.1.1.</p>
<p>A script that wishes to work with both Apache 1.2 and earlier
! versions can simply test for the existance of FILEPATH_INFO, and use
it if available. Otherwise, it can use PATH_INFO. For example, in
Perl, one might use:
<pre>
--- 68,74 ----
with Apache 1.1.1.</p>
<p>A script that wishes to work with both Apache 1.2 and earlier
! versions can simply test for the existence of FILEPATH_INFO, and use
it if available. Otherwise, it can use PATH_INFO. For example, in
Perl, one might use:
<pre>
1.8 +10 -10 apache/htdocs/manual/content-negotiation.html
Index: content-negotiation.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/content-negotiation.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -C3 -r1.7 -r1.8
*** content-negotiation.html 1997/01/28 20:05:29 1.7
--- content-negotiation.html 1997/05/01 05:26:33 1.8
***************
*** 46,52 ****
As an example of a more complex request, this browser has been
configured to accept French and English, but prefer French, and to
accept various media types, preferring HTML over plain text or other
! text types, and prefering GIF or jpeg over other media types, but also
allowing any other media type as a last resort:
<pre>
--- 46,52 ----
As an example of a more complex request, this browser has been
configured to accept French and English, but prefer French, and to
accept various media types, preferring HTML over plain text or other
! text types, and preferring GIF or JPEG over other media types, but also
allowing any other media type as a last resort:
<pre>
***************
*** 154,160 ****
<code>image/gif</code>, <code>text/plain</code>, or
<code>text/html; level=3</code>.
<dt> <code>Content-language:</code>
! <dd> The languages of the variant, specified as an internet standard
language code (e.g., <code>en</code> for English,
<code>kr</code> for Korean, etc.).
<dt> <code>Content-encoding:</code>
--- 154,160 ----
<code>image/gif</code>, <code>text/plain</code>, or
<code>text/html; level=3</code>.
<dt> <code>Content-language:</code>
! <dd> The languages of the variant, specified as an Internet standard
language code (e.g., <code>en</code> for English,
<code>kr</code> for Korean, etc.).
<dt> <code>Content-encoding:</code>
***************
*** 223,237 ****
applies a algorithm to decide on the 'best' variant to return, if
any. To do this it calculates a quality value for each variant in each
of the dimensions of variance. It is not necessary to know any of the
! details of how negotaion actually takes place in order to use Apache's
! content negotation features. However the rest of this document
explains in detail the algorithm used for those interested. <p>
In some circumstances, Apache can 'fiddle' the quality factor of a
! particular dimension to achive a better result. The ways Apache can
fiddle quality factors is explained in more detail below.
! <h3>Dimensions of Negotation</h3>
<table>
<tr><th>Dimension
--- 223,237 ----
applies a algorithm to decide on the 'best' variant to return, if
any. To do this it calculates a quality value for each variant in each
of the dimensions of variance. It is not necessary to know any of the
! details of how negotiation actually takes place in order to use Apache's
! content negotiation features. However the rest of this document
explains in detail the algorithm used for those interested. <p>
In some circumstances, Apache can 'fiddle' the quality factor of a
! particular dimension to achieve a better result. The ways Apache can
fiddle quality factors is explained in more detail below.
! <h3>Dimensions of Negotiation</h3>
<table>
<tr><th>Dimension
***************
*** 241,247 ****
can have an associated quality factor. Variant description can also
have a quality factor.
<tr><td>Language
! <td>Browser indicates preferneces on Accept-Language: header. Each
item
can have a quality factor. Variants can be associated with none, one
or more languages.
--- 241,247 ----
can have an associated quality factor. Variant description can also
have a quality factor.
<tr><td>Language
! <td>Browser indicates preferences on Accept-Language: header. Each
item
can have a quality factor. Variants can be associated with none, one
or more languages.
***************
*** 306,312 ****
<li>The algorithm has now selected one 'best' variant, so return
it as the response. The HTTP response header Vary is set to indicate the
! dimensions of negotation (browsers and caches can use this
information when caching the resource). End.
<li>To get here means no variant was selected (because non are acceptable
--- 306,312 ----
<li>The algorithm has now selected one 'best' variant, so return
it as the response. The HTTP response header Vary is set to indicate the
! dimensions of negotiation (browsers and caches can use this
information when caching the resource). End.
<li>To get here means no variant was selected (because non are acceptable
***************
*** 364,370 ****
If the Accept: header contains <i>no</i> q factors at all, Apache sets
the q value of "*/*", if present, to 0.01 to emulate the desired
! behaviour. It also sets the q value of wildcards of the format
"type/*" to 0.02 (so these are preferred over matches against
"*/*". If any media type on the Accept: header contains a q factor,
these special values are <i>not</i> applied, so requests from browsers
--- 364,370 ----
If the Accept: header contains <i>no</i> q factors at all, Apache sets
the q value of "*/*", if present, to 0.01 to emulate the desired
! behavior. It also sets the q value of wildcards of the format
"type/*" to 0.02 (so these are preferred over matches against
"*/*". If any media type on the Accept: header contains a q factor,
these special values are <i>not</i> applied, so requests from browsers
***************
*** 405,411 ****
hits could return the wrong response. To prevent this,
Apache normally marks all responses that are returned after content
negotiation
as non-cacheable by HTTP/1.0 clients. Apache also supports the HTTP/1.1
! protocol features to allow cacheing of negotiated responses. <P>
For requests which come from a HTTP/1.0 compliant client (either a
browser or a cache), the directive <tt>CacheNegotiatedDocs</tt> can be
--- 405,411 ----
hits could return the wrong response. To prevent this,
Apache normally marks all responses that are returned after content
negotiation
as non-cacheable by HTTP/1.0 clients. Apache also supports the HTTP/1.1
! protocol features to allow caching of negotiated responses. <P>
For requests which come from a HTTP/1.0 compliant client (either a
browser or a cache), the directive <tt>CacheNegotiatedDocs</tt> can be
1.2 +10 -10 apache/htdocs/manual/dns-caveats.html
Index: dns-caveats.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/dns-caveats.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -C3 -r1.1 -r1.2
*** dns-caveats.html 1997/03/20 23:31:44 1.1
--- dns-caveats.html 1997/05/01 05:26:33 1.2
***************
*** 27,34 ****
<p>In order for Apache to function properly it absolutely needs
to have two pieces of information about each virtual host: the
<a href="mod/core.html#servername"><code>ServerName</code></a>
! and at least one ip address that the server
! responds to. This example does not include the ip address, so Apache
must use DNS to find the address of <code>www.abc.dom</code>. If for
some reason DNS is not available at the time your server is parsing its
config file, then this virtual host <b>will not be configured</b>. It
--- 27,34 ----
<p>In order for Apache to function properly it absolutely needs
to have two pieces of information about each virtual host: the
<a href="mod/core.html#servername"><code>ServerName</code></a>
! and at least one IP address that the server
! responds to. This example does not include the IP address, so Apache
must use DNS to find the address of <code>www.abc.dom</code>. If for
some reason DNS is not available at the time your server is parsing its
config file, then this virtual host <b>will not be configured</b>. It
***************
*** 49,55 ****
for this virtualhost. If that reverse lookup fails then it will partially
disable the virtualhost (prior to Apache version 1.2 the server would not
even boot). If the virtual host is name-based then it will effectively
! be totally disabled, but if it is ip-based then it will mostly work.
However if Apache should ever have to generate a full URL for the server
which includes the server name then it will fail to generate a valid URL.
--- 49,55 ----
for this virtualhost. If that reverse lookup fails then it will partially
disable the virtualhost (prior to Apache version 1.2 the server would not
even boot). If the virtual host is name-based then it will effectively
! be totally disabled, but if it is IP-based then it will mostly work.
However if Apache should ever have to generate a full URL for the server
which includes the server name then it will fail to generate a valid URL.
***************
*** 136,153 ****
<h3>The _default_ Address</h3>
<p>Any address that happens to go to your webserver which doesn't match
! the ip address of any of the webservers will be served from the "main" or
"default" server configurations. The "main" server configuration consists
of all those definitions appearing outside of any VirtualHost section.
You may want instead to define a <code><VirtualHost _default></code>
which returns 403 or 404 for all hits.
! <a name="tips"><h3>Tips to Avoid these problems</h3></a>
<ul>
! <li> use ip addresses in <code><VirtualHost></code>
! <li> use ip addresses in <code>Listen</code>
! <li> use ip addresses in <code>BindAddress</code>
<li> ensure all virtual hosts have an explicit <code>ServerName</code>
<li> create a <code><VirtualHost _default_></code> server that
has no pages to serve
--- 136,153 ----
<h3>The _default_ Address</h3>
<p>Any address that happens to go to your webserver which doesn't match
! the IP address of any of the webservers will be served from the "main" or
"default" server configurations. The "main" server configuration consists
of all those definitions appearing outside of any VirtualHost section.
You may want instead to define a <code><VirtualHost _default></code>
which returns 403 or 404 for all hits.
! <h3><a name="tips">Tips to Avoid these problems</a></h3>
<ul>
! <li> use IP addresses in <code><VirtualHost></code>
! <li> use IP addresses in <code>Listen</code>
! <li> use IP addresses in <code>BindAddress</code>
<li> ensure all virtual hosts have an explicit <code>ServerName</code>
<li> create a <code><VirtualHost _default_></code> server that
has no pages to serve
***************
*** 158,164 ****
<p>The situation regarding DNS is highly undesirable. For Apache
1.2 we've attempted to make the server at least continue booting
in the event of failed DNS, but it might not be the best we
! can do. In any event requiring the use of explicit ip addresses in
configuration files is highly undesirable in today's Internet where <a
href="http://www.ietf.org/html.charters/pier-charter.html">renumbering
</a> is a necessity.
--- 158,164 ----
<p>The situation regarding DNS is highly undesirable. For Apache
1.2 we've attempted to make the server at least continue booting
in the event of failed DNS, but it might not be the best we
! can do. In any event requiring the use of explicit IP addresses in
configuration files is highly undesirable in today's Internet where <a
href="http://www.ietf.org/html.charters/pier-charter.html">renumbering
</a> is a necessity.
***************
*** 179,185 ****
<p>As HTTP/1.1 is deployed and browsers and proxies start issuing the
<code>Host</code> header it will become possible to avoid the use of
! ip-based virtual hosts entirely. In this event a webserver has no
requirement
to do DNS lookups during configuration. But as of March 1997 these
features have not been deployed widely enough to be put into use on
critical webservers.
--- 179,185 ----
<p>As HTTP/1.1 is deployed and browsers and proxies start issuing the
<code>Host</code> header it will become possible to avoid the use of
! IP-based virtual hosts entirely. In this event a webserver has no
requirement
to do DNS lookups during configuration. But as of March 1997 these
features have not been deployed widely enough to be put into use on
critical webservers.
1.2 +10 -6 apache/htdocs/manual/env.html
Index: env.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/env.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -C3 -r1.1 -r1.2
*** env.html 1997/02/22 17:22:32 1.1
--- env.html 1997/05/01 05:26:34 1.2
***************
*** 7,19 ****
<BODY>
<!--#include virtual="header.html" -->
<h1>Special Purpose Environment Variables</h1>
! <P>Interoperability problems have led to the introduction of mechanisms to
modify
! the way Apache behaves when talking to particular clients. To make these
! mechanisms as flexible as possible, they are invoked by defining environment
! variables, typically with <A
HREF=mod/mod_browser.html#browsermatch>BrowserMatch</A>, though <A
HREF=mod/mod_env.html#setenv>SetEnv</A> and
! <A HREF=mod/mod_env.html#passenv>PassEnv</A> could also be used, for
example.</P>
<H2>nokeepalive</H2>
! This disables <A HREF=mod/core.html#keepalive>KeepAlive</A> when set.
Because
of problems with Netscape 2.x and KeepAlive, we recommend the following
directive be used:
<BLOCKQUOTE><CODE>
--- 7,23 ----
<BODY>
<!--#include virtual="header.html" -->
<h1>Special Purpose Environment Variables</h1>
! <P>Interoperability problems have led to the introduction of
! mechanisms to modify the way Apache behaves when talking to particular
! clients. To make these mechanisms as flexible as possible, they
! are invoked by defining environment variables, typically with
! <A HREF="mod/mod_browser.html#browsermatch">BrowserMatch</A>, though
! <A HREF="mod/mod_env.html#setenv">SetEnv</A> and
! <A HREF="mod/mod_env.html#passenv">PassEnv</A> could also be used, for
! example.</P>
!
<H2>nokeepalive</H2>
! This disables <A HREF="mod/core.html#keepalive">KeepAlive</A> when set.
Because
of problems with Netscape 2.x and KeepAlive, we recommend the following
directive be used:
<BLOCKQUOTE><CODE>
1.7 +1 -1 apache/htdocs/manual/host.html
Index: host.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/host.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -C3 -r1.6 -r1.7
*** host.html 1997/03/23 00:04:20 1.6
--- host.html 1997/05/01 05:26:34 1.7
***************
*** 26,32 ****
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) is available <a href="virtual-host.html">here</a>.
<p>While the approach described above works, with the available IP
address space growing smaller, and the number of domains increasing,
--- 26,32 ----
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.html">is available</a>.
<p>While the approach described above works, with the available IP
address space growing smaller, and the number of domains increasing,
1.7 +2 -2 apache/htdocs/manual/install.html
Index: install.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/install.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -C3 -r1.6 -r1.7
*** install.html 1997/04/12 21:49:30 1.6
--- install.html 1997/05/01 05:26:34 1.7
***************
*** 9,15 ****
<H1>Compiling and Installing Apache 1.2</H1>
! If you wish to download and install an earlier version of Apache please
read <A HREF="install_1_1.html">Compiling and Installing Apache 1.1</A>.</P>
UnixWare users will want to consult <A HREF="unixware.html">build notes</A>
--- 9,15 ----
<H1>Compiling and Installing Apache 1.2</H1>
! <P>If you wish to download and install an earlier version of Apache please
read <A HREF="install_1_1.html">Compiling and Installing Apache 1.1</A>.</P>
UnixWare users will want to consult <A HREF="unixware.html">build notes</A>
***************
*** 162,168 ****
If all goes well this will return to the command prompt almost
immediately. This indicates that the server is now up and running. If
! anything goes wrong during the initiallisation of the server you will
see an error message on the screen.
If the server started ok, you can now use your browser to
--- 162,168 ----
If all goes well this will return to the command prompt almost
immediately. This indicates that the server is now up and running. If
! anything goes wrong during the initialization of the server you will
see an error message on the screen.
If the server started ok, you can now use your browser to
1.4 +1 -1 apache/htdocs/manual/install_1_1.html
Index: install_1_1.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/install_1_1.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -C3 -r1.3 -r1.4
*** install_1_1.html 1997/04/12 21:49:30 1.3
--- install_1_1.html 1997/05/01 05:26:35 1.4
***************
*** 8,14 ****
<!--#include virtual="header.html" -->
<h1>Compiling and Installing Apache</h1>
<h2>Downloading Apache</h2>
! Information on the latest version of Apache can be found on the Apache
web server at http://www.apache.org/. This will list the current release,
any more recent beta-test release, together with details of mirror
web and anonymous ftp sites.</p>
--- 8,14 ----
<!--#include virtual="header.html" -->
<h1>Compiling and Installing Apache</h1>
<h2>Downloading Apache</h2>
! <p>Information on the latest version of Apache can be found on the Apache
web server at http://www.apache.org/. This will list the current release,
any more recent beta-test release, together with details of mirror
web and anonymous ftp sites.</p>
1.4 +1 -1 apache/htdocs/manual/man-template.html
Index: man-template.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/man-template.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -C3 -r1.3 -r1.4
*** man-template.html 1996/12/02 18:13:42 1.3
--- man-template.html 1997/05/01 05:26:35 1.4
***************
*** 33,39 ****
<hr>
! <A name="adirective"><h2>ADirective</h2></A>
<strong>Syntax:</strong> ADirective <em>some args</em><br>
<strong>Default:</strong> <code>ADirective default value</code><br>
<strong>Context:</strong> context-list<br>
--- 33,39 ----
<hr>
! <h2><A name="adirective">ADirective</A></h2>
<strong>Syntax:</strong> ADirective <em>some args</em><br>
<strong>Default:</strong> <code>ADirective default value</code><br>
<strong>Context:</strong> context-list<br>
1.6 +12 -4 apache/htdocs/manual/process-model.html
Index: process-model.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/process-model.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -C3 -r1.5 -r1.6
*** process-model.html 1996/12/02 18:13:44 1.5
--- process-model.html 1997/05/01 05:26:35 1.6
***************
*** 32,43 ****
<PRE>
MinSpareServers 5
MaxSpareServers 10
! StartServers 10
</PRE>
! There is a compile-time limit of 150 absolute maximum number of
! simultaneous children that will be allowed, which can be overruled by
! "MaxClients", though we don't recommend changing that number unless
<OL>
<LI>You know you have the server resources to handle more
--- 32,51 ----
<PRE>
MinSpareServers 5
MaxSpareServers 10
! StartServers 5
</PRE>
! There is an absolute maximum number of simultaneous children defined
! by a compile-time limit which defaults to 256 and a "MaxClients"
! directive which specifies the number of simultaneous children that
! will be allowed. MaxClients can be adjusted up to the compile-time
! limit (HARD_SERVER_LIMIT, defined in httpd.h). If you need more
! than 256 simultaneous children, you need to modify both HARD_SERVER_LIMIT
! and MaxClients.<P>
!
! In versions before 1.2, HARD_SERVER_LIMIT defaulted to 150.<P>
!
! We do not recommend changing either of these values unless:
<OL>
<LI>You know you have the server resources to handle more
1.7 +2 -5 apache/htdocs/manual/suexec.html
Index: suexec.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/suexec.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -C3 -r1.6 -r1.7
*** suexec.html 1996/12/27 22:15:46 1.6
--- suexec.html 1997/05/01 05:26:35 1.7
***************
*** 24,30 ****
the intent that it will only be installed by users determined to use it and
is not part of the normal install/compile process.<p>
- <ul>
<h3>Configuring the suEXEC wrapper</h3>
From the top-level of the Apache source tree, type: <b><code>cd
support [ENTER]</code></b><p>
Edit the <code>suexec.h</code> file and change the following macros to
match your
--- 24,29 ----
***************
*** 93,104 ****
<b><code>chmod 4711 /usr/local/etc/httpd/sbin/suexec [ENTER]</code></b><p>
<i>Change the path to the suEXEC wrapper to match your system
installation.</i>
- </ul>
<hr>
! <a name="model"></a>
! <h3>Security Model of suEXEC</h3>
The <b>suEXEC</b> wrapper supplied with Apache performs the following
security
checks before it will execute any program passed to it for execution.
<ol>
--- 92,101 ----
<b><code>chmod 4711 /usr/local/etc/httpd/sbin/suexec [ENTER]</code></b><p>
<i>Change the path to the suEXEC wrapper to match your system
installation.</i>
<hr>
! <h3><a name="model">Security Model of suEXEC</a></h3>
The <b>suEXEC</b> wrapper supplied with Apache performs the following
security
checks before it will execute any program passed to it for execution.
<ol>
***************
*** 113,119 ****
<li>The command being executed <b>cannot be a <em>setuid</em> or
<em>setgid</em> program</b>.
<li>The target UID and GID <b>must be a valid user and group on this
system</b>.
<li>The target UID and GID to execute as, <b>must match the UID and GID of
the directory</b>.
! <li>The target execution UID and GID <b>must not be the privledged ID 0</b>.
</ol>
If any of these issues are too restrictive, or do not seem restrictive
enough, you are
welcome to install your own version of the wrapper. We've given you the
rope, now go
--- 110,116 ----
<li>The command being executed <b>cannot be a <em>setuid</em> or
<em>setgid</em> program</b>.
<li>The target UID and GID <b>must be a valid user and group on this
system</b>.
<li>The target UID and GID to execute as, <b>must match the UID and GID of
the directory</b>.
! <li>The target execution UID and GID <b>must not be the privileged ID 0</b>.
</ol>
If any of these issues are too restrictive, or do not seem restrictive
enough, you are
welcome to install your own version of the wrapper. We've given you the
rope, now go
1.6 +13 -17 apache/htdocs/manual/vhosts-in-depth.html
Index: vhosts-in-depth.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/vhosts-in-depth.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -C3 -r1.5 -r1.6
*** vhosts-in-depth.html 1997/04/28 20:11:25 1.5
--- vhosts-in-depth.html 1997/05/01 05:26:36 1.6
***************
*** 146,152 ****
Essentially, the main_server is treated as "defaults" or a
"base" on
which to build each vhost. But the positioning of these main_server
! definitions in the config file is largely irrelevent -- the entire
config of the main_server has been parsed when this final merging occurs.
So even if a main_server definition appears after a vhost definition
it might affect the vhost definition.
--- 146,152 ----
Essentially, the main_server is treated as "defaults" or a
"base" on
which to build each vhost. But the positioning of these main_server
! definitions in the config file is largely irrelevant -- the entire
config of the main_server has been parsed when this final merging occurs.
So even if a main_server definition appears after a vhost definition
it might affect the vhost definition.
***************
*** 187,195 ****
is an IP-based vhost, the IP address matches and the port matches
(taking into account wildcards).
! <p> If no vhosts are matched then the last occurance, if it appears,
of a <SAMP>_default_</SAMP> address (which if you recall the ordering of the
! server list mentioned above means that this would be the first occurance
of <SAMP>_default_</SAMP> in the config file) is matched.
<p> In any event, if nothing above has matched, then the main_server is
--- 187,195 ----
is an IP-based vhost, the IP address matches and the port matches
(taking into account wildcards).
! <p> If no vhosts are matched then the last occurrence, if it appears,
of a <SAMP>_default_</SAMP> address (which if you recall the ordering of the
! server list mentioned above means that this would be the first occurrence
of <SAMP>_default_</SAMP> in the config file) is matched.
<p> In any event, if nothing above has matched, then the main_server is
***************
*** 264,271 ****
<li>It is difficult to define an IP-based vhost for the machine's
"main IP address". You essentially have to create a bogus
<code>ServerName</code> for the main_server that does not match the
! machine's ips.
! </p>
<li>During the scans in both <code>check_hostalias</code> and
<code>check_serverpath</code> no check is made that the vhost being
--- 264,270 ----
<li>It is difficult to define an IP-based vhost for the machine's
"main IP address". You essentially have to create a bogus
<code>ServerName</code> for the main_server that does not match the
! machine's IPs.
<li>During the scans in both <code>check_hostalias</code> and
<code>check_serverpath</code> no check is made that the vhost being
***************
*** 292,300 ****
<p>If you do have a <SAMP>_default_</SAMP> vhost, then you cannot place
named-based vhosts after it in the config. This is because on any
! connection to the main server ips the connection vhost will always be
! the <SAMP>_default_</SAMP> vhost since none of the name-based are
considered
! during <code>find_virtual_server</code>.
</p>
<li>You should never specify DNS names in <code>VirtualHost</code>
--- 291,299 ----
<p>If you do have a <SAMP>_default_</SAMP> vhost, then you cannot place
named-based vhosts after it in the config. This is because on any
! connection to the main server IPs the connection vhost will always be
! the <SAMP>_default_</SAMP> vhost since none of the name-based are
! considered during <code>find_virtual_server</code>.
</p>
<li>You should never specify DNS names in <code>VirtualHost</code>
***************
*** 304,325 ****
<a href="dns-caveats.html">
There's more information
available on this and the next two topics</a>.
- </p>
<li><code>ServerName</code> should always be set for each vhost. Otherwise
A DNS lookup is required for each vhost.
- </p>
<li>A DNS lookup is always required for the main_server's
<code>ServerName</code> (or to generate that if it isn't specified
in the config).
- </p>
<li>If a <code>ServerPath</code> directive exists which is a prefix of
another <code>ServerPath</code> directive that appears later in
the configuration file, then the former will always be matched
and the latter will never be matched. (That is assuming that no
! Host header was available to disambiguate the two.)</p>
<li>If a vhost that would otherwise be a name-vhost includes a
<code>Port</code> statement that doesn't match the main_server
--- 303,321 ----
<a href="dns-caveats.html">
There's more information
available on this and the next two topics</a>.
<li><code>ServerName</code> should always be set for each vhost. Otherwise
A DNS lookup is required for each vhost.
<li>A DNS lookup is always required for the main_server's
<code>ServerName</code> (or to generate that if it isn't specified
in the config).
<li>If a <code>ServerPath</code> directive exists which is a prefix of
another <code>ServerPath</code> directive that appears later in
the configuration file, then the former will always be matched
and the latter will never be matched. (That is assuming that no
! Host header was available to disambiguate the two.)
<li>If a vhost that would otherwise be a name-vhost includes a
<code>Port</code> statement that doesn't match the main_server
***************
*** 329,349 ****
to the port of the main_server) as the connection vhost. Then
<code>check_hostalias</code> will refuse to check any other name-based
vhost because of the port mismatch. The result is that the vhost
! will steal all hits going to the main_server address.</p>
<li>If two IP-based vhosts have an address in common, the vhost appearing
later in the file is always matched. Such a thing might happen
! inadvertantly. If the config has name-based vhosts and for some reason
the main_server <code>ServerName</code> resolves to the wrong address
! then all the name-based vhosts will be parsed as IP-based vhosts.
! Then the last of them will steal all the hits.</p>
<li>The last name-based vhost in the config is always matched for any hit
which doesn't match one of the other name-based vhosts.
</ul>
! <a name="whatworks"><h3>What Works</h3></a>
<p>In addition to the tips on the <a href="dns-caveats.html#tips">DNS
Issues</a> page, here are some further tips:
--- 325,345 ----
to the port of the main_server) as the connection vhost. Then
<code>check_hostalias</code> will refuse to check any other name-based
vhost because of the port mismatch. The result is that the vhost
! will steal all hits going to the main_server address.
<li>If two IP-based vhosts have an address in common, the vhost appearing
later in the file is always matched. Such a thing might happen
! inadvertently. If the config has name-based vhosts and for some reason
the main_server <code>ServerName</code> resolves to the wrong address
! then all the name-based vhosts will be parsed as ip-based vhosts.
! Then the last of them will steal all the hits.</P>
<li>The last name-based vhost in the config is always matched for any hit
which doesn't match one of the other name-based vhosts.
</ul>
! <h3><a name="whatworks">What Works</a></h3>
<p>In addition to the tips on the <a href="dns-caveats.html#tips">DNS
Issues</a> page, here are some further tips:
1.10 +2 -1 apache/htdocs/manual/virtual-host.html
Index: virtual-host.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/virtual-host.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -C3 -r1.9 -r1.10
*** virtual-host.html 1997/01/10 08:23:46 1.9
--- virtual-host.html 1997/05/01 05:26:36 1.10
***************
*** 147,153 ****
may be used by a process; the limit is typically 64, and may usually be
increased up to a large hard-limit.
<p>
! Although Apache attempts to increase imit as required. this may not work if:
<ol>
<li>Your system does not provide the setrlimit() system call.
<li>The setrlimit(RLIMIT_NOFILE) call does not function on your system
--- 147,154 ----
may be used by a process; the limit is typically 64, and may usually be
increased up to a large hard-limit.
<p>
! Although Apache attempts to increase the limit as required, this
! may not work if:
<ol>
<li>Your system does not provide the setrlimit() system call.
<li>The setrlimit(RLIMIT_NOFILE) call does not function on your system
1.6 +1 -1 apache/htdocs/manual/misc/API.html
Index: API.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/misc/API.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -C3 -r1.5 -r1.6
*** API.html 1997/04/09 14:38:34 1.5
--- API.html 1997/05/01 05:26:42 1.6
***************
*** 120,126 ****
Let's begin with handlers. In order to handle the CGI scripts, the
module declares a response handler for them. Because of
<code>ScriptAlias</code>, it also has handlers for the name
! translation phase (to recognise <code>ScriptAlias</code>ed URIs), the
type-checking phase (any <code>ScriptAlias</code>ed request is typed
as a CGI script).<p>
--- 120,126 ----
Let's begin with handlers. In order to handle the CGI scripts, the
module declares a response handler for them. Because of
<code>ScriptAlias</code>, it also has handlers for the name
! translation phase (to recognize <code>ScriptAlias</code>ed URIs), the
type-checking phase (any <code>ScriptAlias</code>ed request is typed
as a CGI script).<p>
1.5 +3 -3 apache/htdocs/manual/misc/client_block_api.html
Index: client_block_api.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/misc/client_block_api.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -C3 -r1.4 -r1.5
*** client_block_api.html 1997/02/27 02:46:37 1.4
--- client_block_api.html 1997/05/01 05:26:42 1.5
***************
*** 18,24 ****
<p>However, HTTP/1.1 requires several things of POST and PUT request
handlers that did not fit into this module, and all existing modules
have to be rewritten. The API calls for handling this have been
! furthur abstracted, so that future HTTP protocol changes can be
accomplished while remaining backwards-compatible.</p>
<hr>
--- 18,24 ----
<p>However, HTTP/1.1 requires several things of POST and PUT request
handlers that did not fit into this module, and all existing modules
have to be rewritten. The API calls for handling this have been
! further abstracted, so that future HTTP protocol changes can be
accomplished while remaining backwards-compatible.</p>
<hr>
***************
*** 33,39 ****
<ol>
<li>Call <code>setup_client_block()</code> near the beginning of the request
! handler. This will set up all the neccessary properties, and
will return either OK, or an error code. If the latter,
the module should return that error code. The second parameter
selects the policy to apply if the request message indicates a
--- 33,39 ----
<ol>
<li>Call <code>setup_client_block()</code> near the beginning of the request
! handler. This will set up all the necessary properties, and
will return either OK, or an error code. If the latter,
the module should return that error code. The second parameter
selects the policy to apply if the request message indicates a
***************
*** 63,69 ****
<li>Finally, call <code>get_client_block</code> in a loop. Pass it a
buffer and its
! size. It will put data into the buffer (not neccessarily the full
buffer, in the case of chunked inputs), and return the length of
the input block. When it is done reading, it will
return 0 if EOF, or -1 if there was an error.
--- 63,69 ----
<li>Finally, call <code>get_client_block</code> in a loop. Pass it a
buffer and its
! size. It will put data into the buffer (not necessarily the full
buffer, in the case of chunked inputs), and return the length of
the input block. When it is done reading, it will
return 0 if EOF, or -1 if there was an error.
1.6 +2 -2 apache/htdocs/manual/misc/compat_notes.html
Index: compat_notes.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/misc/compat_notes.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -C3 -r1.5 -r1.6
*** compat_notes.html 1997/04/15 13:31:10 1.5
--- compat_notes.html 1997/05/01 05:26:42 1.6
***************
*** 55,61 ****
versions of NCSA httpd and Apache, you could use a filename
relative to the .htaccess file. This could be a major security hole,
as it made it trivially easy to make a ".htpass" file in the a
! directory easily accessable by the world. We recommend you store
your passwords outside your document tree.
<P>
--- 55,61 ----
versions of NCSA httpd and Apache, you could use a filename
relative to the .htaccess file. This could be a major security hole,
as it made it trivially easy to make a ".htpass" file in the a
! directory easily accessible by the world. We recommend you store
your passwords outside your document tree.
<P>
***************
*** 73,79 ****
<P>
! <LI><Limit> sillyness - in the old Apache 0.6.5, a
directive of <Limit GET> would also restrict POST methods - Apache
0.8.8's new
core is correct in not presuming a limit on a GET is the same limit on a
POST,
so if you are relying on that behavior you need to change your access
configurations
--- 73,79 ----
<P>
! <LI><Limit> silliness - in the old Apache 0.6.5, a
directive of <Limit GET> would also restrict POST methods - Apache
0.8.8's new
core is correct in not presuming a limit on a GET is the same limit on a
POST,
so if you are relying on that behavior you need to change your access
configurations
1.5 +3 -3 apache/htdocs/manual/misc/fin_wait_2.html
Index: fin_wait_2.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/misc/fin_wait_2.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -C3 -r1.4 -r1.5
*** fin_wait_2.html 1997/02/12 05:11:26 1.4
--- fin_wait_2.html 1997/05/01 05:26:43 1.5
***************
*** 11,17 ****
<H1>Connections in the FIN_WAIT_2 state and Apache</H1>
<OL>
! <H2><LI>What is the FIN_WAIT_2 state?</H2>
Starting with the Apache 1.2 betas, people are reporting many more
connections in the FIN_WAIT_2 state (as reported by
<code>netstat</code>) than they saw using older versions. When the
--- 11,17 ----
<H1>Connections in the FIN_WAIT_2 state and Apache</H1>
<OL>
! <LI><H2>What is the FIN_WAIT_2 state?</H2>
Starting with the Apache 1.2 betas, people are reporting many more
connections in the FIN_WAIT_2 state (as reported by
<code>netstat</code>) than they saw using older versions. When the
***************
*** 34,40 ****
the kernel. The connections in FIN_WAIT_2 do not tie up an httpd
process.<P>
! <H2><LI>But why does it happen?</H2>
There are several reasons for it happening, and not all of them are
fully understood by the Apache team yet. What is known follows.<P>
--- 34,40 ----
the kernel. The connections in FIN_WAIT_2 do not tie up an httpd
process.<P>
! <LI><H2>But why does it happen?</H2>
There are several reasons for it happening, and not all of them are
fully understood by the Apache team yet. What is known follows.<P>
***************
*** 263,269 ****
If you have any information to add to this page, please contact me at
<A HREF="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</A>.<P>
! <H2><A NAME="appendix"><LI>Appendix</H2>
<P>
Below is a message from Roy Fielding, one of the authors of HTTP/1.1.
--- 263,269 ----
If you have any information to add to this page, please contact me at
<A HREF="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</A>.<P>
! <H2><A NAME="appendix"><LI>Appendix</A></H2>
<P>
Below is a message from Roy Fielding, one of the authors of HTTP/1.1.
1.3 +2 -2 apache/htdocs/manual/misc/index.html
Index: index.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/misc/index.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C3 -r1.2 -r1.3
*** index.html 1997/04/23 19:34:28 1.2
--- index.html 1997/05/01 05:26:43 1.3
***************
*** 68,81 ****
HREF="perf-bsd44.html"
>Performance Notes (BSD 4.4)</A>
</DT>
! <DD>Some notes about ways to improve/optimise Apache performance on
BSD 4.4 systems
</DD>
<DT><A
HREF="perf-dec.html"
>Performance Notes (Digital UNIX)</A>
</DT>
! <DD>Extracts of USENET postings describing how to optimise Apache
performance on Digital UNIX systems
</DD>
<DT><A
--- 68,81 ----
HREF="perf-bsd44.html"
>Performance Notes (BSD 4.4)</A>
</DT>
! <DD>Some notes about ways to improve/optimize Apache performance on
BSD 4.4 systems
</DD>
<DT><A
HREF="perf-dec.html"
>Performance Notes (Digital UNIX)</A>
</DT>
! <DD>Extracts of USENET postings describing how to optimize Apache
performance on Digital UNIX systems
</DD>
<DT><A
1.12 +6 -6 apache/htdocs/manual/misc/known_bugs.html
Index: known_bugs.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/misc/known_bugs.html,v
retrieving revision 1.11
retrieving revision 1.12
diff -C3 -r1.11 -r1.12
*** known_bugs.html 1997/04/24 11:06:18 1.11
--- known_bugs.html 1997/05/01 05:26:43 1.12
***************
*** 21,27 ****
<H2>Version 1.2 (all)</H2>
<OL>
! <LI>On some architectectures if your configuration uses multiple
<a href="../mod/core#listen">Listen</a> directives then it is possible
that the server will starve one of the sockets while serving hits on
another. The work-around is to add
--- 21,27 ----
<H2>Version 1.2 (all)</H2>
<OL>
! <LI>On some architectures if your configuration uses multiple
<a href="../mod/core#listen">Listen</a> directives then it is possible
that the server will starve one of the sockets while serving hits on
another. The work-around is to add
***************
*** 76,82 ****
"1.1.1.1.in-addr.arpa IN PTR 2.2.2." if the user has a config line
"allow from 2.2.2" it will allow 1.1.1.1 in (unless -DMAXIMUM_DNS).
-- which is bad because it breaks people who understand double reverse
! lookup and are trying to avoid it by using only ip addresses on
allow/deny statements. - reported by Dean Gaudet, fixed in 1.2.
</OL>
--- 76,82 ----
"1.1.1.1.in-addr.arpa IN PTR 2.2.2." if the user has a config line
"allow from 2.2.2" it will allow 1.1.1.1 in (unless -DMAXIMUM_DNS).
-- which is bad because it breaks people who understand double reverse
! lookup and are trying to avoid it by using only IP addresses on
allow/deny statements. - reported by Dean Gaudet, fixed in 1.2.
</OL>
***************
*** 151,157 ****
<H2>Version 0.8.10 (beta)</H2>
<OL>
! <LI>Server side includes which include CGI output can have unbareable
delays on some platforms. We're looking into a fix.
<P>
--- 151,157 ----
<H2>Version 0.8.10 (beta)</H2>
<OL>
! <LI>Server side includes which include CGI output can have unbearable
delays on some platforms. We're looking into a fix.
<P>
***************
*** 179,185 ****
<P>
! <LI>ErrorDocument is a little shakey, <CODE>" Some text %s</CODE> doesn't
agree with the documentation.
<P>
--- 179,185 ----
<P>
! <LI>ErrorDocument is a little shaky, <CODE>" Some text %s</CODE> doesn't
agree with the documentation.
<P>
***************
*** 209,215 ****
created in <B>/tmp</B>. We now find this to be a bad idea, and have plans
to move it into the <CODE>/logs</CODE> directory along with other
files created by Apache.
! <P>If you have any <B>/tmp</B> cleaning scritps (e.g. from crontab), you
should have them ignore the scoreboard file, which is named
<B>/tmp/htstatus.XXXXXXX</B>. If the scoreboard file is damaged, Apache
can become very confused (a SIGHUP repairs the damage). Furthermore, not
--- 209,215 ----
created in <B>/tmp</B>. We now find this to be a bad idea, and have plans
to move it into the <CODE>/logs</CODE> directory along with other
files created by Apache.
! <P>If you have any <B>/tmp</B> cleaning scripts (e.g. from crontab), you
should have them ignore the scoreboard file, which is named
<B>/tmp/htstatus.XXXXXXX</B>. If the scoreboard file is damaged, Apache
can become very confused (a SIGHUP repairs the damage). Furthermore, not
***************
*** 251,257 ****
<P>
! <LI>ErrorDocument is a little shakey, <CODE>" Some text %s</CODE> doesn't
agree with the documentation.
<P>
--- 251,257 ----
<P>
! <LI>ErrorDocument is a little shaky, <CODE>" Some text %s</CODE> doesn't
agree with the documentation.
<P>
1.3 +3 -3 apache/htdocs/manual/misc/perf-dec.html
Index: perf-dec.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/misc/perf-dec.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C3 -r1.2 -r1.3
*** perf-dec.html 1996/11/21 09:55:50 1.2
--- perf-dec.html 1997/05/01 05:26:44 1.3
***************
*** 1,3 ****
--- 1,4 ----
+ <HTML>
<HEAD>
<TITLE>Performance Tuning Tips for Digital Unix</TITLE>
</HEAD>
***************
*** 12,18 ****
<HR>
<H2>Update</H2>
! From: Jeffrey Mogul <[EMAIL PROTECTED]><BR>
Date: Fri, 28 Jun 96 16:07:56 MDT<BR>
<OL>
--- 13,19 ----
<HR>
<H2>Update</H2>
! From: Jeffrey Mogul <[EMAIL PROTECTED]><BR>
Date: Fri, 28 Jun 96 16:07:56 MDT<BR>
<OL>
***************
*** 32,39 ****
won't work on these releases, but such use is not officially
supported by Digital. This patch kit will not be needed for
V3.2G when it is released.
! </UL>
!
<HR>
--- 33,39 ----
won't work on these releases, but such use is not officially
supported by Digital. This patch kit will not be needed for
V3.2G when it is released.
! </OL>
<HR>
1.6 +24 -23 apache/htdocs/manual/misc/perf.html
Index: perf.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/misc/perf.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -C3 -r1.5 -r1.6
*** perf.html 1997/04/14 17:05:22 1.5
--- perf.html 1997/05/01 05:26:44 1.6
***************
*** 28,36 ****
<HR>
! <A NAME="AUX">
! <H3>A/UX (Apple's UNIX)</H3>
! </A>
If you are running Apache on A/UX, a page that gives some helpful
performance hints (concerning the <I>listen()</I> queue and using
--- 28,36 ----
<HR>
! <H3><A NAME="AUX">
! A/UX (Apple's UNIX)
! </A></H3>
If you are running Apache on A/UX, a page that gives some helpful
performance hints (concerning the <I>listen()</I> queue and using
***************
*** 39,47 ****
<P><HR>
! <A NAME="BSD">
! <H3>BSD-based (BSDI, FreeBSD, etc)</H3>
! </A>
<A HREF="perf-bsd44.html#initial">Quick</A> and
<A HREF="perf-bsd44.html#detail">detailed</A>
--- 39,47 ----
<P><HR>
! <H3><A NAME="BSD">
! BSD-based (BSDI, FreeBSD, etc)
! </A></H3>
<A HREF="perf-bsd44.html#initial">Quick</A> and
<A HREF="perf-bsd44.html#detail">detailed</A>
***************
*** 49,75 ****
<P><HR>
! <A NAME="DEC">
! <H3>Digital UNIX</H3>
! </A>
We have some <A HREF="perf-dec.html">newsgroup postings</A> on how to
tune Digital UNIX 3.2 and 4.0.
<P><HR>
! <A NAME="HP">
! <H3>Hewlett-Packard</H3>
! </A>
Some documentation on tuning HP machines can be found at <A
HREF="http://www.software.hp.com/internet/perf/tuning.html">http://www.software.hp.com/internet/perf/tuning.html</A>.
<P><HR>
! <A NAME="Linux">
! <H3>Linux</H3>
! </A>
The most common problem on Linux shows up on heavily-loaded systems
where the whole server will appear to freeze for a couple of minutes
--- 49,75 ----
<P><HR>
! <H3><A NAME="DEC">
! Digital UNIX
! </A></H3>
We have some <A HREF="perf-dec.html">newsgroup postings</A> on how to
tune Digital UNIX 3.2 and 4.0.
<P><HR>
! <H3><A NAME="HP">
! Hewlett-Packard
! </A></H3>
Some documentation on tuning HP machines can be found at <A
HREF="http://www.software.hp.com/internet/perf/tuning.html">http://www.software.hp.com/internet/perf/tuning.html</A>.
<P><HR>
! <H3><A NAME="Linux">
! Linux
! </A></H3>
The most common problem on Linux shows up on heavily-loaded systems
where the whole server will appear to freeze for a couple of minutes
***************
*** 82,89 ****
<P><HR>
! <A NAME="SGI">
! <H3>SGI</H3>
<UL>
<LI><A
HREF="http://www.sgi.com/Products/WebFORCE/Resources/res_TuningGuide.html">
--- 82,90 ----
<P><HR>
! <H3><A NAME="SGI">
! SGI
! </A></H3>
<UL>
<LI><A
HREF="http://www.sgi.com/Products/WebFORCE/Resources/res_TuningGuide.html">
***************
*** 93,101 ****
<P><HR>
! <A NAME="Solaris">
! <H3>Solaris 2.4</H3>
! </A>
The Solaris 2.4 TCP implementation has a few inherent limitations that
only became apparent under heavy loads. This has been fixed to some
--- 94,102 ----
<P><HR>
! <H3><A NAME="Solaris">
! Solaris 2.4
! </A></H3>
The Solaris 2.4 TCP implementation has a few inherent limitations that
only became apparent under heavy loads. This has been fixed to some
***************
*** 114,122 ****
<P><HR>
! <A NAME="SunOS">
! <H3>SunOS 4.x</H3>
! </A>
More information on tuning SOMAXCONN on SunOS can be found at
<A HREF="http://www.islandnet.com/~mark/somaxconn.html">
--- 115,123 ----
<P><HR>
! <H3><A NAME="SunOS">
! SunOS 4.x
! </A></H3>
More information on tuning SOMAXCONN on SunOS can be found at
<A HREF="http://www.islandnet.com/~mark/somaxconn.html">
1.5 +2 -2 apache/htdocs/manual/misc/vif-info.html
Index: vif-info.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/misc/vif-info.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -C3 -r1.4 -r1.5
*** vif-info.html 1997/03/21 04:21:17 1.4
--- vif-info.html 1997/05/01 05:26:45 1.5
***************
*** 65,71 ****
with your machine's ethernet address.
Now, make sure your default route is to your segment's gateway,
! throught the real interface. FInally, make sure your routers and/or
hosts on the same segment as yours know that 198.4.3.2 and 198.5.4.3
are on that cable.
--- 65,71 ----
with your machine's ethernet address.
Now, make sure your default route is to your segment's gateway,
! through the real interface. Finally, make sure your routers and/or
hosts on the same segment as yours know that 198.4.3.2 and 198.5.4.3
are on that cable.
***************
*** 125,131 ****
Finally, here's the code. It has the tunneling pieces removed (you
need more code to use that anyway), and it comes from a Mach 2.6
! kernel; it should compile on any berkeley-derived unix with minor
changes (most likely only in the includes).
---------------------netinet/if_vif.h--------------------------------------
--- 125,131 ----
Finally, here's the code. It has the tunneling pieces removed (you
need more code to use that anyway), and it comes from a Mach 2.6
! kernel; it should compile on any Berkeley-derived unix with minor
changes (most likely only in the includes).
---------------------netinet/if_vif.h--------------------------------------
1.54 +6 -6 apache/htdocs/manual/mod/core.html
Index: core.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/core.html,v
retrieving revision 1.53
retrieving revision 1.54
diff -C3 -r1.53 -r1.54
*** core.html 1997/04/27 07:52:14 1.53
--- core.html 1997/05/01 05:26:49 1.54
***************
*** 223,229 ****
<menu>
<li>*
<li>An IP address
! <li>A fully-qualified internet domain name
</menu>
If the value is *, then the server will listen for connections on
every IP address, otherwise it will only listen on the IP address
--- 223,229 ----
<menu>
<li>*
<li>An IP address
! <li>A fully-qualified Internet domain name
</menu>
If the value is *, then the server will listen for connections on
every IP address, otherwise it will only listen on the IP address
***************
*** 549,555 ****
since every request requires one of these lookups to be performed. When
firewalls are involved each lookup might possibly fail and add 30 seconds
of latency to each hit. So in general this is not very useful on public
! servers accessible from the internet.
<p><hr>
<A NAME="ifmodule"><H2><IfModule></H2></A>
--- 549,555 ----
since every request requires one of these lookups to be performed. When
firewalls are involved each lookup might possibly fail and add 30 seconds
of latency to each hit. So in general this is not very useful on public
! servers accessible from the Internet.
<p><hr>
<A NAME="ifmodule"><H2><IfModule></H2></A>
***************
*** 748,754 ****
allowed per connection when <a href="#keepalive">KeepAlive</a> is
on. If it is set to "<code>0</code>", unlimited requests will be
allowed. We recommend that this setting be kept to a high value for
! maximum server peformance.
<A name="maxrequestsperchild"><h2>MaxRequestsPerChild directive</h2></A>
<!--%plaintext <?INDEX {\tt MaxRequestsPerChild} directive> -->
--- 748,754 ----
allowed per connection when <a href="#keepalive">KeepAlive</a> is
on. If it is set to "<code>0</code>", unlimited requests will be
allowed. We recommend that this setting be kept to a high value for
! maximum server performance.
<A name="maxrequestsperchild"><h2>MaxRequestsPerChild directive</h2></A>
<!--%plaintext <?INDEX {\tt MaxRequestsPerChild} directive> -->
***************
*** 924,930 ****
for a list of some defined ports; the standard port for the http protocol
is 80.<p>
! The Port directive has two behaviours, the first of which is necessary for
NCSA backwards compatibility (and which is confusing in the context of
Apache).<p>
--- 924,930 ----
for a list of some defined ports; the standard port for the http protocol
is 80.<p>
! The Port directive has two behaviors, the first of which is necessary for
NCSA backwards compatibility (and which is confusing in the context of
Apache).<p>
***************
*** 1092,1098 ****
<A name="satisfy"><h2>Satisfy</h2></A>
<!--%plaintext <?INDEX {\tt Satisfy} directive> -->
<strong>Syntax:</strong> Satisfy <em>'any' or 'all'</em><br>
! <strong>Default:</strong> Satisy all<br>
<strong>Context:</strong> directory, .htaccess<br>
<strong>Status:</strong> core<br>
<strong>Compatibility:</strong> Satisfy is only available in Apache 1.2 and
later<p>
--- 1092,1098 ----
<A name="satisfy"><h2>Satisfy</h2></A>
<!--%plaintext <?INDEX {\tt Satisfy} directive> -->
<strong>Syntax:</strong> Satisfy <em>'any' or 'all'</em><br>
! <strong>Default:</strong> Satisfy all<br>
<strong>Context:</strong> directory, .htaccess<br>
<strong>Status:</strong> core<br>
<strong>Compatibility:</strong> Satisfy is only available in Apache 1.2 and
later<p>
***************
*** 1388,1394 ****
HREF="../misc/vif-info.html">VIF</A> (for SunOS(TM) 4.1.x)).<p>
The special name <code>_default_</code> can be specified in which case
! this virtual host will match any ip address that is not explicitly listed
in another virtual host. In the absence of any _default_ virtual host
the "main" server config, consisting of all those definitions outside
any VirtualHost section, is used when no match occurs.<p>
--- 1388,1394 ----
HREF="../misc/vif-info.html">VIF</A> (for SunOS(TM) 4.1.x)).<p>
The special name <code>_default_</code> can be specified in which case
! this virtual host will match any IP address that is not explicitly listed
in another virtual host. In the absence of any _default_ virtual host
the "main" server config, consisting of all those definitions outside
any VirtualHost section, is used when no match occurs.<p>
1.7 +2 -2 apache/htdocs/manual/mod/mod_access.html
Index: mod_access.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_access.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -C3 -r1.6 -r1.7
*** mod_access.html 1997/05/01 01:03:30 1.6
--- mod_access.html 1997/05/01 05:26:50 1.7
***************
*** 62,68 ****
<strong>Compatibility:</strong> Apache 1.2 and above<p>
The allow from env directive controls access to a directory by the
! existance (or non-existance) of an environment variable.
Example:<blockquote><pre>
BrowserMatch ^KnockKnock/2.0 let_me_in
--- 62,68 ----
<strong>Compatibility:</strong> Apache 1.2 and above<p>
The allow from env directive controls access to a directory by the
! existence (or non-existence) of an environment variable.
Example:<blockquote><pre>
BrowserMatch ^KnockKnock/2.0 let_me_in
***************
*** 113,119 ****
<strong>Compatibility:</strong> Apache 1.2 and above<p>
The deny from env directive controls access to a directory by the
! existance (or non-existance) of an environment variable.
Example:<blockquote><pre>
BrowserMatch ^BadRobot/0.9 go_away
--- 113,119 ----
<strong>Compatibility:</strong> Apache 1.2 and above<p>
The deny from env directive controls access to a directory by the
! existence (or non-existence) of an environment variable.
Example:<blockquote><pre>
BrowserMatch ^BadRobot/0.9 go_away
1.7 +3 -3 apache/htdocs/manual/mod/mod_auth.html
Index: mod_auth.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_auth.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -C3 -r1.6 -r1.7
*** mod_auth.html 1997/02/06 05:28:57 1.6
--- mod_auth.html 1997/05/01 05:26:51 1.7
***************
*** 83,89 ****
<strong>Module:</strong> mod_auth<p>
Setting the AuthAuthoritative directive explicitly to <b>'off'</b>
! allows for both authentification and authorization to be passed on to
lower level modules (as defined in the <code>Configuration</code> and
<code>modules.c</code> files) if there is <b>no userID</b> or
<b>rule</b> matching the supplied userID. If there is a userID and/or
--- 83,89 ----
<strong>Module:</strong> mod_auth<p>
Setting the AuthAuthoritative directive explicitly to <b>'off'</b>
! allows for both authentication and authorization to be passed on to
lower level modules (as defined in the <code>Configuration</code> and
<code>modules.c</code> files) if there is <b>no userID</b> or
<b>rule</b> matching the supplied userID. If there is a userID and/or
***************
*** 99,105 ****
<p>
! A common use for this is in conjection with one of the database
modules; such as <a
href="mod_auth_db.html"><code>mod_auth_db.c</code></a>, <a
href="mod_auth_dbm.html"><code>mod_auth_dbm.c</code></a>, <a
--- 99,105 ----
<p>
! A common use for this is in conjunction with one of the database
modules; such as <a
href="mod_auth_db.html"><code>mod_auth_db.c</code></a>, <a
href="mod_auth_dbm.html"><code>mod_auth_dbm.c</code></a>, <a
***************
*** 111,117 ****
<p>
! <b>Default:</b> By default; control is not passed on; and an unkown
userID or rule will result in an Authorization Required reply. Not
setting it thus keeps the system secure; and forces an NSCA compliant
behaviour.
--- 111,117 ----
<p>
! <b>Default:</b> By default; control is not passed on; and an unknown
userID or rule will result in an Authorization Required reply. Not
setting it thus keeps the system secure; and forces an NSCA compliant
behaviour.
1.7 +27 -9 apache/htdocs/manual/mod/mod_auth_db.html
Index: mod_auth_db.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_auth_db.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -C3 -r1.6 -r1.7
*** mod_auth_db.html 1997/02/06 05:28:57 1.6
--- mod_auth_db.html 1997/05/01 05:26:51 1.7
***************
*** 113,128 ****
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_auth<p>
! Setting the AuthDBAuthoritative directive explicitly to <b>'off'</b> allows
for both authentification and authorization to be passed on to lower level
modules (as defined in the <code>Configuration</code> and
<code>modules.c</code> file if there is <b>no userID</b> or <b>rule</b>
matching the supplied userID. If there is a userID and/or rule specified; the
usual password and access checks will be applied and a failure will give an
Authorization Required reply.
<p>
! So if a userID appears in the database of more than one module; or if a
valid require directive applies to more than one module; then the first module
will verify the credentials; and no access is passed on; regardless of the
AuthAuthoritative setting.
! <p>
! A common use for this is in conjection with one of the basic auth modules;
such
! as <a href="mod_auth.html"><code>mod_auth.c</code></a>. Whereas this DB
module supplies the bulk of the user credential checking; a few (administrator)
related accesses fall through to a lower level with a well protected .htpasswd
file.
! <p>
! <b>Default:</b> By default; control is not passed on; and an unkown userID
or rule will result in an Authorization Required reply. Not setting it thus
keeps the system secure; and forces an NSCA compliant behaviour.
! <p>
! Security: Do consider the implications of allowing a user to allow
fall-through in his .htaccess file; and verify that this is really what you
want; Generally it is easier to just secure a single .htpasswd file, than it is
to secure a database which might have more access interfaces.
<p>
See also <A HREF="core.html#authname">AuthName</A>,
--- 113,146 ----
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_auth<p>
! Setting the AuthDBAuthoritative directive explicitly to <b>'off'</b>
! allows for both authentication and authorization to be passed on
! to lower level modules (as defined in the <code>Configuration</code>
! and <code>modules.c</code> file if there is <b>no userID</b> or
! <b>rule</b> matching the supplied userID. If there is a userID
! and/or rule specified; the usual password and access checks will
! be applied and a failure will give an Authorization Required reply.
<p>
! So if a userID appears in the database of more than one module; or
! if a valid require directive applies to more than one module; then
! the first module will verify the credentials; and no access is
! passed on; regardless of the AuthAuthoritative setting. <p>
!
! A common use for this is in conjunction with one of the basic auth
! modules; such as <a href="mod_auth.html"><code>mod_auth.c</code></a>.
! Whereas this DB module supplies the bulk of the user credential
! checking; a few (administrator) related accesses fall through to
! a lower level with a well protected .htpasswd file. <p>
!
! <b>Default:</b> By default; control is not passed on; and an unknown
! userID or rule will result in an Authorization Required reply. Not
! setting it thus keeps the system secure; and forces an NSCA compliant
! behaviour. <p>
! Security: Do consider the implications of allowing a user to allow
! fall-through in his .htaccess file; and verify that this is really
! what you want; Generally it is easier to just secure a single
! .htpasswd file, than it is to secure a database which might have
! more access interfaces.
<p>
See also <A HREF="core.html#authname">AuthName</A>,
1.8 +28 -9 apache/htdocs/manual/mod/mod_auth_dbm.html
Index: mod_auth_dbm.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_auth_dbm.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -C3 -r1.7 -r1.8
*** mod_auth_dbm.html 1997/02/06 05:28:58 1.7
--- mod_auth_dbm.html 1997/05/01 05:26:51 1.8
***************
*** 114,129 ****
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_auth<p>
! Setting the AuthDBMAuthoritative directive explicitly to <b>'off'</b>
allows for both authentification and authorization to be passed on to lower
level modules (as defined in the <code>Configuration</code> and
<code>modules.c</code> file if there is <b>no userID</b> or <b>rule</b>
matching the supplied userID. If there is a userID and/or rule specified; the
usual password and access checks will be applied and a failure will give an
Authorization Required reply.
<p>
! So if a userID appears in the database of more than one module; or if a
valid require directive applies to more than one module; then the first module
will verify the credentials; and no access is passed on; regardless of the
AuthAuthoritative setting.
! <p>
! A common use for this is in conjection with one of the basic auth modules;
such
! as <a href="mod_auth.html"><code>mod_auth.c</code></a>. Whereas this DBM
module supplies the bulk of the user credential checking; a few (administrator)
related accesses fall through to a lower level with a well protected .htpasswd
file.
! <p>
! <b>Default:</b> By default; control is not passed on; and an unkown userID
or rule will result in an Authorization Required reply. Not setting it thus
keeps the system secure; and forces an NSCA compliant behaviour.
! <p>
! Security: Do consider the implications of allowing a user to allow
fall-through in his .htaccess file; and verify that this is really what you
want; Generally it is easier to just secure a single .htpasswd file, than it is
to secure a database which might have more access interfaces.
<p>
See also <A HREF="core.html#authname">AuthName</A>,
--- 114,148 ----
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_auth<p>
! Setting the AuthDBMAuthoritative directive explicitly to <b>'off'</b>
! allows for both authentication and authorization to be passed on
! to lower level modules (as defined in the <code>Configuration</code>
! and <code>modules.c</code> file if there is <b>no userID</b> or
! <b>rule</b> matching the supplied userID. If there is a userID
! and/or rule specified; the usual password and access checks will
! be applied and a failure will give an Authorization Required reply.
<p>
! So if a userID appears in the database of more than one module; or
! if a valid require directive applies to more than one module; then
! the first module will verify the credentials; and no access is
! passed on; regardless of the AuthAuthoritative setting. <p>
!
! A common use for this is in conjunction with one of the basic auth
! modules; such as <a href="mod_auth.html"><code>mod_auth.c</code></a>.
! Whereas this DBM module supplies the bulk of the user credential
! checking; a few (administrator) related accesses fall through to
! a lower level with a well protected .htpasswd file. <p>
!
! <b>Default:</b> By default; control is not passed on; and an unknown
! userID or rule will result in an Authorization Required reply. Not
! setting it thus keeps the system secure; and forces an NSCA compliant
! behaviour. <p>
!
! Security: Do consider the implications of allowing a user to allow
! fall-through in his .htaccess file; and verify that this is really
! what you want; Generally it is easier to just secure a single
! .htpasswd file, than it is to secure a database which might have
! more access interfaces.
<p>
See also <A HREF="core.html#authname">AuthName</A>,
1.5 +30 -30 apache/htdocs/manual/mod/mod_auth_msql.html
Index: mod_auth_msql.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_auth_msql.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -C3 -r1.4 -r1.5
*** mod_auth_msql.html 1997/02/15 22:27:58 1.4
--- mod_auth_msql.html 1997/05/01 05:26:52 1.5
***************
*** 11,17 ****
domain mSQL database <code><a
href="ftp://ftp.bond.edu.au/pub/Minerva/msql">ftp://ftp.bond.edu.au/pub/Minerva/msql</a></code>,
a fast but limited SQL engine which can be contacted over an internal
! Unix domain protocol as well as over normal tcp/ip socket
communication. It is only available in Apache 1.1 and later. <p>
<a href="#FullDescription">Full description</a> /
--- 11,17 ----
domain mSQL database <code><a
href="ftp://ftp.bond.edu.au/pub/Minerva/msql">ftp://ftp.bond.edu.au/pub/Minerva/msql</a></code>,
a fast but limited SQL engine which can be contacted over an internal
! Unix domain protocol as well as over normal TCP/IP socket
communication. It is only available in Apache 1.1 and later. <p>
<a href="#FullDescription">Full description</a> /
***************
*** 27,33 ****
<code><dt>
Auth_MSQLhost < FQHN | IP Address | localhost >
! </code></dt><dd>
Hostname of the machine running the mSQL demon. The effective uid
of the server should be allowed access. If not given, or if it is
the magic name <code>localhost</code>, it is passed to the mSQL
library as a null
--- 27,33 ----
<code><dt>
Auth_MSQLhost < FQHN | IP Address | localhost >
! </dt></code><dd>
Hostname of the machine running the mSQL demon. The effective uid
of the server should be allowed access. If not given, or if it is
the magic name <code>localhost</code>, it is passed to the mSQL
library as a null
***************
*** 37,43 ****
<code><dt>
Auth_MSQLdatabase < mSQL database name >
! </code></dt><dd>
Name of the database in which the following table(s) are contained
(Quick check: use the
mSQL command <code>relshow [<hostname> dbase]</code> to verify
the spelling of the
database name).
--- 37,43 ----
<code><dt>
Auth_MSQLdatabase < mSQL database name >
! </dt></code><dd>
Name of the database in which the following table(s) are contained
(Quick check: use the
mSQL command <code>relshow [<hostname> dbase]</code> to verify
the spelling of the
database name).
***************
*** 45,51 ****
<code><dt>
Auth_MSQLpwd_table < mSQL table name >
! </code></dt><dd>
Contains at least the fields with the username
and the (encrypted) password. Each uid should only occur once in
this table and
for performance reasons should be a primary key.
--- 45,51 ----
<code><dt>
Auth_MSQLpwd_table < mSQL table name >
! </dt></code><dd>
Contains at least the fields with the username
and the (encrypted) password. Each uid should only occur once in
this table and
for performance reasons should be a primary key.
***************
*** 58,64 ****
<code><dt>
Auth_MSQLgrp_table < mSQL table name in the above database >
! </code></dt><dd>
Contains at least the fields with the
username and the groupname. A user which
is in multiple groups has therefore
--- 58,64 ----
<code><dt>
Auth_MSQLgrp_table < mSQL table name in the above database >
! </dt></code><dd>
Contains at least the fields with the
username and the groupname. A user which
is in multiple groups has therefore
***************
*** 73,79 ****
<code><dt>
Auth_MSQLuid_field < mSQL field name >
! </code></dt><dd>
Name of the field containing the username in the <code>
Auth_MSQLpwd_table</code> and optionally in the <code>
Auth_MSQLgrp_table</code> tables.
--- 73,79 ----
<code><dt>
Auth_MSQLuid_field < mSQL field name >
! </dt></code><dd>
Name of the field containing the username in the <code>
Auth_MSQLpwd_table</code> and optionally in the <code>
Auth_MSQLgrp_table</code> tables.
***************
*** 81,94 ****
<code><dt>
Auth_MSQLpwd_field < mSQL field name >
! </code></dt><dd>
Fieldname for the passwords in the <code>
Auth_MSQLpwd_table</code> table.
</dd>
<code><dt>
Auth_MSQLgrp_field < mSQL field name >
! </code></dt><dd>
Fieldname for the groupname<br>
Only the fields used need to be specified. When this
module is compiled with the
--- 81,94 ----
<code><dt>
Auth_MSQLpwd_field < mSQL field name >
! </dt></code><dd>
Fieldname for the passwords in the <code>
Auth_MSQLpwd_table</code> table.
</dd>
<code><dt>
Auth_MSQLgrp_field < mSQL field name >
! </dt></code><dd>
Fieldname for the groupname<br>
Only the fields used need to be specified. When this
module is compiled with the
***************
*** 100,106 ****
<code><dt>
Auth_MSQL_nopasswd < on | off >
! </code></dt><dd>
Skip password comparison if passwd field is
empty, i.e. allow any password. This is 'off'
by default to ensure that an empty field
--- 100,106 ----
<code><dt>
Auth_MSQL_nopasswd < on | off >
! </dt></code><dd>
Skip password comparison if passwd field is
empty, i.e. allow any password. This is 'off'
by default to ensure that an empty field
***************
*** 110,116 ****
<code><dt>
<a name="Authoritative">Auth_MSQL_Authoritative < on | off ></a>
! </code></dt><dd>
Default is 'on'. When set 'on', there is no
fall-through to other authorization methods. So if a
user is not in the mSQL dbase table (and perhaps
--- 110,116 ----
<code><dt>
<a name="Authoritative">Auth_MSQL_Authoritative < on | off ></a>
! </dt></code><dd>
Default is 'on'. When set 'on', there is no
fall-through to other authorization methods. So if a
user is not in the mSQL dbase table (and perhaps
***************
*** 125,131 ****
<code><dt>
Auth_MSQL_EncryptedPasswords < on | off >
! </code></dt><dd>
Default is 'on'. When set on, the values in the
pwd_field are assumed to be crypt-ed using *your*
machines 'crypt()' function and the incoming password
--- 125,131 ----
<code><dt>
Auth_MSQL_EncryptedPasswords < on | off >
! </dt></code><dd>
Default is 'on'. When set on, the values in the
pwd_field are assumed to be crypt-ed using *your*
machines 'crypt()' function and the incoming password
***************
*** 141,147 ****
</dl>
! <hr><a name="Example"><h2>Example</h2></a>
An example mSQL table could be created with the following commands:
<pre>
--- 141,147 ----
</dl>
! <hr><h2><a name="Example">Example</a></h2>
An example mSQL table could be created with the following commands:
<pre>
***************
*** 183,193 ****
<dt><code>
Auth_MSQLhost datab.machine.your.org
</code></dt><dd>
! If this directive is ommited or set to
<code>localhost</code>,
it is assumed that Apache and the mSQL
database run on the same (physical) machine and the faster
/dev/msql communication channel will be used. Otherwise,
! it is the machine to contact by tcp/ip. Consult the mSQL
documentation for more information.
</dd>
<p>
--- 183,193 ----
<dt><code>
Auth_MSQLhost datab.machine.your.org
</code></dt><dd>
! If this directive is omitted or set to
<code>localhost</code>,
it is assumed that Apache and the mSQL
database run on the same (physical) machine and the faster
/dev/msql communication channel will be used. Otherwise,
! it is the machine to contact by TCP/IP. Consult the mSQL
documentation for more information.
</dd>
<p>
***************
*** 207,213 ****
<code><dt>
Auth_MSQLpwd_table user_records
! </code></dt><dd>
This is the table which contain the uid/password combination
is specified.
</dd>
--- 207,213 ----
<code><dt>
Auth_MSQLpwd_table user_records
! </dt></code><dd>
This is the table which contain the uid/password combination
is specified.
</dd>
***************
*** 215,221 ****
<code><dt>
Auth_MSQLuid_field User_id <br>
Auth_MSQLpwd_field Cpasswd
! </code></dt><dd>
These two directive specify the field names in the
<code>user_record</code>
table. If this module is compiled with the <a
href="#VITEK"><code>BACKWARD_VITEK</code></a>
compatibility switch, the defaults <code>user</code> and
<code>password</code> are
--- 215,221 ----
<code><dt>
Auth_MSQLuid_field User_id <br>
Auth_MSQLpwd_field Cpasswd
! </dt></code><dd>
These two directive specify the field names in the
<code>user_record</code>
table. If this module is compiled with the <a
href="#VITEK"><code>BACKWARD_VITEK</code></a>
compatibility switch, the defaults <code>user</code> and
<code>password</code> are
***************
*** 226,235 ****
compiler directive for more information.
</dd>
! <code></dt>
Auth_MSQLgrp_table user_records <br>
Auth_MSQLgrp_field Xgroup <br>
! </code></dt><dd>
Optionally one can also specify a table which contains the
user/group combinations. This can be the same table which
also contains the username/password combinations. However
--- 226,235 ----
compiler directive for more information.
</dd>
! <code><dt>
Auth_MSQLgrp_table user_records <br>
Auth_MSQLgrp_field Xgroup <br>
! </dt></code><dd>
Optionally one can also specify a table which contains the
user/group combinations. This can be the same table which
also contains the username/password combinations. However
***************
*** 241,247 ****
Auth_MSQL_nopasswd off <br>
Auth_MSQL_Authoritative on <br>
Auth_MSQL_EncryptedPasswords on <br>
! </code></dt><dd>
These three optional fields (all set to the sensible
defaults,
so you really do not have to enter them) are described in
more
detail below. If you choose to set these to any other
values then
--- 241,247 ----
Auth_MSQL_nopasswd off <br>
Auth_MSQL_Authoritative on <br>
Auth_MSQL_EncryptedPasswords on <br>
! </dt></code><dd>
These three optional fields (all set to the sensible
defaults,
so you really do not have to enter them) are described in
more
detail below. If you choose to set these to any other
values then
***************
*** 252,258 ****
<code><dt>
AuthName example mSQL realm <br>
AuthType basic
! </code></dt>
<dd>
Normal Apache/NCSA tokens for access control
<p>
--- 252,258 ----
<code><dt>
AuthName example mSQL realm <br>
AuthType basic
! </dt></code>
<dd>
Normal Apache/NCSA tokens for access control
<p>
***************
*** 261,278 ****
<code>allow from all </code><br>
<p>
<code>require valid-user </code><br>
! <ul><code>valid-user</code>; allow in any user which
has a valid uid/passwd
pair in the above pwd_table.
</ul>
or<br>
<code>require user smith jones </code><br>
! <ul>Limit access to users who have a valid uid/passwd
pair in the
above pwd_table *and* whose uid is 'smith' or 'jones'.
Do note that
the uid's are separated by 'spaces' for historic (NCSA)
reasons.
So allowing uids with spaces might cause problems.
</ul>
<code>require group has_paid</code><br>
! <ul>Optionally also ensure that the uid has the value
'has_paid' in
the group field in the group table.
</ul>
<code><limit> </code><br>
--- 261,278 ----
<code>allow from all </code><br>
<p>
<code>require valid-user </code><br>
! <ul><li><code>valid-user</code>; allow in any user
which has a valid uid/passwd
pair in the above pwd_table.
</ul>
or<br>
<code>require user smith jones </code><br>
! <ul><li>Limit access to users who have a valid
uid/passwd pair in the
above pwd_table *and* whose uid is 'smith' or 'jones'.
Do note that
the uid's are separated by 'spaces' for historic (NCSA)
reasons.
So allowing uids with spaces might cause problems.
</ul>
<code>require group has_paid</code><br>
! <ul><li>Optionally also ensure that the uid has the
value 'has_paid' in
the group field in the group table.
</ul>
<code><limit> </code><br>
***************
*** 294,300 ****
uid/passwd table. If you choose not to set it, the software takes
the first pair returned and ignores any further pairs. The SQL
statement used for this is<br>
! <p><code>"select password form pwd_table where user='uid'"</code><p>
this might lead to unpredictable results. For this reason as well
as for performance reasons you are strongly advised to make the
uid field a primary key. Use at your own peril :-)
--- 294,300 ----
uid/passwd table. If you choose not to set it, the software takes
the first pair returned and ignores any further pairs. The SQL
statement used for this is<br>
! <p><code>"select password form pwd_table where user='UID'"</code><p>
this might lead to unpredictable results. For this reason as well
as for performance reasons you are strongly advised to make the
uid field a primary key. Use at your own peril :-)
***************
*** 303,309 ****
<dt><code>
<a name="KEEP_MSQL_CONNECTION_OPEN">#define KEEP_MSQL_CONNECTION_OPEN</a>
</code></dt><dd>
! Normally the (tcp/ip) connection with the database is opened and
closed for each SQL query. When the Apache web-server and the database
are on the same machine, and /dev/msql is used this does not
cause a serious overhead. However when your platform does not
--- 303,309 ----
<dt><code>
<a name="KEEP_MSQL_CONNECTION_OPEN">#define KEEP_MSQL_CONNECTION_OPEN</a>
</code></dt><dd>
! Normally the (TCP/IP) connection with the database is opened and
closed for each SQL query. When the Apache web-server and the database
are on the same machine, and /dev/msql is used this does not
cause a serious overhead. However when your platform does not
***************
*** 371,377 ****
<p>
We only do the following two queries:
<ul><li>For the user/passwd combination
! <p><code>"select PWDFIELD from PWDTABEL where
USERFIELD='UID'"</code><br>
<li>Optionally for the user/group combination:
<p><code>"select GROUPFIELD from GROUPTABLE where
USERFIELD='UID' and GROUPFIELD='GID'"</code><br>
</ul>
--- 371,377 ----
<p>
We only do the following two queries:
<ul><li>For the user/passwd combination
! <p><code>"select PWDFIELD from PWDTABLE where
USERFIELD='UID'"</code><br>
<li>Optionally for the user/group combination:
<p><code>"select GROUPFIELD from GROUPTABLE where
USERFIELD='UID' and GROUPFIELD='GID'"</code><br>
</ul>
***************
*** 396,402 ****
</dd>
<dt>Version 0.2<br></dt>
<dd>Added lines which got missing God knows when
! and which did the valid-user authentification no good at all !
</dd>
<dt>Version 0.3<br></dt>
<dd>Added '<code>Auth_MSQL_nopasswd</code>' option
--- 396,402 ----
</dd>
<dt>Version 0.2<br></dt>
<dd>Added lines which got missing God knows when
! and which did the valid-user authentication no good at all !
</dd>
<dt>Version 0.3<br></dt>
<dd>Added '<code>Auth_MSQL_nopasswd</code>' option
***************
*** 411,417 ****
</dd>
<dt>Version 0.7<br></dt>
<dd><code>*host</code> to <code>host</code> fixed. Credits
! go to Rob Stout, <[EMAIL PROTECTED]> for
spotting this one.
</dd>
<dt>Version 0.8<br></dt>
--- 411,417 ----
</dd>
<dt>Version 0.7<br></dt>
<dd><code>*host</code> to <code>host</code> fixed. Credits
! go to Rob Stout, <[EMAIL PROTECTED]> for
spotting this one.
</dd>
<dt>Version 0.8<br></dt>
***************
*** 420,426 ****
<dt>Version 0.9<br></dt>
<dd><code>palloc</code> return code check(s), should be
backward compatible with 1.11 version of Vivek Khera
! <[email protected]> msql
module, fixed broken err msg in group control, changed
command table messages to make more sense when displayed
in that new module management tool. Added
--- 420,426 ----
<dt>Version 0.9<br></dt>
<dd><code>palloc</code> return code check(s), should be
backward compatible with 1.11 version of Vivek Khera
! <[email protected]> msql
module, fixed broken err msg in group control, changed
command table messages to make more sense when displayed
in that new module management tool. Added
***************
*** 453,459 ****
that you always quote the version you use when filing a bug report.
<p>
Furthermore a test/demonstration suite (which assumes that you have
! both mSQL and Apache compiled and installed) is avaible at the contrib
section of <a href="ftp://ftp.apache.org/apache/dist/contrib"><code>
ftp://ftp.apache.org/apache/dist/contrib</code></a> or
<a href="http://me-www.jrc.it/~dirkx/apache-msql-demo.tar.gz"><code>
--- 453,459 ----
that you always quote the version you use when filing a bug report.
<p>
Furthermore a test/demonstration suite (which assumes that you have
! both mSQL and Apache compiled and installed) is available at the contrib
section of <a href="ftp://ftp.apache.org/apache/dist/contrib"><code>
ftp://ftp.apache.org/apache/dist/contrib</code></a> or
<a href="http://me-www.jrc.it/~dirkx/apache-msql-demo.tar.gz"><code>
1.8 +2 -2 apache/htdocs/manual/mod/mod_browser.html
Index: mod_browser.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_browser.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -C3 -r1.7 -r1.8
*** mod_browser.html 1997/03/12 03:00:45 1.7
--- mod_browser.html 1997/05/01 05:26:52 1.8
***************
*** 28,34 ****
<hr>
! <A name="browsermatch"><h2>BrowserMatch</h2></A>
<strong>Syntax:</strong> BrowserMatch <em>regex attr1 attr2...</em><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> base<br>
--- 28,34 ----
<hr>
! <h2><A name="browsermatch">BrowserMatch</A></h2>
<strong>Syntax:</strong> BrowserMatch <em>regex attr1 attr2...</em><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> base<br>
***************
*** 55,61 ****
BrowserMatch MSIE !javascript
</pre>
! <p><A name="browsermatchnocase"><h2>BrowserMatchNoCase</h2></A>
<strong>Syntax:</strong> BrowserMatchNoCase <em>regex attr1
attr2...</em><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> base<br>
--- 55,61 ----
BrowserMatch MSIE !javascript
</pre>
! <p><h2><A name="browsermatchnocase">BrowserMatchNoCase</A></h2>
<strong>Syntax:</strong> BrowserMatchNoCase <em>regex attr1
attr2...</em><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> base<br>
1.5 +2 -2 apache/htdocs/manual/mod/mod_cern_meta.html
Index: mod_cern_meta.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_cern_meta.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -C3 -r1.4 -r1.5
*** mod_cern_meta.html 1997/01/31 00:55:13 1.4
--- mod_cern_meta.html 1997/05/01 05:26:52 1.5
***************
*** 35,41 ****
<hr>
! <A name="metadir"><h2>MetaDir</h2></A>
<strong>Syntax:</strong> MetaDir <em>directory name</em><br>
<strong>Default:</strong> <code>MetaDir .web</code><br>
<strong>Context:</strong> server config<br>
--- 35,41 ----
<hr>
! <h2><A name="metadir">MetaDir</A></h2>
<strong>Syntax:</strong> MetaDir <em>directory name</em><br>
<strong>Default:</strong> <code>MetaDir .web</code><br>
<strong>Context:</strong> server config<br>
***************
*** 50,56 ****
accessed. Set to "<code>.</code>" to look in the same directory as the
file.
! <A name="metasuffix"><h2>MetaSuffix</h2></A>
<strong>Syntax:</strong> MetaSuffix <em>suffix</em><br>
<strong>Default:</strong> <code>MetaSuffix .meta</code><br>
<strong>Context:</strong> server config<br>
--- 50,56 ----
accessed. Set to "<code>.</code>" to look in the same directory as the
file.
! <h2><A name="metasuffix">MetaSuffix</A></h2>
<strong>Syntax:</strong> MetaSuffix <em>suffix</em><br>
<strong>Default:</strong> <code>MetaSuffix .meta</code><br>
<strong>Context:</strong> server config<br>
1.8 +4 -4 apache/htdocs/manual/mod/mod_cgi.html
Index: mod_cgi.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_cgi.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -C3 -r1.7 -r1.8
*** mod_cgi.html 1997/01/12 07:01:59 1.7
--- mod_cgi.html 1997/05/01 05:26:53 1.8
***************
*** 48,54 ****
<hr>
! <a name="cgi_debug"><h2>CGI Debugging</h2></a>
Debugging CGI scripts has traditionally been difficult, mainly because
it has
--- 48,54 ----
<hr>
! <h2><a name="cgi_debug">CGI Debugging</a></h2>
Debugging CGI scripts has traditionally been difficult, mainly because
it has
***************
*** 106,112 ****
<h2>Directives</h2>
! <a name="scriptlog"><h3>ScriptLog</h3></a>
<b>Syntax:</b> ScriptLog <i>filename</i><br>
<b>Default:</b> none<br>
--- 106,112 ----
<h2>Directives</h2>
! <h3><a name="scriptlog">ScriptLog</a></h3>
<b>Syntax:</b> ScriptLog <i>filename</i><br>
<b>Default:</b> none<br>
***************
*** 129,135 ****
have security problems if used in a manner other than that for which
it was designed.</p>
! <a name="scriptloglength"><h3>ScriptLogLength</h3></a>
<b>Syntax:</b> ScriptLogLength <i>size</i><br>
<b>Default:</b> 10385760<br>
--- 129,135 ----
have security problems if used in a manner other than that for which
it was designed.</p>
! <h3><a name="scriptloglength">ScriptLogLength</a></h3>
<b>Syntax:</b> ScriptLogLength <i>size</i><br>
<b>Default:</b> 10385760<br>
***************
*** 144,150 ****
be used to set an maximum file-size for the CGI logfile. If the file
exceeds this size, no more information will be written to it.
! <a name="scriptlogbuffer"><h3>ScriptLogBuffer</h3></a>
<b>Syntax:</b> ScriptLogBuffer <i>size</i><br>
<b>Default:</b> 1024<br>
--- 144,150 ----
be used to set an maximum file-size for the CGI logfile. If the file
exceeds this size, no more information will be written to it.
! <h3><a name="scriptlogbuffer">ScriptLogBuffer</a></h3>
<b>Syntax:</b> ScriptLogBuffer <i>size</i><br>
<b>Default:</b> 1024<br>
1.3 +1 -1 apache/htdocs/manual/mod/mod_cookies.html
Index: mod_cookies.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_cookies.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C3 -r1.2 -r1.3
*** mod_cookies.html 1996/11/21 10:30:43 1.2
--- mod_cookies.html 1997/05/01 05:26:53 1.3
***************
*** 19,25 ****
<hr>
! <A name="cookielog"><h2>CookieLog</h2></A>
<!--%plaintext <?INDEX {\tt CookieLog} directive> -->
<strong>Syntax:</strong> CookieLog <em>filename</em><br>
<Strong>Context:</strong> server config, virtual host<br>
--- 19,25 ----
<hr>
! <h2><A name="cookielog">CookieLog</A></h2>
<!--%plaintext <?INDEX {\tt CookieLog} directive> -->
<strong>Syntax:</strong> CookieLog <em>filename</em><br>
<Strong>Context:</strong> server config, virtual host<br>
1.5 +3 -3 apache/htdocs/manual/mod/mod_digest.html
Index: mod_digest.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_digest.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -C3 -r1.4 -r1.5
*** mod_digest.html 1997/02/27 02:46:38 1.4
--- mod_digest.html 1997/05/01 05:26:54 1.5
***************
*** 20,37 ****
<hr>
! <A name="authdigestfile"><h2>AuthDigestFile</h2></A>
<strong>Syntax:</strong> AuthDigestFile <em>filename</em><br>
<Strong>Context:</strong> directory, .htaccess<br>
<Strong>Override:</strong> AuthConfig<br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_digest<p>
! The AuthDigestFile directive sets the name of a textual file containing
the list
of users and encoded passwords for digest authentication.
<em>Filename</em>
! is the absolute path to the user file.<p>
<p>The digest file uses a special format. Files in this format can be
created using the "htdigest" utility found in the support/ subdirectory of
the Apache distribution.</p>
--- 20,37 ----
<hr>
! <h2><A name="authdigestfile">AuthDigestFile</A></h2>
<strong>Syntax:</strong> AuthDigestFile <em>filename</em><br>
<Strong>Context:</strong> directory, .htaccess<br>
<Strong>Override:</strong> AuthConfig<br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_digest<p>
! <p>The AuthDigestFile directive sets the name of a textual file containing
the list
of users and encoded passwords for digest authentication.
<em>Filename</em>
! is the absolute path to the user file.</p>
<p>The digest file uses a special format. Files in this format can be
created using the "htdigest" utility found in the support/ subdirectory of
the Apache distribution.</p>
1.3 +2 -2 apache/htdocs/manual/mod/mod_dld.html
Index: mod_dld.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_dld.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C3 -r1.2 -r1.3
*** mod_dld.html 1996/11/21 10:30:45 1.2
--- mod_dld.html 1997/05/01 05:26:55 1.3
***************
*** 37,43 ****
<hr>
! <A name="loadfile"><h2>LoadFile</h2></A>
<!--%plaintext <?INDEX {\tt LoadFile} directive> -->
<strong>Syntax:</strong> LoadFile <em>filename filename ...</em><br>
<Strong>Context:</strong> server config<br>
--- 37,43 ----
<hr>
! <h2><A name="loadfile">LoadFile</A></h2>
<!--%plaintext <?INDEX {\tt LoadFile} directive> -->
<strong>Syntax:</strong> LoadFile <em>filename filename ...</em><br>
<Strong>Context:</strong> server config<br>
***************
*** 49,55 ****
may be required for some module to work. <em>Filename</em> is relative
to <A HREF="core.html#serverroot">ServerRoot</A>.<p><hr>
! <A name="loadmodule"><h2>LoadModule</h2></A>
<!--%plaintext <?INDEX {\tt LoadModule} directive> -->
<strong>Syntax:</strong> LoadModule <em>module filename</em><br>
<Strong>Context:</strong> server config<br>
--- 49,55 ----
may be required for some module to work. <em>Filename</em> is relative
to <A HREF="core.html#serverroot">ServerRoot</A>.<p><hr>
! <h2><A name="loadmodule">LoadModule</A></h2>
<!--%plaintext <?INDEX {\tt LoadModule} directive> -->
<strong>Syntax:</strong> LoadModule <em>module filename</em><br>
<Strong>Context:</strong> server config<br>
1.5 +3 -3 apache/htdocs/manual/mod/mod_env.html
Index: mod_env.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_env.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -C3 -r1.4 -r1.5
*** mod_env.html 1997/04/16 12:21:09 1.4
--- mod_env.html 1997/05/01 05:26:55 1.5
***************
*** 30,36 ****
<hr>
! <A name="passenv"><h2>PassEnv</h2></A>
<strong>Syntax:</strong> PassEnv <em>variable variable ...</em><br>
<strong>Context:</strong> server config, virtual host<br>
<strong>Status:</strong> Base<br>
--- 30,36 ----
<hr>
! <h2><A name="passenv">PassEnv</A></h2>
<strong>Syntax:</strong> PassEnv <em>variable variable ...</em><br>
<strong>Context:</strong> server config, virtual host<br>
<strong>Status:</strong> Base<br>
***************
*** 46,52 ****
<HR>
! <A name="setenv"><h2>SetEnv</h2></A>
<strong>Syntax:</strong> SetEnv <em>variable value</em><br>
<strong>Context:</strong> server config, virtual host<br>
<strong>Status:</strong> Base<br>
--- 46,52 ----
<HR>
! <h2><A name="setenv">SetEnv</A></h2>
<strong>Syntax:</strong> SetEnv <em>variable value</em><br>
<strong>Context:</strong> server config, virtual host<br>
<strong>Status:</strong> Base<br>
***************
*** 62,68 ****
<hr>
! <A name="unsetenv"><h2>UnsetEnv</h2></A>
<strong>Syntax:</strong> UnsetEnv <em>variable variable ...</em><br>
<strong>Context:</strong> server config, virtual host<br>
<strong>Status:</strong> Base<br>
--- 62,68 ----
<hr>
! <h2><A name="unsetenv">UnsetEnv</A></h2>
<strong>Syntax:</strong> UnsetEnv <em>variable variable ...</em><br>
<strong>Context:</strong> server config, virtual host<br>
<strong>Status:</strong> Base<br>
1.2 +3 -3 apache/htdocs/manual/mod/mod_example.html
Index: mod_example.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_example.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -C3 -r1.1 -r1.2
*** mod_example.html 1997/04/11 22:23:26 1.1
--- mod_example.html 1997/05/01 05:26:56 1.2
***************
*** 105,113 ****
</UL>
</P>
<HR>
! <A NAME="example">
! <H2>Example</H2>
! </A>
<P>
<STRONG>Syntax:</STRONG> Example
<BR>
--- 105,113 ----
</UL>
</P>
<HR>
! <H2><A NAME="example">
! Example
! </A></H2>
<P>
<STRONG>Syntax:</STRONG> Example
<BR>
1.3 +9 -9 apache/htdocs/manual/mod/mod_expires.html
Index: mod_expires.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_expires.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C3 -r1.2 -r1.3
*** mod_expires.html 1997/03/03 02:54:51 1.2
--- mod_expires.html 1997/05/01 05:26:57 1.3
***************
*** 44,52 ****
</LI>
</MENU>
<HR>
! <A NAME="expiresactive">
! <H2>ExpiresActive directive</H2>
! </A>
<!--%plaintext <?INDEX {\tt ExpiresActive} directive> -->
<P>
<STRONG>Syntax:</STRONG> ExpiresActive <EM>boolean</EM>
--- 44,52 ----
</LI>
</MENU>
<HR>
! <H2><A NAME="expiresactive">
! ExpiresActive directive
! </A></H2>
<!--%plaintext <?INDEX {\tt ExpiresActive} directive> -->
<P>
<STRONG>Syntax:</STRONG> ExpiresActive <EM>boolean</EM>
***************
*** 85,93 ****
directive wasn't even specified.
</P>
<HR>
! <A NAME="expiresbytype">
! <H2>ExpiresByType directive</H2>
! </A>
<!--%plaintext <?INDEX {\tt ExpiresByType} directive> -->
<P>
<STRONG>Syntax:</STRONG> ExpiresByType <EM>mime-type
<code>seconds</EM>
--- 85,93 ----
directive wasn't even specified.
</P>
<HR>
! <H2><A NAME="expiresbytype">
! ExpiresByType directive
! </A></H2>
<!--%plaintext <?INDEX {\tt ExpiresByType} directive> -->
<P>
<STRONG>Syntax:</STRONG> ExpiresByType <EM>mime-type
<code>seconds</EM>
***************
*** 148,156 ****
directive.
</P>
<HR>
! <A NAME="expiresdefault">
! <H2>ExpiresDefault directive</H2>
! </A>
<!--%plaintext <?INDEX {\tt ExpiresDefault} directive> -->
<P>
<STRONG>Syntax:</STRONG> ExpiresDefault <EM><code>seconds</EM>
--- 148,156 ----
directive.
</P>
<HR>
! <H2><A NAME="expiresdefault">
! ExpiresDefault directive
! </A></H2>
<!--%plaintext <?INDEX {\tt ExpiresDefault} directive> -->
<P>
<STRONG>Syntax:</STRONG> ExpiresDefault <EM><code>seconds</EM>
1.3 +1 -1 apache/htdocs/manual/mod/mod_headers.html
Index: mod_headers.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_headers.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C3 -r1.2 -r1.3
*** mod_headers.html 1996/12/02 18:14:06 1.2
--- mod_headers.html 1997/05/01 05:26:57 1.3
***************
*** 22,28 ****
<hr>
! <A name="header"><h2>Header</h2></A>
<strong>Syntax:</strong> Header [ set | append | add ] <em>header</em>
<em>value</em><br>
<strong>Syntax:</strong> Header unset <em>header</em><br>
<strong>Context:</strong> server config, virtual host, access.conf,
.htaccess<br>
--- 22,28 ----
<hr>
! <h2><A name="header">Header</A></h2>
<strong>Syntax:</strong> Header [ set | append | add ] <em>header</em>
<em>value</em><br>
<strong>Syntax:</strong> Header unset <em>header</em><br>
<strong>Context:</strong> server config, virtual host, access.conf,
.htaccess<br>
1.5 +3 -3 apache/htdocs/manual/mod/mod_imap.html
Index: mod_imap.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_imap.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -C3 -r1.4 -r1.5
*** mod_imap.html 1996/12/12 01:09:58 1.4
--- mod_imap.html 1997/05/01 05:26:58 1.5
***************
*** 55,61 ****
<p>
! <A name="imapmenu"><h3>ImapMenu</h3></A>
<strong>Syntax:</strong> ImapMenu <code>{none, formatted, semi-formatted,
unformatted}</code><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
--- 55,61 ----
<p>
! <h3><A name="imapmenu">ImapMenu</A></h3>
<strong>Syntax:</strong> ImapMenu <code>{none, formatted, semi-formatted,
unformatted}</code><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
***************
*** 93,99 ****
<p>
! <A name="imapdefault"><h3>ImapDefault</h3></A>
<strong>Syntax:</strong> ImapDefault <code>{error, nocontent,
map, referer,
URL}</code><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
--- 93,99 ----
<p>
! <h3><A name="imapdefault">ImapDefault</A></h3>
<strong>Syntax:</strong> ImapDefault <code>{error, nocontent,
map, referer,
URL}</code><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
***************
*** 112,118 ****
<p>
! <A name="imapbase"><h3>ImapBase</h3></A>
<strong>Syntax:</strong> ImapBase <code>{map, referer, URL}</code><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
<Strong>Override:</strong> Indexes<br>
--- 112,118 ----
<p>
! <h3><A name="imapbase">ImapBase</A></h3>
<strong>Syntax:</strong> ImapBase <code>{map, referer, URL}</code><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
<Strong>Override:</strong> Indexes<br>
1.10 +2 -2 apache/htdocs/manual/mod/mod_include.html
Index: mod_include.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_include.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -C3 -r1.9 -r1.10
*** mod_include.html 1997/04/28 20:16:48 1.9
--- mod_include.html 1997/05/01 05:26:58 1.10
***************
*** 261,267 ****
<DD>true if either <I>test_condition1</I> or <I>test_condition2</I> is
true
</DL>
! <P> "<I>=</I>" and "</I>!=</I>" bind more tightly than "<I>&&</I>" and
"<I>||</I>".
"<I>!</I>" binds most tightly. Thus, the following are equivalent:
<PRE>
--- 261,267 ----
<DD>true if either <I>test_condition1</I> or <I>test_condition2</I> is
true
</DL>
! <P> "<I>=</I>" and "<I>!=</I>" bind more tightly than "<I>&&</I>" and
"<I>||</I>".
"<I>!</I>" binds most tightly. Thus, the following are equivalent:
<PRE>
***************
*** 310,316 ****
<hr>
! <A name="xbithack"><h2>XBitHack</h2></A>
<!--%plaintext <?INDEX {\tt XBitHack} directive> -->
<strong>Syntax:</strong> XBitHack <em>status</em><br>
<strong>Default:</strong> <code>XBitHack off</code><br>
--- 310,316 ----
<hr>
! <h2><A name="xbithack">XBitHack</A></h2>
<!--%plaintext <?INDEX {\tt XBitHack} directive> -->
<strong>Syntax:</strong> XBitHack <em>status</em><br>
<strong>Default:</strong> <code>XBitHack off</code><br>
1.4 +1 -1 apache/htdocs/manual/mod/mod_log_agent.html
Index: mod_log_agent.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_log_agent.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -C3 -r1.3 -r1.4
*** mod_log_agent.html 1997/01/10 08:24:01 1.3
--- mod_log_agent.html 1997/05/01 05:26:58 1.4
***************
*** 18,24 ****
<hr>
! <A name="agentlog"><h2>AgentLog</h2></A>
<!--%plaintext <?INDEX {\tt AgentLog} directive> -->
<strong>Syntax:</strong> AgentLog <em>file-pipe</em><br>
<strong>Default:</strong> <code>AgentLog logs/agent_log</code><br>
--- 18,24 ----
<hr>
! <h2><A name="agentlog">AgentLog</A></h2>
<!--%plaintext <?INDEX {\tt AgentLog} directive> -->
<strong>Syntax:</strong> AgentLog <em>file-pipe</em><br>
<strong>Default:</strong> <code>AgentLog logs/agent_log</code><br>
1.5 +1 -1 apache/htdocs/manual/mod/mod_log_common.html
Index: mod_log_common.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_log_common.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -C3 -r1.4 -r1.5
*** mod_log_common.html 1997/01/10 08:24:01 1.4
--- mod_log_common.html 1997/05/01 05:26:59 1.5
***************
*** 60,66 ****
<hr>
! <A name="transferlog"><h2>TransferLog</h2></A>
<!--%plaintext <?INDEX {\tt TransferLog} directive> -->
<strong>Syntax:</strong> TransferLog <em>file-pipe</em><br>
<strong>Default:</strong> <code>TransferLog logs/transfer_log</code><br>
--- 60,66 ----
<hr>
! <h2><A name="transferlog">TransferLog</A></h2>
<!--%plaintext <?INDEX {\tt TransferLog} directive> -->
<strong>Syntax:</strong> TransferLog <em>file-pipe</em><br>
<strong>Default:</strong> <code>TransferLog logs/transfer_log</code><br>
1.16 +7 -7 apache/htdocs/manual/mod/mod_log_config.html
Index: mod_log_config.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_log_config.html,v
retrieving revision 1.15
retrieving revision 1.16
diff -C3 -r1.15 -r1.16
*** mod_log_config.html 1997/03/28 15:16:15 1.15
--- mod_log_config.html 1997/05/01 05:26:59 1.16
***************
*** 90,96 ****
any headers.
</dl>
! <A NAME="formats"><h3>Custom Log Formats</h3></A>
The format argument to the <code>LogFormat</code> and
<code>CustomLog</code> is a string. This string is logged to the log
--- 90,96 ----
any headers.
</dl>
! <h3><A NAME="formats">Custom Log Formats</A></h3>
The format argument to the <code>LogFormat</code> and
<code>CustomLog</code> is a string. This string is logged to the log
***************
*** 111,117 ****
%...P: The process ID of the child that serviced the request.
%...r: First line of request
%...s: Status. For requests that got internally redirected, this
! is status of the *original* request --- %...>s for the last.
%...t: Time, in common log format time format
%...{format}t: The time, in the form given by format, which should
be in strftime(3) format.
--- 111,117 ----
%...P: The process ID of the child that serviced the request.
%...r: First line of request
%...s: Status. For requests that got internally redirected, this
! is status of the *original* request --- %...>s for the
last.
%...t: Time, in common log format time format
%...{format}t: The time, in the form given by format, which should
be in strftime(3) format.
***************
*** 145,151 ****
extending for format if desired (e.g. to add extra fields at the end).
NCSA's extended/combined log format would be <code>"%h %l %u %t \"%r\" %s
%b \"%{Referer}i\" \"%{User-agent}i\""</code>.
! <h2>Using Multiple Log Files</h3>
The <code>TransferLog</code> and <code>CustomLog</code> directives can
be given more than once to log requests to multiple log files. Each
--- 145,151 ----
extending for format if desired (e.g. to add extra fields at the end).
NCSA's extended/combined log format would be <code>"%h %l %u %t \"%r\" %s
%b \"%{Referer}i\" \"%{User-agent}i\""</code>.
! <h2>Using Multiple Log Files</h2>
The <code>TransferLog</code> and <code>CustomLog</code> directives can
be given more than once to log requests to multiple log files. Each
***************
*** 181,187 ****
<hr>
! <A name="cookielog"><h2>CookieLog</h2></A>
<!--%plaintext <?INDEX {\tt CookieLog} directive> -->
<strong>Syntax:</strong> CookieLog <em>filename</em><br>
<Strong>Context:</strong> server config, virtual host<br>
--- 181,187 ----
<hr>
! <h2><A name="cookielog">CookieLog</A></h2>
<!--%plaintext <?INDEX {\tt CookieLog} directive> -->
<strong>Syntax:</strong> CookieLog <em>filename</em><br>
<Strong>Context:</strong> server config, virtual host<br>
***************
*** 195,201 ****
href="mod_cookies.html">mod_cookies</a>, and is deprecated.
<p>
! <A NAME="customlog"><H2>CustomLog</H2></A>
<STRONG>Syntax:</STRONG> CustomLog <em>file-pipe</em> <em>format</em><BR>
<STRONG>Context:</STRONG> server config, virtual host<BR>
<STRONG>Status:</STRONG> Base<BR>
--- 195,201 ----
href="mod_cookies.html">mod_cookies</a>, and is deprecated.
<p>
! <H2><A NAME="customlog">CustomLog</A></H2>
<STRONG>Syntax:</STRONG> CustomLog <em>file-pipe</em> <em>format</em><BR>
<STRONG>Context:</STRONG> server config, virtual host<BR>
<STRONG>Status:</STRONG> Base<BR>
***************
*** 212,218 ****
includes any spaces (which it will do in almost all cases) it
should be enclosed in double quotes.
! <A name="logformat"><h2>LogFormat</h2></A>
<!--%plaintext <?INDEX {\tt LogFormat} directive> -->
<strong>Syntax:</strong> LogFormat <em>string</em><br>
<strong>Default:</strong> <code>LogFormat "%h %l %u %t \"%r\"
--- 212,218 ----
includes any spaces (which it will do in almost all cases) it
should be enclosed in double quotes.
! <h2><A name="logformat">LogFormat</A></h2>
<!--%plaintext <?INDEX {\tt LogFormat} directive> -->
<strong>Syntax:</strong> LogFormat <em>string</em><br>
<strong>Default:</strong> <code>LogFormat "%h %l %u %t \"%r\"
***************
*** 225,231 ****
Custom Log Formats</A> for details on the format arguments.<p><hr>
! <A name="transferlog"><h2>TransferLog</h2></A>
<!--%plaintext <?INDEX {\tt TransferLog} directive> -->
<strong>Syntax:</strong> TransferLog <em>file-pipe</em><br>
<strong>Default:</strong> <code>TransferLog logs/transfer_log</code><br>
--- 225,231 ----
Custom Log Formats</A> for details on the format arguments.<p><hr>
! <h2><A name="transferlog">TransferLog</A></h2>
<!--%plaintext <?INDEX {\tt TransferLog} directive> -->
<strong>Syntax:</strong> TransferLog <em>file-pipe</em><br>
<strong>Default:</strong> <code>TransferLog logs/transfer_log</code><br>
1.4 +3 -3 apache/htdocs/manual/mod/mod_log_referer.html
Index: mod_log_referer.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_log_referer.html,v
retrieving revision 1.3
retrieving revision 1.4
diff -C3 -r1.3 -r1.4
*** mod_log_referer.html 1997/01/10 08:24:02 1.3
--- mod_log_referer.html 1997/05/01 05:27:00 1.4
***************
*** 15,21 ****
<h2>Log file format</h2>
The log file contains a separate line for each refer. Each line has the
format
! <blockquote><em>uri</em> <code>-></code> <em>document</em></blockquote>
where <em>uri</em> is the (%-escaped) URI for the document that references
the one requested by the client, and <em>document</em> is the (%-decoded)
local URL to the document being referred to.
--- 15,21 ----
<h2>Log file format</h2>
The log file contains a separate line for each refer. Each line has the
format
! <blockquote><em>uri</em> <code>-></code> <em>document</em></blockquote>
where <em>uri</em> is the (%-escaped) URI for the document that references
the one requested by the client, and <em>document</em> is the (%-decoded)
local URL to the document being referred to.
***************
*** 29,35 ****
<hr>
! <A name="refererignore"><h2>RefererIgnore</h2></A>
<!--%plaintext <?INDEX {\tt RefererIgnore} directive> -->
<strong>Syntax:</strong> RefererIgnore <em>string string ...</em><br>
<Strong>Context:</strong> server config, virtual host<br>
--- 29,35 ----
<hr>
! <h2><A name="refererignore">RefererIgnore</A></h2>
<!--%plaintext <?INDEX {\tt RefererIgnore} directive> -->
<strong>Syntax:</strong> RefererIgnore <em>string string ...</em><br>
<Strong>Context:</strong> server config, virtual host<br>
***************
*** 45,51 ****
<p><hr>
! <A name="refererlog"><h2>RefererLog</h2></A>
<!--%plaintext <?INDEX {\tt RefererLog} directive> -->
<strong>Syntax:</strong> RefererLog <em>file-pipe</em><br>
<strong>Default:</strong> <code>RefererLog logs/referer_log</code><br>
--- 45,51 ----
<p><hr>
! <h2><A name="refererlog">RefererLog</A></h2>
<!--%plaintext <?INDEX {\tt RefererLog} directive> -->
<strong>Syntax:</strong> RefererLog <em>file-pipe</em><br>
<strong>Default:</strong> <code>RefererLog logs/referer_log</code><br>
1.7 +4 -4 apache/htdocs/manual/mod/mod_mime.html
Index: mod_mime.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_mime.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -C3 -r1.6 -r1.7
*** mod_mime.html 1997/01/31 00:55:13 1.6
--- mod_mime.html 1997/05/01 05:27:00 1.7
***************
*** 43,49 ****
<hr>
! <A name="addencoding"><h2>AddEncoding</h2></A>
<!--%plaintext <?INDEX {\tt AddEncoding} directive> -->
<strong>Syntax:</strong> AddEncoding <em>mime-enc extension
extension...</em><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
--- 43,49 ----
<hr>
! <h2><A name="addencoding">AddEncoding</A></h2>
<!--%plaintext <?INDEX {\tt AddEncoding} directive> -->
<strong>Syntax:</strong> AddEncoding <em>mime-enc extension
extension...</em><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
***************
*** 85,91 ****
program.</p>
! <A name="addlanguage"><h2>AddLanguage</h2></A>
<!--%plaintext <?INDEX {\tt AddLanguage} directive> -->
<strong>Syntax:</strong> AddLanguage <em>mime-lang extension
extension...</em><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
--- 85,91 ----
program.</p>
! <h2><A name="addlanguage">AddLanguage</A></h2>
<!--%plaintext <?INDEX {\tt AddLanguage} directive> -->
<strong>Syntax:</strong> AddLanguage <em>mime-lang extension
extension...</em><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
***************
*** 109,115 ****
is more useful for content negotiation, where the server returns one
from several documents based on the client's language preference.<p><hr>
! <A name="addtype"><h2>AddType</h2></A>
<!--%plaintext <?INDEX {\tt AddType} directive> -->
<strong>Syntax:</strong> AddType <em>mime-type extension
extension...</em><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
--- 109,115 ----
is more useful for content negotiation, where the server returns one
from several documents based on the client's language preference.<p><hr>
! <h2><A name="addtype">AddType</A></h2>
<!--%plaintext <?INDEX {\tt AddType} directive> -->
<strong>Syntax:</strong> AddType <em>mime-type extension
extension...</em><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
***************
*** 181,187 ****
</pre>
! <A name="typesconfig"><h2>TypesConfig</h2></A>
<!--%plaintext <?INDEX {\tt TypesConfig} directive> -->
<strong>Syntax:</strong> TypesConfig <em>filename</em><br>
<strong>Default:</strong> <code>TypesConfig conf/mime.types</code><br>
--- 181,187 ----
</pre>
! <h2><A name="typesconfig">TypesConfig</A></h2>
<!--%plaintext <?INDEX {\tt TypesConfig} directive> -->
<strong>Syntax:</strong> TypesConfig <em>filename</em><br>
<strong>Default:</strong> <code>TypesConfig conf/mime.types</code><br>
1.5 +2 -2 apache/htdocs/manual/mod/mod_negotiation.html
Index: mod_negotiation.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_negotiation.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -C3 -r1.4 -r1.5
*** mod_negotiation.html 1996/12/02 18:14:10 1.4
--- mod_negotiation.html 1997/05/01 05:27:01 1.5
***************
*** 87,93 ****
<hr>
! <A name="cachenegotiateddocs"><h2>CacheNegotiatedDocs</h2></A>
<strong>Syntax:</strong> CacheNegotiatedDocs<br>
<Strong>Context:</strong> server config<br>
<strong>Status:</strong> Base<br>
--- 87,93 ----
<hr>
! <h2><A name="cachenegotiateddocs">CacheNegotiatedDocs</A></h2>
<strong>Syntax:</strong> CacheNegotiatedDocs<br>
<Strong>Context:</strong> server config<br>
<strong>Status:</strong> Base<br>
***************
*** 109,115 ****
! <A name="languagepriority"><h2>LanguagePriority</h2></A>
<!--%plaintext <?INDEX {\tt LanguagePriority} directive> -->
<strong>Syntax:</strong> LanguagePriority <em>mime-lang
mime-lang...</em><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
--- 109,115 ----
! <h2><A name="languagepriority">LanguagePriority</A></h2>
<!--%plaintext <?INDEX {\tt LanguagePriority} directive> -->
<strong>Syntax:</strong> LanguagePriority <em>mime-lang
mime-lang...</em><br>
<Strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
1.20 +11 -11 apache/htdocs/manual/mod/mod_proxy.html
Index: mod_proxy.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_proxy.html,v
retrieving revision 1.19
retrieving revision 1.20
diff -C3 -r1.19 -r1.20
*** mod_proxy.html 1997/04/25 01:29:57 1.19
--- mod_proxy.html 1997/05/01 05:27:01 1.20
***************
*** 181,187 ****
<A name="cachemaxexpire"><h2>CacheMaxExpire</h2></A>
<strong>Syntax:</strong> CacheMaxExpire <em><time></em><br>
! <strong>Default:</strong> </code>CacheMaxExpire 24</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
--- 181,187 ----
<A name="cachemaxexpire"><h2>CacheMaxExpire</h2></A>
<strong>Syntax:</strong> CacheMaxExpire <em><time></em><br>
! <strong>Default:</strong> <code>CacheMaxExpire 24</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
***************
*** 195,201 ****
<A name="cachelastmodifiedfactor"><h2>CacheLastModifiedFactor</h2></A>
<strong>Syntax:</strong> CacheLastModifiedFactor <em><factor></em><br>
! <strong>Default:</strong> </code>CacheLastModifiedFactor 0.1</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
--- 195,201 ----
<A name="cachelastmodifiedfactor"><h2>CacheLastModifiedFactor</h2></A>
<strong>Syntax:</strong> CacheLastModifiedFactor <em><factor></em><br>
! <strong>Default:</strong> <code>CacheLastModifiedFactor 0.1</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
***************
*** 215,221 ****
<A name="cachedirlevels"><h2>CacheDirLevels</h2></A>
<strong>Syntax:</strong> CacheDirLevels <em><levels></em><br>
! <strong>Default:</strong> </code>CacheDirLevels 3</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
--- 215,221 ----
<A name="cachedirlevels"><h2>CacheDirLevels</h2></A>
<strong>Syntax:</strong> CacheDirLevels <em><levels></em><br>
! <strong>Default:</strong> <code>CacheDirLevels 3</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
***************
*** 227,233 ****
<A name="cachedirlength"><h2>CacheDirLength</h2></A>
<strong>Syntax:</strong> CacheDirLength <em><length></em><br>
! <strong>Default:</strong> </code>CacheDirLength 1</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
--- 227,233 ----
<A name="cachedirlength"><h2>CacheDirLength</h2></A>
<strong>Syntax:</strong> CacheDirLength <em><length></em><br>
! <strong>Default:</strong> <code>CacheDirLength 1</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
***************
*** 238,244 ****
<A name="cachedefaultexpire"><h2>CacheDefaultExpire</h2></A>
<strong>Syntax:</strong> CacheDefaultExpire <em><time></em><br>
! <strong>Default:</strong> </code>CacheDefaultExpire 1</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
--- 238,244 ----
<A name="cachedefaultexpire"><h2>CacheDefaultExpire</h2></A>
<strong>Syntax:</strong> CacheDefaultExpire <em><time></em><br>
! <strong>Default:</strong> <code>CacheDefaultExpire 1</code><br>
<strong>Context:</strong> server config<br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
***************
*** 294,300 ****
<li><a href="#socks">Can I use the Apache proxy module with my SOCKS
proxy?</a>
</ul>
! <a name="access"><h2>Controlling access to your proxy</h2>
You can control who can access your proxy via the normal <Directory>
control block using the following example:<p>
--- 294,300 ----
<li><a href="#socks">Can I use the Apache proxy module with my SOCKS
proxy?</a>
</ul>
! <h2><a name="access">Controlling access to your proxy</a></h2>
You can control who can access your proxy via the normal <Directory>
control block using the following example:<p>
***************
*** 309,322 ****
</Directory>
</pre><p>
! <a name="shortname"><h2>Using Netscape hostname shortcuts</h2>
There is an optional patch to the proxy module to allow Netscape-like
hostname shortcuts to be used. It's available
<a href="http://www.apache.org/dist/contrib/patches/1.2/netscapehost.patch">
here</a>.<p>
! <a name="mimetypes"><h2>Why doesn't file type <i>xxx</i> download via
FTP?</h2>
You probably don't have that particular file type defined as
<i>application/octet-stream</i> in your proxy's mime.types configuration
--- 309,322 ----
</Directory>
</pre><p>
! <h2><a name="shortname">Using Netscape hostname shortcuts</a></h2>
There is an optional patch to the proxy module to allow Netscape-like
hostname shortcuts to be used. It's available
<a href="http://www.apache.org/dist/contrib/patches/1.2/netscapehost.patch">
here</a>.<p>
! <h2><a name="mimetypes">Why doesn't file type <i>xxx</i> download via
FTP?</a></h2>
You probably don't have that particular file type defined as
<i>application/octet-stream</i> in your proxy's mime.types configuration
***************
*** 326,340 ****
application/octet-stream bin dms lha lzh exe class tgz taz
</pre>
! <a name="startup"><h2>Why does Apache start more slowly when using the
! proxy module?</h2>
If you're using the <code>ProxyBlock</code> or <code>NoCache</code>
directives, hostnames' IP addresses are looked up and cached during
startup for later match test. This may take a few seconds (or more)
depending on the speed with which the hostname lookups occur.<p>
! <a name="socks"><h2>Can I use the Apache proxy module with my SOCKS
proxy?</h2>
Yes. Just build Apache with the rule <code>SOCKS4=yes</code> in your
<i>Configuration</i> file, and follow the instructions there. SOCKS5
--- 326,340 ----
application/octet-stream bin dms lha lzh exe class tgz taz
</pre>
! <h2><a name="startup">Why does Apache start more slowly when using the
! proxy module?</a></h2>
If you're using the <code>ProxyBlock</code> or <code>NoCache</code>
directives, hostnames' IP addresses are looked up and cached during
startup for later match test. This may take a few seconds (or more)
depending on the speed with which the hostname lookups occur.<p>
! <h2><a name="socks">Can I use the Apache proxy module with my SOCKS
proxy?</a></h2>
Yes. Just build Apache with the rule <code>SOCKS4=yes</code> in your
<i>Configuration</i> file, and follow the instructions there. SOCKS5
1.8 +2 -2 apache/htdocs/manual/mod/mod_rewrite.html
Index: mod_rewrite.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_rewrite.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -C3 -r1.7 -r1.8
*** mod_rewrite.html 1997/04/15 08:00:19 1.7
--- mod_rewrite.html 1997/05/01 05:27:02 1.8
***************
*** 586,597 ****
<p>
<li>There is the special format: <tt>%{LA-U:url}</tt>
! for look-aheads like <tt>-U</tt>. This performans a internal sub-request to
look-ahead for the final value of <i>url</i>.
<p>
<li>There is the special format: <tt>%{LA-F:file}</tt>
! for look-aheads like <tt>-F</tt>. This performans a internal sub-request to
look-ahead for the final value of <i>file</i>.
</ol>
--- 586,597 ----
<p>
<li>There is the special format: <tt>%{LA-U:url}</tt>
! for look-aheads like <tt>-U</tt>. This performs a internal sub-request to
look-ahead for the final value of <i>url</i>.
<p>
<li>There is the special format: <tt>%{LA-F:file}</tt>
! for look-aheads like <tt>-F</tt>. This performs a internal sub-request to
look-ahead for the final value of <i>file</i>.
</ol>
1.6 +1 -1 apache/htdocs/manual/mod/mod_userdir.html
Index: mod_userdir.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_userdir.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -C3 -r1.5 -r1.6
*** mod_userdir.html 1997/03/16 23:34:02 1.5
--- mod_userdir.html 1997/05/01 05:27:02 1.6
***************
*** 18,24 ****
<hr>
! <A name="userdir"><h2>UserDir</h2></A>
<!--%plaintext <?INDEX {\tt UserDir} directive> -->
<strong>Syntax:</strong> UserDir <em>directory/filename</em><br>
<strong>Default:</strong> <code>UserDir public_html</code><br>
--- 18,24 ----
<hr>
! <h2><A name="userdir">UserDir</A></h2>
<!--%plaintext <?INDEX {\tt UserDir} directive> -->
<strong>Syntax:</strong> UserDir <em>directory/filename</em><br>
<strong>Default:</strong> <code>UserDir public_html</code><br>
1.10 +2 -2 apache/htdocs/manual/mod/mod_usertrack.html
Index: mod_usertrack.html
===================================================================
RCS file: /export/home/cvs/apache/htdocs/manual/mod/mod_usertrack.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -C3 -r1.9 -r1.10
*** mod_usertrack.html 1997/04/18 22:01:14 1.9
--- mod_usertrack.html 1997/05/01 05:27:03 1.10
***************
*** 45,51 ****
<hr>
! <a name="cookieexpires"><h2>CookieExpires</h2></A>
<strong>Syntax:</strong> CookieExpires <em>expiry-period</em><br>
<strong>Context:</strong> server config, virtual host<br>
<strong>Status:</strong> optional<br>
--- 45,51 ----
<hr>
! <h2><a name="cookieexpires">CookieExpires</A></h2>
<strong>Syntax:</strong> CookieExpires <em>expiry-period</em><br>
<strong>Context:</strong> server config, virtual host<br>
<strong>Status:</strong> optional<br>
***************
*** 60,66 ****
<p>If this directive is not used, cookies last only for the current
browser session.</p>
! <a name="cookietracking"><h2>CookieTracking</h2></A>
<strong>Syntax:</strong> CookieTracking <em>on | off</em><br>
<strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>
--- 60,66 ----
<p>If this directive is not used, cookies last only for the current
browser session.</p>
! <h2><a name="cookietracking">CookieTracking</A></h2>
<strong>Syntax:</strong> CookieTracking <em>on | off</em><br>
<strong>Context:</strong> server config, virtual host, directory,
.htaccess<br>