author | jjg |
Wed, 04 Jan 2017 18:33:20 -0800 | |
changeset 43029 | 1cd1c816581e |
parent 36967 | d041d2e80712 |
permissions | -rw-r--r-- |
36967
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
1 |
/* |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
2 |
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
3 |
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
4 |
* |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
5 |
* This code is free software; you can redistribute it and/or modify it |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
6 |
* under the terms of the GNU General Public License version 2 only, as |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
7 |
* published by the Free Software Foundation. |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
8 |
* |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
9 |
* This code is distributed in the hope that it will be useful, but WITHOUT |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
10 |
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
11 |
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
12 |
* version 2 for more details (a copy is included in the LICENSE file that |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
13 |
* accompanied this code). |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
14 |
* |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
15 |
* You should have received a copy of the GNU General Public License version |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
16 |
* 2 along with this work; if not, write to the Free Software Foundation, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
17 |
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
18 |
* |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
19 |
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
20 |
* or visit www.oracle.com if you need additional information or have any |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
21 |
* questions. |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
22 |
*/ |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
23 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
24 |
/* @test |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
25 |
* @bug 8134577 |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
26 |
* @summary Test the internal NameService implementation which is enabled via |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
27 |
* the system property jdk.net.hosts.file. This property specifies |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
28 |
* a file name that contains address host mappings, similar to those in |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
29 |
* /etc/hosts file. |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
30 |
* @run main/othervm InternalNameServiceTest |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
31 |
*/ |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
32 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
33 |
import java.io.BufferedWriter; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
34 |
import java.io.FileWriter; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
35 |
import java.io.PrintWriter; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
36 |
import java.net.InetAddress; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
37 |
import java.net.UnknownHostException; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
38 |
import java.util.Arrays; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
39 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
40 |
public class InternalNameServiceTest { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
41 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
42 |
public static void main(String args[]) throws Exception { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
43 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
44 |
String hostsFileName = System.getProperty("test.src", ".") + "/TestHosts"; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
45 |
System.setProperty("jdk.net.hosts.file", hostsFileName); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
46 |
System.setProperty("sun.net.inetaddr.ttl", "0"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
47 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
48 |
testHostToIPAddressMappings(hostsFileName); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
49 |
testIpAddressToHostNameMappings(hostsFileName); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
50 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
51 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
52 |
private static void testHostToIPAddressMappings(String hostsFileName) |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
53 |
throws Exception, UnknownHostException { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
54 |
System.out.println(" TEST HOST TO IP ADDRESS MAPPINGS "); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
55 |
InetAddress testAddress; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
56 |
byte[] retrievedIpAddr; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
57 |
byte[] expectedIpAddr1 = { 1, 2, 3, 4 }; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
58 |
byte[] expectedIpAddr2 = { 5, 6, 7, 8 }; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
59 |
byte[] expectedIpAddrIpv6_1 = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
60 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
61 |
// hosts file with |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
62 |
// # test hosts file for internal NameService |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
63 |
// 1.2.3.4 host.sample-domain |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
64 |
// 5.6.7.8 host1.sample-domain |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
65 |
// 1.2.3.4 host2.sample-domain # this is a comment |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
66 |
// host3.sample-domain # no ip address |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
67 |
// host4.sample-domain # space as ip address |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
68 |
// host5.sample-domain # double space as ip address |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
69 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
70 |
// add comment to hosts file |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
71 |
addMappingToHostsFile("test hosts file for internal NameService ", "#", hostsFileName, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
72 |
false); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
73 |
addMappingToHostsFile("host.sample-domain", "1.2.3.4", hostsFileName, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
74 |
true); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
75 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
76 |
testAddress = InetAddress.getByName("host.sample-domain"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
77 |
retrievedIpAddr = testAddress.getAddress(); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
78 |
if (!Arrays.equals(retrievedIpAddr, expectedIpAddr1)) { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
79 |
throw new RuntimeException( |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
80 |
"retrievedIpAddr not equal to expectedipAddr"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
81 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
82 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
83 |
addMappingToHostsFile("host1.sample-domain", "5.6.7.8", hostsFileName, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
84 |
true); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
85 |
addMappingToHostsFile("host2.sample-domain", "1.2.3.4", hostsFileName, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
86 |
true); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
87 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
88 |
testAddress = InetAddress.getByName("host1.sample-domain"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
89 |
retrievedIpAddr = testAddress.getAddress(); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
90 |
if (!Arrays.equals(retrievedIpAddr, expectedIpAddr2)) { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
91 |
throw new RuntimeException( |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
92 |
"retrievedIpAddr not equal to expectedIpAddr"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
93 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
94 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
95 |
testAddress = InetAddress.getByName("host2.sample-domain"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
96 |
retrievedIpAddr = testAddress.getAddress(); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
97 |
if (!Arrays.equals(retrievedIpAddr, expectedIpAddr1)) { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
98 |
throw new RuntimeException( |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
99 |
"retrievedIpAddr not equal to expectedIpAddr"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
100 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
101 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
102 |
try { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
103 |
addMappingToHostsFile("host3.sample-domain", "", hostsFileName, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
104 |
true); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
105 |
testAddress = InetAddress.getByName("host3.sample-domain"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
106 |
throw new RuntimeException( |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
107 |
"Expected UnknownHostException not thrown"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
108 |
} catch (UnknownHostException uhEx) { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
109 |
System.out.println("UnknownHostException as expected for host host3.sample-domain"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
110 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
111 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
112 |
try { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
113 |
addMappingToHostsFile("host4.sample-domain", " ", hostsFileName, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
114 |
true); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
115 |
testAddress = InetAddress.getByName("host4.sample-domain"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
116 |
throw new RuntimeException( |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
117 |
"Expected UnknownHostException not thrown"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
118 |
} catch (UnknownHostException uhEx) { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
119 |
System.out.println("UnknownHostException as expected for host host4.sample-domain"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
120 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
121 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
122 |
try { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
123 |
addMappingToHostsFile("host5.sample-domain", " ", hostsFileName, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
124 |
true); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
125 |
testAddress = InetAddress.getByName("host4.sample-domain"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
126 |
throw new RuntimeException( |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
127 |
"Expected UnknownHostException not thrown"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
128 |
} catch (UnknownHostException uhEx) { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
129 |
System.out.println("UnknownHostException as expected for host host5.sample-domain"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
130 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
131 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
132 |
// IPV6 tests |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
133 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
134 |
// IPV6 tests |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
135 |
addMappingToHostsFile("host-ipv6.sample-domain", "::1", hostsFileName, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
136 |
true); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
137 |
testAddress = InetAddress.getByName("host-ipv6.sample-domain"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
138 |
retrievedIpAddr = testAddress.getAddress(); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
139 |
if (!Arrays.equals(retrievedIpAddr, expectedIpAddrIpv6_1)) { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
140 |
System.out.println("retrieved ipv6 addr == " + Arrays.toString(retrievedIpAddr)); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
141 |
System.out.println("expected ipv6 addr == " + Arrays.toString(expectedIpAddrIpv6_1)); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
142 |
throw new RuntimeException( |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
143 |
"retrieved IPV6 Addr not equal to expected IPV6 Addr"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
144 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
145 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
146 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
147 |
private static void testIpAddressToHostNameMappings(String hostsFileName) |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
148 |
throws Exception { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
149 |
System.out.println(" TEST IP ADDRESS TO HOST MAPPINGS "); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
150 |
InetAddress testAddress; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
151 |
String retrievedHost; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
152 |
String expectedHost = "testHost.testDomain"; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
153 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
154 |
byte[] testHostIpAddr = { 10, 2, 3, 4 }; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
155 |
byte[] testHostIpAddr2 = { 10, 5, 6, 7 }; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
156 |
byte[] testHostIpAddr3 = { 10, 8, 9, 10 }; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
157 |
byte[] testHostIpAddr4 = { 10, 8, 9, 11 }; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
158 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
159 |
// add comment to hosts file |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
160 |
addMappingToHostsFile("test hosts file for internal NameService ", "#", hostsFileName, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
161 |
false); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
162 |
addMappingToHostsFile("testHost.testDomain", "10.2.3.4", hostsFileName, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
163 |
true); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
164 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
165 |
testAddress = InetAddress.getByAddress(testHostIpAddr); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
166 |
System.out.println("******* testAddress == " + testAddress); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
167 |
retrievedHost = testAddress.getHostName(); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
168 |
if (!expectedHost.equals(retrievedHost)) { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
169 |
throw new RuntimeException( |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
170 |
"retrieved host name not equal to expected host name"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
171 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
172 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
173 |
addMappingToHostsFile("testHost.testDomain", "10.5.6.7", hostsFileName, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
174 |
true); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
175 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
176 |
testAddress = InetAddress.getByAddress(testHostIpAddr2); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
177 |
System.out.println("******* testAddress == " + testAddress); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
178 |
retrievedHost = testAddress.getHostName(); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
179 |
System.out.println("******* retrievedHost == " + retrievedHost); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
180 |
if (!expectedHost.equals(retrievedHost)) { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
181 |
throw new RuntimeException("retrieved host name " + retrievedHost |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
182 |
+ " not equal to expected host name" + expectedHost); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
183 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
184 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
185 |
testAddress = InetAddress.getByAddress(testHostIpAddr4); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
186 |
System.out.println("******* testAddress == " + testAddress); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
187 |
if ("10.8.9.11".equalsIgnoreCase(testAddress.getCanonicalHostName())) { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
188 |
System.out.println("addr = " + addrToString(testHostIpAddr4) |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
189 |
+ " resolve to a host address as expected"); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
190 |
} else { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
191 |
System.out.println("addr = " + addrToString(testHostIpAddr4) |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
192 |
+ " does not resolve as expected, testAddress == " + testAddress.getCanonicalHostName()); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
193 |
throw new RuntimeException("problem with resolving " |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
194 |
+ addrToString(testHostIpAddr4)); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
195 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
196 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
197 |
try { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
198 |
addMappingToHostsFile("", "10.8.9.10", hostsFileName, true); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
199 |
testAddress = InetAddress.getByAddress(testHostIpAddr3); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
200 |
System.out.println("******* testAddress == " + testAddress); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
201 |
retrievedHost = testAddress.getCanonicalHostName(); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
202 |
} catch (Throwable t) { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
203 |
throw new RuntimeException("problem with resolving " |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
204 |
+ addrToString(testHostIpAddr3)); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
205 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
206 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
207 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
208 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
209 |
private static String addrToString(byte addr[]) { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
210 |
return Byte.toString(addr[0]) + "." + Byte.toString(addr[1]) + "." |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
211 |
+ Byte.toString(addr[2]) + "." + Byte.toString(addr[3]); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
212 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
213 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
214 |
private static void addMappingToHostsFile( String host, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
215 |
String addr, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
216 |
String hostsFileName, |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
217 |
boolean append) |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
218 |
throws Exception { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
219 |
String mapping = addr + " " + host; |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
220 |
try (PrintWriter hfPWriter = new PrintWriter(new BufferedWriter( |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
221 |
new FileWriter(hostsFileName, append)))) { |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
222 |
hfPWriter.println(mapping); |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
223 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
224 |
} |
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
225 |
|
d041d2e80712
8134577: Eliminate or standardize a replacement for sun.net.spi.nameservice.NameServiceDescriptor
msheppar
parents:
diff
changeset
|
226 |
} |