Ryan Bloom [Thu, 2 Aug 2001 04:59:51 +0000 (04:59 +0000)]
Make the includes filter check return codes from filters lower in
the filter chain. If a lower level filter returns an error, then
the request needs to stop immediately. This allows mod_include to
stop parsing data once a lower filter recognizes an error.
PR: 8102
Ryan Bloom [Thu, 2 Aug 2001 04:25:20 +0000 (04:25 +0000)]
Add the ability to extend the methods that Apache understands
and have those methods <limit>able in the httpd.conf. It uses
the same bit mask/shifted offset as the original HTTP methods
such as M_GET or M_POST, but expands the total bits from an int to
an ap_int64_t to handle more bits for new request methods than
an int provides.
Submitted by: Cody Sherr <csherr@covalent.net>
Solve the merge bugs, by storing a copy bit to save us a ton of
reallocation in the merge config phase. Should keep most of the
savings realized by moving to tables.
Need others to vet this code, please! Look at this and the prior
patch as a single diff (-r n -r n-2) to see the overall changes.
Replace check_symlinks in the ap_sub_req_lookup_* calls with
the new resolve_symlink (also used by the new directory_walk)
especially for performance and readability. Left check_symlinks
in the soon-to-be-gone get_path_info flavor of directory_walk.
Jeff Trawick [Tue, 31 Jul 2001 12:19:55 +0000 (12:19 +0000)]
get "make extraclean" working for apr-util again
the apr-util build now depends on files in apr;
"make extraclean" in apr removes some of those files, causing
a subsequent "make extraclean" in apr-util to blow*; make in
apr-util first so we don't have this problem
*on some platforms make aborted; on others the error was
ignored though apr-util wasn't cleaned
This patch conditionally builds against openssl 0.9.6b _if_ openssl is
unpacked and properly built (using pretty much the defaults) in the
srclib/openssl/ directory. Someday soon this needs to be more exhaustive,
but this should solve the 80% problem :)
enables the use of the ssl_var_lookup functionality in the various source
files in modules/ssl. The ap_hook_* functions are still not yet ported to
Apache 2.0 style
This patch eliminates the direct use of OS library calls (fopen and
other depreciated Apache 1.3 library utilities) from ssl_engine_pphrase.c
and ssl_util_ssl.c.
- eliminated the use of ssl_log - it used to cause seg faults during cleanup
since the conn_rec will no longer be valid.
- eliminated the "for (;;)" processing loop in ssl_io_filter_Output() -
we'll have to do that in churn_output() if required, so that any remaining
OpenSSL data (if available) is transferred before we call the
CloseConnection.
- Any remaining data in SSL should be cleaned up ideally in the
APR_BUCKET_IS_EOS() processing stage itself, as we close the SSL connection
here.
Submitted by: Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>
Reviewed by: William Rowe
Bill Stoddard [Tue, 31 Jul 2001 00:34:27 +0000 (00:34 +0000)]
The read() in apr_recv() would always be called first and return EAGAIN.
This one change to eliminate the read unless there are really bytes to read
is good for a 7 to 9% performance boost on AIX.
Register for %X, %c (we gotta make a decision, please vote if you care...
use %c's meaning from the historical SSL modules, or Bill Stoddard's
connection-terminated meaning? One will have to give.)
httpd.exp and lots of other export files are generated based on the
AP[RU]_DECLARE macros. This commit gets mod_cgid working again as a DSO on
AIX.
However, this brings up the need to look for any functions that are
available as part of the API, and AP[RU]_DECLAREing them, so things don't
blow up in DSOs.
Bill Stoddard [Mon, 30 Jul 2001 15:11:40 +0000 (15:11 +0000)]
Win32: Get exec cgi tag working. finfo.protection == 0 on Windows from the
apr_stat() call in directory walk (because discovering the permissions on
Windows is ridiculously expensive). All we really need to know is whether the
file exists.
Ryan Bloom [Mon, 30 Jul 2001 05:02:53 +0000 (05:02 +0000)]
Add the worker MPM. The name is probably horrible, but I couldn't come
up with anything better. This is a multiple-worker/single listener MPM.
This MPM is definately not complete, but it is a first step in the
right direction.
Nope, changed my mind. With this hack, the build only works right the first
time... a make clean will rm test_char.h. If Solaris 7 is broken, it's broken.
There's got to be a better way. But not for 2.0.22.
This is an awful hack to work around a bug in Solaris 7's native make,
which blows up when you have a dependency on a not-yet-existent file.
The way around this is to have a zero-byte version of the file around before
running make, which will be older than gen_test_char after that gets
built, so the blank test_char.h will get overwritten by a valid one.
If somebody has a better way around this lack of lazy bindings on Solaris 7,
please feel free to cvs rm this intentionally blank file and fix it a better
way.
Correct a subtle reflow problem (evident in Mozilla Gecko/20010505) that
<hr>'s within <pre> tags (entirely illegal in the first place :) are not
adjusted on window resize. By moving the second <hr /> into the <pre>
block, at least the two rules are consistent.
Final pedantic HTML 3.2/4.01 Transitional + XHTML 1.0 Transitional
compliance changes. Note I've left alone the <P> tags, since they
are abused, misused, potentially unsalvageable and certainly more
effort than I care to expend in my quest for brainless end of week
keyboard exercise.
More pendantic changes for HTML 3.2/4.01 Transitional compliance, and
XHTML 1.0 legibility. One XHTML issue remains, <td nowrap>, which has
an issue that "attribute minimization is not supported in XML". Since
?notables drops that thorny issue, I'm ignoring this for now.
More pedantic changes to create HTML 3.2/4.01 Transitional and
XHTML 1.0 Transitional - compliant output. Note that this model
is forever broken, since <hr> and <img> tags within a <pre> block
are, by definition, invalid. This is sort of mute since we need
to start creating a table-based autoindex, mostly for utf-8 names
that map in R-t-L order comixed with L-t-R formatting.
Bill Stoddard [Fri, 27 Jul 2001 19:58:15 +0000 (19:58 +0000)]
Replace ap_send_fd invocation with bucket brigade calls. Send an eos down
the chain and let the brigade close the file descriptor when the network
i/o is done.
Add some logic that gets us over the hump of a missing awk (copying the
files with no editing whatsoever.) Also sets up the shebang for
printenv.pl, and drops in the test-cgi.bat script.
David Reid [Thu, 26 Jul 2001 18:24:58 +0000 (18:24 +0000)]
waitpid doesn't seem to be doing what it's supposed to, so in an attempt
to allow the beos mpm to kill off it's workers and respawn them we'll
now have them ask for a restart when exiting. This was suggested by
Bruno G Albuquerque <bga@bug-br.org.br>.
Submitted by: Bruno G Albuquerque <bga@bug-br.org.br>
Reviewed by: David Reid <dreid@apache.org>
Jeff Trawick [Thu, 26 Jul 2001 18:11:53 +0000 (18:11 +0000)]
Fix a segfault in threaded.c caused by passing uninitialized
apr_thread_t * to apr_thread_join(). Now we clear the array
of apr_thread_t * initially so we can track which threads we
actually created.
Other changes:
don't clobber storage by passing bogus array entry as 1st
parameter to apr_thread_create() to create the start_threads()
thread
join up with the start_threads() thread at termination so that
it is cleaned up and so that no worker threads are still being
created
That's it. There are no further emits for signedness or size conversion
in MSVC 5.x. Enough for 2.0.22, I'll revisit under -w4 (msvc's -wall)
and attack the other modules in 2.0.23-dev.
Terniaries are broken under MSVC, they never did resolve how to resolve
the type of an obvious conversion like this one. Even casting the const
to an apr_port_t doesn't solve it.