You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by jean-frederic clere <jf...@gmail.com> on 2013/05/17 13:09:42 UTC

apr_sockaddr_info_get() with %n behave different on Solaris and Linux.

Hi,

I have different behaviours on solaris and linux:
solaris doesn't seem to support the %2:

code (2001:db8:0:f101::1 or 2620:52:0:105f:0:0:ffff:51):
+++
     rv = apr_sockaddr_info_get(&sa, "2001:db8:0:f101::1%2", APR_UNSPEC, 
80, 0, p);
     printf("2001:db8:0:f101::1%%2 %d\n", rv);
     rv = apr_sockaddr_info_get(&sa, "2001:db8:0:f101::1", APR_UNSPEC, 
80, 0, p);
     printf("2001:db8:0:f101::1 %d\n", rv);
+++

Solaris:
+++
[hudson@dev20-03 jfclere]$ java Address
  fe80:52:0:105f:0:0:ffff:50%2
  2620:52:0:105f:0:0:ffff:51%2
  2620:52:0:105f:0:0:ffff:50%2
  10.16.92.170
  10.16.92.169
  10.16.92.168
  10.16.92.167
  10.16.89.252
  0:0:0:0:0:0:0:1%1
  127.0.0.1
[hudson@dev20-03 jfclere]$ ./testsockIPv6
2620:52:0:105f:0:0:ffff:51%2 670008
2620:52:0:105f:0:0:ffff:51 0
+++

Linux:
+++
[jfclere@jfcpc X509]$ java Address
  10.36.6.146
  fe80:0:0:0:f2de:f1ff:fe5a:1fb3%2
  2001:db8:0:f101:0:0:0:1%2
  192.168.1.35
  0:0:0:0:0:0:0:1%1
  127.0.0.1
[jfclere@jfcpc X509]$ ./testsockIPv6
2001:db8:0:f101::1%2 0
2001:db8:0:f101::1 0
+++

The apr_sockaddr_info_get() gives an error in Solaris and works in 
Linux, comments?

Cheers

Jean-Frederic