maguro      2005/04/12 17:29:55

  Modified:    modules/core/src/java/org/openejb/corba/openorb
                        OpenORBConfigAdapter.java
  Log:

  The primary port of the IOR must be zero if the CSI component contains a 
secure transport mechanism.  Much of this is to work around the Sun ORB.
  
  Revision  Changes    Path
  1.4       +54 -43    
openejb/modules/core/src/java/org/openejb/corba/openorb/OpenORBConfigAdapter.java
  
  Index: OpenORBConfigAdapter.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/corba/openorb/OpenORBConfigAdapter.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- OpenORBConfigAdapter.java 24 Mar 2005 15:14:14 -0000      1.3
  +++ OpenORBConfigAdapter.java 12 Apr 2005 21:29:54 -0000      1.4
  @@ -48,6 +48,7 @@
   import java.util.List;
   import java.util.Properties;
   
  +import org.omg.CORBA.ORB;
   import org.omg.Security.Confidentiality;
   import org.omg.Security.EstablishTrustInClient;
   import org.omg.Security.EstablishTrustInTarget;
  @@ -83,8 +84,8 @@
           return (String[]) list.toArray(new String[list.size()]);
       }
   
  -    public Properties translateToProps(TSSConfig config) throws 
ConfigException {
  -        Properties props = new Properties();
  +    public Properties translateToProps(TSSConfig config, Properties props) 
throws ConfigException {
  +        Properties result = new Properties();
   
           if (config != null) {
               TSSTransportMechConfig transportMech = 
config.getTransport_mech();
  @@ -96,66 +97,71 @@
                       String supProp = "Integrity";
                       String reqProp = "Integrity";
   
  -                    props.put("ssliop.port", 
Short.toString(sslConfig.getPort()));
  +                    result.put("ssliop.port", 
Short.toString(sslConfig.getPort()));
   
                       if (sslConfig.getHandshakeTimeout() > 0) {
  -                        props.put("ssliop.server.handshake.timeout", 
Short.toString(sslConfig.getHandshakeTimeout()));
  +                        result.put("ssliop.server.handshake.timeout", 
Short.toString(sslConfig.getHandshakeTimeout()));
                       }
   
                       if ((supports & Confidentiality.value) != 0) {
  -                        props.put("ssliop.server.encrypt.support", "true");
  +                        result.put("ssliop.server.encrypt.support", "true");
                           supProp += ",Confidentiality";
   
                           if ((requires & Confidentiality.value) != 0) {
  -                            props.put("ssliop.server.encrypt.requires", 
"true");
  +                            result.put("ssliop.server.encrypt.requires", 
"true");
                               reqProp += ",Confidentiality";
                           }
                       }
                       if ((supports & EstablishTrustInTarget.value) != 0) {
  -                        props.put("ssliop.server.auth.support", "true");
  +                        result.put("ssliop.server.auth.support", "true");
                           supProp += ",EstablishTrustInTarget";
   
                           if ((requires & EstablishTrustInTarget.value) != 0) {
  -                            props.put("ssliop.server.auth", "true");
  +                            result.put("ssliop.server.auth", "true");
                               reqProp += ",EstablishTrustInTarget";
                           }
                       }
                       if ((supports & EstablishTrustInClient.value) != 0) {
  -                        props.put("ssliop.server.auth.support", "true");
  +                        result.put("ssliop.server.auth.support", "true");
                           supProp += ",EstablishTrustInClient";
   
                           if ((requires & EstablishTrustInClient.value) != 0) {
  -                            props.put("ssliop.server.authClient", "true");
  +                            result.put("ssliop.server.authClient", "true");
                               reqProp += ",EstablishTrustInClient";
                           }
                       }
   
  -                    props.put("csiv2.tss.trans.tls.supports", supProp);
  -                    props.put("csiv2.tss.trans.tls.requires", reqProp);
  +                    result.put("csiv2.tss.trans.tls.supports", supProp);
  +                    result.put("csiv2.tss.trans.tls.requires", reqProp);
   
                   }
               }
           }
   
  -        props.put("org.omg.CORBA.ORBClass", "org.openorb.orb.core.ORB");
  -        props.put("org.omg.CORBA.ORBSingletonClass", 
"org.openorb.orb.core.ORBSingleton");
  -        props.put("ssliop.server.AllowBiDir", "true");
  -        props.put("ssliop.iiopport.disable", "true");
  -        props.put("ssliop.SSLContextFinderClass", 
"org.openorb.orb.ssl.JSSEContextFinder");
  -        
props.put("org.omg.PortableInterceptor.ORBInitializerClass.org.openejb.corba.transaction.TransactionInitializer",
 "");
  -        
props.put("org.omg.PortableInterceptor.ORBInitializerClass.org.openejb.corba.security.SecurityInitializer",
 "");
  -        
props.put("org.omg.PortableInterceptor.ORBInitializerClass.org.openejb.corba.openorb.OpenORBInitializer",
 "");
  -        props.put("iiop.TransportServerInitializerClass", 
"org.openorb.orb.ssl.SSLTransportServerInitializer");
  +        result.put("org.omg.CORBA.ORBClass", "org.openorb.orb.core.ORB");
  +        result.put("org.omg.CORBA.ORBSingletonClass", 
"org.openorb.orb.core.ORBSingleton");
  +        result.put("ssliop.server.AllowBiDir", "true");
  +        result.put("ssliop.iiopport.disable", "true");
  +        result.put("ssliop.SSLContextFinderClass", 
"org.openorb.orb.ssl.JSSEContextFinder");
  +        
