290
291 /* Used to store the name service provider */
292 private static transient NameService nameService = null;
293
294 /**
295 * Used to store the best available hostname.
296 * Lazily initialized via a data race; safe because Strings are immutable.
297 */
298 private transient String canonicalHostName = null;
299
300 /** use serialVersionUID from JDK 1.0.2 for interoperability */
301 private static final long serialVersionUID = 3286316764910316507L;
302
303 /*
304 * Load net library into runtime, and perform initializations.
305 */
306 static {
307 String str = java.security.AccessController.doPrivileged(
308 new GetPropertyAction("java.net.preferIPv6Addresses"));
309 if (str == null) {
310 preferIPv6Address = PREFER_IPV4_VALUE;
311 } else if (str.equalsIgnoreCase("true")) {
312 preferIPv6Address = PREFER_IPV6_VALUE;
313 } else if (str.equalsIgnoreCase("false")) {
314 preferIPv6Address = PREFER_IPV4_VALUE;
315 } else if (str.equalsIgnoreCase("system")) {
316 preferIPv6Address = PREFER_SYSTEM_VALUE;
317 } else {
318 preferIPv6Address = PREFER_IPV4_VALUE;
319 }
320 AccessController.doPrivileged(
321 new java.security.PrivilegedAction<>() {
322 public Void run() {
323 System.loadLibrary("net");
324 return null;
325 }
326 });
327 SharedSecrets.setJavaNetInetAddressAccess(
328 new JavaNetInetAddressAccess() {
329 public String getOriginalHostName(InetAddress ia) {
330 return ia.holder.getOriginalHostName();
|
290
291 /* Used to store the name service provider */
292 private static transient NameService nameService = null;
293
294 /**
295 * Used to store the best available hostname.
296 * Lazily initialized via a data race; safe because Strings are immutable.
297 */
298 private transient String canonicalHostName = null;
299
300 /** use serialVersionUID from JDK 1.0.2 for interoperability */
301 private static final long serialVersionUID = 3286316764910316507L;
302
303 /*
304 * Load net library into runtime, and perform initializations.
305 */
306 static {
307 String str = java.security.AccessController.doPrivileged(
308 new GetPropertyAction("java.net.preferIPv6Addresses"));
309 if (str == null) {
310 preferIPv6Address = PREFER_IPV6_VALUE;
311 } else if (str.equalsIgnoreCase("true")) {
312 preferIPv6Address = PREFER_IPV6_VALUE;
313 } else if (str.equalsIgnoreCase("false")) {
314 preferIPv6Address = PREFER_IPV4_VALUE;
315 } else if (str.equalsIgnoreCase("system")) {
316 preferIPv6Address = PREFER_SYSTEM_VALUE;
317 } else {
318 preferIPv6Address = PREFER_IPV4_VALUE;
319 }
320 AccessController.doPrivileged(
321 new java.security.PrivilegedAction<>() {
322 public Void run() {
323 System.loadLibrary("net");
324 return null;
325 }
326 });
327 SharedSecrets.setJavaNetInetAddressAccess(
328 new JavaNetInetAddressAccess() {
329 public String getOriginalHostName(InetAddress ia) {
330 return ia.holder.getOriginalHostName();
|