From a15c90d2cce0d1f18aeb72021db952228bbbfb19 Mon Sep 17 00:00:00 2001
From: jrandom <jrandom>
Date: Tue, 15 Nov 2005 11:17:04 +0000
Subject: [PATCH] add in a basic limit on the attachment size (trivially
 circumvented, but for now it'll do) fixed some links

---
 .../java/src/net/i2p/syndie/BlogManager.java      |  2 ++
 apps/syndie/java/src/net/i2p/syndie/Updater.java  |  2 +-
 .../java/src/net/i2p/syndie/sml/HTMLRenderer.java |  5 ++++-
 .../java/src/net/i2p/syndie/web/BaseServlet.java  |  1 +
 .../java/src/net/i2p/syndie/web/PostBean.java     | 15 +++++++++++----
 .../java/src/net/i2p/syndie/web/PostServlet.java  |  7 +++++--
 6 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/apps/syndie/java/src/net/i2p/syndie/BlogManager.java b/apps/syndie/java/src/net/i2p/syndie/BlogManager.java
index f047d17f40..a32ca428ef 100644
--- a/apps/syndie/java/src/net/i2p/syndie/BlogManager.java
+++ b/apps/syndie/java/src/net/i2p/syndie/BlogManager.java
@@ -479,6 +479,8 @@ public class BlogManager {
      */
     private static final String DEFAULT_SINGLE_USER_ARCHIVES[] = new String[] {
         "http://syndiemedia.i2p/archive/archive.txt"
+        , "http://gloinsblog.i2p/archive/archive.txt"
+        , "http://glog.i2p/archive/archive.txt"
     };
     
     public User getDefaultUser() {
diff --git a/apps/syndie/java/src/net/i2p/syndie/Updater.java b/apps/syndie/java/src/net/i2p/syndie/Updater.java
index 0f1b060ec1..58ac8f48ab 100644
--- a/apps/syndie/java/src/net/i2p/syndie/Updater.java
+++ b/apps/syndie/java/src/net/i2p/syndie/Updater.java
@@ -69,7 +69,7 @@ public class Updater {
 
         // wait
         try {
-            Thread.currentThread().sleep(1*60*1000);
+            Thread.currentThread().sleep(5*60*1000);
         } catch (InterruptedException ie) {}
         
         while (true) {
diff --git a/apps/syndie/java/src/net/i2p/syndie/sml/HTMLRenderer.java b/apps/syndie/java/src/net/i2p/syndie/sml/HTMLRenderer.java
index 8daeeb46f6..a7f6cd1118 100644
--- a/apps/syndie/java/src/net/i2p/syndie/sml/HTMLRenderer.java
+++ b/apps/syndie/java/src/net/i2p/syndie/sml/HTMLRenderer.java
@@ -518,7 +518,10 @@ public class HTMLRenderer extends EventReceiverImpl {
             _bodyBuffer.append(getSpan("attachmentSummary")).append(" (");
             _bodyBuffer.append(getSpan("attachmentSummarySize")).append(attachments[id].getDataLength()/1024).append("KB</span>, ");
             _bodyBuffer.append(getSpan("attachmentSummaryName")).append(" \"").append(sanitizeString(attachments[id].getName())).append("\"</span>, ");
-            _bodyBuffer.append(getSpan("attachmentSummaryDesc")).append(" \"").append(sanitizeString(attachments[id].getDescription())).append("\"</span>, ");
+            String descr = attachments[id].getDescription();
+            if ( (descr != null) && (descr.trim().length() > 0) ) {
+                _bodyBuffer.append(getSpan("attachmentSummaryDesc")).append(" \"").append(sanitizeString(descr.trim())).append("\"</span>, ");
+            }
             _bodyBuffer.append(getSpan("attachmentSummaryType")).append(sanitizeString(attachments[id].getMimeType())).append("</span>)</span>");
         }
     }
diff --git a/apps/syndie/java/src/net/i2p/syndie/web/BaseServlet.java b/apps/syndie/java/src/net/i2p/syndie/web/BaseServlet.java
index 60ed9bf4c8..91a9422854 100644
--- a/apps/syndie/java/src/net/i2p/syndie/web/BaseServlet.java
+++ b/apps/syndie/java/src/net/i2p/syndie/web/BaseServlet.java
@@ -510,6 +510,7 @@ public abstract class BaseServlet extends HttpServlet {
         }
         //out.write("</td><td class=\"topNav_admin\">\n");
         out.write("</span><span class=\"topNav_admin\">\n");
+        out.write("<a href=\"about.html\" title=\"Basic Syndie info\">About</a> ");
         if (BlogManager.instance().authorizeRemote(user)) {
             out.write("<a href=\"" + getSyndicateLink(user, null) + "\" title=\"Syndicate data between other Syndie nodes\">Syndicate</a>\n");
             out.write("<a href=\"importfeed.jsp\" title=\"Import RSS/Atom data\">Import RSS/Atom</a>\n");
diff --git a/apps/syndie/java/src/net/i2p/syndie/web/PostBean.java b/apps/syndie/java/src/net/i2p/syndie/web/PostBean.java
index 7506820c13..c254b176d6 100644
--- a/apps/syndie/java/src/net/i2p/syndie/web/PostBean.java
+++ b/apps/syndie/java/src/net/i2p/syndie/web/PostBean.java
@@ -163,6 +163,9 @@ public class PostBean {
         return raw.toString();
     }
     
+    /** until we have a good filtering/preferences system, lets try to keep the content small */
+    private static final int MAX_SIZE = 256*1024;
+    
     private void cacheAttachments() throws IOException {
         File postCacheDir = new File(BlogManager.instance().getTempDir(), _user.getBlog().toBase64());
         if (!postCacheDir.exists())
@@ -177,10 +180,14 @@ public class PostBean {
                 o.write(buf, 0, read);
             o.close();
             in.close();
-            _localFiles.add(f);
-            if (_log.shouldLog(Log.DEBUG))
-                _log.debug("Caching attachment " + i + " temporarily in " 
-                               + f.getAbsolutePath() + " w/ " + f.length() + "bytes");
+            if (f.length() > MAX_SIZE) {
+                _log.error("Refusing to post the attachment, because it is too big: " + f.length());
+            } else {
+                _localFiles.add(f);
+                if (_log.shouldLog(Log.DEBUG))
+                    _log.debug("Caching attachment " + i + " temporarily in " 
+                                   + f.getAbsolutePath() + " w/ " + f.length() + "bytes");
+            }
         }
         _fileStreams.clear();
     }
diff --git a/apps/syndie/java/src/net/i2p/syndie/web/PostServlet.java b/apps/syndie/java/src/net/i2p/syndie/web/PostServlet.java
index 3d4d13c61c..42acbfc367 100644
--- a/apps/syndie/java/src/net/i2p/syndie/web/PostServlet.java
+++ b/apps/syndie/java/src/net/i2p/syndie/web/PostServlet.java
@@ -91,8 +91,11 @@ public class PostServlet extends BaseServlet {
         if ( (replyTo != null) && (replyTo.trim().length() > 0) ) {
           byte r[] = Base64.decode(replyTo);
           if (r != null) {
-            if (entryHeaders == null) entryHeaders = HTMLRenderer.HEADER_IN_REPLY_TO + ": entry://" + new String(r, "UTF-8");
-            else entryHeaders = entryHeaders + '\n' + HTMLRenderer.HEADER_IN_REPLY_TO + ": entry://" + new String(r, "UTF-8");
+            replyTo = new String(r, "UTF-8");
+            if (!replyTo.startsWith("entry://") && !replyTo.startsWith("blog://"))
+                replyTo = "entry://" + replyTo;
+            if (entryHeaders == null) entryHeaders = HTMLRenderer.HEADER_IN_REPLY_TO + ": " + replyTo;
+            else entryHeaders = entryHeaders + '\n' + HTMLRenderer.HEADER_IN_REPLY_TO + ": " + replyTo;
           } else {
             replyTo = null;
           }
-- 
GitLab