Subject: Java GSS ChannelBindings: Apple Mac and IPv6

From: Mayank Upadhyay <[email-masked]>
Date: Wed, 11 Aug 1999 14:13:55 -0700 (PDT)

On Thu, 29 Jul 1999, Linn, John wrote:

> An issue arises for channel bindings, as Java doesn't support non-Inet
> addresses. Peers could, however, agree to insert non-Internet addresses
> themselves in an externally specified format.  As an alternative, the
> current definition could be modified, defining 22 static constants for
> different address types analogous to those defined in the GSS C bindings.
> It was unknown whether any existing implementations interpret channel
> bindings for non-Inet address types.  It was also believed that few if any
> non-IP GSS apps exist, though Appletalk might be an exception.  

I have been unsuccessful in finding any implementations of the GSS-API for
the Mac on the web.  If any Apple developers on the alias have more
information on this I would be grateful if they could mail the alias.  I
am interested in determining if Java applications for the Mac that want
GSS-API support would also probably use Java's InetAddress class and
TCP/IP sockets. I could not find an alternative networking Java API for
the Mac.  If this is how it is, then we don't have a problem with using
InetAddress as far as the Mac is concerned.

> Ted Ts'o
> asked whether the current approach would support IPV6 and interoperability
> between C and Java GSS implementations for either IPV4 or IPV6. It appeared
> that Java needs an extensible address class (including both IPV4 and IPV6,
> even though not non-Internet address forms), which Jeff Schiller (MIT)
> believes it has.  

Most probably the InetAddress class will represent both v4 and v6
addresses. I checked with some of the implementors here at Sun who
confirmed this opinion.  Some new methods `might' be added to it to
indicate which one of the two an instance represents.
InetAddress.getAddress() and InetAddress.getHostAddress() will behave
differently for IPv4 and IPv6 addresses.

> Question: does the Java equals method compare Ipv4 and
> Ipv6 addresses correctly?  Some further Java research is needed here.   

The answer to this question is, probably not. And this might be consistent
with its current behaviour wrt IPv4.  Right now the equals method deems
two IPv4 addresses to be the same only when it succeeds in a comparison of
the raw bytes representing the two addresses.  If one took two different
interfaces on a host, whether from the same or different address families,
and tried equals with them, it would not work because the two IP addresses
are not the same. (However, it might be desirable for the equals method to
correctly compare an IPv4 address to an IPv4 mapped IPv6 version of the
same address by stripping out the leading "0:0:0:0:0:FFFF".  But this is
something to address when IPv6 support gets added to the JDK.)

-Mayank

==========================================================================
This message was posted through the Stanford campus mailing list
server.  If you wish to unsubscribe from this mailing list, send the
message body of "unsubscribe ietf-cat-wg" to [email-masked]