cxf git commit: Adding JweJwt helpers
Repository: cxf Updated Branches: refs/heads/master 7d1f30f76 - 49a78e92b Adding JweJwt helpers Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/49a78e92 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/49a78e92 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/49a78e92 Branch: refs/heads/master Commit: 49a78e92bf89d82af62a4769b64b4dcbf62f3c27 Parents: 7d1f30f Author: Sergey Beryozkin sberyoz...@talend.com Authored: Thu Nov 13 15:04:22 2014 + Committer: Sergey Beryozkin sberyoz...@talend.com Committed: Thu Nov 13 15:04:22 2014 + -- .../jose/jaxrs/JweWriterInterceptor.java| 10 ++- .../jose/jwe/AbstractJweEncryption.java | 20 +++-- .../jose/jwe/JweEncryptionProvider.java | 4 +- .../jose/jwe/JweJwtCompactConsumer.java | 62 +++ .../jose/jwe/JweJwtCompactProducer.java | 61 +++ .../cxf/rs/security/jose/jwe/JweUtils.java | 80 +++- .../cxf/rs/security/jose/jwk/JwkUtils.java | 11 ++- .../security/jose/jws/JwsCompactConsumer.java | 8 ++ .../security/jose/jws/JwsCompactProducer.java | 19 +++-- .../rs/security/jose/jws/JwsJsonConsumer.java | 7 ++ .../rs/security/jose/jws/JwsJsonProducer.java | 7 ++ .../jose/jws/JwsJwtCompactProducer.java | 11 +-- .../cxf/rs/security/jose/jwt/JwtUtils.java | 44 +++ 13 files changed, 314 insertions(+), 30 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/49a78e92/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java -- diff --git a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java index a50c6a5..a80ac67 100644 --- a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java +++ b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java @@ -21,6 +21,7 @@ package org.apache.cxf.rs.security.jose.jaxrs; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.OutputStream; +import java.util.Collections; import java.util.zip.DeflaterOutputStream; import javax.annotation.Priority; @@ -41,6 +42,7 @@ import org.apache.cxf.rs.security.jose.JoseHeadersWriter; import org.apache.cxf.rs.security.jose.jwe.JweCompactProducer; import org.apache.cxf.rs.security.jose.jwe.JweEncryptionProvider; import org.apache.cxf.rs.security.jose.jwe.JweEncryptionState; +import org.apache.cxf.rs.security.jose.jwe.JweHeaders; import org.apache.cxf.rs.security.jose.jwe.JweOutputStream; import org.apache.cxf.rs.security.jose.jwe.JweUtils; @@ -73,7 +75,7 @@ public class JweWriterInterceptor implements WriterInterceptor { } if (useJweOutputStream) { -JweEncryptionState encryption = theEncryptionProvider.createJweEncryptionState(ctString); +JweEncryptionState encryption = theEncryptionProvider.createJweEncryptionState(toJweHeaders(ctString)); try { JweCompactProducer.startJweContent(actualOs, encryption.getHeaders(), @@ -99,7 +101,7 @@ public class JweWriterInterceptor implements WriterInterceptor { CachedOutputStream cos = new CachedOutputStream(); ctx.setOutputStream(cos); ctx.proceed(); -String jweContent = theEncryptionProvider.encrypt(cos.getBytes(), ctString); +String jweContent = theEncryptionProvider.encrypt(cos.getBytes(), toJweHeaders(ctString)); setJoseMediaType(ctx); IOUtils.copy(new ByteArrayInputStream(StringUtils.toBytesUTF8(jweContent)), actualOs); @@ -136,5 +138,7 @@ public class JweWriterInterceptor implements WriterInterceptor { public void setEncryptionProvider(JweEncryptionProvider encryptionProvider) { this.encryptionProvider = encryptionProvider; } - +private static JweHeaders toJweHeaders(String ct) { +return new JweHeaders(Collections.String, ObjectsingletonMap(JoseConstants.HEADER_CONTENT_TYPE, ct)); +} } http://git-wip-us.apache.org/repos/asf/cxf/blob/49a78e92/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AbstractJweEncryption.java -- diff --git a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AbstractJweEncryption.java b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AbstractJweEncryption.java index
cxf git commit: Adding JweJwt helpers
Repository: cxf Updated Branches: refs/heads/3.0.x-fixes b3009df51 - 25e676f2d Adding JweJwt helpers Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/25e676f2 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/25e676f2 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/25e676f2 Branch: refs/heads/3.0.x-fixes Commit: 25e676f2ddb2d24977db6e2851e34210301482f0 Parents: b3009df Author: Sergey Beryozkin sberyoz...@talend.com Authored: Thu Nov 13 15:04:22 2014 + Committer: Sergey Beryozkin sberyoz...@talend.com Committed: Thu Nov 13 15:05:41 2014 + -- .../jose/jaxrs/JweWriterInterceptor.java| 10 ++- .../jose/jwe/AbstractJweEncryption.java | 20 +++-- .../jose/jwe/JweEncryptionProvider.java | 4 +- .../jose/jwe/JweJwtCompactConsumer.java | 62 +++ .../jose/jwe/JweJwtCompactProducer.java | 61 +++ .../cxf/rs/security/jose/jwe/JweUtils.java | 80 +++- .../cxf/rs/security/jose/jwk/JwkUtils.java | 11 ++- .../security/jose/jws/JwsCompactConsumer.java | 8 ++ .../security/jose/jws/JwsCompactProducer.java | 19 +++-- .../rs/security/jose/jws/JwsJsonConsumer.java | 7 ++ .../rs/security/jose/jws/JwsJsonProducer.java | 7 ++ .../jose/jws/JwsJwtCompactProducer.java | 11 +-- .../cxf/rs/security/jose/jwt/JwtUtils.java | 44 +++ 13 files changed, 314 insertions(+), 30 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/25e676f2/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java -- diff --git a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java index a50c6a5..a80ac67 100644 --- a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java +++ b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jaxrs/JweWriterInterceptor.java @@ -21,6 +21,7 @@ package org.apache.cxf.rs.security.jose.jaxrs; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.OutputStream; +import java.util.Collections; import java.util.zip.DeflaterOutputStream; import javax.annotation.Priority; @@ -41,6 +42,7 @@ import org.apache.cxf.rs.security.jose.JoseHeadersWriter; import org.apache.cxf.rs.security.jose.jwe.JweCompactProducer; import org.apache.cxf.rs.security.jose.jwe.JweEncryptionProvider; import org.apache.cxf.rs.security.jose.jwe.JweEncryptionState; +import org.apache.cxf.rs.security.jose.jwe.JweHeaders; import org.apache.cxf.rs.security.jose.jwe.JweOutputStream; import org.apache.cxf.rs.security.jose.jwe.JweUtils; @@ -73,7 +75,7 @@ public class JweWriterInterceptor implements WriterInterceptor { } if (useJweOutputStream) { -JweEncryptionState encryption = theEncryptionProvider.createJweEncryptionState(ctString); +JweEncryptionState encryption = theEncryptionProvider.createJweEncryptionState(toJweHeaders(ctString)); try { JweCompactProducer.startJweContent(actualOs, encryption.getHeaders(), @@ -99,7 +101,7 @@ public class JweWriterInterceptor implements WriterInterceptor { CachedOutputStream cos = new CachedOutputStream(); ctx.setOutputStream(cos); ctx.proceed(); -String jweContent = theEncryptionProvider.encrypt(cos.getBytes(), ctString); +String jweContent = theEncryptionProvider.encrypt(cos.getBytes(), toJweHeaders(ctString)); setJoseMediaType(ctx); IOUtils.copy(new ByteArrayInputStream(StringUtils.toBytesUTF8(jweContent)), actualOs); @@ -136,5 +138,7 @@ public class JweWriterInterceptor implements WriterInterceptor { public void setEncryptionProvider(JweEncryptionProvider encryptionProvider) { this.encryptionProvider = encryptionProvider; } - +private static JweHeaders toJweHeaders(String ct) { +return new JweHeaders(Collections.String, ObjectsingletonMap(JoseConstants.HEADER_CONTENT_TYPE, ct)); +} } http://git-wip-us.apache.org/repos/asf/cxf/blob/25e676f2/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AbstractJweEncryption.java -- diff --git a/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AbstractJweEncryption.java b/rt/rs/security/jose/src/main/java/org/apache/cxf/rs/security/jose/jwe/AbstractJweEncryption.java index
cxf git commit: [CXF-4242] Add exception name to faultstring/detail/stackTrace
Repository: cxf Updated Branches: refs/heads/master 49a78e92b - eb3dd9380 [CXF-4242] Add exception name to faultstring/detail/stackTrace Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/eb3dd938 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/eb3dd938 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/eb3dd938 Branch: refs/heads/master Commit: eb3dd938052b3e853b0cf85dacf31ef7f802af38 Parents: 49a78e9 Author: Alessio Soldano asold...@redhat.com Authored: Thu Nov 13 16:12:57 2014 +0100 Committer: Alessio Soldano asold...@redhat.com Committed: Thu Nov 13 16:21:12 2014 +0100 -- .../cxf/binding/soap/interceptor/AbstractSoapInterceptor.java | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/eb3dd938/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java -- diff --git a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java index 18999ff..1815a99 100644 --- a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java +++ b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java @@ -72,6 +72,7 @@ public abstract class AbstractSoapInterceptor extends AbstractPhaseInterceptorS if (config fault.getCause() != null) { StringBuilder sb = new StringBuilder(); Throwable throwable = fault.getCause(); +sb.append(throwable.getClass().getCanonicalName() + : + throwable.getMessage() + \n); while (throwable != null) { for (StackTraceElement ste : throwable.getStackTrace()) { sb.append(ste.getClassName() + ! + ste.getMethodName() + ! + ste.getFileName() + !
svn commit: r929080 - in /websites/production/cxf/content: cache/docs.pageCache docs/jax-rs-oauth2.html
Author: buildbot Date: Thu Nov 13 16:47:07 2014 New Revision: 929080 Log: Production update by buildbot for cxf Modified: websites/production/cxf/content/cache/docs.pageCache websites/production/cxf/content/docs/jax-rs-oauth2.html Modified: websites/production/cxf/content/cache/docs.pageCache == Binary files - no diff available. Modified: websites/production/cxf/content/docs/jax-rs-oauth2.html == --- websites/production/cxf/content/docs/jax-rs-oauth2.html (original) +++ websites/production/cxf/content/docs/jax-rs-oauth2.html Thu Nov 13 16:47:07 2014 @@ -118,14 +118,14 @@ Apache CXF -- JAX-RS OAuth2 !-- Content -- div class=wiki-content div id=ConfluenceContenth1 id=JAX-RSOAuth2-JAX-RS:OAuth2JAX-RS: OAuth2/h1pstyle type=text/css/*![CDATA[*/ -div.rbtoc1415382419537 {padding: 0px;} -div.rbtoc1415382419537 ul {list-style: disc;margin-left: 0px;} -div.rbtoc1415382419537 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1415897192618 {padding: 0px;} +div.rbtoc1415897192618 ul {list-style: disc;margin-left: 0px;} +div.rbtoc1415897192618 li {margin-left: 0px;padding-left: 0px;} -/*]]*//style/pdiv class=toc-macro rbtoc1415382419537 +/*]]*//style/pdiv class=toc-macro rbtoc1415897192618 ul class=toc-indentationlia shape=rect href=#JAX-RSOAuth2-JAX-RS:OAuth2JAX-RS: OAuth2/a/lilia shape=rect href=#JAX-RSOAuth2-IntroductionIntroduction/a/lilia shape=rect href=#JAX-RSOAuth2-MavendependenciesMaven dependencies/a/lilia shape=rect href=#JAX-RSOAuth2-ClientRegistrationClient Registration/a/lilia shape=rect href=#JAX-RSOAuth2-DevelopingOAuth2ServersDeveloping OAuth2 Servers/a ul class=toc-indentationlia shape=rect href=#JAX-RSOAuth2-AuthorizationServiceAuthorization Service/a -ul class=toc-indentationlia shape=rect href=#JAX-RSOAuth2-EndUserNameinAuthorizationFormEndUser Name in Authorization Form/a/lilia shape=rect href=#JAX-RSOAuth2-PublicClients(Devices)Public Clients (Devices)/a +ul class=toc-indentationlia shape=rect href=#JAX-RSOAuth2-HowtocreateAuthorizationViewHow to create Authorization View/a/lilia shape=rect href=#JAX-RSOAuth2-EndUserNameinAuthorizationFormEndUser Name in Authorization Form/a/lilia shape=rect href=#JAX-RSOAuth2-PublicClients(Devices)Public Clients (Devices)/a ul class=toc-indentationlia shape=rect href=#JAX-RSOAuth2-OOBResponseOOB Response/a/lilia shape=rect href=#JAX-RSOAuth2-SecurecodeacquisitionwithredirectURISecure code acquisition with redirect URI/a/li/ul /li/ul /lilia shape=rect href=#JAX-RSOAuth2-AccessTokenServiceAccessTokenService/a @@ -177,7 +177,7 @@ Referer=[http://localhost:8080/services/ script class=theme: Default; brush: xml; gutter: false type=syntaxhighlighter![CDATA[12-Apr-2012 13:26:21 org.apache.cxf.rs.security.oauth2.services.AbstractOAuthService checkTransportSecurity WARNING: Unsecure HTTP, Transport Layer Security is recommended ]]/script -/div/divpIt can also be configured to reject the requests over un-secure HTTP transport./ppAuthorizationCodeGrantService will retrieve the information about the a shape=rect class=external-link href=http://svn.apache.org/repos/asf/cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/common/Client.java;client application/a to populate an instance of a shape=rect class=external-link href=http://svn.apache.org/repos/asf/cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/common/OAuthAuthorizationData.java;OAuthAuthorizationData/a bean and return it. OAuthAuthorizationData contains application name and URI properties, optional list of a shape=rect class=external-link href=http://svn.apache.org/repos/asf/cxf/trunk/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/common/Permission.java;Permission/as and other properties which can be either presented to the user or kept in the hidden form fields in order to uniquely identify the actual authorization request when the end user returns the decision./ppOne important OAuthAuthorizationData property is authenticityToken. It is used for validating that the current session has not been hijacked - AuthorizationCodeGrantService generates a random key, stores it in a Servlet HTTPSession instance and expects the returned authenticityToken value to match it - this is a recommended approach and it also implies that the authenticityToken value is hidden from a user, for example, it's kept in a 'hidden' form field. The other properties which are meant to be hidden are clientId, state, redirectUri, proposedScope./ppThe helper replyTo property is an absolute URI identifying the AuthorizationCodeGrantService handler processing the user decision and can be used by view handlers when building the forms or by other OAuthAuthorizationData handlers./ppSo the
cxf git commit: Updating OIDC utils
Repository: cxf Updated Branches: refs/heads/master eb3dd9380 - 3d2e276bb Updating OIDC utils Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/3d2e276b Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/3d2e276b Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/3d2e276b Branch: refs/heads/master Commit: 3d2e276bbda7eb67348089db2e7ea7279731e701 Parents: eb3dd93 Author: Sergey Beryozkin sberyoz...@talend.com Authored: Thu Nov 13 17:42:37 2014 + Committer: Sergey Beryozkin sberyoz...@talend.com Committed: Thu Nov 13 17:42:37 2014 + -- .../rs/security/oidc/rp/IdTokenValidator.java | 47 + .../cxf/rs/security/oidc/rp/TokenValidator.java | 190 --- 2 files changed, 47 insertions(+), 190 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/3d2e276b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java -- diff --git a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java new file mode 100644 index 000..8bb116e --- /dev/null +++ b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java @@ -0,0 +1,47 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.cxf.rs.security.oidc.rp; + +import org.apache.cxf.rs.security.jose.jwt.JwtToken; +import org.apache.cxf.rs.security.oauth2.common.ClientAccessToken; +import org.apache.cxf.rs.security.oidc.common.UserIdToken; + +public class IdTokenValidator extends AbstractTokenValidator { +private boolean requireAtHash = true; + +public UserIdToken getIdTokenFromJwt(ClientAccessToken at, String clientId) { +JwtToken jwt = getIdJwtToken(at, clientId); +return getIdTokenFromJwt(jwt, clientId); +} +public UserIdToken getIdTokenFromJwt(JwtToken jwt, String clientId) { +//TODO: do the extra validation if needed +return new UserIdToken(jwt.getClaims().asMap()); +} +public JwtToken getIdJwtToken(ClientAccessToken at, String clientId) { +String idJwtToken = at.getParameters().get(id_token); +JwtToken jwt = getJwtToken(idJwtToken, clientId, null, false); +validateJwtClaims(jwt.getClaims(), clientId, true); +OidcUtils.validateAccessTokenHash(at, jwt, requireAtHash); +return jwt; +} + +public void setRequireAtHash(boolean requireAtHash) { +this.requireAtHash = requireAtHash; +} +} http://git-wip-us.apache.org/repos/asf/cxf/blob/3d2e276b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java -- diff --git a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java deleted file mode 100644 index 483059e..000 --- a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java +++ /dev/null @@ -1,190 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * License); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - *
cxf git commit: Updating OIDC utils
Repository: cxf Updated Branches: refs/heads/3.0.x-fixes 25e676f2d - 657f7112d Updating OIDC utils Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/657f7112 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/657f7112 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/657f7112 Branch: refs/heads/3.0.x-fixes Commit: 657f7112d1bff18d71c564e147e04e424cd4c8b9 Parents: 25e676f Author: Sergey Beryozkin sberyoz...@talend.com Authored: Thu Nov 13 17:42:37 2014 + Committer: Sergey Beryozkin sberyoz...@talend.com Committed: Thu Nov 13 17:43:32 2014 + -- .../rs/security/oidc/rp/IdTokenValidator.java | 47 + .../cxf/rs/security/oidc/rp/TokenValidator.java | 190 --- 2 files changed, 47 insertions(+), 190 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/657f7112/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java -- diff --git a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java new file mode 100644 index 000..8bb116e --- /dev/null +++ b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/IdTokenValidator.java @@ -0,0 +1,47 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.cxf.rs.security.oidc.rp; + +import org.apache.cxf.rs.security.jose.jwt.JwtToken; +import org.apache.cxf.rs.security.oauth2.common.ClientAccessToken; +import org.apache.cxf.rs.security.oidc.common.UserIdToken; + +public class IdTokenValidator extends AbstractTokenValidator { +private boolean requireAtHash = true; + +public UserIdToken getIdTokenFromJwt(ClientAccessToken at, String clientId) { +JwtToken jwt = getIdJwtToken(at, clientId); +return getIdTokenFromJwt(jwt, clientId); +} +public UserIdToken getIdTokenFromJwt(JwtToken jwt, String clientId) { +//TODO: do the extra validation if needed +return new UserIdToken(jwt.getClaims().asMap()); +} +public JwtToken getIdJwtToken(ClientAccessToken at, String clientId) { +String idJwtToken = at.getParameters().get(id_token); +JwtToken jwt = getJwtToken(idJwtToken, clientId, null, false); +validateJwtClaims(jwt.getClaims(), clientId, true); +OidcUtils.validateAccessTokenHash(at, jwt, requireAtHash); +return jwt; +} + +public void setRequireAtHash(boolean requireAtHash) { +this.requireAtHash = requireAtHash; +} +} http://git-wip-us.apache.org/repos/asf/cxf/blob/657f7112/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java -- diff --git a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java b/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java deleted file mode 100644 index 483059e..000 --- a/rt/rs/security/sso/oidc/src/main/java/org/apache/cxf/rs/security/oidc/rp/TokenValidator.java +++ /dev/null @@ -1,190 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * License); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and
[1/6] cxf git commit: Make sure the netty client is optional can can not cause failures if netty isn't found
Repository: cxf Updated Branches: refs/heads/master 3d2e276bb - 865eb64d4 Make sure the netty client is optional can can not cause failures if netty isn't found Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/e8f57ccf Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/e8f57ccf Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/e8f57ccf Branch: refs/heads/master Commit: e8f57ccfa5de43e84083f40f8ead640961895e51 Parents: 4505b6b Author: Daniel Kulp dk...@apache.org Authored: Thu Nov 13 11:48:53 2014 -0500 Committer: Daniel Kulp dk...@apache.org Committed: Thu Nov 13 13:19:43 2014 -0500 -- .../cxf/transport/http/netty/client/NettyHttpConduitFactory.java | 1 + .../src/main/resources/META-INF/cxf/bus-extensions.txt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/e8f57ccf/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java -- diff --git a/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java b/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java index c07f9bb..a32c66c 100644 --- a/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java +++ b/rt/transports/http-netty/netty-client/src/main/java/org/apache/cxf/transport/http/netty/client/NettyHttpConduitFactory.java @@ -67,6 +67,7 @@ public class NettyHttpConduitFactory implements HTTPConduitFactory { UseAsyncPolicy policy; public NettyHttpConduitFactory() { +io.netty.util.Version.identify(); Object st = SystemPropertyAction.getPropertyOrNull(USE_POLICY); policy = UseAsyncPolicy.getPolicy(st); } http://git-wip-us.apache.org/repos/asf/cxf/blob/e8f57ccf/rt/transports/http-netty/netty-client/src/main/resources/META-INF/cxf/bus-extensions.txt -- diff --git a/rt/transports/http-netty/netty-client/src/main/resources/META-INF/cxf/bus-extensions.txt b/rt/transports/http-netty/netty-client/src/main/resources/META-INF/cxf/bus-extensions.txt index 48d5cbd..b63a389 100644 --- a/rt/transports/http-netty/netty-client/src/main/resources/META-INF/cxf/bus-extensions.txt +++ b/rt/transports/http-netty/netty-client/src/main/resources/META-INF/cxf/bus-extensions.txt @@ -1,2 +1,2 @@ org.apache.cxf.transport.http.netty.client.NettyHttpTransportFactory::true -org.apache.cxf.transport.http.netty.client.NettyHttpConduitFactory::true +org.apache.cxf.transport.http.netty.client.NettyHttpConduitFactory::true:true
[5/6] cxf git commit: Maintain the order that extensions are discovered/added and use that order when searching to allow some level of predictability and controlability.
Maintain the order that extensions are discovered/added and use that order when searching to allow some level of predictability and controlability. Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/82d73deb Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/82d73deb Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/82d73deb Branch: refs/heads/master Commit: 82d73deb6c20c88abdecf1fa60987c453dca32cc Parents: 6e3f69d Author: Daniel Kulp dk...@apache.org Authored: Thu Nov 13 11:37:53 2014 -0500 Committer: Daniel Kulp dk...@apache.org Committed: Thu Nov 13 13:19:43 2014 -0500 -- .../cxf/bus/extension/ExtensionManagerImpl.java | 28 +--- 1 file changed, 19 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/82d73deb/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java -- diff --git a/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java b/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java index 1a5ee00..62d1944 100644 --- a/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java +++ b/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java @@ -32,6 +32,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Logger; import org.apache.cxf.Bus; @@ -56,6 +57,7 @@ public class ExtensionManagerImpl implements ExtensionManager, ConfiguredBeanLoc private final ClassLoader loader; private ResourceManager resourceManager; private MapString, Extension all = new ConcurrentHashMapString, Extension(); +private ListExtension ordered = new CopyOnWriteArrayListExtension(); private final MapClass?, Object activated; private final Bus bus; @@ -91,6 +93,7 @@ public class ExtensionManagerImpl implements ExtensionManager, ConfiguredBeanLoc for (Map.EntryString, Extension ext : ExtensionRegistry.getRegisteredExtensions().entrySet()) { if (!all.containsKey(ext.getKey())) { all.put(ext.getKey(), ext.getValue()); +ordered.add(ext.getValue()); } } } @@ -109,10 +112,11 @@ public class ExtensionManagerImpl implements ExtensionManager, ConfiguredBeanLoc } public void add(Extension ex) { all.put(ex.getName(), ex); +ordered.add(ex); } public void initialize() { -for (Extension e : all.values()) { +for (Extension e : ordered) { if (!e.isDeferred() e.getLoadedObject() == null) { loadAndRegister(e); } @@ -121,18 +125,21 @@ public class ExtensionManagerImpl implements ExtensionManager, ConfiguredBeanLoc public void removeBeansOfNames(ListString names) { for (String s : names) { -all.remove(s); +Extension ex = all.remove(s); +if (ex != null) { +ordered.remove(ex); +} } } public void activateAll() { -for (Extension e : all.values()) { +for (Extension e : ordered) { if (e.getLoadedObject() == null) { loadAndRegister(e); } } } public T void activateAllByType(ClassT type) { -for (Extension e : all.values()) { +for (Extension e : ordered) { if (e.getLoadedObject() == null) { Class? cls = e.getClassObject(loader); if (cls != null type.isAssignableFrom(cls)) { @@ -178,6 +185,7 @@ public class ExtensionManagerImpl implements ExtensionManager, ConfiguredBeanLoc } if (!all.containsKey(e.getName())) { all.put(e.getName(), e); +ordered.add(e); } } } finally { @@ -292,7 +300,7 @@ public class ExtensionManagerImpl implements ExtensionManager, ConfiguredBeanLoc } public ListString getBeanNamesOfType(Class? type) { ListString ret = new LinkedListString(); -for (Extension ex : all.values()) { +for (Extension ex : ordered) { Class? cls = ex.getClassObject(loader); if (cls != null type.isAssignableFrom(cls)) { synchronized (ex) { @@ -325,11 +333,13 @@ public class ExtensionManagerImpl implements ExtensionManager, ConfiguredBeanLoc if (ext.getLoadedObject() == null) { loadAndRegister(ext); } -
[3/6] cxf git commit: If the requested extension could not be loaded, but was optional, don't add a null to the return collection or an NPE will result
If the requested extension could not be loaded, but was optional, don't add a null to the return collection or an NPE will result Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/8e1dc05f Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/8e1dc05f Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/8e1dc05f Branch: refs/heads/master Commit: 8e1dc05fcd9c2b6b3e9d7cd0eef70471e5cd0b97 Parents: 3d2e276 Author: Daniel Kulp dk...@apache.org Authored: Thu Nov 13 11:20:37 2014 -0500 Committer: Daniel Kulp dk...@apache.org Committed: Thu Nov 13 13:19:43 2014 -0500 -- .../java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/8e1dc05f/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java -- diff --git a/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java b/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java index 620a7b9..1a5ee00 100644 --- a/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java +++ b/core/src/main/java/org/apache/cxf/bus/extension/ExtensionManagerImpl.java @@ -337,7 +337,9 @@ public class ExtensionManagerImpl implements ExtensionManager, ConfiguredBeanLoc if (ex.getLoadedObject() == null) { loadAndRegister(ex); } -ret.add(type.cast(ex.getLoadedObject())); +if (ex.getLoadedObject() != null) { +ret.add(type.cast(ex.getLoadedObject())); +} } } }
[4/6] cxf git commit: Detect if the netty libraries are there and not load teh dest factory if they aren't. Mark it optional.
Detect if the netty libraries are there and not load teh dest factory if they aren't. Mark it optional. Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/6e3f69d1 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/6e3f69d1 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/6e3f69d1 Branch: refs/heads/master Commit: 6e3f69d1799d77889582dce788ed79bbca3419f5 Parents: 8e1dc05 Author: Daniel Kulp dk...@apache.org Authored: Thu Nov 13 11:21:05 2014 -0500 Committer: Daniel Kulp dk...@apache.org Committed: Thu Nov 13 13:19:43 2014 -0500 -- .../http/netty/server/NettyHttpDestinationFactory.java | 5 + .../src/main/resources/META-INF/cxf/bus-extensions.txt | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/6e3f69d1/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpDestinationFactory.java -- diff --git a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpDestinationFactory.java b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpDestinationFactory.java index a086ecd..a502847 100644 --- a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpDestinationFactory.java +++ b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpDestinationFactory.java @@ -19,6 +19,7 @@ package org.apache.cxf.transport.http.netty.server; + import java.io.IOException; import org.apache.cxf.Bus; @@ -30,6 +31,10 @@ import org.apache.cxf.transport.http.HttpDestinationFactory; @NoJSR250Annotations() public class NettyHttpDestinationFactory implements HttpDestinationFactory { + +public NettyHttpDestinationFactory() { +io.netty.util.Version.identify(); +} public AbstractHTTPDestination createDestination(EndpointInfo endpointInfo, Bus bus, DestinationRegistry registry) throws IOException { http://git-wip-us.apache.org/repos/asf/cxf/blob/6e3f69d1/rt/transports/http-netty/netty-server/src/main/resources/META-INF/cxf/bus-extensions.txt -- diff --git a/rt/transports/http-netty/netty-server/src/main/resources/META-INF/cxf/bus-extensions.txt b/rt/transports/http-netty/netty-server/src/main/resources/META-INF/cxf/bus-extensions.txt index 17b637f..d7f4cbb 100644 --- a/rt/transports/http-netty/netty-server/src/main/resources/META-INF/cxf/bus-extensions.txt +++ b/rt/transports/http-netty/netty-server/src/main/resources/META-INF/cxf/bus-extensions.txt @@ -1,3 +1,3 @@ org.apache.cxf.transport.http.netty.server.NettyHttpTransportFactory::true -org.apache.cxf.transport.http.netty.server.NettyHttpDestinationFactory::true +org.apache.cxf.transport.http.netty.server.NettyHttpDestinationFactory::true:true org.apache.cxf.transport.http.netty.server.NettyHttpServerEngineFactory::true
[6/6] cxf git commit: [CXF-4242] Adjust how the exception is output in the stack trace as well as how it's created on the client. Fixes the failing tests
[CXF-4242] Adjust how the exception is output in the stack trace as well as how it's created on the client. Fixes the failing tests Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/865eb64d Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/865eb64d Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/865eb64d Branch: refs/heads/master Commit: 865eb64d44fd4e904f166cb03b0d15ca8b5f0ba5 Parents: e8f57cc Author: Daniel Kulp dk...@apache.org Authored: Thu Nov 13 13:16:37 2014 -0500 Committer: Daniel Kulp dk...@apache.org Committed: Thu Nov 13 13:19:44 2014 -0500 -- .../cxf/interceptor/ClientFaultConverter.java | 27 +--- .../interceptor/AbstractSoapInterceptor.java| 3 ++- .../details/Soap11ClientServerTest.java | 2 +- .../details/Soap12ClientServerTest.java | 1 + 4 files changed, 28 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/865eb64d/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java -- diff --git a/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java b/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java index 9f2a178..3391779 100644 --- a/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java +++ b/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java @@ -260,8 +260,14 @@ public class ClientFaultConverter extends AbstractInDatabindingInterceptor { if (!stackTraceList.isEmpty()) { StackTraceElement[] stackTraceElement = new StackTraceElement[stackTraceList.size()]; e.setStackTrace(stackTraceList.toArray(stackTraceElement)); -} -if (cause != null) { +} else if (cause != null + cause.getMessage() != null + cause.getMessage().startsWith(e.getClass().getName())) { +e.setStackTrace(cause.getStackTrace()); +if (cause.getCause() != null) { +e.initCause(cause.getCause()); +} +} else if (cause != null) { e.initCause(cause); } } @@ -273,7 +279,22 @@ public class ClientFaultConverter extends AbstractInDatabindingInterceptor { private Throwable getCause(IteratorString linesIterator, String firstLine) { // The actual exception class of the cause might be unavailable at the // client - use a standard throwable to represent the cause. -Throwable res = new Throwable(firstLine.substring(firstLine.indexOf(:) + 2)); +firstLine = firstLine.substring(firstLine.indexOf(:) + 1).trim(); +Throwable res = null; +if (firstLine.indexOf(:) != -1) { +String cn = firstLine.substring(0, firstLine.indexOf(:)).trim(); +if (cn.startsWith(java.lang)) { +try { +res = (Throwable)Class.forName(cn).getConstructor(String.class) + .newInstance(firstLine.substring(firstLine.indexOf(:) + 2)); +} catch (Throwable t) { +//ignore, use the default +} +} +} +if (res == null) { +res = new Throwable(firstLine); +} ListStackTraceElement stackTraceList = new ArrayListStackTraceElement(); while (linesIterator.hasNext()) { String oneLine = linesIterator.next(); http://git-wip-us.apache.org/repos/asf/cxf/blob/865eb64d/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java -- diff --git a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java index 1815a99..096ca02 100644 --- a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java +++ b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java @@ -72,7 +72,8 @@ public abstract class AbstractSoapInterceptor extends AbstractPhaseInterceptorS if (config fault.getCause() != null) { StringBuilder sb = new StringBuilder(); Throwable throwable = fault.getCause(); -sb.append(throwable.getClass().getCanonicalName() + : + throwable.getMessage() + \n); +sb.append(Caused by: ).append(throwable.getClass().getCanonicalName()) +.append(: + throwable.getMessage() +
[2/6] cxf git commit: Remove the netty libs from lib (but keep the CXF plugins which should now be properly optional based on presense of netty libs). Need to make sure Netty transport is not picked u
Remove the netty libs from lib (but keep the CXF plugins which should now be properly optional based on presense of netty libs). Need to make sure Netty transport is not picked up by default due to issues. Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/4505b6b4 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/4505b6b4 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/4505b6b4 Branch: refs/heads/master Commit: 4505b6b49200183998a46f42459bd17c376c80ea Parents: 82d73de Author: Daniel Kulp dk...@apache.org Authored: Thu Nov 13 11:42:39 2014 -0500 Committer: Daniel Kulp dk...@apache.org Committed: Thu Nov 13 13:19:43 2014 -0500 -- distribution/pom.xml | 10 ++ 1 file changed, 10 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/4505b6b4/distribution/pom.xml -- diff --git a/distribution/pom.xml b/distribution/pom.xml index c2865bd..a890548 100644 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -169,12 +169,22 @@ groupIdorg.apache.geronimo.specs/groupId artifactIdgeronimo-servlet_2.5_spec/artifactId /exclusion +exclusion +groupIdio.netty/groupId +artifactIdnetty-codec-http/artifactId +/exclusion /exclusions /dependency dependency groupId${project.groupId}/groupId artifactIdcxf-rt-transports-http-netty-client/artifactId version${project.version}/version +exclusions +exclusion +groupIdio.netty/groupId +artifactIdnetty-codec-http/artifactId +/exclusion +/exclusions /dependency dependency groupIdorg.slf4j/groupId
[3/3] cxf git commit: Recording .gitmergeinfo Changes
Recording .gitmergeinfo Changes Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/a0e70fbf Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/a0e70fbf Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/a0e70fbf Branch: refs/heads/3.0.x-fixes Commit: a0e70fbf33886556bd38bd6548207b1358224856 Parents: affbb7d Author: Alessio Soldano asold...@redhat.com Authored: Thu Nov 13 23:49:23 2014 +0100 Committer: Alessio Soldano asold...@redhat.com Committed: Thu Nov 13 23:49:23 2014 +0100 -- .gitmergeinfo | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/a0e70fbf/.gitmergeinfo -- diff --git a/.gitmergeinfo b/.gitmergeinfo index 0ccb296..a467367 100644 --- a/.gitmergeinfo +++ b/.gitmergeinfo @@ -126,6 +126,7 @@ M 64368a5ddad507fa5d7016cbd07f3e9b5b5fd594 M 67201fdde69488e511deb3d24794984afc01fe2d M 7431af236a19b5b5f899bad317a548a4c5c9cd49 M 816e1a5ef4c0992a7d084a0529e42d9ad6a4a3c6 +M 865eb64d44fd4e904f166cb03b0d15ca8b5f0ba5 M 89b87071f3dedd2cd5ed874e56f69ab7dcf7953d M 8bcb5133c602b1cbe642cfd5fbb46099a28b3016 M 98a578dbf4b7e19c4555bd2011f24c650d0f54c0 @@ -139,5 +140,6 @@ M c34bf7ad6bc55b6584dfd009f49a3f4eb8ececc9 M c55664128b1223667dedacc2011ccd5945d9c8b9 M d2dec5b87788b8cb5059d3719cf3dfd7135a1280 M e2ad037fbc74f42655ac968415fcb4bded87bb38 +M eb3dd938052b3e853b0cf85dacf31ef7f802af38 M f02b02934bf78504ffc462c364dc43e386e727b2 M fb0520525f07041f42bc0562b4a15240bb757373
[1/3] cxf git commit: [CXF-4242] Add exception name to faultstring/detail/stackTrace
Repository: cxf Updated Branches: refs/heads/3.0.x-fixes 657f7112d - a0e70fbf3 [CXF-4242] Add exception name to faultstring/detail/stackTrace Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/22b11250 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/22b11250 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/22b11250 Branch: refs/heads/3.0.x-fixes Commit: 22b11250576d29d99b5e41062b83361175a0b648 Parents: 657f711 Author: Alessio Soldano asold...@redhat.com Authored: Thu Nov 13 16:12:57 2014 +0100 Committer: Alessio Soldano asold...@redhat.com Committed: Thu Nov 13 23:05:44 2014 +0100 -- .../cxf/binding/soap/interceptor/AbstractSoapInterceptor.java | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/22b11250/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java -- diff --git a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java index 18999ff..1815a99 100644 --- a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java +++ b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java @@ -72,6 +72,7 @@ public abstract class AbstractSoapInterceptor extends AbstractPhaseInterceptorS if (config fault.getCause() != null) { StringBuilder sb = new StringBuilder(); Throwable throwable = fault.getCause(); +sb.append(throwable.getClass().getCanonicalName() + : + throwable.getMessage() + \n); while (throwable != null) { for (StackTraceElement ste : throwable.getStackTrace()) { sb.append(ste.getClassName() + ! + ste.getMethodName() + ! + ste.getFileName() + !
[2/3] cxf git commit: [CXF-4242] Adjust how the exception is output in the stack trace as well as how it's created on the client. Fixes the failing tests
[CXF-4242] Adjust how the exception is output in the stack trace as well as how it's created on the client. Fixes the failing tests Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/affbb7da Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/affbb7da Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/affbb7da Branch: refs/heads/3.0.x-fixes Commit: affbb7daebc6aad7d9e64ee0f602d901e406c915 Parents: 22b1125 Author: Daniel Kulp dk...@apache.org Authored: Thu Nov 13 13:16:37 2014 -0500 Committer: Alessio Soldano asold...@redhat.com Committed: Thu Nov 13 23:05:59 2014 +0100 -- .../cxf/interceptor/ClientFaultConverter.java | 27 +--- .../interceptor/AbstractSoapInterceptor.java| 3 ++- .../details/Soap11ClientServerTest.java | 2 +- .../details/Soap12ClientServerTest.java | 1 + 4 files changed, 28 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/affbb7da/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java -- diff --git a/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java b/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java index 9f2a178..3391779 100644 --- a/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java +++ b/core/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java @@ -260,8 +260,14 @@ public class ClientFaultConverter extends AbstractInDatabindingInterceptor { if (!stackTraceList.isEmpty()) { StackTraceElement[] stackTraceElement = new StackTraceElement[stackTraceList.size()]; e.setStackTrace(stackTraceList.toArray(stackTraceElement)); -} -if (cause != null) { +} else if (cause != null + cause.getMessage() != null + cause.getMessage().startsWith(e.getClass().getName())) { +e.setStackTrace(cause.getStackTrace()); +if (cause.getCause() != null) { +e.initCause(cause.getCause()); +} +} else if (cause != null) { e.initCause(cause); } } @@ -273,7 +279,22 @@ public class ClientFaultConverter extends AbstractInDatabindingInterceptor { private Throwable getCause(IteratorString linesIterator, String firstLine) { // The actual exception class of the cause might be unavailable at the // client - use a standard throwable to represent the cause. -Throwable res = new Throwable(firstLine.substring(firstLine.indexOf(:) + 2)); +firstLine = firstLine.substring(firstLine.indexOf(:) + 1).trim(); +Throwable res = null; +if (firstLine.indexOf(:) != -1) { +String cn = firstLine.substring(0, firstLine.indexOf(:)).trim(); +if (cn.startsWith(java.lang)) { +try { +res = (Throwable)Class.forName(cn).getConstructor(String.class) + .newInstance(firstLine.substring(firstLine.indexOf(:) + 2)); +} catch (Throwable t) { +//ignore, use the default +} +} +} +if (res == null) { +res = new Throwable(firstLine); +} ListStackTraceElement stackTraceList = new ArrayListStackTraceElement(); while (linesIterator.hasNext()) { String oneLine = linesIterator.next(); http://git-wip-us.apache.org/repos/asf/cxf/blob/affbb7da/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java -- diff --git a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java index 1815a99..096ca02 100644 --- a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java +++ b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java @@ -72,7 +72,8 @@ public abstract class AbstractSoapInterceptor extends AbstractPhaseInterceptorS if (config fault.getCause() != null) { StringBuilder sb = new StringBuilder(); Throwable throwable = fault.getCause(); -sb.append(throwable.getClass().getCanonicalName() + : + throwable.getMessage() + \n); +sb.append(Caused by: ).append(throwable.getClass().getCanonicalName()) +.append(: + throwable.getMessage() +
cxf git commit: Removing useless printstacktrace
Repository: cxf Updated Branches: refs/heads/master 865eb64d4 - cc5f43b74 Removing useless printstacktrace Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/cc5f43b7 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/cc5f43b7 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/cc5f43b7 Branch: refs/heads/master Commit: cc5f43b742e1350558669229143553d0c8d66d89 Parents: 865eb64 Author: Alessio Soldano asold...@redhat.com Authored: Thu Nov 13 23:52:24 2014 +0100 Committer: Alessio Soldano asold...@redhat.com Committed: Thu Nov 13 23:52:24 2014 +0100 -- .../cxf/systest/soapfault/details/Soap12ClientServerTest.java | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/cc5f43b7/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap12ClientServerTest.java -- diff --git a/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap12ClientServerTest.java b/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap12ClientServerTest.java index b3c50c9..83acb5b 100644 --- a/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap12ClientServerTest.java +++ b/systests/uncategorized/src/test/java/org/apache/cxf/systest/soapfault/details/Soap12ClientServerTest.java @@ -73,7 +73,6 @@ public class Soap12ClientServerTest extends AbstractBusClientServerTestBase { assertEquals((short)1, detail.getMinor()); assertEquals(PingMeFault raised by server, ex.getMessage()); StackTraceElement[] element = ex.getStackTrace(); -ex.printStackTrace(); assertEquals(org.apache.cxf.systest.soapfault.details.GreeterImpl12, element[0].getClassName()); } }
[3/3] cxf git commit: Recording .gitmergeinfo Changes
Recording .gitmergeinfo Changes Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/98cef394 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/98cef394 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/98cef394 Branch: refs/heads/2.7.x-fixes Commit: 98cef39438425c039d98d326206444367caf7e46 Parents: 47eee20 Author: Alessio Soldano asold...@redhat.com Authored: Fri Nov 14 00:01:50 2014 +0100 Committer: Alessio Soldano asold...@redhat.com Committed: Fri Nov 14 00:01:50 2014 +0100 -- .gitmergeinfo | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/98cef394/.gitmergeinfo -- diff --git a/.gitmergeinfo b/.gitmergeinfo index dee51d8..e1e1a77 100644 --- a/.gitmergeinfo +++ b/.gitmergeinfo @@ -1629,6 +1629,7 @@ M 21d14505faa3674855c7e1d43717ebe533e43595 M 21e29bc256f229712f39f183c3f92a947a27dece M 21e4bad7687de0b1c09c6645b6b411e5a05b7da5 M 2236f57130b8cdce3a2469931d5df56f5515c916 +M 22b11250576d29d99b5e41062b83361175a0b648 M 2319407b4fdbb14e65118fa41fed92e2361de551 M 240a24dc15260b72fabe0d590b111516138bf99a M 245418710f833ec620c54f14acc81eea15b85c09 @@ -2007,6 +2008,7 @@ M adc6a4666165dfa5d4c5b25e02a06dabe64084cf M add1748d867d7d2841cee5b8892cd924eccd763e M ae9468de2c91817cdfd0046ea22509dc6e47c8a7 M aebae33d87cb107dbec5cd104367a85dd50ca806 +M affbb7daebc6aad7d9e64ee0f602d901e406c915 M b023ff3f98d144b6042412be27876772d78de2b5 M b03c1404c39f53fb1a590671ff02db04b1c45403 M b08039d2f0914bdaf71cd6ec416bfa901ab708ea
[2/3] cxf git commit: [CXF-4242] Adjust how the exception is output in the stack trace as well as how it's created on the client. Fixes the failing tests
[CXF-4242] Adjust how the exception is output in the stack trace as well as how it's created on the client. Fixes the failing tests Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/47eee20c Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/47eee20c Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/47eee20c Branch: refs/heads/2.7.x-fixes Commit: 47eee20c1bd51a2a97ad5423069393f1c9b8a2b7 Parents: d2744ca Author: Daniel Kulp dk...@apache.org Authored: Thu Nov 13 13:16:37 2014 -0500 Committer: Alessio Soldano asold...@redhat.com Committed: Thu Nov 13 23:54:50 2014 +0100 -- .../cxf/interceptor/ClientFaultConverter.java | 27 +--- .../interceptor/AbstractSoapInterceptor.java| 3 ++- .../details/Soap11ClientServerTest.java | 2 +- .../details/Soap12ClientServerTest.java | 1 + 4 files changed, 28 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/47eee20c/api/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java -- diff --git a/api/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java b/api/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java index 9f2a178..3391779 100644 --- a/api/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java +++ b/api/src/main/java/org/apache/cxf/interceptor/ClientFaultConverter.java @@ -260,8 +260,14 @@ public class ClientFaultConverter extends AbstractInDatabindingInterceptor { if (!stackTraceList.isEmpty()) { StackTraceElement[] stackTraceElement = new StackTraceElement[stackTraceList.size()]; e.setStackTrace(stackTraceList.toArray(stackTraceElement)); -} -if (cause != null) { +} else if (cause != null + cause.getMessage() != null + cause.getMessage().startsWith(e.getClass().getName())) { +e.setStackTrace(cause.getStackTrace()); +if (cause.getCause() != null) { +e.initCause(cause.getCause()); +} +} else if (cause != null) { e.initCause(cause); } } @@ -273,7 +279,22 @@ public class ClientFaultConverter extends AbstractInDatabindingInterceptor { private Throwable getCause(IteratorString linesIterator, String firstLine) { // The actual exception class of the cause might be unavailable at the // client - use a standard throwable to represent the cause. -Throwable res = new Throwable(firstLine.substring(firstLine.indexOf(:) + 2)); +firstLine = firstLine.substring(firstLine.indexOf(:) + 1).trim(); +Throwable res = null; +if (firstLine.indexOf(:) != -1) { +String cn = firstLine.substring(0, firstLine.indexOf(:)).trim(); +if (cn.startsWith(java.lang)) { +try { +res = (Throwable)Class.forName(cn).getConstructor(String.class) + .newInstance(firstLine.substring(firstLine.indexOf(:) + 2)); +} catch (Throwable t) { +//ignore, use the default +} +} +} +if (res == null) { +res = new Throwable(firstLine); +} ListStackTraceElement stackTraceList = new ArrayListStackTraceElement(); while (linesIterator.hasNext()) { String oneLine = linesIterator.next(); http://git-wip-us.apache.org/repos/asf/cxf/blob/47eee20c/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java -- diff --git a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java index 2c52488..4709a3c 100644 --- a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java +++ b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java @@ -79,7 +79,8 @@ public abstract class AbstractSoapInterceptor extends AbstractPhaseInterceptorS if (config fault.getCause() != null) { StringBuilder sb = new StringBuilder(); Throwable throwable = fault.getCause(); -sb.append(throwable.getClass().getCanonicalName() + : + throwable.getMessage() + \n); +sb.append(Caused by: ).append(throwable.getClass().getCanonicalName()) +.append(: + throwable.getMessage() +
[1/3] cxf git commit: [CXF-4242] Add exception name to faultstring/detail/stackTrace
Repository: cxf Updated Branches: refs/heads/2.7.x-fixes 1ea3fc166 - 98cef3943 [CXF-4242] Add exception name to faultstring/detail/stackTrace Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/d2744cae Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/d2744cae Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/d2744cae Branch: refs/heads/2.7.x-fixes Commit: d2744caec14ba45003970b5e8e4622406d4248fa Parents: 1ea3fc1 Author: Alessio Soldano asold...@redhat.com Authored: Thu Nov 13 16:12:57 2014 +0100 Committer: Alessio Soldano asold...@redhat.com Committed: Thu Nov 13 23:54:26 2014 +0100 -- .../cxf/binding/soap/interceptor/AbstractSoapInterceptor.java | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/d2744cae/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java -- diff --git a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java index c3f666b..2c52488 100644 --- a/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java +++ b/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/AbstractSoapInterceptor.java @@ -79,6 +79,7 @@ public abstract class AbstractSoapInterceptor extends AbstractPhaseInterceptorS if (config fault.getCause() != null) { StringBuilder sb = new StringBuilder(); Throwable throwable = fault.getCause(); +sb.append(throwable.getClass().getCanonicalName() + : + throwable.getMessage() + \n); while (throwable != null) { for (StackTraceElement ste : throwable.getStackTrace()) { sb.append(ste.getClassName() + ! + ste.getMethodName() + ! + ste.getFileName() + !