Author: toad
Date: 2007-07-06 20:49:36 +0000 (Fri, 06 Jul 2007)
New Revision: 13971

Modified:
   trunk/freenet/src/freenet/node/DarknetPeerNode.java
Log:
Base64 encode the comment so it can have newlines etc

Modified: trunk/freenet/src/freenet/node/DarknetPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/DarknetPeerNode.java 2007-07-06 20:32:38 UTC 
(rev 13970)
+++ trunk/freenet/src/freenet/node/DarknetPeerNode.java 2007-07-06 20:49:36 UTC 
(rev 13971)
@@ -789,7 +789,17 @@
                        size = fs.getLong("size");
                        mimeType = fs.get("metadata.contentType");
                        filename = FileUtil.sanitize(fs.get("filename"), 
mimeType);
-                       comment = fs.get("comment");
+                       String s = fs.get("comment");
+                       if(s != null) {
+                               try {
+                                       s = new String(Base64.decode(s), 
"UTF-8");
+                               } catch (UnsupportedEncodingException e) {
+                                       throw new Error(e);
+                               } catch (IllegalBase64Exception e) {
+                                       // Maybe it wasn't encoded? FIXME remove
+                               }
+                       }
+                       comment = s;
                        this.amIOffering = amIOffering;
                }

@@ -797,7 +807,11 @@
                        fs.put("uid", uid);
                        fs.putSingle("filename", filename);
                        fs.putSingle("metadata.contentType", mimeType);
-                       fs.putSingle("comment", comment);
+                       try {
+                               fs.putSingle("comment", 
Base64.encode(comment.getBytes("UTF-8")));
+                       } catch (UnsupportedEncodingException e) {
+                               throw new Error(e);
+                       }
                        fs.put("size", size);
                }



Reply via email to