[Jeff Trawick] *) The final line of the config file was not being read if there was no n at the end of it. This was caused by apr_fgets returning APR_EOF even though we had read valid data. This is solved by making cfg_getline check the buff that was returned from apr_fgets. If apr_fgets return APR_EOF, but there was data in the buf, then we return the buf, otherwise we return NULL. [Ryan Bloom] *) Piped logs work again in the 2.0 series. [Ryan Bloom] *) Restore functionality broken by the mod_rewrite security fix: rewrite map lookup keys and default values are now expanded so that the lookup can depend on the requested URI etc. PR #6671 [Tony Finch] *) Tighten up the syntax checking of Host: headers to fix a security bug in some mass virtual hosting configurations that can allow a remote attacker to retrieve some files on the system that should be inaccessible. [Tony Finch] *) Add a pool bucket type. This bucket is used for data allocated out of a pool. If the pool is cleaned before the bucket is destroyed, then the data is converted to a heap bucket, allowing it to survive the death of the pool. [Ryan Bloom] *) Add a flush bucket. This allows modules to signal that the filters should all flush whatever data they currently have. There is no way to actually force them to do this, so if a filter ignores this bucket, that's life, but at least we can try with this. [Ryan Bloom] *) Add an output filter for sub-requests. This filter just strips the EOS bucket so that we don't confuse the main request's core output filter by sending multiple EOS buckets. This change also makes sub requests start to send EOS buckets when they are finished. [Ryan Bloom] *) Make ap_bucket_(read|destroy|split|setaside) into macros. Also makes ap_bucket_destroy a return void, which is okay because it