> Now, in response to the above two comments (and their derivatives), yes, > Apache is free. So is Linux, so is Mysql, so is PHP, so is Perl. > However, all of the above products (yes, I do use the term PRODUCT > specifically here) focus the development team towards RELEASING a > tangible product. Apache 2.0 has had creeping featurisims for longer > than I care to even think. :( There is no tangible list that anyone can > go and look at and say "OK... all of this stuff is done and works. > Let's get into release mode." And we see things like Dale mentions > above. API changes at such a LATE date in the game or Ryan proposing a > MAJOR code change to a large part of the code (Ryan, if you did not, > then my apologies on naming you. IE the per-child MPM stuff).
The scariest thing about this conversation is that it was sparked by a commit that added two comments. Even worse, those two comments essentially suggested a way to move forward on a bug that many people have filed bugs about. And finally, the comments didn't say anything about how pervasive the changes would be. For the record, the changes shouldn't actually have to leave a single function. The previous way that the MPM worked, was it kept a buffer of data. That it used to pass the request. That buffer was stolen from inside of the BUFF structure. The change that needs to be made is that the headers can be generated from the r->headers_in array, and the body data can be read from the filter stack using the AP_MODE_EXHAUSTIVE. If this change needs to leave one function, it is to remove hacks that I added because some functionality wasn't there when I first wrote the code. Ryan