[jira] Commented: (HARMONY-73) java.net.InetAddress.getLocalHost() returns wrong host name for loopback address

2006-03-04 Thread Svetlana Samoilenko (JIRA)
[ 
http://issues.apache.org/jira/browse/HARMONY-73?page=comments#action_12368875 ] 

Svetlana Samoilenko commented on HARMONY-73:


Tim/Paulex, 
thanks, bug is not reproducible with latest sources.

  java.net.InetAddress.getLocalHost() returns wrong host name for loopback 
 address
 -

  Key: HARMONY-73
  URL: http://issues.apache.org/jira/browse/HARMONY-73
  Project: Harmony
 Type: Bug
   Components: Classlib
 Reporter: Svetlana Samoilenko
 Priority: Minor
  Attachments: InetAddress.patch

 J2se 1.4.2 and 5.0 specifications for java.net.InetAddress.getLocalHost() 
 read, that if there is a security manager, its checkConnect method is called 
 with the local host name and -1 as its arguments to see if the operation is 
 allowed. 
 If the operation is not allowed, an InetAddress representing the loopback 
 address is returned as hostname/hostaddress (as followed from toString() 
 specification).
 The test listed below shows that the returned loopback address has wrong 
 hostname, 127.0.0.1 instead of loopback.
 Inet_SecurityManager class is called twice and therefore host name is 
 substituted with hostaddress address.
 Code to reproduce: 
 import java.net.*; 
 public class test2 { 
 public static void main(String[] args) { 
 try { 
 System.setSecurityManager(new Inet_SecurityManager());
 System.out.println(Loopback address =  + 
 InetAddress.getLocalHost());
 } catch (Exception e){ 
 System.out.println(Unexpected exception =  + e); 
 }; 
 } 
 } 
 class Inet_SecurityManager extends SecurityManager { 
 public void checkConnect(String host, int port) { 
 super.checkConnect(host,port); 
 throw new SecurityException();
 }
 }
 Steps to Reproduce: 
 1. Build Harmony (check-out on 2006-01-30) j2se subset as described in 
 README.txt. 
 2. Compile test2.java using BEA 1.4 javac 
  javac -d . test2.java 
 3. Run java using compatible VM (J9) 
  java -showversion test2 
 Output: 
 C:\tmpC:\jrockit-j2sdk1.4.2_04\bin\java.exe -showversion test2 
 java version 1.4.2_04 
 Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05) 
 BEA WebLogic JRockit(TM) 1.4.2_04 JVM (build 
 ari-31788-20040616-1132-win-ia32, Native Threads, GC strategy: parallel) 
 Inet_SecurityManager :host= nswssamoil1
 Inet_SecurityManager :port= -1
 Loopback address = localhost/127.0.0.1
 C:\tmpC:\harmony\trunk\deploy\jre\bin\java -showversion test2 
 (c) Copyright 1991, 2005 The Apache Software Foundation or its licensors, as 
 applicable. 
 Inet_SecurityManager :host= nswssamoil1
 Inet_SecurityManager :port= -1
 Inet_SecurityManager :host= localhost
 Inet_SecurityManager :port= -1
 Loopback address = 127.0.0.1/127.0.0.1
 Suggested junit test case:
  InetAddressTest.java 
 - 
 import java.net.*; 
 import junit.framework.*; 
 public class InetAddressTest extends TestCase { 
 public static void main(String[] args) { 
 junit.textui.TestRunner.run(InetAddress.class); 
 } 
 public void test_getLocalHost() { 
 try{
 System.setSecurityManager(new Inet_SecurityManager()); 
 String hostname=InetAddress.getLocalHost().getHostName(); 
   
 assertEquals(localhost, hostname);
 } catch (Exception e){ 
 fail(Unexpected exception =  + e); 
 };   
} 
 }
 class Inet_SecurityManager extends SecurityManager { 
 public void checkConnect(String host, int port) { 
 super.checkConnect(host,port); 
 throw new SecurityException();
 }
 } 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Commented: (HARMONY-73) java.net.InetAddress.getLocalHost() returns wrong host name for loopback address

