diff --git a/core/src/main/java/com/muwire/core/util/DataUtil.java b/core/src/main/java/com/muwire/core/util/DataUtil.java index ea795963..29e288f6 100644 --- a/core/src/main/java/com/muwire/core/util/DataUtil.java +++ b/core/src/main/java/com/muwire/core/util/DataUtil.java @@ -63,7 +63,7 @@ public class DataUtil { ((int)header[2] & 0xFF); } - static String readi18nString(byte [] encoded) { + public static String readi18nString(byte [] encoded) { if (encoded.length < 2) throw new IllegalArgumentException("encoding too short $encoded.length"); int length = ((encoded[0] & 0xFF) << 8) | (encoded[1] & 0xFF); diff --git a/webui/src/main/java/com/muwire/webui/FileManager.java b/webui/src/main/java/com/muwire/webui/FileManager.java index b98b73ac..46bcf033 100644 --- a/webui/src/main/java/com/muwire/webui/FileManager.java +++ b/webui/src/main/java/com/muwire/webui/FileManager.java @@ -21,6 +21,7 @@ import com.muwire.core.files.FileTree; import com.muwire.core.files.FileTreeCallback; import com.muwire.core.files.FileUnsharedEvent; import com.muwire.core.files.UICommentEvent; +import com.muwire.core.util.DataUtil; import net.i2p.data.Base64; @@ -136,7 +137,7 @@ public class FileManager { return; UICommentEvent e = new UICommentEvent(); e.setOldComment(sf.getComment()); - sf.setComment(comment); + sf.setComment(Base64.encode(DataUtil.encodei18nString(comment))); e.setSharedFile(sf); revision++; core.getEventBus().publish(e); diff --git a/webui/src/main/java/com/muwire/webui/FilesServlet.java b/webui/src/main/java/com/muwire/webui/FilesServlet.java index e4a602af..3c90f059 100644 --- a/webui/src/main/java/com/muwire/webui/FilesServlet.java +++ b/webui/src/main/java/com/muwire/webui/FilesServlet.java @@ -13,6 +13,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.muwire.core.SharedFile; +import com.muwire.core.util.DataUtil; import com.muwire.core.files.FileListCallback; import net.i2p.data.Base64; @@ -106,8 +107,10 @@ public class FilesServlet extends HttpServlet { sb.append("").append(Util.escapeHTMLinXML(sf.getFile().getName())).append(""); sb.append("").append(Util.escapeHTMLinXML(sf.getCachedPath())).append(""); sb.append("").append(DataHelper.formatSize2Decimal(sf.getCachedLength())).append("B").append(""); - if (sf.getComment() != null) - sb.append("").append(Util.escapeHTMLinXML(sf.getComment())).append(""); + if (sf.getComment() != null) { + String comment = DataUtil.readi18nString(Base64.decode(sf.getComment())); + sb.append("").append(Util.escapeHTMLinXML(comment)).append(""); + } // TODO: other stuff sb.append(""); }