Bug in Apache2::ServerUtil

Bug in Apache2::ServerUtil

am 06.03.2011 16:47:36 von torsten.foertsch

Hi,

Apache2__ServerUtil.h contains these lines:

static void mpxs_Apache2__ServerUtil_BOOT(pTHX)
{
newCONSTSUB(PL_defstash, "Apache2::ServerUtil::server_root",
newSVpv(ap_server_root, 0));

newCONSTSUB(PL_defstash, "Apache2::ServerUtil::get_server_built",
newSVpv(ap_get_server_built(), 0));

newCONSTSUB(PL_defstash, "Apache2::ServerUtil::get_server_version",
newSVpv(ap_get_server_version(), 0));

newCONSTSUB(PL_defstash, "Apache2::ServerUtil::get_server_banner",
newSVpv(ap_get_server_banner(), 0));

newCONSTSUB(PL_defstash, "Apache2::ServerUtil::get_server_description",
newSVpv(ap_get_server_description(), 0));
}

The problem is that way get_server_banner() and get_server_description() ar=
e=20
constants. They are instantiated at the time the module is loaded. But=20
Apache2::ServerUtil can be loaded in a container. At that time banne=
r=20
and description are not yet constant. Modules may add components in open_lo=
gs=20
and post_config.

The fix is really simple. I have just uploaded Apache2::Banner that does it=
=20
externally (for those who still have to use 2.0.4). Would be good to fix th=
at=20
in the next mp2 version.

Torsten Förtsch

=2D-=20
Need professional modperl support? Hire me! (http://foertsch.name)

Like fantasy? http://kabatinte.net

Re: Bug in Apache2::ServerUtil

am 09.03.2011 10:48:57 von Fred Moyer

2011/3/6 Torsten Förtsch :
> The fix is really simple. I have just uploaded Apache2::Banner that does =
it
> externally (for those who still have to use 2.0.4). Would be good to fix =
that
> in the next mp2 version.

1) Submit a diff
2) Wait for feedback
3) Commit
4)????
5) Profit?

Re: Bug in Apache2::ServerUtil

am 09.03.2011 11:11:33 von torsten.foertsch

On Wednesday, March 09, 2011 10:48:57 Fred Moyer wrote:
> 2011/3/6 Torsten Förtsch :
> > The fix is really simple. I have just uploaded Apache2::Banner that does
> > it externally (for those who still have to use 2.0.4). Would be good to
> > fix that in the next mp2 version.
>=20
> 1) Submit a diff
> 2) Wait for feedback
> 3) Commit
> 4)????
> 5) Profit?

ENOTIME

Somewhere near end of March maybe.

The main problem is to conceive a good test.

=46red, there is a limitation with AT that I have hit several times already=
.
Maybe you know a simple way to overcome. For example for this problem it wo=
uld=20
be good to compare the get_server_banner results for a modperl instance wit=
h=20
an early interpreter start and one without. But that means you need 2=20
different httpd instances. Apache2::ModSSL has a similar problem. It needs =
to=20
run the test suite one time with mod_ssl loaded and another run without. Th=
ere=20
I have solved it by reconfiguring and rerunning in TEST.PL. But that=20
introduces major drawbacks. You aren't able to use -run-tests or -start-htt=
pd=20
etc. When it comes to modperl itself, I think there is also need for such a=
=20
feature, I mean running multiple differently configured httpd instances for=
=20
one test suite.

Torsten Förtsch

=2D-=20
Need professional modperl support? Hire me! (http://foertsch.name)

Like fantasy? http://kabatinte.net