On Wed, 2005-02-02 at 17:48 +0200, Markku Savela wrote:
> > From: Colm MacCarthaigh <[EMAIL PROTECTED]>
> 
> > Really the only remaining portability issue is the default behaviour of
> > bind(::) (without any specific options set). 
> 
> In Symbian OS API, see
> 
>  
> http://www.symbian.com/developer/techlib/v70docs/SDL_v7.0/doc_source/reference/cpp/Tcpip/
> 
> Bind to "any" (for incoming) has 3 choices
> 
>  1) Bind(::) - accept only IPv6
>  2) Bind(0.0.0.0) - accept only IPv6

I guess you meant to write IPv4 there ;)

>  3) Bind() - accept both IPv4 and IPv6

Nevertheless, this is not ambiguous, if a coder asks for ::, she will
get IPv6 only, not IPv4. When she asks for nothing she will get ANY of
ANY protocols.

> The case (3) may need some explanation: in Symbian the adddress and
> port stored in class named TInetAddr (see the above link). This class
> contains the address family, which can be

This is more an API level construction, just like one can abstract the
getaddrinfo() functions etc and hide them in a Java or C++, just like
the above, API, which would hide the details of any IP at all.

For those cases indeed it can be handy to have mapped addresses, but
handling it completely without knowledge of addresses at all is better
in those cases (IMHO).

The question is more how does the hidden part, inside the API handle it?
Recommended way of doing as mentioned by several people, for and against
deprecation of v4 mapped mention Eva's document, which like Itojun's
document and quite a number of others note the usage of getaddrinfo()
and using sockaddr_storage, which can contain basically anything, IPv4,
IPv6, IPX, Netbios, etc. The respresentation of the addresses can then
by done using inet_ntop()/inet_pton() and these can all be hidden even
further nicely in the API, may that be classes or just functions.
There is thus no need for v4-mapped addresses, one just has to program
it the correct way, and not rely on in6_addr directly, which should not
be in ones code at all. (unless you are doing lowlevel stuff etc... )

Or are the classed mentioned above native-Symbian? (Nice docs btw)

> The Symbian stack is full hybrid IPv4/IPv6 stack. As installed base,
> the number of devices is rather large. But, then, they are small and
> light. Perhaps it's not as large as kame+unix/linux if you compute
> installed base in kilograms.. :-)

Symbian (7.0+) + owner should match up with the unix/linux list, then
again some huge clusters can amount for quite some weight too ;)

On Wed, 2005-02-02 at 17:24 +0100, Francis Dupont wrote:

> So IMHO the only useful answer we can get from this discussion is about
> this day, i.e., are there used implementations today which don't support
> the "two sockets for a server with IPV6_V6ONLY set when it exists"
> (i.e., [EMAIL PROTECTED] but universal) coding style?

The problem here is that there are a number of older implementations that
don't support the flag and there is no way of turning the v4-mapped support
off unless you downgrade. Then again, upgrading is nowadays quite a normal
cycle, but of course in quite a number of situation with version dependencies
and other weird policies this cannot be achieved in all scenario's.
Though one could argue that if a host needs IPv6 that it should have quite
some new software on it already of course ;)

Most newer implementations should support the above.

Greets,
 Jeroen

Attachment: signature.asc
Description: This is a digitally signed message part

--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email protected]
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

Reply via email to