[jboss-cvs] JBossAS SVN: r108274 - in branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss: iiop/csiv2 and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Sep 21 23:11:52 EDT 2010


Author: sguilhen at redhat.com
Date: 2010-09-21 23:11:52 -0400 (Tue, 21 Sep 2010)
New Revision: 108274

Modified:
   branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/iiop/CorbaORBService.java
   branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/iiop/CorbaORBServiceMBean.java
   branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/iiop/csiv2/CSIv2IORInterceptor.java
   branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/proxy/ejb/IORFactory.java
Log:
JBAS-8169: default IOR security settings can now be specified in CorbaORBService. These settings are applied to all IORs created by JBAS and can be overridden by the ior-security-config settings in jboss.xml

Modified: branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/iiop/CorbaORBService.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/iiop/CorbaORBService.java	2010-09-22 01:25:08 UTC (rev 108273)
+++ branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/iiop/CorbaORBService.java	2010-09-22 03:11:52 UTC (rev 108274)
@@ -49,6 +49,7 @@
 
 import org.jboss.iiop.naming.ORBInitialContextFactory;
 import org.jboss.metadata.MetaData;
+import org.jboss.metadata.IorSecurityConfigMetaData;
 import org.jboss.security.SecurityDomain;
 import org.jboss.system.Registry;
 import org.jboss.proxy.ejb.handle.HandleDelegateImpl;
@@ -79,6 +80,7 @@
    private String orbSingletonDelegate = null;
    private String orbPropertiesFileName = "orb-properties-file-not-defined";
    private Element portableInterceptorInitializers = null;
+   private Element defaultIORSecurityConfig = null;
    private int port = 0;
    private int sslPort = 0;
    private String sslDomain = null;
@@ -111,6 +113,22 @@
    private static boolean sendSasAcceptWithExceptionEnabledFlag = true;
 
    /**
+    * Default IOR security metadata. Can be overriden by settings specified
+    * in the jboss.xml file.
+    */
+   private static IorSecurityConfigMetaData defaultIORSecurityMetaData = new IorSecurityConfigMetaData();
+
+   /**
+    * Returns the default IOR security metadata. This method is intended to
+    * be called by the CSIv2 IOR interceptor, which needs to know the default
+    * CSIv2 settings when creating the CSIv2 IOR components.
+    */
+   public static IorSecurityConfigMetaData getDefaultIORSecurityMetaData()
+   {
+       return defaultIORSecurityMetaData;
+   }
+
+   /**
     * Returns the actual SSL port. This method is intended to be called
     * by the CSIv2 IOR interceptor, which needs to know the SSL port.
     */
@@ -202,6 +220,16 @@
       }
 
       System.setProperties(systemProps);
+
+      // Create the default IOR security configuration
+      if (this.defaultIORSecurityConfig != null)
+      {
+         if ("ior-security-config".equals(this.defaultIORSecurityConfig.getNodeName()))
+            defaultIORSecurityMetaData = new IorSecurityConfigMetaData(this.defaultIORSecurityConfig);
+         else
+            log.warn("Ignoring default IOR security config - invalid element: expected ior-security-config but found " + 
+                this.defaultIORSecurityConfig.getNodeName());
+      }
       
       // Add portable interceptor initializers
       Iterator initializerElements = 
@@ -390,6 +418,16 @@
       this.portableInterceptorInitializers = portableInterceptorInitializers;
    }
 
+   public Element getDefaultIORSecurityConfig()
+   {
+      return this.defaultIORSecurityConfig;
+   }
+
+   public void setDefaultIORSecurityConfig(Element defaultIORSecurityConfig)
+   {
+      this.defaultIORSecurityConfig = defaultIORSecurityConfig;
+   }
+
    public void setPort(int port)
    {
       this.port = port;

Modified: branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/iiop/CorbaORBServiceMBean.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/iiop/CorbaORBServiceMBean.java	2010-09-22 01:25:08 UTC (rev 108273)
+++ branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/iiop/CorbaORBServiceMBean.java	2010-09-22 03:11:52 UTC (rev 108274)
@@ -55,6 +55,9 @@
    public void setPortableInterceptorInitializers(
                                       Element portableInterceptorInitializers);
 
+   public Element getDefaultIORSecurityConfig();
+   public void setDefaultIORSecurityConfig(Element defaultIORSecurityConfig);
+
    public void setPort(int port);
    public int getPort();
 

Modified: branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/iiop/csiv2/CSIv2IORInterceptor.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/iiop/csiv2/CSIv2IORInterceptor.java	2010-09-22 01:25:08 UTC (rev 108273)
+++ branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/iiop/csiv2/CSIv2IORInterceptor.java	2010-09-22 03:11:52 UTC (rev 108274)
@@ -85,7 +85,7 @@
          defaultSSLComponent = new TaggedComponent(TAG_SSL_SEC_TRANS.value,
             componentData);
 
-         IorSecurityConfigMetaData metadata = new IorSecurityConfigMetaData();
+         IorSecurityConfigMetaData metadata = CorbaORBService.getDefaultIORSecurityMetaData();
          defaultCSIComponent = CSIv2Util.createSecurityTaggedComponent(metadata,
             codec, sslPort, orb);
       }

Modified: branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/proxy/ejb/IORFactory.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/proxy/ejb/IORFactory.java	2010-09-22 01:25:08 UTC (rev 108273)
+++ branches/JBPAPP_4_2_0_GA_CP/iiop/src/main/org/jboss/proxy/ejb/IORFactory.java	2010-09-22 03:11:52 UTC (rev 108274)
@@ -391,6 +391,8 @@
       Any secPolicy = orb.create_any();
       IorSecurityConfigMetaData iorSecurityConfigMetaData =
          container.getBeanMetaData().getIorSecurityConfigMetaData();
+      if (iorSecurityConfigMetaData == null)
+         iorSecurityConfigMetaData = CorbaORBService.getDefaultIORSecurityMetaData();
       secPolicy.insert_Value(iorSecurityConfigMetaData);
       csiv2Policy = orb.create_policy(CSIv2Policy.TYPE, secPolicy);
 



More information about the jboss-cvs-commits mailing list