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.
Scratched an itch; it was just to painfull to move
binaries around on FreeBSD - due to differences on
the platform apache was compiled on and it was actually
ran on. This adds AcceptFilter on/off to make live
easier. Corresponding commit in doc's coming up.
Martin Kraemer [Wed, 4 Jul 2001 12:09:51 +0000 (12:09 +0000)]
Print a warning when an attempt is made to use line-end comments.
Apparently they are not detected/handled gracefully by all directives.
Also, change one occurrance (Group #-1) to use a quoted string (Group "#-1")
Jeff Trawick [Fri, 22 Jun 2001 12:43:55 +0000 (12:43 +0000)]
These patches affect only TPF.
They are driven by changes to the TPF operating system:
updates in shutdown processing to accommodate new code in TPF's
Internet Daemon
updates to allow non-blocking file descriptors on TPF now that our
select() supports non-socket file descriptors
changes to os.c to take advantage of TPF's newly enhanced version
of fork and exec
moving TPF-specific printf's for the -V option from http_main.c to
os.c
Submitted by: David McCreedy <McCreedy@us.ibm.com>
Reviewed by: Jeff Trawick
Martin Kraemer [Tue, 12 Jun 2001 08:39:03 +0000 (08:39 +0000)]
Fixes to produce the Cygwin 1.x binaries out-of-the-box;
Fix perform_idle_server_maintenance() for Cygwin: use SIGKILL rather
than SIGUSR1 because the latter has no effect.
PR: PR#7837 and PR#7838
Submitted by: Stipe Tolj <tolj@wapme-systems.de>
Reviewed by: Martin Kraemer