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
Bill Stoddard [Sat, 2 Jun 2001 20:34:03 +0000 (20:34 +0000)]
Fix problem with lingering_close() on Windows. Issuing read() on the
socket descriptor on Windows always fails. Should be calling
recv() instead of read() on Windows. Thanks to Bill Rowe (and bounds checker :-)
for pointing this out.
Cleaning up/fix proxy/Host: header logic. Working to do the same
for apache-2.0 where we also have an ascii [num] representation of
IPv6's to take into account which currently only takes the non
proxy situation into account.
Bradley Nicholes [Wed, 23 May 2001 16:57:14 +0000 (16:57 +0000)]
Added a clean up on exit routine to try to make sure that the ApacheC nlm
on NetWare is exited gracefully even on an abnormal shutdown. This fixes
the Ouch! out of memory problem when trying to restart Apache for NetWare
after an abnormal shutdown.
Bradley Nicholes [Wed, 23 May 2001 16:53:38 +0000 (16:53 +0000)]
Added a check to make sure that Apache is starting in a clean
environment. This protects against ill behaved modules that exit the web
server rudely leaving ApacheC.nlm in an unknown state.
Martin Kraemer [Fri, 18 May 2001 15:45:40 +0000 (15:45 +0000)]
Change the compile switches for ReliantUNIX SVR4 not to use
SYSV semaphores, because upon reaching the system limit of
semaphores, the whole server exits (not just one child).
Apache could be improved to use Dean's NO_SEM_UNDO flag (see test/time-sem.c)
which is currently implemented only in the time-sem test program, but not in
apache. Until then, revert to using fcntl() locks.
On TPF, "HAVE_ISNAN" is erroneously being defined (due to cross-platform
compiler issues unique to TPF). TPF needs this patch to ignore the
TestCompile results.
Submitted by: David McCreedy <mccreedy@us.ibm.com>
Jeff Trawick [Thu, 10 May 2001 17:25:00 +0000 (17:25 +0000)]
get ab to compile on OS/390 by using strchr() instead of index()
(we could instead have included the proper header, but this is
the way Dirk fixed it in 2.0 since we already use strchr() and
thus had the proper header everywhere)
Get rid of incorrect code to save (and then ignore) the retval
from signal(). "void *" isn't compatible with any sort of
function pointer.
*) Correct a vulnerability in the Win32 and OS2 ports, by which a
client submitting a carefully constructed URI could cause a GP
(segment) fault in the child process, which would have to be
cleared by the operator to resume operation. This vulnerability
introduced no identified means to comprimize the server's data.
Reported by Auriemma Luigi <kaino3@genie.it>.
[William Rowe, Brian Harvard]
Resolve the win32 exec cmd bug, at least as far as some unixes support
it. Presume the command contains a filepath and transpose forward
slashes to backslashes in the path. (Note part of the bug, correctly
identified by the poster of 7415, was the /c flag being transposed to \c).
There has to be a better way, but at least this is now partially, and not
entirely broken. Command.com _does_ accept quoted file paths with spaces
for the executable.
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 !