result.put("org.omg.PortableInterceptor.ORBInitializerClass.org.openejb.corba.transaction.TransactionInitializer",
 "");
  +        
result.put("org.omg.PortableInterceptor.ORBInitializerClass.org.openejb.corba.security.SecurityInitializer",
 "");
  +        
result.put("org.omg.PortableInterceptor.ORBInitializerClass.org.openejb.corba.openorb.OpenORBInitializer",
 "");
  +        result.put("iiop.TransportServerInitializerClass", 
"org.openorb.orb.ssl.SSLTransportServerInitializer");
   
  -        return props;
  +        result.putAll(props);
  +
  +        return result;
  +    }
  +
  +    public void postProcess(TSSConfig config, ORB orb) throws 
ConfigException {
       }
   
       public String[] translateToArgs(CSSConfig config, List args) throws 
ConfigException {
           return (String[]) args.toArray(new String[args.size()]);
       }
   
  -    public Properties translateToProps(CSSConfig config) throws 
ConfigException {
  -        Properties props = new Properties();
  +    public Properties translateToProps(CSSConfig config, Properties props) 
throws ConfigException {
  +        Properties result = new Properties();
   
           if (config != null) {
               short supports = 0;
  @@ -171,47 +177,52 @@
               String supProp = "Integrity";
               String reqProp = "Integrity";
               if ((supports & NoProtection.value) != 0) {
  -                props.put("secure.client.allowUnsecure", "true");
  +                result.put("secure.client.allowUnsecure", "true");
                   supProp += ",NoProtection";
               } else {
  -                props.put("secure.client.allowUnsecure", "false");
  +                result.put("secure.client.allowUnsecure", "false");
               }
               if ((supports & Confidentiality.value) != 0) {
  -                props.put("ssliop.client.encrypt.support", "true");
  +                result.put("ssliop.client.encrypt.support", "true");
                   supProp += ",Confidentiality";
   
                   if ((requires & Confidentiality.value) != 0) {
  -                    props.put("ssliop.client.encrypt.requires", "true");
  +                    result.put("ssliop.client.encrypt.requires", "true");
                       reqProp += ",Confidentiality";
                   }
               }
               if ((supports & EstablishTrustInTarget.value) != 0) {
  -                props.put("ssliop.client.auth.support", "true");
  +                result.put("ssliop.client.auth.support", "true");
                   supProp += ",EstablishTrustInTarget";
   
                   if ((requires & EstablishTrustInTarget.value) != 0) {
  -                    props.put("ssliop.client.auth.requires", "true");
  +                    result.put("ssliop.client.auth.requires", "true");
                       reqProp += ",EstablishTrustInTarget";
                   }
               }
               if ((supports & EstablishTrustInClient.value) != 0) {
  -                props.put("ssliop.client.auth.support", "true");
  +                result.put("ssliop.client.auth.support", "true");
                   supProp += ",EstablishTrustInClient";
               }
   
  -            props.put("csiv2.css.trans.tls.supports", supProp);
  -            props.put("csiv2.css.trans.tls.requires", reqProp);
  +            result.put("csiv2.css.trans.tls.supports", supProp);
  +            result.put("csiv2.css.trans.tls.requires", reqProp);
   
           }
   
  -        props.put("org.omg.CORBA.ORBClass", "org.openorb.orb.core.ORB");
  -        props.put("org.omg.CORBA.ORBSingletonClass", 
"org.openorb.orb.core.ORBSingleton");
  -        props.put("ssliop.SSLContextFinderClass", 
"org.openorb.orb.ssl.JSSEContextFinder");
  -        
props.put("org.omg.PortableInterceptor.ORBInitializerClass.org.openejb.corba.transaction.TransactionInitializer",
 "");
  -        
props.put("org.omg.PortableInterceptor.ORBInitializerClass.org.openejb.corba.security.SecurityInitializer",
 "");
  -        
props.put("org.omg.PortableInterceptor.ORBInitializerClass.org.openejb.corba.openorb.OpenORBInitializer",
 "");
  -        props.put("iiop.TransportClientInitializerClass", 
"org.openorb.orb.ssl.SSLTransportClientInitializer");
  +        result.put("org.omg.CORBA.ORBClass", "org.openorb.orb.core.ORB");
  +        result.put("org.omg.CORBA.ORBSingletonClass", 
"org.openorb.orb.core.ORBSingleton");
  +        result.put("ssliop.SSLContextFinderClass", 
"org.openorb.orb.ssl.JSSEContextFinder");
  +        
result.put("org.omg.PortableInterceptor.ORBInitializerClass.org.openejb.corba.transaction.TransactionInitializer",
 "");
  +        
result.put("org.omg.PortableInterceptor.ORBInitializerClass.org.openejb.corba.security.SecurityInitializer",
 "");
  +        
result.put("org.omg.PortableInterceptor.ORBInitializerClass.org.openejb.corba.openorb.OpenORBInitializer",
 "");
  +        result.put("iiop.TransportClientInitializerClass", 
"org.openorb.orb.ssl.SSLTransportClientInitializer");
  +
  +        result.putAll(props);
  +
  +        return result;
  +    }
   
  -        return props;
  +    public void postProcess(CSSConfig config, ORB orb) throws 
ConfigException {
       }
   }
  
  
  

Reply via email to