Ken Coar [Sun, 6 May 2001 22:00:02 +0000 (22:00 +0000)]
Add ability to escape characters in Rewrite* input strings using
'\' (e.g., "\$" to keep it from having its special meaning), and
NoEscape/NE flag to disable filtering the rewritten output through
URI encoding.
Changed the initial screen handling for NetWare so that the -s parameter will
properly destroy the Apache console screen and switch to the system
console screen. Also removed the call to clrscr() for NetWare so that any
warning messages produced during startup are visible.
Martin Kraemer [Wed, 11 Apr 2001 21:23:54 +0000 (21:23 +0000)]
Fix two bugs in ab:
1) The Host: header was not filled in correctly (it used the proxyhost,
not the destination host), and
2) on POST requests, the wrong path was used.
*Sigh.* Taking tjis back out *again,* to keep things fast in the default case.
This appears not to be expected to return the port in all cases; module
authors should not expect this to be the case.
Needed to check this, but ap_parse_uri_components was not ensuring that
the parsed uri's port field was set. This one-liner takes care of that.
Reviewed by: Chuck Murcko <chuck@topsail.org>
Martin Kraemer [Mon, 2 Apr 2001 09:22:11 +0000 (09:22 +0000)]
Integrate support for the Cygwin 1.x platform (a POSIX emulation layer
for Win32 systems, see http://www.cygwin.com)
[Stipe Tolj <tolj@wapme-systems.de>]
PR: #2936
Submitted by: Stipe Tolj <tolj@wapme-systems.de>
Reviewed by: Roy Fielding, Martin Kraemer
It turns out that 'ab' has been under reporting apache's performance
for years; this patch fixes that; and also adds
- median/standard deviation calculations; to get an
idea of how good your measurement is. And a warning
if results are way out of bound.
- prints a 'percentile' table. Which shows the time it
took to process 50,66,80,90 etc percent of the requests.
- fixes a significant int overrun bug which caused longer
runs to generate realistic but totally bogus results. And
also changes in the write/pipe error handling to not cause
those skew a test unnoticed) Credits to Sander Temme
<sander@covalent.net> for solving this riddle.
- add's gnuplot/CSV output for postprocessing.
- adds very rudimentary SSL support.
For full details on why this was nessesary (and lead to surprizing
results to say the leat); attend Sander Temme his talk at the
Santa Clara Apache Con next week:
TH18: Measuring and Enhancing Apache Performance
Day: Thu Time: 18h30
This presentation will describe a facility for testing web
server performance and will present some test results
for various system- and Apache configuration options.
Additionally, some suggestions on performance tuning will be presented.
Sorry for the size of the patch - but for various reasons we did not
get round to committing it :-( Getting results and getting confidence
in the output was just more important. I will do asap for 2.0 as well.
Input/comments/cronstructive critism as to the processing and presentation
of the data is greatly appreciated !
Resolve the stdcall/cdecl ambiguity that caused Win2K to crash with the
set service description patch. Also lighten the load (don't allocate
a handle) to get at the advapi32.dll we already statically link to.
PR: 7471
Submitted by: Roman Neuhauser <cynic@mail.cz>
Solved a very serious threading problem with WinNT/2K Services. The
moment master_main told that the shutdown was complete, the parent
control thread exited Apache, leaving mod_jserv's Java process running
and alternately invoking mod_perl's cleanups from the correct thread
or the service control thread. [William Rowe]
Clean out a bunch of stale code. This patch should effectively be a
noop, simply making the code easier to follow before committing the
real fix to our thread-jumping mod_perl/mod_jserv parent process bug.
Jeff Trawick [Fri, 16 Mar 2001 14:13:40 +0000 (14:13 +0000)]
Change any slashes in the "uname -m" output to underbars. HP machines
have slashes in the name, and a slash in the machine name, and thus the
name of a binary distribution, messes up binbuild.sh (among other things).
Chuck Murcko [Fri, 16 Mar 2001 07:01:23 +0000 (07:01 +0000)]
Allow empty headers in mod_proxy. See below:
Empty headers are allowed by RFC2068 section 4.2. The presence or
absence of an empty header can be significant. The current mod_proxy
of httpd 1.3.x removes empty headers. Change mod_proxy to preserve
empty headers.
Submitted by: Christian von Roques <roques@mti.ag>
Reviewed by: Graham Leggett, Chuck Murcko
Jeff Trawick [Wed, 14 Mar 2001 04:43:04 +0000 (04:43 +0000)]
Fix a typo in a comment.
PR: 7404 (which had a patch for the hostname lookup core dump
which was already fixed as well as this typo)
Submitted by: Kunihiro Tanaka <tanaka@apache.or.jp>
Ken Coar [Tue, 13 Mar 2001 20:05:05 +0000 (20:05 +0000)]
Improve customisability of rotatelogs' behaviour. Allow the
logfile name to be formatted according to strftime(3), and
let the user specify an offset from UTC.
Martin Kraemer [Tue, 13 Mar 2001 10:22:21 +0000 (10:22 +0000)]
Ignasi writes,...
The first correction is not important, only removes a redundant line,
the ap_pstrdup(a, "127.0.0.1") is done anyway at the end of the function.
The second correction is really a bug the p-> can be NULL.
Martin Kraemer [Mon, 12 Mar 2001 10:23:34 +0000 (10:23 +0000)]
Brad writes,
Even though I don't run AIX, I was reading BUILD.NOTES and went to the URL
specified in the AIX section about the PTFs to find the URL does not work
anymore, I have found this URL to find the PTFs at
http://techsupport.services.ibm.com/rs6k/fixdb.html
Martin Kraemer [Fri, 9 Mar 2001 10:17:48 +0000 (10:17 +0000)]
David McCreedy writes:
> I've update the text files in os/tpf/samples, in part due to these ebcdic
> patches.
> I'd like to
>
> - remove os/tpf/samples/linkdll.jcl
> - add os/tpf/samples/linkhttp.jcl
Submitted by: "David McCreedy" <mccreedy@us.ibm.com>
Martin Kraemer [Fri, 9 Mar 2001 10:10:55 +0000 (10:10 +0000)]
I added configurable EBCDIC configuration functionality to http_core.c;
because conversion is a base feature, this looked like the only sensible
place to me. Other basic features like Resource limits live there too.
* make EBCDIC conversion truly configurable. Up to know, there was a
hardwired assumption that only files of MIME type text/* (and a few
exceptions) could be EBCDIC files; and everything else HAD TO BE
binary. This assumption breaks (again and again) for MIME types like
application/postscript, model/vrml, application/x-javascript and
others, which can never be stored as EBCDIC text files.
I now implemented two new directives for defining the conversion
based on MIME type or file extension. The conversion can be set for
upload and download independently, on or off, for any file.
* make EBCDIC conversion symmetric. Up to now, there was no clean way
to deal with uploaded content (POST with Content-Type:, PUT with
Content-Type:) because a) there was no MIME checker attached to the
header-reader, and b) you could not actually define a conversion
based on MIME type. Both deficiencies have now been addressed (the
ap_checkconv_in() routine is called upon parsing of an uploaded
Content-Type: line, and it can set a flag which is different from
the download conversion flag. Also, its change is triggered at a
different phase in the request handling: the upload conversion
is set as soon as a Content-Type: for an uploaded document is
detected, but the download conversion is only set when the
response is about to be returned). All this was impossible in the
past.
* unify the EBCDIC tables to be in a single common file
src/ap/ap_ebcdic.c (and src/include/ap_ebcdic.h) instead
of having redundant copies under src/os/{tpf,bs2000,os390}/ebcdic.{c,h}
The common file will have the correct translation table
conditionally compiled based on #ifdef TPF/OS390/_OSD_POSIX.
Up to now, each EBCDIC had its own copy, cloned and slightly
adapted.
* Also, put the conversion checker ap_checkconv() to http_core,
because is is an essential central cog in the whole conversion
clockwork. Until now, three almost incompatible copies were
spread throughout the EBCDIC platforms' os.c files.
Martin Kraemer [Fri, 2 Mar 2001 12:35:53 +0000 (12:35 +0000)]
Ignasi writes:
Both mod_ssl and KAME-ipv6 patch sets are adding the
if (fd >= 0) in the FD_SET(fd, &listenfds) on http_main.c.
I think this patch doesn't concert neither to mod_ssl nor to IPv6.
I agree, and I think it avoids a potential core dump too.
Submitted by: "Roca Carrio, Ignasi" <Ignasi.Roca@fujitsu-siemens.com>
Clean up this mess ... stripped out all the bogus absolute paths
from win32 the .mak structure. Our immunity has been that our master
makefile.win doesn't recurse the .mak projects, and we simply build
all .mak targets in the order we choose. Use src/helpers/fixwin32mak.pl
when exporting these .mak files to keep up with it.
Introduce NUL device pipes for stdin and stdout for the parent Win32
service process. This solves bugs such as PR7198 that report
"dup2(stdin) failed" when trying to use piped logs.
Martin Kraemer [Mon, 26 Feb 2001 14:09:04 +0000 (14:09 +0000)]
Gertjan writes:
I have fixed the problem described in bug report 7114 regarding the
missing WWW-Authenticate header in responses to directory URL's,
while using the DirectoryIndex directive.
PR: 7114
Submitted by: Gertjan van Wingerde <gwingerde@home.nl>
Reviewed by: William A. Rowe, Jim Jagielski, Greg Stein
*) Fixed a potential bug in the 1.3.18 candidate that had the possibility
of corrupting a module's string space if they replaced the r->hostname
argument provided by the Apache core prior to http_vhost unescaping
the hostname string. [Greg Stein, William Rowe]
*) Fixed system shutdown on Windows 2000 to assure that the modules have
an opportunity to clean up. Note there is a _very_ limited amount of
time in which to execute all cleanups [see MSKB Q146092] so all of
the modules may still not be given an opportunity to complete their
cleanups if they require more than 20 seconds total. [William Rowe]
*) Tidied up os/win32/service.c adding several info level debugging
messages that helped resolve the second bullet point, and eliminated
the service_cd() function since we 'do the right thing' in main() and
now get our serverroot from the module's path instead of the current
directory on Win32.
Martin Kraemer [Sat, 17 Feb 2001 20:02:57 +0000 (20:02 +0000)]
If I see it correctly, we don't have an open "core dump candidate" right
now. I've got a good feeling at this point for Jim's proposed release date
for 1.3.18
Martin Kraemer [Sat, 17 Feb 2001 14:24:00 +0000 (14:24 +0000)]
This patch works around dereferencing a zero server pointer.
The assumption is that these come from a misconfiguration, and don't
hurt the running server (because the vhost resolution works in the
opposite direction, from server to vhost). It only hurts in the "-S"
command, and that can be avoided by printing a WARNING about the
misconfiguration.
Martin Kraemer [Sat, 17 Feb 2001 14:07:04 +0000 (14:07 +0000)]
Avoid potential core dump. This patch is a small part of a larger
patch for the ap_unparse_uri_components() routine, and can be safely
applied independently.
Submitted by: "Jeffrey W. Baker" <jwbaker@acm.org>
Reviewed by: Jim Jagielski, Martin Kraemer
dgaudet [Sat, 17 Feb 2001 11:17:45 +0000 (11:17 +0000)]
we have to unescape the hostname at some point... this seems to be the
easiest. (having just gone through all the parsing code again i'm
thinking it would have been nice to have all the parsing and validity
checks in one place.)
PR:
Obtained from:
Submitted by:
Reviewed by: