logo       
Google Custom Search
    AddThis Social Bookmark Button

Re: [mp2 Patch] Resubmitting OpenBSD related patches: msg#00266

Subject: Re: [mp2 Patch] Resubmitting OpenBSD related patches
Hi, 

On Tue, Jun 10, 2003 at 02:11:59PM +0800, Philippe M. Chiasson wrote:
> On Mon, 2003-06-09 at 16:25, Stas Bekman wrote:
> > Philippe M. Chiasson wrote:
> > > Dunno where they all went in the past, but as Stas reminded me, I am
> > > still holding off on 2 OpenBSD-related patches to make sure Apache-Test
> > > generates httpd.conf that will bind on IPv4 addresses. This is important
> > > on a platform like OpenBSD where IPv6 is prefered by default and IPv4
> > > mapped addresses are disabled by default.
> > 
> > any chance we can figure out that ipv6 like-ness is needed dynamically, so 
> > to 
> > keep things simple for most other users? Also please test that it doesn't 
> > break things with apache-1.3 (the simplest good test is to run the 
> > httpd-test/perl-framework with apache-1.3).
> 
> Hrm, I have looked into it, and the problem is not to figure out if the
> system is IPv6 or IPv4 by default, but we also need to check if there is
> support for IPv4 mapped addresses.
> 
> At this point, I wasn't able to find a way to figure it out dynamically.
> It sure would be nicer if we could just "figure it out"

I have observed (on Linux) a similar problem as Philippe. I'm not
entirely sure if it is the same. Anyways, on many machines, starting the
apache in the test framework fails like this:

setsockopt(42, SOL_IPV6, 26, [0], 4)    = -1 ENOPROTOOPT (Protocol not 
available)
write(2, "[Mon Aug 04 14:03:46 2003] [crit"..., 130[Mon Aug 04 14:03:46 2003] 
[crit] (92)Protocol not available: make_sock: for
address [::]:8543, apr_socket_opt_set: (IPV6_V6ONLY)
) = 130
close(42)                               = 0
write(2, "no listening sockets available, "..., 46no listening sockets 
available, shutting down
) = 46
write(2, "Unable to open logs\n\n", 21Unable to open logs


I have come up with the attached test program. I was unable to nail down
the actual difference in machine configuration or kernel
configuration/version that determines whether the SOL_IPV6 socket option
is supported or not. Anyway, the test program works for me.

Now, if I apply Philippes patch on the affected machines, it does not
help in all cases, because on some machine it makes the apache listen on
the IPv6 localhost (netstat shows ::1) while (I think) the test scripts
access the IPv4 localhost. But if I modify the patch to use 127.0.0.1
instead of the $vars->{servername}, it works fine. Modified patch
attached.

Peter

-- 
Thought is limitation. Free your mind.

Attachment: SOL_IPV6-test.c
Description: Text document

Attachment: mod_perl-1.99_09-ipv6.dif
Description: Text document

Attachment: pgpAQkKdaeYaX.pgp
Description: PGP signature


Try Searching:
servers, voip, java, networking, microsoft ...
<Prev in Thread] Current Thread [Next in Thread>