cxf git commit: [CXF-6726] Some non-primitive properties are lost during WADL generation, patch from Pengling Qian applied, This closes #56
Repository: cxf Updated Branches: refs/heads/master e8e27511f - 68447ebae [CXF-6726] Some non-primitive properties are lost during WADL generation, patch from Pengling Qian applied, This closes #56 Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/68447eba Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/68447eba Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/68447eba Branch: refs/heads/master Commit: 68447ebae1043993ca2bc051b07b1a348bfefeee Parents: e8e2751 Author: Sergey Beryozkin sberyoz...@talend.com Authored: Thu Mar 5 23:02:08 2015 + Committer: Sergey Beryozkin sberyoz...@talend.com Committed: Thu Mar 5 23:02:08 2015 + -- .../main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java | 2 ++ .../src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java | 4 .../java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/68447eba/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java -- diff --git a/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java b/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java index 2d02e42..cc0fcc4 100644 --- a/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java +++ b/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java @@ -779,6 +779,7 @@ public class WadlGenerator implements ContainerRequestFilter { ListClass? parentBeanClasses = new LinkedListClass?(); parentBeanClasses.add(type); doWriteBeanParam(ori, sb, type, pm, null, parentBeanClasses, isJson); +parentBeanClasses.remove(type); } } private void doWriteJaxrsBeanParams(StringBuilder sb, @@ -851,6 +852,7 @@ public class WadlGenerator implements ContainerRequestFilter { } else if (!parentBeanClasses.contains(paramCls)) { parentBeanClasses.add(paramCls); doWriteBeanParam(ori, sb, paramCls, entry.getKey(), name, parentBeanClasses, isJson); +parentBeanClasses.remove(paramCls); } } } http://git-wip-us.apache.org/repos/asf/cxf/blob/68447eba/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java -- diff --git a/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java index 8ff129e..46d26c2 100644 --- a/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java +++ b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java @@ -236,6 +236,10 @@ public class BookStore implements BookDescription { public QueryBean3 getD() { return bean; } + +public QueryBean3 getD2() { +return bean; +} public QueryBean2 getIt() { return this; http://git-wip-us.apache.org/repos/asf/cxf/blob/68447eba/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java -- diff --git a/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java index 82c766f..75ca099 100644 --- a/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java +++ b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java @@ -590,12 +590,13 @@ public class WadlGeneratorTest extends Assert { ListElement requestEls = getElements(methodEl, request, 1); // 6 parameters are expected -verifyParameters(requestEls.get(0), 6, +verifyParameters(requestEls.get(0), 7, new Param(b, query, xs:int), new Param(aProp, query, xs:int), new Param(c.a, query, xs:int), new Param(c.b, query, xs:int), new Param(c.d.a, query, xs:boolean), + new Param(c.d2.a, query, xs:boolean), new Param(e, query, xs:string, Collections.singleton(A))); assertEquals(0, DOMUtils.getChildrenWithName(requestEls.get(0),
cxf git commit: [CXF-6726] Some non-primitive properties are lost during WADL generation, patch from Pengling Qian applied, This closes #56
Repository: cxf Updated Branches: refs/heads/3.0.x-fixes 4b471d869 - d9fb07300 [CXF-6726] Some non-primitive properties are lost during WADL generation, patch from Pengling Qian applied, This closes #56 Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/d9fb0730 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/d9fb0730 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/d9fb0730 Branch: refs/heads/3.0.x-fixes Commit: d9fb07300ceaa25dca26edb80ff90265a358a189 Parents: 4b471d8 Author: Sergey Beryozkin sberyoz...@talend.com Authored: Thu Mar 5 23:02:08 2015 + Committer: Sergey Beryozkin sberyoz...@talend.com Committed: Thu Mar 5 23:05:41 2015 + -- .../main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java | 2 ++ .../src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java | 4 .../java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/d9fb0730/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java -- diff --git a/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java b/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java index 2d02e42..cc0fcc4 100644 --- a/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java +++ b/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java @@ -779,6 +779,7 @@ public class WadlGenerator implements ContainerRequestFilter { ListClass? parentBeanClasses = new LinkedListClass?(); parentBeanClasses.add(type); doWriteBeanParam(ori, sb, type, pm, null, parentBeanClasses, isJson); +parentBeanClasses.remove(type); } } private void doWriteJaxrsBeanParams(StringBuilder sb, @@ -851,6 +852,7 @@ public class WadlGenerator implements ContainerRequestFilter { } else if (!parentBeanClasses.contains(paramCls)) { parentBeanClasses.add(paramCls); doWriteBeanParam(ori, sb, paramCls, entry.getKey(), name, parentBeanClasses, isJson); +parentBeanClasses.remove(paramCls); } } } http://git-wip-us.apache.org/repos/asf/cxf/blob/d9fb0730/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java -- diff --git a/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java index 8ff129e..46d26c2 100644 --- a/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java +++ b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java @@ -236,6 +236,10 @@ public class BookStore implements BookDescription { public QueryBean3 getD() { return bean; } + +public QueryBean3 getD2() { +return bean; +} public QueryBean2 getIt() { return this; http://git-wip-us.apache.org/repos/asf/cxf/blob/d9fb0730/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java -- diff --git a/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java index 82c766f..75ca099 100644 --- a/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java +++ b/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java @@ -590,12 +590,13 @@ public class WadlGeneratorTest extends Assert { ListElement requestEls = getElements(methodEl, request, 1); // 6 parameters are expected -verifyParameters(requestEls.get(0), 6, +verifyParameters(requestEls.get(0), 7, new Param(b, query, xs:int), new Param(aProp, query, xs:int), new Param(c.a, query, xs:int), new Param(c.b, query, xs:int), new Param(c.d.a, query, xs:boolean), + new Param(c.d2.a, query, xs:boolean), new Param(e, query, xs:string, Collections.singleton(A))); assertEquals(0, DOMUtils.getChildrenWithName(requestEls.get(0),
cxf git commit: [CXF-6277] - Correction
Repository: cxf Updated Branches: refs/heads/master cb59e0b64 - 3bf34699f [CXF-6277] - Correction Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/3bf34699 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/3bf34699 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/3bf34699 Branch: refs/heads/master Commit: 3bf34699f418f2ff21f467c944f6cd5becc9bbce Parents: cb59e0b Author: Colm O hEigeartaigh cohei...@apache.org Authored: Thu Mar 5 16:26:23 2015 + Committer: Colm O hEigeartaigh cohei...@apache.org Committed: Thu Mar 5 16:26:23 2015 + -- .../cxf/sts/token/validator/X509TokenValidator.java | 15 +-- 1 file changed, 13 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/3bf34699/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java -- diff --git a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java index 344d4ce..823bd6e 100644 --- a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java +++ b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java @@ -40,13 +40,14 @@ import org.apache.wss4j.common.crypto.Crypto; import org.apache.wss4j.common.ext.WSSecurityException; import org.apache.wss4j.dom.WSConstants; import org.apache.wss4j.dom.WSSConfig; -import org.apache.wss4j.dom.bsp.BSPEnforcer; import org.apache.wss4j.dom.handler.RequestData; import org.apache.wss4j.dom.message.token.BinarySecurity; import org.apache.wss4j.dom.message.token.X509Security; import org.apache.wss4j.dom.validate.Credential; import org.apache.wss4j.dom.validate.SignatureTrustValidator; import org.apache.wss4j.dom.validate.Validator; +import org.apache.xml.security.exceptions.XMLSecurityException; +import org.apache.xml.security.keys.content.X509Data; /** * This class validates an X.509 V.3 certificate (received as a BinarySecurityToken or an X509Data @@ -148,10 +149,20 @@ public class X509TokenValidator implements TokenValidator { ((Text)binarySecurity.getElement().getFirstChild()).setData(data); } else if (validateTarget.isDOMElement()) { try { -binarySecurity = new X509Security((Element)validateTarget.getToken(), new BSPEnforcer()); +Document doc = DOMUtils.createDocument(); +binarySecurity = new X509Security(doc); +binarySecurity.setEncodingType(BASE64_ENCODING); +X509Data x509Data = new X509Data((Element)validateTarget.getToken(), ); +if (x509Data.containsCertificate()) { +X509Certificate cert = x509Data.itemCertificate(0).getX509Certificate(); +((X509Security)binarySecurity).setX509Certificate(cert); +} } catch (WSSecurityException ex) { LOG.log(Level.WARNING, , ex); return response; +} catch (XMLSecurityException ex) { +LOG.log(Level.WARNING, , ex); +return response; } } else { return response;
cxf git commit: [CXF-6277] - Correction
Repository: cxf Updated Branches: refs/heads/3.0.x-fixes 5d18509f6 - d3e7cb90a [CXF-6277] - Correction Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/d3e7cb90 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/d3e7cb90 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/d3e7cb90 Branch: refs/heads/3.0.x-fixes Commit: d3e7cb90a76d935ada732386b1af4428aabbad71 Parents: 5d18509 Author: Colm O hEigeartaigh cohei...@apache.org Authored: Thu Mar 5 16:26:23 2015 + Committer: Colm O hEigeartaigh cohei...@apache.org Committed: Thu Mar 5 16:27:56 2015 + -- .../cxf/sts/token/validator/X509TokenValidator.java | 15 +-- 1 file changed, 13 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/d3e7cb90/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java -- diff --git a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java index 344d4ce..823bd6e 100644 --- a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java +++ b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java @@ -40,13 +40,14 @@ import org.apache.wss4j.common.crypto.Crypto; import org.apache.wss4j.common.ext.WSSecurityException; import org.apache.wss4j.dom.WSConstants; import org.apache.wss4j.dom.WSSConfig; -import org.apache.wss4j.dom.bsp.BSPEnforcer; import org.apache.wss4j.dom.handler.RequestData; import org.apache.wss4j.dom.message.token.BinarySecurity; import org.apache.wss4j.dom.message.token.X509Security; import org.apache.wss4j.dom.validate.Credential; import org.apache.wss4j.dom.validate.SignatureTrustValidator; import org.apache.wss4j.dom.validate.Validator; +import org.apache.xml.security.exceptions.XMLSecurityException; +import org.apache.xml.security.keys.content.X509Data; /** * This class validates an X.509 V.3 certificate (received as a BinarySecurityToken or an X509Data @@ -148,10 +149,20 @@ public class X509TokenValidator implements TokenValidator { ((Text)binarySecurity.getElement().getFirstChild()).setData(data); } else if (validateTarget.isDOMElement()) { try { -binarySecurity = new X509Security((Element)validateTarget.getToken(), new BSPEnforcer()); +Document doc = DOMUtils.createDocument(); +binarySecurity = new X509Security(doc); +binarySecurity.setEncodingType(BASE64_ENCODING); +X509Data x509Data = new X509Data((Element)validateTarget.getToken(), ); +if (x509Data.containsCertificate()) { +X509Certificate cert = x509Data.itemCertificate(0).getX509Certificate(); +((X509Security)binarySecurity).setX509Certificate(cert); +} } catch (WSSecurityException ex) { LOG.log(Level.WARNING, , ex); return response; +} catch (XMLSecurityException ex) { +LOG.log(Level.WARNING, , ex); +return response; } } else { return response;
cxf git commit: minor fix to previos JAXRS String writer change
Repository: cxf Updated Branches: refs/heads/master 3bf34699f - e8e27511f minor fix to previos JAXRS String writer change Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/e8e27511 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/e8e27511 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/e8e27511 Branch: refs/heads/master Commit: e8e27511f350b48088bf63527af7b45124ea1692 Parents: 3bf3469 Author: Akitoshi Yoshida a...@apache.org Authored: Thu Mar 5 18:31:06 2015 +0100 Committer: Akitoshi Yoshida a...@apache.org Committed: Thu Mar 5 18:31:12 2015 +0100 -- .../cxf/jaxrs/provider/PrimitiveTextProvider.java | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/e8e27511/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/PrimitiveTextProvider.java -- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/PrimitiveTextProvider.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/PrimitiveTextProvider.java index 392c36d..93a6135 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/PrimitiveTextProvider.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/PrimitiveTextProvider.java @@ -18,7 +18,6 @@ */ package org.apache.cxf.jaxrs.provider; -import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -77,9 +76,18 @@ public class PrimitiveTextProviderT MediaType mt, MultivaluedMapString, Object headers, OutputStream os) throws IOException { String encoding = HttpUtils.getSetEncoding(mt, headers, UTF-8); +//REVISIT try to avoid instantiating the whole byte array byte[] bytes = obj.toString().getBytes(encoding); if (bytes.length bufferSize) { -IOUtils.copy(new ByteArrayInputStream(bytes), os, bufferSize); +int pos = 0; +while (pos bytes.length) { +int bl = bytes.length - pos; +if (bl bufferSize) { +bl = bufferSize; +} +os.write(bytes, pos, bl); +pos += bl; +} } else { os.write(bytes); }
cxf git commit: minor fix to previos JAXRS String writer change
Repository: cxf Updated Branches: refs/heads/3.0.x-fixes d3e7cb90a - 4b471d869 minor fix to previos JAXRS String writer change Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/4b471d86 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/4b471d86 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/4b471d86 Branch: refs/heads/3.0.x-fixes Commit: 4b471d86974a347858496e60afebfd512d53fe7d Parents: d3e7cb9 Author: Akitoshi Yoshida a...@apache.org Authored: Thu Mar 5 18:31:06 2015 +0100 Committer: Akitoshi Yoshida a...@apache.org Committed: Thu Mar 5 18:32:44 2015 +0100 -- .../cxf/jaxrs/provider/PrimitiveTextProvider.java | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/4b471d86/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/PrimitiveTextProvider.java -- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/PrimitiveTextProvider.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/PrimitiveTextProvider.java index 392c36d..93a6135 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/PrimitiveTextProvider.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/PrimitiveTextProvider.java @@ -18,7 +18,6 @@ */ package org.apache.cxf.jaxrs.provider; -import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -77,9 +76,18 @@ public class PrimitiveTextProviderT MediaType mt, MultivaluedMapString, Object headers, OutputStream os) throws IOException { String encoding = HttpUtils.getSetEncoding(mt, headers, UTF-8); +//REVISIT try to avoid instantiating the whole byte array byte[] bytes = obj.toString().getBytes(encoding); if (bytes.length bufferSize) { -IOUtils.copy(new ByteArrayInputStream(bytes), os, bufferSize); +int pos = 0; +while (pos bytes.length) { +int bl = bytes.length - pos; +if (bl bufferSize) { +bl = bufferSize; +} +os.write(bytes, pos, bl); +pos += bl; +} } else { os.write(bytes); }
[2/2] cxf-fediz git commit: Fixing some checkstyle issues
Fixing some checkstyle issues Project: http://git-wip-us.apache.org/repos/asf/cxf-fediz/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf-fediz/commit/f49b28e6 Tree: http://git-wip-us.apache.org/repos/asf/cxf-fediz/tree/f49b28e6 Diff: http://git-wip-us.apache.org/repos/asf/cxf-fediz/diff/f49b28e6 Branch: refs/heads/master Commit: f49b28e67dfc12943442fa0ed67528c488ad8ef5 Parents: 23cc34f Author: Colm O hEigeartaigh cohei...@apache.org Authored: Thu Mar 5 17:38:22 2015 + Committer: Colm O hEigeartaigh cohei...@apache.org Committed: Thu Mar 5 17:38:22 2015 + -- .../apache/cxf/fediz/service/idp/STSAuthenticationProvider.java | 4 ++-- .../apache/cxf/fediz/service/sts/FedizX509DelegationHandler.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/f49b28e6/services/idp/src/main/java/org/apache/cxf/fediz/service/idp/STSAuthenticationProvider.java -- diff --git a/services/idp/src/main/java/org/apache/cxf/fediz/service/idp/STSAuthenticationProvider.java b/services/idp/src/main/java/org/apache/cxf/fediz/service/idp/STSAuthenticationProvider.java index bdd7727..3b4be6a 100644 --- a/services/idp/src/main/java/org/apache/cxf/fediz/service/idp/STSAuthenticationProvider.java +++ b/services/idp/src/main/java/org/apache/cxf/fediz/service/idp/STSAuthenticationProvider.java @@ -30,7 +30,6 @@ import java.util.Map; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.login.LoginException; -import javax.servlet.http.HttpServletRequest; import javax.xml.namespace.QName; import org.w3c.dom.Document; @@ -43,7 +42,6 @@ import org.apache.cxf.fediz.core.ClaimTypes; import org.apache.cxf.fediz.service.idp.kerberos.KerberosServiceRequestToken; import org.apache.cxf.fediz.service.idp.kerberos.KerberosTokenValidator; import org.apache.cxf.fediz.service.idp.kerberos.PassThroughKerberosClient; -import org.apache.cxf.fediz.service.idp.util.WebUtils; import org.apache.cxf.helpers.DOMUtils; //import org.apache.cxf.transport.http.HTTPConduit; //import org.apache.cxf.transports.http.configuration.HTTPClientPolicy; @@ -121,6 +119,7 @@ public class STSAuthenticationProvider implements AuthenticationProvider { private String technicalPassword; +//CHECKSTYLE:OFF @Override public Authentication authenticate(Authentication authentication) throws AuthenticationException { @@ -274,6 +273,7 @@ public class STSAuthenticationProvider implements AuthenticationProvider { } } +//CHECKSTYLE:ON private Principal validateKerberosToken( KerberosServiceRequestToken token, http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/f49b28e6/services/sts/src/main/java/org/apache/cxf/fediz/service/sts/FedizX509DelegationHandler.java -- diff --git a/services/sts/src/main/java/org/apache/cxf/fediz/service/sts/FedizX509DelegationHandler.java b/services/sts/src/main/java/org/apache/cxf/fediz/service/sts/FedizX509DelegationHandler.java index a597cf3..38c19b2 100644 --- a/services/sts/src/main/java/org/apache/cxf/fediz/service/sts/FedizX509DelegationHandler.java +++ b/services/sts/src/main/java/org/apache/cxf/fediz/service/sts/FedizX509DelegationHandler.java @@ -37,7 +37,7 @@ public class FedizX509DelegationHandler implements TokenDelegationHandler { Element tokenElement = (Element)token; String namespace = tokenElement.getNamespaceURI(); String localname = tokenElement.getLocalName(); -if ((WSConstants.SIG_NS.equals(namespace) WSConstants.X509_DATA_LN.equals(localname))) { +if (WSConstants.SIG_NS.equals(namespace) WSConstants.X509_DATA_LN.equals(localname)) { return true; } }
[1/2] cxf-fediz git commit: Adding support for client certificate authentication in the IdP
Repository: cxf-fediz Updated Branches: refs/heads/master fe30273fd - f49b28e67 Adding support for client certificate authentication in the IdP Project: http://git-wip-us.apache.org/repos/asf/cxf-fediz/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf-fediz/commit/23cc34fc Tree: http://git-wip-us.apache.org/repos/asf/cxf-fediz/tree/23cc34fc Diff: http://git-wip-us.apache.org/repos/asf/cxf-fediz/diff/23cc34fc Branch: refs/heads/master Commit: 23cc34fc05f3b38b1a68098fdf404aed4e608efc Parents: fe30273 Author: Colm O hEigeartaigh cohei...@apache.org Authored: Thu Mar 5 17:20:21 2015 + Committer: Colm O hEigeartaigh cohei...@apache.org Committed: Thu Mar 5 17:20:21 2015 + -- pom.xml | 2 +- .../service/idp/STSAuthenticationProvider.java | 61 ++- .../service/sts/FedizX509DelegationHandler.java | 63 .../src/main/webapp/WEB-INF/cxf-transport.xml | 11 +++- 4 files changed, 131 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/23cc34fc/pom.xml -- diff --git a/pom.xml b/pom.xml index 4173077..8b03090 100644 --- a/pom.xml +++ b/pom.xml @@ -38,7 +38,7 @@ properties commons.lang.version3.3.2/commons.lang.version commons.logging.version1.1.3/commons.logging.version -cxf.version3.0.4/cxf.version +cxf.version3.0.5-SNAPSHOT/cxf.version cxf.build-utils.version3.0.0/cxf.build-utils.version easymock.version3.3/easymock.version ehcache.version2.8.5/ehcache.version http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/23cc34fc/services/idp/src/main/java/org/apache/cxf/fediz/service/idp/STSAuthenticationProvider.java -- diff --git a/services/idp/src/main/java/org/apache/cxf/fediz/service/idp/STSAuthenticationProvider.java b/services/idp/src/main/java/org/apache/cxf/fediz/service/idp/STSAuthenticationProvider.java index af76d64..bdd7727 100644 --- a/services/idp/src/main/java/org/apache/cxf/fediz/service/idp/STSAuthenticationProvider.java +++ b/services/idp/src/main/java/org/apache/cxf/fediz/service/idp/STSAuthenticationProvider.java @@ -21,6 +21,7 @@ package org.apache.cxf.fediz.service.idp; import java.net.URI; import java.security.Principal; import java.security.PrivilegedActionException; +import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -29,8 +30,10 @@ import java.util.Map; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.login.LoginException; +import javax.servlet.http.HttpServletRequest; import javax.xml.namespace.QName; +import org.w3c.dom.Document; import org.w3c.dom.Element; import org.apache.cxf.Bus; import org.apache.cxf.BusFactory; @@ -40,6 +43,8 @@ import org.apache.cxf.fediz.core.ClaimTypes; import org.apache.cxf.fediz.service.idp.kerberos.KerberosServiceRequestToken; import org.apache.cxf.fediz.service.idp.kerberos.KerberosTokenValidator; import org.apache.cxf.fediz.service.idp.kerberos.PassThroughKerberosClient; +import org.apache.cxf.fediz.service.idp.util.WebUtils; +import org.apache.cxf.helpers.DOMUtils; //import org.apache.cxf.transport.http.HTTPConduit; //import org.apache.cxf.transports.http.configuration.HTTPClientPolicy; import org.apache.cxf.ws.security.SecurityConstants; @@ -48,6 +53,8 @@ import org.apache.wss4j.common.kerberos.KerberosServiceContext; import org.apache.wss4j.common.principal.SAMLTokenPrincipalImpl; import org.apache.wss4j.common.saml.SamlAssertionWrapper; import org.apache.wss4j.dom.WSConstants; +import org.apache.xml.security.exceptions.XMLSecurityException; +import org.apache.xml.security.keys.content.X509Data; import org.ietf.jgss.GSSContext; import org.ietf.jgss.GSSCredential; import org.ietf.jgss.GSSException; @@ -63,6 +70,7 @@ import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken; public class STSAuthenticationProvider implements AuthenticationProvider { @@ -109,6 +117,9 @@ public class STSAuthenticationProvider implements AuthenticationProvider { private boolean requireDelegation; +private String technicalUser; +private String technicalPassword; + @Override public Authentication authenticate(Authentication authentication) throws AuthenticationException { @@ -145,6 +156,26 @@ public class
svn commit: r942474 - in /websites/production/cxf/content: cache/docs.pageCache docs/jaxrs-services-description.html
Author: buildbot Date: Thu Mar 5 17:47:16 2015 New Revision: 942474 Log: Production update by buildbot for cxf Modified: websites/production/cxf/content/cache/docs.pageCache websites/production/cxf/content/docs/jaxrs-services-description.html Modified: websites/production/cxf/content/cache/docs.pageCache == Binary files - no diff available. Modified: websites/production/cxf/content/docs/jaxrs-services-description.html == --- websites/production/cxf/content/docs/jaxrs-services-description.html (original) +++ websites/production/cxf/content/docs/jaxrs-services-description.html Thu Mar 5 17:47:16 2015 @@ -118,11 +118,11 @@ Apache CXF -- JAXRS Services Description !-- Content -- div class=wiki-content div id=ConfluenceContentp#160;/pp#160;/pp#160;/pp#160;span class=inline-first-p style=font-size:2em;font-weight:boldJAX-RS Services Description/span#160;/pp#160;/pp#160;/pp#160;/ppstyle type=text/css/*![CDATA[*/ -div.rbtoc1424090804525 {padding: 0px;} -div.rbtoc1424090804525 ul {list-style: disc;margin-left: 0px;} -div.rbtoc1424090804525 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1425577607815 {padding: 0px;} +div.rbtoc1425577607815 ul {list-style: disc;margin-left: 0px;} +div.rbtoc1425577607815 li {margin-left: 0px;padding-left: 0px;} -/*]]*//style/pdiv class=toc-macro rbtoc1424090804525 +/*]]*//style/pdiv class=toc-macro rbtoc1425577607815 ul class=toc-indentationlia shape=rect href=#JAXRSServicesDescription-WADLoverviewWADL overview/a ul class=toc-indentationlia shape=rect href=#JAXRSServicesDescription-BasicexampleBasic example/a/lilia shape=rect href=#JAXRSServicesDescription-WADLwithreferencesWADL with references/a/lilia shape=rect href=#JAXRSServicesDescription-SharingdeclarationsbetweenmultipleWADLsSharing declarations between multiple WADLs/a/li/ul /lilia shape=rect href=#JAXRSServicesDescription-WADL-firstDevelopmentWADL-first Development/a @@ -254,7 +254,7 @@ div.rbtoc1424090804525 li {margin-left: -generateResponseIfHeadersSet -generateResponseForMethodslt;methodNamesgt;* -asynclt;methodNamesgt;* -xjclt;xjc-argumentsgt;* -validate -h -v -verbose -quiet lt;wadlgt; /pre -/div/divpNote 'tMap', 'repMap', 'noTypes' and 'inheritResourceParams' options are supported starting from CXF 2.6.3, 'noVoidForEmptyResponses' - from 2.6.4, '-async' - from 2.7.1, '-xjc' - from 2.7.4,/pp'generateResponseForMethods' and 'generateResponseIfHeadersSet' - from 2.7.12/3.0.0, 'validate' - from 2.7.13/3.2.0/3.1.0/ppThe options are reviewed in the following table./pdiv class=table-wraptable class=confluenceTabletbodytrth colspan=1 rowspan=1 class=confluenceThpOption/p/thth colspan=1 rowspan=1 class=confluenceThpInterpretation/p/th/trtrtd colspan=1 rowspan=1 class=confluenceTdpcode-?/code,code-h/code,code-help/code/p/tdtd colspan=1 rowspan=1 class=confluenceTdpDisplays the online help for this utility and exits./p/td/trtrtd colspan=1 rowspan=1 class=confluenceTdpcode-p PackageName/code/p/tdtd colspan=1 rowspan=1 class=confluenceTdpSpecifies the package name of root resource classes/p/td/trtrtd colspan=1 rowspan=1 class=confluenceTdpcode-sp [ schema-namespace= ] PackageName/code/p/tdtd colspan=1 rowspan=1 class=confluenceTdpSpecifies one or more package names corresponding to individual schema namespaces/p/td/trtrtd colspan=1 rowspan=1 class=confluenceTdpcode-resource RootResourceName/code/p/tdtd colspan=1 rowspan=1 class=confluenceTdpSpecifies a full name of root resource class if WADL contains a single resource/p/td/trtrtd colspan=1 rowspan=1 class=confluenceTdpcode-interface/code/p/tdtd colspan=1 rowspan=1 class=confluenceTdpDefault option unless -impl option is used - Java interfaces with JAX-RS annotations are generated/p/td/trtrtd colspan=1 rowspan=1 class=confluenceTdpcode-impl/code/p/tdtd colspan=1 rowspan=1 class=confluenceTdpGenerates starting implementation code. Can also be used with -interface option/p/td/trtrtd colspan=1 rowspan=1 class=confluenceTdpcode-noTypes/code/p/tdtd colspan=1 rowspan=1 class=confluenceTdpRequests that no schema generation is needed. Can also be used with -tMap option/p/td/trtrtd colspan=1 rowspan=1 class=confluenceTdpcode-tMap schema-type=java-type/code/p/tdtd colspan=1 rowspan=1 class=confluenceTdpProvides mapping between schema elements and java types/p/td/trtrtd colspan=1 rowspan=1 class=confluenceTdpcode-repMap media-type=java-type/code/p/tdtd colspan=1 rowspan=1 class=confluenceTdpProvides mapping between media types and java types/p/td/trtrtd colspan=1 rowspan=1 class=confluenceTdpcode-b binding-name/code/p/tdtd colspan=1 rowspan=1 class=confluenceTdpSpecifies JAXB binding files. Use multiple -b flags to specify multiple entries./p/td/trtrtd colspan=1 rowspan=1 class=confluenceTdpcode-catalog
cxf git commit: [CXF-6277] - Enhance the X509TokenValidator to also validate X509Data DOM Elements
Repository: cxf Updated Branches: refs/heads/master 22b7392c8 - cb59e0b64 [CXF-6277] - Enhance the X509TokenValidator to also validate X509Data DOM Elements Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/cb59e0b6 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/cb59e0b6 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/cb59e0b6 Branch: refs/heads/master Commit: cb59e0b641a614546ee0e64f9c5607ce6caed772 Parents: 22b7392 Author: Colm O hEigeartaigh cohei...@apache.org Authored: Thu Mar 5 15:53:22 2015 + Committer: Colm O hEigeartaigh cohei...@apache.org Committed: Thu Mar 5 15:53:49 2015 + -- .../sts/token/validator/X509TokenValidator.java | 58 1 file changed, 36 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/cb59e0b6/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java -- diff --git a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java index 368ed54..344d4ce 100644 --- a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java +++ b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java @@ -27,6 +27,7 @@ import java.util.logging.Logger; import javax.security.auth.callback.CallbackHandler; import org.w3c.dom.Document; +import org.w3c.dom.Element; import org.w3c.dom.Text; import org.apache.cxf.common.logging.LogUtils; import org.apache.cxf.helpers.DOMUtils; @@ -39,6 +40,7 @@ import org.apache.wss4j.common.crypto.Crypto; import org.apache.wss4j.common.ext.WSSecurityException; import org.apache.wss4j.dom.WSConstants; import org.apache.wss4j.dom.WSSConfig; +import org.apache.wss4j.dom.bsp.BSPEnforcer; import org.apache.wss4j.dom.handler.RequestData; import org.apache.wss4j.dom.message.token.BinarySecurity; import org.apache.wss4j.dom.message.token.X509Security; @@ -47,8 +49,8 @@ import org.apache.wss4j.dom.validate.SignatureTrustValidator; import org.apache.wss4j.dom.validate.Validator; /** - * This class validates an X.509 V.3 certificate (received as a BinarySecurityToken). The cert must - * be known (or trusted) by the STS crypto object. + * This class validates an X.509 V.3 certificate (received as a BinarySecurityToken or an X509Data + * DOM Element). The cert must be known (or trusted) by the STS crypto object. */ public class X509TokenValidator implements TokenValidator { @@ -95,6 +97,10 @@ public class X509TokenValidator implements TokenValidator { if ((token instanceof BinarySecurityTokenType) X509_V3_TYPE.equals(((BinarySecurityTokenType)token).getValueType())) { return true; +} else if (token instanceof Element + WSConstants.SIG_NS.equals(((Element)token).getNamespaceURI()) + WSConstants.X509_DATA_LN.equals(((Element)token).getLocalName())) { +return true; } return false; } @@ -120,30 +126,38 @@ public class X509TokenValidator implements TokenValidator { validateTarget.setState(STATE.INVALID); response.setToken(validateTarget); -if (!validateTarget.isBinarySecurityToken()) { -return response; -} - -BinarySecurityTokenType binarySecurityType = (BinarySecurityTokenType)validateTarget.getToken(); - -// Test the encoding type -String encodingType = binarySecurityType.getEncodingType(); -if (!BASE64_ENCODING.equals(encodingType)) { -LOG.fine(Bad encoding type attribute specified: + encodingType); +BinarySecurity binarySecurity = null; +if (validateTarget.isBinarySecurityToken()) { +BinarySecurityTokenType binarySecurityType = (BinarySecurityTokenType)validateTarget.getToken(); + +// Test the encoding type +String encodingType = binarySecurityType.getEncodingType(); +if (!BASE64_ENCODING.equals(encodingType)) { +LOG.fine(Bad encoding type attribute specified: + encodingType); +return response; +} + +// +// Turn the received JAXB object into a DOM element +// +Document doc = DOMUtils.createDocument(); +binarySecurity = new X509Security(doc); +binarySecurity.setEncodingType(encodingType); +binarySecurity.setValueType(binarySecurityType.getValueType()); +String data = binarySecurityType.getValue(); +
cxf git commit: [CXF-6277] - Enhance the X509TokenValidator to also validate X509Data DOM Elements
Repository: cxf Updated Branches: refs/heads/3.0.x-fixes e163f8a5d - 5d18509f6 [CXF-6277] - Enhance the X509TokenValidator to also validate X509Data DOM Elements Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/5d18509f Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/5d18509f Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/5d18509f Branch: refs/heads/3.0.x-fixes Commit: 5d18509f6e1fba8d6dd374f30ca93745edbcc254 Parents: e163f8a Author: Colm O hEigeartaigh cohei...@apache.org Authored: Thu Mar 5 15:53:22 2015 + Committer: Colm O hEigeartaigh cohei...@apache.org Committed: Thu Mar 5 15:54:42 2015 + -- .../sts/token/validator/X509TokenValidator.java | 58 1 file changed, 36 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/5d18509f/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java -- diff --git a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java index 368ed54..344d4ce 100644 --- a/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java +++ b/services/sts/sts-core/src/main/java/org/apache/cxf/sts/token/validator/X509TokenValidator.java @@ -27,6 +27,7 @@ import java.util.logging.Logger; import javax.security.auth.callback.CallbackHandler; import org.w3c.dom.Document; +import org.w3c.dom.Element; import org.w3c.dom.Text; import org.apache.cxf.common.logging.LogUtils; import org.apache.cxf.helpers.DOMUtils; @@ -39,6 +40,7 @@ import org.apache.wss4j.common.crypto.Crypto; import org.apache.wss4j.common.ext.WSSecurityException; import org.apache.wss4j.dom.WSConstants; import org.apache.wss4j.dom.WSSConfig; +import org.apache.wss4j.dom.bsp.BSPEnforcer; import org.apache.wss4j.dom.handler.RequestData; import org.apache.wss4j.dom.message.token.BinarySecurity; import org.apache.wss4j.dom.message.token.X509Security; @@ -47,8 +49,8 @@ import org.apache.wss4j.dom.validate.SignatureTrustValidator; import org.apache.wss4j.dom.validate.Validator; /** - * This class validates an X.509 V.3 certificate (received as a BinarySecurityToken). The cert must - * be known (or trusted) by the STS crypto object. + * This class validates an X.509 V.3 certificate (received as a BinarySecurityToken or an X509Data + * DOM Element). The cert must be known (or trusted) by the STS crypto object. */ public class X509TokenValidator implements TokenValidator { @@ -95,6 +97,10 @@ public class X509TokenValidator implements TokenValidator { if ((token instanceof BinarySecurityTokenType) X509_V3_TYPE.equals(((BinarySecurityTokenType)token).getValueType())) { return true; +} else if (token instanceof Element + WSConstants.SIG_NS.equals(((Element)token).getNamespaceURI()) + WSConstants.X509_DATA_LN.equals(((Element)token).getLocalName())) { +return true; } return false; } @@ -120,30 +126,38 @@ public class X509TokenValidator implements TokenValidator { validateTarget.setState(STATE.INVALID); response.setToken(validateTarget); -if (!validateTarget.isBinarySecurityToken()) { -return response; -} - -BinarySecurityTokenType binarySecurityType = (BinarySecurityTokenType)validateTarget.getToken(); - -// Test the encoding type -String encodingType = binarySecurityType.getEncodingType(); -if (!BASE64_ENCODING.equals(encodingType)) { -LOG.fine(Bad encoding type attribute specified: + encodingType); +BinarySecurity binarySecurity = null; +if (validateTarget.isBinarySecurityToken()) { +BinarySecurityTokenType binarySecurityType = (BinarySecurityTokenType)validateTarget.getToken(); + +// Test the encoding type +String encodingType = binarySecurityType.getEncodingType(); +if (!BASE64_ENCODING.equals(encodingType)) { +LOG.fine(Bad encoding type attribute specified: + encodingType); +return response; +} + +// +// Turn the received JAXB object into a DOM element +// +Document doc = DOMUtils.createDocument(); +binarySecurity = new X509Security(doc); +binarySecurity.setEncodingType(encodingType); +binarySecurity.setValueType(binarySecurityType.getValueType()); +String data = binarySecurityType.getValue(); +
cxf-fediz git commit: Improve testing for SAML 1, holder of key, etc.
Repository: cxf-fediz Updated Branches: refs/heads/master 1858cb9e3 - fe30273fd Improve testing for SAML 1, holder of key, etc. Project: http://git-wip-us.apache.org/repos/asf/cxf-fediz/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf-fediz/commit/fe30273f Tree: http://git-wip-us.apache.org/repos/asf/cxf-fediz/tree/fe30273f Diff: http://git-wip-us.apache.org/repos/asf/cxf-fediz/diff/fe30273f Branch: refs/heads/master Commit: fe30273fdb62c1d6c3cf6a51ab343a9703e219a8 Parents: 1858cb9 Author: Colm O hEigeartaigh cohei...@apache.org Authored: Thu Mar 5 11:27:56 2015 + Committer: Colm O hEigeartaigh cohei...@apache.org Committed: Thu Mar 5 11:27:56 2015 + -- .../fediz/integrationtests/HolderOfKeyTest.java | 16 +++ .../cxf/fediz/integrationtests/WReqTest.java| 47 +++- 2 files changed, 61 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/fe30273f/systests/tomcat7/src/test/java/org/apache/cxf/fediz/integrationtests/HolderOfKeyTest.java -- diff --git a/systests/tomcat7/src/test/java/org/apache/cxf/fediz/integrationtests/HolderOfKeyTest.java b/systests/tomcat7/src/test/java/org/apache/cxf/fediz/integrationtests/HolderOfKeyTest.java index 32fbf35..2385ec7 100644 --- a/systests/tomcat7/src/test/java/org/apache/cxf/fediz/integrationtests/HolderOfKeyTest.java +++ b/systests/tomcat7/src/test/java/org/apache/cxf/fediz/integrationtests/HolderOfKeyTest.java @@ -22,6 +22,8 @@ package org.apache.cxf.fediz.integrationtests; import java.io.File; import com.gargoylesoftware.htmlunit.WebClient; +import com.gargoylesoftware.htmlunit.html.DomElement; +import com.gargoylesoftware.htmlunit.html.DomNodeList; import com.gargoylesoftware.htmlunit.html.HtmlForm; import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput; @@ -205,6 +207,20 @@ public class HolderOfKeyTest { final HtmlForm form = idpPage.getFormByName(signinresponseform); final HtmlSubmitInput button = form.getInputByName(_eventId_submit); + +// Test the Subject Confirmation method here +DomNodeListDomElement results = idpPage.getElementsByTagName(input); + +String wresult = null; +for (DomElement result : results) { +if (wresult.equals(result.getAttributeNS(null, name))) { +wresult = result.getAttributeNS(null, value); +break; +} +} +Assert.assertTrue(wresult != null + wresult.contains(urn:oasis:names:tc:SAML:2.0:cm:holder-of-key)); + final HtmlPage rpPage = button.click(); Assert.assertEquals(WS Federation Systests Examples, rpPage.getTitleText()); http://git-wip-us.apache.org/repos/asf/cxf-fediz/blob/fe30273f/systests/tomcat7/src/test/java/org/apache/cxf/fediz/integrationtests/WReqTest.java -- diff --git a/systests/tomcat7/src/test/java/org/apache/cxf/fediz/integrationtests/WReqTest.java b/systests/tomcat7/src/test/java/org/apache/cxf/fediz/integrationtests/WReqTest.java index cf59ce7..b0a952d 100644 --- a/systests/tomcat7/src/test/java/org/apache/cxf/fediz/integrationtests/WReqTest.java +++ b/systests/tomcat7/src/test/java/org/apache/cxf/fediz/integrationtests/WReqTest.java @@ -21,6 +21,14 @@ package org.apache.cxf.fediz.integrationtests; import java.io.File; +import java.io.IOException; + +import com.gargoylesoftware.htmlunit.WebClient; +import com.gargoylesoftware.htmlunit.html.DomElement; +import com.gargoylesoftware.htmlunit.html.DomNodeList; +import com.gargoylesoftware.htmlunit.html.HtmlForm; +import com.gargoylesoftware.htmlunit.html.HtmlPage; +import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput; import org.apache.catalina.Context; import org.apache.catalina.LifecycleState; @@ -28,6 +36,8 @@ import org.apache.catalina.connector.Connector; import org.apache.catalina.startup.Tomcat; import org.apache.cxf.fediz.core.ClaimTypes; import org.apache.cxf.fediz.tomcat.FederationAuthenticator; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.UsernamePasswordCredentials; import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; @@ -185,8 +195,7 @@ public class WReqTest { String user = alice; String password = ecila; -final String bodyTextContent = -HTTPTestUtils.login(url, user, password, getIdpHttpsPort()); +final String bodyTextContent = login(url, user, password, getIdpHttpsPort()); Assert.assertTrue(Principal not + user, bodyTextContent.contains(userPrincipal= + user)); @@ -209,4 +218,38 @@ public class
cxf git commit: Minor updates to JAXRS String and InputStream writers
Repository: cxf Updated Branches: refs/heads/master b5da5e89b - 22b7392c8 Minor updates to JAXRS String and InputStream writers Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/22b7392c Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/22b7392c Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/22b7392c Branch: refs/heads/master Commit: 22b7392c891bcce3f19a1a732c07691b50338172 Parents: b5da5e8 Author: Sergey Beryozkin sberyoz...@talend.com Authored: Thu Mar 5 13:09:41 2015 + Committer: Sergey Beryozkin sberyoz...@talend.com Committed: Thu Mar 5 13:09:41 2015 + -- .../cxf/jaxrs/provider/BinaryDataProvider.java| 18 +++--- .../cxf/jaxrs/provider/PrimitiveTextProvider.java | 15 --- 2 files changed, 23 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/22b7392c/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java -- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java index d430a68..8ba39c4 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java @@ -58,7 +58,7 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider private static final String HTTP_RANGE_PROPERTY = http.range.support; private static final Logger LOG = LogUtils.getL7dLogger(BinaryDataProvider.class); -private static final int BUFFER_SIZE = 4096; +private int bufferSize = IOUtils.DEFAULT_BUFFER_SIZE; private boolean reportByteArraySize; private boolean closeResponseInputStream = true; public boolean isReadable(Class? type, Type genericType, Annotation[] annotations, MediaType mt) { @@ -94,7 +94,7 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider if (enc == null) { return clazz.cast(IOUtils.readBytesFromStream(is)); } else { -return clazz.cast(IOUtils.toString(is, enc).getBytes(enc)); +return clazz.cast(IOUtils.toString(is, bufferSize, enc).getBytes(enc)); } } if (File.class.isAssignableFrom(clazz)) { @@ -106,7 +106,7 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider null, true); FileOutputStream fos = new FileOutputStream(f); -IOUtils.copy(is, fos); +IOUtils.copy(is, fos, bufferSize); fos.close(); return clazz.cast(f); } @@ -156,7 +156,7 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider Writer writer = new OutputStreamWriter(os, getEncoding(type)); IOUtils.copy((Reader)o, writer, - BUFFER_SIZE); + bufferSize); writer.flush(); } finally { ((Reader)o).close(); @@ -185,9 +185,9 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider handleRangeRequest(is, os, new HttpHeadersImpl(inMessage), outHeaders); } else { if (closeResponseInputStream) { -IOUtils.copyAndCloseInput(is, os); +IOUtils.copyAndCloseInput(is, os, bufferSize); } else { -IOUtils.copy(is, os); +IOUtils.copy(is, os, bufferSize); } } } @@ -198,7 +198,7 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider MultivaluedMapString, Object outHeaders) throws IOException { String range = inHeaders.getRequestHeaders().getFirst(Range); if (range == null) { -IOUtils.copyAndCloseInput(is, os); +IOUtils.copyAndCloseInput(is, os, bufferSize); } else { // implement } @@ -221,4 +221,8 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider public void setCloseResponseInputStream(boolean closeResponseInputStream) { this.closeResponseInputStream = closeResponseInputStream; } + +public void setBufferSize(int bufferSize) { +this.bufferSize = bufferSize; +} }
cxf git commit: Minor updates to JAXRS String and InputStream writers
Repository: cxf Updated Branches: refs/heads/3.0.x-fixes 8edfe4abc - e163f8a5d Minor updates to JAXRS String and InputStream writers Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/e163f8a5 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/e163f8a5 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/e163f8a5 Branch: refs/heads/3.0.x-fixes Commit: e163f8a5d347abf183d8fe406db826118838fa1e Parents: 8edfe4a Author: Sergey Beryozkin sberyoz...@talend.com Authored: Thu Mar 5 13:09:41 2015 + Committer: Sergey Beryozkin sberyoz...@talend.com Committed: Thu Mar 5 13:10:56 2015 + -- .../cxf/jaxrs/provider/BinaryDataProvider.java| 18 +++--- .../cxf/jaxrs/provider/PrimitiveTextProvider.java | 15 --- 2 files changed, 23 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/e163f8a5/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java -- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java index 2a72839..41a45eb 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/BinaryDataProvider.java @@ -58,7 +58,7 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider private static final String HTTP_RANGE_PROPERTY = http.range.support; private static final Logger LOG = LogUtils.getL7dLogger(BinaryDataProvider.class); -private static final int BUFFER_SIZE = 4096; +private int bufferSize = IOUtils.DEFAULT_BUFFER_SIZE; private boolean reportByteArraySize; private boolean closeResponseInputStream = true; public boolean isReadable(Class? type, Type genericType, Annotation[] annotations, MediaType mt) { @@ -94,7 +94,7 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider if (enc == null) { return clazz.cast(IOUtils.readBytesFromStream(is)); } else { -return clazz.cast(IOUtils.toString(is, enc).getBytes(enc)); +return clazz.cast(IOUtils.toString(is, bufferSize, enc).getBytes(enc)); } } if (File.class.isAssignableFrom(clazz)) { @@ -106,7 +106,7 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider null, true); FileOutputStream fos = new FileOutputStream(f); -IOUtils.copy(is, fos); +IOUtils.copy(is, fos, bufferSize); fos.close(); return clazz.cast(f); } @@ -154,7 +154,7 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider Writer writer = new OutputStreamWriter(os, getEncoding(type)); IOUtils.copy((Reader)o, writer, - BUFFER_SIZE); + bufferSize); writer.flush(); } finally { ((Reader)o).close(); @@ -183,9 +183,9 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider handleRangeRequest(is, os, new HttpHeadersImpl(inMessage), outHeaders); } else { if (closeResponseInputStream) { -IOUtils.copyAndCloseInput(is, os); +IOUtils.copyAndCloseInput(is, os, bufferSize); } else { -IOUtils.copy(is, os); +IOUtils.copy(is, os, bufferSize); } } } @@ -196,7 +196,7 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider MultivaluedMapString, Object outHeaders) throws IOException { String range = inHeaders.getRequestHeaders().getFirst(Range); if (range == null) { -IOUtils.copyAndCloseInput(is, os); +IOUtils.copyAndCloseInput(is, os, bufferSize); } else { // implement } @@ -219,4 +219,8 @@ public class BinaryDataProviderT extends AbstractConfigurableProvider public void setCloseResponseInputStream(boolean closeResponseInputStream) { this.closeResponseInputStream = closeResponseInputStream; } + +public void setBufferSize(int bufferSize) { +this.bufferSize = bufferSize; +} }