You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2012/08/01 20:30:19 UTC

svn commit: r1368178 - in /cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security: policy/interceptors/ trust/

Author: dkulp
Date: Wed Aug  1 18:30:19 2012
New Revision: 1368178

URL: http://svn.apache.org/viewvc?rev=1368178&view=rev
Log:
Merged revisions 1368169 via  git cherry-pick from
https://svn.apache.org/repos/asf/cxf/branches/2.5.x-fixes

........
  r1368169 | dkulp | 2012-08-01 14:28:24 -0400 (Wed, 01 Aug 2012) | 19 lines

  Merged revisions 1368159 via  git cherry-pick from
  https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes

  ........
    r1368159 | dkulp | 2012-08-01 14:23:41 -0400 (Wed, 01 Aug 2012) | 11 lines

    Merged revisions 1368154 via  git cherry-pick from
    https://svn.apache.org/repos/asf/cxf/trunk

    ........
      r1368154 | dkulp | 2012-08-01 14:18:14 -0400 (Wed, 01 Aug 2012) | 3 lines

      If creating the STS endpoint for SecConv, adjust some of the names and
      actions and such to match the SecConv spec

    ........

  ........

........

Modified:
    cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/NegotiationUtils.java
    cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SecureConversationInInterceptor.java
    cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SpnegoContextTokenInInterceptor.java
    cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSUtils.java

Modified: cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/NegotiationUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/NegotiationUtils.java?rev=1368178&r1=1368177&r2=1368178&view=diff
==============================================================================
--- cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/NegotiationUtils.java (original)
+++ cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/NegotiationUtils.java Wed Aug  1 18:30:19 2012
@@ -184,7 +184,8 @@ final class NegotiationUtils {
         SoapMessage message, 
         String namespace, 
         Policy policy,
-        Invoker invoker
+        Invoker invoker,
+        boolean secConv
     ) {
         Exchange ex = message.getExchange();
         Bus bus = ex.getBus();
@@ -201,13 +202,22 @@ final class NegotiationUtils {
                 store = new MemoryTokenStore();
                 endpoint.getEndpointInfo().setProperty(TokenStore.class.getName(), store);
             }
-            endpoint = STSUtils.createSTSEndpoint(bus, 
-                    namespace,
-                    endpoint.getEndpointInfo().getTransportId(),
-                    destination.getAddress().getAddress().getValue(),
-                    message.getVersion().getBindingId(), 
-                    policy,
-                    null);
+            if (secConv) {
+                endpoint = STSUtils.createSCEndpoint(bus, 
+                                                     namespace,
+                                                     endpoint.getEndpointInfo().getTransportId(),
+                                                     destination.getAddress().getAddress().getValue(),
+                                                     message.getVersion().getBindingId(), 
+                                                     policy);
+            } else {
+                endpoint = STSUtils.createSTSEndpoint(bus, 
+                                                      namespace,
+                                                      endpoint.getEndpointInfo().getTransportId(),
+                                                      destination.getAddress().getAddress().getValue(),
+                                                      message.getVersion().getBindingId(), 
+                                                      policy,
+                                                      null);
+            } 
             endpoint.getEndpointInfo().setProperty(TokenStore.class.getName(), store);
             message.getExchange().put(TokenStore.class.getName(), store);
 

Modified: cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SecureConversationInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SecureConversationInInterceptor.java?rev=1368178&r1=1368177&r2=1368178&view=diff
==============================================================================
--- cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SecureConversationInInterceptor.java (original)
+++ cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SecureConversationInInterceptor.java Wed Aug  1 18:30:19 2012
@@ -180,7 +180,9 @@ class SecureConversationInInterceptor ex
                 if (s.startsWith(STSUtils.WST_NS_05_02)) {
                     ns = STSUtils.WST_NS_05_02;
                 }
-                NegotiationUtils.recalcEffectivePolicy(message, ns, pol, new SecureConversationSTSInvoker());
+                NegotiationUtils.recalcEffectivePolicy(message, ns, pol, 
+                                                       new SecureConversationSTSInvoker(),
+                                                       true);
             } else {
                 message.getInterceptorChain().add(SecureConversationTokenFinderInterceptor.INSTANCE);
             }

Modified: cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SpnegoContextTokenInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SpnegoContextTokenInInterceptor.java?rev=1368178&r1=1368177&r2=1368178&view=diff
==============================================================================
--- cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SpnegoContextTokenInInterceptor.java (original)
+++ cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/policy/interceptors/SpnegoContextTokenInInterceptor.java Wed Aug  1 18:30:19 2012
@@ -108,7 +108,7 @@ class SpnegoContextTokenInInterceptor ex
                 if (s.startsWith(STSUtils.WST_NS_05_02)) {
                     ns = STSUtils.WST_NS_05_02;
                 }
-                NegotiationUtils.recalcEffectivePolicy(message, ns, p, new SpnegoSTSInvoker());
+                NegotiationUtils.recalcEffectivePolicy(message, ns, p, new SpnegoSTSInvoker(), false);
             } else {
                 message.getInterceptorChain().add(SpnegoContextTokenFinderInterceptor.INSTANCE);
             }

Modified: cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSUtils.java?rev=1368178&r1=1368177&r2=1368178&view=diff
==============================================================================
--- cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSUtils.java (original)
+++ cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSUtils.java Wed Aug  1 18:30:19 2012
@@ -96,7 +96,6 @@ public final class STSUtils {
         }
         return client;
     }
-    
     public static Endpoint createSTSEndpoint(Bus bus, 
                                              String namespace,
                                              String transportId,
@@ -104,11 +103,34 @@ public final class STSUtils {
                                              String soapVersion,
                                              Policy policy,
                                              QName epName) throws BusException, EndpointException {
+        return createSTSEndpoint(bus, namespace, transportId, location, soapVersion, policy, epName, false);
+    }     
+    public static Endpoint createSCEndpoint(Bus bus, 
+                                             String namespace,
+                                             String transportId,
+                                             String location,
+                                             String soapVersion,
+                                             Policy policy) throws BusException, EndpointException {
+        return createSTSEndpoint(bus, namespace, transportId, location, soapVersion, policy, null, true);
+    }     
+    
+    
+    //CHECKSTYLE:OFF
+    private static Endpoint createSTSEndpoint(Bus bus, 
+                                             String namespace,
+                                             String transportId,
+                                             String location,
+                                             String soapVersion,
+                                             Policy policy,
+                                             QName epName,
+                                             boolean sc) throws BusException, EndpointException {
+        //CHECKSTYLE:ON
+
         Service service = null;
         String ns = namespace + "/wsdl";
         ServiceInfo si = new ServiceInfo();
         
-        QName iName = new QName(ns, "SecurityTokenService");
+        QName iName = new QName(ns, sc ? "SecureConversationTokenService" : "SecurityTokenService");
         si.setName(iName);
         InterfaceInfo ii = new InterfaceInfo(si, iName);
         
@@ -143,7 +165,7 @@ public final class STSUtils {
             soi = new SoapOperationInfo();
             boi.addExtensor(soi);
         }
-        soi.setAction(namespace + "/RST/Issue");
+        soi.setAction(namespace + (sc ? "/RST/SCT" : "/RST/Issue"));
         
         boi = bi.getOperation(coi);
         soi = boi.getExtensor(SoapOperationInfo.class);