pcs [Sun, 10 May 1998 16:12:09 +0000 (16:12 +0000)]
Update windows instructions for 1.3b6. Move compilation stuff to the end
on the basis that most users will be interested in the pre-compiled
installer. Document the registry key used and how it relates to
command line arguments (-d, -f) and the ServerRoot directive. Show how
to start and stop the Apache service from the command line.
Ken Coar [Fri, 8 May 1998 12:09:46 +0000 (12:09 +0000)]
Change the default setting of AddVersionPlatform to 'on'. Jim,
Brian Havard, and Marc think that's better - and if Marc, who is
so security-conscious, thinks it's a good idea that tips me over
to that side as well.
Ken Coar [Thu, 7 May 1998 12:24:21 +0000 (12:24 +0000)]
Add the core AddVersionComponent and AddVersionPlatform directives,
which make the SERVER_SUBVERSION functionality a runtime thing and
allow adding OS identity to the Server-Version string respectively.
PR: 2056
Reviewed by: Jim Jagielski, Martin Kraemer, Brian Behlendorf
brian [Tue, 5 May 1998 05:09:31 +0000 (05:09 +0000)]
PR:
Slightly improve the grammar; however, in my opinion this whole chunk can just
be tossed out of the FAQ. I can't believe we're actually asked "how can I make
only one file executable?".
This should help folks trying to understand vhosts. It adds the command
line option -S which dumps a description of how apache parsed the vhost
directives. In particular it'd really help the folks who recently ran
into /etc/hosts mismatches with DNS.
Marc Slemko [Sat, 11 Apr 1998 06:34:23 +0000 (06:34 +0000)]
Fix FAQ entry on problems with POST, plus a few cleanups. The old
entry is extremely misleading, and answering a Q that isn't really FA,
and I see someone posting somewhere every week who tries this to
fix their "method not allowed" problems.
Although mod_mmap_static is an experimental module it works fine and already
is distributed with Apache it was not prepared the same way as the other
modules. Hence let us give it a first cut for a documentation and an
(disabled, of course) entry in the Configuration.tmpl file.
Dean: Feel free to fix both my english and my initial content in the
mod_mmap_static.html document. It's your baby, so you know
best what is missing.
Ken Coar [Tue, 31 Mar 1998 12:52:05 +0000 (12:52 +0000)]
Modify the licence clauses for 1.3 to prohibit derived packages
from claiming to be "Apache" without the AG's permission. (Always
the intent, I believe, but previously not explicit enough.)
Hopefully this will help deter further dilution of the brand.
Reviewed by: Paul Sutton, Ben Laurie, Jim Jagielski, Randy Terbush,
Roy Fielding, Chuck Murcko, Mark Cox, Ralf Engeschall,
Sameer Parekh, Martin Kraemer, Dean Gaudet, Brian Behlendorf
pcs [Sat, 21 Mar 1998 17:03:49 +0000 (17:03 +0000)]
Update docs to reflect the fact that mod_dll has been replaced by mod_so.
In particular, mark mod_dll as obselete, add Windows information and
examples to mod_so documentation, copy info about creating DLLs from
mod_dll.html to mod_so.html (although this needs more work to add info
for Unix users, since most of the description applies to all systems).
dgaudet [Sun, 15 Mar 1998 21:39:50 +0000 (21:39 +0000)]
- The "merging" optimization in mod_setenvif did not deal with
SetEnvIfNoCase properly; and it used strcmp() to compare header
names when it should use strcasecmp().
- Change the merging optimization so that it only considers the most
recent setenvif for merging. This means that mod_setenvif will
consider all directives in the order they appear in the config file.
- Document that mod_setenvif considers directives in the order they
appear, and give an example use.
- Perform more comparisons at compile-time in order to speed up things
at compile-time.
dgaudet [Fri, 6 Mar 1998 09:37:08 +0000 (09:37 +0000)]
Change to the multiple-slash behaviour of LocationMatch for consistency
with AliasMatch and RewriteRule. This was discussed in nh.9711, search
for subject "mod_rewrite/1440". My proposed change had the support of
Roy, Ken and Dirk... I modified it slightly here so that it wouldn't
break every single existing config that has <Location /server-status>.
Adding of new information. Now especially the detailed information about how
mod_rewrite internally works which is written down here for better
understanding of the directive documentation. I've also painted two initial
figures to illustrate this better which are added to htdocs/manual/images/.
(Phase 2 will be error correction and markup code cleanup)
dgaudet [Wed, 4 Mar 1998 08:53:52 +0000 (08:53 +0000)]
I thought we got rid of all the <Limit> ... </Limit> in our examples... is
there some reason this one is still around? I'm ditching it anyhow unless
someone explains why it's necessary.
Add %a to mod_log_config for inserting the remote IP-address. This is the
adapted patch against 1.3 of Todd Eigenschink <eigenstr@mixi.net>'s original
patch for 1.2.5. For 1.2.5 we don't want it because its a feature. I also
added corresponding entries to the CHANGES and mod_log_config.html file.
Submitted by: Todd Eigenschink <eigenstr@mixi.net>
Reviewed by: Ralf S. Engelschall
Ops, we have totally mis-documented the %{LA-U:xxx} and %{LA-F:xxx}
constructs, thus no one noticed that it can be used to lookup the REMOTE_USER
variable (one of the mod_rewrite FAQs) even in per-server context. One just
has to use %{LA-U:REMOTE_USER} instead of %{REMOTE_USER} there. Notice that
%{REMOTE_USER} is also useful, but only for per-dir context.
First part to fix the synchronization-locking for RewriteMap programs under
Unix derivates who doesn't accept the locking of pipes directly.
But we perhaps have another problem: According to FreeBSD's manpage and a hint
by the submitter of PR#1029 flock() has to be used on opened filedescriptors
which are _not_ duplicated via fork(). This currently is not the case...
Submitted by: Ralf S. Engelschall
Reviewed by: Ralf S. Engelschall, Jim Jagielski
Add the new RewriteMap types `rnd' and `int' to mod_rewrite to allow Apache to
be used as a Reverse Proxy (where the backend servers are choosen via a `rnd'
map) and to allow mass virtual hosting without <VirtualHost> sections (where
you have to fix the case of server names when translating the Host-Header to a
directory structure).
Together with the comitted ProxyPassReverse directive we now have solved
two things the users have asked in the past:
1. The ability to use Apache as a full-featured Reverse Proxy
2. The ability to do mass virtual hosting without <VirtualHost> sections.
For both topics we should write stand-alone documents (perhaps inside
htdocs/manual/misc/) because they are not trivial to do, even when we now have
the functionality ;-)
Submitted by: Ralf S. Engelschall
Reviewed by: Dean Gaudet, Ralf S. Engelschall
dgaudet [Wed, 18 Feb 1998 10:01:01 +0000 (10:01 +0000)]
Fix various parsing bugs with <Dir/Loc/Files> sections. Improve the
error messages generated. Introduced cmd->end_token to make it easier
to do nested sections with proper error reporting. (Note that it can't
be used for <IfModule> or <Limit> unfortunately.)
PR#379: <Files> is not allowed within <Location> because it has no effect.
PR#1817: Change <Files> to work with basenames only. This fixes both
the bug introduced by the wildcarding change (* doesn't match /) and
bugs such as <Files a*b> not working.
Martin Kraemer [Thu, 5 Feb 1998 09:58:40 +0000 (09:58 +0000)]
Add a document describing a solution which uses XSSI and negotiation
to custom-tailor the apache ErrorDocuments to taste, adding the
advantage of returning internationalized versions of the error
messages depending on the client's language preferences.
dgaudet [Sun, 1 Feb 1998 22:05:29 +0000 (22:05 +0000)]
Add the UseCanonicalName directive which controls how self-referential
redirects are generated. This was at least approved in spirit by a
handful of folks two weeks ago. The default should be no behaviour
change.
This changes the prototype of construct_url(), and adds two new
API functions: get_server_name() and get_server_port(). So the
MODULE_MAGIC_NUMBER has been bumped.
PR: 315, 459, 485, 1433
Submitted by: Michael Douglass <mikedoug@texas.net>, Dean Gaudet
Ken Coar [Mon, 26 Jan 1998 16:54:35 +0000 (16:54 +0000)]
A truly mighty mod normalising HTML tags to uppercase, and
'i' and 'b' to 'EM' and 'STRONG' respectively. Been threatening
to do this for months.. no-one need try to maintain this when
writing/modifiying the docs.
brian [Mon, 26 Jan 1998 07:02:32 +0000 (07:02 +0000)]
PR:
If SGI is going to break their links, I'm not about to go ferreting around
their site looking for where they moved it to. Since the other entry is
generic for all OS's (or at least doesn't clearly state HOW it's related),
I've removed the SGI entry.
brian [Mon, 26 Jan 1998 06:58:31 +0000 (06:58 +0000)]
PR:
If SCO's going to break their links, I'm not going to go searching for where they
moved it to.
Cold and rainy and dark.
ml" -->
<H1 ALIGN="CENTER">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
server closes a TCP connection, it sends a packet with the FIN bit
sent to the client, which then responds with a packet with the ACK bit
set. The client then sends a packet with the FIN bit set to the
server, which responds with an ACK and the connection is closed. The
state that the connection is in during the period between when the
server gets the ACK from the client and the server gets the FIN from
the client is known as FIN_WAIT_2. See the <A
HREF="ftp://ds.internic.net/rfc/rfc793.txt">TCP RFC</A> for the
technical details of the state transitions.<P>
The FIN_WAIT_2 state is somewhat unusual in that there is no timeout
defined in the standard for it. This means that on many operating
systems, a connection in the FIN_WAIT_2 state will stay around until
the system is rebooted. If the system does not have a timeout and
too many FIN_WAIT_2 connections build up, it can fill up the space
allocated for storing information about the connections and crash
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 numerous reasons for it happening, some of them may not
yet be fully clear. What is known follows.<P>
<H3>Buggy clients and persistent connections</H3>
Several clients have a bug which pops up when dealing with
<A HREF="../keepalive.html">persistent connections</A> (aka keepalives).
When the connection is idle and the server closes the connection
(based on the <A HREF="../mod/core.html#keepalivetimeout">
KeepAliveTimeout</A>), the client is programmed so that the client does
not send back a FIN and ACK to the server. This means that the
connection stays in the FIN_WAIT_2 state until one of the following
happens:<P>
<UL>
<LI>The client opens a new connection to the same or a different
site, which causes it to fully close the older connection on
that socket.
<LI>The user exits the client, which on some (most?) clients
causes the OS to fully shutdown the connection.
<LI>The FIN_WAIT_2 times out, on servers that have a timeout
for this state.
</UL><P>
If you are lucky, this means that the buggy client will fully close the
connection and release the resources on your server. However, there
are some cases where the socket is never fully closed, such as a dialup
client disconnecting from their provider before closing the client.
In addition, a client might sit idle for days without making another
connection, and thus may hold its end of the socket open for days
even though it has no further use for it.
<STRONG>This is a bug in the browser or in its operating system's
TCP implementation.</STRONG> <P>
The clients on which this problem has been verified to exist:<P>
<UL>
<LI>Mozilla/3.01 (X11; I; FreeBSD 2.1.5-RELEASE i386)
<LI>Mozilla/2.02 (X11; I; FreeBSD 2.1.5-RELEASE i386)
<LI>Mozilla/3.01Gold (X11; I; SunOS 5.5 sun4m)
<LI>MSIE 3.01 on the Macintosh
<LI>MSIE 3.01 on Windows 95
</UL><P>
This does not appear to be a problem on:
<UL>
<LI>Mozilla/3.01 (Win95; I)
</UL>
<P>
It is expected that many other clients have the same problem. What a
client <STRONG>should do</STRONG> is periodically check its open
socket(s) to see if they have been closed by the server, and close their
side of the connection if the server has closed. This check need /export/home/cvs/CVSROOT/cvsedit
dgaudet [Sun, 25 Jan 1998 03:52:19 +0000 (03:52 +0000)]
- no need to use stat() since r->finfo is already what we need
- no need to play with atime/mtime crud, the web server doesn't preserve
that info normally anyhow
- deal with r->finfo.st_mode == 0 || !r->filename (i.e. not a disk file)
- don't reference mime_module.type_checker, this should be controlled by
the ordering within Configuration
- work properly with multiple vhosts
- doc update: even prior to this patch, the code was disabled if there
was no MimeMagicFile directive.
Jim Jagielski [Fri, 23 Jan 1998 00:36:34 +0000 (00:36 +0000)]
PR:
Obtained from:
Submitted by: Jim Jagielski
Reviewed by:
Best of both worlds... Let the world know if we have mmap and/or
shmget as well as controlling which to use for scoreboard. This
should be a complete patch, so if any docs were skipped, feel free
to update 'em
brian [Tue, 20 Jan 1998 18:32:55 +0000 (18:32 +0000)]
PR:
First stab at updating. Other windows developers need to make sure this
still makes sense! Notably, does the line break problem mean that the .tar.gz
distribution can't be compiled on NT?