From commits-return-49445-archive-asf-public=cust-asf.ponee.io@cxf.apache.org Mon Jun 25 19:08:44 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 297CD180627 for ; Mon, 25 Jun 2018 19:08:43 +0200 (CEST) Received: (qmail 79401 invoked by uid 500); 25 Jun 2018 17:08:43 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 79392 invoked by uid 99); 25 Jun 2018 17:08:43 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 25 Jun 2018 17:08:43 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id 7C7EE829B9; Mon, 25 Jun 2018 17:08:42 +0000 (UTC) Date: Mon, 25 Jun 2018 17:08:42 +0000 To: "commits@cxf.apache.org" Subject: [cxf] branch master updated: CXF-7760 - JOSE: JwsCompactConsumer parsing headers issue MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: <152994652241.19237.420353637216392408@gitbox.apache.org> From: coheigea@apache.org X-Git-Host: gitbox.apache.org X-Git-Repo: cxf X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: d3ef33218046f02d6280d06f380f445f4f512b2c X-Git-Newrev: 40f78d5bdd5c38ecc535ffce9ce3aa19669ac16e X-Git-Rev: 40f78d5bdd5c38ecc535ffce9ce3aa19669ac16e X-Git-NotificationType: ref_changed_plus_diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated This is an automated email from the ASF dual-hosted git repository. coheigea pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cxf.git The following commit(s) were added to refs/heads/master by this push: new 40f78d5 CXF-7760 - JOSE: JwsCompactConsumer parsing headers issue 40f78d5 is described below commit 40f78d5bdd5c38ecc535ffce9ce3aa19669ac16e Author: Colm O hEigeartaigh AuthorDate: Mon Jun 25 18:08:14 2018 +0100 CXF-7760 - JOSE: JwsCompactConsumer parsing headers issue --- .../cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java | 9 +++++++-- .../jaxrs/json/basic/JsonMapObjectReaderWriterTest.java | 14 ++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java b/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java index f3f176c..7be7b55 100644 --- a/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java +++ b/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java @@ -244,6 +244,11 @@ public class JsonMapObjectReaderWriter { value = Double.valueOf(valueStr); } } + + if (value instanceof String) { + // Escape an encoded forward slash + value = ((String) value).replace("\\/", "/"); + } return value; } @@ -263,7 +268,7 @@ public class JsonMapObjectReaderWriter { } return closingIndex; } - + protected static int getNextSepCharIndex(String json, char curlyBracketChar, int from) { int nextCurlyBracketIndex = -1; boolean inString = false; @@ -281,7 +286,7 @@ public class JsonMapObjectReaderWriter { } return nextCurlyBracketIndex; } - + public void setFormat(boolean format) { this.format = format; } diff --git a/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java b/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java index 874beeb..9fb7456 100644 --- a/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java +++ b/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java @@ -124,4 +124,18 @@ public class JsonMapObjectReaderWriterTest extends Assert { assertEquals(1, xMap.size()); assertEquals("{\\\"}", xMap.get("y")); } + + @Test + public void testEscapedForwardSlashInString() throws Exception { + JsonMapObjectReaderWriter jsonMapObjectReaderWriter = new JsonMapObjectReaderWriter(); + String s = "{\"kid\":\"4pZbe4shQQGzZXHbeIlbDvmHOc1\\/H6jH6oBk3nUrcZE=\",\"alg\":\"RS256\"}"; + + Map map = jsonMapObjectReaderWriter.fromJson(s); + assertEquals(2, map.size()); + + String kid = (String)map.get("kid"); + String expectedKid = "4pZbe4shQQGzZXHbeIlbDvmHOc1/H6jH6oBk3nUrcZE="; + assertEquals(expectedKid, kid); + } + }