2006-02-09 Thread Paulex Yang (JIRA)
[ 
http://issues.apache.org/jira/browse/HARMONY-73?page=comments#action_12365843 ] 

Paulex Yang commented on HARMONY-73:


Further study shows that the prior patch is not needed, in fact, my proposed 
fix for issue 84 (http://issues.apache.org/jira/browse/HARMONY-84) is enough to 
fix this issue as by product. 

  java.net.InetAddress.getLocalHost() returns wrong host name for loopback 
 address
 -

  Key: HARMONY-73
  URL: http://issues.apache.org/jira/browse/HARMONY-73
  Project: Harmony
 Type: Bug
   Components: Classlib
 Reporter: Svetlana Samoilenko
 Priority: Minor
  Attachments: InetAddress.patch

 J2se 1.4.2 and 5.0 specifications for java.net.InetAddress.getLocalHost() 
 read, that if there is a security manager, its checkConnect method is called 
 with the local host name and -1 as its arguments to see if the operation is 
 allowed. 
 If the operation is not allowed, an InetAddress representing the loopback 
 address is returned as hostname/hostaddress (as followed from toString() 
 specification).
 The test listed below shows that the returned loopback address has wrong 
 hostname, 127.0.0.1 instead of loopback.
 Inet_SecurityManager class is called twice and therefore host name is 
 substituted with hostaddress address.
 Code to reproduce: 
 import java.net.*; 
 public class test2 { 
 public static void main(String[] args) { 
 try { 
 System.setSecurityManager(new Inet_SecurityManager());
 System.out.println(Loopback address =  + 
 InetAddress.getLocalHost());
 } catch (Exception e){ 
 System.out.println(Unexpected exception =  + e); 
 }; 
 } 
 } 
 class Inet_SecurityManager extends SecurityManager { 
 public void checkConnect(String host, int port) { 
 super.checkConnect(host,port); 
 throw new SecurityException();
 }
 }
 Steps to Reproduce: 
 1. Build Harmony (check-out on 2006-01-30) j2se subset as described in 
 README.txt. 
 2. Compile test2.java using BEA 1.4 javac 
  javac -d . test2.java 
 3. Run java using compatible VM (J9) 
  java -showversion test2 
 Output: 
 C:\tmpC:\jrockit-j2sdk1.4.2_04\bin\java.exe -showversion test2 
 java version 1.4.2_04 
 Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05) 
 BEA WebLogic JRockit(TM) 1.4.2_04 JVM (build 
 ari-31788-20040616-1132-win-ia32, Native Threads, GC strategy: parallel) 
 Inet_SecurityManager :host= nswssamoil1
 Inet_SecurityManager :port= -1
 Loopback address = localhost/127.0.0.1
 C:\tmpC:\harmony\trunk\deploy\jre\bin\java -showversion test2 
 (c) Copyright 1991, 2005 The Apache Software Foundation or its licensors, as 
 applicable. 
 Inet_SecurityManager :host= nswssamoil1
 Inet_SecurityManager :port= -1
 Inet_SecurityManager :host= localhost
 Inet_SecurityManager :port= -1
 Loopback address = 127.0.0.1/127.0.0.1
 Suggested junit test case:
  InetAddressTest.java 
 - 
 import java.net.*; 
 import junit.framework.*; 
 public class InetAddressTest extends TestCase { 
 public static void main(String[] args) { 
 junit.textui.TestRunner.run(InetAddress.class); 
 } 
 public void test_getLocalHost() { 
 try{
 System.setSecurityManager(new Inet_SecurityManager()); 
 String hostname=InetAddress.getLocalHost().getHostName(); 
   
 assertEquals(localhost, hostname);
 } catch (Exception e){ 
 fail(Unexpected exception =  + e); 
 };   
} 
 }
 class Inet_SecurityManager extends SecurityManager { 
 public void checkConnect(String host, int port) { 
 super.checkConnect(host,port); 
 throw new SecurityException();
 }
 } 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira