On Mon, 2004-03-29 at 15:43 -0800, Stas Bekman wrote:
> Philippe M. Chiasson wrote:
> > After a bit of poking around different flavors of IPv6 systems, I've
> > encountered a few situations where Apache::Test ends up configuring
> > httpd in a way that can't be tested.
> >
> > This typically only happens on a system that has IPv4-mapped IPv6
> > addresses disabled, i.e. OpenBSD. If the hostname that is picked
> > to form the Listen directives happens to have both an IPv4 and an
> > IPv6 address, i.e localhot on OpenBSD, the server will start but will
> > only be listening on an IPv6 address.
> >
> > And since LWP doesn't do requests over IPv6, all tests will fail.
> >
> > The following patch attempts to do handle all this by doing one of a few
> > many things.
>
> gozer++
>
> > If the server has ipv4-mapped addresses, Listen to *:port, forcing the
> > use of ipv4-mapped addresses and insuring that the server will be
> > available over it's ipv4 address.
> >
> > Otherwise try to use Socket6 to see if the hostname is both v4 and v6
> > and Listen to *:port as well. Without Socket6 (not part of the Perl
> > core), just warn the user about possible problems he/she will run into
> > if the selected hostname happens to be ipv6.
> [...]
> > + else {
> > + if (eval { require Socket6 }) {
> > + if (Socket6::gethostbyname2($name, Socket6::AF_INET6())) {
> > + $self->{vars}{listen_addr} = '*';
> > + }
> > + }
> > + else {
> > + warning "Socket6 not installed";
> > + warning "Test might fail if your hostname: '$name' has an
> > IPv6 address";
>
> I think we should die here:
>
> error << EOI;
> Your system is configured to run both ipv6 and ipv4, but the right interface
> can't be selected.
> Please install the perl CPAN module Socket6 and re-run the last command.
> EOI
> die "\n";That's something I considered, but I figured it was better to be gentle and just warn people that things might not work. I am perfectly fine with die instead. > and if Socket6 builds everywhere, and including older perls, we should > include > it in Apache-Test's %PREREQ_PM. Well, I built it successfully with a combination of 5.8.x and 5.6.x on linux, freebsd and openbsd. I am not sure if it builds on systems without ipv4 support though. > __________________________________________________________________ > Stas Bekman JAm_pH ------> Just Another mod_perl Hacker > http://stason.org/ mod_perl Guide ---> http://perl.apache.org > mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com > http://modperlbook.org http://apache.org http://ticketmaster.com
signature.asc
Description: This is a digitally signed message part
