From 6ffa88b911578a4da72720436f9bbd8a3f381a53 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Wed, 6 Jan 2021 15:10:28 +0100 Subject: [PATCH] OO-5166: proper encoding of non-ASCII character of slides names --- .../bigbluebutton/manager/BigBlueButtonManagerImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonManagerImpl.java b/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonManagerImpl.java index 6b8408d1c01..f7a9274f153 100644 --- a/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonManagerImpl.java +++ b/src/main/java/org/olat/modules/bigbluebutton/manager/BigBlueButtonManagerImpl.java @@ -114,6 +114,7 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; +import org.springframework.web.util.UriUtils; import org.w3c.dom.Document; /** @@ -1068,12 +1069,13 @@ public class BigBlueButtonManagerImpl implements BigBlueButtonManager, } private String slidesDocument(String url, List<VFSLeaf> slides) { - StringBuilder sb = new StringBuilder(); + StringBuilder sb = new StringBuilder(512); sb.append("<?xml version='1.0' encoding='UTF-8'?>") .append("<modules><module name='presentation'>"); for(VFSLeaf slide:slides) { - sb.append("<document url='").append(url).append(slide.getName()).append("' />"); + String encodedFilename = UriUtils.encodePath(slide.getName(), StandardCharsets.UTF_8); + sb.append("<document url='").append(url).append(encodedFilename).append("' filename='").append(slide.getName()).append("' />"); } sb.append("</module></modules>"); return sb.toString(); -- GitLab