Bill Stoddard [Mon, 14 Feb 2000 22:01:08 +0000 (22:01 +0000)]
Rework the code to handle apache -k shutdown|restart. The fundamental problem
being solved here is determining the best way to discover the Apache
parent process PID (stored in the location specified by the PidFile directive).
This patch attempts to read the config file directly to determine the
pidfile and avoids going through the motions of calling all the module initialization
routines.
This patch will not work if the pidfile directive is in a file pointed to by
an include directive. Not sure is this is a common case or not on Windows.
If it is, it is easy enough to add a bit more code to follow include
directives. An interesting modification would be to detect the presence of a \
-C directive containing a pointer to the pidfile: E.g.,
apache -k restart -C "pidfile d:/mypidfile". Let's keep it simple for now and
see what happens.
Make sure we don't receive another PR where a user tried to take the
solutions exactly as written down without noticing that they usually
always have to be adjusted for local contexts.
Ryan Bloom [Wed, 9 Feb 2000 01:33:24 +0000 (01:33 +0000)]
Fix prefix handling. Before this patch, when using --prefix on the
configure line, the binary ignored it when setting HTTPD_ROOT. This
patch fixes that problem.
David Reid [Mon, 7 Feb 2000 12:05:22 +0000 (12:05 +0000)]
These changes allow the MPM to be selected based on platform. At present it
works for BeOS but adding others shouldn't be hard. Also added the OS2
MPM to the list.
Jim Jagielski [Sat, 5 Feb 2000 00:33:18 +0000 (00:33 +0000)]
Try to reduce confusion over multiple and possible "conflicting"
versions of the term "default" by changing AddDefaultCharset to
be of the mode Off | On | charset
PR:
Obtained from:
Submitted by:
Reviewed by:
Ryan Bloom [Thu, 3 Feb 2000 19:38:08 +0000 (19:38 +0000)]
APR requires that ap_initialize is called as one of the first functions.
It sets up the rest of the APR types. This was causing lockups whenever
we tried to us an APR lock.
Jim Jagielski [Thu, 3 Feb 2000 14:22:26 +0000 (14:22 +0000)]
Streamline the AddDefaultCharset directive. Now this one directive
controls the entire 'charset' specification setup. If there is
heartburn, I have no trouble with backing this out, but it makes
live easier for those not using the "default" charset, and reduces
directive bloat a bit :)
PR:
Obtained from:
Submitted by:
Reviewed by: Martin
Bill Stoddard [Tue, 1 Feb 2000 21:05:45 +0000 (21:05 +0000)]
This patch is sure to break someone!
We need to define MODULE_VAR_EXPORT, API_EXPORT, API_VAR_EXPORT, et. al.
in an os specific way and the definitions need to be done as soon as possible
in the include file chain. I choose to use os.h as the preferred mechanism
for doing this (for now anyway) since this is they way it was done for
Apache 1.3. win32/os.h and unix/os.h probably have some Apache private macro
definitions that are being exposed publicly because of this patch. The solution
to this problem is to remove the private definitions from os.h.
Bill Stoddard [Tue, 1 Feb 2000 00:34:05 +0000 (00:34 +0000)]
Finally, back working on the MPM... Eliminate DOS hole. I can see no easy way
to time out AcceptEx (a.k.a., accept_and_receive) when a connection is received
but no data is sent. So, make AcceptEx just do an accept and leave the receive
to the other Apache code.
Bill Stoddard [Thu, 27 Jan 2000 05:58:00 +0000 (05:58 +0000)]
More sendfile work. Use new sendfile API in Apache, update Windows MPM
to begin using APR socket API.
Note:
sendfile on Unix side is broken. Need to detect for NULL hdtr. I'll do
it later this week if no one else steps up.
Ryan Bloom [Wed, 19 Jan 2000 02:42:17 +0000 (02:42 +0000)]
Manoj has been pushing for this for a while, but I've been too dense
to understand that he was right. :-) Basically, this makes the modules
use ap_config to test for header file inclusion. This method is not to
be used for larger modules that run autoconf theirselves. Including
ap_config is only valid for modules which rely on Apache to do their
configuration. Currently, this is only the core modules.
Ryan Bloom [Wed, 19 Jan 2000 01:16:31 +0000 (01:16 +0000)]
Finish the commits for the change in the header files. Basically, this hides
all of the Apache macros that modules don't need access to. This should
have been committed with the modules, but I wasn't paying attention to the
directory I was in when I ran the commit.
Submitted by: Manoj Kasichainula and Ryan Bloom
Ryan Bloom [Tue, 18 Jan 2000 23:41:56 +0000 (23:41 +0000)]
This is a huge change to the configure system. Basically, this name space
protects most, if not all, of the Apache macros. This has been tested on
Linux using all of the Unix MPM's. The biggest push was that Apache's
httpd.h header file can no longer include the ap_config.h file. Most of the
other files include this themselves now.
Submitted by: Ryan Bloom and Manoj Kasichainula
Ryan Bloom [Wed, 12 Jan 2000 18:20:43 +0000 (18:20 +0000)]
Fix some remaining problems with SSI's and Windows. Basically, the
sendfile stuff doesn't work properly with chuncked data.
Submitted by: Allan Edwards
Reviewed by: Ryan Bloom
Sascha Schumann [Tue, 11 Jan 2000 13:11:13 +0000 (13:11 +0000)]
These changes are committed together, because they depend on each other.
- shared modules can be built in the tree
- added support for --with-layout, uses APACI's config.layout
- working 'make install'
- working 'make depend'
- working Pthreads checks
- buildconf replaced
Added the mod_rewrite `URL Rewriting Guide' to the online documentation
(htdocs/manual/misc/rewriteguide.html). This paper provides a large
collection of practical solutions to URL based problems a webmaster is
often confronted with.
This version of the text was translated from my WML source on my website
and my old official version is now discarded. So, as it was requested,
this can be treated as an official donation of this text to the ASF.
This way the ASF is now the official owner of this text.
- - -
<IRONIC>
Be happy and give Ken and Jim the credit for achieving this by being
such sensitive and friendly to other developers like me and always
reminding us that it is such contemptuous to implicitly promote ones
name by writing free software and contributing to projects like Apache.
Sorry that I have forgotten to donate this piece of text to the ASF in
the past and instead added such a contemptible hyperlink directing to a
page on www.engelschall.com. I hope this is now fixed and the closed and
holy ASF world is rescued again.
</IRONIC>
<PERSONAL>
I think, I don't have to say that I'm more than angry and disappointed
how developers like me are constantly bashed in the ASF... we can go for
it also in the future, but we should stop looking astonished all the
time if we find out that too less people contribute to the ASF and old
developers like me no longer have a warm feeling here, please. It's our
own fault in thinking that contributions are for free and anonymous just
because our project is a group effort.
IMHO we already have forgotten the golden rule of Open Source
development: if one wants happy and long-term contributing developers
one especially has to make sure they receive the requested credit.
There is an upper limit a project can accept to give, of course. But
credit always has to depend on the amount, quality _and_ duration of
contribution and IMHO cannot be judged by stating that just all people
are equal and so some contributors can be bashed for the fact that their
name occurs more often.
It is correct that my name occurs more often caused by the fact that I
always try to bring in my stuff to the project. But keep in mind that
this is because I _HAVE_ stuff to bring in which I've created _OUTSIDE_
the project. So I think its unfair to bash me just because I try harder
to bring in my additional stuff. If a developer has not much externally
created stuff, he cannot bring it in to the project, of course. But just
because one has more externally created stuff and tries to bring it in,
is IMHO no reason and excuse to bash him for this. It's not my fault
that I write in my freetime more Open Source packages like most of you.
So if you dislike stuff developers want to bring in, decide on the
contribution based on fair technical arguments (pros and cons). But
don't judge the contributions all the time just because you think this
way you "promote" someone (be it RSE, GNU or whoever else). Hell, an
Open Source project is not a group of people to rule their own closed
world and be celebrated in the press for this. It's still an effort to
create the best piece of _software_ money can't buy. So you should stop
thinking about contributors as our enemy. They are the main driving
force of every project, although some people seem to not understand
this at all. And whatever you think about my personal opinion, but
IMHO it's not bad for a project if someone's name is "promoted" with
it, too. What is actually bad are those complains and discussions
which make developers angry and the fact that they result in even less
contributions.
</PERSONAL>
Ryan Bloom [Thu, 6 Jan 2000 19:19:39 +0000 (19:19 +0000)]
Next pass at the time functions. This defines an ap_ansi_time_t which has
a specific format (seconds since 0:00:00 Jan 1, 1970). I also renamed the
(get|set)_curtime functions to (get|set)ansitime. This should make more
sense, and be a bit more intuitive.
Ryan Bloom [Fri, 31 Dec 1999 20:32:36 +0000 (20:32 +0000)]
A few more tweaks to finish the modules work. Now, all of the modules
compile correctly with Apache 2.0. This does run, but it hasn't been tested
any more than simply compiling and running the server.