Author: zothar
Date: 2006-11-05 19:20:01 +0000 (Sun, 05 Nov 2006)
New Revision: 10827

Modified:
   trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java
   trunk/freenet/src/freenet/node/NodeClientCore.java
   trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java
Log:
N2NTM send and dismiss fixes.

Modified: trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java    2006-11-05 
17:34:20 UTC (rev 10826)
+++ trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java    2006-11-05 
19:20:01 UTC (rev 10827)
@@ -100,8 +100,8 @@
   }

   public void handlePost(URI uri, Bucket data, ToadletContext ctx) throws 
ToadletContextClosedException, IOException, RedirectException {
-         if(data.size() > 1024*1024) {
-                 this.writeReply(ctx, 400, "text/plain", "Too big", "Too much 
data, N2NTM toadlet limited to 1MB");
+         if(data.size() > 5*1024) {
+                 this.writeReply(ctx, 400, "text/plain", "Too big", "Too much 
data, N2NTM toadlet limited to 5KB");
                  return;
          }

@@ -116,8 +116,12 @@
          }

          if (request.isPartSet("send")) {
-                 String message = request.getPartAsString("message", 2000);
+                 String message = request.getPartAsString("message", 5*1024);
                  message = message.trim();
+                       if(message.length() > 2000) {
+                               this.writeReply(ctx, 400, "text/plain", "Too 
long", "N2NTMs are limited to 2000 characters");
+                               return;
+                       }
                        HTMLNode pageNode = 
ctx.getPageMaker().getPageNode("Send Node to Node Text Message Processing");
                        HTMLNode contentNode = 
ctx.getPageMaker().getContentNode(pageNode);
                        HTMLNode peerTableInfobox = contentNode.addChild("div", 
"class", "infobox infobox-normal");
@@ -201,7 +205,7 @@
                        messageTargetList.addChild("li", peer_name);
                }
                HTMLNode infoboxContent = infobox.addChild("div", "class", 
"infobox-content");
-               HTMLNode messageForm = infoboxContent.addChild("form", new 
String[] { "action", "method", "enctype" }, new String[] { "/send_n2ntm/", 
"post", "multipart/form-data" });
+               HTMLNode messageForm = infoboxContent.addChild("form", new 
String[] { "action", "method" }, new String[] { "/send_n2ntm/", "post" });
                messageForm.addChild("input", new String[] { "type", "name", 
"value" }, new String[] { "hidden", "formPassword", formPassword });
                // Iterate peers
                for (Iterator it = peers.keySet().iterator(); it.hasNext(); ) {

Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java  2006-11-05 17:34:20 UTC 
(rev 10826)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java  2006-11-05 19:20:01 UTC 
(rev 10827)
@@ -100,7 +100,7 @@
                byte[] pwdBuf = new byte[16];
                random.nextBytes(pwdBuf);
                this.formPassword = Base64.encode(pwdBuf);
-               alerts = new UserAlertManager();
+               alerts = new UserAlertManager(this);
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                if(logMINOR) Logger.minor(this, "Serializing 
RequestStarterGroup from:\n"+throttleFS);
                requestStarters = new RequestStarterGroup(node, this, 
portNumber, random, config, throttleFS);

Modified: trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java     
2006-11-05 17:34:20 UTC (rev 10826)
+++ trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java     
2006-11-05 19:20:01 UTC (rev 10827)
@@ -5,6 +5,7 @@
 import java.util.HashSet;

 import freenet.support.HTMLNode;
+import freenet.node.NodeClientCore;

 /**
  * Collection of UserAlert's.
@@ -12,8 +13,10 @@
 public class UserAlertManager implements Comparator {

        private final HashSet alerts;
+       private NodeClientCore core;

-       public UserAlertManager() {
+       public UserAlertManager(NodeClientCore core) {
+               this.core = core;
                alerts = new HashSet();
        }

@@ -73,6 +76,7 @@
                        if (alert.userCanDismiss()) {
                                HTMLNode dismissFormNode = 
alertContentNode.addChild("form", new String[] { "action", "method" }, new 
String[] { ".", "post" });
                                dismissFormNode.addChild("input", new String[] 
{ "type", "name", "value" }, new String[] { "hidden", "disable", 
String.valueOf(alert.hashCode()) });
+                               dismissFormNode.addChild("input", new String[] 
{ "type", "name", "value" }, new String[] { "hidden", "formPassword", 
core.formPassword });
                                dismissFormNode.addChild("input", new String[] 
{ "type", "value" }, new String[] { "submit", alert.dismissButtonText() });
                        }
                }


Reply via email to