Denis Kishenko wrote:
I have researched issue H-1664 and found one more difference with RI.
I run simple test on Windows Server 2003 SP1
=================== Test =============
import java.net.InetAddress;
import java.net.UnknownHostException;
public class Test {
public static void main(String[] args) throws UnknownHostException {
System.out.println("by name (127.0.0.1) -> " +
InetAddress.getByName("127.0.0.1").getHostName());
System.out.println("by name (localhost) -> " +
InetAddress.getByName("localhost").getHostName());
System.out.println("by address -> " +
InetAddress.getByAddress(new byte[]{127, 0, 0, 1}).getHostName());
System.out.println("localhost -> " + InetAddress.getLocalHost());
}
}
Windows Server 2003 SP1
=========== RI ==============
by name (127.0.0.1) -> 127.0.0.1
by name (localhost) -> localhost
by address -> 127.0.0.1
localhost -> nstdrlew21/10.125.122.60
========= Harmony ==========
by name (127.0.0.1) -> nstdrlew21.ins.intel.com
by name (localhost) -> localhost
by address -> nstdrlew21.ins.intel.com
localhost -> nstdrlew21/10.125.122.60
WinXP
========= Both ===========
by name (127.0.0.1) -> localhost
by name (localhost) -> localhost
by address -> localhost
localhost -> pbwdmkishen/10.125.132.226
Actually Harmony use native call of getnameinfo() to get host name
(which is reasonable IMHO). MSDN says "The getnameinfo function
provides name resolution from an address to the host name".
InetAddressTest.test_getHostName (see H-1664) failed on WinServer
because InetAddress.getByName("127.0.0.1").getHostName() returned
"nstdrlew21.ins.intel.com" while "localhost" expected. So this test
looks like configuration dependent.
I see three possible options
1. Stay test as is. Just keep in mind that on specific configurations
this one fails.
2. Rewrite test to be configuration dependent. Test has to do the same
native call.
3. Exclude localhost checking from test_getHostName.
I think Harmony does the right thing as spec requires, the difference is
caused by underlying system call, so it should be acceptable, i.e., the
test needs to be rewritten or excluded. But this issue worth a non-bug
difference together with getHostName()'s different behavior when
SecurityManager presents[1](thanks Alexei Fedotov helped to find this
link and commented to HARMONY-1664:))
Harmony-73 is another issue, which is actually caused by HARMONY-84 and
irrelevant with getHostName() method.
[1]
http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200602.mbox/[EMAIL PROTECTED]
What do you think about this situation?
--
Paulex Yang
China Software Development Lab
IBM
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]