< prev index next >

src/java.base/unix/classes/sun/net/PortConfig.java

Print this page




  25 
  26 package sun.net;
  27 
  28 import java.security.AccessController;
  29 
  30 /**
  31  * Determines the ephemeral port range in use on this system.
  32  * If this cannot be determined, then the default settings
  33  * of the OS are returned.
  34  */
  35 
  36 public final class PortConfig {
  37 
  38     private static int defaultUpper, defaultLower;
  39     private final static int upper, lower;
  40 
  41     private PortConfig() {}
  42 
  43     static {
  44         AccessController.doPrivileged(
  45             new java.security.PrivilegedAction<Void>() {
  46                 public Void run() {
  47                     System.loadLibrary("net");
  48                     String os = System.getProperty("os.name");
  49                     if (os.startsWith("Linux")) {
  50                         defaultLower = 32768;
  51                         defaultUpper = 61000;
  52                     } else if (os.startsWith("SunOS")) {
  53                         defaultLower = 32768;
  54                         defaultUpper = 65535;
  55                     } else if (os.contains("OS X")) {
  56                         defaultLower = 49152;
  57                         defaultUpper = 65535;
  58                     } else if (os.startsWith("AIX")) {
  59                         // The ephemeral port is OS version dependent on AIX:
  60                         // http://publib.boulder.ibm.com/infocenter/aix/v7r1/topic/com.ibm.aix.rsct315.admin/bl503_ephport.htm
  61                         // However, on AIX 5.3 / 6.1 / 7.1 we always see the
  62                         // settings below by using:
  63                         // /usr/sbin/no -a | fgrep ephemeral
  64                         defaultLower = 32768;
  65                         defaultUpper = 65535;




  25 
  26 package sun.net;
  27 
  28 import java.security.AccessController;
  29 
  30 /**
  31  * Determines the ephemeral port range in use on this system.
  32  * If this cannot be determined, then the default settings
  33  * of the OS are returned.
  34  */
  35 
  36 public final class PortConfig {
  37 
  38     private static int defaultUpper, defaultLower;
  39     private final static int upper, lower;
  40 
  41     private PortConfig() {}
  42 
  43     static {
  44         AccessController.doPrivileged(
  45             new java.security.PrivilegedAction<>() {
  46                 public Void run() {
  47                     System.loadLibrary("net");
  48                     String os = System.getProperty("os.name");
  49                     if (os.startsWith("Linux")) {
  50                         defaultLower = 32768;
  51                         defaultUpper = 61000;
  52                     } else if (os.startsWith("SunOS")) {
  53                         defaultLower = 32768;
  54                         defaultUpper = 65535;
  55                     } else if (os.contains("OS X")) {
  56                         defaultLower = 49152;
  57                         defaultUpper = 65535;
  58                     } else if (os.startsWith("AIX")) {
  59                         // The ephemeral port is OS version dependent on AIX:
  60                         // http://publib.boulder.ibm.com/infocenter/aix/v7r1/topic/com.ibm.aix.rsct315.admin/bl503_ephport.htm
  61                         // However, on AIX 5.3 / 6.1 / 7.1 we always see the
  62                         // settings below by using:
  63                         // /usr/sbin/no -a | fgrep ephemeral
  64                         defaultLower = 32768;
  65                         defaultUpper = 65535;


< prev index next >