From 9ce6bb0d4577fde9ba4fe9b98029905cecf98aeb Mon Sep 17 00:00:00 2001
From: vharseko <vharseko@3a-systems.ru>
Date: Thu, 02 Dec 2021 22:18:52 +0000
Subject: [PATCH] FIX JSONEntryWriter escape DN values (#202)

---
 opendj-core/src/main/java/org/openidentityplatform/opendj/ldif/JSONEntryWriter.java |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/opendj-core/src/main/java/org/openidentityplatform/opendj/ldif/JSONEntryWriter.java b/opendj-core/src/main/java/org/openidentityplatform/opendj/ldif/JSONEntryWriter.java
index 364c1a8..76f6f97 100644
--- a/opendj-core/src/main/java/org/openidentityplatform/opendj/ldif/JSONEntryWriter.java
+++ b/opendj-core/src/main/java/org/openidentityplatform/opendj/ldif/JSONEntryWriter.java
@@ -15,6 +15,7 @@
 import org.forgerock.opendj.ldif.EntryWriter;
 import org.forgerock.util.Reject;
 
+import com.fasterxml.jackson.core.io.JsonStringEncoder;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 public final class JSONEntryWriter implements EntryWriter {
@@ -48,7 +49,7 @@
     public JSONEntryWriter writeEntry(final Entry entry) throws IOException {
         Reject.ifNull(entry);
         
-        this.out.println(((firstEntry)?" ":",")+"{\""+entry.getName().toString()+"\":[");
+        this.out.println(((firstEntry)?" ":",")+"{\""+new String(JsonStringEncoder.getInstance().quoteAsString(entry.getName().toString())) +"\":[");
         firstEntry=false;
         
         final TreeMap<String,AbstractMap.SimpleEntry<String,ByteSequence>> attr=new TreeMap<>(); //sort by key:value

--
Gitblit v1.10.0