Mark J. Cox [Wed, 3 Oct 2001 17:46:57 +0000 (17:46 +0000)]
Add a guide to Apache 1.3.21 changes, taken from the commit logs so not
to miss things in CHANGES and sorted into categories, with minor changes
lumped together and some explanations changed to be more readable.
PR:
Obtained from:
Submitted by: Mark Cox
Reviewed by: Several Red Hat Apache Week team members
Greg Stein [Wed, 3 Oct 2001 12:59:03 +0000 (12:59 +0000)]
Use an installed Expat when available, rather than the builtin one.
Presuming the installed one is a shared library, then this should resolve
some of the longstanding issues with mod_perl / XML::Parser::Expat.
Lars Eilebrecht [Tue, 2 Oct 2001 21:54:32 +0000 (21:54 +0000)]
Update mime.types file.
Map video/vnd.mpegurl to mxu according to
ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/video/vnd.mpegurl
and audio/x-mpegurl to m3u, because it is commonly used.
Submitted by: Heiko Recktenwald <uzs106@uni-bonn.de>
Reviewed by: Sander van Zoest, Lars Eilebrecht
Bill Stoddard [Tue, 2 Oct 2001 21:01:31 +0000 (21:01 +0000)]
Modified mod_mime and mod_negotiation to prevent mod_negotiation
from serving any multiview variant containing one or more
'unknown' filename extensions. In PR #8130, mod_negotiation was
incorrectly serving index.html.zh.Big5 when better variants were
available. The httpd.conf file on the failing server did not have
an AddLanguage directive for .zh, which caused mod_mime to loose
the file_type information it gleened from parsing the .html
extension. The absence of any language preferences, either in
the browser or configured on the server, caused mod_negotiation
to consider all the variants equivalent. When that occurs,
mod_negotiation picks the 'smallest' variant available, which
just happened to be index.html.zh.Big5.
[Bill Stoddard, Bill Rowe] PR #8130
Correction to the changelog for revision 1.12 (the committed note applied
to mod_unique_id.)
Rev 1.12 simply changed the config parser to test ap_os_is_path_absolute
rather than looking for a leading '/' (which didn't work on Netware, OS/2
nor Win32.)
Steal a play from mod_proxy, which taught us this Win32 lesson. Threaded
local storage must be allocated with the Tls*() family of functions, or
the dynamically loaded module _will_ clobber our clib's (msvcrt's) own
thread saftey stacks.
I _don't_ know what the other multithread platforms require in terms of
initialization. OS2/Netware maintainers can steal the idea from the
Win32 get_cur_unique_id() implementation, to initialize other copies
on the fly (if required.) They may already call child_init for every
thread, so child_init could call the master_init to set up this thread's
variables. Remember that the get_cur_unique_id() applies to straight
un*x fork implementations as well, so protect with #ifdef PLAT sections.
Bill Stoddard [Tue, 2 Oct 2001 16:05:20 +0000 (16:05 +0000)]
Back port W. Rowe's 2.0 a fix for the /?M=D autoindex problem.
These two lines missing from the fast-redirect logic of mod_negotation.c are what
allowed mod_dir to reconstruct the _original_ path (to index.html instead of the
new-found index.html.foo), merging the uri (unchanged) with the query string.
It then failed, leaving an autoindex listing iff the user provided a query string.
Martin Kraemer [Thu, 27 Sep 2001 18:12:04 +0000 (18:12 +0000)]
* configure: added case for Cygwin to translate shared module
extensions from .so to .dll. Almost the same as for OS2.
* htdocs/manual/cywin.html: added related changes to the configure
and build process for shared module DLLs.
* src/Configure: cleaned up Cygwin case for OS specific variable
declaration. Removed no longer need $DLL_IMPORT_DEF and
$DLL_IMPORT_LIB variables.
* src/Makefile.tmpl: removed no longer needed $DLL_IMPORT_LIB
variable.
* src/main/http_main.c: added dllexport declaration for int REALMAIN
for SHARED_CORE support.
* src/modules/standard/Makefile.Cygwin: added this new file to
reflect the extra rules needed to link the shared module DLLs. Very
similar to src/modules/standard/Makefile.OS2.
* src/os/cygwin/os.h: added explicit dllimport and dllexport
declarations for API_VAR_EXPORT and API_EXPORT(type).
Bill Stoddard [Wed, 26 Sep 2001 14:41:11 +0000 (14:41 +0000)]
Win32: Set errno to ENAMETOOLONG when os_stat() returns -1.
This will fix problem where Apache on Windows can return a directory index when
it should return a negotiated file. read_types_multi() iterates over
the entries in a directory to build a candidate list of
files to negotiate. ap_sub_req_lookup_file() is called for each file
which in turn calls stat() (os_stat() on Windows) to verify the file exists.
mod_negotiation will decline the request (rather than failing the
request as it should) if os_stat() fails and errno is not set.
Mark J. Cox [Wed, 26 Sep 2001 08:00:03 +0000 (08:00 +0000)]
Update the mime.types file to the registered media types as
of 2001-09-25 at IANA, and add xsl extension. Also add .so and .dll
as already applied to Apache 2.0
PR:
Obtained from:
Submitted by:
Reviewed by:
Remove showstopper; as trawick commit of 2001/09/11 12:19:09
has cleaned them up.
Added a >1 comparison to not do statistics if there are less
than 2 entries (and hence the standard deviation check would
explode on a divide by zero).
Some Cygwin portability changes, from
Message-ID: <3BAB4213.74AA3C0F@wapme-systems.de>
Did not include the below patch to install.sh since this looked like
it would affect other OSs...
# Check if we need to add an executable extension (such as ".exe")
-# on specific OS to src and dst
+# on specific OS to src and dst.
+# At least Cygwin requires this to ensure a clean "make install".
if [ -f "$src.exe" ]; then
- if [ -f "$src" ]; then
- : # Cygwin [ test ] is too stupid to do [ -f "$src.exe" ] && [ ! -f "$src" ]
- else
ext=".exe"
- fi
fi
src="$src$ext"
dst="$dst$ext"
ErrorDocument 404 pointing to a parsed html file with a
<!--#include virtual="file" --> with a request URI containing
%2f would result in a segfault (NULL pointer deref, not a
security problem).
Introduce vhost_alias and unique_id to the win32 build. The code needs
some work, but there are several folks who've been pitching in. If this
isn't ready when we are ready to roll, I'll revert.
Untested - btw - since mod_auth entirely broke the win32 build.
Jim Jagielski [Tue, 4 Sep 2001 18:15:16 +0000 (18:15 +0000)]
Add the AcceptMutex runtime directive, which allows for the
accept mutexing method to be set at runtime (the suite of
methods is set at compile time still).
PR:
Obtained from:
Submitted by:
Reviewed by:
Martin Kraemer [Wed, 29 Aug 2001 13:32:07 +0000 (13:32 +0000)]
Parallel to a change in Apache-2.0, the manual directory was moved out of
the DocumentRoot tree to simplify the separation of private
content&configuration from server's on-line documentation. An "Alias
/manual/ ..." projects the manual/ directory (which resides now
side-by-side with the icons/ directory) into the logical DocumentRoot.
Note that a request to http://server/manual (without the trailing slash)
will now behave different than before (it used to redirect to
http://server/manual/ but no longer does).
Mark J. Cox [Wed, 29 Aug 2001 12:08:33 +0000 (12:08 +0000)]
I've had a couple of emails from users using mod_usertrack for authentication.
Add the equivalent of a "warning: coffee may be hot" label, and fix a broken
email address at the same time.
PR:
Obtained from:
Submitted by:
Reviewed by:
Martin Kraemer [Thu, 23 Aug 2001 06:38:25 +0000 (06:38 +0000)]
uptr->path (if it is ever NULL) will stop ap_unparse_uri_components()
from working as expected.
Submitted by: Justin Erenkrantz <jerenkrantz@ebuilt.com>
Ken Coar [Wed, 15 Aug 2001 21:45:41 +0000 (21:45 +0000)]
The last commit got away from me; this explains both. First, make
the CookeExpires directive an OR_FILEINFO one like all the others.
Next, add a CookieDomain directive so the Domain= attribute may be
customised. Next, add a CookieStyle directive so that the syntax
of the cookie may be set. Historically we have always used the
obsolete Netscape syntax, and this is still the default. However,
CookieStyle allows the RFC2109 syntax (essentially Max-Age instead
of Expires) or RFC2965 ([Set-]Cookie2) syntax to be used.
Bradley Nicholes [Mon, 13 Aug 2001 17:09:42 +0000 (17:09 +0000)]
Redefined ap_http_method(r) to ap_os_http_method(r) for NetWare so that
we can appropriately recontruct the URL in ap_contruct_url() based on a
secure or unsecure socket.
Bradley Nicholes [Fri, 10 Aug 2001 01:14:29 +0000 (01:14 +0000)]
Made sure that the variables ap_listenbacklog and ap_listeners are initialized
before they are used to avoid linker errors when using the NLMCONV utility
to build Apache for NetWare. Patch submitted by Pavel Novy.
Martin Kraemer [Mon, 30 Jul 2001 11:34:01 +0000 (11:34 +0000)]
EBCDIC: The proxy, when used in a proxy chain, "forgot" to
convert the "CONNECT host:port HTTP/1.0" request line to ASCII
before contacting the next proxy, and was thus unusable for
SSL proxying.
All stable/release versions of FreeBSD, pre- and post SO_ACCEPTFILTER
will give ENOPROTO. So ENOENT can go. Also it is sometimes hard to find
out what the kernel status is; this change in logging will give the
user at least a chance to figure out what is happening.
Added the ENOPROTOOPT ent suggested by Ryan. Although
we propably need to hunt around on FreeBSD; as some
intermediate releases might have given a different Eno.
But then again those where on the current track. So they
are safe to ignore.
NetWare has a fixed lengh stack. Since MAX_STRING_LEN is set
to 8k, one call to send_parsed_content() chews up 24k of stack space.
During a server-side include evaluation this function is
called recusively, allocating 24k each time. Obviously it
doesn't take long to blow a 64k stack which is the default
for Apache for NetWare. Since MAX_STRING_LEN is used all
throughout the Apache code, we should rethink using a default
of 8k especially in recursive functions.