You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2006/02/14 06:39:59 UTC

Failures in apr test framework on Solaris x86

[A random preamble; in a vpath build we don't move our apr/test/data/ files over
to the target path, this would be a nice thing to do upon 'make' in test/.  Easy
for me to work around, the failures are less obvious to a novice however.]

Failure at line 148, rv = apr_socket_bind(sock, to) of testsockets.c... the IPv6
code block runs to APR_SUCCESS above, so we have '::1' (isn't it supposed to be
'[::1]' instead?)

within apr_socket_bind, we get to bind(sock->socketdes, sa, salen) with the
arguements;

   sock->socketdes = 11
   sa->sin6_family = 26U
     ->sin6_port = 23582U
     ->sin6_flowinfo = 0
     ->sin6addr->_S6_u32 = (0, 0, 0, 16777216U)

and it fails with errno 126, EADDRNOTAVAIL.  My ifconfig -a shows (condensed)...

lo0: flags=2001000849<....IPv4...>
rtls0: flags=1004843<....IPv4...>

with no IPv6 adapters present.  Yet apparently IPv6 behavior at testsockets.c
line 124 apr_socket_create() for an APR_INET6 address unexpectedly succeeds.

Interesting, eh?

Bill

Re: Failures in apr test framework on Solaris x86

Posted by Joe Orton <jo...@redhat.com>.
On Mon, Feb 13, 2006 at 11:39:59PM -0600, William Rowe wrote:
> Failure at line 148, rv = apr_socket_bind(sock, to) of 
> testsockets.c... the IPv6 code block runs to APR_SUCCESS above, so we 
> have '::1' (isn't it supposed to be '[::1]' instead?)

"[...]" is URI syntax, the resolver doesn't understand it.  Yes, the 
test suite will need to be adapted to also fall back to using IPv4 if 
bind() fails on ::1, if Solaris can behave like that.

joe