< prev index next >

src/java.base/share/classes/java/net/InetAddress.java

Print this page
rev 15821 : 8165271: Fix use of reflection to gain access to private fields
Reviewed-by:


 304             preferIPv6Address = PREFER_IPV6_VALUE;
 305         } else if (str.equalsIgnoreCase("false")) {
 306             preferIPv6Address = PREFER_IPV4_VALUE;
 307         } else if (str.equalsIgnoreCase("system")) {
 308             preferIPv6Address = PREFER_SYSTEM_VALUE;
 309         } else {
 310             preferIPv6Address = PREFER_IPV4_VALUE;
 311         }
 312         AccessController.doPrivileged(
 313             new java.security.PrivilegedAction<>() {
 314                 public Void run() {
 315                     System.loadLibrary("net");
 316                     return null;
 317                 }
 318             });
 319         SharedSecrets.setJavaNetInetAddressAccess(
 320                 new JavaNetInetAddressAccess() {
 321                     public String getOriginalHostName(InetAddress ia) {
 322                         return ia.holder.getOriginalHostName();
 323                     }







 324                 }
 325         );
 326         init();
 327     }
 328 
 329     /**
 330      * Constructor for the Socket.accept() method.
 331      * This creates an empty InetAddress, which is filled in by
 332      * the accept() method.  This InetAddress, however, is not
 333      * put in the address cache, since it is not created by name.
 334      */
 335     InetAddress() {
 336         holder = new InetAddressHolder();
 337     }
 338 
 339     /**
 340      * Replaces the de-serialized object with an Inet4Address object.
 341      *
 342      * @return the alternate object to the de-serialized object.
 343      *




 304             preferIPv6Address = PREFER_IPV6_VALUE;
 305         } else if (str.equalsIgnoreCase("false")) {
 306             preferIPv6Address = PREFER_IPV4_VALUE;
 307         } else if (str.equalsIgnoreCase("system")) {
 308             preferIPv6Address = PREFER_SYSTEM_VALUE;
 309         } else {
 310             preferIPv6Address = PREFER_IPV4_VALUE;
 311         }
 312         AccessController.doPrivileged(
 313             new java.security.PrivilegedAction<>() {
 314                 public Void run() {
 315                     System.loadLibrary("net");
 316                     return null;
 317                 }
 318             });
 319         SharedSecrets.setJavaNetInetAddressAccess(
 320                 new JavaNetInetAddressAccess() {
 321                     public String getOriginalHostName(InetAddress ia) {
 322                         return ia.holder.getOriginalHostName();
 323                     }
 324                     
 325                     public InetAddress getByName(String hostName,
 326                                                  InetAddress hostAddress)
 327                             throws UnknownHostException
 328                     {
 329                         return InetAddress.getByName(hostName, hostAddress);
 330                     }
 331                 }
 332         );
 333         init();
 334     }
 335 
 336     /**
 337      * Constructor for the Socket.accept() method.
 338      * This creates an empty InetAddress, which is filled in by
 339      * the accept() method.  This InetAddress, however, is not
 340      * put in the address cache, since it is not created by name.
 341      */
 342     InetAddress() {
 343         holder = new InetAddressHolder();
 344     }
 345 
 346     /**
 347      * Replaces the de-serialized object with an Inet4Address object.
 348      *
 349      * @return the alternate object to the de-serialized object.
 350      *


< prev index next >