Jim Jagielski [Thu, 2 May 2002 13:28:46 +0000 (13:28 +0000)]
OK. This is admittedly anal. But the whole idea behind cpp macros
is to avoid things like "we know NSLINKMODULE_OPTION_NONE is 0"
and making such shortcuts as this. This makes it clear what exactly
we are setting, and though admittedly verbose, the tradeoff of a
few bytes of source is worth it :)
Jim Jagielski [Mon, 22 Apr 2002 12:36:18 +0000 (12:36 +0000)]
For supported versions of Darwin, place dynamically loaded
Apache extensions' public symbols into the global symbol
table. This allows dynamically loaded PHP extensions.
NOTE: this works as long as multiple modules don't
include overlapping symbols. Jim added the wrapper to
check for the existance of the option (which doesn't
exist in Rhapsody).
PR:
Obtained from:
Submitted by: Marko Karppinen <markonen@php.net>
Reviewed by: Jim Jagielski, Wilfredo Sanchez
Graham Leggett [Sun, 21 Apr 2002 21:16:39 +0000 (21:16 +0000)]
Add a FIXME note around some broken code. The write is writing a buffer
of bogus data with a length that was never initialised.
PR:
Obtained from:
Submitted by:
Reviewed by:
Graham Leggett [Fri, 19 Apr 2002 11:15:19 +0000 (11:15 +0000)]
Correct proxy to be able to handle the unexpected 100-continue
reponses sent during PUT or POST requests. (ie Hotmail works now)
PR:
Obtained from:
Submitted by:
Reviewed by:
Martin Kraemer [Mon, 15 Apr 2002 09:41:22 +0000 (09:41 +0000)]
Sometimes (when a read happened to end on a chunk boundary) the proxy
would just hang trying to read a CRLF that did not come (remaining==0
because end-of-chunk, not because chunksize==0). Also, when it
received its data from an upstream proxy which did not really support
HTTP/1.1 but claimed it did (ICS, Squid, both using nonstandard
Proxy-Connection: headers), Apache would not clear out the
"Transfer-Enconding: chunked" header and failed to correctly serve the
request.
First, use addition to test against an unsigned for chunk_start after
we are certain chunk_start is a positive value. Second, ap_bread
is prototyped as an -int- ... not a size_t, not an off_t.
These changes eliminate all mismatch type/sign errors on Win32.
Martin Kraemer [Tue, 9 Apr 2002 12:02:49 +0000 (12:02 +0000)]
Do a "proper" indent by moving some curly braces outside of #if's.
Fix an error message to print the correct filename (not tempfile).
Remove the tempfile for Win32 on a failed rename(2).
PR:
Obtained from:
Submitted by:
Reviewed by:
Graham Leggett [Sun, 7 Apr 2002 19:12:27 +0000 (19:12 +0000)]
Correct a timeout problem within proxy which would force long
or slow POST requests to close after 300 seconds.
PR: 7572
Obtained from:
Submitted by: Martin Lichtin <martin@lichtin.net>, Brian Bothwell <brian.bothwell@wisdomtools.com>
Reviewed by:
Graham Leggett [Sat, 6 Apr 2002 13:20:48 +0000 (13:20 +0000)]
Remove the last little bit of the multiple-headers bug in proxy. Before,
only the last instance of a header would have been cached.
PR:
Obtained from:
Submitted by:
Reviewed by:
Graham Leggett [Sat, 6 Apr 2002 13:12:36 +0000 (13:12 +0000)]
Fix a log line message to be clearer. There have been queries in the past
as to whether this message was an Apache problem, when it warns of a
downstream server problem.
PR:
Obtained from:
Submitted by:
Reviewed by:
Fixed incompliance of AB when used with a proxy as reported by
Taisuke Yamada <tai@iij.ad.jp>. Added error trapping to the
write function (important on systems with defered errors
after a connect). Documented the weakness of the write()
function - it assumes the whole RQ can always be fully
written to the socket. Fixed a compiler warning which
pointed out that 'bad' was both a label and a variable.
Joshua Slive [Thu, 28 Mar 2002 18:56:08 +0000 (18:56 +0000)]
Update the Redhat layout to match v7. I decided to just replace the old layout
on the principal that tracking every version of every os in config.layout would
be a nightmare.
Graham Leggett [Mon, 25 Mar 2002 22:45:05 +0000 (22:45 +0000)]
Tighten up the overridden-Server-header bugfix in the proxy, by
only overriding if the request is a proxy request. It has been
pointed out that the previous fix allows CGIs and modules to
override the Server header, which is change to previous behavior.
PR:
Obtained from:
Submitted by: Graham Leggett, Joshua Slive
Reviewed by:
Cliff Woolley [Thu, 21 Mar 2002 17:02:53 +0000 (17:02 +0000)]
Because of the if's I change to else if's, these continue's are now
functionally useless. This gets rid of them without changing the behavior
at all (ie, it doesn't matter if this change makes it in to 1.3.24 or not).
Cliff Woolley [Thu, 21 Mar 2002 16:48:46 +0000 (16:48 +0000)]
handle_if() and handle_elif() were now correctly checking return codes,
but send_parsed_content() was ignoring THEIR return codes, resulting in
another segfault in a related set of circumstances. In all cases we
should consider ret!=0 from any of the handle_foo() functions to mean
premature EOF was encountered.
Aaron Bannert [Thu, 21 Mar 2002 16:16:15 +0000 (16:16 +0000)]
Fix minor formatting error. Mention the default for CGICommandArgs.
Also mention isindex-style query argument passing, so we don't confuse
this with QUERY_STRING.
Introduce proper escaping of command.com and cmd.exe for Win32.
These patches close vulnerability CAN-2002-0061, identified and
reported by Ory Segal <ory.segal@sanctuminc> 13 Feb 2002, by which
any invocation of .bat or .cmd files permit system comprimize
when cmd.exe parsed the args passed from QUERY_STRING.
[William Rowe]
Patches of the set reviewed by Allan Edwards and Bill Stoddard,
while the security solutions were reviewed at length by the entire
security community at the ASF.
Share ap_double_quotes() code between OS2 and Win32 to use
for Win32's command.com, and introduce ap_caret_escape_args()
for Win32's cmd.exe. [William Rowe]
Graham Leggett [Thu, 21 Mar 2002 14:49:46 +0000 (14:49 +0000)]
When a proxied site was being served, Apache was replacing
the original site Server header with it's own, which is not
allowed by RFC2616. Fixed.
PR:
Obtained from:
Submitted by:
Reviewed by:
Graham Leggett [Thu, 21 Mar 2002 14:37:42 +0000 (14:37 +0000)]
Change ap_construct_url() so that the r->hostname is used in
the URL instead of the value of the ServerName directive. This
stops Apache redirecting to a different website name to the
one the user typed in, which can break cookies and javascript
handling on the client.
PR:
Obtained from:
Submitted by:
Reviewed by:
Graham Leggett [Thu, 21 Mar 2002 11:38:03 +0000 (11:38 +0000)]
Fixed the previous multiple-cookie fix in the proxy. Cookies
are broken in that they contain dates which in turn contain
commas - so merging and then unmerging them breaks Set-Cookie
headers. Sigh.
PR:
Obtained from:
Submitted by:
Reviewed by:
Introduce earlier identification of command.com v.s. cmd.exe
for Win32 .bat/.cmd scripts, and assure we treat command.com
as a 16-bit application. [William Rowe]
Pass the command line to the cmd.exe /c interpreter double quoted.
This fixes a bug that CGI args ending in a double-quote would cause
invocation to fail. Just fixed the converse problem in Apache 2.0,
where assumed they all acted as cmd.exe, which command.com will not.
[William Rowe]
Win32; Never invoke cmd or bat scripts based on the registry,
even with 'ScriptInterpreterSource Registry' enabled, since I've
discovered the registry is inconsistent between the versions of
WinNT/2K/XP. [William Rowe]
Provide Win32 users a log of the cgi command invoked, to assist
in debugging scripts, at LogLevel info. Also provide env vars
at LogLevel debug for additional help to admins troubleshooting
the ever mysterious "Premature end of script headers" error.
Since this is the single most common cause of trouble reports on
the newslist, at least this gives us something to point users at.
[Aaron Bannert]
Resolve bugs introduced by my Rev 1.173, which attempted to close
a type mismatch error. This truncation should now produce a random
result, once again. PR 10090, 10185
Bug pinpointed by Jeroen Boomgaardt <jeroen@swissclue.com>
Bradley Nicholes [Wed, 13 Mar 2002 15:58:40 +0000 (15:58 +0000)]
Added the -e command line directive for NetWare to force all fatal
configuration file errors to the logger screen rather than to the Apache
screen. This allows Apache to shutdown cleanly and completely on an
error condition without losing the error information that was written to the
screen or requiring user interaction to close the Apache screen.
Graham Leggett [Sat, 9 Mar 2002 22:25:41 +0000 (22:25 +0000)]
Add the ProxyIOBufferSize option. Previously the size of the
buffer used while reading from the remote server in proxy was
taken from ProxyReceiveBufferSize. These two functions were
similar but not the same, thus the need for the split.
PR:
Obtained from:
Submitted by:
Reviewed by:
Graham Leggett [Fri, 8 Mar 2002 18:35:11 +0000 (18:35 +0000)]
Fix a NULL variable check in proxy where we were checking the
wrong variable.
PR:
Obtained from:
Submitted by: Geff Hanoian <geff@pier64.com>
Reviewed by: Graham Leggett
Bradley Nicholes [Thu, 28 Feb 2002 16:57:57 +0000 (16:57 +0000)]
Logging module for NetWare that implements log rotation. This solves the
log rotation problem for NetWare since the NetWare OS does not support
pipes and can therefore not use the RotateLog utility.