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.
Ryan Bloom [Thu, 30 Dec 1999 18:31:29 +0000 (18:31 +0000)]
Some changes to the ap_strftime function. We now inform the user of the
length of the string written, and we return a status code. I expect the
status code to mean a bit more on Windows than it currently does on Unix.
Ryan Bloom [Fri, 24 Dec 1999 21:22:27 +0000 (21:22 +0000)]
Cleanup the threads check, also resets the CFLAGS and LDFLAGS variables
in cases where no threading library was found.
Submitted by: Sascha Schumann
Reviewed by: Ryan Bloom
- INADDR_NONE is not defined. Supply a replacement
- APACHE_MODULE() used a non-portable shell construct
- inet_addr() needs -lnsl -lsocket. Neccessary checks added
- For POSIX conformance, _POSIX_PTHREAD_SEMANTICS is
required. This fixes i.e. sigwait() problems.
Ryan Bloom [Fri, 24 Dec 1999 18:31:10 +0000 (18:31 +0000)]
Finish the MPM decision logic. This moves the threads checking stuff into
the mpm directory where it belongs. It also adds logic so that if threads
aren't detected, we automatically choose to use the prefork mpm. Lastly,
I also cleaned up a variable name to make it more consistent with the other
variables used in our configure script.
Ryan Bloom [Wed, 22 Dec 1999 21:24:45 +0000 (21:24 +0000)]
This fixes the bug in my last commit. Apache always caches a value for
enable-threads. This allows us to re-configure the server for different
MPM's without worrying about not having APR-threads available.
Ryan Bloom [Wed, 22 Dec 1999 20:29:20 +0000 (20:29 +0000)]
Clean up APR's configure script a bit. This commit also allows Apache to
specify that APR should be built without threads for the prefork MPM. This
is broken if we then try to configure Apache again using a threaded MPM, but
this is easily fixable, and I will be doing that soon. Lastly, I removed all
thread calls from APR when it is told to build without threads.
--include-deps only seems to take advantage of pregenerated
dependencies, and makes the build process refuse to generate them, so
this removes it. It should be used when making a distribution, though.
We don't need the capability to build an acconfig.h anymore; AC_DEFINE
provides everything we need for equivalent functionality. This change
deletes the intrastructure that built acconfig.h.in before.
Bill Stoddard [Mon, 20 Dec 1999 19:52:51 +0000 (19:52 +0000)]
Windows: Can now install/uninstall Apache as a service and start/stop apache via
net start and net stop commands. Not extensively tested, so there may be bugs
in this still.
Ryan Bloom [Mon, 20 Dec 1999 16:38:39 +0000 (16:38 +0000)]
First step in getting Apache to use APR's time libraries. This gets a good
number of them, but I think there are more time values still in the Apache
code. This works under Linux, but has not been tested anywhere else.