equal
deleted
inserted
replaced
74 } |
74 } |
75 } |
75 } |
76 |
76 |
77 // If no luck - try to ask name servers |
77 // If no luck - try to ask name servers |
78 try (DnsResolver dnsResolver = new DnsResolver()) { |
78 try (DnsResolver dnsResolver = new DnsResolver()) { |
79 var results = lookup(dnsResolver, hostname, protocolFamily, true); |
79 var results = lookup(dnsResolver, hostname, protocolFamily, false); |
80 return results.get(0); |
80 return results.get(0); |
81 } |
81 } |
82 } |
82 } |
83 |
83 |
84 /** |
84 /** |
99 System.err.printf("Resolver API: Hosts file doesn't know '%s' host%n", hostname); |
99 System.err.printf("Resolver API: Hosts file doesn't know '%s' host%n", hostname); |
100 } |
100 } |
101 } |
101 } |
102 |
102 |
103 try (var dnsResolver = new DnsResolver()) { |
103 try (var dnsResolver = new DnsResolver()) { |
104 var results = lookup(dnsResolver, hostname, null, false); |
104 var results = lookup(dnsResolver, hostname, null, true); |
105 if (results.isEmpty()) { |
105 if (results.isEmpty()) { |
106 throw new UnknownHostException(hostname + " unknown host name"); |
106 throw new UnknownHostException(hostname + " unknown host name"); |
107 } |
107 } |
108 return results; |
108 return results; |
109 } |
109 } |
176 return null; |
176 return null; |
177 } |
177 } |
178 return addressBuff.toString(); |
178 return addressBuff.toString(); |
179 } |
179 } |
180 |
180 |
181 private List<InetAddress> lookup(DnsResolver dnsResolver, String host, ProtocolFamily protocolFamily, boolean oneIsEnough) throws UnknownHostException { |
181 private List<InetAddress> lookup(DnsResolver dnsResolver, String host, ProtocolFamily protocolFamily, boolean needAllAddresses) throws UnknownHostException { |
182 if (DEBUG) { |
182 if (DEBUG) { |
183 System.out.printf("Resolver API: internal lookup call - %s%n", host); |
183 System.out.printf("Resolver API: internal lookup call - %s%n", host); |
184 } |
184 } |
185 return AddressResolutionQueue.resolve(dnsResolver, host, protocolFamily, oneIsEnough); |
185 return AddressResolutionQueue.resolve(dnsResolver, host, protocolFamily, needAllAddresses); |
186 } |
186 } |
187 |
187 |
188 private static HostsFileResolver hostsFileResolver = new HostsFileResolver(); |
188 private static HostsFileResolver hostsFileResolver = new HostsFileResolver(); |
189 private static final boolean DEBUG = java.security.AccessController.doPrivileged( |
189 private static final boolean DEBUG = java.security.AccessController.doPrivileged( |
190 (PrivilegedAction<Boolean>) () -> Boolean.getBoolean("jdk.dns.client.debug")); |
190 (PrivilegedAction<Boolean>) () -> Boolean.getBoolean("jdk.dns.client.debug")); |