Пример #1
0
  /** {@inheritDoc} */
  public void destroy() {
    if (loopbackAcceptor != null) {
      loopbackAcceptor.terminate();
    }

    if (sslAcceptor != null) {
      sslAcceptor.terminate();
    }

    super.destroy();
  }
Пример #2
0
  /** {@inheritDoc} */
  public void listen() {
    super.listen();

    if (sslAcceptor != null) {
      sslAcceptor.start();
    }

    if (loopbackAcceptor != null) {
      loopbackAcceptor.start();
    }
  }
Пример #3
0
  public void configure(Configuration config) throws ConfigurationException {
    super.configure(config);

    socketFactoryManager = orb.getTransportManager().getSocketFactoryManager();

    String address_str = configuration.getAttribute("OAAddress", null);
    if (address_str != null) {
      ProtocolAddressBase addr = orb.createAddress(address_str);
      if (addr instanceof IIOPAddress) {
        address = (IIOPAddress) addr;
      }
    } else {
      int oaPort = configuration.getAttributeAsInteger("OAPort", 0);
      String oaHost = configuration.getAttribute("OAIAddr", "");
      address = new IIOPAddress(oaHost, oaPort);
    }

    if (address != null) {
      address.configure(configuration);
    }

    address_str = configuration.getAttribute("OASSLAddress", null);
    if (address_str != null) {
      ProtocolAddressBase addr = orb.createAddress(address_str);
      if (addr instanceof IIOPAddress) {
        sslAddress = (IIOPAddress) addr;
      }
    } else {
      int sslPort = configuration.getAttributeAsInteger("OASSLPort", 0);
      String sslHost = configuration.getAttribute("OAIAddr", "");
      sslAddress = new IIOPAddress(sslHost, sslPort);
    }

    if (sslAddress != null) {
      sslAddress.configure(configuration);
    }

    serverTimeout = configuration.getAttributeAsInteger("jacorb.connection.server.timeout", 0);

    supportSSL = configuration.getAttributeAsBoolean("jacorb.security.support_ssl", false);

    target_supports =
        configuration.getAttributeAsInteger(
            "jacorb.security.ssl.server.supported_options",
            0x20,
            16); // 16 is the base as we take the string value as hex!

    // make sure that the minimum options are always in the set of supported options
    target_supports |= MIN_SSL_OPTIONS;

    target_requires =
        configuration.getAttributeAsInteger("jacorb.security.ssl.server.required_options", 0, 16);

    generateSSLComponents =
        configuration.getAttributeAsBoolean(
            "jacorb.security.ssl_components_added_by_ior_interceptor", true);

    if (!isSSLRequired()
        || configuration.getAttributeAsBoolean(
            "jacorb.security.ssl.always_open_unsecured_address", false)) {
      acceptor = new Acceptor("ServerSocketListener");
      ((Acceptor) acceptor).init();
    }

    if (supportSSL) {
      sslAcceptor = new SSLAcceptor();
      sslAcceptor.init();
    }

    profile = createAddressProfile();

    if (configuration.getAttributeAsBoolean("jacorb.iiop.enable_loopback", true)) {
      loopbackAcceptor = new LoopbackAcceptor();
    }
  }
Пример #4
0
 private SSL createSSL() {
   return new SSL(
       (short) target_supports,
       (short) target_requires,
       (short) sslAcceptor.getLocalAddress().getPort());
 }
Пример #5
0
 public void renewSSLServerSocket() {
   if (sslAcceptor != null) {
     sslAcceptor.renewSSLServerSocket();
   }
 }